summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/badge/gpio.h1
-rw-r--r--src/gpio.cpp5
-rw-r--r--src/main.cpp8
3 files changed, 8 insertions, 6 deletions
diff --git a/include/badge/gpio.h b/include/badge/gpio.h
index fb999a8..0a20d92 100644
--- a/include/badge/gpio.h
+++ b/include/badge/gpio.h
@@ -3,6 +3,7 @@
#include <stdint.h>
#define BOOT_KEY 0
+#define HOME_KEY 2
#define NEXT_KEY 4
#define OK_KEY 5
#define PRV_KEY 6
diff --git a/src/gpio.cpp b/src/gpio.cpp
index 7f473ec..b7b03f1 100644
--- a/src/gpio.cpp
+++ b/src/gpio.cpp
@@ -8,7 +8,6 @@
#if UVOK_EPAP_BOARD == BOARD_ESP32_CROWPANEL
// Elecrow
#define EXIT_KEY 1
-#define HOME_KEY 2
#endif
#define GPIO_STACK 2048
@@ -60,7 +59,7 @@ void de::uvok::badge::gpio_init(void)
gpio_task_stuff.queue_handle =
xQueueCreateStatic(4, sizeof(pin_notification_t), &(gpio_task_stuff.queue_storage[0]), &gpio_task_stuff.queue);
#if UVOK_EPAP_BOARD == BOARD_ESP32_CROWPANEL
- uint8_t inPins[] = {BOOT_KEY, EXIT_KEY, HOME_KEY, NEXT_KEY, OK_KEY, PRV_KEY};
+ uint8_t inPins[] = {HOME_KEY, EXIT_KEY, HOME_KEY, NEXT_KEY, OK_KEY, PRV_KEY};
for (uint8_t p : inPins)
{
pinMode(p, GPIO_MODE_INPUT);
@@ -80,7 +79,7 @@ de::uvok::badge::gpio_poll_result_t de::uvok::badge::gpio_poll(void)
{
uint32_t r = event;
event = 0;
- return {.duration_ms = (r >> 8), .pin_number = (r & 0xff), .has_data = true};
+ return {.duration_ms = (uint16_t)(r >> 8), .pin_number = (uint8_t)(r & 0xff), .has_data = true};
}
return {0};
diff --git a/src/main.cpp b/src/main.cpp
index 2153324..2495c1e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -66,9 +66,11 @@ void loop()
case OK_KEY:
newNum = de::uvok::badge::display_refresh();
break;
- case BOOT_KEY:
- de::uvok::badge::ble_advertise();
-
+ case HOME_KEY:
+ if (gpio_result.duration_ms > 1000)
+ {
+ de::uvok::badge::ble_advertise();
+ }
break;
}
if (newNum != UINT8_MAX)