We want a way where we can set configurable rate limits for CAN messages. We want to set a minimum timeout before a CAN message of a certain type can be sent, and this timeout needs to be easily configurable. You should be able to go to somewhere like the bmsConfig file and change one number to change the rate limit of a message. Note: A lot of this should probably go in embedded base. It should be done in Shepherd first before it is made more abstract in embedded base.
Acceptance Criteria
[ ] Interface for rate limiting every CAN message
[ ] Interface can be easily extended to accommodate new CAN messages or modifications to already existing messages
[ ] If someone wants change the rate limit of a CAN message, they only have to change one number
[ ] If someone wants to add a new CAN message, they do only have to change code in two locations in the codebase
Description
We want a way where we can set configurable rate limits for CAN messages. We want to set a minimum timeout before a CAN message of a certain type can be sent, and this timeout needs to be easily configurable. You should be able to go to somewhere like the bmsConfig file and change one number to change the rate limit of a message. Note: A lot of this should probably go in embedded base. It should be done in Shepherd first before it is made more abstract in embedded base.
Acceptance Criteria
Proposed Solution
No clue