aboutsummaryrefslogtreecommitdiff
path: root/robot/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'robot/readme.md')
-rw-r--r--robot/readme.md29
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