Hello
I experienced the following behavior of event objects in embOS V4.04a.1:
I have an event object controlling a task's behavior. In the task's main flow I was waiting for the object with the OS_EVENT_Wait() function while in an ISR the OS_EVENT_Pulse function was called. Everything worked fine with this setup. For safety reasons I added a timeout to the task's waiting behavior calling OS_EVENT_WaitTimed() instead of OS_EVENT_Wait(). With this change, I ended up in the timeout, even though the pulse function was called as it was before and clearly within the timeout.
Changing the ISR function call from OS_EVENT_Pulse() to a OS_EVENT_Set() brings back the wanted functionality. My question: is it known and wanted, that OS_EVENT_Wait() and OS_EVENT_WaitTimed don't behave the same to the OS_EVENT_Pulse() call?
I am running in the default mode (OS_EVENT_RESET_MODE_SEMIAUTO).
Thanks and best regards,
Severin
I experienced the following behavior of event objects in embOS V4.04a.1:
I have an event object controlling a task's behavior. In the task's main flow I was waiting for the object with the OS_EVENT_Wait() function while in an ISR the OS_EVENT_Pulse function was called. Everything worked fine with this setup. For safety reasons I added a timeout to the task's waiting behavior calling OS_EVENT_WaitTimed() instead of OS_EVENT_Wait(). With this change, I ended up in the timeout, even though the pulse function was called as it was before and clearly within the timeout.
Changing the ISR function call from OS_EVENT_Pulse() to a OS_EVENT_Set() brings back the wanted functionality. My question: is it known and wanted, that OS_EVENT_Wait() and OS_EVENT_WaitTimed don't behave the same to the OS_EVENT_Pulse() call?
I am running in the default mode (OS_EVENT_RESET_MODE_SEMIAUTO).
Thanks and best regards,
Severin