diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2023-09-24 15:32:26 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2023-09-24 15:32:26 +0800 |
| commit | 825705c2993aa3dd69d0966de8f531d48de0b210 (patch) | |
| tree | c76245f9ca8e724ae02b3ec15d95c639633063ae /main/main.c | |
| parent | cf2092a08775d32b7d874f1090f79228a2f9e2ec (diff) | |
| download | esp32-e-reader-825705c2993aa3dd69d0966de8f531d48de0b210.tar.gz | |
Improvements to pdftool and EPD sleep.
Diffstat (limited to 'main/main.c')
| -rw-r--r-- | main/main.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/main/main.c b/main/main.c index 36e7ed9..526a134 100644 --- a/main/main.c +++ b/main/main.c @@ -7,7 +7,7 @@ #include "epd.h" #include "util.h" -#include "pocorgtfo21.h" +#include "doc.h" #define IO_PG_PREV GPIO_NUM_21 #define IO_PG_NEXT GPIO_NUM_22 @@ -24,14 +24,31 @@ static void gpio_task(void* arg) for(;;) { if(xQueueReceive(gpio_evt_queue, &io_num, portMAX_DELAY)) { - if (io_num == IO_PG_NEXT && page < data_len - 1) - epd_draw(data[++page]); - else if (io_num == IO_PG_PREV && page > 0) - epd_draw(data[--page]); - else + if (io_num == IO_PG_NEXT) { + if (page < data_len - 1) { + epd_draw(data[++page]); + gpio_intr_enable(IO_PG_NEXT); + gpio_intr_enable(IO_PG_PREV); + } else { + epd_clear(); + epd_sleep(); + } + } + else if (io_num == IO_PG_PREV) { + if (page > 0) { + epd_draw(data[--page]); + gpio_intr_enable(IO_PG_NEXT); + gpio_intr_enable(IO_PG_PREV); + } else { + epd_clear(); + epd_sleep(); + } + } + else { delay_ms(500); - gpio_intr_enable(IO_PG_NEXT); - gpio_intr_enable(IO_PG_PREV); + gpio_intr_enable(IO_PG_NEXT); + gpio_intr_enable(IO_PG_PREV); + } } } } |
