Hi there!
I'm currently facing an issue where the client will stop transmitting messages after six hours and twenty-five minutes. This is the case after 255 messages have been sent. These messages are part of a custom model that's based on the Simple OnOff Model. The hardware that's showing the behaviour varies from a nRF52840 DK to a nRF52840 Feather and custom built PCB. So I don't think hardware is part of the problem. The application is built with the GNU Arm Embedded Toolchain, is written in C++ and uses both the nRF5 SDK and Mesh SDK running on FreeRTOS.
I'm sure it's the client since when I reset one device, the other device starts receiving the messages again. The server on the device that hasn't been reset is thus able to receive the messages. However, I don't think the server is able to acknowledge them; the messages are received multiple (~5) times. Hence, the probleem seems to be with transmitting messages.
I first thought it was the transaction id of the messages (uint8_t) that overflows after 255 messages have been sent. So I wrote a function that makes sure the tid is set back to 0 when 255 is reached. This, however, didn't change the behaviour.
I'm afraid the problem goes a little deeper. I thought it'd be a good idea to ask around here since I'm absoutely clueless...
Kind regards,
A (very) confused Jochem