This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/TMDSEVM6678: Using IPC

Part Number: TMDSEVM6678


Tool/software: TI-RTOS

Hi
Is it possible to use MessageQ_get() as below If I use MessageQ_get() for receiving data:
The program doesn't wait forever on MessageQ_get() function.

I mean when the program runs the MessageQ_get() function, if the result data is received it must process it.

If the MessageQ_get() function has not received the data, the program must not waist time on  MessageQ_get() function and must check 
it again on the next time step.

Thanks

  • Hi Dariush,

    I've forwarded this to the RTOS team. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi dariush,

    You can specify the timeout argument in MessageQ_get() to get unblocked function call. The timeout argument is maximum duration to wait for a message in microseconds.see the MessageQ_get() API description here:
    software-dl.ti.com/.../_message_q_8h.html

    -----------------
    If no message is available, it blocks on the synchronizer object until the synchronizer is signaled or a timeout occurs. The synchronizer is signaled, when Message_put is called on the MessageQ handle. If a timeout occurs, the msg is set to NULL and the status is MessageQ_E_TIMEOUT. If a timeout of zero is specified, the function returns immediately and if no message is available, the msg is set to NULL and the status is MessageQ_E_TIMEOUT. The MessageQ_E_UNBLOCKED status is return, if MessageQ_unblock is called on the MessageQ handle.
    ----------------

    Regards,
    Garrett