You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sched fix (tested on PCU, LV-BMS, HV-BMS and LCU) (#594)
* fix (tested on PCU, LV-BMS and LCU)
* get cleanup to compile
* format checks
* fix tests and scheduler (off by one error)
* Add a test for get_at
* formatting
* Add a test for set_at and fix it
* formatting
* formatting
* try to fix issue in LCU
* add a test for front_id and pop_front
* add changeset for this pr
* formatting for changeset :/
* fix (tested on PCU, LV-BMS and LCU)
* get cleanup to compile
* format checks
* fix tests and scheduler (off by one error)
* Add a test for get_at
* formatting
* Add a test for set_at and fix it
* formatting
* formatting
* try to fix issue in LCU
* add a test for front_id and pop_front
* revert merge from development
* searching for case-insensitive STM32 CLT path
* applied formatter
* removed unused include
* making PacketValue destructor virtual so that CLang doesn't cry
* minor fix
* commit old changes
* fix off by one error in allocating a slot
* formatting
* fix old compile error which shouldn't be one
* Add set_limit_value to set arr in TimerWrapper
* fix indentation
* indentation, again
* formatting
* Move errorhandler away from interrupt callback
* ErrorHandler -> WARNING, prescaler calc -> TimerDomain
* formatting
* Add Infowarning to tests, hopefully this compiles
* formatting, and try to compile tests
* formatting
* formatting again
* change changeset to minor
* remove ErrorHandler in TIM_IC_CaptureCallback since it's an interrupt callback
---------
Co-authored-by: Jorge Sáez <jorgeesg82@gmail.com>
summary: fix remaining scheduler race conditions and add warning when tasks are not ran in time
3
+
4
+
The mechanism for checking if tasks are not ran in time is very simple but that also means the scheduler can only know if a task has not been called when the waiting time runs out for the second time.
5
+
This means you will know if you're too slow to execute the task in less than 2x its period but not if you're between 1 and 2x its period.
0 commit comments