Rework LED flashing and add Particle's boards

This commit is contained in:
Scott Shawcroft
2018-12-04 13:45:55 -08:00
parent f30199f503
commit 2ece2daf90
17 changed files with 501 additions and 166 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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();
}