Added button handler
This commit is contained in:
@@ -15,17 +15,15 @@
|
||||
|
||||
static int ON_BOARD_LED = 13; /* sonoff basic LED pin */
|
||||
|
||||
static LEDStatus currentStatus = LED_OFF;
|
||||
static enum LEDStatus currentStatus = LED_OFF;
|
||||
static int numTicksLedHasThisState = 0;
|
||||
|
||||
void set_led_status(LEDStatus newStatus) {
|
||||
void set_led_status(enum LEDStatus newStatus) {
|
||||
numTicksLedHasThisState = 0;
|
||||
currentStatus = newStatus;
|
||||
LOG(LL_DEBUG, ("set_led_status to %d", newStatus));
|
||||
LOG(LL_INFO, ("set_led_status to %d", newStatus));
|
||||
}
|
||||
|
||||
static uint8_t led_timer_ticks = 0; /* for led blinker use */
|
||||
|
||||
static void blink_on_board_led_cb(void *arg) {
|
||||
switch (currentStatus) {
|
||||
case LED_OFF:
|
||||
@@ -35,7 +33,7 @@ static void blink_on_board_led_cb(void *arg) {
|
||||
mgos_gpio_write(ON_BOARD_LED, 0); // on
|
||||
break;
|
||||
case LED_BLINK_SLOW:
|
||||
++numTicksLedHasThisState = 0;
|
||||
++numTicksLedHasThisState;
|
||||
if (numTicksLedHasThisState >= 4) {
|
||||
numTicksLedHasThisState = 0;
|
||||
mgos_gpio_toggle(ON_BOARD_LED);
|
||||
@@ -55,5 +53,5 @@ static void blink_on_board_led_cb(void *arg) {
|
||||
void init_led_handler() {
|
||||
mgos_gpio_set_mode(ON_BOARD_LED, MGOS_GPIO_MODE_OUTPUT);
|
||||
mgos_set_timer(250, MGOS_TIMER_REPEAT, blink_on_board_led_cb, NULL);
|
||||
LOG(LL_DEBUG, ("LED handler initialized"));
|
||||
LOG(LL_INFO, ("LED handler initialized"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user