System state daemon for the Odysseus on-car telemetry OS
This handles a variety of functions on the car, including security guarrantees, etc. These functions are considered modules.
Core principles:
- Each module should not bring down another (do not unwrap or expect, return error)
- Each module should use tracing when needed
- Each module should have an enable flag at a minimum, and be off by default
- Each module has documentation at the top of the file
Modules
visual: Camera process manager and writer. Status: Alphalockdown: Feature disabler and modifier upon HV enablement. Status: Alphaaudible: Call feature trigger and monitor. Status: Alphanumerical: Telemetry scraper and sender (tpu-telemetry python replacement). Status: Betanet: Network statistics telemetry scraper and sender for both TPU and Base Station. Status: Betahalow: Hardware statistics telemetry scraper and sender for both TPU and Base Station. Status: Betalogger: MQTT receiver and disk logger. Status: Betacolor: The wheel LED controller and API system. Status: Alphadaq: The Jack DAQ serial scraper. Status: Betacan: Diagnostics for the CANbus interface. Status: Betagps: Data scraper for the GPS. Status: Betasys_parser: Read the SYS subsystem to understand mosquitto diagnostics. Status: Beta
Upload modules:
logger: Upload from the logger module to scylla. Status: Betavisual: Camera video uploader to cloud platform. Status: Incompleteserial: (fromlockdownmodule) Serial output uploader to cloud platform. Status Incomplete
This program will only run on Odysseus