Connection interval for nrf52840

Hi ,

 For Battery operated devices, we are using NRF52840, and developing the firmware using Segger Embedded studio +  NRF SDK. s140nrf52720, nRF5SDK1702d674dde

For our application we are using the "Peripheral -  Nordic UART Service NUS" example to send the pressure data over the BLE.

To take it further we are going to add the

  • VT - Variable Transmission Time for sensor data ( adjustable interval from 1 sec to 1 minute)
  • DFU

With above context, while developing the firmware we are facing few issues,

For VT,  after reading the several Noridc forum, we come to know that it’s a Central who decide the connection parameters ( slave latency, connection interval MAX, and MIN, supervision timeout).

 Issue#1 : With below setting, we are able to connect with central after every 10 sec of interval , how can we increase it ? To have interval between connection equal to 60 sec. ?

 

In NUS example when we try to change the connection parameters then code didn’t work

Our plan is to use the connection interval always 1 sec and change the Slave latency to change interval between connection.

However , max connection supervision timeout we can set is 32Sec.

   

Issue#2:

 How can, peripheral firmware be able to accept the change in connection parameter ? is this sufficient to have in the firmware?

   Also, is there any simple way we can change the connection parameter from the Mobile APP and test it?

  

Parents
  • Hi

    If you want a very large connection interval I think it would be better for current consumption reasons to disconnect and put the devices into sleep mode for a set amount of time and reconnect instead. Check out the current consumption guide available here for how to put the device into low power mode.

    You can check out this guide on how to manage your Bluetooth connections here: https://punchthrough.com/manage-ble-connection/ 

    Regarding your Issue #2: The peripheral example projects also have these MIN_CONN_INTERVAL and MAX_CONN_INTERVAL parameters that can be set higher to let the peripheral accept higher connection parameters than 75ms.

    When connected in the nRF Connect for Android mobile app you can change the connection parameters somewhat, but not fully. After connecting, you can press the three dots in the connection window and request "connection priority" either, HIGH, BALANCED or LOW ranging from 15 to 125ms connection intervals. Higher than that is not supported in the nRF Connect for Mobile app at least.

    Best regards,

    Simon

  • Hi Simonr,

    Thank you for the reply...!

    We have used the same Post as you shared for the current consumption minimization. We will go through the post shared by you  -  PunchThrough.

    For second part of the issue #1, we know that MIN_CONN_INTERVAL and MAX these parameters control the connection interval. But problem is we are not able to adjust the connection parameter interval greater than 10sec,( using MAX CONN INTERVAL and Slave latency), Ideally we should be able to achieve it to 32Sec. However, when we change the these parameters to others than this then there is error in the code while initializing the connection parameter.

Reply
  • Hi Simonr,

    Thank you for the reply...!

    We have used the same Post as you shared for the current consumption minimization. We will go through the post shared by you  -  PunchThrough.

    For second part of the issue #1, we know that MIN_CONN_INTERVAL and MAX these parameters control the connection interval. But problem is we are not able to adjust the connection parameter interval greater than 10sec,( using MAX CONN INTERVAL and Slave latency), Ideally we should be able to achieve it to 32Sec. However, when we change the these parameters to others than this then there is error in the code while initializing the connection parameter.

Children
No Data
Related