pull/28/merge
CloverGit 3 years ago committed by GitHub
commit 1af6222d1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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, BtnLevelCallback pin_level, 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;

@ -17,6 +17,7 @@
typedef void (*BtnCallback)(void *); typedef void (*BtnCallback)(void *);
typedef uint8_t (*BtnLevelCallback)(uint8_t);
typedef enum { typedef enum {
PRESS_DOWN = 0, PRESS_DOWN = 0,
@ -39,7 +40,7 @@ typedef struct Button {
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_); BtnLevelCallback hal_button_Level;
BtnCallback cb[number_of_event]; BtnCallback cb[number_of_event];
struct Button* next; struct Button* next;
}Button; }Button;
@ -48,7 +49,7 @@ typedef struct Button {
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, BtnLevelCallback pin_level, 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