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

DFU UPDATION ISSUE

Hello,

I am using SDK version15.20,pca10056,s140.

In my application I am using Bluetooth to send the data values at the rate of 750 samples per second. By sending 3 set of 20 bytes each at a time. On plotting the same at the below specified speed, the data is plotted at the desired speed.

#define APP_ADV_INTERVAL 64   /**< The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */
#define APP_ADV_DURATION BLE_GAP_ADV_TIMEOUT_LIMITED_MAX//BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED /**< The advertising duration (180 seconds) in units of 10 milliseconds.1000 */

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS)    /**< Minimum acceptable connection interval (20 ms). Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(200, UNIT_1_25_MS)    /**< Maximum acceptable connection interval (75 ms). Connection interval uses 1.25 ms units. */
#define SLAVE_LATENCY 0                                      /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS)     /**< Connection supervisory timeout (4 seconds). Supervision Timeout uses 10 ms units. */
#define FIRST_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(20000) /**< Time from initiating an event (connect or start of notification) to the first time sd_ble_gap_conn_param_update is called (5 seconds). */
#define NEXT_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(5000) /**< Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */
#define MAX_CONN_PARAMS_UPDATE_COUNT 3                       /**< Number of attempts before giving up the connection parameter negotiation. */

In this case the DFU updation, works properly but the graph is not plotting at the speed we expect.

But on changing the parameters value to the one specified below, 

#define APP_ADV_INTERVAL 64   /**< The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */
#define APP_ADV_DURATION BLE_GAP_ADV_TIMEOUT_LIMITED_MAX//BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED /**< The advertising duration (180 seconds) in units of 10 milliseconds.1000 */

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(10, UNIT_1_25_MS)    /**< Minimum acceptable connection interval (20 ms). Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(50, UNIT_1_25_MS)    /**< Maximum acceptable connection interval (75 ms). Connection interval uses 1.25 ms units. */
#define SLAVE_LATENCY 0                                      /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS)     /**< Connection supervisory timeout (4 seconds). Supervision Timeout uses 10 ms units. */
#define FIRST_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(20000) /**< Time from initiating an event (connect or start of notification) to the first time sd_ble_gap_conn_param_update is called (5 seconds). */
#define NEXT_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(5000) /**< Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */
#define MAX_CONN_PARAMS_UPDATE_COUNT 3                       /**< Number of attempts before giving up the connection parameter negotiation. */

The DFU shows GATT ERROR but graph when plotted (without implementing DFU) have the speed we expected.

In my case I am not able to debug the bootloader code , so i am not able to detect the error properly. So Please provide me suggestions on MIN_CONN_INTERVAL and MAX_CONN_INTERVAL and provide me a solution for debugging my bootloader application. When i debug the bootloader it works for the first attempt and shows log information, but on second time it  lose its debug connection as the device get disconnect and restart again. I am not able to perform DFU on every second attempt. And that log information is not readily available for me.

Regards,

Shilpa

Parents Reply Children
No Data
Related