diff --git a/.vscode/settings.json b/.vscode/settings.json index 2cb6734..9f543c9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -234,7 +234,8 @@ "zapp_core.h": "c", "hand_acid_mode.h": "c", "zapp_gstate.h": "c", - "errorcode.h": "c" + "errorcode.h": "c", + "keyid.h": "c" }, "files.encoding": "gbk" } \ No newline at end of file diff --git a/app/src/acid_dispenser_ble_slave_main.c b/app/src/acid_dispenser_ble_slave_main.c index b38ba55..fdcdd18 100644 --- a/app/src/acid_dispenser_ble_slave_main.c +++ b/app/src/acid_dispenser_ble_slave_main.c @@ -20,10 +20,10 @@ #include "app_service/light_ctrl.h" #include "app_service/zkey_driver.h" // others +#include "app_basic_service/basic/keyid.h" #include "ble_data_processer_utils.h" #include "nrf_fstorage.h" #include "nrf_fstorage_sd.h" - /*********************************************************************************************************************** * GLOBAL * ***********************************************************************************************************************/ @@ -58,7 +58,7 @@ void one_conduction_process_rx_packet(uint8_t* rx, int len) { return; } ZLOGI("rx cmd:%d index:%d paralen:%d", cmd, rxheader->frameIndex, len - BLE_THROUGH_PACKET_BASE_SIZE()); - NRF_LOG_HEXDUMP_INFO(rx, len); + // NRF_LOG_HEXDUMP_INFO(rx, len); if (kzble_cmd_reset == cmd) { NVIC_SystemReset(); @@ -156,22 +156,31 @@ void process_online_workstate(app_event_t* event, uint16_t event_size) { // } if (zappcore_cur_state_haspassed_ms() > 3000 && time_since_usr_last_operation_ms() > 3000) { - zappcore_change_state(kstate_online_standy); + if (!zapp_get_gstate()->work_state) zappcore_change_state(kstate_online_standy); return; } - switch (eventType) { - case kappevent_key_pressed: - ZLOGI("send key pressed"); - break; - case kappevent_key_pressed_double: - ZLOGI("send key pressed double"); - break; - case kappevent_key_long_pressed: - ZLOGI("send key long pressed"); - break; - default: - break; + // hand_acid_remoter_kevent_add_liquid = 0, // + // hand_acid_remoter_kevent_change_next_mode = 1, // + // hand_acid_remoter_kevent_reflux = 2, // + // hand_acid_remoter_kevent_preFilling = 3, // + if (eventType == kappevent_key_pressed || eventType == kappevent_key_pressed_double || eventType == kappevent_key_long_pressed) { + int keyid = 0; + keyid = event->val.keyid; + if (keyid == keyid_addliquid) { + if (eventType == kappevent_key_pressed) { + send_report_key_event(hand_acid_remoter_kevent_add_liquid); + } else if (eventType == kappevent_key_long_pressed) { + send_report_key_event(hand_acid_remoter_kevent_change_next_mode); + } + } else if (keyid == keyid_reflux) { + if (eventType == kappevent_key_pressed) { + send_report_key_event(hand_acid_remoter_kevent_reflux); + } else if (eventType == kappevent_key_pressed_double) { + send_report_key_event(hand_acid_remoter_kevent_preFilling); + } + } + return; } } void process_online_standy(app_event_t* event, uint16_t event_size) { // @@ -205,6 +214,25 @@ void process_online_standy(app_event_t* event, uint16_t event_size) { // default: break; } + + if (eventType == kappevent_key_pressed || eventType == kappevent_key_pressed_double || eventType == kappevent_key_long_pressed) { + int keyid = 0; + keyid = event->val.keyid; + if (keyid == keyid_addliquid) { + if (eventType == kappevent_key_pressed) { + send_report_key_event(hand_acid_remoter_kevent_add_liquid); + } else if (eventType == kappevent_key_long_pressed) { + send_report_key_event(hand_acid_remoter_kevent_change_next_mode); + } + } else if (keyid == keyid_reflux) { + if (eventType == kappevent_key_pressed) { + send_report_key_event(hand_acid_remoter_kevent_reflux); + } else if (eventType == kappevent_key_pressed_double) { + send_report_key_event(hand_acid_remoter_kevent_preFilling); + } + } + return; + } } void pre_process_state(app_event_t* event, uint16_t event_size) { @@ -279,6 +307,7 @@ void acid_dispenser_ble_slave_main() { ZLOG_FLUSH(); board_init(); + zble_proto_utils_init(kzble_slave); zappcore_reg_event_listener(on_zapp_ebus_event); zble_module_reglistener(on_zble_event); diff --git a/app/src/app_service/light_ctrl.c b/app/src/app_service/light_ctrl.c index e23457d..b3366cf 100644 --- a/app/src/app_service/light_ctrl.c +++ b/app/src/app_service/light_ctrl.c @@ -45,7 +45,7 @@ static void light_tmr_cb(void* p_context) { if (!zapp_get_gstate()->work_state) { if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_jog_mode) { nrf_gpio_set_rgb(0, 0, 1); - } else if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_jog_mode) { + } else if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_continuous_mode) { nrf_gpio_set_rgb(0, 1, 0); } else { nrf_gpio_set_rgb(0, 1, 1); @@ -53,7 +53,7 @@ static void light_tmr_cb(void* p_context) { } else { if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_jog_mode) { nrf_gpio_set_rgb(0, 0, laststate); - } else if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_jog_mode) { + } else if (zapp_get_gstate()->hand_acid_mode == khand_acid_m_continuous_mode) { nrf_gpio_set_rgb(0, laststate, 0); } else { nrf_gpio_set_rgb(0, laststate, laststate); diff --git a/app/src/ble_data_processer_utils.c b/app/src/ble_data_processer_utils.c index 3a1b343..77796e9 100644 --- a/app/src/ble_data_processer_utils.c +++ b/app/src/ble_data_processer_utils.c @@ -4,20 +4,22 @@ static uint8_t _bletxbuf[BLE_MSG_BUF_SIZE]; static uint8_t blereportbuf[BLE_MSG_BUF_SIZE]; -static zble_proto_packet_t* txpacket = (zble_proto_packet_t*)_bletxbuf; -static int index; +static zble_proto_packet_t* txpacket = (zble_proto_packet_t*)_bletxbuf; +static zble_proto_packet_t* reportpacket = (zble_proto_packet_t*)_bletxbuf; + +static int index; void bletxbuf_clear() { memset(_bletxbuf, 0, BLE_MSG_BUF_SIZE); } void send_error_receipt(zble_proto_packet_t* rxpacket, int32_t errorcode) { bletxbuf_clear(); zble_proto_utils_create_error_receipt(txpacket, rxpacket, errorcode); - zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t) txpacket->packetlen); + zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t)txpacket->packetlen); } void send_success_receipt(zble_proto_packet_t* rxpacket, uint8_t* data, int32_t len) { bletxbuf_clear(); zble_proto_utils_create_receipt(txpacket, rxpacket, data, len); - zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t) txpacket->packetlen); + zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t)txpacket->packetlen); } void send_read_version_receipt(zble_proto_packet_t* rxpacket, int32_t firmware_version, int32_t blestack_version, int32_t bootloader_version, @@ -31,18 +33,21 @@ void send_read_version_receipt(zble_proto_packet_t* rxpacket, int32_t firmware_v zble_proto_utils_create_receipt(txpacket, rxpacket, (uint8_t*)&version, sizeof(version)); zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t)txpacket->packetlen); } +/*********************************************************************************************************************** + * REPORT * + ***********************************************************************************************************************/ void send_report_heart(uint8_t power, uint8_t reset_flag, uint8_t connected_flag) { bletxbuf_clear(); zble_heart_t heart; heart.connected_flag = connected_flag; heart.reset_flag = reset_flag; heart.power = power; - zble_proto_utils_create_report(txpacket, kzble_report_heart, index++, (uint8_t*)&heart, sizeof(heart)); - zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t)txpacket->packetlen); + zble_proto_utils_create_report(reportpacket, index++, kzble_report_heart, (uint8_t*)&heart, sizeof(heart)); + zdatachannel_data_send2((uint8_t*)reportpacket, (uint16_t)reportpacket->packetlen); } void send_report_key_event(hand_acid_remoter_key_event_t event) { bletxbuf_clear(); - int32_t keyevent; - zble_proto_utils_create_report(txpacket, 0, kzble_app_report_key_event, (uint8_t*)&keyevent, sizeof(keyevent)); - zdatachannel_data_send2((uint8_t*)txpacket, (uint16_t)txpacket->packetlen); + int32_t event32 = event; + zble_proto_utils_create_report(reportpacket, index++, kzble_app_report_key_event, (uint8_t*)&event32, sizeof(event32)); + zdatachannel_data_send2((uint8_t*)reportpacket, (uint16_t)reportpacket->packetlen); } diff --git a/app_protocols b/app_protocols index 1be600c..5f6308f 160000 --- a/app_protocols +++ b/app_protocols @@ -1 +1 @@ -Subproject commit 1be600cfcc00a33264e0a8344acfd22601372236 +Subproject commit 5f6308f9929809ffe5481b03d32488334f33c0e9