Hi everyone, I have some strange behavior with a central peripheral combination. My central subscribes notification on the peripheral. This has a limited TX-Buffer for just one notification to prevent buffering old sensor data. The sensor data are read in a ratio notification handler before every radio activity and sent via notification. The expected behavior is:
- first connection event -> notification is sent
- second connection event -> LLacknowledge produces TX complete, new notification can be send
Then everything starts form the beginning. This works fine, as long as I use my smartphone or master control panel as Central. When I connect with my own central (nrf51822, S120_V1.0.1) the behavior is:
- first connection event -> notification is sent
- second connection event -> LLacknowledge produces TX complete.
- third connection event -> central establishes connection, but peripheral doesn’t answer.
- fourth connection event -> central RETRYs last packet, peripheral send next notification
Then it goes on with 2.. Every time the central has to do a retry, before next notification. I tried different things to fix this. For example I choose a longer value for NRF_RADIO_NOTIFICATION_DISTANCES when notification is created. By surprise, the error disappears, when I choose the shortest distance of 800us! I don’t get, why this behavior is just with this central/peripheral combination and why it works, when you shorten the distance before radio activity.
Has anyone an idea?
Edit: Format