Misuse of FreeRTOS task notifications as semaphores without give/take API
mincrmatt12 opened this issue · 1 comments
mincrmatt12 commented
Right now there seems to be race conditions in places where we wait for a task to do something because I've somehow failed to notice that FreeRTOS has a separate semaphore API for task notifications (i.e. for waiting on notification state >= 0) that would solve a significant number of problems.
Fixes required in:
- servicer (stm)
- serial (esp)
- to grabber
- to dupm
- matrix refresh (stm)
mincrmatt12 commented
(apparently the FreeRTOS on the ESP8266 is too old to use them in esp-land, but the recent mutex should totally alleviate the problem) edit: this is apparently not true, I was being fooled by autocomplete (still the explicit mutexes completely alleviate the racing)