This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Segmented messages and access_model_publish()

Hello,

I have implemented functionality that enables me to send messages back and forth between two nodes in the network with a timer (both nodes has a server and client functionality). I.e. a client receives a message, starts a timer, and republish the message to the other node in the timeout handler of the timer. I am currently sending segmented messages due to the size, and I am aware that I can not have repeats when publishing unreliable messages due to the segmentation. However, when I am sending messages back and forth between my nodes, I expected that as long as repeats are set to zero, this would not be a problem no matter how fast I republish a message after it is received. But when my interval between the messages is below some threshold, I get the following error message for the first node: app_error_weak.c,  122, Mesh error 8 at 0x0002B501. This happens after the message is received one time. That is, I am able to send the message from the first node, then the second node receives it and republishes the message at the timeout (this works every time no matter what interval I use), and the first nodes receive this message but fails to republish due to the error described above. Why is this? If I set the time_ticks of my timer to approximately > 700, I am able to send the message back and forth with no occurring error, but if I reduce the time_ticks, the first node fails upon the second attempt to send the message.

I have tried to implement error handling regarding this problem, i.e. try to call access_model_publish() again after some time if it returns an error status, but with no success. Is there something I can do to fix this?

  • Hi,

    I am aware of that. As I said above, I am starting an event (and logging) at the receiver when he receives the message, so there are no ongoing messages when I get the error. My messages are between 15-30 bytes, which should not take 1,4 seconds anyways.

    After changing the parameters as in the ticket you referred to, I am able to resend messages much faster. But I am curious to know what implications these changes may cause and what they affect. 

Related