diff options
| author | JF <jf@codingfield.com> | 2020-02-08 17:01:02 (GMT) |
|---|---|---|
| committer | JF <jf@codingfield.com> | 2020-02-08 17:01:02 (GMT) |
| commit | a97faf8e9e84053d6db37549cc4211866cb3b89f (patch) | |
| tree | afa8a16faba5860c353c8748e646933cad14dbd8 /src/DisplayApp/DisplayApp.cpp | |
| parent | e737fb0499769fa342e4dc267416a7ce5da2574c (diff) | |
First quick'n'dirty integration of LittleVGL. Needs some cleaning.
Diffstat (limited to 'src/DisplayApp/DisplayApp.cpp')
| -rw-r--r-- | src/DisplayApp/DisplayApp.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index ca13942..d2bf1bc 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -11,6 +11,8 @@ #include <drivers/Cst816s.h> #include <chrono> #include <string> +#include <lvgl/lvgl.h> +#include "lv_port_disp.h" using namespace Pinetime::Applications; @@ -26,13 +28,14 @@ DisplayApp::DisplayApp(Pinetime::Drivers::St7789& lcd, batteryController{batteryController}, bleController{bleController}, dateTimeController{dateTimeController}, - clockScreen{gfx} { + clockScreen{gfx}, + messageScreen{gfx}{ msgQueue = xQueueCreate(queueSize, itemSize); - currentScreen = &clockScreen; + currentScreen = &messageScreen; } void DisplayApp::Start() { - if (pdPASS != xTaskCreate(DisplayApp::Process, "DisplayApp", 256, this, 0, &taskHandle)) + if (pdPASS != xTaskCreate(DisplayApp::Process, "DisplayApp", 1024, this, 0, &taskHandle)) APP_ERROR_HANDLER(NRF_ERROR_NO_MEM); } @@ -40,7 +43,11 @@ void DisplayApp::Process(void *instance) { auto *app = static_cast<DisplayApp *>(instance); NRF_LOG_INFO("DisplayApp task started!"); app->InitHw(); + lv_init(); + lv_port_disp_init(); + while (1) { + lv_task_handler(); app->Refresh(); } } @@ -53,7 +60,7 @@ void DisplayApp::InitHw() { nrf_gpio_pin_clear(pinLcdBacklight2); nrf_gpio_pin_clear(pinLcdBacklight3); - currentScreen->Refresh(true); + } uint32_t acc = 0; @@ -112,11 +119,14 @@ void DisplayApp::Refresh() { } } +bool first = true; + void DisplayApp::RunningState() { clockScreen.SetCurrentDateTime(dateTimeController.CurrentDateTime()); if(currentScreen != nullptr) { - currentScreen->Refresh(false); + currentScreen->Refresh(first); + first = false; } } |
