From ced3ef2bf968ddb272a66cb7e1be0ebab3417429 Mon Sep 17 00:00:00 2001 From: lewisxhe Date: Tue, 29 Sep 2020 15:26:43 +0800 Subject: [PATCH] Add LVGL png decoding example --- .../ChargingAnimation/ChargingAnimation.ino | 115 ++++++++++++++++++ examples/LVGL/ChargingAnimation/config.h | 17 +++ examples/LVGL/ChargingAnimation/data/0.png | Bin 0 -> 4512 bytes examples/LVGL/ChargingAnimation/data/1.png | Bin 0 -> 7297 bytes examples/LVGL/ChargingAnimation/data/2.png | Bin 0 -> 11597 bytes examples/LVGL/ChargingAnimation/data/3.png | Bin 0 -> 17238 bytes 6 files changed, 132 insertions(+) create mode 100644 examples/LVGL/ChargingAnimation/ChargingAnimation.ino create mode 100644 examples/LVGL/ChargingAnimation/config.h create mode 100644 examples/LVGL/ChargingAnimation/data/0.png create mode 100644 examples/LVGL/ChargingAnimation/data/1.png create mode 100644 examples/LVGL/ChargingAnimation/data/2.png create mode 100644 examples/LVGL/ChargingAnimation/data/3.png diff --git a/examples/LVGL/ChargingAnimation/ChargingAnimation.ino b/examples/LVGL/ChargingAnimation/ChargingAnimation.ino new file mode 100644 index 0000000..f9224d5 --- /dev/null +++ b/examples/LVGL/ChargingAnimation/ChargingAnimation.ino @@ -0,0 +1,115 @@ +/* +* In this example, the demonstration uses PNG image switching to make charging animation +* Need to upload the content of the data file to SPIFFS +* Copyright 2020 Lewis he +*/ +#include "config.h" + +TTGOClass *ttgo; +AXP20X_Class *power; + +bool irq = false; +lv_obj_t *label = nullptr; +lv_obj_t *img = nullptr; +lv_obj_t *chargelabel = nullptr; +lv_task_t *task = nullptr; + +static void lv_power_monitor_task(lv_task_t *t); + +void setup() +{ + Serial.begin(115200); + + ttgo = TTGOClass::getWatch(); + + ttgo->begin(); + + ttgo->openBL(); + + ttgo->lvgl_begin(); + + power = ttgo->power; + + pinMode(AXP202_INT, INPUT); + attachInterrupt(AXP202_INT, [] { + irq = true; + }, FALLING); + + // ADC monitoring must be enabled to use the AXP202 monitoring function + power->adc1Enable(AXP202_VBUS_VOL_ADC1 + | AXP202_VBUS_CUR_ADC1 + | AXP202_BATT_CUR_ADC1 + | AXP202_BATT_VOL_ADC1, + true); + + power->enableIRQ(AXP202_PEK_SHORTPRESS_IRQ + | AXP202_VBUS_REMOVED_IRQ + | AXP202_VBUS_CONNECT_IRQ + | AXP202_CHARGING_IRQ, true + ); + + power->clearIRQ(); + + lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + + label = lv_label_create(lv_scr_act(), NULL); + lv_obj_set_style_local_text_color(label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK); + lv_label_set_text(label, "Please unplug the USB plug and plug it in again, you will be able to see a simple animation made with PNG images"); + lv_obj_set_width(label, 239); + lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0); + +} + +#define IMG_POWER_COUNT 4 + +static void lv_power_monitor_task(lv_task_t *t) +{ + static uint8_t imgIndex = 0; + char buf[128]; + lv_obj_t *obj = (lv_obj_t *)t->user_data; + snprintf(buf, 128, "P:/%u.png", imgIndex++); + lv_img_set_src(obj, buf); + imgIndex %= IMG_POWER_COUNT; + + if (!chargelabel) { + chargelabel = lv_label_create(lv_scr_act(), NULL); + } + snprintf(buf, 128, "V:%.2f V C:%.2fmA", power->getVbusVoltage() / 1000.0 + , power->getVbusCurrent()); + lv_label_set_text(chargelabel, buf); + lv_obj_align(chargelabel, obj, LV_ALIGN_OUT_BOTTOM_MID, 0, 5); +} + +void loop() +{ + if (irq) { + irq = false; + power->readIRQ(); + // Assuming that the USB is plugged in and set to charging + if (power->isVbusPlugInIRQ()) { + if (!img) { + lv_obj_set_hidden(label, true); + ttgo->setBrightness(65); + img = lv_img_create(lv_scr_act(), NULL); + lv_img_set_src(img, "P:/0.png"); + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, - 10); + task = lv_task_create(lv_power_monitor_task, 1000, LV_TASK_PRIO_MID, img); + } + } + if (power->isVbusRemoveIRQ()) { + if (img) { + lv_task_del(task); + lv_obj_del(chargelabel); + lv_obj_del(img); + img = nullptr; + chargelabel = nullptr; + task = nullptr; + lv_obj_set_hidden(label, false); + } + } + power->clearIRQ(); + } + lv_task_handler(); + delay(5); +} diff --git a/examples/LVGL/ChargingAnimation/config.h b/examples/LVGL/ChargingAnimation/config.h new file mode 100644 index 0000000..e5f6f4a --- /dev/null +++ b/examples/LVGL/ChargingAnimation/config.h @@ -0,0 +1,17 @@ +// => Hardware select +// #define LILYGO_WATCH_2019_WITH_TOUCH // To use T-Watch2019 with touchscreen, please uncomment this line +// #define LILYGO_WATCH_2019_NO_TOUCH // To use T-Watch2019 Not touchscreen , please uncomment this line +// #define LILYGO_WATCH_2020_V1 //To use T-Watch2020, please uncomment this line + + +// NOT SUPPORT ... +//// #define LILYGO_WATCH_BLOCK +// NOT SUPPORT ... + +// => Function select +#define LILYGO_WATCH_LVGL //To use LVGL, you need to enable the macro LVGL +#define LILYGO_WATCH_LVGL_FS //Need to use LVGL file system need to define this macro +#define LILYGO_WATCH_LVGL_DECODER //Need to use PNG decoding, to define this macro +#include + + diff --git a/examples/LVGL/ChargingAnimation/data/0.png b/examples/LVGL/ChargingAnimation/data/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b9fcbcc401a7c9ca91660393e3523e3d0263cd GIT binary patch literal 4512 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 literal 0 HcmV?d00001 diff --git a/examples/LVGL/ChargingAnimation/data/2.png b/examples/LVGL/ChargingAnimation/data/2.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f8629794b91a61a8ddba38cbe71789d49bdc5a GIT binary patch literal 11597 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 UIOj2e8)zMar>mdKI;Vst08p)M0{{R3 literal 0 HcmV?d00001