Closed edward-noe closed 3 years ago
This PR isn't working on actual boards right now, possibly related to flash memory limits, so there's no need to review this ATM.
This PR did not work on the PowerAux or Solar boards. I looked into the issue briefly, and it seems related the amount of flash memory available. I think it may have been possible to get it working, but, even if I got it working, I don't think we should use so much flash just for serialization.
This PR adds serialization for CAN messages using a modified version of cereal. This has a few advantages over our existing approach:
This PR mostly adds serialization code, but it also changes the
CANInterface
definition to hide direct access to CAN and other class fields.I've tested this on my dev board, but we should test on a real PCB before merging this.