Hello, guys, I develop 52810 with sdk 14.1.0, i need the OTA features, but i couldn't find the dfu demo(ble secure dfu bootloader and buttonless dfu template app, pca10040e), what can i do ?
Do you give the dfu demo for 52810 later?
Hello, guys, I develop 52810 with sdk 14.1.0, i need the OTA features, but i couldn't find the dfu demo(ble secure dfu bootloader and buttonless dfu template app, pca10040e), what can i do ?
Do you give the dfu demo for 52810 later?
Hello!Some about DFU example migrated to nRF52810.
1.Modify nrf_ble_dfu_s112.c by this code:
#if (NRF_SD_BLE_API_VERSION >= 3)// && !S112)
case BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST:
{
err_code = sd_ble_gatts_exchange_mtu_reply(p_ble_evt->evt.gatts_evt.conn_handle,
NRF_SDH_BLE_GATT_MAX_MTU_SIZE);
APP_ERROR_CHECK(err_code);
} break; // BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST
#if (!S112)
case BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST:
{
ble_gap_data_length_params_t const dlp =
{
.max_rx_octets = BLE_GAP_DATA_LENGTH_AUTO,
.max_tx_octets = BLE_GAP_DATA_LENGTH_AUTO,
};
err_code = sd_ble_gap_data_length_update(p_ble_evt->evt.gatts_evt.conn_handle,
&dlp, NULL);
APP_ERROR_CHECK(err_code);
} break; // BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST
#endif
#endif
@maksym: Great catch! Thanks!
Thank you very much! Recently I changed nrf52832 because RAM and ROM, thank you very much too!
The changes proposed by @maksym has been added to the attached files.
In case anyone else finds this and has an issue with compilation failing due to invalid options (using hardware floating point with the 52810):
The options for "micro_ecc_lib_nrf52.lib" included in the project file has a path using the nrf52hf_keil directory in the micro-ecc directory. Since the NRF52810 does not have hardware floating point capability it will fail to compile (linker error about invalid options).
I spent a lot of time thinking I'd built the wrong version of the micro-ecc library, but it turns out to be an incorrect setting in the project file. TO use the non-hardware floating point version, right click on the "micro_ecc_lib_nrf52.lib" file in the Project listing (it'll be inside the nRF_micro-ecc folder). Select the "Options for File" contextual menu item. In the "Path" variable, change the "nrf52hf_keil" to "nrf52nf_keil".
This should get rid of the linker error assuming micro-ecc was compiled correctly.
-F