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 },
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);
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;
}
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)||
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;
/*
* @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
*/
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;
}
#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
#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
// 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 },
#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
};
typedef enum {
INDEV_KEY_POWER,
INDEV_KEY_FUNC,
+ INDEV_KEY_FUNC2,
INDEV_KEY_UNKNOWN,
} InputDevKeyId;
#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);
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);
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);
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)
}
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);
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
}