Hello.
I have a thread which must be waked-up from multiple sources - 3 different message box for example. How I can organize this in CMSIS-RTOS? Currently in revision 4.00 of CMSIS, there is a osWait() function. But in RTX 4.74 (which comes with latest CMSIS), this function is not implemented.
So what I can do like a workaround of this problem? Wake-up regularly via timer and check all message boxes? Working but not efficient.Currently the only multi-object wake-up source implemented in CMSIS-RTOS seems to be the signals. But it's not really cool to use message box and signals in parallel for waking up. Did I'm missing something?
Hey,
I managed to get it to work without osSignalGet. Basically I await any signal forever using osSignalWait(0x00, osWaitForever). Once it is recevied, i confirm using the osEvent returned that it is a signal event then I get the signal value from osEvent.value.signals variable and using a switch case to determine what I to do. More details I did on the tech bits: How to await several events using CMSIS 4 in-built RTOS. I am yet to expound more on how I did it but I think it will be rather straight forward. Hope it helps
I got 'Blog has been removed' when I visited that link
It seems that the new URL is : https://maxwellweru.com/how-to-await-several-events-using-cmsis-4-in-built-rtos/
Thanks