Browse Source

修改显示效果

master
zhaohe 1 year ago
parent
commit
0f29ab8e79
  1. 10
      app/src/basic/qrs_time_domain_zh.c
  2. 16
      app/src/board/board_light_ctrl.c
  3. 5
      app/src/device_state.h
  4. 12
      app/src/display_manager.c
  5. 16
      app/src/one_conduction_main.c

10
app/src/basic/qrs_time_domain_zh.c

@ -214,6 +214,14 @@ void QRS_processData(uint16_t _data) {
}
}
}
uint16_t QRS_getHeartRate() { return m_heartrate; }
uint16_t QRS_getHeartRate() {
__disable_fiq();
uint16_t heartrate = m_heartrate;
__enable_fiq();
if (heartrate > 200) return 0;
if (heartrate < 55) return 0;
return heartrate;
}
uint16_t QRS_getMaxValueLastVal() { return m_max_val_in_m_data; }

16
app/src/board/board_light_ctrl.c

@ -102,20 +102,18 @@ void BoardLight_Init() {
static bool m_boardlight_loaded = false;
void BoardLight_load() {
if (m_boardlight_loaded) {
return;
}
m_boardlight_loaded = true;
// if (m_boardlight_loaded) {
// return;
// }
// m_boardlight_loaded = true;
BoardLight_setGreenLightState(false);
}
void BoardLight_unload() {
if (!m_boardlight_loaded) {
return;
}
// if (!m_boardlight_loaded) {
// return;
// }
m_boardlight_loaded = false;
app_timer_stop(m_green_light_effect_tmr);
BoardLight_setGreenLightEffect(kLightEffect_close);
// nrfx_pwm_uninit(&light_ctrl.driver);
}
void BoardLight_setGreenLightEffect(LightEffect_t effect) {

5
app/src/device_state.h

@ -36,6 +36,8 @@ typedef struct {
typedef enum {
//
kdevice_state_standby = 0,
//
kdevice_state_charging,
//
kdevice_state_poweron,
//
@ -48,8 +50,7 @@ typedef enum {
kdevice_state_sampling_complete,
//
kdevice_state_sampling_error,
//
kdevice_state_charging,
} device_state_t;
static const char* device_state_to_str(device_state_t ds) {

12
app/src/display_manager.c

@ -134,7 +134,7 @@ void mainPage_show(bool colon_state) {
// ZLOGI("mainPage_show %d %d", colon_state, x, y);
ssd1306_basic_draw_str(x, y, &xchange, &ychange, fmt("%02d:%02d", now.tm_hour, now.tm_min), &fontclocklib);
x = x + 2 + xchange;
x = x + 6 + xchange;
ssd1306_basic_draw_battery_level(x, y, &xchange, &ychange, batterylevel, MAIN_PAGE_BATTERY_WIDTH, MAIN_PAGE_BATTERY_HEIGHT);
ssd1306_basic_gram_update();
m_main_page_colon_state = colon_state;
@ -289,9 +289,9 @@ void dsp_mgr_change_to_sampling(int progress_s, int heartrate) { //
sps->wave_drawser_x = SMAPLE_PAGE_START_X + 5;
sps->wave_drawser_y = SMAPLE_PAGE_START_Y + sps->progress_hight + 5;
sps->wave_drawser_hight = 45;
sps->wave_drawser_width = 90;
sps->wave_drawser_width = 85;
sps->heartrate_x = sps->wave_drawser_x + sps->wave_drawser_width + 2;
sps->heartrate_x = sps->wave_drawser_x + sps->wave_drawser_width + 1;
sps->heartrate_y = sps->wave_drawser_y + 5;
int progress = progress_s / SAMPLE_MIN_TIME_S * 25;
@ -347,7 +347,11 @@ void samplePage_update_state(int progress_s, int wave_y, int heartrate, bool upd
if (heartrate <= 0) {
ssd1306_basic_draw_str(sps->heartrate_x, sps->heartrate_y + 20, &xchange, &ychange, "-- ", &font_asicc16x8_lib);
} else {
ssd1306_basic_draw_str(sps->heartrate_x, sps->heartrate_y + 20, &xchange, &ychange, fmt("%3d", heartrate), &font_asicc16x8_lib);
if (heartrate >= 100) {
ssd1306_basic_draw_str(sps->heartrate_x, sps->heartrate_y + 20, &xchange, &ychange, fmt("%d", heartrate), &font_asicc16x8_lib);
} else {
ssd1306_basic_draw_str(sps->heartrate_x + 4, sps->heartrate_y + 20, &xchange, &ychange, fmt("%d", heartrate), &font_asicc16x8_lib);
}
}
wave_drawer_draw_next_point(&sps->wave_drawer, wave_y);
if (update_screen) ssd1306_basic_gram_update();

16
app/src/one_conduction_main.c

@ -64,6 +64,7 @@ static void power_on() {
BoardBeepCtrl_load();
BoardEcgSensor_load();
BoardBattery_load();
BoardLight_load();
hwss_init();
sample_data_mgr_init();
@ -98,7 +99,6 @@ void ENTER_DEEP_SLEEP() {
NVIC_SystemReset();
}
/*******************************************************************************
* *
*******************************************************************************/
@ -106,9 +106,7 @@ void ENTER_DEEP_SLEEP() {
* @brief
*/
static void state_machine__change_to_charging_state() { //
if (ds_now_state() == kdevice_state_home) {
// DO Nothing
} else if (ds_now_state() == kdevice_state_standby) {
if (ds_now_state() == kdevice_state_standby) {
power_on();
} else {
ZASSERT(false);
@ -149,7 +147,10 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) {
if (!p_event_data) return;
app_event_t* p_event = (app_event_t*)p_event_data;
if (ds_now_state() != kdevice_state_standby) {
if (ds_now_state() != kdevice_state_standby && //
ds_now_state() != kdevice_state_charging && //
ds_now_state() != kdevice_state_poweron //
) {
if (zdatachannel_is_connected()) {
BoardLight_setGreenLightEffect(kLightEffect_slowFlash);
} else {
@ -242,6 +243,11 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) {
ZLOGI("auto sleep because ble unconnected");
state_machine__change_to_standby_state();
}
else if (BoardBattery_get_charging_state()) {
// BoardLight_setGreenLightEffect(kLightEffect_close);
state_machine__change_to_standby_state();
}
// ZLOGI("bt:%d plod:%d has_disc:%d state:%d", zdatachannel_is_connected(), BoardEcgSensor_plod_get_connected_state_after_filter(), plod_state_has_disconnected_ms(), ds_cur_state_haspassed_ms());
}

Loading…
Cancel
Save