Description
The simple connection of the sensors to Qwiic HAT on the RPi 4 is now quite a bit more complicated. We have the following architecture (EPS not shown):

Use case
The data travels over 3 different serial buses, two of them networks (CAN and I2C) and one a master-slave (SPI).
Design notes
- On the top of the software stack is the
FlightExecutive Python code, in particular the DataSource class with its methods poll and check (and, possibly, discover).
- At the CM4 (master) - MCP2510 (slave) SPI interface, the CM4 has to poll for data from the CAN bus, including the sensors served by other CAN nodes (sensors board, EPS). There needs to be a simple protocol for acquiring the data the CM4 is polling for.
- The MCP2510 and the PIC18F47Q84 are communicating over CAN. They need to have a simple protocol for transferring telemetry and making it available for the CM4.
Description
The simple connection of the sensors to Qwiic HAT on the RPi 4 is now quite a bit more complicated. We have the following architecture (EPS not shown):

Use case
The data travels over 3 different serial buses, two of them networks (CAN and I2C) and one a master-slave (SPI).
Design notes
FlightExecutivePython code, in particular theDataSourceclass with its methodspollandcheck(and, possibly,discover).