Following an advice read on this forum, I am using vTaskDelayUntil to activate a task periodically, with more control over the activation frequency.
CPUs can get overloaded, and if the task does not have the highest priority then a task waiting on vTaskDelayUntil could potentially jump (or miss) a tick.
Is there a way to asses whether or no this is happening (vTaskDelayUntil returns void)?
To implement such a periodic activation pattern, I have been using a hook on the tick announcer. A counting semaphore is then given to the tasks that need to be periodically activated. If a task sees more than one semaphore then it realizes that the CPU ran late.
I wouldn’t mind using vTaskDelayUntil so that’s one less piece of code I have to worry. However, I feel the need to insure that tasks know whenever they ran.
Let me know if there’s a way to deduce this using the vTaskDelayUntil function.