u8增加第二个功能键 1591/1
authorpenglei <1624952103@qq.com>
Thu, 2 Jan 2025 10:26:03 +0000 (18:26 +0800)
committerpenglei <1624952103@qq.com>
Thu, 2 Jan 2025 10:26:03 +0000 (18:26 +0800)
code/sdk/application/brandy/brandy_standard/input_app.c
code/sdk/application/brandy/brandy_standard/input_app.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp
code/sdk/drivers/boards/brandy_evb/board_config/board_u8.h
code/sdk/middleware/services/gui/hal/input/include/input_manager.h
code/sdk/zhihui/services/battery/service/battery_driver.cpp

index b5dab3a..59acf58 100644 (file)
@@ -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)|| 
index 0ddd8a2..0c8b1a7 100644 (file)
@@ -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;
 
index 21379fc..2ad8f7a 100644 (file)
@@ -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;
     }
 
index 45687c1..24e558a 100644 (file)
@@ -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
 
 };
index 1edb1ee..a5e3ae4 100644 (file)
@@ -43,6 +43,7 @@ typedef enum {
 typedef enum {
     INDEV_KEY_POWER,
     INDEV_KEY_FUNC,
+    INDEV_KEY_FUNC2,
     INDEV_KEY_UNKNOWN,
 } InputDevKeyId;
 
index 969a8d3..7b27669 100644 (file)
@@ -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
 }