Currently, the sensor boards require a re-flash whenever changes are made to their CAN ID, and sensor frequency rates. This is quite annoying to do, and wastes a lot of time. Instead, it would be nice to define a communication protocol where the board could look for specific messages on the CAN bus and updates variables in their code dynamically from the values sent!
I would like this to be independent of the sensor boards themselves, and act as a library that any of our CAN-enabled boards can use to do parameter updates.
Requirements:
- A way to update a specific memory location on a board
- This is defined by the board itself - the board should expose certain values that this library can update
- Should be a full message protocol, containing request and response frames, which include success and error cases.
- Think about how different boards can use the same CAN ID to listen for updates
- The specific details of the boards should be abstracted away - the library should contain the ability to expose updatable values and it should be clear from the protocol how those values can be updated.
Think about how this message protocol should look. Once you come up with an initial solution, feel free to bring the ideas to others to get feedback.
Once you get a working design, create a new repo to add this library into, then once it works, create a pull request here to close this issue.
Currently, the sensor boards require a re-flash whenever changes are made to their CAN ID, and sensor frequency rates. This is quite annoying to do, and wastes a lot of time. Instead, it would be nice to define a communication protocol where the board could look for specific messages on the CAN bus and updates variables in their code dynamically from the values sent!
I would like this to be independent of the sensor boards themselves, and act as a library that any of our CAN-enabled boards can use to do parameter updates.
Requirements:
Think about how this message protocol should look. Once you come up with an initial solution, feel free to bring the ideas to others to get feedback.
Once you get a working design, create a new repo to add this library into, then once it works, create a pull request here to close this issue.