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.

AM6442: Rpmessage Send timeout

Part Number: AM6442

Hello experts,

For my own application, I am using the RPMessage_send function with timeout set to 0.

Function works as expected until Sdk 9.1.

In this version RPMessage_send function returns -2 but data successfully received in other core. 

Setting the timeout 1 is fixing the problem but in case of real error happening this will cause 1 ms waiting to send data. This time is too long for my application.

I am waiting for your helps.

Regards

  • Hello Berlam,

    I am looking at your queries.

    You may expect a reply in one or two days.

    Regards,

    S.Anil.

  • Hello Berlam,

    I have looked at the RPMessage_send API which calls the API below.

    Here, you can see that if you send the time-out value is zero, then every time you get the return status as SystemP_TIMEOUT, because the current core will take some time to notify the remote core mailbox and this time would be some X time. So, after sending this message, the eplapsed time always greater than timeout value, so you will get the -2. In this case, it might be the current core will send the data or not, and we don't have any idea whether the core will send the data to remote cores. To avoid these issues, you need to use the system timeout value -1, otherwise this functionality will not work.

    Regards,

    S.Anil.

  • Hello S.Anil

    When i check this api, I saw ipcnotify_sendmsg function returns success (0) then it assign timeout (-2) in the if condition. So i added status control in the if statement. İts working flawlessly now.

    if((elapsedTicks >= timeout) && (status != SystemP_SUCCESS))

    {

    status = SystemP_TIMEOUT

    }

    Regards 

    Berlam.