按键控制清空本地阀门信息操作

This commit is contained in:
小马_666 2025-05-29 10:07:15 +08:00
parent db936c1bb6
commit 23174359f8
2 changed files with 28 additions and 27 deletions

View File

@ -94,7 +94,7 @@ static void _CommonBtnEvtCb (void *arg)
// } // }
// button_cnt++; // button_cnt++;
} }
else if ((flex_button_event_read(&user_button[USER_BUTTON_1]) == FLEX_BTN_PRESS_LONG_HOLD)&&(flex_button_event_read(&user_button[USER_BUTTON_0]) == FLEX_BTN_PRESS_REPEAT_CLICK)) else if ((flex_button_event_read(&user_button[USER_BUTTON_1]) == FLEX_BTN_PRESS_LONG_HOLD)&&(flex_button_event_read(&user_button[USER_BUTTON_0]) == FLEX_BTN_PRESS_DOUBLE_CLICK))
{ {
LOG_I("本地清除阀门信息"); LOG_I("本地清除阀门信息");
rt_uint8_t mac_addr[6] = {0}; rt_uint8_t mac_addr[6] = {0};

View File

@ -46,24 +46,24 @@
#define FLEX_BTN_SCAN_FREQ_HZ 40 // How often flex_button_scan () is called #define FLEX_BTN_SCAN_FREQ_HZ 40 // How often flex_button_scan () is called
#define FLEX_MS_TO_SCAN_CNT(ms) (ms / (1000 / FLEX_BTN_SCAN_FREQ_HZ)) // #define FLEX_MS_TO_SCAN_CNT(ms) (ms / (1000 / FLEX_BTN_SCAN_FREQ_HZ)) //
/* Multiple clicks interval, default 300ms */ /* Multiple clicks interval, default 300ms */
#define MAX_MULTIPLE_CLICKS_INTERVAL (FLEX_MS_TO_SCAN_CNT(300)) #define MAX_MULTIPLE_CLICKS_INTERVAL (FLEX_MS_TO_SCAN_CNT(500))
typedef void (*flex_button_response_callback)(void *); typedef void (*flex_button_response_callback)(void *);
typedef enum typedef enum
{ {
FLEX_BTN_PRESS_DOWN = 0, FLEX_BTN_PRESS_DOWN = 0, // 按钮按下开始
FLEX_BTN_PRESS_CLICK, FLEX_BTN_PRESS_CLICK, // 单击事件(按下后释放)
FLEX_BTN_PRESS_DOUBLE_CLICK,// FLEX_BTN_PRESS_DOUBLE_CLICK, // 双击事件(两次快速单击)
FLEX_BTN_PRESS_REPEAT_CLICK, FLEX_BTN_PRESS_REPEAT_CLICK, // 连续点击事件(多次点击)
FLEX_BTN_PRESS_SHORT_START, FLEX_BTN_PRESS_SHORT_START, // 短按开始
FLEX_BTN_PRESS_SHORT_UP, FLEX_BTN_PRESS_SHORT_UP, // 短按结束(释放)
FLEX_BTN_PRESS_LONG_START, FLEX_BTN_PRESS_LONG_START, // 长按开始
FLEX_BTN_PRESS_LONG_UP, FLEX_BTN_PRESS_LONG_UP, // 长按结束(释放)
FLEX_BTN_PRESS_LONG_HOLD,// 长按 FLEX_BTN_PRESS_LONG_HOLD, // 持续长按事件
FLEX_BTN_PRESS_LONG_HOLD_UP, FLEX_BTN_PRESS_LONG_HOLD_UP, // 持续长按结束(释放)
FLEX_BTN_PRESS_MAX, FLEX_BTN_PRESS_MAX, // 事件总数,用于边界检查
FLEX_BTN_PRESS_NONE, FLEX_BTN_PRESS_NONE // 无事件
} flex_button_event_t; } flex_button_event_t;
/** /**
@ -151,7 +151,8 @@ typedef struct flex_button
} flex_button_t; } flex_button_t;
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C"
{
#endif #endif
int8_t flex_button_register(flex_button_t *button); int8_t flex_button_register(flex_button_t *button);