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

nrf8001 Slave Latency and Supervision Timeout

I'm currently using nrf8001 to send data to my phone. To save power from the peripheral device, I wanted to change the connection parameters.

I set the min and max connection interval to 0x06 and 0x09 respectively. also, I set the slave latency to 0x40, and supervision timeout to 0x64. It works fine(I double checked using an oscilloscope). The connection interval was set to 0x09 (0x09*1.25ms = 11.25ms connection interval).

I wanted the nrf8001 to send data every ~10 seconds. So to save power, I set the slave latency to 0x0370 (880 connection intervals so: 880*11.25ms = 9900ms). So every 9.9 seconds, the nrf8001 will send data. I set the supervision timeout to 0x07D0(20 seconds). After sending the changetimingrequest command, I receive a command response event, and a timingevent. Based from the receiver buffer, the change was successful(0x00). However, the timingevent receiver buffer shows that the connection parameters didn't change.

Does the phone I use to connect to the peripheral causes this? How do I fix this?

Related