Browse Source

update

master
zhaohe 1 year ago
parent
commit
82fb252be1
  1. 4
      app/src/basic_service/app_event.h
  2. 11
      app/src/basic_service/device_state.c
  3. 7
      app/src/basic_service/device_state.h
  4. 18
      app/src/one_conduction_main.c
  5. 37
      app/src/service/ble_cmd_processer/ble_cmd_process_service.c
  6. 27
      app/src/service/heart_wave_sample_service/heart_wave_sample_service.c
  7. 2
      app/src/service/heart_wave_sample_service/heart_wave_sample_service.h

4
app/src/basic_service/app_event.h

@ -49,7 +49,8 @@ typedef enum {
kdevice_state_sampling_complete,
// ²É¼¯Òì³£
kdevice_state_sampling_error,
// ²âÊÔģʽ
kdevice_state_test_mode,
} device_state_t;
static const char* device_state_to_str(device_state_t ds) {
@ -74,4 +75,3 @@ static const char* device_state_to_str(device_state_t ds) {
return "unknow";
}
}

11
app/src/basic_service/device_state.c

@ -1,8 +1,8 @@
#include "device_state.h"
#include "znordic.h"
#include "basic_service/app_event_distribute.h"
#include "znordic.h"
/***********************************************************************************************************************
* ״̬»ú *
***********************************************************************************************************************/
@ -53,3 +53,12 @@ void sample_capture_state_reset() { //
void sample_capture_state_set_is_over30s(bool over30s) { //
m_sample_capture_state.is_over30s = over30s;
}
/***********************************************************************************************************************
* global_state *
***********************************************************************************************************************/
global_state_t m_global_state;
global_state_t* global_state_get() { return &m_global_state; }
void global_state_set_preview_state(bool is_preview) { m_global_state.preivew_state = is_preview; }

7
app/src/basic_service/device_state.h

@ -20,3 +20,10 @@ sample_capture_state_t* sample_capture_state_get();
void sample_capture_state_reset();
void sample_capture_state_set_is_over30s(bool over30s);
typedef struct {
bool preivew_state;
} global_state_t;
global_state_t* global_state_get();
void global_state_set_preview_state(bool is_preview);

18
app/src/one_conduction_main.c

@ -292,7 +292,7 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) {
*******************************************************************************/
if (p_event->eventType == kevent_capture_little_data_block_event) {
//
ble_cmder_try_report_one_sample_data(p_event);
if (global_state_get()->preivew_state) ble_cmder_try_report_one_sample_data(p_event);
}
/*******************************************************************************
@ -363,6 +363,20 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) {
ble_cmder_report_sample_finish_event();
}
}
/******************************************************************************************************************
* *
******************************************************************************************************************/
else if (ds_now_state() == kdevice_state_test_mode) {
/**
* @brief 退
*/
if (p_event->eventType == kevent_capture_little_data_block_event) {
ble_cmder_try_report_one_sample_data(p_event);
}
}
}
/*******************************************************************************
* MAIN_CODE *
@ -381,6 +395,6 @@ void one_conduction_main() {
hwss_init();
ds_init(on_state_change);
// ds_change_to_state(kdevice_state_poweron);
ds_change_to_state(kdevice_state_test_mode);
znordic_loop();
}

37
app/src/service/ble_cmd_processer/ble_cmd_process_service.c

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

27
app/src/service/heart_wave_sample_service/heart_wave_sample_service.c

@ -17,19 +17,30 @@ typedef enum {
static capture_state_t m_prepare_capture_state = kidle;
static uint32_t m_start_capture_tp;
static void on_ads129x_ready_irq(app_board_irq_event_t event) {
/**
* @brief ´¦Àíads129xÊý¾Ý£¬²¢Éϱ¨
*
* @param event
*/
static void on_ads129x_ready_irq(app_board_irq_event_t event) {
#if 1
static ads129x_capture_data_t capture_data;
ads129x_read_data(&capture_data);
hwsd_mgr_push_one_frame(capture_data.ch1data);
// static int32_t data;
// data += 1000;
// if (data >= 60000) {
// data = -60000;
// }
// hwsd_mgr_push_one_frame(data);
#else
static int32_t data;
data += 1000;
if (data >= 60000) {
data = -60000;
}
hwsd_mgr_push_one_frame(data);
#endif
}
void hwss_init(void) { app_board_reg_irq_listener(kon_irq_ads1291_ready_pin, on_ads129x_ready_irq); }
void hwss_init(void) { //
app_board_reg_irq_listener(kon_irq_ads1291_ready_pin, on_ads129x_ready_irq);
}
void hwss_start_prepare_capture(void) {
m_start_capture_tp = znordic_getpower_on_s();

2
app/src/service/heart_wave_sample_service/heart_wave_sample_service.h

@ -16,6 +16,4 @@ float hwss_read_heart_rate(void);
int hwss_has_captured_time_ms();
void hwss_start_prepare_capture(void);
bool hwss_lead_get_state_connected_state();
Loading…
Cancel
Save