-
Notifications
You must be signed in to change notification settings - Fork 122
Description
Description of the task
Currently, we use Redis on-board our robots to store per robot constants and some robot status info (though the robot status is currently unused). The original plan was to use Redis as a communication interface between the Jetson Nano and UI (Display) Board on the robots; robot status data would be stored in Redis and then asynchronously queried by the UI Board. However, the UI display project was scrapped and we ended up sending robot status protobuf messages back to the main AI computer for visualization in Thunderscope.
Now that we no longer require Redis for storing robot status, we should opt for a simpler solution for storing our robot constants and remove our dependency on Redis (which for some reason shit the bed at competition last year).
One solution would be to have a TOML file on each of our robots that contains its constants. TOML files are easy to read, edit, and copy.
Acceptance criteria
- Add a TOML parsing library as an external dependency to our codebase
- Update Thunderloop to read robot constants from a TOML file located somewhere on the robot (probably the home directory would be best)
- Delete all references to Redis in codebase, jetson/rpi setup scripts/playbooks, CI
- Update documentation (notably robot-software-architecture.md and useful-robot-commands.md) wherever Redis is mentioned
- Make sure all our robots have the TOML file with the correct constants per robot (transfer them over from redis). Ideally we have an Ansible playbook that can automatically create the TOML file using some default constants: Create Ansible playbook to setup robots constants for competition #3223