Rework LED flashing and add Particle's boards
This commit is contained in:
@ -136,6 +136,8 @@ static void wait_for_events(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
led_tick();
|
||||
|
||||
if ((m_update_status == BOOTLOADER_COMPLETE) ||
|
||||
(m_update_status == BOOTLOADER_TIMEOUT) ||
|
||||
(m_update_status == BOOTLOADER_RESET) )
|
||||
@ -221,8 +223,8 @@ void bootloader_dfu_update_process(dfu_update_status_t update_status)
|
||||
else if (update_status.status_code == DFU_UPDATE_SD_COMPLETE)
|
||||
{
|
||||
settings.bank_0_crc = update_status.app_crc;
|
||||
settings.bank_0_size = update_status.sd_size +
|
||||
update_status.bl_size +
|
||||
settings.bank_0_size = update_status.sd_size +
|
||||
update_status.bl_size +
|
||||
update_status.app_size;
|
||||
settings.bank_0 = BANK_VALID_SD;
|
||||
settings.bank_1 = BANK_INVALID_APP;
|
||||
@ -326,7 +328,7 @@ uint32_t bootloader_dfu_start(bool ota, uint32_t timeout_ms)
|
||||
uint32_t err_code;
|
||||
|
||||
// Clear swap if banked update is used.
|
||||
err_code = dfu_init();
|
||||
err_code = dfu_init();
|
||||
VERIFY_SUCCESS(err_code);
|
||||
|
||||
if ( ota )
|
||||
@ -467,4 +469,3 @@ void bootloader_settings_get(bootloader_settings_t * const p_settings)
|
||||
p_settings->app_image_size = p_bootloader_settings->app_image_size;
|
||||
p_settings->sd_image_start = p_bootloader_settings->sd_image_start;
|
||||
}
|
||||
|
||||
|
@ -589,7 +589,7 @@ static void on_dfu_evt(ble_dfu_t * p_dfu, ble_dfu_evt_t * p_evt)
|
||||
break;
|
||||
|
||||
case BLE_DFU_PACKET_WRITE:
|
||||
led_red_blink_fast(true);
|
||||
led_state(STATE_WRITING_STARTED);
|
||||
on_dfu_pkt_write(p_dfu, p_evt);
|
||||
break;
|
||||
|
||||
@ -741,6 +741,7 @@ static void on_ble_evt(ble_evt_t * p_ble_evt)
|
||||
case BLE_GAP_EVT_CONNECTED:
|
||||
m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle;
|
||||
m_is_advertising = false;
|
||||
led_state(STATE_BLE_CONNECTED);
|
||||
break;
|
||||
|
||||
case BLE_GAP_EVT_DISCONNECTED:
|
||||
@ -750,9 +751,9 @@ static void on_ble_evt(ble_evt_t * p_ble_evt)
|
||||
|
||||
m_direct_adv_cnt = APP_DIRECTED_ADV_TIMEOUT;
|
||||
|
||||
led_red_blink_fast(false);
|
||||
led_state(STATE_BLE_DISCONNECTED);
|
||||
|
||||
err_code = sd_ble_gatts_sys_attr_get(m_conn_handle,
|
||||
err_code = sd_ble_gatts_sys_attr_get(m_conn_handle,
|
||||
sys_attr,
|
||||
&sys_attr_len,
|
||||
BLE_GATTS_SYS_ATTR_FLAG_SYS_SRVCS);
|
||||
|
@ -106,7 +106,7 @@ static uint32_t data_queue_element_free(uint8_t element_index)
|
||||
uint32_t retval;
|
||||
|
||||
retval = NRF_ERROR_INVALID_PARAM;
|
||||
|
||||
|
||||
if (MAX_BUFFERS > element_index)
|
||||
{
|
||||
p_data = (uint8_t *)DATA_QUEUE_ELEMENT_GET_PDATA(element_index);
|
||||
@ -137,7 +137,7 @@ static uint32_t data_queue_element_alloc(uint8_t * p_element_index, uint8_t pack
|
||||
uint32_t index;
|
||||
|
||||
retval = NRF_ERROR_NO_MEM;
|
||||
|
||||
|
||||
if (INVALID_PACKET == packet_type)
|
||||
{
|
||||
retval = NRF_ERROR_INVALID_PARAM;
|
||||
@ -216,7 +216,7 @@ static void process_dfu_packet(void * p_event_data, uint16_t event_size)
|
||||
break;
|
||||
|
||||
case START_PACKET:
|
||||
packet->params.start_packet =
|
||||
packet->params.start_packet =
|
||||
(dfu_start_packet_t*)packet->params.data_packet.p_data_packet;
|
||||
retval = dfu_start_pkt_handle(packet);
|
||||
APP_ERROR_CHECK(retval);
|
||||
@ -227,14 +227,14 @@ static void process_dfu_packet(void * p_event_data, uint16_t event_size)
|
||||
retval = dfu_init_pkt_complete();
|
||||
APP_ERROR_CHECK(retval);
|
||||
|
||||
led_red_blink_fast(true);
|
||||
led_state(STATE_WRITING_STARTED);
|
||||
break;
|
||||
|
||||
case STOP_DATA_PACKET:
|
||||
(void)dfu_image_validate();
|
||||
(void)dfu_image_activate();
|
||||
|
||||
led_red_blink_fast(false);
|
||||
led_state(STATE_WRITING_FINISHED);
|
||||
|
||||
// Break the loop by returning.
|
||||
return;
|
||||
@ -273,7 +273,7 @@ void rpc_transport_event_handler(hci_transport_evt_t event)
|
||||
retval = app_sched_event_put(NULL, 0, process_dfu_packet);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (p_rpc_cmd_buffer != NULL && NRF_SUCCESS != retval)
|
||||
{
|
||||
// Free the packet that could not be processed.
|
||||
@ -308,7 +308,6 @@ uint32_t dfu_transport_serial_close(void)
|
||||
{
|
||||
// Remove all buffered packets.
|
||||
data_queue_flush();
|
||||
|
||||
|
||||
return hci_transport_close();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user