diff options
author | uvok | 2025-07-21 10:07:49 +0200 |
---|---|---|
committer | uvok | 2025-07-21 10:07:49 +0200 |
commit | 8befcb826878558c348e82d9d3c120ca19a5490c (patch) | |
tree | a7865bab460d3f5d3ceb400f1ba45b90e59d15fb /src/main.cpp | |
parent | ab8efec6002d4612b996e982c8fe17a527711991 (diff) |
Remove pin 0 poilling
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/main.cpp b/src/main.cpp index 52b3af8..2153324 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -50,26 +50,32 @@ void loop() { static uint32_t lastActivity; - uint16_t pressDuration = de::uvok::badge::gpio_poll(); - if (pressDuration < 64) + auto gpio_result = de::uvok::badge::gpio_poll(); + if (gpio_result.has_data) { + LOG_F("Pin %d for %u ms\n", gpio_result.pin_number, gpio_result.duration_ms); uint8_t newNum = UINT8_MAX; - if (pressDuration == NEXT_KEY) + switch (gpio_result.pin_number) + { + case NEXT_KEY: de::uvok::badge::display_next(); - if (pressDuration == PRV_KEY) + break; + case PRV_KEY: de::uvok::badge::display_prev(); - if (pressDuration == OK_KEY) + break; + case OK_KEY: newNum = de::uvok::badge::display_refresh(); + break; + case BOOT_KEY: + de::uvok::badge::ble_advertise(); + break; + } if (newNum != UINT8_MAX) { de::uvok::badge::ble_set_image(newNum); - lastActivity = millis(); } - } - else if (pressDuration > PRESS_TIME_BLE_ADV) - { - de::uvok::badge::ble_advertise(); + lastActivity = millis(); } |