From: penglei <1624952103@qq.com> Date: Thu, 2 Jan 2025 10:26:03 +0000 (+0800) Subject: u8增加第二个功能键 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=45ebe59a84d8bff557dabed7db8b3479e12fa840;p=mirrors%2FFD230.git u8增加第二个功能键 --- diff --git a/code/sdk/application/brandy/brandy_standard/input_app.c b/code/sdk/application/brandy/brandy_standard/input_app.c index b5dab3a04..59acf581d 100644 --- a/code/sdk/application/brandy/brandy_standard/input_app.c +++ b/code/sdk/application/brandy/brandy_standard/input_app.c @@ -123,6 +123,11 @@ uint32_t g_button_press_time = BUTTON_PRESS_TIME_1S; button_map_t g_brandy_button_pin_map[BUTTON_PIN_MAP_MAX] = { { PIN_NONE, BUTTON_PWR }, { S_AGPIO_R10, BUTTON_1 }, +#ifdef BOARD_U8 + { S_AGPIO_R9, BUTTON_2 }, +#else + { PIN_NONE, BUTTON_2 }, +#endif { PIN_NONE, BUTTON_2 }, { PIN_NONE, BUTTON_3 }, { PIN_NONE, BUTTON_4 }, @@ -186,8 +191,10 @@ void button_report_event_to_gui(button_id_t id, uint16_t state) data.type = INDEV_TYPE_KEY; if (id == BUTTON_PWR) { data.keyId = INDEV_KEY_POWER; - } else { + } else if (id == BUTTON_1){ data.keyId = INDEV_KEY_FUNC; + } else if (id == BUTTON_2) { + data.keyId = INDEV_KEY_FUNC2; } data.state = state; // 2:longpress 1:press 0:release g_button_event_cb(&data); @@ -220,6 +227,13 @@ void button_report_event(button_id_t id, event_button_t event) break; case BUTTON1_CLICKUP: button_report_event_to_gui(id, 0); // 0:release +#ifdef BOARD_U8 + case BUTTON2_PRESS: + button_report_event_to_gui(id, 1); // 1:press + break; + case BUTTON2_CLICKUP: + button_report_event_to_gui(id, 0); // 0:release +#endif default: break; } @@ -293,7 +307,13 @@ static event_button_t button_event_get(button_id_t id, button_report_state_t sta if (id == BUTTON_1) { event = BUTTON1_START; } +#ifdef BOARD_U8 + if(id == BUTTON_2) + { + event = BUTTON2_START; + } +#endif if ((state == BUTTON_PRESS) || (state == BUTTON_CLICK) || (state == BUTTON_DOUBLE_CLICK)|| diff --git a/code/sdk/application/brandy/brandy_standard/input_app.h b/code/sdk/application/brandy/brandy_standard/input_app.h index 0ddd8a28f..0c8b1a739 100644 --- a/code/sdk/application/brandy/brandy_standard/input_app.h +++ b/code/sdk/application/brandy/brandy_standard/input_app.h @@ -110,6 +110,32 @@ typedef enum { BUTTON1_LONGPRESS_9S_OVER, BUTTON1_INVALID, +#ifdef BOARD_U8 + BUTTON2_START, + BUTTON2_PRESS, + BUTTON2_CLICKUP, + BUTTON2_CLICKUP_2, + BUTTON2_LONGPRESS_1S, + BUTTON2_LONGPRESS_2S, + BUTTON2_LONGPRESS_3S, + BUTTON2_LONGPRESS_4S, + BUTTON2_LONGPRESS_5S, + BUTTON2_LONGPRESS_6S, + BUTTON2_LONGPRESS_7S, + BUTTON2_LONGPRESS_8S, + BUTTON2_LONGPRESS_9S, + BUTTON2_LONGPRESS_1S_OVER, + BUTTON2_LONGPRESS_2S_OVER, + BUTTON2_LONGPRESS_3S_OVER, + BUTTON2_LONGPRESS_4S_OVER, + BUTTON2_LONGPRESS_5S_OVER, + BUTTON2_LONGPRESS_6S_OVER, + BUTTON2_LONGPRESS_7S_OVER, + BUTTON2_LONGPRESS_8S_OVER, + BUTTON2_LONGPRESS_9S_OVER, + BUTTON2_INVALID, +#endif + BUTTON_BUTT } event_button_t; diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp index 21379fc71..2ad8f7ae3 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp @@ -1,8 +1,8 @@ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-18 14:55:27 - * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-12-06 17:26:44 + * @LastEditors: penglei 1624952103@qq.com + * @LastEditTime: 2025-01-02 16:17:38 * @FilePath: /FD230/code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp */ @@ -275,6 +275,16 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register FuncKey Press Event error, ret = %d", ret); return false; } + +#ifdef BOARD_U8 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_button_register_event_cb(HandFuncKeyOnPress, BUTTON2_PRESS);"); + ret = uapi_button_register_event_cb(HandFuncKeyOnPress, BUTTON2_PRESS); + if (ret != ERRCODE_SUCC) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register FuncKey Press Event error, ret = %d", ret); + return false; + } +#endif return true; } diff --git a/code/sdk/drivers/boards/brandy_evb/board_config/board_u8.h b/code/sdk/drivers/boards/brandy_evb/board_config/board_u8.h index 45687c18e..24e558ae9 100644 --- a/code/sdk/drivers/boards/brandy_evb/board_config/board_u8.h +++ b/code/sdk/drivers/boards/brandy_evb/board_config/board_u8.h @@ -174,9 +174,9 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = { #endif { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L11 G_INT1 - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L12 i2c data HX3507_SDIO + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L12 i2c data HX3507_SDIO #ifdef ROTARYENCODER_U8 - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L13 i2c CLK HX3507_SCLK + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L13 i2c CLK HX3507_SCLK #else { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L13 i2c CLK HX3507_SCLK #endif @@ -232,9 +232,9 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = { #ifdef BOARD_U8 { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_R9 u8为key3 #else - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R9 BAT_CHARGE_OFF 关掉充电 温度高的时候 + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_AGPIO_R9 BAT_CHARGE_OFF 关掉充电 温度高的时候 #endif - { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_R10 Key2 ///////////////////HAL_PIO_IE_ENBALE input enable + { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_R10 Key2 ///////////////////HAL_PIO_IE_ENBALE input enable #if CORE == APPS { HAL_PIO_FUNC_INVALID, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // ULP_GPIO0 mode not config @@ -285,10 +285,6 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { // S_AGPIO_L17 HX3507_INT // { S_AGPIO_L17, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_L12 SDIO_BT - { S_AGPIO_L12, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_L13 SCLK_BT - { S_AGPIO_L13, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, // S_AGPIO_L26 心率复位 PPG reset { S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, @@ -331,8 +327,11 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { #ifdef PPG_VC9202 { S_AGPIO_R6, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, ppg_int_callback}, - { S_AGPIO_L12, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_HIGH, crown_int_callback}, - { S_AGPIO_L13, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_HIGH, crown_int_callback}, +#endif + +#ifdef ROTARYENCODER_U8 + { S_AGPIO_L12, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_FALLING_EDGE, crown_int_callback}, + { S_AGPIO_L13, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_FALLING_EDGE, crown_int_callback}, #endif }; diff --git a/code/sdk/middleware/services/gui/hal/input/include/input_manager.h b/code/sdk/middleware/services/gui/hal/input/include/input_manager.h index 1edb1ee22..a5e3ae4e0 100644 --- a/code/sdk/middleware/services/gui/hal/input/include/input_manager.h +++ b/code/sdk/middleware/services/gui/hal/input/include/input_manager.h @@ -43,6 +43,7 @@ typedef enum { typedef enum { INDEV_KEY_POWER, INDEV_KEY_FUNC, + INDEV_KEY_FUNC2, INDEV_KEY_UNKNOWN, } InputDevKeyId; diff --git a/code/sdk/zhihui/services/battery/service/battery_driver.cpp b/code/sdk/zhihui/services/battery/service/battery_driver.cpp index 969a8d3be..7b2766992 100644 --- a/code/sdk/zhihui/services/battery/service/battery_driver.cpp +++ b/code/sdk/zhihui/services/battery/service/battery_driver.cpp @@ -750,6 +750,7 @@ bool batteryservice_get_voltage_by_channel(float *voltage, uint8_t channel) #define GPIO_PIN_CHARGE_STAT S_AGPIO_L29 void disable_charge(void) { +#ifdef BOARD_FD230 // PRINT("disable_charge\r\n"); uapi_pin_set_mode(GPIO_PIN_ENABLE_CHARGE, (pin_mode_t)HAL_PIO_FUNC_GPIO); uapi_gpio_set_dir(GPIO_PIN_ENABLE_CHARGE, GPIO_DIRECTION_OUTPUT); @@ -757,10 +758,12 @@ void disable_charge(void) uapi_gpio_set_val(GPIO_PIN_ENABLE_CHARGE, GPIO_LEVEL_HIGH); uint8_t level = uapi_gpio_get_output_val(GPIO_PIN_ENABLE_CHARGE); // PRINT("GPIO_PIN_ENABLE_CHARGE uapi_gpio_get_output_val %d\r\n",level); +#endif } void enable_charge(void) { +#ifdef BOARD_FD230 // PRINT("enable_charge\r\n"); uapi_pin_set_mode(GPIO_PIN_ENABLE_CHARGE, (pin_mode_t)HAL_PIO_FUNC_GPIO); uapi_gpio_set_dir(GPIO_PIN_ENABLE_CHARGE, GPIO_DIRECTION_OUTPUT); @@ -768,12 +771,13 @@ void enable_charge(void) uapi_gpio_set_val(GPIO_PIN_ENABLE_CHARGE, GPIO_LEVEL_LOW); uint8_t level = uapi_gpio_get_output_val(GPIO_PIN_ENABLE_CHARGE); // PRINT("GPIO_PIN_ENABLE_CHARGE uapi_gpio_get_output_val %d\r\n",level); - +#endif } void enable_02c(void) { +#ifdef BOARD_FD230 // PRINT("enable_charge_02c\r\n"); uapi_pin_set_mode(GPIO_PIN_ENABLE_CHARGE_0_2C, (pin_mode_t)HAL_PIO_FUNC_GPIO); uapi_gpio_set_dir(GPIO_PIN_ENABLE_CHARGE_0_2C, GPIO_DIRECTION_OUTPUT); @@ -781,6 +785,7 @@ void enable_02c(void) uapi_gpio_set_val(GPIO_PIN_ENABLE_CHARGE_0_2C, GPIO_LEVEL_LOW); //拉低低电流充电 uint8_t level = uapi_gpio_get_output_val(GPIO_PIN_ENABLE_CHARGE_0_2C); // PRINT("GPIO_PIN_ENABLE_CHARGE_0_2C uapi_gpio_get_output_val %d\r\n",level); +#endif } uint8_t get_02c_value(void) @@ -792,6 +797,7 @@ uint8_t get_02c_value(void) } void disable_02c(void) { +#ifdef BOARD_FD230 // PRINT("disable_charge_02c\r\n"); uapi_pin_set_mode(GPIO_PIN_ENABLE_CHARGE_0_2C, (pin_mode_t)HAL_PIO_FUNC_GPIO); uapi_gpio_set_dir(GPIO_PIN_ENABLE_CHARGE_0_2C, GPIO_DIRECTION_OUTPUT); @@ -799,7 +805,7 @@ void disable_02c(void) uapi_gpio_set_val(GPIO_PIN_ENABLE_CHARGE_0_2C, GPIO_LEVEL_HIGH); //拉高正常电流充电 uint8_t level = uapi_gpio_get_output_val(GPIO_PIN_ENABLE_CHARGE_0_2C); // PRINT("GPIO_PIN_ENABLE_CHARGE_0_2C uapi_gpio_get_output_val %d\r\n",level); - +#endif }