Bart, Keithp, Jamey, Ian, Peter, Josh, Boyd
Current flight computer software architecture
- CAN driver
- Message buffer 15 gets used to receive all CAN messages except IMU accel and gyro messages. It's double buffered. (CAN0)
- Message buffer 0 is writing (CAN0).
- Message buffer n receives IMU accel (CAN1).
- Message buffer n receives IMU gyro (CAN2).
- CAN inputs
- can_rdr now sucks all messages ecept IMU messages and sends them to dispatcher
- dispatcher should be smarter so it doesn't spam everyone with all incoming messages
- the IMU reader thread processes IMU messages (as in filters) and posts them (filtered) to the blackboard.
- All writes to the logger go through a giant ring buffer which is write locked (using allocate, write and read pointers).
- Logger now writes to FC2NET when an object in the giant ring buffer has a flag saying it's outbound to the net.
- Now runs at a constant rate and reads/writes to the blackboard.