diff options
| -rw-r--r-- | protocol.md | 6 | ||||
| -rw-r--r-- | robot/readme.md | 35 | 
2 files changed, 21 insertions, 20 deletions
| diff --git a/protocol.md b/protocol.md index f5bb0cc..b5ddeac 100644 --- a/protocol.md +++ b/protocol.md @@ -25,9 +25,9 @@ is converted to a single `0xff` on the receiving end, so these duplicated bytes  and the starting byte don't count towards message length.  opcodes are picked sequentially, but the direction bit (LSB) is reserved to -indicate a transfer from robot to client. this means that the opcode for a -sensor data request would be `0x12`, but the response opcode would be `0x13`. -these opcodes are stored as enum constants inside consts.h for code +indicate a transfer from robot to client (`tx`). this means that the opcode for +a sensor data request would be `0x12`, but the response opcode would be `0x13`. +these opcodes are stored as enum constants inside sercomm.h for code  readability.  |code|name|implemented|directions|full name| diff --git a/robot/readme.md b/robot/readme.md index 4a7aca3..9f10bcc 100644 --- a/robot/readme.md +++ b/robot/readme.md @@ -52,17 +52,22 @@ handling module, which then both handles the error and forwards it to pc  communication for logging purposes). here's a quick run-down of all modules and  what they're supposed to do: -|module          |internal name|author|purpose| -|----------------|-------------|-|-| -|hypervisor      |`hypervisor `|N/a| backbone of all other modules; stores global variables; controls when other modules run| -|pc communication|`sercomm    `|Fiona| reads and parses incoming serial data; sends all data in the message buffer| -|error handling  |`errcatch   `|Loek| receives error codes; controls how errors are handled| -|i/o read & write|`io         `|Jorn & Abdullaahi| reads all inputs to global state; writes all outputs| -|mode logic      |`modes      `|N/a| executes the appropriate module for current mode| -|maze            |`mode_maze  `|Jorn & Abdullaahi| controls robot during maze portion of map; hands off control to warehouse module| -|warehouse       |`mode_grid  `|Loek| controls robot during warehouse portion of map; hands off control to maze module| -|emergency stop  |`mode_halt  `|Fiona| stops all execution until emergency mode is reset by software or user| -|calibration     |`mode_calb  `|Fiona| find line by turning on own axis if lost| +|module            |internal name |author|purpose| +|------------------|--------------|-|-| +|hypervisor        |`hypervisor  `|N/a| backbone of all other modules; stores global variables; controls when other modules run| +|pc communication  |`sercomm     `|Fiona| reads and parses incoming serial data; sends all data in the message buffer| +|error handling    |`errcatch    `|Loek| receives error codes; controls how errors are handled| +|i/o read & write  |`io          `|Jorn & Abdullaahi| reads all inputs to global state; writes all outputs| +|mode logic        |`modes       `|N/a| executes the appropriate module for current mode| +|maze              |`mode_maze   `|Jorn & Abdullaahi| controls robot during maze portion of map; hands off control to warehouse module| +|warehouse         |`mode_grid   `|Loek| controls robot during warehouse portion of map; hands off control to maze module| +|emergency stop    |`mode_halt   `|Fiona| stops all execution until emergency mode is reset by software or user| +|line finding      |`mode_calb   `|Fiona| find line by turning on own axis if lost| +|charge station    |`mode_charger`|TBD| go to the charging station transition in the grid, and continue until a black circle is found| +|direct control    |`mode_directc`|TBD| respond to [DIRC](../protocol.md#DIRC) commands| +|wet floor         |`mode_spin   `|TBD| spin uncontrollably (simulating wet floor??)| +|sensor calibration|`mode_senscal`|TBD| calibrate underside uv sensors| +  ## some standards @@ -100,16 +105,12 @@ this list will probably get updated from time to time:  global todo: -- [ ] add test/simulation mode for wet floor (spinning) -- [ ] add a manual control mode  - [ ] start robot in calibration mode  - [ ] assume robot starts in maze  - [ ] maze-grid transition detection in seperate file (used by grid and maze    mode) -- [ ] clear global timer at start of cycle instead of just for mode selection -  module (for last ping time measurement) -- [ ] calibrate (line-detecting) light sensors in setup.c, or manually by -  placing the robot and pressing a button (maybe make this a seperate mode) +- [ ] calibrate (line-detecting) light sensors manually by placing the robot +  and pressing a button (maybe make this a seperate mode)  ### hypervisor |