Added GIT Commit SHA support to the build system to uniquely identify what commit hash the core project was built with
Broke out the IMU tools into their own proper build targets
Added 32 bit build and test support to ci.paradigmhyperloop.com
Juicy things
Removed almost all global state from core
This caught and fixed a lot of bugs
It allows the core to go through a "Warm Reset" meaning that we can issue it a command and the software will tear itself down and rebuild the entire pod state from the Boot stage. Reseting is only allowed if the pod is in Boot at this moment but there is no reason a reset can't be triggered while in Retrieval. Technically we could allow resets in the Emergency state to allow the pod to recover from a premature emergency condition during standby
Cleaned up the remote command server to support POD UI
Removed some dead code/macros
Removed podctl, moved to the podctl repo, and then to the ODS repo
Telemetry is now sent over UDP as originally designed
Renamed all the Openloop things to Paradigm things
Fixed numerous bugs discovered while running on the BBB Sim
Switched over to our own implementation of sysfs communication. libBBB is disgusting and gross.
Fluff
Juicy things
Boot
stage. Reseting is only allowed if the pod is inBoot
at this moment but there is no reason a reset can't be triggered while inRetrieval
. Technically we could allow resets in theEmergency
state to allow the pod to recover from a premature emergency condition during standbypodctl
repo, and then to theODS
repo