diff --git a/multi_button.c b/multi_button.c index 878885d..86b3459 100644 --- a/multi_button.c +++ b/multi_button.c @@ -18,7 +18,7 @@ static struct Button* head_handle = NULL; * @param button_id: the button id. * @retval None */ -void button_init(struct Button* handle, uint8_t(*pin_level)(), uint8_t active_level, uint8_t button_id) +void button_init(struct Button* handle, uint8_t(*pin_level)(uint8_t button_id), uint8_t active_level, uint8_t button_id) { memset(handle, 0, sizeof(struct Button)); handle->event = (uint8_t)NONE_PRESS; diff --git a/multi_button.h b/multi_button.h index b066ade..8e11c1a 100644 --- a/multi_button.h +++ b/multi_button.h @@ -19,36 +19,36 @@ typedef void (*BtnCallback)(void*); typedef enum { - PRESS_DOWN = 0, - PRESS_UP, - PRESS_REPEAT, - SINGLE_CLICK, - DOUBLE_CLICK, - LONG_PRESS_START, - LONG_PRESS_HOLD, - number_of_event, - NONE_PRESS +PRESS_DOWN = 0, +PRESS_UP, +PRESS_REPEAT, +SINGLE_CLICK, +DOUBLE_CLICK, +LONG_PRESS_START, +LONG_PRESS_HOLD, +number_of_event, +NONE_PRESS }PressEvent; typedef struct Button { - uint16_t ticks; - uint8_t repeat : 4; - uint8_t event : 4; - uint8_t state : 3; - uint8_t debounce_cnt : 3; - uint8_t active_level : 1; - uint8_t button_level : 1; - uint8_t button_id; - uint8_t (*hal_button_Level)(uint8_t button_id_); - BtnCallback cb[number_of_event]; - struct Button* next; +uint16_t ticks; +uint8_t repeat : 4; +uint8_t event : 4; +uint8_t state : 3; +uint8_t debounce_cnt : 3; +uint8_t active_level : 1; +uint8_t button_level : 1; +uint8_t button_id; +uint8_t (*hal_button_Level)(uint8_t button_id_); +BtnCallback cb[number_of_event]; +struct Button* next; }Button; #ifdef __cplusplus extern "C" { #endif -void button_init(struct Button* handle, uint8_t(*pin_level)(), uint8_t active_level, uint8_t button_id); +void button_init(struct Button* handle, uint8_t(*pin_level)(uint8_t button_id), uint8_t active_level, uint8_t button_id); void button_attach(struct Button* handle, PressEvent event, BtnCallback cb); PressEvent get_button_event(struct Button* handle); int button_start(struct Button* handle);