From 12d85694f214183360b46c0c1f000d6af71f534e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 2 Jul 2024 13:18:28 +0800 Subject: [PATCH] update --- app/src/acid_dispenser_ble_slave_main.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/acid_dispenser_ble_slave_main.c b/app/src/acid_dispenser_ble_slave_main.c index a20aa88..0aeaff9 100644 --- a/app/src/acid_dispenser_ble_slave_main.c +++ b/app/src/acid_dispenser_ble_slave_main.c @@ -53,12 +53,13 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size); ***********************************************************************************************************************/ void on_zble_event(zble_event_t* event) { static app_event_t appevent; + m_last_usr_operation_time = znordic_getpower_on_ms(); if (event->eventType == kzble_event_connected) { appevent.eventType = kappevent_ble_connected; - on_zapp_ebus_event(&appevent, sizeof(app_event_t)); + zapp_ebus_push_event(&appevent); } else if (event->eventType == kzble_event_disconnected) { appevent.eventType = kappevent_ble_disconnected; - on_zapp_ebus_event(&appevent, sizeof(app_event_t)); + zapp_ebus_push_event(&appevent); } } /*********************************************************************************************************************** @@ -148,7 +149,7 @@ static void update_light_state() { } else if (g_hand_acid_mode == khand_acid_m_continuous_mode) { nrf_gpio_set_rgb(0, 1, 0); // 手动模式 } else if (g_hand_acid_mode == khand_acid_m_unset_mode) { - nrf_gpio_set_rgb(0, 1, 1); // 状态未同步 + nrf_gpio_set_rgb(1, 1, 1); // 状态未同步 } } else { nrf_gpio_set_rgb(1, 0, 0); @@ -161,7 +162,7 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size) { app_event_t* p_event = (app_event_t*)p_event_data; app_event_type_t event = p_event->eventType; - ZLOGI("event:%d add_acid_key:%d reverse_key:%d", p_event->eventType, nrf_gpio_pin_read(ADD_ACID_KEY), nrf_gpio_pin_read(REVERSE_KEY)); + // ZLOGI("event:%d add_acid_key:%d reverse_key:%d", p_event->eventType, nrf_gpio_pin_read(ADD_ACID_KEY), nrf_gpio_pin_read(REVERSE_KEY)); if (zapp_state_machine_now_state() == kstate_standby) { if (event == kappevent_state_machine_state_enter) { @@ -175,6 +176,7 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size) { ZLOGI("ble connected"); g_connected = true; update_light_state(); + zapp_state_machine_change_state(kstate_working_state); break; case kappevent_ble_disconnected: ZLOGI("ble disconnected"); @@ -234,9 +236,16 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size) { } if (g_hand_pump_working_state != khand_acid_pump_is_working) { - if (znordic_haspassed_ms(m_last_usr_operation_time) > (60 * 1000)) { - ZLOGI("no operation over 60s, enter standby"); - zapp_state_machine_change_state(kstate_standby); + if (g_connected) { + if (znordic_haspassed_ms(m_last_usr_operation_time) > (5 * 60 * 1000)) { + ZLOGI("no operation over 5min, enter standby"); + zapp_state_machine_change_state(kstate_standby); + } + } else { + if (znordic_haspassed_ms(m_last_usr_operation_time) > (5 * 1000)) { + ZLOGI("no operation over 5s, enter standby"); + zapp_state_machine_change_state(kstate_standby); + } } } } @@ -334,6 +343,7 @@ static void board_init() { nrf_gpio_cfg_output(LEDG); nrf_gpio_cfg_output(LEDB); nrf_gpio_cfg_output(NRF_DBG_LED1); + nrf_gpio_pin_write(NRF_DBG_LED1, 1); } void acid_dispenser_ble_slave_main() {