Changed how CAN routing is working to be queue based rather than callback based. This will simplify the code a bit to not have to deal with a bunch of function pointers and rather just a few queues. This will also allow us to give control back to the scheduler during a particularly long callback if we end up needing it.
Notes
I was originally playing around with the idea of using a signal or binary semaphore to signal the routers but instead I opted for just using a Queue for signaling to account for multiple CAN messages coming in at once from the same node.
Changes
Changed how CAN routing is working to be queue based rather than callback based. This will simplify the code a bit to not have to deal with a bunch of function pointers and rather just a few queues. This will also allow us to give control back to the scheduler during a particularly long callback if we end up needing it.
Notes
To Do
Closes #125