diff options
Diffstat (limited to 'robot/readme.md')
-rw-r--r-- | robot/readme.md | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/robot/readme.md b/robot/readme.md index 0f70f31..4a7aca3 100644 --- a/robot/readme.md +++ b/robot/readme.md @@ -17,6 +17,13 @@ device manager on windows, or by running `ls /dev/ttyACM*` on linux. once the com port is configured, run `make flash` to upload the executable and automatically reboot the robot. +another fun option in the makefile is the SIM mode. by uncommenting the line `# +SIM = true`, the robot code can be compiled for desktop debugging instead. all +used pololu functions must be manually implemented in sim.c for this to work, +but it allows easier debugging. *it's important that the `orangutan_shim.h` +header is used instead of including `<pololu/orangutan.h>` directly for this to +keep working!* + ## module hierarchy the software is divided into seperate 'modules' for organizational, @@ -86,6 +93,8 @@ this list will probably get updated from time to time: - arbitrary numbers should be aliased to `#define` statements or `enum`s if part of a series. - general constants should be placed in `consts.h` +- don't import `<pololu/orangutan.h>` directly, instead use + `"orangutan_shim.h"` to keep code compatible with the simulator ## todo @@ -120,19 +129,25 @@ to act on accordingly. the error handling module (a) provides functions for other modules to report errors, and (b) handles errors accordingly. -- [ ] create an error `struct` that holds: - - [ ] error code - - [ ] message length - - [ ] message contents -- [ ] create a global error ring buffer with an appropriate size that holds +- [x] create an error `struct` that holds: + - [x] error code + - [x] message length + - [x] message contents +- [x] create a global error ring buffer with an appropriate size that holds error messages - [ ] handle errors in the error buffer, referencing the functional specification for details on what the robot should do to resolve each kind of error - [ ] forward error codes to the pc-communication module -empty function declarations are in place for providing other modules an error -reporting function. +~empty function declarations are in place for providing other modules an error +reporting function.~ + +this module is as good as finished but full functionality is currently +dependent on: + +- [ ] pc communication +- [ ] other mode implementations ### i/o read & write |