FreeEMS Issues - Firmware
View Issue Details
0000127FirmwareScheduler (Inj/Ign)public2011-06-15 12:542014-02-18 23:06
Fred 
Fred 
normalminorN/A
assignedopen 
 
0.2.1 
Improvement
high
0000127: Split the code run time stuff into different parts
Split code run time into decoder, loop iteration max and number of iterations to do. Make decoder only loop through required number of entries. And therefore keep scheduling as tight as possible.
No tags attached.

Notes
(0000353)
Fred   
2011-10-06 20:30   
I just realised that this is actually slightly more complicated than I was modelling it. The worst case from input edge to output being triggered is this:

=WORSTOF(All other ISR runtimes and ATOMIC operations) + WORSTOF(primary decoder logic, secondary decoder logic) + (number of iterations * iteration runtime)

In other words, to do this right, we not only need to profile each and every decoder, and the scheduling code, we ALSO need to profile all other ISRs and ATOMIC blocks!

Make sure this is done correctly!