Upgraded from v16.0.0 to v17.1.0 and have a truncation issue. It only occurs after the first send. Reverted back to v16.0.0 and all ok.
No other code change other than the fixes to RAM1 and FLASH1.
static uint32_t BLUETOOTH_Push (uint16_t len, uint8_t *data, uint16_t handle) {
if (m_conn_handle == BLE_CONN_HANDLE_INVALID) {
return 0;
}
ble_gatts_hvx_params_t params;
memset(¶ms, 0, sizeof(params));
params.type = BLE_GATT_HVX_NOTIFICATION;
params.handle = handle;
params.p_data = data;
params.offset = 0;
params.p_len = &len;
return sd_ble_gatts_hvx(m_conn_handle, ¶ms);
}
uint32_t BLUETOOTH_PushStatus(void) {
return BLUETOOTH_Push(sizeof(status), (uint8_t *) &status, m_lbs.status_char_handles.value_handle);
}
The bluetooth phone app shows the following being passed -
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 30, 60, 101, 0, 0, 18, 19, 102, 10], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
LOG {"data": [0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1], "type": "Buffer"}
There should only but the one and then a long delay but it looks that as well as the truncation the softdevice is in a loop.