Firmware: Not So Well Anymore#
Problem: ISRs Not Simple#
Three ISRs
Timer tick
Sensor burning
Operator button
Initially (here), each transition involved at most three GPIO operations
Spinlock as bug fix (here)
⟶ Possibly longer execution time but correct
CAN notifications (here) hasn’t improved the situation
Controller busy sending ⟶ complicated queueing mechanism
Again interrupt driven