fix incompatible function pointer type

pull/28/head
CloverGit 4 years ago
parent fde6c72c32
commit 9e7c988e68

@ -18,7 +18,7 @@ static struct Button* head_handle = NULL;
* @param button_id: the button id. * @param button_id: the button id.
* @retval None * @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)); memset(handle, 0, sizeof(struct Button));
handle->event = (uint8_t)NONE_PRESS; handle->event = (uint8_t)NONE_PRESS;

@ -19,36 +19,36 @@
typedef void (*BtnCallback)(void*); typedef void (*BtnCallback)(void*);
typedef enum { typedef enum {
PRESS_DOWN = 0, PRESS_DOWN = 0,
PRESS_UP, PRESS_UP,
PRESS_REPEAT, PRESS_REPEAT,
SINGLE_CLICK, SINGLE_CLICK,
DOUBLE_CLICK, DOUBLE_CLICK,
LONG_PRESS_START, LONG_PRESS_START,
LONG_PRESS_HOLD, LONG_PRESS_HOLD,
number_of_event, number_of_event,
NONE_PRESS NONE_PRESS
}PressEvent; }PressEvent;
typedef struct Button { typedef struct Button {
uint16_t ticks; uint16_t ticks;
uint8_t repeat : 4; uint8_t repeat : 4;
uint8_t event : 4; uint8_t event : 4;
uint8_t state : 3; uint8_t state : 3;
uint8_t debounce_cnt : 3; uint8_t debounce_cnt : 3;
uint8_t active_level : 1; uint8_t active_level : 1;
uint8_t button_level : 1; uint8_t button_level : 1;
uint8_t button_id; uint8_t button_id;
uint8_t (*hal_button_Level)(uint8_t button_id_); uint8_t (*hal_button_Level)(uint8_t button_id_);
BtnCallback cb[number_of_event]; BtnCallback cb[number_of_event];
struct Button* next; struct Button* next;
}Button; }Button;
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #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); void button_attach(struct Button* handle, PressEvent event, BtnCallback cb);
PressEvent get_button_event(struct Button* handle); PressEvent get_button_event(struct Button* handle);
int button_start(struct Button* handle); int button_start(struct Button* handle);

Loading…
Cancel
Save