mincrmatt12/MSign

Misuse of FreeRTOS task notifications as semaphores without give/take API

mincrmatt12 opened this issue · 1 comments

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)

(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)