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

nRF8001 problem with connection interval shoud be 7.5ms but it is 50 ms

Hi, I have a problem with the nrF8001. I connected to STM32F4 and I use the nRF8001 SDK v1.7. I need send several (less then 20) bytes from the device to the phone with the maximum posible frequency. I was based on the example of "my_project" in SDK project exaples. I added myself the 4 byte characteristics of a name "counter" which increases every 1 ms. I wrote android applications which calculates what is the interval between two packets of data ... and here comes the problem, although I have set:

#define GAP_PPCP_MAX_CONN_INT 0x6 / ** <Maximum connection interval as a multiple of 1.25 msec 0xFFFF Means No specific value requested * /
#define GAP_PPCP_MIN_CONN_INT 0x6 / ** <minimum connection interval as a multiple of 1.25 msec 0xFFFF Means No specific value requested * /
#define GAP_PPCP_SLAVE_LATENCY 0
#define GAP_PPCP_CONN_TIMEOUT 0x1e / ** Connection Supervision timeout multiplier as a multiple of 10msec, 0xFFFF Means No specific value requested * /

the interval between two data packets are always 50 ms. When I change the connection interval on the value of such 100ms it is still 50 ms.

For testing I connected the Microsoft LE Bluetooth mouse which is based on the nRF51 chip and there interval between 2 packet is about 8ms!

i try several methods to update variable:

if (lib_aci_is_pipe_available (PIPE_MATTSK_LICZNIK_TX))
    {
    lib_aci_send_data (PIPE_MATTSK_LICZNIK_TX (uint8_t *) &counter, 4);
}

or

services_send_mattsk_licznik (&counter, 4, 1);

But always there were 50 ms. I'm out of ideas so please help :(

Parents
  • Is the Phone accepting the new connection parameters or rejecting them? When setting both max and min value to the minimum interval there is a high probability that the master doesn't accept the parameters. In case the parameters is rejected I would recommed sending another request but increasing the max value. Note that you it might also be necessary to increase the timeour value when increasing the max value. Continue to retry using increasingly bigger values, until the master accepts the request. Note that the master is the one deciding what interval to use.

Reply
  • Is the Phone accepting the new connection parameters or rejecting them? When setting both max and min value to the minimum interval there is a high probability that the master doesn't accept the parameters. In case the parameters is rejected I would recommed sending another request but increasing the max value. Note that you it might also be necessary to increase the timeour value when increasing the max value. Continue to retry using increasingly bigger values, until the master accepts the request. Note that the master is the one deciding what interval to use.

Children
No Data
Related