This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to wait on multiple objects in CMSIS-RTOS?

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?

Parents
  • That's very strange removing that, as you point it makes osSignalWait for any signal rather useless. But I think having a task per IRQ which deals with whatever has to be done straight away and then sending off a message for anything longer which is dealt with in a serial fashion is the cleaner way to do it. It does make prioritization rather difficult though.

Reply
  • That's very strange removing that, as you point it makes osSignalWait for any signal rather useless. But I think having a task per IRQ which deals with whatever has to be done straight away and then sending off a message for anything longer which is dealt with in a serial fashion is the cleaner way to do it. It does make prioritization rather difficult though.

Children