|
|
@ -16,7 +16,6 @@ APP_TIMER_DEF(m_record_upload_tmr); // |
|
|
|
APP_TIMER_DEF(m_record_upload_finish_packet_report_tmr); // 数据上报完成上报定时器 |
|
|
|
static uint8_t txbuf[250]; |
|
|
|
static uint8_t reportbuf[250]; |
|
|
|
static bool m_realtime_report_state = false; |
|
|
|
static int m_upload_record_state = 0; |
|
|
|
static uint32_t m_upload_data_state_enter_tp = 0; |
|
|
|
|
|
|
@ -30,12 +29,12 @@ int ble_stop_upload_record(); |
|
|
|
* 广播控制 * |
|
|
|
*******************************************************************************/ |
|
|
|
void ble_cmder_start_adv() { |
|
|
|
m_realtime_report_state = false; |
|
|
|
global_state_set_preview_state(false); |
|
|
|
zble_module_start_adv(); |
|
|
|
} |
|
|
|
void ble_cmder_stop_adv() { |
|
|
|
zble_module_stop_adv(); |
|
|
|
m_realtime_report_state = false; |
|
|
|
global_state_set_preview_state(false); |
|
|
|
} |
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
@ -53,19 +52,8 @@ void ble_cmder_uninit() {} |
|
|
|
/******************************************************************************* |
|
|
|
* 实时上报控制 * |
|
|
|
*******************************************************************************/ |
|
|
|
int ble_start_realtime_report() { |
|
|
|
m_realtime_report_state = true; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
int ble_stop_realtime_report() { |
|
|
|
m_realtime_report_state = false; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
void ble_cmder_try_report_one_sample_data(app_event_t* event) { |
|
|
|
if (!m_realtime_report_state) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
void ble_cmder_try_report_one_sample_data(app_event_t* event) { |
|
|
|
heartrate_report_packet_t* reportpacket = (heartrate_report_packet_t*)reportbuf; |
|
|
|
reportpacket->cmd = ify_hrs_report_heartrate_data; |
|
|
|
reportpacket->frame_index = 0; |
|
|
@ -324,7 +312,7 @@ void ble_cmder_process_rx(uint8_t* rx, int len) { |
|
|
|
receipt->drop_state0 = (0); |
|
|
|
receipt->drop_state1 = 0x00; |
|
|
|
receipt->device_state0.sampling_state = (ds_now_state() == kdevice_state_sampling); |
|
|
|
receipt->device_state0.report_state = m_realtime_report_state; |
|
|
|
receipt->device_state0.report_state = global_state_get()->preivew_state; |
|
|
|
receipt->device_state0.low_battery = (BoardBattery_get_battery_level() < APP_LOW_BATTERY_WARNING_LIMIT); |
|
|
|
receipt->device_state0.full_storge = (sample_data_mgr_storage_is_full()); |
|
|
|
|
|
|
@ -367,22 +355,13 @@ void ble_cmder_process_rx(uint8_t* rx, int len) { |
|
|
|
} |
|
|
|
|
|
|
|
else if (cmd == ify_hrs_cmd_start_realtime_preview) { |
|
|
|
// unsupport cmd |
|
|
|
int ecode = ble_start_realtime_report(); |
|
|
|
if (ecode == 0) { |
|
|
|
send_success_receipt(rxheader, 8); // 凑8个字节,使这个回执的字节长度同上报包长度一致,方便调试 |
|
|
|
} else { |
|
|
|
send_error_receipt(rxheader, ecode); |
|
|
|
} |
|
|
|
global_state_set_preview_state(true); |
|
|
|
send_success_receipt(rxheader, 0); |
|
|
|
} |
|
|
|
|
|
|
|
else if (cmd == ify_hrs_cmd_stop_realtime_preview) { |
|
|
|
int ecode = ble_stop_realtime_report(); |
|
|
|
if (ecode == 0) { |
|
|
|
send_success_receipt(rxheader, 0); |
|
|
|
} else { |
|
|
|
send_error_receipt(rxheader, ecode); |
|
|
|
} |
|
|
|
global_state_set_preview_state(false); |
|
|
|
send_success_receipt(rxheader, 0); |
|
|
|
} |
|
|
|
|
|
|
|
else if (cmd == ify_hrs_cmd_read_records_info) { |
|
|
|