Updated Hardware: LiDAR (markdown)

Ethan Lafrenais 2018-08-30 15:26:06 -04:00
parent 6f52abb42c
commit 4a2ec5e3f8

@ -9,10 +9,10 @@ Hardware ID: `0x0003`
### Interrupt Behavior
| Value of A | Action | Energy cost | Result |
| --- | --- | --- | --- |
| `1` | `LIDAR_GET_POS` | `0 kJ` | Copy the current (x,y) coordinates in the World in the X and Y registers |
| `2` | `LIDAR_GET_PATH` | `50 kJ` | Calculate the shortest path to the specified coordinates and copy it to memory|
| `3` | `LIDAR_GET_MAP` | `10 kJ` | Generate the current World's map and copy it to memory starting at the address specified in the X register |
| `4` | `LIDAR_GET_WORLD_POS` | `0 kJ` | Copy the current (x,y) coordinates in the Universe in the X and Y registers |
| `1` | `LIDAR_GET_POS` | `0 kJ` | Copies the current (x,y) [world coordinates](./World) of the Cubot into the X and Y registers. |
| `2` | `LIDAR_GET_PATH` | `50 kJ` | Calculates the shortest path to the specified coordinates and copies it into memory ([more info](#lidar_get_path)). |
| `3` | `LIDAR_GET_MAP` | `10 kJ` | Generates a map of the [world](./World) the Cubot is currently in and copies it to memory ([more info](#lidar_get_map)). |
| `4` | `LIDAR_GET_WORLD_POS` | `0 kJ` | Copies the current (x,y) [universe coordinates](./Game-Universe) of the Cubot into the X and Y registers. |
#### LIDAR_GET_PATH
Generates a path as a sequence of words, each representing a direction. The generated path starts at the address `0x0000` but varies in length. It is terminated with the word `0xAAAA`, which represents the end of the path. A single value of `0xFFFF` is set at memory address `0x0000` to indicate an invalid path. If a path could not be generated, then the memory at address `0x0000` is set to `0xFFFF` (Note: The path terminator is not written for invalid paths).