Merge pull request #38 from Advanced-lj/master

修改拼写错误 && 格式化代码
master
0x1abin 2 years ago committed by GitHub
commit bcdc79ee1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -118,7 +118,7 @@ int main()
button_attach(&btn1, SINGLE_CLICK, BTN1_SINGLE_Click_Handler);
button_attach(&btn1, DOUBLE_CLICK, BTN1_DOUBLE_Click_Handler);
button_attach(&btn1, LONG_PRESS_START, BTN1_LONG_PRESS_START_Handler);
button_attach(&btn2, LONG_PRESS_HOLD, BTN1_LONG_PRESS_HOLD_Handler);
button_attach(&btn1, LONG_PRESS_HOLD, BTN1_LONG_PRESS_HOLD_Handler);
button_start(&btn1);
//make the timer invoking the button_ticks() interval 5ms.
@ -129,5 +129,3 @@ int main()
{}
}
```

@ -18,7 +18,7 @@ uint8_t read_button_GPIO(uint8_t button_id)
int main()
{
static uint8_t btn1_event_val;
static PressEvent btn1_event_val;
button_init(&btn1, read_button_GPIO, 0, btn1_id);
button_start(&btn1);

@ -10,10 +10,12 @@
//button handle list head.
static struct Button* head_handle = NULL;
static void button_handler(struct Button* handle);
/**
* @brief Initializes the button struct handle.
* @param handle: the button handle strcut.
* @param pin_level: read the HAL GPIO of the connet button level.
* @param handle: the button handle struct.
* @param pin_level: read the HAL GPIO of the connected button level.
* @param active_level: pressed GPIO level.
* @param button_id: the button id.
* @retval None
@ -30,7 +32,7 @@ void button_init(struct Button* handle, uint8_t(*pin_level)(uint8_t), uint8_t ac
/**
* @brief Attach the button event callback function.
* @param handle: the button handle strcut.
* @param handle: the button handle struct.
* @param event: trigger event type.
* @param cb: callback function.
* @retval None
@ -42,7 +44,7 @@ void button_attach(struct Button* handle, PressEvent event, BtnCallback cb)
/**
* @brief Inquire the button event happen.
* @param handle: the button handle strcut.
* @param handle: the button handle struct.
* @retval button event.
*/
PressEvent get_button_event(struct Button* handle)
@ -52,10 +54,10 @@ PressEvent get_button_event(struct Button* handle)
/**
* @brief Button driver core function, driver state machine.
* @param handle: the button handle strcut.
* @param handle: the button handle struct.
* @retval None
*/
void button_handler(struct Button* handle)
static void button_handler(struct Button* handle)
{
uint8_t read_gpio_level = handle->hal_button_Level(handle->button_id);
@ -69,7 +71,7 @@ void button_handler(struct Button* handle)
handle->button_level = read_gpio_level;
handle->debounce_cnt = 0;
}
} else { //leved not change ,counter reset.
} else { //level not change ,counter reset.
handle->debounce_cnt = 0;
}
@ -93,7 +95,6 @@ void button_handler(struct Button* handle)
EVENT_CB(PRESS_UP);
handle->ticks = 0;
handle->state = 2;
} else if(handle->ticks > LONG_TICKS) {
handle->event = (uint8_t)LONG_PRESS_START;
EVENT_CB(LONG_PRESS_START);
@ -131,7 +132,7 @@ void button_handler(struct Button* handle)
} else {
handle->state = 0;
}
}else if(handle->ticks > SHORT_TICKS){ // long press up
} else if(handle->ticks > SHORT_TICKS) { // long press up
handle->state = 0;
}
break;
@ -141,22 +142,21 @@ void button_handler(struct Button* handle)
//continue hold trigger
handle->event = (uint8_t)LONG_PRESS_HOLD;
EVENT_CB(LONG_PRESS_HOLD);
} else { //releasd
handle->event = (uint8_t)PRESS_UP;
EVENT_CB(PRESS_UP);
handle->state = 0; //reset
}
break;
default:
handle->state = 0; //reset
break;
default:
handle->state = 0; //reset
break;
}
}
/**
* @brief Start the button work, add the handle into work list.
* @param handle: target handle strcut.
* @param handle: target handle struct.
* @retval 0: succeed. -1: already exist.
*/
int button_start(struct Button* handle)
@ -173,7 +173,7 @@ int button_start(struct Button* handle)
/**
* @brief Stop the button work, remove the handle off work list.
* @param handle: target handle strcut.
* @param handle: target handle struct.
* @retval None
*/
void button_stop(struct Button* handle)
@ -181,12 +181,13 @@ void button_stop(struct Button* handle)
struct Button** curr;
for(curr = &head_handle; *curr; ) {
struct Button* entry = *curr;
if (entry == handle) {
if(entry == handle) {
*curr = entry->next;
// free(entry);
return;//glacier add 2021-8-18
} else
} else {
curr = &entry->next;
}
}
}
@ -195,7 +196,7 @@ void button_stop(struct Button* handle)
* @param None.
* @retval None
*/
void button_ticks()
void button_ticks(void)
{
struct Button* target;
for(target=head_handle; target; target=target->next) {

@ -11,7 +11,7 @@
//According to your need to modify the constants.
#define TICKS_INTERVAL 5 //ms
#define DEBOUNCE_TICKS 3 //MAX 8
#define DEBOUNCE_TICKS 3 //MAX 7 (0 ~ 7)
#define SHORT_TICKS (300 /TICKS_INTERVAL)
#define LONG_TICKS (1000 /TICKS_INTERVAL)

Loading…
Cancel
Save