From 9f19530c4d63a85b2fbfe9709474c1d146d41c4c Mon Sep 17 00:00:00 2001 From: tianjialong Date: Sat, 4 Mar 2023 18:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=89=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/LWIP.uvguix.29643 | 2 +- usersrc/usermain.c | 23 ++++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643 index c06995c..8b2f8cf 100644 --- a/MDK-ARM/LWIP.uvguix.29643 +++ b/MDK-ARM/LWIP.uvguix.29643 @@ -3743,7 +3743,7 @@ ..\usersrc\udpclient.c 5 68 - 97 + 100 1 0 diff --git a/usersrc/usermain.c b/usersrc/usermain.c index 780a2a8..f989356 100644 --- a/usersrc/usermain.c +++ b/usersrc/usermain.c @@ -17,17 +17,18 @@ #include "atcmd.h" #define KEY_SCAN_PERIOD 20 +#define CHEAR_ENCODER_1_KEY_NAME "Clear_Encoder_1_Key" +#define CHEAR_ENCODER_2_KEY_NAME "Clear_Encoder_2_Key" static uint16_t s_key_long_press_time_ms = 3000; -static inline bool clear_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_4); } +static inline bool clear_encoder_1_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_4); } +static inline bool clear_encoder_2_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3); } static void onkey(zkey_t *key, zkey_state_t key_state); static zkey_t s_keys[] = { - ZKEY_INIT("Clear_Key", clear_key_get_status), // - // ZKEY_INIT("Signal_INT1", port_get_gpio_int1), // - // ZKEY_INIT("Signal_INT2", port_get_gpio_int2), // - // ZKEY_INIT("Signal_INT3", port_get_gpio_int3), // + ZKEY_INIT(CHEAR_ENCODER_1_KEY_NAME, clear_encoder_1_key_get_status), // + ZKEY_INIT(CHEAR_ENCODER_2_KEY_NAME, clear_encoder_2_key_get_status), // }; static zkey_module_t s_key_module = ZMODULE_INIT(s_keys, onkey); @@ -46,8 +47,16 @@ static void onkey(zkey_t *key, zkey_state_t key_state) { if (key_state == zks_rising_edge) { - encoder_all_clear_counter(); - printf("clear encoder count\r\n"); + if (strcmp(key->name, CHEAR_ENCODER_1_KEY_NAME) == 0) + { + encoder_clear_counter(CAMERA_ENCODER); + printf("clear encoder 1 count\r\n"); + } + else if (strcmp(key->name, CHEAR_ENCODER_2_KEY_NAME) == 0) + { + encoder_clear_counter(DRIVEN_ENCODER_GEAR); + printf("clear encoder 2 count\r\n"); + } } if (key_state == zks_keep)