From 0880d53a941d59605050f54e43a8ab6258247eaf Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Mon, 21 Dec 2020 01:54:22 +0000 Subject: [PATCH 01/27] Custom Dockerfile for gitpod.io Little configuration to give https://gitpod.io users an environment with the SDKs pre-installed --- .gitpod.yml | 18 ++++++++++++++++++ docker/.gitpod.Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 .gitpod.yml create mode 100644 docker/.gitpod.Dockerfile diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 00000000..0af6dce8 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,18 @@ +image: + file: docker/.gitpod.Dockerfile +github: + prebuilds: + # enable for the master/default branch (defaults to true) + master: true + # enable for all branches in this repo (defaults to false) + branches: false + # enable for pull requests coming from this repo (defaults to true) + pullRequests: false + # enable for pull requests coming from forks (defaults to false) + pullRequestsFromForks: false + # add a "Review in Gitpod" button as a comment to pull requests (defaults to true) + addComment: true + # add a "Review in Gitpod" button to pull requests (defaults to false) + addBadge: false + # add a label once the prebuild is ready to pull requests (defaults to false) + addLabel: false #prebuilt-in-gitpod \ No newline at end of file diff --git a/docker/.gitpod.Dockerfile b/docker/.gitpod.Dockerfile new file mode 100644 index 00000000..ac7992e5 --- /dev/null +++ b/docker/.gitpod.Dockerfile @@ -0,0 +1,38 @@ +FROM gitpod/workspace-full + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update -qq \ + && apt-get install -y \ +# x86_64 / generic packages + bash \ + build-essential \ + cmake \ + git \ + make \ + python3 \ + python3-pip \ + tar \ + unzip \ + wget \ +# aarch64 packages + libffi-dev \ + libssl-dev \ + python3-dev \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/*; + +# Needs to be installed as root +RUN pip3 install adafruit-nrfutil + +RUN sudo chown -R gitpod /opt + +COPY docker/build.sh /opt/ +# Lets get each in a separate docker layer for better downloads +# GCC +RUN bash -c "source /opt/build.sh; GetGcc;" +# NrfSdk +RUN bash -c "source /opt/build.sh; GetNrfSdk;" +# McuBoot +RUN bash -c "source /opt/build.sh; GetMcuBoot;" + +# Link the default checkout workspace in to the default $SOURCES_DIR +RUN sudo ln -s /workspace/Pinetime /sources \ No newline at end of file From cf187d342c4c16c6578e3244b164e649d588e45c Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Tue, 5 Jan 2021 00:26:27 +0000 Subject: [PATCH 02/27] Use root for package installation And forget the chown. sudo can be used if the dependencies ever need to be updated "live" --- docker/.gitpod.Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/.gitpod.Dockerfile b/docker/.gitpod.Dockerfile index ac7992e5..71bf479b 100644 --- a/docker/.gitpod.Dockerfile +++ b/docker/.gitpod.Dockerfile @@ -1,5 +1,6 @@ FROM gitpod/workspace-full +USER root ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update -qq \ && apt-get install -y \ @@ -23,8 +24,6 @@ RUN apt-get update -qq \ # Needs to be installed as root RUN pip3 install adafruit-nrfutil -RUN sudo chown -R gitpod /opt - COPY docker/build.sh /opt/ # Lets get each in a separate docker layer for better downloads # GCC @@ -35,4 +34,6 @@ RUN bash -c "source /opt/build.sh; GetNrfSdk;" RUN bash -c "source /opt/build.sh; GetMcuBoot;" # Link the default checkout workspace in to the default $SOURCES_DIR -RUN sudo ln -s /workspace/Pinetime /sources \ No newline at end of file +RUN ln -s /workspace/Pinetime /sources + +USER gitpod \ No newline at end of file From 10376cd81cdc2e5908b127d76af64bc9e865c582 Mon Sep 17 00:00:00 2001 From: petter <39340152+petterhs@users.noreply.github.com> Date: Fri, 8 Jan 2021 15:35:43 +0100 Subject: [PATCH 03/27] fix MusicService UUID typo in comment --- src/components/ble/MusicService.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h index ee3628b0..ab8dc2b1 100644 --- a/src/components/ble/MusicService.h +++ b/src/components/ble/MusicService.h @@ -26,7 +26,7 @@ #undef max #undef min -//c7e50000-78fc-48fe-8e23-43b37a1942d0 +//c7e50000-78fc-48fe-8e23-433b3a1942d0 #define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0xe5, 0xc7} namespace Pinetime { From 1a582815ba218d2a9047abae92b9f33a3301ffd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 10 Jan 2021 17:57:26 +0100 Subject: [PATCH 04/27] First implementation of the HR sensor using 100% foss code (ported from waspos) --- src/CMakeLists.txt | 15 +++ src/FreeRTOSConfig.h | 2 +- src/components/heartrate/Biquad.cpp | 20 ++++ src/components/heartrate/Biquad.h | 22 ++++ .../heartrate/HeartRateController.cpp | 23 ++++ .../heartrate/HeartRateController.h | 28 +++++ src/components/heartrate/Ppg.cpp | 96 ++++++++++++++++ src/components/heartrate/Ppg.h | 30 +++++ src/components/heartrate/Ptagc.cpp | 21 ++++ src/components/heartrate/Ptagc.h | 18 +++ src/displayapp/Apps.h | 2 +- src/displayapp/DisplayApp.cpp | 8 +- src/displayapp/DisplayApp.h | 5 +- src/displayapp/screens/ApplicationList.cpp | 2 +- src/displayapp/screens/HeartRate.cpp | 76 ++++++++++++ src/displayapp/screens/HeartRate.h | 38 ++++++ src/drivers/Hrs3300.cpp | 108 ++++++++++++++++++ src/drivers/Hrs3300.h | 47 ++++++++ src/heartratetask/HeartRateTask.cpp | 89 +++++++++++++++ src/heartratetask/HeartRateTask.h | 43 +++++++ src/main.cpp | 6 +- src/systemtask/SystemTask.cpp | 16 ++- src/systemtask/SystemTask.h | 11 +- 23 files changed, 714 insertions(+), 12 deletions(-) create mode 100644 src/components/heartrate/Biquad.cpp create mode 100644 src/components/heartrate/Biquad.h create mode 100644 src/components/heartrate/HeartRateController.cpp create mode 100644 src/components/heartrate/HeartRateController.h create mode 100644 src/components/heartrate/Ppg.cpp create mode 100644 src/components/heartrate/Ppg.h create mode 100644 src/components/heartrate/Ptagc.cpp create mode 100644 src/components/heartrate/Ptagc.h create mode 100644 src/displayapp/screens/HeartRate.cpp create mode 100644 src/displayapp/screens/HeartRate.h create mode 100644 src/drivers/Hrs3300.cpp create mode 100644 src/drivers/Hrs3300.h create mode 100644 src/heartratetask/HeartRateTask.cpp create mode 100644 src/heartratetask/HeartRateTask.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fde1f586..86cfc1c2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -349,6 +349,7 @@ list(APPEND SOURCE_FILES displayapp/screens/ApplicationList.cpp displayapp/screens/Notifications.cpp displayapp/screens/Twos.cpp + displayapp/screens/HeartRate.cpp main.cpp drivers/St7789.cpp drivers/SpiNorFlash.cpp @@ -357,6 +358,7 @@ list(APPEND SOURCE_FILES drivers/Watchdog.cpp drivers/DebugPins.cpp drivers/InternalFlash.cpp + drivers/Hrs3300.cpp components/battery/BatteryController.cpp components/ble/BleController.cpp components/ble/NotificationManager.cpp @@ -385,6 +387,12 @@ list(APPEND SOURCE_FILES systemtask/SystemTask.cpp drivers/TwiMaster.cpp + + heartratetask/HeartRateTask.cpp + components/heartrate/Ppg.cpp + components/heartrate/Biquad.cpp + components/heartrate/Ptagc.cpp + components/heartrate/HeartRateController.cpp ) list(APPEND GRAPHICS_SOURCE_FILES @@ -432,6 +440,7 @@ set(INCLUDE_FILES displayapp/screens/ApplicationList.h displayapp/Apps.h displayapp/screens/Notifications.h + displayapp/screens/HeartRate.h drivers/St7789.h drivers/SpiNorFlash.h drivers/SpiMaster.h @@ -439,6 +448,7 @@ set(INCLUDE_FILES drivers/Watchdog.h drivers/DebugPins.h drivers/InternalFlash.h + drivers/Hrs3300.h components/battery/BatteryController.h components/ble/BleController.h components/ble/NotificationManager.h @@ -470,6 +480,11 @@ set(INCLUDE_FILES systemtask/SystemMonitor.h displayapp/screens/Symbols.h drivers/TwiMaster.h + heartratetask/HeartRateTask.h + components/heartrate/Ppg.h + components/heartrate/Biquad.h + components/heartrate/Ptagc.h + components/heartrate/HeartRateController.h ) include_directories( diff --git a/src/FreeRTOSConfig.h b/src/FreeRTOSConfig.h index a18a2927..0b6a4b33 100644 --- a/src/FreeRTOSConfig.h +++ b/src/FreeRTOSConfig.h @@ -63,7 +63,7 @@ #define configTICK_RATE_HZ 1024 #define configMAX_PRIORITIES ( 3 ) #define configMINIMAL_STACK_SIZE ( 120 ) -#define configTOTAL_HEAP_SIZE ( 1024*11 ) +#define configTOTAL_HEAP_SIZE ( 1024*14 ) #define configMAX_TASK_NAME_LEN ( 4 ) #define configUSE_16_BIT_TICKS 0 #define configIDLE_SHOULD_YIELD 1 diff --git a/src/components/heartrate/Biquad.cpp b/src/components/heartrate/Biquad.cpp new file mode 100644 index 00000000..37b3ba67 --- /dev/null +++ b/src/components/heartrate/Biquad.cpp @@ -0,0 +1,20 @@ +#include "Biquad.h" + +using namespace Pinetime::Controllers; + +Biquad::Biquad(float b0, float b1, float b2, float a1, float a2) : b0{b0}, b1{b1}, b2{b2}, a1{a1}, a2{a2} { + +} + +float Biquad::Step(float x) { + auto v1 = this->v1; + auto v2 = this->v2; + + auto v = x - (a1 * v1) - (a2 * v2); + auto y = (b0 * v) + (b1 * v1) + (b2 * v2); + + this->v2 = v1; + this->v1 = v; + + return y; +} diff --git a/src/components/heartrate/Biquad.h b/src/components/heartrate/Biquad.h new file mode 100644 index 00000000..dc9b97f6 --- /dev/null +++ b/src/components/heartrate/Biquad.h @@ -0,0 +1,22 @@ +#pragma once + +namespace Pinetime { + namespace Controllers { + /// Direct Form II Biquad Filter + class Biquad { + public: + Biquad(float b0, float b1, float b2, float a1, float a2); + float Step(float x); + + private: + float b0; + float b1; + float b2; + float a1; + float a2; + + float v1 = 0.0f; + float v2 = 0.0f; + }; + } +} diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp new file mode 100644 index 00000000..f296027f --- /dev/null +++ b/src/components/heartrate/HeartRateController.cpp @@ -0,0 +1,23 @@ +#include "HeartRateController.h" +#include + +using namespace Pinetime::Controllers; + +void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) { + this->state = newState; + this->heartRate = heartRate; +} + +void HeartRateController::Start() { + if(task != nullptr) + task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); +} + +void HeartRateController::Stop() { + if(task != nullptr) + task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); +} + +void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask *task) { + this->task = task; +} diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h new file mode 100644 index 00000000..b4d6c972 --- /dev/null +++ b/src/components/heartrate/HeartRateController.h @@ -0,0 +1,28 @@ +#pragma once + +#include + +namespace Pinetime { + namespace Applications { + class HeartRateTask; + } + namespace Controllers { + class HeartRateController { + public: + enum class States { NotEnoughData, NoTouch, Running}; + + void Start(); + void Stop(); + void Update(States newState, uint8_t heartRate); + + void SetHeartRateTask(Applications::HeartRateTask* task); + States State() const { return state; } + uint8_t HeartRate() const { return heartRate; } + + private: + Applications::HeartRateTask* task = nullptr; + States state = States::NotEnoughData; + uint8_t heartRate = 0; + }; + } +} \ No newline at end of file diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp new file mode 100644 index 00000000..c9a11030 --- /dev/null +++ b/src/components/heartrate/Ppg.cpp @@ -0,0 +1,96 @@ +#include +#include +#include "Ppg.h" +using namespace Pinetime::Controllers; + +namespace { + // TODO no vector! + int Compare(int* d1, int* d2, size_t count) { + int e = 0; + for(int i = 0; i < count; i++) { + auto d = d1[i] - d2[i]; + e += d * d; + } + return e; + } + + int CompareShift(int* d, int shift, size_t count) { + return Compare(d +shift, d, count - shift); + } + + int Trough(int* d, size_t size, float mn, float mx) { + auto z2 = CompareShift(d, mn-2, size); + auto z1 = CompareShift(d, mn-1, size); + for(int i = mn; i < mx + 1; i++) { + auto z = CompareShift(d, i, size); + if(z2 > z1 && z1 < z) + return i; + z2 = z1; + z1 = z; + } + return -1; + } +} + +Ppg::Ppg(float spl) : offset{spl}, + hpf{0.87033078, -1.74066156, 0.87033078,-1.72377617, 0.75754694}, + agc{20, 0.971, 2}, + lpf{0.11595249, 0.23190498, 0.11595249,-0.72168143, 0.18549138} { + +} + +int Ppg::Preprocess(float spl) { + spl -= offset; + spl = hpf.Step(spl); + spl = agc.Step(spl); + spl = lpf.Step(spl); + + auto spl_int = static_cast(spl); + + if(dataIndex < 200) + data[dataIndex++] = spl_int; + return spl_int; +} + +float Ppg::HeartRate() { + if(dataIndex < 200) + return 0; + + NRF_LOG_INFO("PREPROCESS, offset = %d", offset); + auto hr = ProcessHeartRate(); + dataIndex = 0; + return hr; +} + +int cccount = 0; +float Ppg::ProcessHeartRate() { + + if(cccount > 2) + asm("nop"); + cccount ++; + auto t0 = Trough(data.data(), dataIndex, 7, 48); + if(t0 < 0) + return 0; + + float t1 = t0 * 2; + t1 = Trough(data.data(), dataIndex, t1-5, t1+5); + if(t1 < 0) + return 0; + + float t2 = static_cast(t1 * 3) / 2; + t2 = Trough(data.data(), dataIndex, t2 - 5, t2 + 5); + if(t2 < 0) + return 0; + + float t3 = static_cast(t2 * 4) / 3; + t3 = Trough(data.data(), dataIndex, t3 - 4, t3 + 4); + if(t3 < 0) + return static_cast(60 * 24 * 3) / static_cast(t2); + + return static_cast(60 * 24 * 4) / static_cast(t3); +} + +void Ppg::SetOffset(uint16_t offset) { + this->offset = offset; + dataIndex = 0; +} diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h new file mode 100644 index 00000000..846ade08 --- /dev/null +++ b/src/components/heartrate/Ppg.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include "Biquad.h" +#include "Ptagc.h" + +namespace Pinetime { + namespace Controllers { + class Ppg { + public: + explicit Ppg(float spl); + + int Preprocess(float spl); + float HeartRate(); + + void SetOffset(uint16_t i); + + private: + std::array data; + size_t dataIndex = 0; + float offset; + Biquad hpf; + Ptagc agc; + Biquad lpf; + + + float ProcessHeartRate(); + }; + } +} \ No newline at end of file diff --git a/src/components/heartrate/Ptagc.cpp b/src/components/heartrate/Ptagc.cpp new file mode 100644 index 00000000..9302af97 --- /dev/null +++ b/src/components/heartrate/Ptagc.cpp @@ -0,0 +1,21 @@ +#include +#include "Ptagc.h" + +using namespace Pinetime::Controllers; + +Ptagc::Ptagc(float start, float decay, float threshold) : peak{start}, decay{decay}, boost{1.0f/decay}, threshold{threshold} { + +} + +float Ptagc::Step(float spl) { + if(std::abs(spl) > peak) + peak *= boost; + else + peak *= decay; + + if((spl > (peak * threshold)) || (spl < (peak * -threshold))) + return 0.0f; + + spl = 100.0f * spl / (2.0f * peak); + return spl; +} diff --git a/src/components/heartrate/Ptagc.h b/src/components/heartrate/Ptagc.h new file mode 100644 index 00000000..c20de4c0 --- /dev/null +++ b/src/components/heartrate/Ptagc.h @@ -0,0 +1,18 @@ +#pragma once + +namespace Pinetime { + namespace Controllers { + class Ptagc { + public: + Ptagc(float start, float decay, float threshold); + float Step(float spl); + + private: + float peak; + float decay; + float boost; + float threshold; + + }; + } +} diff --git a/src/displayapp/Apps.h b/src/displayapp/Apps.h index f5fb24d0..fcadf2a2 100644 --- a/src/displayapp/Apps.h +++ b/src/displayapp/Apps.h @@ -2,6 +2,6 @@ namespace Pinetime { namespace Applications { - enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos}; + enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos, HeartRate}; } } diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 162d0226..b10b1e1a 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -1,5 +1,6 @@ #include "DisplayApp.h" #include +#include #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" #include "components/datetime/DateTimeController.h" @@ -29,7 +30,8 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver Controllers::Battery &batteryController, Controllers::Ble &bleController, Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog, System::SystemTask &systemTask, - Pinetime::Controllers::NotificationManager& notificationManager) : + Pinetime::Controllers::NotificationManager& notificationManager, + Pinetime::Controllers::HeartRateController& heartRateController) : lcd{lcd}, lvgl{lvgl}, batteryController{batteryController}, @@ -39,7 +41,8 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver touchPanel{touchPanel}, currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager) }, systemTask{systemTask}, - notificationManager{notificationManager} { + notificationManager{notificationManager}, + heartRateController{heartRateController} { msgQueue = xQueueCreate(queueSize, itemSize); onClockApp = true; modal.reset(new Screens::Modal(this)); @@ -211,6 +214,7 @@ void DisplayApp::RunningState() { case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break; case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break; case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Normal)); break; + case Apps::HeartRate: currentScreen.reset(new Screens::HeartRate(this, heartRateController)); break; } nextApp = Apps::None; } diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 25cd2813..da5a7b22 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -23,6 +23,7 @@ namespace Pinetime { class Ble; class DateTime; class NotificationManager; + class HeartRateController; } namespace System { @@ -42,7 +43,8 @@ namespace Pinetime { Controllers::Battery &batteryController, Controllers::Ble &bleController, Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog, System::SystemTask &systemTask, - Pinetime::Controllers::NotificationManager& notificationManager); + Pinetime::Controllers::NotificationManager& notificationManager, + Pinetime::Controllers::HeartRateController& heartRateController); void Start(); void PushMessage(Messages msg); @@ -87,6 +89,7 @@ namespace Pinetime { Pinetime::Controllers::NotificationManager& notificationManager; Pinetime::Controllers::FirmwareValidator validator; TouchModes touchMode = TouchModes::Gestures; + Pinetime::Controllers::HeartRateController& heartRateController; }; } } diff --git a/src/displayapp/screens/ApplicationList.cpp b/src/displayapp/screens/ApplicationList.cpp index 0b8face3..57fbde20 100644 --- a/src/displayapp/screens/ApplicationList.cpp +++ b/src/displayapp/screens/ApplicationList.cpp @@ -45,7 +45,7 @@ std::unique_ptr ApplicationList::CreateScreen1() { {Symbols::sun, Apps::Brightness}, {Symbols::list, Apps::SysInfo}, {Symbols::check, Apps::FirmwareValidation}, - {Symbols::none, Apps::None} + {Symbols::heartBeat, Apps::HeartRate} } diff --git a/src/displayapp/screens/HeartRate.cpp b/src/displayapp/screens/HeartRate.cpp new file mode 100644 index 00000000..2d25f89c --- /dev/null +++ b/src/displayapp/screens/HeartRate.cpp @@ -0,0 +1,76 @@ +#include +#include "HeartRate.h" +#include + +#include "../DisplayApp.h" + +using namespace Pinetime::Applications::Screens; +extern lv_font_t jetbrains_mono_extrabold_compressed; +extern lv_font_t jetbrains_mono_bold_20; + +const char* ToString(Pinetime::Controllers::HeartRateController::States s) { + switch(s) { + case Pinetime::Controllers::HeartRateController::States::NotEnoughData: return "Not enough data,\nplease wait..."; + case Pinetime::Controllers::HeartRateController::States::NoTouch: return "No touch detected"; + case Pinetime::Controllers::HeartRateController::States::Running: return "Measuring..."; + } + return ""; +} + +HeartRate::HeartRate(Pinetime::Applications::DisplayApp *app, Controllers::HeartRateController& heartRateController) : Screen(app), heartRateController{heartRateController} { + label_bpm = lv_label_create(lv_scr_act(), NULL); + + labelStyle = const_cast(lv_label_get_style(label_bpm, LV_LABEL_STYLE_MAIN)); + labelStyle->text.font = &jetbrains_mono_bold_20; + + lv_style_copy(&labelBigStyle, labelStyle); + labelBigStyle.text.font = &jetbrains_mono_extrabold_compressed; + + lv_label_set_style(label_bpm, LV_LABEL_STYLE_MAIN, labelStyle); + + label_hr = lv_label_create(lv_scr_act(), NULL); + lv_label_set_style(label_hr, LV_LABEL_STYLE_MAIN, &labelBigStyle); + lv_obj_align(label_hr, lv_scr_act(), LV_ALIGN_CENTER, -70, 0); + lv_label_set_text(label_hr, "000"); + + lv_label_set_text(label_bpm, "Heart rate BPM"); + lv_obj_align(label_bpm, label_hr, LV_ALIGN_OUT_TOP_MID, 0, -20); + + + label_status = lv_label_create(lv_scr_act(), NULL); + lv_label_set_text(label_status, ToString(Pinetime::Controllers::HeartRateController::States::NotEnoughData)); + lv_label_set_style(label_status, LV_LABEL_STYLE_MAIN, labelStyle); + lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 20); + + heartRateController.Start(); +} + +HeartRate::~HeartRate() { + heartRateController.Stop(); + lv_obj_clean(lv_scr_act()); +} + +bool HeartRate::Refresh() { + char hr[4]; + + auto state = heartRateController.State(); + switch(state) { + case Controllers::HeartRateController::States::NoTouch: + case Controllers::HeartRateController::States::NotEnoughData: + lv_label_set_text(label_hr, "000"); + break; + default: + sprintf(hr, "%03d", heartRateController.HeartRate()); + lv_label_set_text(label_hr, hr); + } + + lv_label_set_text(label_status, ToString(state)); + lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 20); + + return running; +} + +bool HeartRate::OnButtonPushed() { + running = false; + return true; +} diff --git a/src/displayapp/screens/HeartRate.h b/src/displayapp/screens/HeartRate.h new file mode 100644 index 00000000..41fd5bb3 --- /dev/null +++ b/src/displayapp/screens/HeartRate.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include +#include "Screen.h" +#include +#include +#include + +namespace Pinetime { + namespace Controllers { + class HeartRateController; + } + namespace Applications { + namespace Screens { + + class HeartRate : public Screen{ + public: + HeartRate(DisplayApp* app, Controllers::HeartRateController& HeartRateController); + ~HeartRate() override; + + bool Refresh() override; + bool OnButtonPushed() override; + + private: + Controllers::HeartRateController& heartRateController; + lv_obj_t* label_hr; + lv_obj_t* label_bpm; + lv_obj_t* label_status; + lv_style_t labelBigStyle; + lv_style_t* labelStyle; + + bool running = true; + + }; + } + } +} diff --git a/src/drivers/Hrs3300.cpp b/src/drivers/Hrs3300.cpp new file mode 100644 index 00000000..31956575 --- /dev/null +++ b/src/drivers/Hrs3300.cpp @@ -0,0 +1,108 @@ +#include +#include +#include "Hrs3300.h" + +#include +#include +#include + +using namespace Pinetime::Drivers; + +Hrs3300::Hrs3300(TwiMaster &twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, twiAddress{twiAddress} { + +} + +void Hrs3300::Init() { + nrf_gpio_cfg_input(30, NRF_GPIO_PIN_NOPULL); + + Disable(); + vTaskDelay(100); + + // HRS disabled, 12.5 ms wait time between cycles, (partly) 20mA drive + WriteRegister(static_cast(Registers::Enable), 0x60); + + // (partly) 20mA drive, power on, "magic" (datasheet says both + // "reserved" and "set low nibble to 8" but 0xe gives better results + // and is used by at least two other HRS3300 drivers + WriteRegister(static_cast(Registers::PDriver), 0x6E); + + // HRS and ALS both in 16-bit mode + WriteRegister(static_cast(Registers::Res), 0x88); + + // 64x gain + WriteRegister(static_cast(Registers::Hgain), 0x10); +} + +void Hrs3300::Enable() { + NRF_LOG_INFO("ENABLE"); + auto value = ReadRegister(static_cast(Registers::Enable)); + value |= 0x80; + WriteRegister(static_cast(Registers::Enable), value); +} + +void Hrs3300::Disable() { + NRF_LOG_INFO("DISABLE"); + auto value = ReadRegister(static_cast(Registers::Enable)); + value &= ~0x80; + WriteRegister(static_cast(Registers::Enable), value); +} + +uint16_t Hrs3300::ReadHrs() { + auto m = ReadRegister(static_cast(Registers::C0DataM)); + auto h = ReadRegister(static_cast(Registers::C0DataH)); + auto l = ReadRegister(static_cast(Registers::C0dataL)); + return (m << 8) | ((h & 0x0f) << 4) | (l & 0x0f) | ((l & 0x30) << 12); +} + +uint16_t Hrs3300::ReadAls() { + auto m = ReadRegister(static_cast(Registers::C1dataM)); + auto h = ReadRegister(static_cast(Registers::C1dataH)); + auto l = ReadRegister(static_cast(Registers::C1dataL)); + return (m << 3) | ((h & 0x3f) << 11) | (l & 0x07); +} + +void Hrs3300::SetGain(uint8_t gain) { + static constexpr uint8_t maxGain = 64; + gain = std::min(gain, maxGain); + uint8_t hgain = 0; + while((1 << hgain) < gain) + hgain++; + + WriteRegister(static_cast(Registers::Hgain), hgain << 2); +} + +void Hrs3300::SetDrive(uint8_t drive) { + auto en = ReadRegister(static_cast(Registers::Enable)); + auto pd = ReadRegister(static_cast(Registers::PDriver)); + + en = (en & 0xf7) | ((drive & 2) << 2); + pd = (pd & 0xbf) | ((drive & 1) << 6); + + WriteRegister(static_cast(Registers::Enable), en); + WriteRegister(static_cast(Registers::PDriver), pd); +} + +void Hrs3300::WriteRegister(uint8_t reg, uint8_t data) { + auto ret = twiMaster.Write(twiAddress, reg, &data, 1); + if(ret != TwiMaster::ErrorCodes::NoError) + NRF_LOG_INFO("WRITE ERROR"); +} + +uint8_t Hrs3300::ReadRegister(uint8_t reg) { + uint8_t value; + auto ret = twiMaster.Read(twiAddress, reg, &value, 1); + if(ret != TwiMaster::ErrorCodes::NoError) + NRF_LOG_INFO("READ ERROR"); + return value; +} + + + + + + + + + + + diff --git a/src/drivers/Hrs3300.h b/src/drivers/Hrs3300.h new file mode 100644 index 00000000..c34d55c6 --- /dev/null +++ b/src/drivers/Hrs3300.h @@ -0,0 +1,47 @@ +#pragma once + +#include "TwiMaster.h" + +namespace Pinetime { + namespace Drivers { + class Hrs3300 { + public: + enum class Registers : uint8_t { + Id = 0x00, + Enable = 0x01, + EnableHen = 0x80, + C1dataM = 0x08, + C0DataM = 0x09, + C0DataH = 0x0a, + PDriver = 0x0c, + C1dataH = 0x0d, + C1dataL = 0x0e, + C0dataL = 0x0f, + Res = 0x16, + Hgain = 0x17 + }; + + Hrs3300(TwiMaster& twiMaster, uint8_t twiAddress); + Hrs3300(const Hrs3300&) = delete; + Hrs3300& operator=(const Hrs3300&) = delete; + Hrs3300(Hrs3300&&) = delete; + Hrs3300& operator=(Hrs3300&&) = delete; + + void Init(); + void Enable(); + void Disable(); + uint16_t ReadHrs(); + uint16_t ReadAls(); + void SetGain(uint8_t gain); + void SetDrive(uint8_t drive); + + private: + TwiMaster& twiMaster; + uint8_t twiAddress; + + void WriteRegister(uint8_t reg, uint8_t data); + uint8_t ReadRegister(uint8_t reg); + + }; + } +} diff --git a/src/heartratetask/HeartRateTask.cpp b/src/heartratetask/HeartRateTask.cpp new file mode 100644 index 00000000..5ce27452 --- /dev/null +++ b/src/heartratetask/HeartRateTask.cpp @@ -0,0 +1,89 @@ +#include "HeartRateTask.h" +#include +#include +#include + +using namespace Pinetime::Applications; + +HeartRateTask::HeartRateTask(Drivers::Hrs3300 &heartRateSensor, Controllers::HeartRateController& controller) : + heartRateSensor{heartRateSensor}, + controller{controller}, + ppg{static_cast(heartRateSensor.ReadHrs())} { + messageQueue = xQueueCreate(10, 1); + controller.SetHeartRateTask(this); +} + +void HeartRateTask::Start() { + if (pdPASS != xTaskCreate(HeartRateTask::Process, "Heartrate", 500, this, 0, &taskHandle)) + APP_ERROR_HANDLER(NRF_ERROR_NO_MEM); +} + +void HeartRateTask::Process(void *instance) { + auto *app = static_cast(instance); + app->Work(); +} + +void HeartRateTask::Work() { + int lastBpm = 0; + while (true) { + Messages msg; + uint32_t delay; + if (state == States::Running) { + if (measurementStarted) delay = 40; + else delay = 100; + } else + delay = portMAX_DELAY; + + if (xQueueReceive(messageQueue, &msg, delay)) { + switch (msg) { + case Messages::GoToSleep: + StopMeasurement(); + state = States::Idle; + break; + case Messages::WakeUp: + state = States::Running; + break; + case Messages::StartMeasurement: + lastBpm = 0; + StartMeasurement(); + ppg.SetOffset(heartRateSensor.ReadHrs()); + break; + case Messages::StopMeasurement: + StopMeasurement(); + break; + } + } + + if (measurementStarted) { + auto hrs = heartRateSensor.ReadHrs(); + ppg.Preprocess(hrs); + auto bpm = ppg.HeartRate(); + + if (lastBpm == 0 && bpm == 0) controller.Update(Controllers::HeartRateController::States::NoTouch, 0); + if(bpm != 0) { + lastBpm = bpm; + controller.Update(Controllers::HeartRateController::States::Running, lastBpm); + } + } + } +} + +void HeartRateTask::PushMessage(HeartRateTask::Messages msg) { + BaseType_t xHigherPriorityTaskWoken; + xHigherPriorityTaskWoken = pdFALSE; + xQueueSendFromISR(messageQueue, &msg, &xHigherPriorityTaskWoken); + if (xHigherPriorityTaskWoken) { + /* Actual macro used here is port specific. */ + // TODO : should I do something here? + } +} + +void HeartRateTask::StartMeasurement() { + heartRateSensor.Enable(); + measurementStarted = true; +} + +void HeartRateTask::StopMeasurement() { + heartRateSensor.Disable(); + measurementStarted = false; +} diff --git a/src/heartratetask/HeartRateTask.h b/src/heartratetask/HeartRateTask.h new file mode 100644 index 00000000..f142af1a --- /dev/null +++ b/src/heartratetask/HeartRateTask.h @@ -0,0 +1,43 @@ +#pragma once +#include +#include +#include +#include + + +namespace Pinetime { + namespace Drivers { + class Hrs3300; + } + namespace Controllers{ + class HeartRateController; + } + namespace Applications { + class HeartRateTask { + public: + enum class Messages : uint8_t {GoToSleep, WakeUp, StartMeasurement, StopMeasurement }; + enum class States {Idle, Running}; + + explicit HeartRateTask(Drivers::Hrs3300& heartRateSensor, Controllers::HeartRateController& controller); + void Start(); + void Work(); + void PushMessage(Messages msg); + + private: + static void Process(void* instance); + void StartMeasurement(); + void StopMeasurement(); + + TaskHandle_t taskHandle; + QueueHandle_t messageQueue; + States state = States::Running; + Drivers::Hrs3300 &heartRateSensor; + Controllers::HeartRateController& controller; + Controllers::Ppg ppg; + bool measurementStarted = false; + + }; + + } +} + diff --git a/src/main.cpp b/src/main.cpp index 35057045..3b993ee9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" @@ -57,6 +58,7 @@ static constexpr uint8_t pinLcdDataCommand = 18; static constexpr uint8_t pinTwiScl = 7; static constexpr uint8_t pinTwiSda = 6; static constexpr uint8_t touchPanelTwiAddress = 0x15; +static constexpr uint8_t heartRateSensorTwiAddress = 0x44; Pinetime::Drivers::SpiMaster spi{Pinetime::Drivers::SpiMaster::SpiModule::SPI0, { Pinetime::Drivers::SpiMaster::BitOrder::Msb_Lsb, @@ -84,6 +86,8 @@ Pinetime::Drivers::TwiMaster twiMaster{Pinetime::Drivers::TwiMaster::Modules::TW Pinetime::Drivers::Cst816S touchPanel {twiMaster, touchPanelTwiAddress}; Pinetime::Components::LittleVgl lvgl {lcd, touchPanel}; +Pinetime::Drivers::Hrs3300 heartRateSensor {twiMaster, heartRateSensorTwiAddress}; + TimerHandle_t debounceTimer; Pinetime::Controllers::Battery batteryController; @@ -237,7 +241,7 @@ int main(void) { debounceTimer = xTimerCreate ("debounceTimer", 200, pdFALSE, (void *) 0, DebounceTimerCallback); systemTask.reset(new Pinetime::System::SystemTask(spi, lcd, spiNorFlash, twiMaster, touchPanel, lvgl, batteryController, bleController, - dateTimeController, notificationManager)); + dateTimeController, notificationManager, heartRateSensor)); systemTask->Start(); nimble_port_init(); diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 9cd2f5e9..1d405621 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -21,6 +21,7 @@ #include "drivers/SpiMaster.h" #include "drivers/SpiNorFlash.h" #include "drivers/TwiMaster.h" +#include "drivers/Hrs3300.h" #include "main.h" using namespace Pinetime::System; @@ -39,12 +40,14 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Controllers::Battery &batteryController, Controllers::Ble &bleController, Controllers::DateTime &dateTimeController, - Pinetime::Controllers::NotificationManager& notificationManager) : + Pinetime::Controllers::NotificationManager& notificationManager, + Pinetime::Drivers::Hrs3300& heartRateSensor) : spi{spi}, lcd{lcd}, spiNorFlash{spiNorFlash}, twiMaster{twiMaster}, touchPanel{touchPanel}, lvgl{lvgl}, batteryController{batteryController}, bleController{bleController}, dateTimeController{dateTimeController}, watchdog{}, watchdogView{watchdog}, notificationManager{notificationManager}, - nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash) { + nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash), + heartRateSensor{heartRateSensor}{ systemTasksMsgQueue = xQueueCreate(10, 1); } @@ -77,12 +80,19 @@ void SystemTask::Work() { batteryController.Init(); displayApp.reset(new Pinetime::Applications::DisplayApp(lcd, lvgl, touchPanel, batteryController, bleController, - dateTimeController, watchdogView, *this, notificationManager)); + dateTimeController, watchdogView, *this, notificationManager, heartRateController)); displayApp->Start(); batteryController.Update(); displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateBatteryLevel); + + heartRateSensor.Init(); + heartRateSensor.Disable(); + heartRateApp.reset(new Pinetime::Applications::HeartRateTask(heartRateSensor, heartRateController)); + heartRateApp->Start(); + + nrf_gpio_cfg_sense_input(pinButton, (nrf_gpio_pin_pull_t)GPIO_PIN_CNF_PULL_Pulldown, (nrf_gpio_pin_sense_t)GPIO_PIN_CNF_SENSE_High); nrf_gpio_cfg_output(15); nrf_gpio_pin_set(15); diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index fe6e7cbe..b93d0bce 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include "SystemMonitor.h" #include "components/battery/BatteryController.h" @@ -20,6 +22,7 @@ namespace Pinetime { class SpiNorFlash; class St7789; class TwiMaster; + class Hrs3300; } namespace System { class SystemTask { @@ -34,7 +37,8 @@ namespace Pinetime { Components::LittleVgl &lvgl, Controllers::Battery &batteryController, Controllers::Ble &bleController, Controllers::DateTime &dateTimeController, - Pinetime::Controllers::NotificationManager& manager); + Pinetime::Controllers::NotificationManager& manager, + Pinetime::Drivers::Hrs3300& heartRateSensor); void Start(); @@ -58,6 +62,9 @@ namespace Pinetime { Pinetime::Components::LittleVgl& lvgl; Pinetime::Controllers::Battery& batteryController; std::unique_ptr displayApp; + Pinetime::Controllers::HeartRateController heartRateController; + std::unique_ptr heartRateApp; + Pinetime::Controllers::Ble& bleController; Pinetime::Controllers::DateTime& dateTimeController; QueueHandle_t systemTasksMsgQueue; @@ -68,7 +75,7 @@ namespace Pinetime { Pinetime::Drivers::WatchdogView watchdogView; Pinetime::Controllers::NotificationManager& notificationManager; Pinetime::Controllers::NimbleController nimbleController; - + Pinetime::Drivers::Hrs3300& heartRateSensor; static constexpr uint8_t pinSpiSck = 2; static constexpr uint8_t pinSpiMosi = 3; From c82c22650cf7d7a8f31146345b9510cc6eabc5f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 10 Jan 2021 22:02:21 +0100 Subject: [PATCH 05/27] HR Sensor : do not go to sleep when the HR app is running. --- src/components/heartrate/HeartRateController.cpp | 15 +++++++++++++-- src/components/heartrate/HeartRateController.h | 6 ++++++ src/systemtask/SystemTask.cpp | 7 +++++++ src/systemtask/SystemTask.h | 3 ++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index f296027f..53b34e6c 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -1,23 +1,34 @@ #include "HeartRateController.h" #include +#include using namespace Pinetime::Controllers; +HeartRateController::HeartRateController(Pinetime::System::SystemTask &systemTask) : systemTask{systemTask} { + +} + + void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) { this->state = newState; this->heartRate = heartRate; } void HeartRateController::Start() { - if(task != nullptr) + if(task != nullptr) { task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); + systemTask.PushMessage(System::SystemTask::Messages::HeartRateRunning); + } } void HeartRateController::Stop() { - if(task != nullptr) + if(task != nullptr) { task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); + systemTask.PushMessage(System::SystemTask::Messages::HeartRateStopped); + } } void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask *task) { this->task = task; } + diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index b4d6c972..b401f76a 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -6,11 +6,16 @@ namespace Pinetime { namespace Applications { class HeartRateTask; } + namespace System { + class SystemTask; + } namespace Controllers { class HeartRateController { public: enum class States { NotEnoughData, NoTouch, Running}; + explicit HeartRateController(System::SystemTask& systemTask); + void Start(); void Stop(); void Update(States newState, uint8_t heartRate); @@ -20,6 +25,7 @@ namespace Pinetime { uint8_t HeartRate() const { return heartRate; } private: + System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; States state = States::NotEnoughData; uint8_t heartRate = 0; diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 1d405621..e7551235 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -44,6 +44,7 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, Pinetime::Drivers::Hrs3300& heartRateSensor) : spi{spi}, lcd{lcd}, spiNorFlash{spiNorFlash}, twiMaster{twiMaster}, touchPanel{touchPanel}, lvgl{lvgl}, batteryController{batteryController}, + heartRateController{*this}, bleController{bleController}, dateTimeController{dateTimeController}, watchdog{}, watchdogView{watchdog}, notificationManager{notificationManager}, nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash), @@ -194,6 +195,12 @@ void SystemTask::Work() { isSleeping = true; isGoingToSleep = false; break; + case Messages::HeartRateRunning: + doNotGoToSleep = true; + break; + case Messages::HeartRateStopped: + doNotGoToSleep = false; + break; default: break; } } diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index b93d0bce..e4eb8d47 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -28,7 +28,8 @@ namespace Pinetime { class SystemTask { public: enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification, BleConnected, - BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping + BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping, + HeartRateRunning, HeartRateStopped }; SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, From b8f943e73c84e368ebe6a380a7ca231e2a81f428 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Thu, 14 Jan 2021 21:22:36 +0100 Subject: [PATCH 06/27] Implemented a circular buffer and added an average alg for batter remaining percentage. --- src/components/battery/BatteryController.cpp | 4 ++- src/components/battery/BatteryController.h | 32 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index 3e3d65b4..e0042f5c 100644 --- a/src/components/battery/BatteryController.cpp +++ b/src/components/battery/BatteryController.cpp @@ -34,10 +34,12 @@ void Battery::Update() { // see https://forum.pine64.org/showthread.php?tid=8147 voltage = (value * 2.0f) / (1024/3.0f); - percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; + float percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; percentRemaining = std::max(percentRemaining, 0.0f); percentRemaining = std::min(percentRemaining, 100.0f); + percentRemainingBuffer.insert(percentRemaining); + // NRF_LOG_INFO("BATTERY " NRF_LOG_FLOAT_MARKER " %% - " NRF_LOG_FLOAT_MARKER " v", NRF_LOG_FLOAT(percentRemaining), NRF_LOG_FLOAT(voltage)); // NRF_LOG_INFO("POWER Charging : %d - Power : %d", isCharging, isPowerPresent); } diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 7cc964e4..a94adaad 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -1,14 +1,41 @@ #pragma once #include #include +#include +#include namespace Pinetime { namespace Controllers { + // A simple circular buffer that can be used to average + // out sensor values + template + class CircBuffer { + public: + CircBuffer() : arr{}, sz{}, cap{N}, loc{} {} + void insert(const float num) { + loc %= cap; + arr[loc++] = num; + if (sz != cap) { + sz++; + } + } + + float GetAverage() const { + float sum = std::accumulate(arr.begin(), arr.end(), 0); + return (sum / sz); + } + + private: + std::array arr; + uint8_t sz; + uint8_t cap; + uint8_t loc; + }; class Battery { public: void Init(); void Update(); - float PercentRemaining() const { return percentRemaining; } + float PercentRemaining() const { return percentRemainingBuffer.GetAverage(); } float Voltage() const { return voltage; } bool IsCharging() const { return isCharging; } bool IsPowerPresent() const { return isPowerPresent; } @@ -17,8 +44,9 @@ namespace Pinetime { static constexpr uint32_t chargingPin = 12; static constexpr uint32_t powerPresentPin = 19; static constexpr nrf_saadc_input_t batteryVoltageAdcInput = NRF_SAADC_INPUT_AIN7; + static constexpr uint8_t percentRemainingSamples = 10; static void SaadcEventHandler(nrfx_saadc_evt_t const * p_event); - float percentRemaining = 0.0f; + CircBuffer percentRemainingBuffer {}; float voltage = 0.0f; bool isCharging = false; bool isPowerPresent = false; From dece6c6bc8088be71e53df344f71b8457c4d4bc9 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Thu, 14 Jan 2021 22:11:17 +0100 Subject: [PATCH 07/27] Adapted the accumulate function to return float. --- src/components/battery/BatteryController.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index a94adaad..21caffec 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -21,7 +21,7 @@ namespace Pinetime { } float GetAverage() const { - float sum = std::accumulate(arr.begin(), arr.end(), 0); + float sum = std::accumulate(arr.begin(), arr.end(), 0.0f); return (sum / sz); } @@ -31,6 +31,7 @@ namespace Pinetime { uint8_t cap; uint8_t loc; }; + class Battery { public: void Init(); From 11280d5f3704e174974805acd9e12542a3560207 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sat, 16 Jan 2021 14:55:13 +0100 Subject: [PATCH 08/27] Adjusted the firmware to display percent instead of gfx. --- src/displayapp/screens/Clock.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 57659141..5849f4cc 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -98,7 +98,8 @@ bool Clock::Refresh() { batteryPercentRemaining = batteryController.PercentRemaining(); if (batteryPercentRemaining.IsUpdated()) { auto batteryPercent = batteryPercentRemaining.Get(); - lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent)); + // lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent)); + lv_label_set_text(batteryIcon, std::to_string(batteryPercent).c_str()); auto isCharging = batteryController.IsCharging() || batteryController.IsPowerPresent(); lv_label_set_text(batteryPlug, BatteryIcon::GetPlugIcon(isCharging)); } From e2d1f8191563a6dc0232050b36e00c7b35c9bc21 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sat, 16 Jan 2021 19:51:32 +0100 Subject: [PATCH 09/27] Converted percent remaining calc to int. --- src/components/battery/BatteryController.cpp | 6 +++--- src/components/battery/BatteryController.h | 6 +++--- src/displayapp/screens/Clock.cpp | 3 +-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index e0042f5c..aaa245e4 100644 --- a/src/components/battery/BatteryController.cpp +++ b/src/components/battery/BatteryController.cpp @@ -34,9 +34,9 @@ void Battery::Update() { // see https://forum.pine64.org/showthread.php?tid=8147 voltage = (value * 2.0f) / (1024/3.0f); - float percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; - percentRemaining = std::max(percentRemaining, 0.0f); - percentRemaining = std::min(percentRemaining, 100.0f); + int percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; + percentRemaining = std::max(percentRemaining, 0); + percentRemaining = std::min(percentRemaining, 100); percentRemainingBuffer.insert(percentRemaining); diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 21caffec..0f2c2a42 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -20,8 +20,8 @@ namespace Pinetime { } } - float GetAverage() const { - float sum = std::accumulate(arr.begin(), arr.end(), 0.0f); + int GetAverage() const { + int sum = std::accumulate(arr.begin(), arr.end(), 0.0f); return (sum / sz); } @@ -36,7 +36,7 @@ namespace Pinetime { public: void Init(); void Update(); - float PercentRemaining() const { return percentRemainingBuffer.GetAverage(); } + int PercentRemaining() const { return percentRemainingBuffer.GetAverage(); } float Voltage() const { return voltage; } bool IsCharging() const { return isCharging; } bool IsPowerPresent() const { return isPowerPresent; } diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 5849f4cc..57659141 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -98,8 +98,7 @@ bool Clock::Refresh() { batteryPercentRemaining = batteryController.PercentRemaining(); if (batteryPercentRemaining.IsUpdated()) { auto batteryPercent = batteryPercentRemaining.Get(); - // lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent)); - lv_label_set_text(batteryIcon, std::to_string(batteryPercent).c_str()); + lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent)); auto isCharging = batteryController.IsCharging() || batteryController.IsPowerPresent(); lv_label_set_text(batteryPlug, BatteryIcon::GetPlugIcon(isCharging)); } From 271ca78be55e2330b88bec90c7fe8f7a2e27bc87 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sat, 16 Jan 2021 20:18:55 +0100 Subject: [PATCH 10/27] Converted all the other float usage to int. --- src/components/battery/BatteryController.h | 2 +- src/displayapp/screens/BatteryIcon.cpp | 10 +++++----- src/displayapp/screens/BatteryIcon.h | 2 +- src/displayapp/screens/Clock.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 0f2c2a42..2329f162 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -7,7 +7,7 @@ namespace Pinetime { namespace Controllers { // A simple circular buffer that can be used to average - // out sensor values + // out the sensor values template class CircBuffer { public: diff --git a/src/displayapp/screens/BatteryIcon.cpp b/src/displayapp/screens/BatteryIcon.cpp index 4c102477..455b0c6d 100644 --- a/src/displayapp/screens/BatteryIcon.cpp +++ b/src/displayapp/screens/BatteryIcon.cpp @@ -3,11 +3,11 @@ using namespace Pinetime::Applications::Screens; -const char* BatteryIcon::GetBatteryIcon(float batteryPercent) { - if(batteryPercent > 90.0f) return Symbols::batteryFull; - if(batteryPercent > 75.0f) return Symbols::batteryThreeQuarter; - if(batteryPercent > 50.0f) return Symbols::batteryHalf; - if(batteryPercent > 25.0f) return Symbols::batteryOneQuarter; +const char* BatteryIcon::GetBatteryIcon(int batteryPercent) { + if(batteryPercent > 90) return Symbols::batteryFull; + if(batteryPercent > 75) return Symbols::batteryThreeQuarter; + if(batteryPercent > 50) return Symbols::batteryHalf; + if(batteryPercent > 25) return Symbols::batteryOneQuarter; return Symbols::batteryEmpty; } diff --git a/src/displayapp/screens/BatteryIcon.h b/src/displayapp/screens/BatteryIcon.h index f1001923..006e5621 100644 --- a/src/displayapp/screens/BatteryIcon.h +++ b/src/displayapp/screens/BatteryIcon.h @@ -6,7 +6,7 @@ namespace Pinetime { class BatteryIcon { public: static const char* GetUnknownIcon(); - static const char* GetBatteryIcon(float batteryPercent); + static const char* GetBatteryIcon(int batteryPercent); static const char* GetPlugIcon(bool isCharging); }; } diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index 4c5f60a0..c7f2d9db 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -62,7 +62,7 @@ namespace Pinetime { Pinetime::Controllers::DateTime::Days currentDayOfWeek = Pinetime::Controllers::DateTime::Days::Unknown; uint8_t currentDay = 0; - DirtyValue batteryPercentRemaining {0}; + DirtyValue batteryPercentRemaining {0}; DirtyValue bleState {false}; DirtyValue> currentDateTime; DirtyValue stepCount {0}; From 8697a06642a65df34dff4e97bbade736ee4402de Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sat, 16 Jan 2021 20:36:34 +0100 Subject: [PATCH 11/27] Changed std accumulate to use int instead of a float. --- src/components/battery/BatteryController.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 2329f162..ecf8c91f 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -21,7 +21,7 @@ namespace Pinetime { } int GetAverage() const { - int sum = std::accumulate(arr.begin(), arr.end(), 0.0f); + int sum = std::accumulate(arr.begin(), arr.end(), 0); return (sum / sz); } From 952021cdb689f966fd745a37db0658f6787d9dc0 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sat, 16 Jan 2021 21:31:58 +0100 Subject: [PATCH 12/27] Changed float to int in battery controller file. --- src/components/battery/BatteryController.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index ecf8c91f..3138d243 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -12,7 +12,7 @@ namespace Pinetime { class CircBuffer { public: CircBuffer() : arr{}, sz{}, cap{N}, loc{} {} - void insert(const float num) { + void insert(const int num) { loc %= cap; arr[loc++] = num; if (sz != cap) { @@ -26,7 +26,7 @@ namespace Pinetime { } private: - std::array arr; + std::array arr; uint8_t sz; uint8_t cap; uint8_t loc; From 04063cf0af29e09946bf3d1fa77ae91235cd8b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 17 Jan 2021 10:39:46 +0100 Subject: [PATCH 13/27] HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ON when the app is closed), display the HR value on the Clock app. --- .../heartrate/HeartRateController.cpp | 4 +- .../heartrate/HeartRateController.h | 4 +- src/components/heartrate/Ppg.cpp | 4 ++ src/components/heartrate/Ppg.h | 1 + src/displayapp/DisplayApp.cpp | 4 +- src/displayapp/screens/Clock.cpp | 18 ++++-- src/displayapp/screens/Clock.h | 6 +- src/displayapp/screens/HeartRate.cpp | 61 +++++++++++++++---- src/displayapp/screens/HeartRate.h | 4 ++ src/heartratetask/HeartRateTask.cpp | 16 +++-- src/systemtask/SystemTask.cpp | 8 +-- src/systemtask/SystemTask.h | 3 +- 12 files changed, 98 insertions(+), 35 deletions(-) diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index 53b34e6c..62ce8aef 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -16,15 +16,15 @@ void HeartRateController::Update(HeartRateController::States newState, uint8_t h void HeartRateController::Start() { if(task != nullptr) { + state = States::NotEnoughData; task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); - systemTask.PushMessage(System::SystemTask::Messages::HeartRateRunning); } } void HeartRateController::Stop() { if(task != nullptr) { + state = States::Stopped; task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); - systemTask.PushMessage(System::SystemTask::Messages::HeartRateStopped); } } diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index b401f76a..bbb1b88b 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Controllers { class HeartRateController { public: - enum class States { NotEnoughData, NoTouch, Running}; + enum class States { Stopped, NotEnoughData, NoTouch, Running}; explicit HeartRateController(System::SystemTask& systemTask); @@ -27,7 +27,7 @@ namespace Pinetime { private: System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; - States state = States::NotEnoughData; + States state = States::Stopped; uint8_t heartRate = 0; }; } diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp index c9a11030..27617c15 100644 --- a/src/components/heartrate/Ppg.cpp +++ b/src/components/heartrate/Ppg.cpp @@ -94,3 +94,7 @@ void Ppg::SetOffset(uint16_t offset) { this->offset = offset; dataIndex = 0; } + +void Ppg::Reset() { + dataIndex = 0; +} diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h index 846ade08..747ae019 100644 --- a/src/components/heartrate/Ppg.h +++ b/src/components/heartrate/Ppg.h @@ -14,6 +14,7 @@ namespace Pinetime { float HeartRate(); void SetOffset(uint16_t i); + void Reset(); private: std::array data; diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index b10b1e1a..7ae9f819 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -39,7 +39,7 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver dateTimeController{dateTimeController}, watchdog{watchdog}, touchPanel{touchPanel}, - currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager) }, + currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, heartRateController) }, systemTask{systemTask}, notificationManager{notificationManager}, heartRateController{heartRateController} { @@ -200,7 +200,7 @@ void DisplayApp::RunningState() { case Apps::None: case Apps::Launcher: currentScreen.reset(new Screens::ApplicationList(this)); break; case Apps::Clock: - currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager)); + currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, heartRateController)); onClockApp = true; break; // case Apps::Test: currentScreen.reset(new Screens::Message(this)); break; diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 57659141..2988922e 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -10,6 +10,7 @@ #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" #include "components/ble/NotificationManager.h" +#include "components/heartrate/HeartRateController.h" #include "../DisplayApp.h" using namespace Pinetime::Applications::Screens; @@ -26,9 +27,11 @@ Clock::Clock(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, Controllers::Ble& bleController, - Controllers::NotificationManager& notificatioManager) : Screen(app), currentDateTime{{}}, + Controllers::NotificationManager& notificatioManager, + Controllers::HeartRateController& heartRateController): Screen(app), currentDateTime{{}}, dateTimeController{dateTimeController}, batteryController{batteryController}, - bleController{bleController}, notificatioManager{notificatioManager} { + bleController{bleController}, notificatioManager{notificatioManager}, + heartRateController{heartRateController} { displayedChar[0] = 0; displayedChar[1] = 0; displayedChar[2] = 0; @@ -171,10 +174,15 @@ bool Clock::Refresh() { } } - // TODO heartbeat = heartBeatController.GetValue(); - if(heartbeat.IsUpdated()) { + heartbeat = heartRateController.HeartRate(); + heartbeatRunning = heartRateController.State() != Controllers::HeartRateController::States::Stopped; + if(heartbeat.IsUpdated() || heartbeatRunning.IsUpdated()) { char heartbeatBuffer[4]; - sprintf(heartbeatBuffer, "%d", heartbeat.Get()); + if(heartbeatRunning.Get()) + sprintf(heartbeatBuffer, "%d", heartbeat.Get()); + else + sprintf(heartbeatBuffer, "---"); + lv_label_set_text(heartbeatValue, heartbeatBuffer); lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2); lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0); diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index 4c5f60a0..4d5be282 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -12,6 +12,7 @@ namespace Pinetime { class Battery; class Ble; class NotificationManager; + class HeartRateController; } namespace Applications { @@ -42,7 +43,8 @@ namespace Pinetime { Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, Controllers::Ble& bleController, - Controllers::NotificationManager& notificatioManager); + Controllers::NotificationManager& notificatioManager, + Controllers::HeartRateController& heartRateController); ~Clock() override; bool Refresh() override; @@ -67,6 +69,7 @@ namespace Pinetime { DirtyValue> currentDateTime; DirtyValue stepCount {0}; DirtyValue heartbeat {0}; + DirtyValue heartbeatRunning {false}; DirtyValue notificationState {false}; lv_obj_t* label_time; @@ -86,6 +89,7 @@ namespace Pinetime { Controllers::Battery& batteryController; Controllers::Ble& bleController; Controllers::NotificationManager& notificatioManager; + Controllers::HeartRateController& heartRateController; bool running = true; diff --git a/src/displayapp/screens/HeartRate.cpp b/src/displayapp/screens/HeartRate.cpp index 2d25f89c..d55ed019 100644 --- a/src/displayapp/screens/HeartRate.cpp +++ b/src/displayapp/screens/HeartRate.cpp @@ -8,13 +8,25 @@ using namespace Pinetime::Applications::Screens; extern lv_font_t jetbrains_mono_extrabold_compressed; extern lv_font_t jetbrains_mono_bold_20; -const char* ToString(Pinetime::Controllers::HeartRateController::States s) { - switch(s) { - case Pinetime::Controllers::HeartRateController::States::NotEnoughData: return "Not enough data,\nplease wait..."; - case Pinetime::Controllers::HeartRateController::States::NoTouch: return "No touch detected"; - case Pinetime::Controllers::HeartRateController::States::Running: return "Measuring..."; +namespace { + const char *ToString(Pinetime::Controllers::HeartRateController::States s) { + switch (s) { + case Pinetime::Controllers::HeartRateController::States::NotEnoughData: + return "Not enough data,\nplease wait..."; + case Pinetime::Controllers::HeartRateController::States::NoTouch: + return "No touch detected"; + case Pinetime::Controllers::HeartRateController::States::Running: + return "Measuring..."; + case Pinetime::Controllers::HeartRateController::States::Stopped: + return "Stopped"; + } + return ""; + } + + static void btnStartStopEventHandler(lv_obj_t *obj, lv_event_t event) { + HeartRate *screen = static_cast(obj->user_data); + screen->OnStartStopEvent(event); } - return ""; } HeartRate::HeartRate(Pinetime::Applications::DisplayApp *app, Controllers::HeartRateController& heartRateController) : Screen(app), heartRateController{heartRateController} { @@ -30,7 +42,7 @@ HeartRate::HeartRate(Pinetime::Applications::DisplayApp *app, Controllers::Heart label_hr = lv_label_create(lv_scr_act(), NULL); lv_label_set_style(label_hr, LV_LABEL_STYLE_MAIN, &labelBigStyle); - lv_obj_align(label_hr, lv_scr_act(), LV_ALIGN_CENTER, -70, 0); + lv_obj_align(label_hr, lv_scr_act(), LV_ALIGN_CENTER, -70, -40); lv_label_set_text(label_hr, "000"); lv_label_set_text(label_bpm, "Heart rate BPM"); @@ -40,13 +52,19 @@ HeartRate::HeartRate(Pinetime::Applications::DisplayApp *app, Controllers::Heart label_status = lv_label_create(lv_scr_act(), NULL); lv_label_set_text(label_status, ToString(Pinetime::Controllers::HeartRateController::States::NotEnoughData)); lv_label_set_style(label_status, LV_LABEL_STYLE_MAIN, labelStyle); - lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 20); + lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); - heartRateController.Start(); + btn_startStop = lv_btn_create(lv_scr_act(), NULL); + btn_startStop->user_data = this; + lv_obj_set_height(btn_startStop, 50); + lv_obj_set_event_cb(btn_startStop, btnStartStopEventHandler); + lv_obj_align(btn_startStop, nullptr, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + + label_startStop = lv_label_create(btn_startStop, nullptr); + UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped); } HeartRate::~HeartRate() { - heartRateController.Stop(); lv_obj_clean(lv_scr_act()); } @@ -57,6 +75,7 @@ bool HeartRate::Refresh() { switch(state) { case Controllers::HeartRateController::States::NoTouch: case Controllers::HeartRateController::States::NotEnoughData: + case Controllers::HeartRateController::States::Stopped: lv_label_set_text(label_hr, "000"); break; default: @@ -65,7 +84,7 @@ bool HeartRate::Refresh() { } lv_label_set_text(label_status, ToString(state)); - lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 20); + lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); return running; } @@ -74,3 +93,23 @@ bool HeartRate::OnButtonPushed() { running = false; return true; } + +void HeartRate::OnStartStopEvent(lv_event_t event) { + if (event == LV_EVENT_CLICKED) { + if(heartRateController.State() == Controllers::HeartRateController::States::Stopped) { + heartRateController.Start(); + UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped); + } + else { + heartRateController.Stop(); + UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped); + } + } +} + +void HeartRate::UpdateStartStopButton(bool isRunning) { + if(isRunning) + lv_label_set_text(label_startStop, "Stop"); + else + lv_label_set_text(label_startStop, "Start"); +} diff --git a/src/displayapp/screens/HeartRate.h b/src/displayapp/screens/HeartRate.h index 41fd5bb3..b9424998 100644 --- a/src/displayapp/screens/HeartRate.h +++ b/src/displayapp/screens/HeartRate.h @@ -21,14 +21,18 @@ namespace Pinetime { bool Refresh() override; bool OnButtonPushed() override; + void OnStartStopEvent(lv_event_t event); private: Controllers::HeartRateController& heartRateController; + void UpdateStartStopButton(bool isRunning); lv_obj_t* label_hr; lv_obj_t* label_bpm; lv_obj_t* label_status; lv_style_t labelBigStyle; lv_style_t* labelStyle; + lv_obj_t* btn_startStop; + lv_obj_t* label_startStop; bool running = true; diff --git a/src/heartratetask/HeartRateTask.cpp b/src/heartratetask/HeartRateTask.cpp index 5ce27452..5a6d2a5e 100644 --- a/src/heartratetask/HeartRateTask.cpp +++ b/src/heartratetask/HeartRateTask.cpp @@ -42,14 +42,21 @@ void HeartRateTask::Work() { break; case Messages::WakeUp: state = States::Running; + if(measurementStarted) { + lastBpm = 0; + StartMeasurement(); + } break; case Messages::StartMeasurement: + if(measurementStarted) break; lastBpm = 0; StartMeasurement(); - ppg.SetOffset(heartRateSensor.ReadHrs()); + measurementStarted = true; break; case Messages::StopMeasurement: + if(!measurementStarted) break; StopMeasurement(); + measurementStarted = false; break; } } @@ -59,7 +66,7 @@ void HeartRateTask::Work() { ppg.Preprocess(hrs); auto bpm = ppg.HeartRate(); - if (lastBpm == 0 && bpm == 0) controller.Update(Controllers::HeartRateController::States::NoTouch, 0); + if (lastBpm == 0 && bpm == 0) controller.Update(Controllers::HeartRateController::States::NotEnoughData, 0); if(bpm != 0) { lastBpm = bpm; controller.Update(Controllers::HeartRateController::States::Running, lastBpm); @@ -80,10 +87,11 @@ void HeartRateTask::PushMessage(HeartRateTask::Messages msg) { void HeartRateTask::StartMeasurement() { heartRateSensor.Enable(); - measurementStarted = true; + vTaskDelay(100); + ppg.SetOffset(static_cast(heartRateSensor.ReadHrs())); } void HeartRateTask::StopMeasurement() { heartRateSensor.Disable(); - measurementStarted = false; + vTaskDelay(100); } diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index e7551235..eedbcf59 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -141,6 +141,7 @@ void SystemTask::Work() { displayApp->PushMessage(Applications::DisplayApp::Messages::GoToRunning); displayApp->PushMessage(Applications::DisplayApp::Messages::UpdateBatteryLevel); + heartRateApp->PushMessage(Pinetime::Applications::HeartRateTask::Messages::WakeUp); isSleeping = false; isWakingUp = false; @@ -150,6 +151,7 @@ void SystemTask::Work() { NRF_LOG_INFO("[systemtask] Going to sleep"); xTimerStop(idleTimer, 0); displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::GoToSleep); + heartRateApp->PushMessage(Pinetime::Applications::HeartRateTask::Messages::GoToSleep); break; case Messages::OnNewTime: ReloadIdleTimer(); @@ -195,12 +197,6 @@ void SystemTask::Work() { isSleeping = true; isGoingToSleep = false; break; - case Messages::HeartRateRunning: - doNotGoToSleep = true; - break; - case Messages::HeartRateStopped: - doNotGoToSleep = false; - break; default: break; } } diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index e4eb8d47..b93d0bce 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -28,8 +28,7 @@ namespace Pinetime { class SystemTask { public: enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification, BleConnected, - BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping, - HeartRateRunning, HeartRateStopped + BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping }; SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, From b31c0e7e4571a2aef46672d49eedab0f31b820f4 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Sun, 17 Jan 2021 11:06:24 +0100 Subject: [PATCH 14/27] Added more descriptive comments in doxygen format. --- src/components/battery/BatteryController.h | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 3138d243..86250a57 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -6,15 +6,21 @@ namespace Pinetime { namespace Controllers { - // A simple circular buffer that can be used to average - // out the sensor values + /** A simple circular buffer that can be used to average + out the sensor values. The total capacity of the CircBuffer + is given as the template parameter N. + */ template class CircBuffer { public: - CircBuffer() : arr{}, sz{}, cap{N}, loc{} {} + CircBuffer() : arr{}, sz{}, cap{N}, head{} {} + /** + insert member function overwrites the next data to the current + HEAD and moves the HEAD to the newly inserted value. + */ void insert(const int num) { - loc %= cap; - arr[loc++] = num; + head %= cap; + arr[head++] = num; if (sz != cap) { sz++; } @@ -26,10 +32,10 @@ namespace Pinetime { } private: - std::array arr; - uint8_t sz; - uint8_t cap; - uint8_t loc; + std::array arr; /**< internal array used to store the values*/ + uint8_t sz; /**< The current size of the array.*/ + uint8_t cap; /**< Total capacity of the CircBuffer.*/ + uint8_t head; /**< The current head of the CircBuffer*/ }; class Battery { From 3a3a14115a81b9dd2c6f839c0ad1b14d04367642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 17 Jan 2021 16:33:45 +0100 Subject: [PATCH 15/27] Add License/copyright info in HR related files. --- src/components/heartrate/Biquad.cpp | 7 +++++++ src/components/heartrate/Ppg.cpp | 8 +++++++- src/components/heartrate/Ptagc.cpp | 7 +++++++ src/drivers/Hrs3300.cpp | 10 +++++++++- 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/components/heartrate/Biquad.cpp b/src/components/heartrate/Biquad.cpp index 37b3ba67..6a4b8181 100644 --- a/src/components/heartrate/Biquad.cpp +++ b/src/components/heartrate/Biquad.cpp @@ -1,7 +1,14 @@ +/* + SPDX-License-Identifier: LGPL-3.0-or-later + Original work Copyright (C) 2020 Daniel Thompson + C++ port Copyright (C) 2021 Jean-François Milants +*/ + #include "Biquad.h" using namespace Pinetime::Controllers; +/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */ Biquad::Biquad(float b0, float b1, float b2, float a1, float a2) : b0{b0}, b1{b1}, b2{b2}, a1{a1}, a2{a2} { } diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp index 27617c15..233c3003 100644 --- a/src/components/heartrate/Ppg.cpp +++ b/src/components/heartrate/Ppg.cpp @@ -1,10 +1,16 @@ +/* + SPDX-License-Identifier: LGPL-3.0-or-later + Original work Copyright (C) 2020 Daniel Thompson + C++ port Copyright (C) 2021 Jean-François Milants +*/ + #include #include #include "Ppg.h" using namespace Pinetime::Controllers; +/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */ namespace { - // TODO no vector! int Compare(int* d1, int* d2, size_t count) { int e = 0; for(int i = 0; i < count; i++) { diff --git a/src/components/heartrate/Ptagc.cpp b/src/components/heartrate/Ptagc.cpp index 9302af97..dd7c4411 100644 --- a/src/components/heartrate/Ptagc.cpp +++ b/src/components/heartrate/Ptagc.cpp @@ -1,8 +1,15 @@ +/* + SPDX-License-Identifier: LGPL-3.0-or-later + Original work Copyright (C) 2020 Daniel Thompson + C++ port Copyright (C) 2021 Jean-François Milants +*/ + #include #include "Ptagc.h" using namespace Pinetime::Controllers; +/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */ Ptagc::Ptagc(float start, float decay, float threshold) : peak{start}, decay{decay}, boost{1.0f/decay}, threshold{threshold} { } diff --git a/src/drivers/Hrs3300.cpp b/src/drivers/Hrs3300.cpp index 31956575..2aded7d3 100644 --- a/src/drivers/Hrs3300.cpp +++ b/src/drivers/Hrs3300.cpp @@ -1,3 +1,9 @@ +/* + SPDX-License-Identifier: LGPL-3.0-or-later + Original work Copyright (C) 2020 Daniel Thompson + C++ port Copyright (C) 2021 Jean-François Milants +*/ + #include #include #include "Hrs3300.h" @@ -7,7 +13,9 @@ #include using namespace Pinetime::Drivers; - +/** Driver for the HRS3300 heart rate sensor. + * Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/drivers/hrs3300.py + */ Hrs3300::Hrs3300(TwiMaster &twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, twiAddress{twiAddress} { } From 68674cec53e2e2add1c0a0b109e5a0e7d9ed5479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 17 Jan 2021 16:34:14 +0100 Subject: [PATCH 16/27] Add heart rate BLE service. --- src/CMakeLists.txt | 2 + src/components/ble/HeartRateService.cpp | 82 +++++++++++++++++++ src/components/ble/HeartRateService.h | 44 ++++++++++ src/components/ble/NimbleController.cpp | 7 +- src/components/ble/NimbleController.h | 5 +- .../heartrate/HeartRateController.cpp | 9 +- .../heartrate/HeartRateController.h | 4 + src/systemtask/SystemTask.cpp | 4 +- src/systemtask/SystemTask.h | 2 +- 9 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 src/components/ble/HeartRateService.cpp create mode 100644 src/components/ble/HeartRateService.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 86cfc1c2..693442b8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -375,6 +375,7 @@ list(APPEND SOURCE_FILES components/ble/BatteryInformationService.cpp components/ble/ImmediateAlertService.cpp components/ble/ServiceDiscovery.cpp + components/ble/HeartRateService.cpp components/firmwarevalidator/FirmwareValidator.cpp drivers/Cst816s.cpp FreeRTOS/port.c @@ -464,6 +465,7 @@ set(INCLUDE_FILES components/ble/ImmediateAlertService.h components/ble/ServiceDiscovery.h components/ble/BleClient.h + components/ble/HeartRateService.h.h drivers/Cst816s.h FreeRTOS/portmacro.h FreeRTOS/portmacro_cmsis.h diff --git a/src/components/ble/HeartRateService.cpp b/src/components/ble/HeartRateService.cpp new file mode 100644 index 00000000..ecd6235d --- /dev/null +++ b/src/components/ble/HeartRateService.cpp @@ -0,0 +1,82 @@ +#include "HeartRateService.h" +#include "components/heartrate/HeartRateController.h" +#include "systemtask/SystemTask.h" + +using namespace Pinetime::Controllers; + +constexpr ble_uuid16_t HeartRateService::heartRateServiceUuid; +constexpr ble_uuid16_t HeartRateService::heartRateMeasurementUuid; + +namespace { + int HeartRateServiceServiceCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) { + auto* heartRateService = static_cast(arg); + return heartRateService->OnHeartRateRequested(conn_handle, attr_handle, ctxt); + } +} + +// TODO Refactoring - remove dependency to SystemTask +HeartRateService::HeartRateService(Pinetime::System::SystemTask &system, Controllers::HeartRateController& heartRateController) : + system{system}, + heartRateController{heartRateController}, + characteristicDefinition{ + { + .uuid = (ble_uuid_t *) &heartRateMeasurementUuid, + .access_cb = HeartRateServiceServiceCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_NOTIFY, + .val_handle = &heartRateMeasurementHandle + }, + { + 0 + } + }, + serviceDefinition{ + { + /* Device Information Service */ + .type = BLE_GATT_SVC_TYPE_PRIMARY, + .uuid = (ble_uuid_t *) &heartRateServiceUuid, + .characteristics = characteristicDefinition + }, + { + 0 + }, + }{ + // TODO refactor to prevent this loop dependency (service depends on controller and controller depends on service) + heartRateController.SetService(this); +} + +void HeartRateService::Init() { + int res = 0; + res = ble_gatts_count_cfg(serviceDefinition); + ASSERT(res == 0); + + res = ble_gatts_add_svcs(serviceDefinition); + ASSERT(res == 0); +} + +int HeartRateService::OnHeartRateRequested(uint16_t connectionHandle, uint16_t attributeHandle, + ble_gatt_access_ctxt *context) { + if(attributeHandle == heartRateMeasurementHandle) { + NRF_LOG_INFO("BATTERY : handle = %d", heartRateMeasurementHandle); + static uint8_t batteryValue = heartRateController.HeartRate(); + + uint8_t buffer[2] = {0, heartRateController.HeartRate()}; // [0] = flags, [1] = hr value + + int res = os_mbuf_append(context->om, buffer, 2); + return (res == 0) ? 0 : BLE_ATT_ERR_INSUFFICIENT_RES; + } + return 0; +} + +void HeartRateService::OnNewHeartRateValue(uint8_t heartRateValue) { + uint8_t buffer[2] = {0, heartRateController.HeartRate()}; // [0] = flags, [1] = hr value + auto *om = ble_hs_mbuf_from_flat(buffer, 2); + + uint16_t connectionHandle = system.nimble().connHandle(); + + if (connectionHandle == 0 || connectionHandle == BLE_HS_CONN_HANDLE_NONE) { + return; + } + + ble_gattc_notify_custom(connectionHandle, heartRateMeasurementHandle, om); +} diff --git a/src/components/ble/HeartRateService.h b/src/components/ble/HeartRateService.h new file mode 100644 index 00000000..835e2941 --- /dev/null +++ b/src/components/ble/HeartRateService.h @@ -0,0 +1,44 @@ +#pragma once +#define min // workaround: nimble's min/max macros conflict with libstdc++ +#define max +#include +#undef max +#undef min + +namespace Pinetime { + namespace System { + class SystemTask; + } + namespace Controllers { + class HeartRateController; + class HeartRateService { + public: + HeartRateService(Pinetime::System::SystemTask &system, Controllers::HeartRateController& heartRateController); + void Init(); + int OnHeartRateRequested(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt *context); + void OnNewHeartRateValue(uint8_t hearRateValue); + + private: + Pinetime::System::SystemTask &system; + Controllers::HeartRateController& heartRateController; + static constexpr uint16_t heartRateServiceId {0x180D}; + static constexpr uint16_t heartRateMeasurementId {0x2A37}; + + static constexpr ble_uuid16_t heartRateServiceUuid { + .u {.type = BLE_UUID_TYPE_16}, + .value = heartRateServiceId + }; + + static constexpr ble_uuid16_t heartRateMeasurementUuid { + .u {.type = BLE_UUID_TYPE_16}, + .value = heartRateMeasurementId + }; + + struct ble_gatt_chr_def characteristicDefinition[3]; + struct ble_gatt_svc_def serviceDefinition[2]; + + uint16_t heartRateMeasurementHandle; + + }; + } +} diff --git a/src/components/ble/NimbleController.cpp b/src/components/ble/NimbleController.cpp index a6f3cc39..608e230e 100644 --- a/src/components/ble/NimbleController.cpp +++ b/src/components/ble/NimbleController.cpp @@ -22,7 +22,8 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask, DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager, Controllers::Battery& batteryController, - Pinetime::Drivers::SpiNorFlash& spiNorFlash) : + Pinetime::Drivers::SpiNorFlash& spiNorFlash, + Controllers::HeartRateController& heartRateController) : systemTask{systemTask}, bleController{bleController}, dateTimeController{dateTimeController}, @@ -36,7 +37,8 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask, musicService{systemTask}, batteryInformationService{batteryController}, immediateAlertService{systemTask, notificationManager}, - serviceDiscovery({¤tTimeClient, &alertNotificationClient}) { + serviceDiscovery({¤tTimeClient, &alertNotificationClient}), + heartRateService{systemTask, heartRateController} { } int GAPEventCallback(struct ble_gap_event *event, void *arg) { @@ -58,6 +60,7 @@ void NimbleController::Init() { dfuService.Init(); batteryInformationService.Init(); immediateAlertService.Init(); + heartRateService.Init(); int res; res = ble_hs_util_ensure_addr(0); ASSERT(res == 0); diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h index 914f11e6..304182a2 100644 --- a/src/components/ble/NimbleController.h +++ b/src/components/ble/NimbleController.h @@ -17,6 +17,7 @@ #include "ImmediateAlertService.h" #include "MusicService.h" #include "ServiceDiscovery.h" +#include "HeartRateService.h" namespace Pinetime { namespace Drivers { @@ -37,7 +38,8 @@ namespace Pinetime { public: NimbleController(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController, DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager, - Controllers::Battery& batteryController, Pinetime::Drivers::SpiNorFlash& spiNorFlash); + Controllers::Battery& batteryController, Pinetime::Drivers::SpiNorFlash& spiNorFlash, + Controllers::HeartRateController& heartRateController); void Init(); void StartAdvertising(); int OnGAPEvent(ble_gap_event *event); @@ -74,6 +76,7 @@ namespace Pinetime { MusicService musicService; BatteryInformationService batteryInformationService; ImmediateAlertService immediateAlertService; + HeartRateService heartRateService; uint8_t addrType; // 1 = Random, 0 = PUBLIC uint16_t connectionHandle = 0; diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index 62ce8aef..d0b0d513 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -11,7 +11,10 @@ HeartRateController::HeartRateController(Pinetime::System::SystemTask &systemTas void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) { this->state = newState; - this->heartRate = heartRate; + if(this->heartRate != heartRate) { + this->heartRate = heartRate; + service->OnNewHeartRateValue(heartRate); + } } void HeartRateController::Start() { @@ -32,3 +35,7 @@ void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask this->task = task; } +void HeartRateController::SetService(Pinetime::Controllers::HeartRateService *service) { + this->service = service; +} + diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index bbb1b88b..001111b5 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -1,6 +1,7 @@ #pragma once #include +#include namespace Pinetime { namespace Applications { @@ -24,11 +25,14 @@ namespace Pinetime { States State() const { return state; } uint8_t HeartRate() const { return heartRate; } + void SetService(Pinetime::Controllers::HeartRateService *service); + private: System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; States state = States::Stopped; uint8_t heartRate = 0; + Pinetime::Controllers::HeartRateService* service = nullptr; }; } } \ No newline at end of file diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index eedbcf59..13a84c26 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -47,8 +47,8 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, heartRateController{*this}, bleController{bleController}, dateTimeController{dateTimeController}, watchdog{}, watchdogView{watchdog}, notificationManager{notificationManager}, - nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash), - heartRateSensor{heartRateSensor}{ + heartRateSensor{heartRateSensor}, + nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash, heartRateController) { systemTasksMsgQueue = xQueueCreate(10, 1); } diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index b93d0bce..cf3f1021 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -74,8 +74,8 @@ namespace Pinetime { Pinetime::Drivers::Watchdog watchdog; Pinetime::Drivers::WatchdogView watchdogView; Pinetime::Controllers::NotificationManager& notificationManager; - Pinetime::Controllers::NimbleController nimbleController; Pinetime::Drivers::Hrs3300& heartRateSensor; + Pinetime::Controllers::NimbleController nimbleController; static constexpr uint8_t pinSpiSck = 2; static constexpr uint8_t pinSpiMosi = 3; From 39d9fc20530978743d6134f60a85785907323c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sun, 17 Jan 2021 18:25:22 +0100 Subject: [PATCH 17/27] Fix bug in animation management for lv_label --- ...in_animation_management_for_lv_label.patch | 51 +++++++++++++++++++ src/libs/lvgl/src/lv_misc/lv_anim.c | 4 +- src/libs/lvgl/src/lv_misc/lv_anim.h | 6 +-- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch diff --git a/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch b/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch new file mode 100644 index 00000000..7b4c204a --- /dev/null +++ b/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch @@ -0,0 +1,51 @@ +Index: src/libs/lvgl/src/lv_misc/lv_anim.c +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.c b/src/libs/lvgl/src/lv_misc/lv_anim.c +--- a/src/libs/lvgl/src/lv_misc/lv_anim.c (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4) ++++ b/src/libs/lvgl/src/lv_misc/lv_anim.c (date 1610901672072) +@@ -158,12 +158,12 @@ + * @param end end value of the animation + * @return the required time [ms] for the animation with the given parameters + */ +-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) ++uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) + { + int32_t d = LV_MATH_ABS((int32_t)start - end); + uint32_t time = (int32_t)((int32_t)(d * 1000) / speed); + +- if(time > UINT16_MAX) time = UINT16_MAX; ++ if(time > UINT32_MAX) time = UINT32_MAX; + + if(time == 0) { + time++; +Index: src/libs/lvgl/src/lv_misc/lv_anim.h +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.h b/src/libs/lvgl/src/lv_misc/lv_anim.h +--- a/src/libs/lvgl/src/lv_misc/lv_anim.h (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4) ++++ b/src/libs/lvgl/src/lv_misc/lv_anim.h (date 1610901672076) +@@ -73,8 +73,8 @@ + lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/ + int32_t start; /**< Start value*/ + int32_t end; /**< End value*/ +- uint16_t time; /**< Animation time in ms*/ +- int16_t act_time; /**< Current time in animation. Set to negative to make delay.*/ ++ uint32_t time; /**< Animation time in ms*/ ++ int32_t act_time; /**< Current time in animation. Set to negative to make delay.*/ + uint16_t playback_pause; /**< Wait before play back*/ + uint16_t repeat_pause; /**< Wait before repeat*/ + #if LV_USE_USER_DATA +@@ -266,7 +266,7 @@ + * @param end end value of the animation + * @return the required time [ms] for the animation with the given parameters + */ +-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); ++uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); + + /** + * Calculate the current value of an animation applying linear characteristic diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.c b/src/libs/lvgl/src/lv_misc/lv_anim.c index 790dfc77..77bd87b9 100644 --- a/src/libs/lvgl/src/lv_misc/lv_anim.c +++ b/src/libs/lvgl/src/lv_misc/lv_anim.c @@ -158,12 +158,12 @@ uint16_t lv_anim_count_running(void) * @param end end value of the animation * @return the required time [ms] for the animation with the given parameters */ -uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) +uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) { int32_t d = LV_MATH_ABS((int32_t)start - end); uint32_t time = (int32_t)((int32_t)(d * 1000) / speed); - if(time > UINT16_MAX) time = UINT16_MAX; + if(time > UINT32_MAX) time = UINT32_MAX; if(time == 0) { time++; diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.h b/src/libs/lvgl/src/lv_misc/lv_anim.h index 36cc35ad..b43035aa 100644 --- a/src/libs/lvgl/src/lv_misc/lv_anim.h +++ b/src/libs/lvgl/src/lv_misc/lv_anim.h @@ -73,8 +73,8 @@ typedef struct _lv_anim_t lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/ int32_t start; /**< Start value*/ int32_t end; /**< End value*/ - uint16_t time; /**< Animation time in ms*/ - int16_t act_time; /**< Current time in animation. Set to negative to make delay.*/ + uint32_t time; /**< Animation time in ms*/ + int32_t act_time; /**< Current time in animation. Set to negative to make delay.*/ uint16_t playback_pause; /**< Wait before play back*/ uint16_t repeat_pause; /**< Wait before repeat*/ #if LV_USE_USER_DATA @@ -266,7 +266,7 @@ uint16_t lv_anim_count_running(void); * @param end end value of the animation * @return the required time [ms] for the animation with the given parameters */ -uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); +uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); /** * Calculate the current value of an animation applying linear characteristic From 74f094d4e9d54d50373381e4a9e2e982b49bd1aa Mon Sep 17 00:00:00 2001 From: Avamander Date: Sun, 17 Jan 2021 20:53:04 +0200 Subject: [PATCH 18/27] Create FUNDING.yml Added a link to the LiberaPay donation page --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..3af8fb9e --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +liberapay: JF002 From c78291de65ffba9c0638a09eeef5cc264c4fb4ee Mon Sep 17 00:00:00 2001 From: Michael Potter <7788329+michaelPotter@users.noreply.github.com> Date: Tue, 19 Jan 2021 11:07:47 -0800 Subject: [PATCH 19/27] Fix config file discrepancy Fixes a discrepancy with config file naming. The config files it tells you to create end in ocd, but the example flash command uses a filename ending in cfg --- doc/openOCD.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/openOCD.md b/doc/openOCD.md index a199bd7a..b3661cee 100644 --- a/doc/openOCD.md +++ b/doc/openOCD.md @@ -89,12 +89,12 @@ reset ## Examples ### Flash bootloader and application ``` -openocd -f ./openocd-stlink.cfg -f ./flash_bootloader_app.ocd +openocd -f ./openocd-stlink.ocd -f ./flash_bootloader_app.ocd ``` ### Flash graphics flasher ``` -openocd -f ./openocd-stlink.cfg -f ./flash_graphics.ocd +openocd -f ./openocd-stlink.ocd -f ./flash_graphics.ocd ``` ## Connect the STLinkV2 to the PineTime @@ -102,4 +102,4 @@ Here is an example using the pogo pins: ![SWD pinout](../images/swd_pinout.jpg) ![Pogo pins](../images/pogopins.jpg) -You can find more information about the SWD wiring [on the wiki](https://wiki.pine64.org/index.php?title=PineTime_devkit_wiring). \ No newline at end of file +You can find more information about the SWD wiring [on the wiki](https://wiki.pine64.org/index.php?title=PineTime_devkit_wiring). From 54d437adb8843f44eac5fe41eb8d10ebed111709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Tue, 19 Jan 2021 21:15:36 +0100 Subject: [PATCH 20/27] Add guideline to chose the UUID of custom BLE services in docs. --- doc/ble.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doc/ble.md b/doc/ble.md index 9a7c59a8..fdf1a5b6 100644 --- a/doc/ble.md +++ b/doc/ble.md @@ -15,6 +15,29 @@ If **CTS** is detected, it'll request the current time to the companion applicat ![BLE connection sequence diagram](ble/connection_sequence.png "BLE connection sequence diagram") +## BLE UUIDs +When possible, InfiniTime tries to implement BLE services defined by the BLE specification. + +When the service does not exist in the BLE specification, InfiniTime implement custom services. As all BLE services, custom services are identified by a UUID. Here is how to define the UUID of custom services in InfiniTime: + +``` + - Base UUID : xxxxxxxx-78fc-48fe-8e23-433b3a1942d0 + - Service UUID : SSSS0000-78fc-48fe-8e23-433b3a1942d0 where SSSS is the service ID + - Characteristic UUID : SSSSCCCC-78fc-48fe-8e23-433b3a1942d0 where CCCC is the characteristic ID for the service SSSS and is different than 0 +``` + +The following custom services are implemented in InfiniTime: + + - Since InfiniTime 0.8: + ``` + * Music Service : 00000000-78fc-48fe-8e23-433b3a1942d0 + ``` + + - Since InfiniTime 0.11: + ``` + * Navigation Service : 00010000-78fc-48fe-8e23-433b3a1942d0 + ``` + ## BLE services [List of standard BLE services](https://www.bluetooth.com/specifications/gatt/services/) From ccbe2e8e1b15a09b4d9e51b54a5a2e4cdb847fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Tue, 19 Jan 2021 21:17:03 +0100 Subject: [PATCH 21/27] Adapt the UUID of Music service according to new guidelines. --- src/components/ble/MusicService.cpp | 88 ++++++++++++++++++++--------- src/components/ble/MusicService.h | 30 +++++----- 2 files changed, 77 insertions(+), 41 deletions(-) diff --git a/src/components/ble/MusicService.cpp b/src/components/ble/MusicService.cpp index fdecb6b3..bd6e27fb 100644 --- a/src/components/ble/MusicService.cpp +++ b/src/components/ble/MusicService.cpp @@ -24,32 +24,68 @@ int MSCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_acces } Pinetime::Controllers::MusicService::MusicService(Pinetime::System::SystemTask &system) : m_system(system) { - msUuid.value[11] = msId[0]; - msUuid.value[12] = msId[1]; - msEventCharUuid.value[11] = msEventCharId[0]; - msEventCharUuid.value[12] = msEventCharId[1]; - msStatusCharUuid.value[11] = msStatusCharId[0]; - msStatusCharUuid.value[12] = msStatusCharId[1]; - msTrackCharUuid.value[11] = msTrackCharId[0]; - msTrackCharUuid.value[12] = msTrackCharId[1]; - msArtistCharUuid.value[11] = msArtistCharId[0]; - msArtistCharUuid.value[12] = msArtistCharId[1]; - msAlbumCharUuid.value[11] = msAlbumCharId[0]; - msAlbumCharUuid.value[12] = msAlbumCharId[1]; - msPositionCharUuid.value[11] = msPositionCharId[0]; - msPositionCharUuid.value[12] = msPositionCharId[1]; - msTotalLengthCharUuid.value[11] = msTotalLengthCharId[0]; - msTotalLengthCharUuid.value[12] = msTotalLengthCharId[1]; - msTrackNumberCharUuid.value[11] = msTrackNumberCharId[0]; - msTrackNumberCharUuid.value[12] = msTrackNumberCharId[1]; - msTrackTotalCharUuid.value[11] = msTrackTotalCharId[0]; - msTrackTotalCharUuid.value[12] = msTrackTotalCharId[1]; - msPlaybackSpeedCharUuid.value[11] = msPlaybackSpeedCharId[0]; - msPlaybackSpeedCharUuid.value[12] = msPlaybackSpeedCharId[1]; - msRepeatCharUuid.value[11] = msRepeatCharId[0]; - msRepeatCharUuid.value[12] = msRepeatCharId[1]; - msShuffleCharUuid.value[11] = msShuffleCharId[0]; - msShuffleCharUuid.value[12] = msShuffleCharId[1]; + msUuid.value[14] = msId[0]; + msUuid.value[15] = msId[1]; + + msEventCharUuid.value[12] = msEventCharId[0]; + msEventCharUuid.value[13] = msEventCharId[1]; + msEventCharUuid.value[14] = msId[0]; + msEventCharUuid.value[15] = msId[1]; + + msStatusCharUuid.value[12] = msStatusCharId[0]; + msStatusCharUuid.value[13] = msStatusCharId[1]; + msStatusCharUuid.value[14] = msId[0]; + msStatusCharUuid.value[15] = msId[1]; + + msTrackCharUuid.value[12] = msTrackCharId[0]; + msTrackCharUuid.value[13] = msTrackCharId[1]; + msTrackCharUuid.value[14] = msId[0]; + msTrackCharUuid.value[15] = msId[1]; + + msArtistCharUuid.value[12] = msArtistCharId[0]; + msArtistCharUuid.value[13] = msArtistCharId[1]; + msArtistCharUuid.value[14] = msId[0]; + msArtistCharUuid.value[15] = msId[1]; + + msAlbumCharUuid.value[12] = msAlbumCharId[0]; + msAlbumCharUuid.value[13] = msAlbumCharId[1]; + msAlbumCharUuid.value[14] = msId[0]; + msAlbumCharUuid.value[15] = msId[1]; + + msPositionCharUuid.value[12] = msPositionCharId[0]; + msPositionCharUuid.value[13] = msPositionCharId[1]; + msPositionCharUuid.value[14] = msId[0]; + msPositionCharUuid.value[15] = msId[1]; + + msTotalLengthCharUuid.value[12] = msTotalLengthCharId[0]; + msTotalLengthCharUuid.value[13] = msTotalLengthCharId[1]; + msTotalLengthCharUuid.value[14] = msId[0]; + msTotalLengthCharUuid.value[15] = msId[1]; + + msTrackNumberCharUuid.value[12] = msTrackNumberCharId[0]; + msTrackNumberCharUuid.value[13] = msTrackNumberCharId[1]; + msTrackNumberCharUuid.value[14] = msId[0]; + msTrackNumberCharUuid.value[15] = msId[1]; + + msTrackTotalCharUuid.value[12] = msTrackTotalCharId[0]; + msTrackTotalCharUuid.value[13] = msTrackTotalCharId[1]; + msTrackTotalCharUuid.value[14] = msId[0]; + msTrackTotalCharUuid.value[15] = msId[1]; + + msPlaybackSpeedCharUuid.value[12] = msPlaybackSpeedCharId[0]; + msPlaybackSpeedCharUuid.value[13] = msPlaybackSpeedCharId[1]; + msPlaybackSpeedCharUuid.value[14] = msId[0]; + msPlaybackSpeedCharUuid.value[15] = msId[1]; + + msRepeatCharUuid.value[12] = msRepeatCharId[0]; + msRepeatCharUuid.value[13] = msRepeatCharId[1]; + msRepeatCharUuid.value[14] = msId[0]; + msRepeatCharUuid.value[15] = msId[1]; + + msShuffleCharUuid.value[12] = msShuffleCharId[0]; + msShuffleCharUuid.value[13] = msShuffleCharId[1]; + msShuffleCharUuid.value[14] = msId[0]; + msShuffleCharUuid.value[15] = msId[1]; characteristicDefinition[0] = {.uuid = (ble_uuid_t *) (&msEventCharUuid), .access_cb = MSCallback, diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h index ab8dc2b1..9c8116f0 100644 --- a/src/components/ble/MusicService.h +++ b/src/components/ble/MusicService.h @@ -26,8 +26,8 @@ #undef max #undef min -//c7e50000-78fc-48fe-8e23-433b3a1942d0 -#define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0xe5, 0xc7} +//00000000-78fc-48fe-8e23-433b3a1942d0 +#define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00} namespace Pinetime { namespace System { @@ -73,19 +73,19 @@ namespace Pinetime { Playing = 0x01 }; private: - static constexpr uint8_t msId[2] = {0x00, 0x01}; - static constexpr uint8_t msEventCharId[2] = {0x00, 0x02}; - static constexpr uint8_t msStatusCharId[2] = {0x00, 0x03}; - static constexpr uint8_t msArtistCharId[2] = {0x00, 0x04}; - static constexpr uint8_t msTrackCharId[2] = {0x00, 0x05}; - static constexpr uint8_t msAlbumCharId[2] = {0x00, 0x06}; - static constexpr uint8_t msPositionCharId[2] = {0x00, 0x07}; - static constexpr uint8_t msTotalLengthCharId[2] = {0x00, 0x08}; - static constexpr uint8_t msTrackNumberCharId[2] = {0x00, 0x09}; - static constexpr uint8_t msTrackTotalCharId[2] = {0x00, 0x0a}; - static constexpr uint8_t msPlaybackSpeedCharId[2] = {0x00, 0x0b}; - static constexpr uint8_t msRepeatCharId[2] = {0x00, 0x0c}; - static constexpr uint8_t msShuffleCharId[2] = {0x00, 0x0d}; + static constexpr uint8_t msId[2] = {0x01, 0x00}; + static constexpr uint8_t msEventCharId[2] = {0x01, 0x00}; + static constexpr uint8_t msStatusCharId[2] = {0x02, 0x00}; + static constexpr uint8_t msArtistCharId[2] = {0x03, 0x00}; + static constexpr uint8_t msTrackCharId[2] = {0x04, 0x00}; + static constexpr uint8_t msAlbumCharId[2] = {0x05, 0x00}; + static constexpr uint8_t msPositionCharId[2] = {0x06, 0x00}; + static constexpr uint8_t msTotalLengthCharId[2] = {0x07, 0x00}; + static constexpr uint8_t msTrackNumberCharId[2] = {0x08, 0x00}; + static constexpr uint8_t msTrackTotalCharId[2] = {0x09, 0x00}; + static constexpr uint8_t msPlaybackSpeedCharId[2] = {0x0a, 0x00}; + static constexpr uint8_t msRepeatCharId[2] = {0x0b, 0x00}; + static constexpr uint8_t msShuffleCharId[2] = {0x0c, 0x00}; ble_uuid128_t msUuid{ .u = {.type = BLE_UUID_TYPE_128}, From ba03372f3b99798de2ce497d34f9ee5697e3be40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Tue, 19 Jan 2021 21:38:53 +0100 Subject: [PATCH 22/27] Music UUID must start with 00000000 instead of 00010000 (copy/paste error) --- src/components/ble/MusicService.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h index 9c8116f0..172ab61c 100644 --- a/src/components/ble/MusicService.h +++ b/src/components/ble/MusicService.h @@ -73,7 +73,7 @@ namespace Pinetime { Playing = 0x01 }; private: - static constexpr uint8_t msId[2] = {0x01, 0x00}; + static constexpr uint8_t msId[2] = {0x00, 0x00}; static constexpr uint8_t msEventCharId[2] = {0x01, 0x00}; static constexpr uint8_t msStatusCharId[2] = {0x02, 0x00}; static constexpr uint8_t msArtistCharId[2] = {0x03, 0x00}; From 522a1eb0beaabb607b1f123993ec2f09be8a775b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Wed, 20 Jan 2021 21:34:09 +0100 Subject: [PATCH 23/27] Merge branch piggz/nav into develop: - fix conflict - add a icon for the navigation app. --- doc/NavigationService.md | 118 +++ src/CMakeLists.txt | 92 ++ src/components/ble/NavigationService.cpp | 137 +++ src/components/ble/NavigationService.h | 96 ++ src/components/ble/NimbleController.cpp | 2 + src/components/ble/NimbleController.h | 3 + src/displayapp/Apps.h | 2 +- src/displayapp/DisplayApp.cpp | 2 + src/displayapp/fonts/jetbrains_mono_bold_20.c | 781 +++++++++-------- src/displayapp/icons/navigation/.c | 93 ++ .../icons/navigation/arrive-left-white.svg | 4 + src/displayapp/icons/navigation/arrive-left.c | 96 ++ .../icons/navigation/arrive-left.png | Bin 0 -> 1290 bytes .../icons/navigation/arrive-right-white.svg | 4 + .../icons/navigation/arrive-right.c | 96 ++ .../icons/navigation/arrive-right.png | Bin 0 -> 1262 bytes .../navigation/arrive-straight-white.svg | 4 + .../icons/navigation/arrive-straight.c | 96 ++ .../icons/navigation/arrive-straight.png | Bin 0 -> 1110 bytes .../icons/navigation/arrive-white.svg | 4 + src/displayapp/icons/navigation/arrive.c | 96 ++ src/displayapp/icons/navigation/arrive.png | Bin 0 -> 1110 bytes .../icons/navigation/close-white.svg | 4 + src/displayapp/icons/navigation/close.c | 96 ++ src/displayapp/icons/navigation/close.png | Bin 0 -> 847 bytes .../icons/navigation/continue-left-white.svg | 4 + .../icons/navigation/continue-left.c | 96 ++ .../icons/navigation/continue-left.png | Bin 0 -> 1213 bytes .../icons/navigation/continue-right-white.svg | 4 + .../icons/navigation/continue-right.c | 96 ++ .../icons/navigation/continue-right.png | Bin 0 -> 1201 bytes .../navigation/continue-slight-left-white.svg | 4 + .../icons/navigation/continue-slight-left.c | 96 ++ .../icons/navigation/continue-slight-left.png | Bin 0 -> 1279 bytes .../continue-slight-right-white.svg | 4 + .../icons/navigation/continue-slight-right.c | 96 ++ .../navigation/continue-slight-right.png | Bin 0 -> 1269 bytes .../navigation/continue-straight-white.svg | 4 + .../icons/navigation/continue-straight.c | 96 ++ .../icons/navigation/continue-straight.png | Bin 0 -> 961 bytes .../icons/navigation/continue-uturn-white.svg | 4 + .../icons/navigation/continue-uturn.c | 96 ++ .../icons/navigation/continue-uturn.png | Bin 0 -> 1536 bytes .../icons/navigation/continue-white.svg | 4 + src/displayapp/icons/navigation/continue.c | 96 ++ src/displayapp/icons/navigation/continue.png | Bin 0 -> 961 bytes .../icons/navigation/depart-left-white.svg | 4 + src/displayapp/icons/navigation/depart-left.c | 96 ++ .../icons/navigation/depart-left.png | Bin 0 -> 1414 bytes .../icons/navigation/depart-right-white.svg | 4 + .../icons/navigation/depart-right.c | 96 ++ .../icons/navigation/depart-right.png | Bin 0 -> 1389 bytes .../navigation/depart-straight-white.svg | 4 + .../icons/navigation/depart-straight.c | 96 ++ .../icons/navigation/depart-straight.png | Bin 0 -> 1100 bytes .../icons/navigation/depart-white.svg | 4 + src/displayapp/icons/navigation/depart.c | 96 ++ src/displayapp/icons/navigation/depart.png | Bin 0 -> 1108 bytes .../navigation/end-of-road-left-white.svg | 4 + .../icons/navigation/end-of-road-left.c | 96 ++ .../icons/navigation/end-of-road-left.png | Bin 0 -> 1295 bytes .../navigation/end-of-road-right-white.svg | 4 + .../icons/navigation/end-of-road-right.c | 96 ++ .../icons/navigation/end-of-road-right.png | Bin 0 -> 1279 bytes .../icons/navigation/ferry-white.svg | 4 + src/displayapp/icons/navigation/ferry.c | 96 ++ src/displayapp/icons/navigation/ferry.png | Bin 0 -> 1786 bytes .../icons/navigation/flag-white.svg | 4 + src/displayapp/icons/navigation/flag.c | 96 ++ src/displayapp/icons/navigation/flag.png | Bin 0 -> 815 bytes .../icons/navigation/fork-left-white.svg | 4 + src/displayapp/icons/navigation/fork-left.c | 96 ++ src/displayapp/icons/navigation/fork-left.png | Bin 0 -> 1379 bytes .../icons/navigation/fork-right-white.svg | 4 + src/displayapp/icons/navigation/fork-right.c | 96 ++ .../icons/navigation/fork-right.png | Bin 0 -> 1364 bytes .../navigation/fork-slight-left-white.svg | 4 + .../icons/navigation/fork-slight-left.c | 96 ++ .../icons/navigation/fork-slight-left.png | Bin 0 -> 1567 bytes .../navigation/fork-slight-right-white.svg | 4 + .../icons/navigation/fork-slight-right.c | 96 ++ .../icons/navigation/fork-slight-right.png | Bin 0 -> 1564 bytes .../icons/navigation/fork-straight-white.svg | 4 + .../icons/navigation/fork-straight.c | 96 ++ .../icons/navigation/fork-straight.png | Bin 0 -> 1652 bytes .../icons/navigation/fork-white.svg | 4 + src/displayapp/icons/navigation/fork.c | 96 ++ src/displayapp/icons/navigation/fork.png | Bin 0 -> 1486 bytes .../icons/navigation/img_conv_core.php | 822 ++++++++++++++++++ .../icons/navigation/invalid-left-white.svg | 4 + .../icons/navigation/invalid-left.c | 96 ++ .../icons/navigation/invalid-left.png | Bin 0 -> 1213 bytes .../icons/navigation/invalid-right-white.svg | 4 + .../icons/navigation/invalid-right.c | 96 ++ .../icons/navigation/invalid-right.png | Bin 0 -> 1201 bytes .../navigation/invalid-slight-left-white.svg | 4 + .../icons/navigation/invalid-slight-left.c | 96 ++ .../icons/navigation/invalid-slight-left.png | Bin 0 -> 1279 bytes .../navigation/invalid-slight-right-white.svg | 4 + .../icons/navigation/invalid-slight-right.c | 96 ++ .../icons/navigation/invalid-slight-right.png | Bin 0 -> 1269 bytes .../navigation/invalid-straight-white.svg | 4 + .../icons/navigation/invalid-straight.c | 96 ++ .../icons/navigation/invalid-straight.png | Bin 0 -> 961 bytes .../icons/navigation/invalid-uturn-white.svg | 4 + .../icons/navigation/invalid-uturn.c | 96 ++ .../icons/navigation/invalid-uturn.png | Bin 0 -> 1536 bytes .../icons/navigation/invalid-white.svg | 4 + src/displayapp/icons/navigation/invalid.c | 96 ++ src/displayapp/icons/navigation/invalid.png | Bin 0 -> 961 bytes .../icons/navigation/merge-left-white.svg | 4 + src/displayapp/icons/navigation/merge-left.c | 96 ++ .../icons/navigation/merge-left.png | Bin 0 -> 1363 bytes .../icons/navigation/merge-right-white.svg | 4 + src/displayapp/icons/navigation/merge-right.c | 96 ++ .../icons/navigation/merge-right.png | Bin 0 -> 1353 bytes .../navigation/merge-slight-left-white.svg | 4 + .../icons/navigation/merge-slight-left.c | 96 ++ .../icons/navigation/merge-slight-left.png | Bin 0 -> 1439 bytes .../navigation/merge-slight-right-white.svg | 4 + .../icons/navigation/merge-slight-right.c | 96 ++ .../icons/navigation/merge-slight-right.png | Bin 0 -> 1430 bytes .../icons/navigation/merge-straight-white.svg | 4 + .../icons/navigation/merge-straight.c | 96 ++ .../icons/navigation/merge-straight.png | Bin 0 -> 961 bytes src/displayapp/icons/navigation/new | 8 + .../icons/navigation/new-name-left-white.svg | 4 + .../icons/navigation/new-name-left.c | 96 ++ .../icons/navigation/new-name-left.png | Bin 0 -> 1213 bytes .../icons/navigation/new-name-right-white.svg | 4 + .../icons/navigation/new-name-right.c | 96 ++ .../icons/navigation/new-name-right.png | Bin 0 -> 1201 bytes .../navigation/new-name-sharp-left-white.svg | 4 + .../icons/navigation/new-name-sharp-left.c | 96 ++ .../icons/navigation/new-name-sharp-left.png | Bin 0 -> 1401 bytes .../navigation/new-name-sharp-right-white.svg | 4 + .../icons/navigation/new-name-sharp-right.c | 96 ++ .../icons/navigation/new-name-sharp-right.png | Bin 0 -> 1408 bytes .../navigation/new-name-slight-left-white.svg | 4 + .../icons/navigation/new-name-slight-left.c | 96 ++ .../icons/navigation/new-name-slight-left.png | Bin 0 -> 1279 bytes .../new-name-slight-right-white.svg | 4 + .../icons/navigation/new-name-slight-right.c | 96 ++ .../navigation/new-name-slight-right.png | Bin 0 -> 1269 bytes .../navigation/new-name-straight-white.svg | 4 + .../icons/navigation/new-name-straight.c | 96 ++ .../icons/navigation/new-name-straight.png | Bin 0 -> 961 bytes .../navigation/notification-left-white.svg | 4 + .../icons/navigation/notification-left.c | 96 ++ .../icons/navigation/notification-left.png | Bin 0 -> 1213 bytes .../navigation/notification-right-white.svg | 4 + .../icons/navigation/notification-right.c | 96 ++ .../icons/navigation/notification-right.png | Bin 0 -> 1201 bytes .../notification-sharp-left-white.svg | 4 + .../navigation/notification-sharp-left.c | 96 ++ .../navigation/notification-sharp-left.png | Bin 0 -> 1412 bytes .../notification-sharp-right-white.svg | 4 + .../navigation/notification-sharp-right.c | 96 ++ .../navigation/notification-sharp-right.png | Bin 0 -> 1413 bytes .../notification-slight-left-white.svg | 4 + .../navigation/notification-slight-left.c | 96 ++ .../navigation/notification-slight-left.png | Bin 0 -> 1279 bytes .../notification-slight-right-white.svg | 4 + .../navigation/notification-slight-right.c | 96 ++ .../navigation/notification-slight-right.png | Bin 0 -> 1269 bytes .../notification-straight-white.svg | 4 + .../icons/navigation/notification-straight.c | 96 ++ .../navigation/notification-straight.png | Bin 0 -> 961 bytes .../icons/navigation/off-ramp-left-white.svg | 4 + .../icons/navigation/off-ramp-left.c | 96 ++ .../icons/navigation/off-ramp-left.png | Bin 0 -> 1387 bytes .../icons/navigation/off-ramp-right-white.svg | 4 + .../icons/navigation/off-ramp-right.c | 96 ++ .../icons/navigation/off-ramp-right.png | Bin 0 -> 1361 bytes .../navigation/off-ramp-slight-left-white.svg | 4 + .../icons/navigation/off-ramp-slight-left.c | 96 ++ .../icons/navigation/off-ramp-slight-left.png | Bin 0 -> 1359 bytes .../off-ramp-slight-right-white.svg | 4 + .../icons/navigation/off-ramp-slight-right.c | 96 ++ .../navigation/off-ramp-slight-right.png | Bin 0 -> 1345 bytes .../icons/navigation/on-ramp-left-white.svg | 4 + .../icons/navigation/on-ramp-left.c | 96 ++ .../icons/navigation/on-ramp-left.png | Bin 0 -> 1238 bytes .../icons/navigation/on-ramp-right-white.svg | 4 + .../icons/navigation/on-ramp-right.c | 96 ++ .../icons/navigation/on-ramp-right.png | Bin 0 -> 1210 bytes .../navigation/on-ramp-sharp-left-white.svg | 4 + .../icons/navigation/on-ramp-sharp-left.c | 96 ++ .../icons/navigation/on-ramp-sharp-left.png | Bin 0 -> 1401 bytes .../navigation/on-ramp-sharp-right-white.svg | 4 + .../icons/navigation/on-ramp-sharp-right.c | 96 ++ .../icons/navigation/on-ramp-sharp-right.png | Bin 0 -> 1413 bytes .../navigation/on-ramp-slight-left-white.svg | 4 + .../icons/navigation/on-ramp-slight-left.c | 96 ++ .../icons/navigation/on-ramp-slight-left.png | Bin 0 -> 1280 bytes .../navigation/on-ramp-slight-right-white.svg | 4 + .../icons/navigation/on-ramp-slight-right.c | 96 ++ .../icons/navigation/on-ramp-slight-right.png | Bin 0 -> 1269 bytes .../navigation/on-ramp-straight-white.svg | 4 + .../icons/navigation/on-ramp-straight.c | 96 ++ .../icons/navigation/on-ramp-straight.png | Bin 0 -> 961 bytes .../icons/navigation/rotary-left-white.svg | 4 + src/displayapp/icons/navigation/rotary-left.c | 96 ++ .../icons/navigation/rotary-left.png | Bin 0 -> 1498 bytes .../icons/navigation/rotary-right-white.svg | 4 + .../icons/navigation/rotary-right.c | 96 ++ .../icons/navigation/rotary-right.png | Bin 0 -> 1636 bytes .../navigation/rotary-sharp-left-white.svg | 4 + .../icons/navigation/rotary-sharp-left.c | 96 ++ .../icons/navigation/rotary-sharp-left.png | Bin 0 -> 1852 bytes .../navigation/rotary-sharp-right-white.svg | 4 + .../icons/navigation/rotary-sharp-right.c | 96 ++ .../icons/navigation/rotary-sharp-right.png | Bin 0 -> 2120 bytes .../navigation/rotary-slight-left-white.svg | 4 + .../icons/navigation/rotary-slight-left.c | 96 ++ .../icons/navigation/rotary-slight-left.png | Bin 0 -> 1665 bytes .../navigation/rotary-slight-right-white.svg | 4 + .../icons/navigation/rotary-slight-right.c | 96 ++ .../icons/navigation/rotary-slight-right.png | Bin 0 -> 1663 bytes .../navigation/rotary-straight-white.svg | 4 + .../icons/navigation/rotary-straight.c | 96 ++ .../icons/navigation/rotary-straight.png | Bin 0 -> 1469 bytes .../icons/navigation/rotary-white.svg | 4 + src/displayapp/icons/navigation/rotary.c | 96 ++ src/displayapp/icons/navigation/rotary.png | Bin 0 -> 1951 bytes .../navigation/roundabout-left-white.svg | 4 + .../icons/navigation/roundabout-left.c | 96 ++ .../icons/navigation/roundabout-left.png | Bin 0 -> 1498 bytes .../navigation/roundabout-right-white.svg | 4 + .../icons/navigation/roundabout-right.c | 96 ++ .../icons/navigation/roundabout-right.png | Bin 0 -> 1636 bytes .../roundabout-sharp-left-white.svg | 4 + .../icons/navigation/roundabout-sharp-left.c | 96 ++ .../navigation/roundabout-sharp-left.png | Bin 0 -> 1852 bytes .../roundabout-sharp-right-white.svg | 4 + .../icons/navigation/roundabout-sharp-right.c | 96 ++ .../navigation/roundabout-sharp-right.png | Bin 0 -> 2120 bytes .../roundabout-slight-left-white.svg | 4 + .../icons/navigation/roundabout-slight-left.c | 96 ++ .../navigation/roundabout-slight-left.png | Bin 0 -> 1662 bytes .../roundabout-slight-right-white.svg | 4 + .../navigation/roundabout-slight-right.c | 96 ++ .../navigation/roundabout-slight-right.png | Bin 0 -> 1663 bytes .../navigation/roundabout-straight-white.svg | 4 + .../icons/navigation/roundabout-straight.c | 96 ++ .../icons/navigation/roundabout-straight.png | Bin 0 -> 1469 bytes .../icons/navigation/roundabout-white.svg | 4 + src/displayapp/icons/navigation/roundabout.c | 96 ++ .../icons/navigation/roundabout.png | Bin 0 -> 1951 bytes .../icons/navigation/turn-left-white.svg | 4 + src/displayapp/icons/navigation/turn-left.c | 96 ++ src/displayapp/icons/navigation/turn-left.png | Bin 0 -> 1213 bytes .../icons/navigation/turn-right-white.svg | 4 + src/displayapp/icons/navigation/turn-right.c | 96 ++ .../icons/navigation/turn-right.png | Bin 0 -> 1201 bytes .../navigation/turn-sharp-left-white.svg | 4 + .../icons/navigation/turn-sharp-left.c | 96 ++ .../icons/navigation/turn-sharp-left.png | Bin 0 -> 1412 bytes .../navigation/turn-sharp-right-white.svg | 4 + .../icons/navigation/turn-sharp-right.c | 96 ++ .../icons/navigation/turn-sharp-right.png | Bin 0 -> 1413 bytes .../navigation/turn-slight-left-white.svg | 4 + .../icons/navigation/turn-slight-left.c | 96 ++ .../icons/navigation/turn-slight-left.png | Bin 0 -> 1279 bytes .../navigation/turn-slight-right-white.svg | 4 + .../icons/navigation/turn-slight-right.c | 96 ++ .../icons/navigation/turn-slight-right.png | Bin 0 -> 1269 bytes .../icons/navigation/turn-straight-white.svg | 4 + .../icons/navigation/turn-straight.c | 96 ++ .../icons/navigation/turn-straight.png | Bin 0 -> 961 bytes .../icons/navigation/updown-white.svg | 4 + src/displayapp/icons/navigation/updown.c | 97 +++ src/displayapp/icons/navigation/updown.png | Bin 0 -> 1250 bytes .../icons/navigation/uturn-white.svg | 4 + src/displayapp/icons/navigation/uturn.c | 96 ++ src/displayapp/icons/navigation/uturn.png | Bin 0 -> 1541 bytes src/displayapp/screens/ApplicationList.cpp | 2 +- src/displayapp/screens/Navigation.cpp | 120 +++ src/displayapp/screens/Navigation.h | 238 +++++ src/displayapp/screens/Symbols.h | 1 + 280 files changed, 10934 insertions(+), 384 deletions(-) create mode 100644 doc/NavigationService.md create mode 100644 src/components/ble/NavigationService.cpp create mode 100644 src/components/ble/NavigationService.h create mode 100644 src/displayapp/icons/navigation/.c create mode 100644 src/displayapp/icons/navigation/arrive-left-white.svg create mode 100644 src/displayapp/icons/navigation/arrive-left.c create mode 100644 src/displayapp/icons/navigation/arrive-left.png create mode 100644 src/displayapp/icons/navigation/arrive-right-white.svg create mode 100644 src/displayapp/icons/navigation/arrive-right.c create mode 100644 src/displayapp/icons/navigation/arrive-right.png create mode 100644 src/displayapp/icons/navigation/arrive-straight-white.svg create mode 100644 src/displayapp/icons/navigation/arrive-straight.c create mode 100644 src/displayapp/icons/navigation/arrive-straight.png create mode 100644 src/displayapp/icons/navigation/arrive-white.svg create mode 100644 src/displayapp/icons/navigation/arrive.c create mode 100644 src/displayapp/icons/navigation/arrive.png create mode 100644 src/displayapp/icons/navigation/close-white.svg create mode 100644 src/displayapp/icons/navigation/close.c create mode 100644 src/displayapp/icons/navigation/close.png create mode 100644 src/displayapp/icons/navigation/continue-left-white.svg create mode 100644 src/displayapp/icons/navigation/continue-left.c create mode 100644 src/displayapp/icons/navigation/continue-left.png create mode 100644 src/displayapp/icons/navigation/continue-right-white.svg create mode 100644 src/displayapp/icons/navigation/continue-right.c create mode 100644 src/displayapp/icons/navigation/continue-right.png create mode 100644 src/displayapp/icons/navigation/continue-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/continue-slight-left.c create mode 100644 src/displayapp/icons/navigation/continue-slight-left.png create mode 100644 src/displayapp/icons/navigation/continue-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/continue-slight-right.c create mode 100644 src/displayapp/icons/navigation/continue-slight-right.png create mode 100644 src/displayapp/icons/navigation/continue-straight-white.svg create mode 100644 src/displayapp/icons/navigation/continue-straight.c create mode 100644 src/displayapp/icons/navigation/continue-straight.png create mode 100644 src/displayapp/icons/navigation/continue-uturn-white.svg create mode 100644 src/displayapp/icons/navigation/continue-uturn.c create mode 100644 src/displayapp/icons/navigation/continue-uturn.png create mode 100644 src/displayapp/icons/navigation/continue-white.svg create mode 100644 src/displayapp/icons/navigation/continue.c create mode 100644 src/displayapp/icons/navigation/continue.png create mode 100644 src/displayapp/icons/navigation/depart-left-white.svg create mode 100644 src/displayapp/icons/navigation/depart-left.c create mode 100644 src/displayapp/icons/navigation/depart-left.png create mode 100644 src/displayapp/icons/navigation/depart-right-white.svg create mode 100644 src/displayapp/icons/navigation/depart-right.c create mode 100644 src/displayapp/icons/navigation/depart-right.png create mode 100644 src/displayapp/icons/navigation/depart-straight-white.svg create mode 100644 src/displayapp/icons/navigation/depart-straight.c create mode 100644 src/displayapp/icons/navigation/depart-straight.png create mode 100644 src/displayapp/icons/navigation/depart-white.svg create mode 100644 src/displayapp/icons/navigation/depart.c create mode 100644 src/displayapp/icons/navigation/depart.png create mode 100644 src/displayapp/icons/navigation/end-of-road-left-white.svg create mode 100644 src/displayapp/icons/navigation/end-of-road-left.c create mode 100644 src/displayapp/icons/navigation/end-of-road-left.png create mode 100644 src/displayapp/icons/navigation/end-of-road-right-white.svg create mode 100644 src/displayapp/icons/navigation/end-of-road-right.c create mode 100644 src/displayapp/icons/navigation/end-of-road-right.png create mode 100644 src/displayapp/icons/navigation/ferry-white.svg create mode 100644 src/displayapp/icons/navigation/ferry.c create mode 100644 src/displayapp/icons/navigation/ferry.png create mode 100644 src/displayapp/icons/navigation/flag-white.svg create mode 100644 src/displayapp/icons/navigation/flag.c create mode 100644 src/displayapp/icons/navigation/flag.png create mode 100644 src/displayapp/icons/navigation/fork-left-white.svg create mode 100644 src/displayapp/icons/navigation/fork-left.c create mode 100644 src/displayapp/icons/navigation/fork-left.png create mode 100644 src/displayapp/icons/navigation/fork-right-white.svg create mode 100644 src/displayapp/icons/navigation/fork-right.c create mode 100644 src/displayapp/icons/navigation/fork-right.png create mode 100644 src/displayapp/icons/navigation/fork-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/fork-slight-left.c create mode 100644 src/displayapp/icons/navigation/fork-slight-left.png create mode 100644 src/displayapp/icons/navigation/fork-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/fork-slight-right.c create mode 100644 src/displayapp/icons/navigation/fork-slight-right.png create mode 100644 src/displayapp/icons/navigation/fork-straight-white.svg create mode 100644 src/displayapp/icons/navigation/fork-straight.c create mode 100644 src/displayapp/icons/navigation/fork-straight.png create mode 100644 src/displayapp/icons/navigation/fork-white.svg create mode 100644 src/displayapp/icons/navigation/fork.c create mode 100644 src/displayapp/icons/navigation/fork.png create mode 100644 src/displayapp/icons/navigation/img_conv_core.php create mode 100644 src/displayapp/icons/navigation/invalid-left-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-left.c create mode 100644 src/displayapp/icons/navigation/invalid-left.png create mode 100644 src/displayapp/icons/navigation/invalid-right-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-right.c create mode 100644 src/displayapp/icons/navigation/invalid-right.png create mode 100644 src/displayapp/icons/navigation/invalid-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-slight-left.c create mode 100644 src/displayapp/icons/navigation/invalid-slight-left.png create mode 100644 src/displayapp/icons/navigation/invalid-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-slight-right.c create mode 100644 src/displayapp/icons/navigation/invalid-slight-right.png create mode 100644 src/displayapp/icons/navigation/invalid-straight-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-straight.c create mode 100644 src/displayapp/icons/navigation/invalid-straight.png create mode 100644 src/displayapp/icons/navigation/invalid-uturn-white.svg create mode 100644 src/displayapp/icons/navigation/invalid-uturn.c create mode 100644 src/displayapp/icons/navigation/invalid-uturn.png create mode 100644 src/displayapp/icons/navigation/invalid-white.svg create mode 100644 src/displayapp/icons/navigation/invalid.c create mode 100644 src/displayapp/icons/navigation/invalid.png create mode 100644 src/displayapp/icons/navigation/merge-left-white.svg create mode 100644 src/displayapp/icons/navigation/merge-left.c create mode 100644 src/displayapp/icons/navigation/merge-left.png create mode 100644 src/displayapp/icons/navigation/merge-right-white.svg create mode 100644 src/displayapp/icons/navigation/merge-right.c create mode 100644 src/displayapp/icons/navigation/merge-right.png create mode 100644 src/displayapp/icons/navigation/merge-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/merge-slight-left.c create mode 100644 src/displayapp/icons/navigation/merge-slight-left.png create mode 100644 src/displayapp/icons/navigation/merge-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/merge-slight-right.c create mode 100644 src/displayapp/icons/navigation/merge-slight-right.png create mode 100644 src/displayapp/icons/navigation/merge-straight-white.svg create mode 100644 src/displayapp/icons/navigation/merge-straight.c create mode 100644 src/displayapp/icons/navigation/merge-straight.png create mode 100644 src/displayapp/icons/navigation/new create mode 100644 src/displayapp/icons/navigation/new-name-left-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-left.c create mode 100644 src/displayapp/icons/navigation/new-name-left.png create mode 100644 src/displayapp/icons/navigation/new-name-right-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-right.c create mode 100644 src/displayapp/icons/navigation/new-name-right.png create mode 100644 src/displayapp/icons/navigation/new-name-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-sharp-left.c create mode 100644 src/displayapp/icons/navigation/new-name-sharp-left.png create mode 100644 src/displayapp/icons/navigation/new-name-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-sharp-right.c create mode 100644 src/displayapp/icons/navigation/new-name-sharp-right.png create mode 100644 src/displayapp/icons/navigation/new-name-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-slight-left.c create mode 100644 src/displayapp/icons/navigation/new-name-slight-left.png create mode 100644 src/displayapp/icons/navigation/new-name-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-slight-right.c create mode 100644 src/displayapp/icons/navigation/new-name-slight-right.png create mode 100644 src/displayapp/icons/navigation/new-name-straight-white.svg create mode 100644 src/displayapp/icons/navigation/new-name-straight.c create mode 100644 src/displayapp/icons/navigation/new-name-straight.png create mode 100644 src/displayapp/icons/navigation/notification-left-white.svg create mode 100644 src/displayapp/icons/navigation/notification-left.c create mode 100644 src/displayapp/icons/navigation/notification-left.png create mode 100644 src/displayapp/icons/navigation/notification-right-white.svg create mode 100644 src/displayapp/icons/navigation/notification-right.c create mode 100644 src/displayapp/icons/navigation/notification-right.png create mode 100644 src/displayapp/icons/navigation/notification-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/notification-sharp-left.c create mode 100644 src/displayapp/icons/navigation/notification-sharp-left.png create mode 100644 src/displayapp/icons/navigation/notification-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/notification-sharp-right.c create mode 100644 src/displayapp/icons/navigation/notification-sharp-right.png create mode 100644 src/displayapp/icons/navigation/notification-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/notification-slight-left.c create mode 100644 src/displayapp/icons/navigation/notification-slight-left.png create mode 100644 src/displayapp/icons/navigation/notification-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/notification-slight-right.c create mode 100644 src/displayapp/icons/navigation/notification-slight-right.png create mode 100644 src/displayapp/icons/navigation/notification-straight-white.svg create mode 100644 src/displayapp/icons/navigation/notification-straight.c create mode 100644 src/displayapp/icons/navigation/notification-straight.png create mode 100644 src/displayapp/icons/navigation/off-ramp-left-white.svg create mode 100644 src/displayapp/icons/navigation/off-ramp-left.c create mode 100644 src/displayapp/icons/navigation/off-ramp-left.png create mode 100644 src/displayapp/icons/navigation/off-ramp-right-white.svg create mode 100644 src/displayapp/icons/navigation/off-ramp-right.c create mode 100644 src/displayapp/icons/navigation/off-ramp-right.png create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-left.c create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-left.png create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-right.c create mode 100644 src/displayapp/icons/navigation/off-ramp-slight-right.png create mode 100644 src/displayapp/icons/navigation/on-ramp-left-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-left.c create mode 100644 src/displayapp/icons/navigation/on-ramp-left.png create mode 100644 src/displayapp/icons/navigation/on-ramp-right-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-right.c create mode 100644 src/displayapp/icons/navigation/on-ramp-right.png create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-left.c create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-left.png create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-right.c create mode 100644 src/displayapp/icons/navigation/on-ramp-sharp-right.png create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-left.c create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-left.png create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-right.c create mode 100644 src/displayapp/icons/navigation/on-ramp-slight-right.png create mode 100644 src/displayapp/icons/navigation/on-ramp-straight-white.svg create mode 100644 src/displayapp/icons/navigation/on-ramp-straight.c create mode 100644 src/displayapp/icons/navigation/on-ramp-straight.png create mode 100644 src/displayapp/icons/navigation/rotary-left-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-left.c create mode 100644 src/displayapp/icons/navigation/rotary-left.png create mode 100644 src/displayapp/icons/navigation/rotary-right-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-right.c create mode 100644 src/displayapp/icons/navigation/rotary-right.png create mode 100644 src/displayapp/icons/navigation/rotary-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-sharp-left.c create mode 100644 src/displayapp/icons/navigation/rotary-sharp-left.png create mode 100644 src/displayapp/icons/navigation/rotary-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-sharp-right.c create mode 100644 src/displayapp/icons/navigation/rotary-sharp-right.png create mode 100644 src/displayapp/icons/navigation/rotary-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-slight-left.c create mode 100644 src/displayapp/icons/navigation/rotary-slight-left.png create mode 100644 src/displayapp/icons/navigation/rotary-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-slight-right.c create mode 100644 src/displayapp/icons/navigation/rotary-slight-right.png create mode 100644 src/displayapp/icons/navigation/rotary-straight-white.svg create mode 100644 src/displayapp/icons/navigation/rotary-straight.c create mode 100644 src/displayapp/icons/navigation/rotary-straight.png create mode 100644 src/displayapp/icons/navigation/rotary-white.svg create mode 100644 src/displayapp/icons/navigation/rotary.c create mode 100644 src/displayapp/icons/navigation/rotary.png create mode 100644 src/displayapp/icons/navigation/roundabout-left-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-left.c create mode 100644 src/displayapp/icons/navigation/roundabout-left.png create mode 100644 src/displayapp/icons/navigation/roundabout-right-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-right.c create mode 100644 src/displayapp/icons/navigation/roundabout-right.png create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-left.c create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-left.png create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-right.c create mode 100644 src/displayapp/icons/navigation/roundabout-sharp-right.png create mode 100644 src/displayapp/icons/navigation/roundabout-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-slight-left.c create mode 100644 src/displayapp/icons/navigation/roundabout-slight-left.png create mode 100644 src/displayapp/icons/navigation/roundabout-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-slight-right.c create mode 100644 src/displayapp/icons/navigation/roundabout-slight-right.png create mode 100644 src/displayapp/icons/navigation/roundabout-straight-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout-straight.c create mode 100644 src/displayapp/icons/navigation/roundabout-straight.png create mode 100644 src/displayapp/icons/navigation/roundabout-white.svg create mode 100644 src/displayapp/icons/navigation/roundabout.c create mode 100644 src/displayapp/icons/navigation/roundabout.png create mode 100644 src/displayapp/icons/navigation/turn-left-white.svg create mode 100644 src/displayapp/icons/navigation/turn-left.c create mode 100644 src/displayapp/icons/navigation/turn-left.png create mode 100644 src/displayapp/icons/navigation/turn-right-white.svg create mode 100644 src/displayapp/icons/navigation/turn-right.c create mode 100644 src/displayapp/icons/navigation/turn-right.png create mode 100644 src/displayapp/icons/navigation/turn-sharp-left-white.svg create mode 100644 src/displayapp/icons/navigation/turn-sharp-left.c create mode 100644 src/displayapp/icons/navigation/turn-sharp-left.png create mode 100644 src/displayapp/icons/navigation/turn-sharp-right-white.svg create mode 100644 src/displayapp/icons/navigation/turn-sharp-right.c create mode 100644 src/displayapp/icons/navigation/turn-sharp-right.png create mode 100644 src/displayapp/icons/navigation/turn-slight-left-white.svg create mode 100644 src/displayapp/icons/navigation/turn-slight-left.c create mode 100644 src/displayapp/icons/navigation/turn-slight-left.png create mode 100644 src/displayapp/icons/navigation/turn-slight-right-white.svg create mode 100644 src/displayapp/icons/navigation/turn-slight-right.c create mode 100644 src/displayapp/icons/navigation/turn-slight-right.png create mode 100644 src/displayapp/icons/navigation/turn-straight-white.svg create mode 100644 src/displayapp/icons/navigation/turn-straight.c create mode 100644 src/displayapp/icons/navigation/turn-straight.png create mode 100644 src/displayapp/icons/navigation/updown-white.svg create mode 100644 src/displayapp/icons/navigation/updown.c create mode 100644 src/displayapp/icons/navigation/updown.png create mode 100644 src/displayapp/icons/navigation/uturn-white.svg create mode 100644 src/displayapp/icons/navigation/uturn.c create mode 100644 src/displayapp/icons/navigation/uturn.png create mode 100644 src/displayapp/screens/Navigation.cpp create mode 100644 src/displayapp/screens/Navigation.h diff --git a/doc/NavigationService.md b/doc/NavigationService.md new file mode 100644 index 00000000..d0899817 --- /dev/null +++ b/doc/NavigationService.md @@ -0,0 +1,118 @@ +# Navigation Service +## Introduction +The navigation ble service provides 4 characteristics to allow the the watch to display navigation instructions from a companion application. The intended purpose is when performing some outdoor activities, for example running or cycling. + +The 4 characteristics are: +flag (string) - Upcoming icon name +narrative (string) - Textual description of instruction +manDist (string) - Manouvre Distance, the distance to the upcoming change +progress (uint8) - Percent complete of total route, value 0-100 + +## Service +The service UUID is c7e60001-78fc-48fe-8e23-433b3a1942d0 + +## Characteristics +## Flags (UUID c7e60002-78fc-48fe-8e23-433b3a1942d0) +All included icons are from pure-maps, which provides the actual routing from the client. The icon names ultimately come from the mapbox project "direction-icons", See https://github.com/rinigus/pure-maps/tree/master/qml/icons/navigation See the end of this document for the full lsit of supported icon names. + +## Narrative (UUID c7e60003-78fc-48fe-8e23-433b3a1942d0) +This is a client supplied string describing the upcoming instruction such as "At the roundabout take the first exit". + +## Man Dist (UUID c7e60004-78fc-48fe-8e23-433b3a1942d0) +This is a short string describing the distance to the upcoming instruction such as "50 m". + +## Progress (UUID c7e60001=5-78fc-48fe-8e23-433b3a1942d0) +The percent complete in a uint8. The watch displays this as an overall progress in a progress bar. + +## Full icon list +* arrive +* arrive-left +* arrive-right +* arrive-straight +* close +* continue +* continue-left +* continue-right +* continue-slight-left +* continue-slight-right +* continue-straight +* continue-uturn +* depart +* depart-left +* depart-right +* depart-straight +* end-of-road-left +* end-of-road-right +* ferry +* flag +* fork +* fork-left +* fork-right +* fork-slight-left +* fork-slight-right +* fork-straight +* invalid +* invalid-left +* invalid-right +* invalid-slight-left +* invalid-slight-right +* invalid-straight +* invalid-uturn +* merge-left +* merge-right +* merge-slight-left +* merge-slight-right +* merge-straight +* new-name-left +* new-name-right +* new-name-sharp-left +* new-name-sharp-right +* new-name-slight-left +* new-name-slight-right +* new-name-straight +* notification-left +* notification-right +* notification-sharp-left +* notification-sharp-right +* notification-slight-left +* notification-slight-right +* notification-straight +* off-ramp-left +* off-ramp-right +* off-ramp-sharp-left +* off-ramp-sharp-right +* off-ramp-slight-left +* off-ramp-slight-right +* off-ramp-straight +* on-ramp-left +* on-ramp-right +* on-ramp-sharp-left +* on-ramp-sharp-right +* on-ramp-slight-left +* on-ramp-slight-right +* on-ramp-straight +* rotary +* rotary-left +* rotary-right +* rotary-sharp-left +* rotary-sharp-right +* rotary-slight-left +* rotary-slight-right +* rotary-straight +* roundabout +* roundabout-left +* roundabout-right +* roundabout-sharp-left +* roundabout-sharp-right +* roundabout-slight-left +* roundabout-slight-right +* roundabout-straight +* turn-left +* turn-right +* turn-sharp-left +* turn-sharp-right +* turn-slight-left +* turn-slight-right +* turn-stright +* updown +* uturn diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 693442b8..5955d393 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -322,6 +322,96 @@ list(APPEND IMAGE_FILES displayapp/icons/bluetooth/os_bt_connected.c displayapp/icons/bluetooth/os_bt_disconnected.c + + displayapp/icons/navigation/arrive-left.c + displayapp/icons/navigation/arrive-right.c + displayapp/icons/navigation/arrive-straight.c + displayapp/icons/navigation/arrive.c + displayapp/icons/navigation/close.c + displayapp/icons/navigation/continue-left.c + displayapp/icons/navigation/continue-right.c + displayapp/icons/navigation/continue-slight-left.c + displayapp/icons/navigation/continue-slight-right.c + displayapp/icons/navigation/continue-straight.c + displayapp/icons/navigation/continue-uturn.c + displayapp/icons/navigation/continue.c + displayapp/icons/navigation/depart-left.c + displayapp/icons/navigation/depart-right.c + displayapp/icons/navigation/depart-straight.c + displayapp/icons/navigation/end-of-road-left.c + displayapp/icons/navigation/end-of-road-right.c + displayapp/icons/navigation/ferry.c + displayapp/icons/navigation/flag.c + displayapp/icons/navigation/fork-left.c + displayapp/icons/navigation/fork-right.c + displayapp/icons/navigation/fork-slight-left.c + displayapp/icons/navigation/fork-slight-right.c + displayapp/icons/navigation/fork-straight.c + displayapp/icons/navigation/invalid.c + displayapp/icons/navigation/invalid-left.c + displayapp/icons/navigation/invalid-right.c + displayapp/icons/navigation/invalid-slight-left.c + displayapp/icons/navigation/invalid-slight-right.c + displayapp/icons/navigation/invalid-straight.c + displayapp/icons/navigation/invalid-uturn.c + displayapp/icons/navigation/merge-left.c + displayapp/icons/navigation/merge-right.c + displayapp/icons/navigation/merge-slight-left.c + displayapp/icons/navigation/merge-slight-right.c + displayapp/icons/navigation/merge-straight.c + displayapp/icons/navigation/new-name-left.c + displayapp/icons/navigation/new-name-right.c + displayapp/icons/navigation/new-name-sharp-left.c + displayapp/icons/navigation/new-name-sharp-right.c + displayapp/icons/navigation/new-name-slight-left.c + displayapp/icons/navigation/new-name-slight-right.c + displayapp/icons/navigation/new-name-straight.c + displayapp/icons/navigation/notification-left.c + displayapp/icons/navigation/notification-right.c + displayapp/icons/navigation/notification-sharp-left.c + displayapp/icons/navigation/notification-sharp-right.c + displayapp/icons/navigation/notification-slight-left.c + displayapp/icons/navigation/notification-slight-right.c + displayapp/icons/navigation/notification-straight.c + displayapp/icons/navigation/off-ramp-left.c + displayapp/icons/navigation/off-ramp-right.c + displayapp/icons/navigation/off-ramp-sharp-left.c + displayapp/icons/navigation/off-ramp-sharp-right.c + displayapp/icons/navigation/off-ramp-slight-left.c + displayapp/icons/navigation/off-ramp-slight-right.c + displayapp/icons/navigation/off-ramp-straight.c + displayapp/icons/navigation/on-ramp-left.c + displayapp/icons/navigation/on-ramp-right.c + displayapp/icons/navigation/on-ramp-sharp-left.c + displayapp/icons/navigation/on-ramp-sharp-right.c + displayapp/icons/navigation/on-ramp-slight-left.c + displayapp/icons/navigation/on-ramp-slight-right.c + displayapp/icons/navigation/on-ramp-straight.c + displayapp/icons/navigation/rotary.c + displayapp/icons/navigation/rotary-left.c + displayapp/icons/navigation/rotary-right.c + displayapp/icons/navigation/rotary-sharp-left.c + displayapp/icons/navigation/rotary-sharp-right.c + displayapp/icons/navigation/rotary-slight-left.c + displayapp/icons/navigation/rotary-slight-right.c + displayapp/icons/navigation/rotary-straight.c + displayapp/icons/navigation/roundabout.c + displayapp/icons/navigation/roundabout-left.c + displayapp/icons/navigation/roundabout-right.c + displayapp/icons/navigation/roundabout-sharp-left.c + displayapp/icons/navigation/roundabout-sharp-right.c + displayapp/icons/navigation/roundabout-slight-left.c + displayapp/icons/navigation/roundabout-slight-right.c + displayapp/icons/navigation/roundabout-straight.c + displayapp/icons/navigation/turn-left.c + displayapp/icons/navigation/turn-right.c + displayapp/icons/navigation/turn-sharp-left.c + displayapp/icons/navigation/turn-sharp-right.c + displayapp/icons/navigation/turn-slight-left.c + displayapp/icons/navigation/turn-slight-right.c + displayapp/icons/navigation/turn-stright.c + displayapp/icons/navigation/updown.c + displayapp/icons/navigation/uturn.c ) list(APPEND SOURCE_FILES @@ -345,6 +435,7 @@ list(APPEND SOURCE_FILES displayapp/screens/Label.cpp displayapp/screens/FirmwareUpdate.cpp displayapp/screens/Music.cpp + displayapp/screens/Navigation.cpp displayapp/screens/FirmwareValidation.cpp displayapp/screens/ApplicationList.cpp displayapp/screens/Notifications.cpp @@ -372,6 +463,7 @@ list(APPEND SOURCE_FILES components/ble/CurrentTimeService.cpp components/ble/AlertNotificationService.cpp components/ble/MusicService.cpp + components/ble/NavigationService.cpp components/ble/BatteryInformationService.cpp components/ble/ImmediateAlertService.cpp components/ble/ServiceDiscovery.cpp diff --git a/src/components/ble/NavigationService.cpp b/src/components/ble/NavigationService.cpp new file mode 100644 index 00000000..3c1fd162 --- /dev/null +++ b/src/components/ble/NavigationService.cpp @@ -0,0 +1,137 @@ +/* Copyright (C) 2021 Adam Pigg + + This file is part of InfiniTime. + + InfiniTime is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + InfiniTime is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "NavigationService.h" + +#include "systemtask/SystemTask.h" + +int NAVCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) { + auto navService = static_cast(arg); + return navService->OnCommand(conn_handle, attr_handle, ctxt); +} + +Pinetime::Controllers::NavigationService::NavigationService(Pinetime::System::SystemTask &system) : m_system(system) { + navUuid.value[14] = navId[0]; + navUuid.value[15] = navId[1]; + + navFlagCharUuid.value[12] = navFlagCharId[0]; + navFlagCharUuid.value[13] = navFlagCharId[1]; + navFlagCharUuid.value[14] = navId[0]; + navFlagCharUuid.value[15] = navId[1]; + + navNarrativeCharUuid.value[12] = navNarrativeCharId[0]; + navNarrativeCharUuid.value[13] = navNarrativeCharId[1]; + navNarrativeCharUuid.value[14] = navId[0]; + navNarrativeCharUuid.value[15] = navId[1]; + + navManDistCharUuid.value[12] = navManDistCharId[0]; + navManDistCharUuid.value[13] = navManDistCharId[1]; + navManDistCharUuid.value[14] = navId[0]; + navManDistCharUuid.value[15] = navId[1]; + + navProgressCharUuid.value[12] = navProgressCharId[0]; + navProgressCharUuid.value[13] = navProgressCharId[1]; + navProgressCharUuid.value[14] = navId[0]; + navProgressCharUuid.value[15] = navId[1]; + + characteristicDefinition[0] = {.uuid = (ble_uuid_t *) (&navFlagCharUuid), + .access_cb = NAVCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ + }; + + characteristicDefinition[1] = {.uuid = (ble_uuid_t *) (&navNarrativeCharUuid), + .access_cb = NAVCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ + }; + characteristicDefinition[2] = {.uuid = (ble_uuid_t *) (&navManDistCharUuid), + .access_cb = NAVCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ + }; + characteristicDefinition[3] = {.uuid = (ble_uuid_t *) (&navProgressCharUuid), + .access_cb = NAVCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ + }; + + characteristicDefinition[4] = {0}; + + serviceDefinition[0] = { + .type = BLE_GATT_SVC_TYPE_PRIMARY, + .uuid = (ble_uuid_t *) &navUuid, + .characteristics = characteristicDefinition + }; + serviceDefinition[1] = {0}; + + m_progress = 0; +} + +void Pinetime::Controllers::NavigationService::Init() { + int res = 0; + res = ble_gatts_count_cfg(serviceDefinition); + ASSERT(res == 0); + + res = ble_gatts_add_svcs(serviceDefinition); + ASSERT(res == 0); +} + +int Pinetime::Controllers::NavigationService::OnCommand(uint16_t conn_handle, uint16_t attr_handle, + struct ble_gatt_access_ctxt *ctxt) { + + if (ctxt->op == BLE_GATT_ACCESS_OP_WRITE_CHR) { + size_t notifSize = OS_MBUF_PKTLEN(ctxt->om); + uint8_t data[notifSize + 1]; + data[notifSize] = '\0'; + os_mbuf_copydata(ctxt->om, 0, notifSize, data); + char *s = (char *) &data[0]; + NRF_LOG_INFO("DATA : %s", s); + if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navFlagCharUuid) == 0) { + m_flag = s; + } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navNarrativeCharUuid) == 0) { + m_narrative = s; + } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navManDistCharUuid) == 0) { + m_manDist = s; + } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navProgressCharUuid) == 0) { + m_progress = data[0]; + } + } + return 0; +} + +std::string Pinetime::Controllers::NavigationService::getFlag() +{ + return m_flag; +} + +std::string Pinetime::Controllers::NavigationService::getNarrative() +{ + return m_narrative; +} + +std::string Pinetime::Controllers::NavigationService::getManDist() +{ + return m_manDist; +} + +int Pinetime::Controllers::NavigationService::getProgress() +{ + return m_progress; +} + diff --git a/src/components/ble/NavigationService.h b/src/components/ble/NavigationService.h new file mode 100644 index 00000000..29b17582 --- /dev/null +++ b/src/components/ble/NavigationService.h @@ -0,0 +1,96 @@ +/* Copyright (C) 2021 Adam Pigg + + This file is part of InfiniTime. + + InfiniTime is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + InfiniTime is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +#pragma once + +#include +#include +#define min // workaround: nimble's min/max macros conflict with libstdc++ +#define max +#include +#include +#undef max +#undef min + +//c7e60000-78fc-48fe-8e23-433b3a1942d0 +#define NAVIGATION_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00} + +namespace Pinetime { + namespace System { + class SystemTask; + } + namespace Controllers { + + class NavigationService { + public: + explicit NavigationService(Pinetime::System::SystemTask &system); + + void Init(); + + int OnCommand(uint16_t conn_handle, uint16_t attr_handle, + struct ble_gatt_access_ctxt *ctxt); + + std::string getFlag(); + + std::string getNarrative(); + + std::string getManDist(); + + int getProgress(); + + private: + static constexpr uint8_t navId[2] = {0x01, 0x00}; + static constexpr uint8_t navFlagCharId[2] = {0x01, 0x00}; + static constexpr uint8_t navNarrativeCharId[2] = {0x02, 0x00}; + static constexpr uint8_t navManDistCharId[2] = {0x03, 0x00}; + static constexpr uint8_t navProgressCharId[2] = {0x04, 0x00}; + + ble_uuid128_t navUuid{ + .u = {.type = BLE_UUID_TYPE_128}, + .value = NAVIGATION_SERVICE_UUID_BASE + }; + + ble_uuid128_t navFlagCharUuid{ + .u = {.type = BLE_UUID_TYPE_128}, + .value = NAVIGATION_SERVICE_UUID_BASE + }; + ble_uuid128_t navNarrativeCharUuid{ + .u = {.type = BLE_UUID_TYPE_128}, + .value = NAVIGATION_SERVICE_UUID_BASE + }; + ble_uuid128_t navManDistCharUuid{ + .u = {.type = BLE_UUID_TYPE_128}, + .value = NAVIGATION_SERVICE_UUID_BASE + }; + ble_uuid128_t navProgressCharUuid{ + .u = {.type = BLE_UUID_TYPE_128}, + .value = NAVIGATION_SERVICE_UUID_BASE + }; + + struct ble_gatt_chr_def characteristicDefinition[5]; + struct ble_gatt_svc_def serviceDefinition[2]; + + std::string m_flag; + std::string m_narrative; + std::string m_manDist; + int m_progress; + + Pinetime::System::SystemTask &m_system; + }; + } +} + diff --git a/src/components/ble/NimbleController.cpp b/src/components/ble/NimbleController.cpp index 608e230e..f2786ea1 100644 --- a/src/components/ble/NimbleController.cpp +++ b/src/components/ble/NimbleController.cpp @@ -35,6 +35,7 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask, alertNotificationClient{systemTask, notificationManager}, currentTimeService{dateTimeController}, musicService{systemTask}, + navService{systemTask}, batteryInformationService{batteryController}, immediateAlertService{systemTask, notificationManager}, serviceDiscovery({¤tTimeClient, &alertNotificationClient}), @@ -56,6 +57,7 @@ void NimbleController::Init() { currentTimeClient.Init(); currentTimeService.Init(); musicService.Init(); + navService.Init(); anService.Init(); dfuService.Init(); batteryInformationService.Init(); diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h index 304182a2..a109800c 100644 --- a/src/components/ble/NimbleController.h +++ b/src/components/ble/NimbleController.h @@ -16,6 +16,7 @@ #include "DfuService.h" #include "ImmediateAlertService.h" #include "MusicService.h" +#include "NavigationService.h" #include "ServiceDiscovery.h" #include "HeartRateService.h" @@ -56,6 +57,7 @@ namespace Pinetime { void StartDiscovery(); Pinetime::Controllers::MusicService& music() {return musicService;}; + Pinetime::Controllers::NavigationService& navigation() {return navService;}; uint16_t connHandle(); @@ -74,6 +76,7 @@ namespace Pinetime { AlertNotificationClient alertNotificationClient; CurrentTimeService currentTimeService; MusicService musicService; + NavigationService navService; BatteryInformationService batteryInformationService; ImmediateAlertService immediateAlertService; HeartRateService heartRateService; diff --git a/src/displayapp/Apps.h b/src/displayapp/Apps.h index fcadf2a2..69aedb37 100644 --- a/src/displayapp/Apps.h +++ b/src/displayapp/Apps.h @@ -2,6 +2,6 @@ namespace Pinetime { namespace Applications { - enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos, HeartRate}; + enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos, HeartRate, Navigation}; } } diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 7ae9f819..b6ad90b4 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -15,6 +15,7 @@ #include "displayapp/screens/Paddle.h" #include "displayapp/screens/Meter.h" #include "displayapp/screens/Music.h" +#include "displayapp/screens/Navigation.h" #include "displayapp/screens/Notifications.h" #include "displayapp/screens/SystemInfo.h" #include "displayapp/screens/Tile.h" @@ -212,6 +213,7 @@ void DisplayApp::RunningState() { case Apps::Paddle: currentScreen.reset(new Screens::Paddle(this, lvgl)); break; case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break; case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break; + case Apps::Navigation : currentScreen.reset(new Screens::Navigation(this, systemTask.nimble().navigation())); break; case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break; case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Normal)); break; case Apps::HeartRate: currentScreen.reset(new Screens::HeartRate(this, heartRateController)); break; diff --git a/src/displayapp/fonts/jetbrains_mono_bold_20.c b/src/displayapp/fonts/jetbrains_mono_bold_20.c index 620df7c3..2539eeed 100644 --- a/src/displayapp/fonts/jetbrains_mono_bold_20.c +++ b/src/displayapp/fonts/jetbrains_mono_bold_20.c @@ -22,36 +22,36 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x0, /* U+21 "!" */ - 0xff, 0xff, 0xff, 0xfc, 0xf, 0xc0, + 0xff, 0xff, 0xff, 0xe0, 0xf, 0xc0, /* U+22 "\"" */ 0xef, 0xdf, 0xbf, 0x7e, 0xfd, 0xc0, /* U+23 "#" */ - 0x8, 0xc3, 0x10, 0x66, 0x3f, 0xf7, 0xfe, 0x23, + 0x8, 0xc3, 0x10, 0x62, 0x3f, 0xf7, 0xfe, 0x23, 0x4, 0x61, 0x88, 0x31, 0x1f, 0xfb, 0xff, 0x19, 0x82, 0x30, 0xc4, 0x0, /* U+24 "$" */ - 0x8, 0x2, 0x1, 0xe1, 0xfe, 0xfb, 0xfa, 0x7e, - 0x83, 0xe0, 0x7e, 0xf, 0xe0, 0xf8, 0x27, 0x9, - 0xfa, 0x7f, 0xf9, 0xfc, 0x8, 0x2, 0x0, 0x80, + 0x8, 0x2, 0x1, 0xc1, 0xfe, 0xeb, 0xf2, 0x7c, + 0x83, 0xa0, 0x7c, 0xf, 0xc0, 0xf8, 0x27, 0x9, + 0xf2, 0x7f, 0xf9, 0xfc, 0x8, 0x2, 0x0, 0x80, /* U+25 "%" */ - 0x78, 0x3f, 0xc6, 0xcc, 0xcc, 0xcc, 0xfd, 0x87, - 0xb0, 0x6, 0x0, 0x7e, 0xf, 0xf1, 0xb3, 0x33, - 0x33, 0x33, 0x63, 0xfc, 0x1e, + 0x78, 0x1f, 0x83, 0x30, 0x66, 0x1f, 0xcc, 0xf2, + 0x1, 0x80, 0xde, 0x67, 0xf8, 0xcc, 0x19, 0x83, + 0x30, 0x7e, 0x7, 0x80, /* U+26 "&" */ - 0x1e, 0xf, 0xe1, 0x8e, 0x30, 0x6, 0x0, 0x60, - 0x1e, 0x7, 0xe6, 0xed, 0xdc, 0xf3, 0x9e, 0x73, + 0x1e, 0x7, 0xe1, 0xce, 0x38, 0x7, 0x0, 0x70, + 0x1e, 0x7, 0x66, 0xed, 0xdc, 0xf3, 0x9c, 0x73, 0xcf, 0xfc, 0xf9, 0x80, /* U+27 "'" */ 0xff, 0xff, 0xc0, /* U+28 "(" */ - 0x2, 0x1c, 0xfb, 0xc7, 0x1c, 0x38, 0x70, 0xe1, + 0x2, 0x1c, 0xfb, 0xc7, 0x1e, 0x38, 0x70, 0xe1, 0xc3, 0x87, 0xe, 0x1c, 0x3c, 0x38, 0x38, 0x7c, 0x38, @@ -62,7 +62,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+2A "*" */ 0xc, 0x3, 0x8, 0xc7, 0xb7, 0x7f, 0x83, 0x1, - 0xe0, 0xcc, 0x73, 0x88, 0x0, + 0xe0, 0xcc, 0x73, 0x80, 0x0, /* U+2B "+" */ 0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1, @@ -72,10 +72,10 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x7b, 0x9c, 0xce, 0x60, /* U+2D "-" */ - 0xff, 0xff, 0xc0, + 0xff, 0xff, /* U+2E "." */ - 0xff, 0xf0, + 0x6f, 0xf6, /* U+2F "/" */ 0x1, 0xc0, 0x60, 0x38, 0xe, 0x3, 0x1, 0xc0, @@ -83,58 +83,58 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xe, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0, /* U+30 "0" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, - 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xed, 0xfb, 0x7e, + 0xdf, 0xb7, 0xed, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, + 0x8f, 0x80, /* U+31 "1" */ - 0x1e, 0x3f, 0x3b, 0x99, 0xc8, 0xe0, 0x70, 0x38, - 0x1c, 0xe, 0x7, 0x3, 0x81, 0xcf, 0xff, 0xfc, + 0x3c, 0x3e, 0x3f, 0x13, 0x81, 0xc0, 0xe0, 0x70, + 0x38, 0x1c, 0xe, 0x7, 0x3, 0x8f, 0xff, 0xfc, /* U+32 "2" */ - 0x3e, 0x3f, 0xbc, 0xfc, 0x70, 0x38, 0x1c, 0x1c, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0xf, 0xff, 0xfc, + 0x1f, 0x1f, 0xef, 0x3f, 0x87, 0x1, 0xc0, 0x70, + 0x38, 0x1e, 0xf, 0x7, 0x87, 0x83, 0xc0, 0xff, + 0xff, 0xf0, /* U+33 "3" */ - 0x7f, 0x9f, 0xe0, 0x38, 0x18, 0xc, 0x7, 0xc1, - 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, + 0x7f, 0xdf, 0xf0, 0x3c, 0x1c, 0x1c, 0x7, 0xc1, + 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1d, 0x8f, 0x7f, + 0x87, 0xc0, /* U+34 "4" */ 0x7, 0x7, 0x3, 0x83, 0x83, 0x81, 0xc1, 0xcf, 0xe7, 0xe3, 0xff, 0xff, 0xe0, 0x70, 0x38, 0x1c, /* U+35 "5" */ - 0x7f, 0x9f, 0xe7, 0x1, 0xc0, 0x77, 0x1f, 0xe7, - 0x3c, 0x7, 0x1, 0xc0, 0x77, 0x1d, 0xcf, 0x7f, - 0x87, 0xc0, + 0xff, 0x7f, 0xb8, 0x1c, 0xe, 0x7, 0x73, 0xfd, + 0xcf, 0x3, 0x81, 0xc0, 0xfc, 0xff, 0xf1, 0xf0, /* U+36 "6" */ - 0x6, 0x3, 0x1, 0xc0, 0x60, 0x38, 0x1d, 0xc7, + 0x6, 0x3, 0x1, 0xc0, 0x60, 0x30, 0x1b, 0xc7, 0xfb, 0xcf, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, 0x87, 0x80, /* U+37 "7" */ - 0xff, 0xff, 0xfe, 0x1b, 0x86, 0x3, 0x80, 0xc0, - 0x70, 0x18, 0x6, 0x3, 0x80, 0xc0, 0x70, 0x18, + 0xff, 0xff, 0xfe, 0xb, 0x86, 0x1, 0x80, 0xc0, + 0x30, 0x18, 0x6, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0, /* U+38 "8" */ - 0x3f, 0x1f, 0xee, 0x1f, 0x87, 0xe1, 0xcf, 0xc3, - 0xf1, 0xce, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, + 0x3e, 0x1f, 0xce, 0x3b, 0x6, 0xe3, 0x9f, 0xc7, + 0xf1, 0x8e, 0xc1, 0xf0, 0x7c, 0x1f, 0x8f, 0x7f, + 0x8f, 0x80, /* U+39 "9" */ 0x1e, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f, - 0x3d, 0xfe, 0x3b, 0x81, 0xc0, 0x60, 0x38, 0xc, + 0x3d, 0xfe, 0x3d, 0x80, 0xc0, 0x60, 0x38, 0xc, 0x6, 0x0, /* U+3A ":" */ - 0xff, 0xf0, 0x0, 0x0, 0xff, 0xf0, + 0xff, 0x80, 0x0, 0xff, 0x80, /* U+3B ";" */ - 0x7b, 0xde, 0x0, 0x0, 0x0, 0x3, 0xdc, 0xe6, - 0x73, 0x0, + 0x7b, 0xde, 0x0, 0x0, 0x0, 0x7b, 0x9c, 0xce, + 0x60, /* U+3C "<" */ 0x0, 0x81, 0xc3, 0xe7, 0xcf, 0x6, 0x3, 0xc0, @@ -144,23 +144,22 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xff, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xfe, /* U+3E ">" */ - 0x80, 0x70, 0x3e, 0x7, 0xc0, 0xf8, 0xc, 0x1e, - 0x3c, 0xf8, 0x70, 0x20, 0x0, + 0x0, 0x70, 0x3e, 0x7, 0xc0, 0xf8, 0xc, 0x1e, + 0x7c, 0xf8, 0x70, 0x20, 0x0, /* U+3F "?" */ 0xfc, 0xfe, 0xf, 0x7, 0x7, 0xf, 0x3e, 0x3c, 0x30, 0x30, 0x0, 0x0, 0x70, 0x70, /* U+40 "@" */ - 0x1f, 0x7, 0xf9, 0xc3, 0x70, 0x3c, 0x7, 0x8f, - 0xf3, 0xfe, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe6, - 0x3c, 0xff, 0x8e, 0xf8, 0x3, 0x80, 0x3e, 0x3, - 0xc0, + 0x1f, 0x87, 0xf9, 0xc3, 0xf0, 0x3c, 0x77, 0x9f, + 0xf3, 0x1e, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe7, + 0xfc, 0x77, 0xc0, 0x1c, 0x1, 0xf0, 0x1e, 0x0, /* U+41 "A" */ - 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3, - 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1, - 0xf0, 0x30, + 0xf, 0x0, 0xf0, 0xf, 0x1, 0xf8, 0x19, 0x81, + 0x98, 0x19, 0x83, 0x9c, 0x3f, 0xc3, 0xfc, 0x70, + 0xe7, 0xe, 0x60, 0x66, 0x6, /* U+42 "B" */ 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xcf, @@ -173,8 +172,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x8f, 0xc0, /* U+44 "D" */ - 0xfe, 0x7f, 0xb9, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0xff, 0xf7, 0xf0, + 0xfe, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, + 0xbf, 0x80, /* U+45 "E" */ 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0xfd, @@ -187,42 +187,43 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+47 "G" */ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, 0x7f, 0x9f, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, + 0x87, 0x80, /* U+48 "H" */ 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff, 0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, /* U+49 "I" */ - 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff, + 0xff, 0xff, 0xc7, 0x3, 0x81, 0xc0, 0xe0, 0x70, + 0x38, 0x1c, 0xe, 0x7, 0x3, 0x8f, 0xff, 0xfc, /* U+4A "J" */ - 0xf, 0xc3, 0xf0, 0x1c, 0x7, 0x1, 0xc0, 0x70, - 0x1c, 0x7, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, + 0x3f, 0xcf, 0xf0, 0x1c, 0x7, 0x1, 0xc0, 0x70, + 0x1c, 0x7, 0x1, 0xc0, 0x7e, 0x1f, 0x8f, 0x7f, 0x8f, 0xc0, /* U+4B "K" */ - 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf, - 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1, - 0xf8, 0x70, + 0xe1, 0xdc, 0x3b, 0x8e, 0x71, 0xce, 0x31, 0xce, + 0x3f, 0x87, 0xf0, 0xe7, 0x1c, 0x63, 0x8e, 0x70, + 0xce, 0x1d, 0xc3, 0x80, /* U+4C "L" */ 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc, /* U+4D "M" */ - 0xf3, 0xfc, 0xfd, 0x2f, 0xcf, 0xff, 0xff, 0xfe, - 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, - 0xf8, 0x70, + 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd, + 0xef, 0x33, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x30, /* U+4E "N" */ - 0xf3, 0xf9, 0xfc, 0xfe, 0x7f, 0xbf, 0xdf, 0xaf, - 0xd7, 0xef, 0xf7, 0xf9, 0xfc, 0xfe, 0x7f, 0x3c, + 0xe1, 0xf0, 0xfc, 0x7e, 0x3d, 0x9e, 0xcf, 0x67, + 0x9b, 0xcd, 0xe6, 0xf1, 0xf8, 0xfc, 0x3e, 0x1c, /* U+4F "O" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, + 0x8f, 0x80, /* U+50 "P" */ 0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff, @@ -232,7 +233,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+51 "Q" */ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0x80, 0x70, 0xe, 0x3, 0x80, 0x70, + 0x8f, 0x80, 0x70, 0xe, 0x1, 0xc0, /* U+52 "R" */ 0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff, @@ -240,7 +241,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xb8, 0x70, /* U+53 "S" */ - 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0xe0, 0x3c, 0x7, + 0x3f, 0x1f, 0xee, 0x1f, 0x87, 0xe0, 0x3e, 0x7, 0xf0, 0x7e, 0x3, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, 0x8f, 0xc0, @@ -254,14 +255,14 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, /* U+56 "V" */ - 0xc0, 0xf8, 0x7e, 0x1d, 0x86, 0x61, 0x9c, 0xe7, - 0x38, 0xcc, 0x33, 0xf, 0xc3, 0xf0, 0x78, 0x1e, - 0x7, 0x80, + 0x60, 0x66, 0x6, 0x70, 0xe7, 0xe, 0x30, 0xc3, + 0xc, 0x39, 0xc1, 0x98, 0x19, 0x81, 0x98, 0x1f, + 0x80, 0xf0, 0xf, 0x0, 0xf0, /* U+57 "W" */ - 0xce, 0x79, 0xcf, 0x29, 0xe5, 0x3c, 0xa7, 0xd5, - 0xda, 0xb3, 0x56, 0x7b, 0xcf, 0x79, 0xef, 0x38, - 0xe7, 0x1c, 0xe3, 0x80, + 0xc6, 0x78, 0xcf, 0x39, 0xe7, 0x3e, 0xa6, 0xd6, + 0xda, 0xdb, 0x5b, 0x6b, 0x6d, 0x2d, 0xe7, 0x3c, + 0xe7, 0x9c, 0xe3, 0x80, /* U+58 "X" */ 0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81, @@ -269,12 +270,12 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xf8, 0x70, /* U+59 "Y" */ - 0xe0, 0xfc, 0x1d, 0xc7, 0x38, 0xe3, 0xb8, 0x77, + 0xe0, 0xfc, 0x1d, 0xc7, 0x38, 0xe3, 0x98, 0x77, 0x6, 0xc0, 0xf8, 0xe, 0x1, 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x0, /* U+5A "Z" */ - 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0x70, 0x70, 0x70, + 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0x60, 0x70, 0x70, 0x38, 0x38, 0x38, 0x1c, 0x1c, 0xf, 0xff, 0xfc, /* U+5B "[" */ @@ -301,145 +302,146 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x63, 0x8e, /* U+61 "a" */ - 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, - 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc, + 0x3f, 0x1f, 0xee, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, + 0x1f, 0x87, 0xe3, 0xff, 0xf7, 0xdc, /* U+62 "b" */ - 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7f, 0xf7, 0x70, + 0xe0, 0x38, 0xe, 0x3, 0xbc, 0xff, 0xbc, 0xfe, + 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0xff, + 0xbb, 0xc0, /* U+63 "c" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x7, 0x3, 0x81, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x1f, 0x83, 0xe0, 0x38, 0xe, + 0x3, 0x87, 0xf1, 0xdf, 0xe3, 0xe0, /* U+64 "d" */ - 0x3, 0x81, 0xc0, 0xe7, 0x77, 0xff, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf9, 0xdc, + 0x1, 0xc0, 0x70, 0x1c, 0xf7, 0x7f, 0xfc, 0xfe, + 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, + 0xcf, 0x70, /* U+65 "e" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81, - 0xc0, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xff, 0xff, 0xfe, + 0x3, 0x80, 0xf1, 0xdf, 0xe3, 0xf0, /* U+66 "f" */ - 0xf, 0xc7, 0xf1, 0xc3, 0xff, 0xff, 0xc7, 0x1, + 0xf, 0xc7, 0xf1, 0xc0, 0x70, 0xff, 0xff, 0xf1, 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c, 0x7, 0x0, /* U+67 "g" */ - 0x3b, 0xbf, 0xfd, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xf7, 0xbf, 0xce, 0xe0, 0x70, 0x39, 0xf8, - 0xf8, + 0x3d, 0xdf, 0xff, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0xcf, 0x7f, 0xcf, 0x70, 0x1c, 0xf, 0x3f, + 0x8f, 0xc0, /* U+68 "h" */ - 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f, + 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x9f, 0x8f, 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, /* U+69 "i" */ - 0x8, 0x7, 0x0, 0x80, 0x0, 0xfe, 0x3f, 0x80, - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, + 0x1c, 0x7, 0x0, 0x0, 0x0, 0xfc, 0x3f, 0x1, + 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c, 0x3f, 0xff, 0xfc, /* U+6A "j" */ - 0x2, 0x7, 0x2, 0x0, 0x7f, 0x7f, 0x7, 0x7, - 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, - 0xf, 0xfe, 0xfc, + 0x7, 0x7, 0x0, 0x0, 0x7f, 0x7f, 0x7, 0x7, + 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xf, + 0xfe, 0xfc, /* U+6B "k" */ - 0xe0, 0x38, 0xe, 0x3, 0x87, 0xe3, 0xb8, 0xce, - 0x73, 0xf8, 0xfe, 0x39, 0xce, 0x73, 0x8e, 0xe1, + 0xe0, 0x38, 0xe, 0x3, 0x87, 0xe1, 0xb8, 0xee, + 0x33, 0x9c, 0xfe, 0x3f, 0x8e, 0x73, 0x8e, 0xe3, 0xb8, 0x70, /* U+6C "l" */ 0xfe, 0x1f, 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, - 0x0, 0x7e, 0x7, 0xc0, + 0x0, 0xfe, 0xf, 0xc0, /* U+6D "m" */ 0xd9, 0xbf, 0xfc, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcc, /* U+6E "n" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, + 0xee, 0x7f, 0xbc, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, /* U+6F "o" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xf3, 0xdf, 0xe3, 0xf0, /* U+70 "p" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3, - 0x80, + 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xf3, 0xff, 0xee, 0xf3, 0x80, 0xe0, + 0x38, 0x0, /* U+71 "q" */ - 0x3b, 0xbf, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0xce, 0xe0, 0x70, 0x38, 0x1c, - 0xe, + 0x3d, 0xdf, 0xff, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xf3, 0xdf, 0xf3, 0xdc, 0x7, 0x1, + 0xc0, 0x70, /* U+72 "r" */ - 0xee, 0x7f, 0xbc, 0xfc, 0x7e, 0x3f, 0x3, 0x81, - 0xc0, 0xe0, 0x70, 0x38, 0x0, + 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0xe, + 0x3, 0x80, 0xe0, 0x38, 0xe, 0x0, /* U+73 "s" */ - 0x1f, 0x1f, 0xe7, 0x1d, 0xc0, 0x7c, 0xf, 0xe0, - 0x3c, 0x7, 0x71, 0xdf, 0xe3, 0xf0, + 0x3f, 0x3f, 0xee, 0x1f, 0x80, 0xfc, 0x1f, 0xe0, + 0x3c, 0x7, 0xe1, 0xff, 0xe3, 0xf0, /* U+74 "t" */ 0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1, - 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1f, - 0xc3, 0xf0, + 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0xf, + 0xc1, 0xf0, /* U+75 "u" */ 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, 0xc7, 0xe3, 0xbf, 0x8f, 0x80, /* U+76 "v" */ - 0xe1, 0xf8, 0x76, 0x19, 0x86, 0x73, 0x8c, 0xc3, + 0xc0, 0xf8, 0x76, 0x19, 0x86, 0x73, 0x8c, 0xc3, 0x30, 0xfc, 0x1e, 0x7, 0x81, 0xe0, /* U+77 "w" */ - 0xe6, 0x36, 0x66, 0x66, 0x66, 0xf6, 0x6f, 0x66, - 0x96, 0x69, 0x62, 0x94, 0x39, 0xc3, 0x9c, 0x39, - 0xc0, + 0xc6, 0x79, 0xcf, 0x39, 0xb5, 0x36, 0xa6, 0xd6, + 0xda, 0xdb, 0x4e, 0x79, 0xcf, 0x38, 0xc7, 0x0, /* U+78 "x" */ 0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81, - 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c, + 0xe0, 0xfc, 0x73, 0x9c, 0x6e, 0x1c, /* U+79 "y" */ - 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3, - 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c, - 0x7, 0x1, 0x80, + 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8e, 0xc3, + 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c, + 0x6, 0x0, /* U+7A "z" */ - 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xff, 0xff, 0xc1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x7f, 0xff, 0xe0, /* U+7B "{" */ - 0x3, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38, + 0x7, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xfc, 0x7e, 0x3, 0x81, 0xc0, 0xe0, 0x70, - 0x38, 0x1c, 0x7, 0x81, 0xc0, + 0x38, 0x1c, 0xf, 0x83, 0xc0, /* U+7C "|" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, /* U+7D "}" */ - 0xf0, 0x3e, 0x1, 0xc0, 0x70, 0x1c, 0x7, 0x1, + 0xf0, 0x3f, 0x1, 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0xf, 0xc3, 0xf1, 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0xf8, 0x3c, 0x0, /* U+7E "~" */ - 0x78, 0xff, 0x3c, 0xcf, 0x3f, 0xc7, 0x80, + 0x78, 0xff, 0x3c, 0xff, 0x1e, /* U+410 "А" */ - 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3, - 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1, - 0xf0, 0x30, + 0xf, 0x0, 0xf0, 0xf, 0x1, 0xf8, 0x19, 0x81, + 0x98, 0x19, 0x83, 0x9c, 0x3f, 0xc3, 0xfc, 0x70, + 0xe7, 0xe, 0x60, 0x66, 0x6, /* U+411 "Б" */ 0xff, 0xbf, 0xee, 0x3, 0x80, 0xe0, 0x3f, 0xcf, 0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0x80, + 0xbf, 0xc0, /* U+412 "В" */ 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xcf, @@ -452,7 +454,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+414 "Д" */ 0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73, - 0x8e, 0x71, 0xce, 0x39, 0xc7, 0x38, 0xe7, 0x38, + 0x8e, 0x71, 0xce, 0x39, 0xc7, 0x39, 0xe7, 0x38, 0xef, 0xff, 0xff, 0xf8, 0x3f, 0x7, 0xe0, 0xe0, /* U+415 "Е" */ @@ -460,46 +462,47 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xfe, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc, /* U+416 "Ж" */ - 0xe6, 0x76, 0x66, 0x66, 0x67, 0x66, 0x36, 0xc3, - 0x6c, 0x3f, 0xc3, 0x6c, 0x36, 0xc7, 0x6e, 0x66, - 0x66, 0x66, 0x66, 0x6c, 0x63, + 0xe6, 0x36, 0x66, 0x66, 0x66, 0x66, 0x36, 0xc3, + 0x6c, 0x3f, 0xc3, 0x6c, 0x36, 0xc6, 0x66, 0x66, + 0x66, 0x66, 0xe6, 0x7c, 0x63, /* U+417 "З" */ - 0x1f, 0x8f, 0xfd, 0xc7, 0x80, 0x70, 0x1c, 0x3e, - 0x7, 0xf0, 0xf, 0x0, 0xe0, 0x1d, 0x83, 0xb8, + 0x1f, 0x87, 0xf9, 0xc7, 0xb0, 0x70, 0xe, 0x3, + 0x87, 0xe0, 0xfe, 0x1, 0xe0, 0x1d, 0x83, 0xb8, 0xf7, 0xfc, 0x3e, 0x0, /* U+418 "И" */ - 0xe7, 0xf3, 0xf9, 0xfc, 0xfe, 0xff, 0x7f, 0xaf, - 0xd7, 0xfb, 0xfd, 0xfc, 0xfe, 0x7f, 0x3f, 0x9c, + 0xc3, 0xe1, 0xf1, 0xf8, 0xfc, 0xde, 0x6f, 0x37, + 0xb3, 0xd9, 0xec, 0xfc, 0x7e, 0x3e, 0x1f, 0xc, /* U+419 "Й" */ - 0x63, 0x3b, 0x8f, 0x83, 0x80, 0x7, 0x3f, 0x9f, - 0xcf, 0xe7, 0xf7, 0xfb, 0xfd, 0x7e, 0xbf, 0xdf, - 0xef, 0xe7, 0xf3, 0xf9, 0xfc, 0xe0, + 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0xf, + 0x8f, 0xc7, 0xe6, 0xf3, 0x79, 0xbd, 0x9e, 0xcf, + 0x67, 0xe3, 0xf1, 0xf0, 0xf8, 0x60, /* U+41A "К" */ - 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf, - 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1, - 0xf8, 0x70, + 0xe1, 0xdc, 0x3b, 0x8e, 0x71, 0xce, 0x31, 0xce, + 0x3f, 0x87, 0xf0, 0xe7, 0x1c, 0x63, 0x8e, 0x70, + 0xce, 0x1d, 0xc3, 0x80, /* U+41B "Л" */ - 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73, - 0x9c, 0xe7, 0x39, 0xce, 0x73, 0x9d, 0xe7, 0xf1, - 0xf8, 0x70, + 0x3f, 0xe7, 0xfc, 0xe3, 0x9c, 0x73, 0x8e, 0x71, + 0xce, 0x39, 0xc7, 0x38, 0xe7, 0x1c, 0xe3, 0xbc, + 0x7f, 0xf, 0xc1, 0xc0, /* U+41C "М" */ - 0xf3, 0xfc, 0xfd, 0x2f, 0xcf, 0xff, 0xff, 0xfe, - 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, - 0xf8, 0x70, + 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd, + 0xef, 0x33, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x30, /* U+41D "Н" */ 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff, 0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, /* U+41E "О" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, + 0x8f, 0x80, /* U+41F "П" */ 0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, @@ -521,14 +524,14 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x3, 0x80, /* U+423 "У" */ - 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3, - 0xb0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c, + 0xc0, 0xf8, 0x76, 0x1d, 0xc6, 0x73, 0x8c, 0xc3, + 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c, 0x6, 0x0, /* U+424 "Ф" */ 0xc, 0xf, 0xc7, 0xfb, 0xb7, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f, - 0x8f, 0xc0, 0xc0, 0x30, + 0x8f, 0xc0, 0xc0, /* U+425 "Х" */ 0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81, @@ -541,8 +544,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xff, 0xf0, 0x1c, 0x7, 0x1, 0xc0, /* U+427 "Ч" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xce, - 0xff, 0x3f, 0x81, 0xc0, 0xe0, 0x70, 0x38, 0x1c, + 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xf8, 0x7f, + 0x1d, 0xff, 0x3f, 0xc0, 0x70, 0x1c, 0x7, 0x1, + 0xc0, 0x70, /* U+428 "Ш" */ 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, @@ -555,9 +559,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x6f, 0xff, 0xff, 0xc0, 0x18, 0x3, /* U+42A "Ъ" */ - 0xfc, 0xf, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, - 0xfc, 0x1f, 0xe1, 0xcf, 0x1c, 0x71, 0xc7, 0x1c, - 0x71, 0xcf, 0x1f, 0xe1, 0xf8, + 0xf8, 0xf, 0x80, 0x38, 0x3, 0x80, 0x38, 0x3, + 0xf8, 0x3f, 0xe3, 0x8f, 0x38, 0x73, 0x87, 0x38, + 0x73, 0x8f, 0x3f, 0xe3, 0xf8, /* U+42B "Ы" */ 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xfe, 0x3f, @@ -567,37 +571,39 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+42C "Ь" */ 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x3f, 0xcf, 0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0x80, + 0xbf, 0xc0, /* U+42D "Э" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x70, 0x38, 0x1c, 0x7e, - 0x3f, 0x3, 0x81, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, + 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0x1, 0xc0, 0x71, + 0xfc, 0x7f, 0x1, 0xc0, 0x7e, 0x1f, 0x8f, 0x7f, + 0x8f, 0xc0, /* U+42E "Ю" */ - 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xcc, 0xf3, 0x3f, - 0xcf, 0xf3, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcf, - 0xf1, 0xe0, + 0xc7, 0x99, 0xfb, 0x31, 0xe6, 0x3c, 0xc7, 0xf8, + 0xff, 0x1e, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe6, + 0x3c, 0x7d, 0x87, 0x0, /* U+42F "Я" */ 0x3f, 0xdf, 0xff, 0x1f, 0x87, 0xe1, 0xfc, 0x77, - 0xfc, 0xff, 0x39, 0xce, 0x77, 0x1d, 0xc7, 0x71, + 0xfc, 0x7f, 0x19, 0xce, 0x73, 0x1d, 0xc7, 0x71, 0xf8, 0x70, /* U+430 "а" */ - 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, - 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc, + 0x3f, 0x1f, 0xee, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, + 0x1f, 0x87, 0xe3, 0xff, 0xf7, 0xdc, /* U+431 "б" */ - 0x1f, 0x3f, 0x9c, 0x1c, 0xe, 0xe7, 0xfb, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, + 0x1f, 0x8f, 0xe7, 0x3, 0x80, 0xef, 0x3f, 0xef, + 0x3f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, + 0x8f, 0x80, /* U+432 "в" */ - 0xfe, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0xf3, 0xfd, - 0xc7, 0xe3, 0xff, 0xff, 0x80, + 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xbf, 0x8f, + 0xfb, 0x87, 0xe1, 0xff, 0xff, 0xf0, /* U+433 "г" */ - 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, + 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0x81, + 0xc0, 0xe0, 0x70, 0x38, 0x0, /* U+434 "д" */ 0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73, @@ -605,34 +611,34 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x7e, 0xf, 0xc1, 0xc0, /* U+435 "е" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81, - 0xc0, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xff, 0xff, 0xfe, + 0x3, 0x80, 0xf1, 0xdf, 0xe3, 0xf0, /* U+436 "ж" */ 0xe6, 0x76, 0x66, 0x66, 0x63, 0x6c, 0x36, 0xc3, - 0xfc, 0x36, 0xc3, 0x6c, 0x66, 0x66, 0x66, 0xe6, - 0x70, + 0xfc, 0x36, 0xc7, 0x6e, 0x66, 0x66, 0x66, 0xc6, + 0x30, /* U+437 "з" */ - 0x3f, 0x1f, 0xfe, 0x1c, 0x7, 0x1f, 0x7, 0xe0, + 0x3f, 0x1f, 0xfe, 0x1c, 0x7, 0x1f, 0x87, 0xe0, 0x1c, 0x7, 0xe1, 0xdf, 0xe3, 0xf0, /* U+438 "и" */ - 0xc3, 0xe3, 0xf1, 0xf9, 0xfc, 0xde, 0xef, 0x67, - 0xb3, 0xf1, 0xf8, 0xf8, 0x60, + 0xe7, 0xf3, 0xf9, 0xfd, 0xfe, 0xbf, 0x5f, 0xaf, + 0xf7, 0xf3, 0xf9, 0xfc, 0xe0, /* U+439 "й" */ - 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0x1f, - 0x8f, 0xcf, 0xe6, 0xf7, 0x7b, 0x3f, 0x9f, 0x8f, - 0xc7, 0xc3, + 0x63, 0x3b, 0x8f, 0x83, 0x80, 0x7, 0x3f, 0x9f, + 0xcf, 0xef, 0xf5, 0xfa, 0xfd, 0x7f, 0xbf, 0x9f, + 0xcf, 0xe7, /* U+43A "к" */ - 0xe1, 0xf8, 0xee, 0x33, 0x9c, 0xfe, 0x3f, 0x8e, - 0x73, 0x9c, 0xe3, 0xb8, 0x6e, 0x1c, + 0xe1, 0xf8, 0x6e, 0x3b, 0x8c, 0xe7, 0x3f, 0x8f, + 0xe3, 0x9c, 0xe3, 0xb8, 0xee, 0x1c, /* U+43B "л" */ - 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73, - 0x9c, 0xe7, 0x39, 0xfc, 0x7e, 0x1c, + 0x3f, 0xe7, 0xfc, 0xe3, 0x9c, 0x73, 0x8e, 0x71, + 0xce, 0x39, 0xc7, 0x38, 0xfe, 0x1f, 0x83, 0x80, /* U+43C "м" */ 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd, @@ -643,39 +649,39 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, /* U+43E "о" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xf3, 0xdf, 0xe3, 0xf0, /* U+43F "п" */ 0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, /* U+440 "р" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3, - 0x80, + 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, + 0x1f, 0x87, 0xf3, 0xff, 0xee, 0xf3, 0x80, 0xe0, + 0x38, 0x0, /* U+441 "с" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x7, 0x3, 0x81, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xef, 0x1f, 0x83, 0xe0, 0x38, 0xe, + 0x3, 0x87, 0xf1, 0xdf, 0xe3, 0xe0, /* U+442 "т" */ 0xff, 0xff, 0xf0, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, /* U+443 "у" */ - 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3, - 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c, - 0x7, 0x1, 0x80, + 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8e, 0xc3, + 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c, + 0x6, 0x0, /* U+444 "ф" */ 0xc, 0x3, 0x0, 0xc0, 0xfc, 0x7f, 0xbb, 0x7c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f, - 0x8f, 0xc0, 0xc0, 0x30, 0xc, 0x3, 0x0, + 0x8f, 0xc0, 0xc0, 0x30, 0xc, 0x0, /* U+445 "х" */ 0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81, - 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c, + 0xe0, 0xfc, 0x73, 0x9c, 0x6e, 0x1c, /* U+446 "ц" */ 0xe3, 0xb8, 0xee, 0x3b, 0x8e, 0xe3, 0xb8, 0xee, @@ -683,8 +689,8 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0xc0, 0x70, /* U+447 "ч" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3b, 0xfc, 0xfe, - 0x7, 0x3, 0x81, 0xc0, 0xe0, + 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xfc, 0x77, + 0xfc, 0xff, 0x1, 0xc0, 0x70, 0x1c, /* U+448 "ш" */ 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, @@ -702,23 +708,23 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { /* U+44B "ы" */ 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xf8, 0xff, 0x3c, - 0x6f, 0x1b, 0xc6, 0xff, 0x3f, 0x8c, + 0xef, 0x1b, 0xce, 0xff, 0x3f, 0x8c, /* U+44C "ь" */ 0xe0, 0x38, 0xe, 0x3, 0x80, 0xff, 0x3f, 0xee, 0x1f, 0x87, 0xe1, 0xff, 0xef, 0xf0, /* U+44D "э" */ - 0x3e, 0x3f, 0xb8, 0xe0, 0x70, 0xf8, 0x7c, 0xf, - 0xc7, 0xe7, 0xbf, 0x8f, 0x80, + 0x3f, 0x1f, 0xee, 0x3c, 0x7, 0x1f, 0xc7, 0xf0, + 0x1f, 0x87, 0xe3, 0xdf, 0xe1, 0xf0, /* U+44E "ю" */ - 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xcc, 0xff, 0x3f, + 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xfc, 0xff, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0xfc, 0x78, /* U+44F "я" */ - 0x3f, 0xbf, 0xf8, 0xfc, 0x7e, 0x3f, 0xfd, 0xfe, - 0x77, 0x73, 0xb9, 0xf8, 0xe0, + 0x3f, 0xdf, 0xfe, 0x1f, 0x87, 0xe1, 0xff, 0xf7, + 0xfc, 0xe7, 0x71, 0xdc, 0x7e, 0x1c, /* U+F001 "" */ 0x0, 0x0, 0x70, 0x0, 0x7f, 0x0, 0x3f, 0xf0, @@ -873,7 +879,16 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { 0x7e, 0x23, 0x8f, 0xc7, 0x11, 0xf8, 0xf8, 0x3f, 0xf, 0xc7, 0xe0, 0x7e, 0xfc, 0x3, 0xff, 0x80, 0x1f, 0xf0, 0x0, 0xfe, 0x0, 0x7, 0xc0, 0x0, - 0x38, 0x0, 0x1, 0x0, 0x0 + 0x38, 0x0, 0x1, 0x0, 0x0, + + /* U+F5A0 "" */ + 0x0, 0x78, 0x0, 0x7, 0xf8, 0x0, 0x1f, 0xe0, + 0x0, 0xf3, 0xc0, 0x3, 0x87, 0x0, 0xf, 0x3c, + 0x0, 0x9f, 0xe1, 0xcf, 0x7f, 0x9f, 0xfc, 0xfc, + 0xff, 0xf1, 0xe3, 0xff, 0xd7, 0xaf, 0xff, 0x4d, + 0xbf, 0xfd, 0x86, 0xff, 0xf7, 0xfb, 0xff, 0xdf, + 0xef, 0xff, 0x7f, 0xbf, 0xfd, 0xfe, 0xff, 0xc0, + 0xfb, 0xcc, 0x0, 0x6c, 0x0 }; @@ -888,180 +903,181 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { {.bitmap_index = 7, .adv_w = 192, .box_w = 7, .box_h = 6, .ofs_x = 3, .ofs_y = 8}, {.bitmap_index = 13, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 33, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 57, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 78, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 98, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8}, - {.bitmap_index = 101, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2}, - {.bitmap_index = 118, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 135, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, - {.bitmap_index = 148, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2}, - {.bitmap_index = 160, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -4}, - {.bitmap_index = 164, .adv_w = 192, .box_w = 9, .box_h = 2, .ofs_x = 2, .ofs_y = 5}, - {.bitmap_index = 167, .adv_w = 192, .box_w = 4, .box_h = 3, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 169, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 193, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 211, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 227, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 57, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 77, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 97, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8}, + {.bitmap_index = 100, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2}, + {.bitmap_index = 117, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 134, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 147, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 159, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 163, .adv_w = 192, .box_w = 8, .box_h = 2, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 165, .adv_w = 192, .box_w = 4, .box_h = 4, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 167, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 191, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 209, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 225, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 243, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 261, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 277, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 295, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 313, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 331, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 349, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 367, .adv_w = 192, .box_w = 4, .box_h = 11, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 373, .adv_w = 192, .box_w = 5, .box_h = 15, .ofs_x = 3, .ofs_y = -4}, - {.bitmap_index = 383, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, - {.bitmap_index = 396, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3}, - {.bitmap_index = 404, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, - {.bitmap_index = 417, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 431, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 456, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 474, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 492, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 510, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 277, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 293, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 311, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 329, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 347, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 365, .adv_w = 192, .box_w = 3, .box_h = 11, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 370, .adv_w = 192, .box_w = 5, .box_h = 14, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 379, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, + {.bitmap_index = 392, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3}, + {.bitmap_index = 400, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, + {.bitmap_index = 413, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 427, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 451, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 472, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 490, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 508, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 526, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 542, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 558, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 576, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 592, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 606, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 624, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 642, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 658, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 676, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 692, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 708, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 726, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 749, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 767, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 785, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 803, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 819, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 837, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 857, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 875, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 895, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 911, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 4, .ofs_y = -2}, - {.bitmap_index = 925, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 949, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 3, .ofs_y = -2}, - {.bitmap_index = 963, .adv_w = 192, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 7}, - {.bitmap_index = 973, .adv_w = 192, .box_w = 10, .box_h = 2, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 976, .adv_w = 192, .box_w = 5, .box_h = 3, .ofs_x = 3, .ofs_y = 13}, - {.bitmap_index = 978, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 992, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1008, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1021, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1037, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1050, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1068, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1085, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1101, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1120, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1139, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1157, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1177, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1191, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1204, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1217, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 1234, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1251, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1264, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1278, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1296, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1309, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1323, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1340, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1354, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1373, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1386, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 1407, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2}, - {.bitmap_index = 1414, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 1437, .adv_w = 192, .box_w = 10, .box_h = 5, .ofs_x = 1, .ofs_y = 5}, - {.bitmap_index = 1444, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1462, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1480, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1498, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1514, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 1538, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1554, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1575, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1595, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1611, .adv_w = 192, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1633, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1651, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1669, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1687, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1703, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1719, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1735, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1753, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1771, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1789, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1807, .adv_w = 192, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1827, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1845, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 2, .ofs_y = -3}, - {.bitmap_index = 1867, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1883, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1901, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 1923, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1944, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1962, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1980, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1996, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2014, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2032, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2046, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2062, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2075, .adv_w = 192, .box_w = 8, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2086, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 2106, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2119, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2136, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2150, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2163, .adv_w = 192, .box_w = 9, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2181, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2195, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2209, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2223, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2236, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2249, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2262, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 2279, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2292, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2306, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 2325, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 2348, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2362, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = -3}, - {.bitmap_index = 2380, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2393, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2407, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 2425, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2442, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2456, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2470, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2483, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2497, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2510, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2560, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2608, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2651, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2699, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2718, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2768, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2804, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2852, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2895, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 2933, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 2971, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3009, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3047, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3085, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 3123, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3152, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3201, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3251, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3311, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3} + {.bitmap_index = 576, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 592, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 608, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 626, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 646, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 662, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 680, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 696, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 714, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 732, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 754, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 772, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 790, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 808, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 824, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 845, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 865, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 883, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 903, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 919, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 4, .ofs_y = -2}, + {.bitmap_index = 933, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 957, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 3, .ofs_y = -2}, + {.bitmap_index = 971, .adv_w = 192, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 981, .adv_w = 192, .box_w = 10, .box_h = 2, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 984, .adv_w = 192, .box_w = 5, .box_h = 3, .ofs_x = 3, .ofs_y = 13}, + {.bitmap_index = 986, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1000, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1018, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1032, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1050, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1064, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1082, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1100, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1116, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1135, .adv_w = 192, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1153, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1171, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1191, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1205, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1218, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1232, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1250, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1268, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1282, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1296, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1314, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1327, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1341, .adv_w = 192, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1357, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1371, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1389, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1402, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 1423, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2}, + {.bitmap_index = 1430, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1453, .adv_w = 192, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 1458, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1479, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1497, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1515, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1531, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1555, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1571, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1592, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1612, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1628, .adv_w = 192, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1650, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1670, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1690, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1708, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1724, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1742, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1758, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1776, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1794, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1812, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1830, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1849, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1867, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1889, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1907, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1925, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1947, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1968, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1986, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2004, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2022, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2042, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2060, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2074, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2092, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2106, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2119, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2139, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2153, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2170, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2184, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2197, .adv_w = 192, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2215, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2229, .adv_w = 192, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2245, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2259, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2272, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2286, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2299, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2317, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2331, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2345, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2363, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2385, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2399, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2417, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2431, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2445, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2463, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2480, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2494, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2508, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2522, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2536, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2550, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2600, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2648, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2691, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2739, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2758, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2808, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2844, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2892, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2935, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 2973, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 3011, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 3049, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 3087, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 3125, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3163, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3192, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3241, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3291, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3351, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3404, .adv_w = 360, .box_w = 22, .box_h = 19, .ofs_x = 0, .ofs_y = -2} }; /*--------------------- @@ -1071,7 +1087,7 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { static const uint16_t unicode_list_2[] = { 0x0, 0x16, 0x39, 0x68, 0x128, 0x184, 0x1e5, 0x1fb, 0x21d, 0x23f, 0x240, 0x241, 0x242, 0x243, 0x292, 0x293, - 0x3fc, 0x45c, 0x54a, 0x55f + 0x3fc, 0x45c, 0x54a, 0x55f, 0x59f }; /*Collect the unicode lists and glyph_id offsets*/ @@ -1086,8 +1102,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 61441, .range_length = 1376, .glyph_id_start = 160, - .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 20, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 61441, .range_length = 1440, .glyph_id_start = 160, + .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 21, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -1119,8 +1135,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = { lv_font_t jetbrains_mono_bold_20 = { .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ - .line_height = 23, /*The maximum line height required by the font*/ - .base_line = 4, /*Baseline measured from the bottom of the line*/ + .line_height = 22, /*The maximum line height required by the font*/ + .base_line = 3, /*Baseline measured from the bottom of the line*/ #if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) .subpx = LV_FONT_SUBPX_NONE, #endif @@ -1134,3 +1150,4 @@ lv_font_t jetbrains_mono_bold_20 = { #endif /*#if JETBRAINS_MONO_BOLD_20*/ + diff --git a/src/displayapp/icons/navigation/.c b/src/displayapp/icons/navigation/.c new file mode 100644 index 00000000..3bfa1c66 --- /dev/null +++ b/src/displayapp/icons/navigation/.c @@ -0,0 +1,93 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "../lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ +#define LV_ATTRIBUTE_IMG_ +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ uint8_t _map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe, + 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe, + 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe, + 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe, + 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe, + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe, +}; + +const lv_img_dsc_t = { + .header.always_zero = 0, + .header.w = 64, + .header.h = 64, + .data_size = 520, + .header.cf = LV_IMG_CF_INDEXED_1BIT, + .data = _map, +}; diff --git a/src/displayapp/icons/navigation/arrive-left-white.svg b/src/displayapp/icons/navigation/arrive-left-white.svg new file mode 100644 index 00000000..567bdbd3 --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/arrive-left.c b/src/displayapp/icons/navigation/arrive-left.c new file mode 100644 index 00000000..ea45fded --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ARRIVE_LEFT +#define LV_ATTRIBUTE_IMG_ARRIVE_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_LEFT uint8_t arrive_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00, + 0x3f, 0xf8, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xfc, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xfe, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, + 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, + 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xfe, 0x07, 0xff, 0xff, 0x8f, 0xff, 0xfe, + 0xff, 0xfc, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xff, + 0x3f, 0xf8, 0x00, 0xff, 0xff, 0xc0, 0x7f, 0xff, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x3f, 0xff, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x1f, 0xff, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0f, 0xff, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x03, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x03, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x03, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t arrive_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +arrive_left_map, +}; diff --git a/src/displayapp/icons/navigation/arrive-left.png b/src/displayapp/icons/navigation/arrive-left.png new file mode 100644 index 0000000000000000000000000000000000000000..6eefd4987d71877502db587cdcf8a22d222c32cd GIT binary patch literal 1290 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(oFR=;m0fhvT6aC77v^x-I12HoYOE*}{ zNCBC9JY5_^GVZ;do}Uq#Dsy~)di~W~T+4T^EOzt@mufrq!Btf;)gy6|=*&s^O*~Z# zA9kw*9=z)0mfv;HBT;0F)ZQ2K1r|D5$g(bru=Gjq+HEpx_MP3CxA)ACoAZ3$+~RkZ z?Pc%Zaun`+e)ZwMe>L;&f8KrmvvtrSmrfzoU;8=%j+vk4~5-#XkR^NvCOlJf3#+74d2wt&9bt88j~5r z#S`Y02mhrk7C*RTzAw8n%j>@@bDpL=cqzldQ$F#UXSwhjJ3hg6?<1XTzg{u!|9K|u z*ZzYWB9`-qO8>a+xOYXNx8HP|rL|doI%!^+iYtRsy|Nvif8AVnNpk7j62>_B_H{4# z#jLb<%-tKaRDidrCHIbK6sKSNuD(wlg}d9&&t1LDU~Z~8H1-0w_-cllv@ieF- zb9Qc;fYuF}jj;@oY%kPZyH0;GmbqmbZ+xFOVdLTAh0jXP-LfNmK-|b z-k~+`nKj!?h0_{)w_Fyf5)b(-G@Y5TZn@?9G^aZU_0FGRDVVB$m%-^ufxYyNBT`}s ztnyNQZ=FlnmEL^$Em_@NI_L9Ex#jov@&?akpY@|*qfJBbxBqGvlDEF+JNqfCar0zO zi{`gHKN#{hm@X2Km4}7lHu2m-5dwoSZ9!)obwPraY-_}Q}Rg58W~(*M7Sb3SNVv3RZtL$i%QV6z$j0rAwM%rgwL z1J-A+KIc7a^}Eh zi?mE%?z(hpMR@K;afLuo2KxDxU$#vt;q$y+ZD4*@Epd$~Nl7e8wMs5Z1yT$~21bUu z28OzZ1|f!)R)!{4M&{ZE237_Ja=lOfp=ij>PsvQH#H}I!LW~nogCxj?;QX|b^2DN4 lhVt@qz0ADq;^f4FRK5J7^x5xhfW-*|gQu&X%Q~loCIDx~8@B)e literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/arrive-right-white.svg b/src/displayapp/icons/navigation/arrive-right-white.svg new file mode 100644 index 00000000..0be60d3e --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/arrive-right.c b/src/displayapp/icons/navigation/arrive-right.c new file mode 100644 index 00000000..da752bcc --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ARRIVE_RIGHT +#define LV_ATTRIBUTE_IMG_ARRIVE_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_RIGHT uint8_t arrive_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0x00, 0x1f, 0xfc, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x3f, 0xff, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x7f, 0xff, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, + 0x7f, 0xff, 0xf1, 0xff, 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xff, 0x83, 0xff, 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xfe, 0x03, 0xff, 0xff, 0x00, 0x1f, 0xfc, + 0xff, 0xfc, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0xff, 0xf8, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0xff, 0xf0, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x1f, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t arrive_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +arrive_right_map, +}; diff --git a/src/displayapp/icons/navigation/arrive-right.png b/src/displayapp/icons/navigation/arrive-right.png new file mode 100644 index 0000000000000000000000000000000000000000..5aae5637d2923d746e9bfa6205ee2c91e64a48c4 GIT binary patch literal 1262 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&-e3Dw%0)+&U6aC77v^x-I12HoYOE*}{ zNCBA(JY5_^GVZ;d;h!T?Ds%MyqiIZ=JiHWjmo{jmFdq?6y(%$TPN3JV$)zJu`qE;x zm>www!C4bLbXI;`#6CI8rXYi>=%UvZmR^>wf&&hs%1+!1cROY}{Nm3jx0fqRvo`)c z+jIABpJbza|NS$~-|xLY|L5O*n}b?71eIKV)H5iWO?;-p%VDU?7{##TK$skdEsK*$ zk#Ix(&EtP2C@Z+Awx3WuEI8@1V50Eh8y3gCk2vu(3UKaAXEMKW^3Dcjlfv_Yi9O9W zGEpooE1rqu%}I0CbK+1GNMeulZ!xi+A?gJbU(T-o?t^5hqoBb*6-~3P43n1F-b&x` zb933sXt%)EJAYP1`L7Bq|JvU7+B~&OwpnHGj0^6@qOFe;zJ9mtGo18%S;pcrp~-1- zR{IY0B-$k{v~K!(6($|DP_Ih?{F1&SMYjNQF*Q@XF9B&C(Se9#UlrO#RdG%k8{LjkFBFx7N zTO&@2#y@l1{4*$ON5qt^y*%y_xhr#1u1vokoDqL;^&H)kcaAAOQ#>Me{oC7Psq6nT z-ICDiuARPDB9kY;=JB@m&kG{Yv|Bio);YcYad-O9jm8ePv36T{wtHOkpJk%?Pt$_; z&Wlv*!r!4T9e?f4tTyqv5q>dqK~Ld4|BOePVIMU-C#`u>*vEcDzIgiDYm45QW$kxA zv+T&v4GZEW{VtqII_&pjXa7%)`OnNE_H_U5Y)Y<~@%N0P|BXYr{14fxBc9mpOxb_E zUh?hl%E?~$Hz!E0{c}E{zJk= zQNcws3#UI|O#5*wyzo%+e{KCKA;Li~Z`M>ro>z40R0*bqx(d3@xn;O{|P8v<(cb3=Cczog$8+AvZrIGp!Q0 zhM6;TRs%Iif@}!RPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{muqhWH2yzy85}Sb4q9e E0E0jiX#fBK literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/arrive-straight-white.svg b/src/displayapp/icons/navigation/arrive-straight-white.svg new file mode 100644 index 00000000..0d20f9ce --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/arrive-straight.c b/src/displayapp/icons/navigation/arrive-straight.c new file mode 100644 index 00000000..4345f619 --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT +#define LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT uint8_t arrive_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xfc, 0x3f, 0xfc, 0x3f, 0xc0, 0x00, + 0x00, 0x03, 0xe0, 0x3f, 0xfc, 0x07, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t arrive_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +arrive_straight_map, +}; diff --git a/src/displayapp/icons/navigation/arrive-straight.png b/src/displayapp/icons/navigation/arrive-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e2e46220350275de22c47546dfb9a4d88980e8 GIT binary patch literal 1110 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&-ty8yJ1BC>V6aC77bR7`81F-@SGk=tK z2in5S;pyTSl5y|tjA##$M2WWhTSL8U1QKV7OR5G|G;}F6DYPtVIndPQ#Ia~m_kz_; z8XUW{y|h0p>gHj6duW}Off7eohmNbz$`eO8_$PF>O?$m?dH2n`W#4QzTQeWrSH1Df z|F<>oKmRxW{P%vJ`?S`NTiw{Vx~ERsw-8# zVf`M%ZllQNkluKu2}(XQ8m-(Ypw&qZ!ES=ZM*t-01Bu=7suFCLT0 zufue8mbF$+{%Nyz%8mqionw`A9|f(sKCw5tjEkH!V=XRCP-!i8&Ug8pxn_FO=D%*C?T2@$^gMf_xjy2p7i&+_{KL5n z?{;otce&Ah`43w{U-7yvPZGbG_Oxty@;fHur0=)a71_6Vf3GazWK`tZA%BtACaE?0 zu7lWg=YP{!zqG$jvF>>g|IgXS?QKVz#k&`&A8zMAEIwnecK^mh1tzB{A9^aPd}lf{ zaBQ5SCbV*@4ZFaf)AemPTNpmacvMGzy8S*$XQAx@mfx3a)D@0YRZZH&{==bEicw(E zguW$j8Lc$EgqfUl9&&Y0V|buund!i>Pxx2nMY*~{t*6!p^Y>5HpZ1oq?dD7+piQ4_ zl)lPb7ECt&p>%9l#B8ktM(Ee z@ukAUDOXw=qn(WxD?a9qIa2mmo3CZcJjJ|?XLoECTy&A;f`rWXO`WTGSd@ijHuGO# zJ)l$@lhhoTAj~8&zv$fMxApBG4Cl3*>p4z8^~E!{YE5GDfyetzE{Y1tUNGIdBJAs` zE7HHUC%Cho{(n~6LN1xr=c5Db+64#xarvyaFUdQpm7*%NZ^vgfzm)Kkb94U-dQLWC zkZj;_U{hfJAkSR!NM5f&~No-*-!4^#~&}$d{#OJ%p0mD zt`Q|Ei6yC4$wjF^iowXh$WYh7P}k5P#L&{p(8S8fQrp15%D}*H)BMFK8glbfGSez? zYp{Q>4$7pGARB`7(@M${i&7cN%ggmL^RkPR6AM!H@{7`Ezq647Dq`?-^>bP0l+XkK DL_EX6 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/arrive-white.svg b/src/displayapp/icons/navigation/arrive-white.svg new file mode 100644 index 00000000..0d20f9ce --- /dev/null +++ b/src/displayapp/icons/navigation/arrive-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/arrive.c b/src/displayapp/icons/navigation/arrive.c new file mode 100644 index 00000000..c53b48f1 --- /dev/null +++ b/src/displayapp/icons/navigation/arrive.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ARRIVE +#define LV_ATTRIBUTE_IMG_ARRIVE +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE uint8_t arrive_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xfc, 0x3f, 0xfc, 0x3f, 0xc0, 0x00, + 0x00, 0x03, 0xe0, 0x3f, 0xfc, 0x07, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t arrive = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +arrive_map, +}; diff --git a/src/displayapp/icons/navigation/arrive.png b/src/displayapp/icons/navigation/arrive.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3dec0c945f8b285ec0d302809a527adf1c7423 GIT binary patch literal 1110 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF)T7Ueu?1PTcxC;F8E={g{G2Vw;vX8tJe z4zz`t!_&nvB;(%O8POghi4tx1w}yJz2qexDmsAa`Xy{UCQfOJ!a-gZpiDS{C?ggux zG&pu?due}I)Xl^C_Ru;l10{~G4josal_!pH@K5M$oA!F)^6r~=%f8ucwq`!KuX^K| z|8HyFfBtX$`S1Nc_i3#kx4N-!bx)nNZ&fhAiHfJ(>z8Y8E8ASTc$SG#_kypi98&?` z?QZ2B;dO<5Qi0DIS4pVMVq00ne88D`Hf z!}>jj$v01x$t45@8zu)ACS@{9T>U*`qg}5BzrpIVpNrgTvaYXrT63*MVCS9QUpyw0 zUx(@HENiWt{L^OblpP83I>##KJYco|@G!Y)`W%(}af;hE*0TC?g{})db*Y2RB-4EE z*}ulOd}42O85cQe##&sOpwe3GobU2GbItUm&41lO+Yj$h>3Q}!<`G<2E z-tFAP?sB91@*lQ@zT$OTo+N%V?P=Nad5U=(&+gbPxacCw1qqq&n>ttXuqX@5Z05hf zdO)c*CaF0vL6}Kme$lzhZ|mDX7|v@q*K?eH>WgP?)tbcQ1CRHcToe_Oy zSEPSyPjF{F{r{}CgxBH8glbfGSez? zYe>7B1S%9HK{f>ErERK(!v>gTe~DWM4f DzqG|Q literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/close-white.svg b/src/displayapp/icons/navigation/close-white.svg new file mode 100644 index 00000000..928004f4 --- /dev/null +++ b/src/displayapp/icons/navigation/close-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/close.c b/src/displayapp/icons/navigation/close.c new file mode 100644 index 00000000..cea764b4 --- /dev/null +++ b/src/displayapp/icons/navigation/close.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CLOSE +#define LV_ATTRIBUTE_IMG_CLOSE +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CLOSE uint8_t close_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, + 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, + 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xfe, + 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xfc, + 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xf8, + 0x0f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0, + 0x07, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xc0, + 0x01, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0x80, + 0x00, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0x00, + 0x00, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x00, + 0x00, 0x1f, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x1f, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x00, + 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x00, + 0x00, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0x00, + 0x01, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0x80, + 0x03, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xe0, + 0x0f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xf8, + 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xfc, + 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xfe, + 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, + 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, + 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, +}; + +const lv_img_dsc_t close = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +close_map, +}; diff --git a/src/displayapp/icons/navigation/close.png b/src/displayapp/icons/navigation/close.png new file mode 100644 index 0000000000000000000000000000000000000000..f79b86bc7c4470577addaf2f5ebd2060a373eef3 GIT binary patch literal 847 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%?l6ik>0fhvT6aC77G{|-k<_6*UA^v$l z0~tMC978hhot^1jbjX0G%`~=k4%51W7c%<}n|j#UxYN7eW_ z7pqSG@qZ16_a+uc0ikJcJUa!CoDyi6F~!z<(&kS;j~m`+kU1d{p{T$iXw1j3=I0s) zwKXf(B;+**oLVmOKg!-mKr!*?R?!rfTO6jJ7_@~FPwti7Dk$@bVdsYD7rBCLTY~IX zPi&t%VVYy&6V~(Z9y(|pIb(6H%282f?p|HO5Lf}8Pg>Sp7R)2ASvDaxoYe>zFTEV&gH!M45?Y;V<{tByO;6CoA zgORt`4r?Y5x0$0&X1%!=#5d_WJogE&bT38(mlXFVH~WX>Vq^xUQhi ztl455VS7WJSvFsL*R){;?=CG3@n5-jZ4Y&<6;3$3V(p)H(KU<=N=g%bQeV`hXasj2 zF=29IUHILjZgubj-gAz*E$SyT4!2Eab~F`l^EkeiYm&m(38|i9J2ZG>rhU)y`KA0N z@9ZxnmOMY^?av$aHJIWrvg}*JRpTrEW0BE^(6ym<**yu<{G`)Ph4bpfsCvJVy1C-) zxjh{0LDw&M73Mv2y}? + direction + + diff --git a/src/displayapp/icons/navigation/continue-left.c b/src/displayapp/icons/navigation/continue-left.c new file mode 100644 index 00000000..30bda4d7 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_LEFT +#define LV_ATTRIBUTE_IMG_CONTINUE_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_LEFT uint8_t continue_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t continue_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_left_map, +}; diff --git a/src/displayapp/icons/navigation/continue-left.png b/src/displayapp/icons/navigation/continue-left.png new file mode 100644 index 0000000000000000000000000000000000000000..521df96ad6c119c09ec6b27aaaa34a4cad9119d5 GIT binary patch literal 1213 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%?MYvAx0SXBuC;F8E>1ZGh0Afxc<~Z|) z#hZbFIp5R8F(l*O+v(mJB9S6(|NA!Px;rZvban9uh)d0E)X)=&UAcIHUd#>wc|lRh zw8eQf3VCxbHVV1~%1FfikVq^${D4`|_2bqK4W&gMi&Bh)WR$b6Z1bG`FQz1P>FQmp zUWcj2M&77jn-@O+bN%-_?sv6a#eSx%?B3yM%(-a!i+-KoA7#{;@1%#UVVL$eCU4U9 z)K^K&8_u+Enpbw(&fB<)^T4M6)0k@xgmEuUVmwf{@3Bqosg0(7zoo)H%y6nF%)NB}nbyCm^OL&1-ZxsGYMRUPl1W*cCE=#|hWX!FUb~09>Rc4HeXq*Oz~5VZ zI)wr+UtJ(~U7vH|8oSlo75q<%eEP?}d#}&$D-uFeFDfs!{Tb*M`|3ilZP4mnT|7Nq z_Dyg1EUQ2Dv2C|ZisILaZ7hbJlfQhqyw6{L$Dt^x9>Iu1a~X}dUp*W;EhwAi;QAVw z0)~cinUpn*Oe>ovpL2LEwb@BfAc^m~cFTvB)_)xLQZ4+dxA+})TJE#G%2qq4W0Kdj zh|;&W)_CiAS4N2)D#*R0*Q=LVANc$0N{$77!dF(@oVBp({)(`*SLY_Nyf`F(~;zV4RMW$|2d0VIRJdxp0{?bVn0^OOqT{$P;a~U}aT>d$G4!?tRaIb*a#fP0| zHl8gh-gcgC|An{B8;o^&MeoOKIeag@=O?>Xy;aoH;8W~9#!eoecB>nme#Ox)#+{@# z-8Qr8rc9hy%Z#v=|Kgs-Owx%a?H;=?-8oU8!<+QIiea9iE>pu~wUchwr<~ewX#?B+ z>UUz2*Ibx1W?cQeBXq(G8RZ^yCPE}nq}o0vQrr>IPPzl zIz4RB<%i}fEfKGFCT^X|8o=<8`8z{J&ZcF8z9l;u?oH!;py2bA=lsu`Px?A$Jo>4Z z@|!WhKtxzFZPQvMwGZp7g>Jmha$a0J<;3h|SLHfyhNm*R?0DbOc4Z2?LBT4f5XMyu zp$%FNq6r%qikf*1UWoqq#USMPcKtG@%)LchcptHiA#+_d66P=h4MhT#0PlJdl&REF~Ma=pyF?Be9af>gcyqV(DCY@~pS7(8A5 KT-G@yGywq8F7;~w literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/continue-right-white.svg b/src/displayapp/icons/navigation/continue-right-white.svg new file mode 100644 index 00000000..98967557 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/continue-right.c b/src/displayapp/icons/navigation/continue-right.c new file mode 100644 index 00000000..4d4402f3 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_RIGHT +#define LV_ATTRIBUTE_IMG_CONTINUE_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_RIGHT uint8_t continue_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t continue_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_right_map, +}; diff --git a/src/displayapp/icons/navigation/continue-right.png b/src/displayapp/icons/navigation/continue-right.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4731c5208d0498b8484f019dcb4661390c6c85 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(YdYNai0fhvT6aC77bTkkL0I?7dbKJhO z=mrA=bF!z4V@Srmw=<(VdJ<)h&5zu?xjDAT<3?2Uv<+Qmr!>RYlxmn4DdtLV+BwmA z;?9D`0KJYDnNtgUy|-z!FA`0fxM|^rx0=&>Bd$qh*XyNC`^jf~f4lMK`@3eO=PfJ$ zWq&^Z-uJiF|KImaX%ev0TA}Eo=d>hgn#uuPjRK;7 zx|B>dPHR}s;Ue}>(Dv6kN4LuU4Kwrpy_C9a8^hJ2@kDiF)lsfZdt7hy2F|~EQlMWz zAW6$ttwm4I=%96rPG8d1WG~yByc~w@X3{O+b5a(Vb1<&jaM|B)!u{tQ9D#1u-*%l{ zV;9HOa^k7h#}I$Zo0$#@AG4W1e(n9sv)%c_Zf>)ThCipKoi~vQC}iqBcx%~7u9bdH z`)2Uh6b1O4@(^7aAso6ukZYFK#RT8L3kTQuDTcc1$Tsr^&pYnK7kE1TaIn4P){VB8 z_U!1FceA|y_}zzluf?Bhl(2NPrEl(uZn-RWZ!x=0p|Jfl=Nivy3kUY!b04P{?Djvj zu+fxd?jvvC^qOBGhwt3*ePMpwdy?489bCc&ZKBumFW+F`ExdC*aqd+;)8l+Ud-NtP zxoNdrDY{v|YF+!P;KjFe8JI;1;`6TLp2{M8QQ3v_{i7rG zN-pyrM|KGOyb^UPe)El&Chi@~g^ylG^qoH%*dq|Fd;XW&^L>1ZY9EfN?U}9ZQ+l&U z;n;^ODIa>do+q{3NEH4*wf38>gU#%#_4$>yR$@C}TOR9wI`izMwTJF^>vhQJMe3+o zPFHqOja_zY_L(=S+{aR0`Ks-X@%vwp#ZxLPlUB0c+TqkolN)=IXPth(|5CusGgU>C zG8}ZvXP&FqNU9%C)vQ`z^1@Ff$;>x63zv?_cQ*gW&0(o zAbZy}D*b@+g8vzuQM`}kuRb*7oSjtnI5Tx_c>Vr=jKPhsgfm!oB>}UYYKdz^NlIc# zs#S7PDv)9@GB7gKH89jQGzc-Yv@$fYGB(jRFt9Q(czpifUla|w`6-!cmAExbn&bv7 yRv08fHU#IVm6RtIr81P4m+NKbWfvzW7NqLs7p2dBXCnnv#Ng@b=d#Wzp$P!~F7Sf@ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/continue-slight-left-white.svg b/src/displayapp/icons/navigation/continue-slight-left-white.svg new file mode 100644 index 00000000..7ae2013c --- /dev/null +++ b/src/displayapp/icons/navigation/continue-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/continue-slight-left.c b/src/displayapp/icons/navigation/continue-slight-left.c new file mode 100644 index 00000000..10b55946 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT uint8_t continue_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t continue_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/continue-slight-left.png b/src/displayapp/icons/navigation/continue-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..31b13c951ac721a5ea4319923ca0c1415864a931 GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(Yf3d8X02C5PPV_4S()BQCP}%1-SSI?0$w$Htp4)&;PGuD&I_mP z`?m6elEe#d(Ll!ub{$u?JLGtWuKDtKq5PJB6}Nv);LlwhYuaI=wleLp-z3jX_3~w9 zcjxZhY;0{D*>yHjY+CXAIiGhwpI80v+(v`0UpE~3Y$iWBF)_KxQ*GnU_OrI1EY3`` zH$A$_*2lY{ZrVC8xfZP$s~b0NJc(T*Q~5nR+4!i4S@4ZJu3U~BOeZe*79TazSupe4 zgr_1iijyBdD470u&JqWii+X=oKe@F2xX7cGnhy0-Cq_KEYUE;<<8?u-=aad#(2jZO z4R%$JnSBap-Zh--|52(v^)x}>o1r@(zTHrj9Vc+#zD(hxv z_3*l_O8T3!FhnPqc>}}06s4xtyL%$KB3CJ0S?N8|?BTL|L7$x%w!DlvVmu+Zf7-Gc zO-m=dN_dj|;>8ZDAXfpW{H%R_Q3Y|YFS}K&JLmn={H@1!F`IRY&9k|!*7z_SGTj@e z<(Uc8zvleWj%}Q4FH4H{a6GQ^f4fqFV~{BI_)mVDmyvO&nmUzh&GK&wOaoCG{XwdySoG@@W#LDJi_55E49Yx_wKM)2Q{4Z zUnDUc5#pMt!TJ`}$Dn5<#o4ooT!befRX` zPN^_dYh5x}z18TfWB)5>UnzmS*Grce-dMD8)6Vl(wJyuFM1AS|XQ=RJiiU8D)s=X& zZ+R0m#UF*5zv6DpfAW^2E^EzeUh~8DT--}$_tox`;CVe$W%h-ohMwEv_{^1B%(P!Szwl(* z;No85tG-3&PRnf0>RR)st?Z&E=hU`j`hMi=v8eB5vtg**n^b2NRdmK6rs^@bFn7X? z^ER)RzUdKf*kSnklju_Utu}QmuY|ZC@Egf}y=-$;fq`M!&zp-Q4=!_KI^gPmZOi73 zi40-~O5JQbpcBu2?nZe0 z366@~^QKY?VyUx)R%U+{a92pW{!X#)KoXx0lg_gP^$ZXG?_=dNx0#j0e0^zBv3hWw zr>@50x65XJXFL~G@iV~iK@u<%tCqM%l%yngcyqV(DCY@~pS7(8A5T-G@yGywpAGZuva literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/continue-slight-right-white.svg b/src/displayapp/icons/navigation/continue-slight-right-white.svg new file mode 100644 index 00000000..46090067 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/continue-slight-right.c b/src/displayapp/icons/navigation/continue-slight-right.c new file mode 100644 index 00000000..a352c961 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT uint8_t continue_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t continue_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/continue-slight-right.png b/src/displayapp/icons/navigation/continue-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..499fae90686b4cbce7ebfbaab620d3db9521d453 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&tQW9*9fkFbwiGF23x*mu@E&wUx%_{qL zih+T7xu=U`NXEUlGrTiG!X=LXH|{i^Y;8O<;qr=u>|)v-H=>l*COC?$Ct&f8X-C^?lp&piicMWM-Kh{bO`$rGhtWq}HkhlcGX{0#&D8S!KNP z>(#llnNKdivTV+#O;?iUE&7xd8s{n+GGXZ+oyb$#i+xzt)=mkU+$L2ZeP7%mC`$fS z^3*dMg#B-sl?X^*zc|76UnHZIgH`UDaHDt&UunhYkd)=AoPEw{1gS3nB`irMq z1sImU^kF!_Ht|tvnSq0)zyZY~PDTrZXP>+;2$ZmMOk$5&Gbverw|YeT)Y3bvH9fS- zVi}WHZ&7RbEju^(#htgz4H=JY*RkGe2tMOsz;xza^qVJs2aF3Q<_IR$;qSXGW6lbeoo6FPGk5`cLI@GPA@_ooI<~ z6Yih4IU;?hAhT1t$*oQ+{?mcbKZ5Ze7g0fSHLg=L8?Tf#1 zN+&VSNK7xhko=Opa=OX?eX`SvuV1q}GwH|Y_Y2ND|Kkty;|Sk#+cNF5#lbB*KA->G z+x{m}%x{|czumcZ_LDk!68P?!U7urqOwQ`iIg6Q6Ncb|E?4NkGh-eKIz@TV;^GE{-R4+e^+eZz0!My;_JWMj`=9NK$-7= z(z=k7{XRNcTYr@nUat85vo&E?+HLk(k5@-7)q&63S*Oc9T`g$8d9hUfrTCxuOML8Ozy8pgv}8YH z)Mfo_yJ{zAVAfSFag8WRNi0dVN-jzTQVd20MuxfuhPs9ZA%>P#h9*|VX4(b@Rt5$o z0q?J%Xvob^$xN%nt$~#{JOijf5@bVgep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U& PKt&9mu6{1-oD!M + direction + + diff --git a/src/displayapp/icons/navigation/continue-straight.c b/src/displayapp/icons/navigation/continue-straight.c new file mode 100644 index 00000000..0c13621b --- /dev/null +++ b/src/displayapp/icons/navigation/continue-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT +#define LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT uint8_t continue_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t continue_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_straight_map, +}; diff --git a/src/displayapp/icons/navigation/continue-straight.png b/src/displayapp/icons/navigation/continue-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..98b444c322d6764d77b69f445ab7b55a173e28b9 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF)Dy7FQ`LITN&eq}(q4u}JQSOJJR*5z!x z0W`4K)5S3)Stg=c< zyDB^OM74J*u)I`Y5p-ndY+A8_PsufqO*JTuQ!{M$uKRrN-xwL6d-G<`=jUJSs&C%B zSy?xK?)STM%iUcz2lOjVKcVM@lj+$yMWZ2dXt<95=DJamQd}eLd&*ntGqUK5JfAnhaeAEeMs4I37-_XqIzd5t*hPSYj zwR}wVzDunM7Y{4Uw{fps;?92I)QZKPt>1YrtPQK}U~L0;-~$8Yo?<;K1^4b<>(QKwjuqh;6zhi6wO zA4qoAQeX5!Rg-o9=~d+wf4JUH@>fxJlWbs=z(6Xj7ycQqm55hW>!C8<`)MX5lF!N|bKP}jgv z*U%uu(9+7##LC!0+rYrez(6H`N+*hj-29Zxv`X9>LXC7xff^)1HU#IVm6RtIr81P4 im+NKbWfvzW7NqLs7p2dBXCnnv#Ng@b=d#Wzp$PzM=xUt+ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/continue-uturn-white.svg b/src/displayapp/icons/navigation/continue-uturn-white.svg new file mode 100644 index 00000000..b2c8a120 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-uturn-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/continue-uturn.c b/src/displayapp/icons/navigation/continue-uturn.c new file mode 100644 index 00000000..ffd8ffbb --- /dev/null +++ b/src/displayapp/icons/navigation/continue-uturn.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE_UTURN +#define LV_ATTRIBUTE_IMG_CONTINUE_UTURN +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_UTURN uint8_t continue_uturn_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe, + 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe, + 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe, + 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe, + 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe, + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe, +}; + +const lv_img_dsc_t continue_uturn = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_uturn_map, +}; diff --git a/src/displayapp/icons/navigation/continue-uturn.png b/src/displayapp/icons/navigation/continue-uturn.png new file mode 100644 index 0000000000000000000000000000000000000000..c5adcec339a1e207f20782c81dacf633c4bdc598 GIT binary patch literal 1536 zcmZ`(dpHw%82&9zE%zjrdeW0?F15`imV}7WW?SQ+TxP>IcCZbR+$K&tNh?I8$&u@p zGFHk-B+Bi$MNXvHaf_Y^$Iv-*{yTr1=X>7oeZKem-sk)N`mW%xF3Jkp3IG6Qw5t)^4{e@GK5;I?@9il4X6+hn7gPl^d9(#83?k>jbw)Nfzdno+v$c^&%M>JtIo ztn>gHKP5!!!gWrVcVfnCcf=LCc`*%_@=gz&HAQQ+*|dj>Bp*9_8r8V7nuAsDPxMLy zL=Ls4f+*%S^?3c{CHxv*waPjo?dp0kO1(MGS6YX;CAoZk=Vr+)bl%P^fEINC>S%O7 z8Wk~ZH>%;TysKJzGQVZBhG3(HE$_Rg7D@4Lttu~jFSb|3SoAp_<7C5ct`U(Lk0ah4 z^=_HD&LKek1UG++rVnY33X#qhBbbSX^Oh*ST|nlLC#-UB8jd%%g0STK`3A)@_L)o{ z8ZFUD5J}k)jNB0zb)Z8`$vix7qz|7nN-M z4ZZg(1tNzYk0oFVUaWlDml$j7@u?vY1nceZX-U`@V|fLz`=;X?;jpIGGf}pyef#Sd zfgX+7h?Zxh25H%gKYkasEZbVb>f@RZNU5IW@FSirJSX_5S9) z!(oitlf86|c*;6=?Wx81a7UdHX&tp#g%e<@t^|T-VvbsTQ_elMJtUH=fpGJA!PFk^ z%Gk*Ff<4tY#|D|+OMhBXQ`8e>bzc5W-G_%0jDhW4wUUbqPzw{@n%A#?h`OQzc>^r& z_AGm8i{s|x2vSV16?&8%s3i1#6`&=$(?bm9U(Cq|Ch{%Q=bsIg4*T(3f5_*1u(#7}ID&f_F=;)j+eEGVhhhbnuY0 z=Uf7(4Kw}yC#mIQbGhPS2x+Rn93#<~o3V&V`uP?*{cg7a>P-(Iv?cS_HR&@*e5Xaq zWn52;oXLr2O;H7Vb_4ggWRyyV2+v-7GZUIR41Y z*5`9b0k`%baorRbvxcobb-+`yAXgufEEm40H&D{&Aeie6O=$JyuTcChyiISs0PU5x zN_&EuRjhG#CW#+}fN7QJ`1d+}N+qK#>tv;7^CG{m$_A@;+kvLz!!gm}gbM_xmd zd0}r_a^2jbx%t63N7dWg_@(q5y-R##zkD}*+uk(G*|Q~@lQ}1koXuhxD+;*^b@){Y zYuT81Pf&l3^MR=RH)KfINii^pAj`g(KHJ%wO(C&^QDkPYi~tgjM3})5W(YVDVS_?g zpv-Md;BXWio(j8r;y(sP1ceq7_y2|^XTubkVei(4vk@WeSQ0ZB#Ky)Rq5TxbB9kJ6 Xk3=v-3l?m(WkUe%jCB$^2B!W4bReYd literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/continue-white.svg b/src/displayapp/icons/navigation/continue-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/continue-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/continue.c b/src/displayapp/icons/navigation/continue.c new file mode 100644 index 00000000..7412cc9c --- /dev/null +++ b/src/displayapp/icons/navigation/continue.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_CONTINUE +#define LV_ATTRIBUTE_IMG_CONTINUE +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE uint8_t continue_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t continue_icon = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +continue_map, +}; diff --git a/src/displayapp/icons/navigation/continue.png b/src/displayapp/icons/navigation/continue.png new file mode 100644 index 0000000000000000000000000000000000000000..6ebd48ec100367be1326b9bc12ee909b52f3db74 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&Na<3Ii0EGmS6aC77bR7@}0I>oPbF9nR zcmrr)v8Rh;NXEUlH~c+B5+#m*OrP$_Gwl$M)|uuYC&##!6?vr^9ULkgMoMqQxLIYD zly+5i?1^gcQeb(hz#{0#&e^nL1D}#>Ae(AX8mDI1?p^o!-oG(2KKJI$p3l#}*j3-W zd9$)^{@m|(=a##>Y!2vGntnp@#kNk#{r&o9iac^t`7@qNGUVTwXUO0faawm(>HM#f zLT@hD&#N~*U=)5b-DSgL{!hH=XNz?v&rCR;|Jd|im3uiG3rnJ`@{g;^X3KaS1U|(i z-V_gbXq6qLa%1`a>G3RAm6iv~u(2eH=dTQ(e{-@BqhrQX#l){uwuvxsG#xe7TF9`& zv-l88^%wt*7aVNSf;Ks+@GqW`0655zKg#=o3drW2cKXjdIVc>8wcAof%u}xFO zVT1qw$bT+uQ-mW{-T3%>W+za^ROidRKa<8pu@GLvVpuoZUF7r6EO+vF8qvMIf ziJSbR|94Nkzgn9oAyZJGMfuFyte?$^enrib)c@$!-ub8#%urYCB)*}U(|>bj+YN7F zCu{kb>V2156D}TBm~Z1=yTqOS!l@ODJzKx?Tv!`c$1!_mNvqFA$FI?skEW_c6uzl- ziY_^jkn3~0r}&`Yf;!2)4Sv`Etre+^i{2KtLsoV{Sgm)@#q-Ou9^d-#gGpwyd+eUy z6=xPnwY_Mli!<_CAN6tf^1#{#?!X5I%00z;RtoOjyVk9rclaTL_@Yj+B1g-x4Gzz) zPCk(Atfju_g{mg&{?n_*en#8glbfGSez?Ysitv_6BN@1lbUrpH@mmtT}V`<;yxP!WTttDnm{r-UW|$-`^7 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/depart-left-white.svg b/src/displayapp/icons/navigation/depart-left-white.svg new file mode 100644 index 00000000..935674e4 --- /dev/null +++ b/src/displayapp/icons/navigation/depart-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/depart-left.c b/src/displayapp/icons/navigation/depart-left.c new file mode 100644 index 00000000..c48c805e --- /dev/null +++ b/src/displayapp/icons/navigation/depart-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DEPART_LEFT +#define LV_ATTRIBUTE_IMG_DEPART_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_LEFT uint8_t depart_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x3f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x03, 0xff, 0xfe, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x01, 0xff, 0xfe, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x80, 0x7f, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x80, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x0f, 0xff, 0x80, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x0f, 0xff, 0x80, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, +}; + +const lv_img_dsc_t depart_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +depart_left_map, +}; diff --git a/src/displayapp/icons/navigation/depart-left.png b/src/displayapp/icons/navigation/depart-left.png new file mode 100644 index 0000000000000000000000000000000000000000..971b466409ef9960c0fe48ab004ec0f243eeb9c5 GIT binary patch literal 1414 zcmZ{kdpy&77{|YJ&)iBlmU8KWgw5?lC=T1$ncUVPw{14ev14I|snEQ3IHW|#tyjk_ zu~ZwP!XcLX^-LnFlh_oclT1$M*PrK)^T+%7yq?eZ`@BBSUr&~|7e-YXp$q^}^}xFM zLVDsGN^(#I#QOxO%0;^1T>!X~2meBnhkAo>tS=sbltTcdaR87)R@xE(Oe6qeA^;A> z0O&Bv+I$?L2N^OB;|4%|?tUw%+rhvF#sk=7=Qm)N=`#9|shHq_cUOE3Q`S^7MU1&z zge;A4l2;<6K@d0yRR|@W&2z@kGDkh!T>PV+KQ0N1(j(~gcFa*k2hi-X1NfQUI7xND zmN%+;r;16oQGm*%_(Jnp;ctznc82jY{FTXY>2-92rMpRHQr8WbIlC};k`3Tb%re8*;`eM_Jzr-^q;ZDL6I4~~*$cxV?| z3YLD=>YN^lH0}l}W7_-E?sSx&6q1(x>d7)hX$mK_rjY8CE#FxzS~HRzTtcpsVaQKI zsXdhR?cG7-rjgozLeKT^G;Q3}h=YDHFD%PaOf9xbpLPda-lko3SH5&|JG$-61n=m| z6@GmGlykRO36`^+yFyfAG4peT&XrOvy@h)2wu!nyi&^X8@=s`WF~0FVP2fMZ$jTh8 zs!@JsECZ&+h^@oSC4%ke<}FM|v~PZaHeyWv@8$2y$CF{19TYu8U`s(I>eX3pD8fzop=n$=j-k3zztXXj?>$B=`nz!uhSw?}Z|Rkf!{R z`*y~G;Al_%iM{C>@af0GGQ*FfFY^}cRLlfEu~8+Kl6kR@?+yGe`ci#%w!ZfS(v1uIofmX(G-_njUW`N5?u^DY6T(HiNS$ErXedjO>pIPgCTOd z+2(L&{|T7uvSXpQP-U?Eh61+01fzzenC04s_Sa!#)YFxl#dLo8 zrlJ{BHQj69*ZWba@yyvUuQk2EqV=BD*}dwW4kO`nE{hm-?=EfLkyv=CIJ}-f!C{>az9`u|K80Q$wp?8q=+8KklxMth-RLp)jd+S;E&Kn;vJY zbkA{~XDPrm=!^5z_O`mb)yiJ&M|bgkI#20mdnLQ0@IgvU`K0ai#WlsOV*jzapQ>>W@x4mKz=B+>ziY`2>J z?*KiPLW@ZL|AGEk;#Vj^_gjKrY(xT!6h{Rt7R!S6%g^!QBnH(YHZHRCog)JJ1U%fm K+<30UjDG=z8*VB9 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/depart-right-white.svg b/src/displayapp/icons/navigation/depart-right-white.svg new file mode 100644 index 00000000..3ec82a79 --- /dev/null +++ b/src/displayapp/icons/navigation/depart-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/depart-right.c b/src/displayapp/icons/navigation/depart-right.c new file mode 100644 index 00000000..190c321e --- /dev/null +++ b/src/displayapp/icons/navigation/depart-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DEPART_RIGHT +#define LV_ATTRIBUTE_IMG_DEPART_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_RIGHT uint8_t depart_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x3f, 0xff, 0xe0, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0xf0, 0x00, + 0x00, 0x7f, 0xff, 0x80, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x7f, 0xfe, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0xff, 0xfc, 0x00, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0xff, 0xf8, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0xff, 0xf8, 0x01, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xff, 0x80, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x01, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t depart_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +depart_right_map, +}; diff --git a/src/displayapp/icons/navigation/depart-right.png b/src/displayapp/icons/navigation/depart-right.png new file mode 100644 index 0000000000000000000000000000000000000000..474c7d171286de309048a6d0d47beed48d8225f5 GIT binary patch literal 1389 zcmZ{kXH?T?6vp2~kO)#DA{b^shJe8YqwHy7h)lzfAvGa{1O)+!861%aQ4yiBtbm{> zN`Y85C^CwK2*pAXkrHeXJV1}Q7&2tGe?Rs^Km6`Jwg%z?A6n6z~yz zj>JP2l1}sCKpF<&384ys&|1A@1}$SiCb$K#-aISxW@#|@_WV<{$#Q-~F1jT@oaKi% zGW4iu%)m^cF^yu^TB4&y#9-Qk{0J5O)EAVQdsXd?+YRqJjjCJhFSz9ASr$ytsa?Ez ztTXqPcEjak_>i3D(bH-UWKI;*v~cwHeBn^*`oc!afb*f*^%8DbHhfTu){S)fkx_i!Qw?Co;6#6U^1R9QvAKvE>c1G&bTXLqw_4mUFez~YE`S7qg!ek zBRr?CiSA3xUb<(9mW5vG(G~N|MM$`UyRKCGG4BRpKLRm-U>^~IaxOP?6yBFVTWP%Z zLRl!67GR`^)(XV7d#TPJC#^^omX`445uYesWc|gi?)pZl5vu&EabS0oIHZ`KF8+ix z`d*fmZc!H0R7o@+wkYM3DekeMleehuq~RJReFi4aX3oC+>qF|&ih4uw-QGlSl>b$+Eh=dHi{r#I>Xmz>JFUO#*=(rqVe{HZ-~yj#Sm)J6A% zgq|FQAKl_#eQugkBC50*7w%$0!&-eLV;pIlDLX9MDd3d)^BKD;ZWSwlwAfT%U7x>J z^n?}G>%I1_^oqT@jC>RAmTSYCpllAbP0&mT=@x6T>RI!!BF*HInWW)_3kB1*<~0kY zt*q$&`LPJSE4@ggZgZv8grthaMzy_~lfIs%2a=b!cQuEY#Z1@K4}CEeA`LVH|4}5b z2c#oc zsh?fgyAO6=G?XReY^1~_D$2trc3ld0l+1nFMCRp>%~~wk4ph@#6xfhl`b~6v3EM`z zK>76+&?Zd=FWWquxO|7Bl&T)@NgSp*k`+XGd06icwNP-=^e!*-8DiW=Q|SnfsF5VZHEICtK8wQ+I&6uBkY%Rc1DuAO-U0wOJhlbDS;4 z0hYkb_F8gggVRod(+_6J@u?YT&?lmmOZ1qW{d)+5QGy_G;n^lDp5TnQ@WhQ1Dhf|y z$BTx?CSX>reY(R{6R_>MoMOI}!fDq`Up;-P*^#1{^thmKCVl_*j&oOazBdK#_WYoh6$S(%#Nh78TRz^3`l@A z)*6Sw;xIUD0M5=HhquRDTVk>HSZu~?>6`xqV&fvCqxkRsCiurivAMMK k48Y}bt)kDJO{CM}8CG%UnMI!+wV_XdO!OgCyHivD1wy({p#T5? literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/depart-straight-white.svg b/src/displayapp/icons/navigation/depart-straight-white.svg new file mode 100644 index 00000000..63ddd33f --- /dev/null +++ b/src/displayapp/icons/navigation/depart-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/depart-straight.c b/src/displayapp/icons/navigation/depart-straight.c new file mode 100644 index 00000000..8be9069a --- /dev/null +++ b/src/displayapp/icons/navigation/depart-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DEPART_STRAIGHT +#define LV_ATTRIBUTE_IMG_DEPART_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_STRAIGHT uint8_t depart_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00, + 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t depart_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +depart_straight_map, +}; diff --git a/src/displayapp/icons/navigation/depart-straight.png b/src/displayapp/icons/navigation/depart-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..3bc5b05e9d0422e532627d178923d8f42e67465f GIT binary patch literal 1100 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(&zuZ??1QZfTPV_4S(se-W4#WyT%=}T_ z9cT;FKTj9Okc@k8XZm}H1j-!WpPjbo7?fb(d+uhRi^7OKDl^gG4 z+P0qj4c+;>fId6{`&1(lFBczL^Ip?;Fk4IU2lD3sH=%|a^TP}&%Md~WuqN8 z1INZLZk=0f4XZ^`I}(=dpP9-2&A>am?Qny@ZHZ{HU&3`xhPsLOj3z$VDLa!Xonw+atE@8MAyCyfXT^wjD57-c!m~sCw+huA5Ou3)z0kUcKCU z-SWUqj}`O36rPxI{n=G9<_lt1gU{K$`>fnld(!eiHp8+PNz*s(ky6fLT~IG@)Z~&Q zL&L`uxmHikTUXbF?^-O_+Qa70mC~Q$v&)kARcB3BU~|>n^aIW-H?BHj+n-W(C@m>yHB;G!;?C%W4Eg-3+o&XUf4BT^EPQo0lKn{HKHbgyMMtI{l~A-X`DpX%cI1rd zZ%V&SJoGa!VlnfrwZ2*xTI62NJ2toVH}iYZ-!pgpsoW3D5vnDw5hW>!C8<`)MX5lF z!N|bKP}jgv*U%uu(9+7##LC22+rYrez(8m1$t)BNx%nxXX_dG&#C|Be2Gk%4vLQG> qt)x7$D3zhSyj(9cFS|H7u^?41zbJk7I~ysWA_h-aKbLh*2~7Zn3c0xe literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/depart-white.svg b/src/displayapp/icons/navigation/depart-white.svg new file mode 100644 index 00000000..0794251c --- /dev/null +++ b/src/displayapp/icons/navigation/depart-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/depart.c b/src/displayapp/icons/navigation/depart.c new file mode 100644 index 00000000..cf7f4c5b --- /dev/null +++ b/src/displayapp/icons/navigation/depart.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DEPART +#define LV_ATTRIBUTE_IMG_DEPART +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART uint8_t depart_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00, + 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t depart = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +depart_map, +}; diff --git a/src/displayapp/icons/navigation/depart.png b/src/displayapp/icons/navigation/depart.png new file mode 100644 index 0000000000000000000000000000000000000000..ef86ae255bd910b4dcdf4cfbe1dc419f517f3026 GIT binary patch literal 1108 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(2W%smB2MP%!C;F8E={g{G2Vw;vX8tJe z4zz`t&C|s(B;(%OnXw)sff8-^Lw{esa;xsdkqLDIE*z~dlscOBaAojQ6;E*-2o&e(G?{W8me%1qr9xA7JuLrX!hyTx5K+jATo6AxJ) zJIvHm*tWz%Nn&&Tg!?mA&bKX$=4|_`wyR^wcafuL#3n`t<|(e0yc`>6`Ug9eUpyG$aa!YTiNEDLW$8t% zCze(QB}H5K%I!31+j4!PFQe!d-&^WZC%V`anrAy6Y^yvL7$zlLta@aH(Eq)kEc8FH zd<~hHCI2Aj!OG?HtKXy<{wsa>sEWhEb%Fbio2Q-YByH<0Q{@*3H^i;m*!r`Mc_vc^ zlTvR|-Ur@>X&!Q#f}DDp?XyA`hgH_{uFISdJ1PGn@5;Ddt&o{qrN`^oVwU(WFR_)qeFT($Uj+2I>^J{?ZI6Q^4FZO4e=^bj= z8J#_4Y2nuw&1{RM`c11_B3vx>e|EC-->*DXCuR}3=G;QD{1f)d{GmJMYK5f-2yas= zy4ZMKjHB?#k~j;GPGN?ZCNsiX^Cl*V9{80vV{y&peM-8UrOsI$5YjbydpacT52M?k zqg@7{vUL72%>R0I%lhbAKL(ST-)t{7JgvBvvS-6v&T8H*zqzh_WEW_coRRduHTK-y zuE{r#-(E2LqsG~s?c2p~+~>W%D&**?iC0#-uL|A1x8Og+8v%wgwSqHufjL99#5JNM zC9x#cD!C{XNHG{07#Zps80s1tgcw>{8Jbv`m}naqSQ!|+g5-u&wghk1ysb~>FVdQ&MBb@0PH@y A$p8QV literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/end-of-road-left-white.svg b/src/displayapp/icons/navigation/end-of-road-left-white.svg new file mode 100644 index 00000000..3eca7bb9 --- /dev/null +++ b/src/displayapp/icons/navigation/end-of-road-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/end-of-road-left.c b/src/displayapp/icons/navigation/end-of-road-left.c new file mode 100644 index 00000000..a30650af --- /dev/null +++ b/src/displayapp/icons/navigation/end-of-road-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT +#define LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT uint8_t end_of_road_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1c, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1c, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x03, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0x80, + 0x00, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xc0, + 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xc0, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xe0, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xe0, + 0x00, 0x01, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xe0, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x0f, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, +}; + +const lv_img_dsc_t end_of_road_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +end_of_road_left_map, +}; diff --git a/src/displayapp/icons/navigation/end-of-road-left.png b/src/displayapp/icons/navigation/end-of-road-left.png new file mode 100644 index 0000000000000000000000000000000000000000..6b10d4867ea6d86a26ee2b0062bc5ffc72c2ff15 GIT binary patch literal 1295 zcmZ`&dpOg39R3cOrlHFdX-6xUq}Zj68VT96Em;!9>5Q$}kZ9Vna5yWQOL%s2Pg_b6 zleCf^>q51h<+zk6QAUo@)mf|K&^pe~pXZPB$NRp|`+h#}^ZDzO7ec2X5%vfG0Fp)x z429Hh0TyNu17>SD#AdPn!Tta!rItq4BFLlJ)X-o6(p&%#i2;~{BGD88$FKmrV*)^` z0Kk?fQ|+>X0^=)8!BlV)A0UBu*UW=IUm-PIX#*iurO4 zMaX#dS8vzloOInMx%W(u?DlQ`+DdJz$~JTI+nMQEIX{zM6LG>@_a}}Lk)K=cJAnP1 zKls>{SE37q6&QAGJ^Yr+>{ zKU)s=Sg@3ZD#hdU=a@;?vC|WJ#rI4{->mZ1U11+w7|y_PdwJs$a_8irxHf?r`dxg- zsXq9?mjW5Jvt)=s87EJpCWu$>%&d@ql;XS|>hrwQ=v8qviF)|m3!a}-(;jOk)vI(b zgIw@_u5;@&Tr=f7{-nu8TALTB>#Emni-YmvQMrT4Nobr-Yo#Q7Um@Rp>VmS3_A5(K8Z zVDnei$iQpP#7zBqo((PZ;z~uZG%gQ+Au{rAQ|7?z$WPBO^qy$AM86_~^8pphIMX=r z;82SpHjazwW>J!pajNmmdt9GoW1CUc_}Bj^!#UR|q4 zS5Cc2qv@i3Sjp1L4WWX*H7A}hlI)A8ubtBd;jN#wWwNi&1lF$KgYF6;Trz zm0*yZRSI{PEkRM6f~y-mEoPL@8s4`>CcX9F&0N|tX9!IJx*k=XSAXLbr?(!7&0W5$ zk0;5e9<3kGdT5Y&O$aWRn*MNa+6`!**$u<0tmE3A$4foprRI(JB=f7&k@~QQnZ+6& zX7k}wi}fL+hK>#M@pkD%)P4bVhqA(vy=;Ox)BC$;?R9&i$lecm-aN##4rYvnef}qB zzQ&X&Qo~Mad-Kl~0lWUf>d6HAAitY7xoIN?qRuvTNb53h*`C7`cWaRp=&79rWm-uwl5ZBpiW6@Z5;SlCap!QeF3d3W-Nz;<>5+U$E9hB}0W( t3m5ht;R=MTqZ}X<3O(YJ68LNukK=LVXzbZfKK9TOppof;R|A+Q{{?nlGG71y literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/end-of-road-right-white.svg b/src/displayapp/icons/navigation/end-of-road-right-white.svg new file mode 100644 index 00000000..d8670e3a --- /dev/null +++ b/src/displayapp/icons/navigation/end-of-road-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/end-of-road-right.c b/src/displayapp/icons/navigation/end-of-road-right.c new file mode 100644 index 00000000..c3d5f071 --- /dev/null +++ b/src/displayapp/icons/navigation/end-of-road-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT +#define LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT uint8_t end_of_road_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x7f, 0xff, 0xfe, 0x03, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xe0, + 0x00, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00, + 0x01, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xfc, 0x00, + 0x01, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x03, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xc0, 0x00, + 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0x80, 0x00, + 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0x00, 0x00, + 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xfc, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t end_of_road_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +end_of_road_right_map, +}; diff --git a/src/displayapp/icons/navigation/end-of-road-right.png b/src/displayapp/icons/navigation/end-of-road-right.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1dbbc7d2ae4cefdadab5a1e868d7a74aed2add GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF)jKW}=n8z>}@oak2uqywOs14wg-xlW2; zU|`

EalYaqsQS*bI?yiMIQlv+qiLcHXlg^tMLFg;f!pQ=>NS)Kbjl+IvwcNi{TZ zkKmRC5?+GQSqHnFx~E*Sk6J0>r5~~;XlqB8$JVYFi<%Z0PL$~FGJJM^#&Yq^(wo!k z$~Rlzdt)7b_}ur}^FPncv3#Gn)P^JR;+evz6%HLWDrbcfgq}Cl)h+pEsi2@`*|Jtx zXOo~(i$h1+yd?s+B3x~PSl)PA_(t{r?DD**oRcsk-Ri&|j^#{>%Zg`S+;u3)Ymw`Z z9v|BW!K;*<96BtwNOCy;Id|rTfY*)A;Qto|PTp=1;C@-;xZ`ZqG52PHbn`r^2iD8P zWEd5tDqD8R0V(;@=^M1mc zk3TOPiYcXR3^l&;(2#j*R?yn>JiNPVLUmP{qU~42Z}ELQDP`gXovS-+zJzpt={(+5 zx1#%3xaZv~4Uf0Cn60|Fy=M8o3*TRD&fGiuztHj6=^BI($1a*nak zmkTm7Jp$1&r^+|mUS?)d{aNs2%Jgg7zeVaB6mdO|U6v=g@q!zV;B$WWuJESAf=Rm0 zZf_Ewr9Wf}-h3lV<)+xCzrwxx?)veclfu+Q6vd=(=drJEmHE&9rN1jXowrlR*1)MI zucw~BGvMjzo90@tRK8k96u6xE$dl_D9FL(ilGvaOCrFq|n`xasMQ0#B|&C9Mrz46Y4I z4uT6f5}10PZk{LJ(D5(!1KWkq>>UxV4G9fQ>$%k(j&NUOc@Z3b>~HK>H;-n4)h}cW zpUz#Q_oe+|y`RjivKgo4dVrZ&wZt`|BqgyV)hf9t6-Y4{85kMr8W`#t8iW{HS{a&H znV4%E7+4t?+<5f15=BF9eoAIqC2kEX_lF(@YLEok5S*V@Ql40p%1~Zju9umYU7Va) ZkgAtols@~NjTBH3gQu&X%Q~loCIF&^9nJs% literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/ferry-white.svg b/src/displayapp/icons/navigation/ferry-white.svg new file mode 100644 index 00000000..5c7df87e --- /dev/null +++ b/src/displayapp/icons/navigation/ferry-white.svg @@ -0,0 +1,4 @@ + + ferry + + diff --git a/src/displayapp/icons/navigation/ferry.c b/src/displayapp/icons/navigation/ferry.c new file mode 100644 index 00000000..d4783511 --- /dev/null +++ b/src/displayapp/icons/navigation/ferry.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FERRY +#define LV_ATTRIBUTE_IMG_FERRY +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FERRY uint8_t ferry_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0x07, 0xe0, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0x0f, 0xf0, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0x7f, 0xfc, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe0, 0xff, 0xff, 0x07, 0xf8, 0x00, + 0x00, 0x1f, 0xe3, 0xff, 0xff, 0xc7, 0xf8, 0x00, + 0x00, 0x1f, 0xef, 0xff, 0xff, 0xf7, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xf8, 0x7f, 0xfc, 0x0f, 0xc0, 0x00, + 0x00, 0x03, 0xe0, 0x1f, 0xf8, 0x03, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, + 0x0f, 0x00, 0x1f, 0xe0, 0x07, 0xfc, 0x00, 0xf0, + 0x0f, 0xc0, 0xff, 0xf8, 0x1f, 0xff, 0x03, 0xf0, + 0x0f, 0xf1, 0xff, 0xfc, 0x3f, 0xff, 0x8f, 0xf0, + 0x0f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xfd, 0xff, 0xff, 0x3f, 0xff, 0xe0, + 0x07, 0xff, 0xf8, 0xff, 0xff, 0x3f, 0xff, 0xc0, +}; + +const lv_img_dsc_t ferry = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +ferry_map, +}; diff --git a/src/displayapp/icons/navigation/ferry.png b/src/displayapp/icons/navigation/ferry.png new file mode 100644 index 0000000000000000000000000000000000000000..c938fccbede2943c4168940a240556d21340cd8c GIT binary patch literal 1786 zcmZ{kdpy&N8^^z6hS69^93r>eH=4>Uhc#o?)?CY6XEx@Z+j5JvaHQHfEZ3tQgbBY+ zsDnrdr(EVX*BrMfN9wpFb*kU`^Y_Q^kN5L=J)h_Kyq^D_pD1L<15kA+000LFPB>Sw z+I>d`EUrL6i-)*^gY8N70Py=QxqoR=;$EBXlwG?-<(N12m0BF4PJD{Hg@NUr?)O1$oy^b>9T?GB zkF(`b0n;ysO&I!DJ!QE?G*qiN*ZBQ{O{xt(ud~i`Y9T>Xg7zO+U(Y$Bpl8`N=JDYn z?QEdwKDZ``b8d?K&jA|My4QAH$uLJQ_2%u@f3&86-r;>ek%;*vT{jf5UR1%ud>-4a z#M9V>rNj~XH2XbDB7{!(L`i0pomknHNCbSCh_$?Diii94py`-HjaNlMaKkYvlZFBl zZ#>k*`$hfZ5xyk?{J1+>aUVe4=W&l~e)K!~a1^iuNw$w)YSRvJARqfxpzrCG4C=PI zy0dlEXt!yT9*ndgmMT>}#s4VN<93G_*<_)1veVqs-k|ZPTSYkSi$i~n(G$-*f;eG)?=hs*qt86W>UYYH0Hmlqw9XFVsh>o58hw5YsW(!{e}L-_yPUJ z%y=g`cj1_{%nkQ;4+W;)o$R@xvf;e&#nZj5_Ya>9&}?=uuKCms|LV(q7UZ`G+7=~K zV7DkkOxuOvCxKrM3#D?G^;an?SKG23F#V7d(YK?M890Ly`;$-!i+GDzgpyk&yF()tHP-lFaU)BE;VaaYD*LMOShm z5RVLDn4M2S)g6L-9=-f^I4;i{def*+t&4vxv|&Gd>Uf5IeazfFKGC}jBya9=Cix)3 zl+_oI_n=)JKB=0Aq6?i4{HEtW#i3}uCB4|6EJ@|sB%;b783v-*J61ljV@{HTV8bd7 zc9K*-9-E18H4H*N8r4dNi0-0RE(W~6V>^N632@hpM-_QtEgxQo_86U8k06bhi7;k0 zIy_drmz>OVp%F$3AkB_jmCK-~t%?By4D3~g)XP}VWq z0{CEscDYGH#hLJQZJiZ^`KLSwZUe^$q)ROjx%RkptgzQ4!-(8AL1pgcrft>u4T~%x zzH$NcTo5EL<+BKG6I58^56aV^dx|IgZe*@D>Ag`f6Aj+9R>gKV^{T%tQ6AkZp43eG zP|P=jYn^Hc&8or?o=@m}sU;Jt>8Y`!GgA$>P^Yl(K?VQL*QqeG==Ij2R)#ZP&QM%`<;v6_#)c+YFt3GApw)cZFRz z7(H9oxUr-aS^dkr2(dOj^jGdGEhl19E5K&5us<&O5<4H=m4AHxwniXA`p@9v)4m%k z#}d?|aJoVwedk&*;dI@fmK=$saiu(1eRJtaJCD%4h0qb`?sl<4{-qSn`KnosuN~*5 zeJ@dWtETt7BNJc73rG0+MX>lF`79a zXHvXo{dk);L~P?^*26zBA9jfGfPiL9|sS)$Cz z){ + direction + + diff --git a/src/displayapp/icons/navigation/flag.c b/src/displayapp/icons/navigation/flag.c new file mode 100644 index 00000000..164583c4 --- /dev/null +++ b/src/displayapp/icons/navigation/flag.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FLAG +#define LV_ATTRIBUTE_IMG_FLAG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG uint8_t flag_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t flag = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +flag_map, +}; diff --git a/src/displayapp/icons/navigation/flag.png b/src/displayapp/icons/navigation/flag.png new file mode 100644 index 0000000000000000000000000000000000000000..22842cfe9fd31529a9bdcefa943a3c69a8f3b22f GIT binary patch literal 815 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%)IrrYY0TdEQPV_4S($PQ+aseL@^ST&j z&Sqd>eCX-o7?N@C?alq(j|(J@e=L90@61~IG9piKu1ooK=l_fcLtCS_bREicY*`iD zzIcIHOi7`jbK%sl-8X~w#4XwX&*13P?F;!W5}JZP+*-%`Ohq9+xuo|4C_G9`#YGA^n=i z=K$+C<_(@*P62x=59oQmUnS4_!2I%`_6MKMc`Y6(+1xXEV9j~w!@@&43tCy*6nheW zx!-V`bXVluyBC=Af7$4@XVwBs z!LO4Q!#pp{Vh}v58LmPR47VXxlQoDqJ>3-}m%!^Fn@wx4=kOEpd$~Nl7e8wMs5Z z1yT$~21bUu28OzZ1|f!)R)!{4CYIU;237_J9e1axplHa=PsvQH#I50HgB~!UGDw1K t2+mI{DNig)WhgH%*UQYyE>2D?NY%?PN}v7CMhd8i!PC{xWt~$(69A#9GdutQ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/fork-left-white.svg b/src/displayapp/icons/navigation/fork-left-white.svg new file mode 100644 index 00000000..7b6b6327 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/fork-left.c b/src/displayapp/icons/navigation/fork-left.c new file mode 100644 index 00000000..1640a228 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK_LEFT +#define LV_ATTRIBUTE_IMG_FORK_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_LEFT uint8_t fork_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x03, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x1f, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0x0f, 0xff, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0x03, 0xff, 0xff, 0x00, 0x1f, 0xff, 0xff, 0xfc, + 0x00, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0x80, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x1f, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x80, + 0x00, 0x07, 0xff, 0xe0, 0x01, 0xff, 0xff, 0x00, + 0x00, 0x01, 0xff, 0xe0, 0x00, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0xff, 0xe0, 0x00, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x7f, 0xf8, 0x00, + 0x00, 0x00, 0x07, 0xc0, 0x00, 0x7f, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t fork_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_left_map, +}; diff --git a/src/displayapp/icons/navigation/fork-left.png b/src/displayapp/icons/navigation/fork-left.png new file mode 100644 index 0000000000000000000000000000000000000000..1459b359967f06b3e2b249b73763bd87efd9ee54 GIT binary patch literal 1379 zcmZ{kdpy&77{|Xx#UgW5W0twh?PzSY9W9*m+NI!CP;bC;^`rxkXbM2;Q2@R}R_Yi4@pu3xf&d^F z0)UJaH+tAZ16YXrPG!X}QHUU( zoHd&6St8$m$O)HpVjQ%d2DIGqoipIJGarZo7M`qhA4ettvt7UA*pQYxC*}JmV(BdU?&EjH?mD7TPw(zWucpo@2Ji z>jB_?m=_{lA}K04(WKFtfiCvRmM1^xMjNTm*;ARS#s`(RMUIlBor7*kMrsNkd!3e* zY{KB+NA5dZ!p%o}8x?VOb?PVPZ!J`i*ac6=>KT%by%ct(=fw#=C-ul*H5IbCdydy8 zUKr934G|-bol26iwwrmLiago`BV96g_iMFc*a-XHTk9YA+22d|3i0f2a!HKf+qT`S zE<3|X1FYyf+Fh`Q^D#?#eIsZ={j6fKMKoUeVB$Ib?5125BedFg{TcpVX*o^u+KCX) zuNx|`z9KxF)+OJk9}WY{35{w)LEX#!<5fn>!~R1bwA@p4r)N;ZX-%1_%aR$ZtB) zWlL)h;&F`j2ih6L)sx7Zn*&^vG12U2lT+Kyv2!UVhkevvBJ>8OCH{T%siKSD94~x4 zk096uDWOBPet6;DM#KAL4oMYc6ek(*fcIiFL-zF{V#dmWjO5 z{>n;T{FrwoEij5)&-lH^4n-9|qgS|(%Bz|Cx(Bdj7Q*^nUGbD~uZAoT+mT<&oX`5= z8(>>h4%dj-yys#e4}K3pQ5Z%WNs6T;*v*2UZ(Qa%6aANs^Mq7f^N}qVdWcA$s0~~m zeN?a5d?|T&bqjOV91M{tlWI6@^a18zvuf%slfLxq7DturZ$-UmdV`XV`x4KB)>x90 ztgJp(@qQ%58&huS3MWl3V5V#-g;CYX<Hh+8j#9w@ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/fork-right-white.svg b/src/displayapp/icons/navigation/fork-right-white.svg new file mode 100644 index 00000000..99e7e565 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/fork-right.c b/src/displayapp/icons/navigation/fork-right.c new file mode 100644 index 00000000..162b53dd --- /dev/null +++ b/src/displayapp/icons/navigation/fork-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK_RIGHT +#define LV_ATTRIBUTE_IMG_FORK_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_RIGHT uint8_t fork_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe, + 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xf8, + 0xff, 0xbf, 0xff, 0xff, 0x00, 0xff, 0xff, 0xf0, + 0x7f, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xe0, + 0x3f, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xc0, + 0x1f, 0xf7, 0xff, 0xf0, 0x01, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xe0, 0x03, 0xff, 0xfe, 0x00, + 0x03, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xf8, 0x00, + 0x01, 0xff, 0xff, 0x80, 0x03, 0xff, 0xf0, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x07, 0xff, 0xe0, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x07, 0xff, 0x80, 0x00, + 0x00, 0x7f, 0xff, 0x00, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x3f, 0xfe, 0x00, 0x07, 0xfe, 0x00, 0x00, + 0x00, 0x3f, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x07, 0xf0, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x03, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t fork_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_right_map, +}; diff --git a/src/displayapp/icons/navigation/fork-right.png b/src/displayapp/icons/navigation/fork-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d655be8ff0521150c34b508dad8656b1ecc88f GIT binary patch literal 1364 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(QpKspr1t=ttoak2uq}_oy0Ej`3;gC9b z|2B}x=IP=Xl5y|tjM$ElREgvN)63GX=cc-!-FHRQ?6R2l4X2Gur=8Jr*`smG_3Z2@ zuU#3c0YZ+e?nXFil(@2QS#(G#GUCMS69<$Iifq#p+O=V7!d2bU%TbQyIoIaKix;Oo zo3r_Oa+=I}moxwOT0XaZUOVsq=db(DTLy`SPT}pSy7$!Le6oTID~C>^$c`go?^ZCd zy3Bdc;PH`@+j)6|K&;QCgPgaFMVyoy1-^d}j_ldgdFz8_j^f z?|;b1SZE;nHSxH?>y@074;`LU9Vgs(LcL3t7!6Gzj-v4L(=1t+g9zB*|%2P z@7aXtnD8xCfqVnLDTEpKl-fK*FHao6)!qDyW zarIAw*$R56vR^!zzDbka;;@_H0VD5k+lm_as=ZU~R;IIupI-HkW37iwTHo4+SvOp_ zn<@$}YW(gwHE^dY=l0csyNyq#E3M1Bn%TeZN!qI`i_JqGPm&NXb=#lm<9WL#%0F|e zzw7+a^>*i{CH9DWKH=wT>G;T1y~$c^(e0&oCdoVvon~Y#ZE!o{oT&fn{)=gr!e^fR z?ogLivhvu#pcqzEIBSC9waXc`_a|c z=o4(2nu{0>rB~URDI9ri_EkJX_rZ?3)0>j!#HESe{I77t$!>vU;RV6}yBxmyPJ8?+ z+^UmhW&e(I^DcjnTJC0>F#E6Lf0j@6Vcus~uixs|?B(s2F#T!TNgW}Zvm1{7OIfz^ zTdeu?$qX@%ZJ&uf`}N|BrnARmsY}IK8+`me`Pjr zy|(|d(}h(Mv2RjcCGG450@-pjEBcN$vc&MK*SpxvzjLMk=tMJ{b>6B9bHi3eaNP{F zP>Nfm(wlkcTUw`N=q`3O)6|{aE6sA4+8&?n$YbUbw@Ur&&dRZ5>N=gq+bvp+T8#Eg z3;#U$sxH9P`oDxj%WuJpyifJd8#(W8xU1USGIjQW4z{9rCQsQ*88_~&R1*2ay^ya+ zW#|44k-(BcwZt`|BqgyV)hf9t6-Y4{85kMr8W`#t8iW{HS{a&HnHp*v7+4t?l+U>t*I;7bhncr0V4trO$q6BL!5% N;OXk;vd$@?2>_bcM(+Rs literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/fork-slight-left-white.svg b/src/displayapp/icons/navigation/fork-slight-left-white.svg new file mode 100644 index 00000000..f19e01b4 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/fork-slight-left.c b/src/displayapp/icons/navigation/fork-slight-left.c new file mode 100644 index 00000000..5b8e194f --- /dev/null +++ b/src/displayapp/icons/navigation/fork-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT uint8_t fork_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xe0, + 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xf8, + 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xf8, + 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xfc, + 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xfc, + 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0xff, 0xfc, + 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xfc, + 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x03, 0xff, 0x7c, + 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xfe, 0x7c, + 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xfd, 0xfc, + 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xfc, + 0x07, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe7, 0xfc, + 0x07, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xcf, 0xfc, + 0x07, 0xff, 0x87, 0xff, 0xff, 0xff, 0x9f, 0xf8, + 0x07, 0xff, 0x83, 0xff, 0xff, 0xff, 0x7f, 0xe0, + 0x07, 0xff, 0x81, 0xff, 0xff, 0xfe, 0xff, 0xc0, + 0x03, 0xff, 0x00, 0x7f, 0xff, 0xfd, 0xff, 0x80, + 0x03, 0xff, 0x00, 0x3f, 0xff, 0xfb, 0xff, 0x00, + 0x03, 0xff, 0x00, 0x1f, 0xff, 0xf3, 0xfe, 0x00, + 0x03, 0xfe, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, + 0x03, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, + 0x01, 0xfe, 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00, + 0x01, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00, + 0x01, 0xfc, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, +}; + +const lv_img_dsc_t fork_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/fork-slight-left.png b/src/displayapp/icons/navigation/fork-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c61bf0e55a609fc1213ffcb9ceb65f4a43c9fe58 GIT binary patch literal 1567 zcmZ`(dpy&782)aNYnkL;xupwjHkXr)G#WPdp+pg8v5c`zri(_(BrTMXBy!EAJ~>BJ z5|&mGwXKp6ZCKKk4&j_%f1W?iAJ6-Ip67j^&-?!MX8HNJuTnKo1purf5efbf<9|b0 z0jeOpbvINMqMf~+0l39iTZ~YIv@wO~?+w6_O#pB+09b%5?j!(7XaMBl0N@G%&`l_5 zBRfJ3c%-L00f4$3GiykxBoKpH04D1A4Ong*+z2w2*d%XPB`Hi*Yqf34D`XI4At(_( zhauh%;r9irA*{l>FuI^)21o?wz?k7rMMrsoyVvzR81KUs$o@jnianMBimI{*OD3{? z%A^7pmjUZv6-wGmCXq4DW5u;9r!F%YtR?gG%?1A1&B(bmMsLsXuUuLG zbAF1CwP8&RIrO%U-#MLh`spxBRxeU;SW zJKfAQWnq4hyCALzV%)>PbTrEBa|Ablyk^aBg1zWY0X$# ze*~wLAKXdwl7x|Wot1KwrPZ8E!RnS-%oT`=hvXDXJFm+6s3)tqoG#MRPcPC9RL-{; z+05oyhrkCqcAkQj`*g5(Q;Ai-vQgN_93tPMynN2LZ^zuFv)A4TRVFyOdpWv#E$@V^ zZR4_OIeq4U-;Mn17I6ccb`Kt94lbF-iTC!taNE82hGt|w%V71*s}4gATm-d#48cNd z|E6Qty$JX(b<1_uy-(Fupe$(CPngYM?vtlw)F;zfHuk!35W=~RNGIDDgie2u(BU?@ z$LnuapOf_fJ8!y_xFO?@Qff@9as^#A>0alTAC5L{Jl{{kUD(lp#I#nPis*$A?|it8 z_Csa20Y?LlX()EbxbLm!JC~BKrZ?sMt$K*4VEQBADZwy}J=#!~Hvi@cZKk|lW~{LQ zD|iu`HInx=1pBal^Xk8vtI1$p1_e|_nT?=y-YizUecax4hgzSJ2bQBu^OE% zUboi@UU$Sl`X%C1bRG1yMs2&1wo=}XzBtJ@{dIjO6E56!tRYLjI8_{%SNrv}(eZ;o zI{jR80Y)td7JL#-s62ioYDYwB|9SR%?N#>`miJ*({Pb7M&X2;5{<v zB<&~%&NR<_0V~=WYgDn>Y$mXdsd#vZ(B%2fN0HRHqZQ)-xAt*M+L zyi>ojxI`HrL&X^e$JRE5JACGZ<{6cpF|zKI=+q?Krm5iVA8n{(iumD5Z|?}-3)6W1 z4296BgUgC;Kj6#ic#hNNALaL+y!Dayrq32V+aUc?80?&>G3tlwMMUb)PEBuljVLdU z2Zz^&M9#ImQ|h1EdLTb0+>JNl%M&)kc5F*LCgD#w7`Y&&RmVO*!*y$i>)9rCKscAT@rsxf%PF)%HP$JP;o@@kON>yAflBz~?fu5) z>_jxuSkRE#^0t;X1yU^w$xLlOi_7bJ zTo%%S+0O*LB2~YnQ D2~57t literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/fork-slight-right-white.svg b/src/displayapp/icons/navigation/fork-slight-right-white.svg new file mode 100644 index 00000000..25ac5752 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/fork-slight-right.c b/src/displayapp/icons/navigation/fork-slight-right.c new file mode 100644 index 00000000..f2c4dec2 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT uint8_t fork_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, + 0x07, 0xc0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, + 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, + 0x1f, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf8, + 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, + 0x3f, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xf0, + 0x3e, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0x7f, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0xbf, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0xcf, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf0, + 0x3f, 0xe7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x3f, 0xf3, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xe0, + 0x0f, 0xfd, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xe0, + 0x07, 0xfe, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xe0, + 0x03, 0xff, 0x7f, 0xff, 0xff, 0x81, 0xff, 0xe0, + 0x01, 0xff, 0xbf, 0xff, 0xfe, 0x00, 0xff, 0xc0, + 0x00, 0xff, 0xdf, 0xff, 0xfc, 0x00, 0xff, 0xc0, + 0x00, 0x7f, 0xcf, 0xff, 0xf8, 0x00, 0xff, 0xc0, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xc0, + 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xc0, + 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0x80, + 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0x80, + 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x3f, 0x80, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x3f, 0x80, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t fork_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/fork-slight-right.png b/src/displayapp/icons/navigation/fork-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a942fd318de76257638d5331505a101091e2c9 GIT binary patch literal 1564 zcmZ`(dpy&782%ciqqR+U!eQ)m+-h5v<93W_7aOz2F@%{-$P8=Fw2&l4F6ENk($xs5 zblhS@x;RrVr*u;eBiD$cqnuxVo_^B{7g6ZW>LV%|8xRD<6WvzG zLUB2+Vu*bqe7^tzVV#v@#69R31;xpMb>PiZeppJj$JWl3naRmX9zSM3!SV*Z(Y?&b zAcXhC*`C6$WwXgy^QC6T1x_1}*1zvbR>NdpWNU<#@y={y8RZ)t&CajP#pKKCLn>eN zR83SP4=al#J8wlRiy|qra8;Ypx#jp#t8R%xGI)q3H1I!x&na+o^q|VTjXf&%8u!cg z9x8vT-(T)IrGOjjQJQJTSfv^s71aK6Ces+>5!P(%VJb7hWC5+C}TkvPJt%+6f}aUfS&VHa=l z$tSMo9r-bPq2=QQx84yi zorZ4%&nnpF+M$GDlI}vc{{6FNJZzv&*zbi@pPhA*n$vz0^yibe((6k4Ews6YUR2XP z2Xoufwsu~HMae1Cv#PXrc6)=vuUemHw_=u1v>Dm$E&52^w2y4wrq5S8(w?f_Vs{ei zHDARcqklf}gzu+(nfYZ3{!!ITDWf5TUxnMY)!Erv))jlpPcmlxJbO~=@-H2|Loiwf zmkzk77prq%VUlbO`^1p&AYQuMrWH00A5s!0n&e5SEjN=qllhm^9(0%m|0+AE){8&i z9aZ-Ym60jj{&Xm8>RlBUxOYlDg&}~0t?r?ot`?j5k7N#Z^j#Nj-nZD<8+Wb(=AN^O zF;TZWf$^z%uqx!5x4mdd^p$rGx@j3cEbuL9e5 z1Zu6_b>H{K=Xw|}wFg~(D+)%&%$xg^ zb(rktPi59fdKxt=h9$W{3e{-emezFCl337n7FQDakAO>lvqxd~x+@q`aqmZeo^fbQ;N!*3A);mML1V^btO8tvni`7ZGrZHYTQc7 z^c-5Eq1(~m+tf=+?kWTRjY1>G?2oR*IMaLPGw|NA)d+k;!ehN7noVi%m2Gziw-0vQ z6@MnRquwaq;#*p&=fZFJedp3_H2*?$bj+YVmTqqBU^N*C1gt>d$TbwYGm6*`r+5kr&!$L|6>9e>StK%ibixkkax# zW!m%jwNjsgQ-9t0M9dIRSPur-%zu@uknP8^tNA5}oIn*bphK~~;Of5+r@M`e)ai}% z|5LL_hn&D%Y#@X9mYYn60hL1dFHJUWso7`{tJ-+sn#J6w>QI+Os;Ra-#B>xWR0?t6 znz>eqfu7JTR3ShvBSE2UOSc#)8oyA@p8S>r6M3A;?OSZgfyt@^|H{{+G#fhP81Ks#Ki0f5rjo^IYQo!h^XL#X + direction + + diff --git a/src/displayapp/icons/navigation/fork-straight.c b/src/displayapp/icons/navigation/fork-straight.c new file mode 100644 index 00000000..e8df2070 --- /dev/null +++ b/src/displayapp/icons/navigation/fork-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK_STRAIGHT +#define LV_ATTRIBUTE_IMG_FORK_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_STRAIGHT uint8_t fork_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x3e, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x7f, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0xfe, + 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, + 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbf, 0xfd, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x3f, 0xfc, 0x7f, 0xff, 0xff, + 0x3f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xfe, + 0x3f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xfc, + 0x0f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xf0, + 0x07, 0xff, 0xf8, 0x3f, 0xfc, 0x1f, 0xff, 0xe0, + 0x03, 0xff, 0xf8, 0x3f, 0xfc, 0x1f, 0xff, 0xc0, + 0x01, 0xff, 0xfc, 0x3f, 0xfc, 0x3f, 0xff, 0x80, + 0x00, 0xfe, 0xfc, 0x3f, 0xfc, 0x3f, 0x7f, 0x00, + 0x00, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x00, + 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfe, 0x00, + 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfc, 0x00, + 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfc, 0x00, + 0x00, 0x1f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf8, 0x00, + 0x00, 0x1f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf8, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t fork_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_straight_map, +}; diff --git a/src/displayapp/icons/navigation/fork-straight.png b/src/displayapp/icons/navigation/fork-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f5a7d6f91e613ec9531c8589ce86a0e7be23ce GIT binary patch literal 1652 zcmZ`(dpr~T8vkKVt}_Y8%1N2KvAMRn4Re^;Ocq|ZXlzqqX3gx4)f7k%_9@A~unasK!|-_Q5^Jm1gr{Ph%2$o|?Ia18)}HX#6i zP{Ft#P=hEch`WDCQ6UU(k~aViMVedjstRpF3phvu;FLK4Ts{C_6&809fD2p_$eJIjdlHiQgO2KUWK`XLm>I>m{-!!gSx(+ zIlZc|V6=F0hJyVSpeXR;7&UnJ?^6J%niKHeROZa8F!?yuZ&%*$?e)l}ICUh#@^H*G zwFu9OUZ83XlV86QcqSl-%S6D{;e~SkVRI_X&(AUpw?7hvhU@F@FOb73_L-YJ5#^eM z5nxD)Ze&}L*V?P4j@I_pcI~KVtUrb&rS})y7Y3#sO=CnWqk-KiA5TIx(=JaJ&4-iI zMYo$f{_H%h()C5_C=J42>~ZUvGi__x2Ye!IuXO|bPeFgW_^?K^?X%wqvGkUwE(g}m zrl~#H!${a|VuE*Vfdywga~uR}#oaXsL34skx0|rN#|{CJFWhQM=FN7B;kk28p`&~* zZ1Xgc*jUt^gu~?zQCk=P@p`tTe`l5Iz}bi=^Oc~&cArF9St?|8N*)NpQZV5_gu)e_I4smcOM>ig`j z=SNE!`!Hw-Gm@UOANi!xhjoRupkl5gExa5N>|_&jtV(WoQZbar!)aj*E> z+fUvxM+~!K44aVItk(X6nbs%s$ajiEY7J8zXVM*zeYcL>!`QWZnA|TQULU5LInp*iITjt!zU0wwvEDfN(wckGc4I5QB7eN$5wlK*ATaCyepD1o zE$xfWXjv**Bi>SLmjx{}Ps)NvgKj@tNGZSmLc(L=?d5pA=$!x5xa}&)@`b1g#)!10 z*bv8v%A`|-teBZ;K!0!8QDp>Y=4DTWTc;k{3T-A@6dH^izdfc~m!-okJs{U{_BS4U zAND!q0hP@~d=AM@M*EgtxiQ@I>${m9aptYdlEA{)npaoE>@B?}f5wH!J7b<(48C$z zVHx0?z4c0tReX=+jbqHdOv0<}NiJ>7Mwdl)`j<2y@$*_1_wHWhFFRRIl5m2Q=c>l8 z(09~AXwPBeKqjN?pVp6-{F{SK5B7Dbt%l$DO{d0kV@0OSqO9&hzf_v9`FV70%Bo`T z1z}x1k@&YRLFIXDwU2sKO^E+ILi?8+$HxPN9mZ#{RhsLwI(=MDz&FyiWcjkl2`61X z@tmo`v0NX803qTk_0Gc~9B+BdIf;9xI+XXDj!m$I-s8QJoV$ILs*$0aO{xnduh7zJ z5=MnQCR}+P!yfMyB8Z}(2OYNKt+S(hHX1bb8IZa<|Lz)@tIt%Ta`|h>!0}V-p>P9!wUAdS*mMO0pZdMlaL8w0E3%tHt2-pHS~OD!hmUtY>q3VyR@lbdXBrTCm?9KQ%oLOdrC zOJgT02soe|&`1;-iAGV;7%bWe>+EcULSa!T-o)0>{{)g#6O!ov`u~9s=kRPr!05+@ r&{R4nGoGCYGBY#nl2VSP)8bi)cByPe*_u0CF$4&HWc(eUxZJ-05{Sy0 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/fork-white.svg b/src/displayapp/icons/navigation/fork-white.svg new file mode 100644 index 00000000..0192689c --- /dev/null +++ b/src/displayapp/icons/navigation/fork-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/fork.c b/src/displayapp/icons/navigation/fork.c new file mode 100644 index 00000000..60d4df96 --- /dev/null +++ b/src/displayapp/icons/navigation/fork.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FORK +#define LV_ATTRIBUTE_IMG_FORK +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK uint8_t fork_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, + 0x7f, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xfe, + 0x7f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xfe, + 0x7f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xfe, + 0x7f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfe, + 0x3f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x3f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfc, + 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xfc, + 0x3f, 0xf8, 0x7f, 0xff, 0xff, 0xfe, 0x1f, 0xfc, + 0x3f, 0xf0, 0x3f, 0xff, 0xff, 0xfc, 0x0f, 0xfc, + 0x1f, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0x0f, 0xf8, + 0x1f, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xf8, + 0x1f, 0xe0, 0x07, 0xff, 0xff, 0xe0, 0x07, 0xf8, + 0x1f, 0xe0, 0x03, 0xff, 0xff, 0xc0, 0x07, 0xf8, + 0x0f, 0xe0, 0x01, 0xff, 0xff, 0x80, 0x07, 0xf0, + 0x0f, 0xe0, 0x00, 0xff, 0xff, 0x00, 0x07, 0xf0, + 0x0f, 0xc0, 0x00, 0xff, 0xff, 0x00, 0x03, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t fork = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +fork_map, +}; diff --git a/src/displayapp/icons/navigation/fork.png b/src/displayapp/icons/navigation/fork.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8e4db9f2873e85402948e161b40d4919ddb10f GIT binary patch literal 1486 zcmZ`(Ydq5n82)2JM1(MMpK7w-HkVkNuwk={%bMg6OLHl5*;qPVOw@{mTq=qqQLec~ z$}gvrF{RNK$F(At(+Mji4t4%Mo)724^FF`#dEe)K-%sylZ@Pz?3QPq605vj+=nJy* zCX^vy1VSD&!3YU=p}7D+{WaBf78J})LP@?f061+40LiHUum(!WvjC8Q0)S5;0D!## z0J^b7Z9X`#Ab*tNK?H!xtL7Lm+Y(DU%mL)29h;ELj+QqDMI|no=B6|yr=q3q5X)kn z0VR!47CjMU4-lIdD1g{HWsq_kJSLe;bU7F?K6isg4P`)3eG7g$|ab+4mZeXcx7ke@+ZozTp{EwAU&Vg~#lLo8(LGs+$!`8b?p}i;Qi?B;x@A!Kn9SmTu3h^oOfd5m`Ew&S?m5{#UB%aOno(b$!n? z`>Mksk%!<+?e=hMrCjD~s9gyONvX&}yoySx^d|8Qz0F`6VpNX83VQf~M>)PLJYzZ; z^IT#^9ki6#cXt_DWT_XM#qs$xWVkNNbht6mzr4WjPQbRp%3mbMPhBg%%)UC9nd(r; zl(X&=jo?_@qQ`LMOxcc|ufqAQ!XXR3W$>a$;EYA50hE`eya)@%%w52GF>;)1y!7eu zSF(a*l`d;k+*o?C^S2#PIPHW~i{rlGX|ZzW=Ml| z|MAtHsZ4_pt#e4+w6Cx#uq7~%`6x=A5xvVhg!0ZVrCMB*;pHFS@y?4a7bl%U1y3-( zm48iDj_)mPC(G%>xqE7;v6klTt53y*g0%Yt0k+`dPg+&d!1~Q@vK%KE zj^5*beahhT?`~s?9nn2_@mi>nI71|z9_@HmGy*i$jQBreD8kA3TM5fvc-yw+PDRau zrN`%*{IP65d_GD2oYL%sy2qK|vw2}gH{Ve1)h%ew_jStIdlxi{7hZb^ctIz792Sm! z*z?V2{&+ave@dyb_?!|yIH#qoF2+5Bs|MNIOOem9y@$Lsv7aUy9Mm_zKl(90KWYQM zk!#?s4gqV`TSnfuUfh^|#)epsC9uZjuBC_(j0yQlB+gu+e-7>}JS3)OIyh=&`9-yV z|E8s!wDc&=x$ka^HRKT~ewT)9b}nP<`rnXv`r4$ZgI>)aga2u^YHUp87`1mhpZH+=(qfrOZ zj##uU*3RAvg~Fmx4F{$f|1m_z9E%J~`hUY8M~^Ik2K~(qjF>Pkj}^}bcsw35^5h9l aC@YqYjEN5~oX5eyCV=clC)T=#r2Gs0aem+c literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/img_conv_core.php b/src/displayapp/icons/navigation/img_conv_core.php new file mode 100644 index 00000000..f12b76e0 --- /dev/null +++ b/src/displayapp/icons/navigation/img_conv_core.php @@ -0,0 +1,822 @@ +dith = $dith; + $this->out_name = $out_name; + $this->path = $path; + + if($cf == "raw" || $cf == "raw_alpha" || $cf == "raw_chroma") return; + + $size = getimagesize($path); + $this->w = $size[0]; + $this->h = $size[1]; + + $ext = pathinfo($real_name, PATHINFO_EXTENSION); + if(!strcmp(strtolower($ext), "png")) $this->img = imagecreatefrompng($path); + else if(!strcmp(strtolower($ext), "bmp")) $this->img = imagecreatefrombmp($path); + else if(!strcmp(strtolower($ext), "jpg")) $this->img = imagecreatefromjpeg($path); + else if(!strcmp(strtolower($ext), "jpeg")) $this->img = imagecreatefromjpeg($path); + else { + echo("$ext is a not supported image type. use png, jpg, jpeg or bmp"); + exit(1); + } + + $this->r_earr = array(); /*Classification error for next row of pixels*/ + $this->g_earr = array(); + $this->b_earr = array(); + + if($this->dith) { + for($i = 0; $i < $this->w + 2; ++$i){ + $this->r_earr[$i] = 0; + $this->g_earr[$i] = 0; + $this->b_earr[$i] = 0; + } + } + + $this->r_nerr = 0; /*Classification error for next pixel*/ + $this->g_nerr = 0; + $this->b_nerr = 0; + } + + function convert($cf, $alpha = 0) { + $this->cf = $cf; + $this->d_out = array(); + $this->alpha = $alpha; + + if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) { + $myfile = fopen($this->path, "r") or die("Unable to open file!"); + $this->d_out = unpack('C*', fread($myfile, filesize($this->path))); + fclose($myfile); + return; + } + + $palette_size = 0; + if($this->cf == self::CF_INDEXED_1_BIT) $palette_size = 2; + if($this->cf == self::CF_INDEXED_2_BIT) $palette_size = 4; + if($this->cf == self::CF_INDEXED_4_BIT) $palette_size = 16; + if($this->cf == self::CF_INDEXED_8_BIT) $palette_size = 256; + + if($palette_size) { + $img_tmp = imagecreatetruecolor($this->w, $this->h); + imagecopy ($img_tmp, $this->img, 0 , 0 , 0 , 0, $this->w , $this->h); + imagetruecolortopalette($this->img, false, $palette_size); + $real_palette_size = imagecolorstotal($this->img); /*The real number of colos in the image's palette*/ + for($i = 0; $i < $palette_size; $i++) { + if($i < $real_palette_size) { + $c = imagecolorsforindex ($this->img , $i); + array_push($this->d_out, $c['blue'], $c['green'], $c['red'], 0xFF); + } else { + array_push($this->d_out, 0xFF, 0xFF, 0xFF, 0xFF); + } + } + } + + /*Convert all the pixels*/ + for($y = 0; $y < $this->h; $y++) { + $this->dith_reset(); + + for($x = 0; $x < $this->w; ++$x){ + $this->conv_px($x, $y); + } + } + + /*Revert the original image if it was converted to indexed*/ + if($palette_size) { + imagecopy ($this->img, $img_tmp, 0 , 0 , 0 , 0 , $this->w , $this->h); + } + } + + function format_to_c_array() { + + $c_array = ""; + $i = 0; + $y_end = $this->h; + $x_end = $this->w; + + if($this->cf == self::CF_TRUE_COLOR_332) { + $c_array .= "\n#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8"; + if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 2 bit, Green: 3 bit, Red: 3 bit*/"; + else $c_array .= "\n /*Pixel format: Blue: 2 bit, Green: 3 bit, Red: 3 bit, Alpha 8 bit */"; + } else if($this->cf == self::CF_TRUE_COLOR_565) { + $c_array .= "\n#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0"; + if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit*/"; + else $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit, Alpha 8 bit*/"; + } else if($this->cf == self::CF_TRUE_COLOR_565_SWAP) { + $c_array .= "\n#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0"; + if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit BUT the 2 bytes are swapped*/"; + else $c_array .= "\n /*Pixel format: Blue: 5 bit Green: 6 bit, Red: 5 bit, Alpha 8 bit BUT the 2 color bytes are swapped*/"; + } else if($this->cf == self::CF_TRUE_COLOR_888) { + $c_array .= "\n#if LV_COLOR_DEPTH == 32"; + if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 8 bit, Green: 8 bit, Red: 8 bit, Fix 0xFF: 8 bit, */"; + else $c_array .= "\n /*Pixel format: Blue: 8 bit, Green: 8 bit, Red: 8 bit, Alpha: 8 bit*/"; + } else if($this->cf == self::CF_INDEXED_1_BIT) { + $c_array .= "\n"; + for($p = 0; $p < 2; $p ++) { + $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "\t/*Color of index $p*/\n"; + } + + $i = $p * 4; + } + else if($this->cf == self::CF_INDEXED_2_BIT) { + $c_array .= "\n"; + for($p = 0; $p < 4; $p ++) { + $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "\t/*Color of index $p*/\n"; + } + + $i = $p * 4; + } + else if($this->cf == self::CF_INDEXED_4_BIT) { + $c_array .= "\n"; + for($p = 0; $p < 16; $p ++) { + $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "\t/*Color of index $p*/\n"; + } + + $i = $p * 4; + } + else if($this->cf == self::CF_INDEXED_8_BIT) { + $c_array .= "\n"; + for($p = 0; $p < 256; $p ++) { + $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", "; + $c_array .= "\t/*Color of index $p*/\n"; + } + + $i = $p * 4; + } + else if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) { + $y_end = 1; + $x_end = count($this->d_out); + $i = 1; + } + + + for($y = 0; $y < $y_end; $y++) { + $c_array .= "\n "; + for($x = 0; $x < $x_end; $x++) { + if($this->cf == self::CF_TRUE_COLOR_332) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + if($this->alpha) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + } + else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + if($this->alpha) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + } + else if($this->cf == self::CF_TRUE_COLOR_888) { + + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++; + } + else if($this->cf == self::CF_ALPHA_1_BIT || $this->cf == self::CF_INDEXED_1_BIT) { + if(($x & 0x7) == 0) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + } + else if($this->cf == self::CF_ALPHA_2_BIT || $this->cf == self::CF_INDEXED_2_BIT) { + if(($x & 0x3) == 0) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + } + else if($this->cf == self::CF_ALPHA_4_BIT || $this->cf == self::CF_INDEXED_4_BIT) { + if(($x & 0x1) == 0) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + } + else if($this->cf == self::CF_ALPHA_8_BIT || $this->cf == self::CF_INDEXED_8_BIT) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + $i++; + } + else if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) { + $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; + if($i != 0 && (($i % 16) == 0)) $c_array .= "\n "; + $i++; + } + } + } + + if($this->cf == self::CF_TRUE_COLOR_332 || $this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP || $this->cf == self::CF_TRUE_COLOR_888) { + $c_array .= "\n#endif"; + } + + return $c_array; + + } + + function get_c_header() { + $c_header ="#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include \"lvgl.h\" +#else +#include \"../lvgl/lvgl.h\" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +"; + $attr_name = "LV_ATTRIBUTE_IMG_" . strtoupper($this->out_name); + $c_header .= +"#ifndef $attr_name +#define $attr_name +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST $attr_name uint8_t " . $this->out_name . "_map[] = {"; + + return $c_header; + } + + function get_c_footer($cf) { + $c_footer = + "\n};\n +const lv_img_dsc_t " . $this->out_name . " = { + .header.always_zero = 0, + .header.w = " . $this->w . ", + .header.h = " . $this->h . ",\n"; + + if($cf == self::CF_TRUE_COLOR) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_COLOR_SIZE / 8,\n .header.cf = LV_IMG_CF_TRUE_COLOR,"; + else if($cf == self::CF_TRUE_COLOR_ALPHA) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_IMG_PX_SIZE_ALPHA_BYTE,\n .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,"; + else if($cf == self::CF_TRUE_COLOR_CHROMA) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_COLOR_SIZE / 8,\n .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED,"; + else if($cf == self::CF_ALPHA_1_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_1BIT,"; + else if($cf == self::CF_ALPHA_2_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_2BIT,"; + else if($cf == self::CF_ALPHA_4_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_4BIT,"; + else if($cf == self::CF_ALPHA_8_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_8BIT,"; + else if($cf == self::CF_INDEXED_1_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_1BIT,"; + else if($cf == self::CF_INDEXED_2_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_2BIT,"; + else if($cf == self::CF_INDEXED_4_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_4BIT,"; + else if($cf == self::CF_INDEXED_8_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_8BIT,"; + else if($cf == self::CF_RAW) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW,"; + else if($cf == self::CF_RAW_ALPHA) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW_ALPHA,"; + else if($cf == self::CF_RAW_CHROMA) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,"; + + $c_footer .= "\n .data = " . $this->out_name . "_map, +};\n"; + + return $c_footer; + } + + function download_c($name, $cf = -1, $content = ""){ + global $offline; + + if(strlen($content) < 1) { + $content = $this->format_to_c_array(); + } + + if($cf < 0) $cf = $this->cf; + + $out = $this->get_c_header() . $content . "" . $this->get_c_footer($cf); + $name = $name . ".c"; + + if($offline){ + $file = fopen($name, "w"); + fwrite($file, $out); + fclose($file); + } + else{ + header('Content-Type: application/text'); + header('Content-disposition: attachment; filename='.$name); + header('Content-Length: ' . strlen($out)); + + echo($out); + + } + } + + + function download_bin($name, $cf = -1, $content = 0){ + global $offline; + + if($content == 0) { + $content = $this->d_out; + } + + if($cf < 0) $cf = $this->cf; + $name .= ".bin"; + + $lv_cf = 4; /*Color format in LittlevGL*/ + switch($cf) { + case self::CF_TRUE_COLOR: + $lv_cf = 4; break; + case self::CF_TRUE_COLOR_ALPHA: + $lv_cf = 5; break; + case self::CF_TRUE_COLOR_CHROMA: + $lv_cf = 6; break; + case self::CF_INDEXED_1_BIT: + $lv_cf = 7; break; + case self::CF_INDEXED_2_BIT: + $lv_cf = 8; break; + case self::CF_INDEXED_4_BIT: + $lv_cf = 9; break; + case self::CF_INDEXED_8_BIT: + $lv_cf = 10; break; + case self::CF_ALPHA_1_BIT: + $lv_cf = 11; break; + case self::CF_ALPHA_2_BIT: + $lv_cf = 12; break; + case self::CF_ALPHA_4_BIT: + $lv_cf = 13; break; + case self::CF_ALPHA_8_BIT: + $lv_cf = 14; break; + } + + + $header = $lv_cf + ($this->w << 10) + ($this->h << 21); + $header_bin = pack("V", $header); + + $content = pack("C*", ...$content); + + if($offline){ + $file = fopen($name, "w"); + fwrite($file, $header_bin); + fwrite($file, $content); + fclose($file); + } + else{ + $len = strlen($content) + 4; + header('Content-Type: application/text'); + header('Content-disposition: attachment; filename='.$name); + header('Content-Length:' . $len); + echo($header_bin[0]); + echo($header_bin[1]); + echo($header_bin[2]); + echo($header_bin[3]); + echo($content); + + + } + } + + private function conv_px($x, $y) { + $c = imagecolorat($this->img, $x, $y); + if($this->alpha){ + $a = ($c & 0xff000000) >> 23; /*Alpha is 7 bit*/ + if($a & 0x02) $a |= 0x01; /*Repeate the last bit: 0000000 -> 00000000; 1111110 -> 11111111*/ + $a = 255 - $a; + } else { + $a = 0xff; + } + $r = ($c & 0x00ff0000) >> 16; + $g = ($c & 0x0000ff00) >> 8; + $b = ($c & 0x000000ff) >> 0; + + $this->dith_next($r, $g, $b, $x); + + if($this->cf == self::CF_TRUE_COLOR_332) { + $c8 = ($this->r_act) | ($this->g_act >> 3) | ($this->b_act >> 6); //RGB332 + array_push($this->d_out, $c8); + if($this->alpha) array_push($this->d_out, $a); + } else if($this->cf == self::CF_TRUE_COLOR_565) { + $c16 = (($this->r_act) << 8) | (($this->g_act) << 3) | (($this->b_act) >> 3); //RGR565 + array_push($this->d_out, $c16 & 0xFF); + array_push($this->d_out, ($c16 >> 8) & 0xFF); + if($this->alpha) array_push($this->d_out, $a); + } else if($this->cf == self::CF_TRUE_COLOR_565_SWAP) { + $c16 = (($this->r_act) << 8) | (($this->g_act) << 3) | (($this->b_act) >> 3); //RGR565 + array_push($this->d_out, ($c16 >> 8) & 0xFF); + array_push($this->d_out, $c16 & 0xFF); + if($this->alpha) array_push($this->d_out, $a); + } else if($this->cf == self::CF_TRUE_COLOR_888) { + array_push($this->d_out, $this->b_act); + array_push($this->d_out, $this->g_act); + array_push($this->d_out, $this->r_act); + array_push($this->d_out, $a); + } else if($this->cf == self::CF_ALPHA_1_BIT) { + $w = $this->w >> 3; + if($this->w & 0x07) $w++; + $p = $w * $y + ($x >> 3); + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + if($a > 0x80) { + $this->d_out[$p] |= 1 << (7 - ($x & 0x7)); + } + } + else if($this->cf == self::CF_ALPHA_2_BIT) { + $w = $this->w >> 2; + if($this->w & 0x03) $w++; + + $p = $w * $y + ($x >> 2); + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + $this->d_out[$p] |= ($a >> 6) << (6 - (($x & 0x3) * 2)); + } + else if($this->cf == self::CF_ALPHA_4_BIT) { + $w = $this->w >> 1; + if($this->w & 0x01) $w++; + + $p = $w * $y + ($x >> 1); + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + $this->d_out[$p] |= ($a >> 4) << (4 - (($x & 0x1) * 4)); + } + else if($this->cf == self::CF_ALPHA_8_BIT) { + $p = $this->w * $y + $x; + $this->d_out[$p] = $a; + } + else if($this->cf == self::CF_INDEXED_1_BIT) { + $w = $this->w >> 3; + if($this->w & 0x07) $w++; + + $p = $w * $y + ($x >> 3) + 8; /* +8 for the palette*/ + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + $this->d_out[$p] |= ($c & 0x1) << (7 - ($x & 0x7)); + } + else if($this->cf == self::CF_INDEXED_2_BIT) { + $w = $this->w >> 2; + if($this->w & 0x03) $w++; + + $p = $w * $y + ($x >> 2) + 16; /* +16 for the palette*/ + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + $this->d_out[$p] |= ($c & 0x3) << (6 - (($x & 0x3) * 2)); + } + else if($this->cf == self::CF_INDEXED_4_BIT) { + $w = $this->w >> 1; + if($this->w & 0x01) $w++; + + $p = $w * $y + ($x >> 1) + 64; /* +64 for the palette*/ + if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/ + $this->d_out[$p] |= ($c & 0xF) << (4 - (($x & 0x1) * 4)); + } + else if($this->cf == self::CF_INDEXED_8_BIT) { + $p = $this->w * $y + $x + 1024; /* +1024 for the palette*/ + $this->d_out[$p] = $c & 0xFF; + } + } + + private function dith_reset() { + if($this->dith){ + $this->r_nerr = 0; + $this->g_nerr = 0; + $this->b_nerr = 0; + } + } + + private function dith_next($r, $g, $b, $x) { + + if($this->dith){ + $this->r_act = $r + $this->r_nerr + $this->r_earr[$x+1]; + $this->r_earr[$x+1] = 0; + + $this->g_act = $g + $this->g_nerr + $this->g_earr[$x+1]; + $this->g_earr[$x+1] = 0; + + $this->b_act = $b + $this->b_nerr + $this->b_earr[$x+1]; + $this->b_earr[$x+1] = 0; + + if($this->cf == self::CF_TRUE_COLOR_332) { + $this->r_act = $this->classify_pixel($this->r_act, 3); + $this->g_act = $this->classify_pixel($this->g_act, 3); + $this->b_act = $this->classify_pixel($this->b_act, 2); + + if($this->r_act > 0xE0) $this->r_act = 0xE0; + if($this->g_act > 0xE0) $this->g_act = 0xE0; + if($this->b_act > 0xC0) $this->b_act = 0xC0; + + } else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) { + $this->r_act = $this->classify_pixel($this->r_act, 5); + $this->g_act = $this->classify_pixel($this->g_act, 6); + $this->b_act = $this->classify_pixel($this->b_act, 5); + + if($this->r_act > 0xF8) $this->r_act = 0xF8; + if($this->g_act > 0xFC) $this->g_act = 0xFC; + if($this->b_act > 0xF8) $this->b_act = 0xF8; + + } else if($this->cf == self::CF_TRUE_COLOR_888) { + $this->r_act = $this->classify_pixel($this->r_act, 8); + $this->g_act = $this->classify_pixel($this->g_act, 8); + $this->b_act = $this->classify_pixel($this->b_act, 8); + + if($this->r_act > 0xFF) $this->r_act = 0xFF; + if($this->g_act > 0xFF) $this->g_act = 0xFF; + if($this->b_act > 0xFF) $this->b_act = 0xFF; + } + + $this->r_err = $r - $this->r_act; + $this->g_err = $g - $this->g_act; + $this->b_err = $b - $this->b_act; + + $this->r_nerr = round((7 * $this->r_err) / 16); + $this->g_nerr = round((7 * $this->g_err) / 16); + $this->b_nerr = round((7 * $this->b_err) / 16); + + $this->r_earr[$x] += round((3 * $this->r_err) / 16); + $this->g_earr[$x] += round((3 * $this->g_err) / 16); + $this->b_earr[$x] += round((3 * $this->b_err) / 16); + + $this->r_earr[$x+1] += round((5 * $this->r_err) / 16); + $this->g_earr[$x+1] += round((5 * $this->g_err) / 16); + $this->b_earr[$x+1] += round((5 * $this->b_err) / 16); + + $this->r_earr[$x+2] += round($this->r_err / 16); + $this->g_earr[$x+2] += round($this->g_err / 16); + $this->b_earr[$x+2] += round($this->b_err / 16); + } + else{ + if($this->cf == self::CF_TRUE_COLOR_332) { + $this->r_act = $this->classify_pixel($r, 3); + $this->g_act = $this->classify_pixel($g, 3); + $this->b_act = $this->classify_pixel($b, 2); + + if($this->r_act > 0xE0) $this->r_act = 0xE0; + if($this->g_act > 0xE0) $this->g_act = 0xE0; + if($this->b_act > 0xC0) $this->b_act = 0xC0; + + } else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) { + $this->r_act = $this->classify_pixel($r, 5); + $this->g_act = $this->classify_pixel($g, 6); + $this->b_act = $this->classify_pixel($b, 5); + + if($this->r_act > 0xF8) $this->r_act = 0xF8; + if($this->g_act > 0xFC) $this->g_act = 0xFC; + if($this->b_act > 0xF8) $this->b_act = 0xF8; + + } else if($this->cf == self::CF_TRUE_COLOR_888) { + $this->r_act = $this->classify_pixel($r, 8); + $this->g_act = $this->classify_pixel($g, 8); + $this->b_act = $this->classify_pixel($b, 8); + + if($this->r_act > 0xFF) $this->r_act = 0xFF; + if($this->g_act > 0xFF) $this->g_act = 0xFF; + if($this->b_act > 0xFF) $this->b_act = 0xFF; + } + } + } + + private function classify_pixel($value, $bits){ + $tmp = 1 << (8 - $bits); + $val = round($value / $tmp, 0, PHP_ROUND_HALF_DOWN) * $tmp; + if($val < 0) $val = 0; + return $val; + } +} + +$offline = 0; +if (!isset($_SERVER["HTTP_HOST"])) { + parse_str($argv[1], $_POST); + $offline = 1; +} + + +if($offline == 0){ + /*The scripts runs ONLINE (likely on littelvgl.com)*/ + header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); + header("Cache-Control: post-check=0, pre-check=0", false); + header("Pragma: no-cache"); + + $img_file = $_FILES["img_file"]["tmp_name"]; + $img_file_name = $_FILES["img_file"]["name"]; + $output_name = $_POST["name"]; + $cf = $_POST["cf"]; + $format = $_POST["format"]; + $dith = $_POST["dith"]; +} +else{ + /*The scripts runs OFFLINE (likely in command)*/ + if(isset($_POST["name"])){ + $output_name = $_POST["name"]; + } + else{ + echo("Mising Name\n"); + exit(0); + } + + if(isset($_POST["img"])){ + $img_file = $_POST["img"]; + $img_file_name = $_POST["img"]; + } + else{ + echo("Mising image file\n"); + exit(0); + } + + if(isset($_POST["format"])){ + $format = $_POST["format"]; + } + else{ + $format = "c_array"; + } + + if(isset($_POST["dith"])){ + $dith = $_POST["dith"]; + } + else { + $dith = 0; + } + + if(isset($_POST["cf"])){ + $cf = $_POST["cf"]; + } + else { + $cf = "true_color"; + } +} + +$conv = new Converter($img_file, $img_file_name, $output_name, $dith, $cf); + +if(!strcmp($format, "c_array")) { + if(!strcmp($cf, "true_color") || !strcmp($cf, "true_color_alpha") || !strcmp($cf, "true_color_chroma")) { + $alpha = 0; + if(!strcmp($cf, "true_color_alpha")) $alpha = 1; + + $conv->convert($conv::CF_TRUE_COLOR_332, $alpha); + $c_332 = $conv->format_to_c_array(); + + $conv->convert($conv::CF_TRUE_COLOR_565, $alpha); + $c_565 = $conv->format_to_c_array(); + + $conv->convert($conv::CF_TRUE_COLOR_565_SWAP, $alpha); + $c_565_swap = $conv->format_to_c_array(); + + $conv->convert($conv::CF_TRUE_COLOR_888, $alpha); + $c_888 = $conv->format_to_c_array(); + + $c_res = $c_332 . $c_565 . $c_565_swap . $c_888; + + if(!strcmp($cf, "true_color")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR, $c_res); + if(!strcmp($cf, "true_color_alpha")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR_ALPHA, $c_res); + if(!strcmp($cf, "true_color_chroma")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR_CHROMA, $c_res); + } + else if(!strcmp($cf, "alpha_1")) { + $conv->convert($conv::CF_ALPHA_1_BIT, 1); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "alpha_2")) { + $conv->convert($conv::CF_ALPHA_2_BIT, 1); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "alpha_4")) { + $conv->convert($conv::CF_ALPHA_4_BIT, 1); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "alpha_8")) { + $conv->convert($conv::CF_ALPHA_8_BIT, 1); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "indexed_1")) { + $conv->convert($conv::CF_INDEXED_1_BIT); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "indexed_2")) { + $conv->convert($conv::CF_INDEXED_2_BIT); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "indexed_4")) { + $conv->convert($conv::CF_INDEXED_4_BIT); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "indexed_8")) { + $conv->convert($conv::CF_INDEXED_8_BIT); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "raw")) { + $conv->convert($conv::CF_RAW); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "raw_alpha")) { + $conv->convert($conv::CF_RAW_ALPHA, 1); + $conv->download_c($conv->out_name); + } + else if(!strcmp($cf, "raw_chroma")) { + $conv->convert($conv::CF_RAW_CHROMA); + $conv->download_c($conv->out_name); + } +} +/*Binary download*/ +else { + if(!strcmp($cf, "true_color") || !strcmp($cf, "true_color_alpha") || !strcmp($cf, "true_color_chroma")) { + $alpha = 0; + if(!strcmp($cf, "true_color_alpha")) $alpha = 1; + + if (!strcmp($format, "bin_332")) $conv->convert($conv::CF_TRUE_COLOR_332, $alpha); + else if (!strcmp($format, "bin_565")) $conv->convert($conv::CF_TRUE_COLOR_565, $alpha); + else if (!strcmp($format, "bin_565_swap")) $conv->convert($conv::CF_TRUE_COLOR_565_SWAP, $alpha); + else if (!strcmp($format, "bin_888")) $conv->convert($conv::CF_TRUE_COLOR_888, $alpha); + else { + echo("Unknown output file format: $format"); + exit(1); + } + if(!strcmp($cf, "true_color")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR); + if(!strcmp($cf, "true_color_alpha")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR_ALPHA); + if(!strcmp($cf, "true_color_chroma")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR_CHROMA); + } + else if(!strcmp($cf, "alpha_1")) { + $conv->convert($conv::CF_ALPHA_1_BIT, 1); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "alpha_2")) { + $conv->convert($conv::CF_ALPHA_2_BIT, 1); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "alpha_4")) { + $conv->convert($conv::CF_ALPHA_4_BIT, 1); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "alpha_8")) { + $conv->convert($conv::CF_ALPHA_8_BIT, 1); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "indexed_1")) { + $conv->convert($conv::CF_INDEXED_1_BIT); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "indexed_2")) { + $conv->convert($conv::CF_INDEXED_2_BIT); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "indexed_4")) { + $conv->convert($conv::CF_INDEXED_4_BIT); + $conv->download_bin($conv->out_name); + } + else if(!strcmp($cf, "indexed_8")) { + $conv->convert($conv::CF_INDEXED_8_BIT); + $conv->download_bin($conv->out_name); + } +} + + + + +/* +$c_array .= "#include + #include \"lv_conf.h\" + #include \"lvgl/lv_draw/lv_draw.h\""; */ + + +//download("test", $c_565); + +?> diff --git a/src/displayapp/icons/navigation/invalid-left-white.svg b/src/displayapp/icons/navigation/invalid-left-white.svg new file mode 100644 index 00000000..3cb455d9 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-left.c b/src/displayapp/icons/navigation/invalid-left.c new file mode 100644 index 00000000..6783e5c7 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_LEFT +#define LV_ATTRIBUTE_IMG_INVALID_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_LEFT uint8_t invalid_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t invalid_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_left_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-left.png b/src/displayapp/icons/navigation/invalid-left.png new file mode 100644 index 0000000000000000000000000000000000000000..cf9e7d1afec8e9c01a26fb5ad036fd59a2db3a44 GIT binary patch literal 1213 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&F+0z1F0fhvT6aC77bTkkL05K;JbDVj@ z;?2OoobT!47?N@C?R4)9kw}rY|9u;C-JKN-y1MuS#HD67YUqi?u3Wr8FJ^~;yr8IL z+Ty$#g}gZz8wFhgWh7#MNFZ>H?4QJXn%_}=?=WX1@d0^B3Y0NbT!nhYFF&?Pf_t>WP)J9Xk-%?>8W;od<2JtXV ztCihd*&JQ{c=P--k#^N@tY-u!GNeBdzu>g7FG#q(wrl>2FB{({`MLhizuEs(Lh?_^ zw3MT7=3YAgOzU6O`AJ=0?;EX8HO*yt$)v2!l5o>}!~E|ouiZmlbuNn9zE@>s;O{Ly zokD?^uP%_guFtt}jos?)3jQZWKK*0gz1QdW6$zoK7nPUV{tR@BeRUz&HfZ&(E}ot) z`=+;hmers7*tT0HMe*yzHWtIq$zQ%)-sdmB<4}}Tk6^^1xs1l!uO1Ga7L?6$aD9zT z0YgK%Ov)NYrj<>T&pEu7+Uz7Kki>UgyX8Ym>pzZrsTO|KTl@|?E%(`8WviXjG0AIM zMCsdGYrOTmE2G2?735yh>($Gw5B&XgCC36k;VUa{&RSS?e?{2Zt8c z;Ssl(^EG^*=jY$aRcrHi`_1!3{iZ|1H#5jx?8jB<}a(4WUE4^Hf0U=?_5`EbtcU6Cmf&9ZV0*{KW`9QQX& zogTL6@cptHiA#RWuZo*(E_X1m~xflqVLYGL)B>>t*I;7bhncr0V4trO$q6BL!5%;OXk; Jvd$@?2>@95^;!S` literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-right-white.svg b/src/displayapp/icons/navigation/invalid-right-white.svg new file mode 100644 index 00000000..98967557 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-right.c b/src/displayapp/icons/navigation/invalid-right.c new file mode 100644 index 00000000..f77af8d4 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_RIGHT +#define LV_ATTRIBUTE_IMG_INVALID_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_RIGHT uint8_t invalid_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t invalid_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_right_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-right.png b/src/displayapp/icons/navigation/invalid-right.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0e5c941010d25fc359d2b22859a23ff2d7a181 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(wUuGB_0}2TwC;F8E>1ZGh0Ae8^=D2-l z(G3O$=44M7$B>MBZ)Zk#^d!n0n;*G(b8~Ew$Bn4yX&buCPHBd(Db+A9Qp}a!v~!~K z#GM6=0eT%RGN%^ydT-NcUnH6|anr&LZ#Ad&MqHE1uGdSO_LI-}{&wTd_jk=m&s$dh z%l>@+z3*?U|G)2<(j;J~wL;NF&uK~0G?fDy^O)w&S++o4K%nxD!lK=0x)mxo8U;lE zbSar^oYt_M!$s_&pzW`7j&7Cx8)oMHdnt9U?`C=Z@w*TAUW-51C}HVnOW)iR-Evv%-ePv0LSg%9&NZIZ77pyc=RQs^*zJF4 zVWTO_+(+KN={3JX4&S-q`@;OV_aw2GJGg`m+C;DAU%tV>TX^Ss;@qoxrpNhy_UKJo za?@(LQgpL^)w=do!HaL{GBAq+>sZt;BY|wmjDVbmrMhYY*M;*6Wbbi_}rG zoUZJm8oTV)>@#mtxsRp1@>Sa%FjpCaq+>wZo~GCO7sZ&pQ2n|D}MNXR3-O zWjN@T&p!QRN0+=ysn1p0XX-bbijT8wxcl_G{?qI&N@paGsn#+-SgW{i^3rt-Omq6f zY7)4cgI@gg-Rm!{dd{uGa1X-+&Q#4f8=vzHVqGzeEH|8O#b?a;wD8Gw7-z~ZG`|p))C#1u}d9O39yECcVL`$1jPO^c=flYyV0^>t*I;7bhncr0V4trO$q6BL!5%;OXk;vd$@?2>=wj?+E|^ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-slight-left-white.svg b/src/displayapp/icons/navigation/invalid-slight-left-white.svg new file mode 100644 index 00000000..7ae2013c --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-slight-left.c b/src/displayapp/icons/navigation/invalid-slight-left.c new file mode 100644 index 00000000..70329db3 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT uint8_t invalid_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t invalid_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-slight-left.png b/src/displayapp/icons/navigation/invalid-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a19f840a96e0ec82d973abda0d457e92deba9d9e GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%{94lTd1_}uzC;F8E>3Sdrxd5b$H>>R1 zDFz1Sjh-%!AsP4H&WOzr2^TqDKe=D zeOq}!N#cdKXrSW+yN)Z{9df)w*L-=rP<~6mirc>?@aL|MHSI7_TbcIQZ<6Pxdik=l zyK{GLHnuj7>^d7MHm&&moX@+T&#QiSZlgihuNw}1Hj|&6n3&w;skU)v`&rvh7H6i} zn;u*L)}H*KAlT#HtW)r}iBp2RMZsr;UuYf*1Pf{NcUEpVR5u`+|;}B)iPG7P!`f(UGGx`&@Ee z{K^kmopu*wm7N^tXO&uUM4QH?S}lKmnqh_K-Ccqcc;jDn9^r73m0Dx;dw1BYgBniy zFOnDzi61>RfoDNz`l_C~n9NJAH!nK!Z!FrlY3KQ?T9;*7qQ3O~GgSC9MMJp7>Po!X zx4a3O;*Ub_8p)ij<@9R~SnaoancG&?8xy>wpY69@_xk38=UIPMwYv^a_?_LMeXxF8 z>|ag3UvW3)KY7bhm$l|KulZqnF773>`)c<|@VuU>GW)_(L(gq-eCA3mX4r)4&0b*=f+R(4U7b81^MeLwQ`Sk(8j*)UY@O{%ksDmr5jQ}vizm^)#{ zd7D>D-}Hz#>@a-&Npz|FR+~DOS3=wm_>JVgUbeZaz`(HV=gq~D2bZ}q9dPx(wq^6i zLYorYAF|Nqo6Ut~XI(1~Y1cOyLh z1V=^gc~dC`vD8^YE3>}}xGN-Gf2Y`YAc;?hN$1&tdWHx8_p$Ps+sw*gzP>c6SUtGT zQ&(g0+hsGqGoFj8_!(gMAPJa>RZCnWN>UO_QmvAUQh^kMk%5t+u7RPhp+ShDrIn$n zm4Sh_fdP;#JG;#oMMG|WN@iLmZVl`c`1*kwBtbR==ckpFCl;kLl$V$5W#(lUCnpx9 Y>g5-u&wghk1ysb~>FVdQ&MBb@0N@%GEdT%j literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-slight-right-white.svg b/src/displayapp/icons/navigation/invalid-slight-right-white.svg new file mode 100644 index 00000000..46090067 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-slight-right.c b/src/displayapp/icons/navigation/invalid-slight-right.c new file mode 100644 index 00000000..fa51ed7e --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT uint8_t invalid_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t invalid_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-slight-right.png b/src/displayapp/icons/navigation/invalid-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b6ba9564df73276c0133f6533111c8328d454608 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%{&FXKM0)+&U6aC77bUhG*TmVwWn^pGh z6axeEa!(h>kc@k8XLx6Xgi9R%Z`^4-+1hw!!sQhQ*~PRwZbT`qO>h)h$sNA5BV+A_ zxI9X-)ClL7z1CPjq?1*%THvdVbn z*Q;}9GoM_3W!aofo313yTl6U_G|p8tWWv%tI+3Te7yGcPt(_7yxlO7-`o6eBP?Y?u zahMD-n>sesO~Bzeq+a3%?ra#Ma+${^W+JD{Z{}woT71mhs}rus$QPY}UF( zs#XmGmn-Mb-zhKofcySs5r#!aZhtA%ZmOB-YsiozU>Wv7_PR6Eouo`325A@L^%qaK z3NS2x>BDeT{LZuN-vsik*TYkFvv z#WE(Z-lEpRN4j30q$Vp;w+t<9lQs#%i zw+HpBIaKZEGbLBY#}U5gwq@F9i-TKsd_MoV zxBX9|nBO$>f4g(->?d{dB=FrcyFSPKn4HzyPs@%+&HlemLa;$#bqt@_oyWmlewCM> zFZG<6)bn*Bqd=0>{#_^jA9Xj`ebT#w$3DcS{Y96u{;t@*d!_dZ#n*qi9rICkfim9# zrF9`E`+an@w*D$Dyj=19XKTW)wA<{n9e)0MK2?tmG ze82R8cnHVGnVbhp1)T*H?N(0Oe?t2ov(k}h8-}(B8C#}XtMC0v-FE#}ZS;Gg`$aS3 zq82f)NxQ;ma9~XWch}XfV19td z{pYea>D^4ZeV;bSnTjbq*XYmMvytK4ucF!~dl~2GU(_t^JRrs3&-Cjm?}Ef{XBe(% zG96mu(A>NM#QDRX^q`XcM?LpEs{^06vrdzm0Xkxq!^40j0|-R40R0+LJTdf3{9;J47CjmtPBh; z?AqIoq9HdwB{QuOw}yq!S*?K@BtbR==ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk Q1ysb~>FVdQ&MBb@0H6>Y*8l(j literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-straight-white.svg b/src/displayapp/icons/navigation/invalid-straight-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-straight.c b/src/displayapp/icons/navigation/invalid-straight.c new file mode 100644 index 00000000..f9f9b331 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_STRAIGHT +#define LV_ATTRIBUTE_IMG_INVALID_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_STRAIGHT uint8_t invalid_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t invalid_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_straight_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-straight.png b/src/displayapp/icons/navigation/invalid-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..0f42d67818e2a872b5963cbb8bd6b5a1135b34f7 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(d)|Ykm1BC>V6aC77bR7@}0I>oPbF9nR zcmrr)v8Rh;NXEUlH~c+B5+#m*OrP$_Gwl$M)|uuYC&##!6?vr^9ULkgMoMqQxLIYD zly+5i?1^gcQeb(hz#{0#&e^nL1D}#>Ae(AX8mDI1?p^o!-oG(2KKJI$p3l#}*j3-W zd9$)^{@m|(=a##>Y!2vGntnp@#kNk#{r&o9iac^t`7@qNGUVTwXUO0faawm(>HM#f zLT@hD&#N~*U=)5b-DSgL{!hH=XNz?v&rCR;|Jd|im3uiG3rnJ`@{g;^X3KaS1U|(i z-V_gbXq6qLa%1`a>G3RAm6iv~u(2eH=dTQ(e{-@BqhrQX#l){uwuvxsG#xe7TF9`& zv-l88^%wt*7aVNSf;Ks+@GqW`0655zKg#=o3drW2cKXjdIVc>8wcAof%u}xFO zVT1qw$bT+uQ-mW{-T3%>W+za^ROidRKa<8pu@GLvVpuoZUF7r6EO+vF8qvMIf ziJSbR|94Nkzgn9oAyZJGMfuFyte?$^enrib)c@$!-ub8#%urYCB)*}U(|>bj+YN7F zCu{kb>V2156D}TBm~Z1=yTqOS!l@ODJzKx?Tv!`c$1!_mNvqFA$FI?skEW_c6uzl- ziY_^jkn3~0r}&`Yf;!2)4Sv`Etre+^i{2KtLsoV{Sgm)@#q-Ou9^d-#gGpwyd+eUy z6=xPnwY_Mli!<_CAN6tf^1#{#?!X5I%00z;RtoOjyVk9rclaTL_@Yj+B1g-x4Gzz) zPCk(Atfju_g{mg&{?n_m4U&-pyg618glbfGSez?YnZ?~}UGQyDy6{an^LB{Ts5uX=0r literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-uturn-white.svg b/src/displayapp/icons/navigation/invalid-uturn-white.svg new file mode 100644 index 00000000..b2c8a120 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-uturn-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid-uturn.c b/src/displayapp/icons/navigation/invalid-uturn.c new file mode 100644 index 00000000..c3bf775d --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-uturn.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID_UTURN +#define LV_ATTRIBUTE_IMG_INVALID_UTURN +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_UTURN uint8_t invalid_uturn_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe, + 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe, + 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe, + 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe, + 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe, + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe, +}; + +const lv_img_dsc_t invalid_uturn = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_uturn_map, +}; diff --git a/src/displayapp/icons/navigation/invalid-uturn.png b/src/displayapp/icons/navigation/invalid-uturn.png new file mode 100644 index 0000000000000000000000000000000000000000..6e31e8f6aa19ca99b1017adb83da5ef64b194e40 GIT binary patch literal 1536 zcmZ`(eK^y56#p)6EiaMKs3$#z%3Ir*vLr-|wze5p%FArnrd{@eNGx02c9T{Skvq9U zY$;?Ip_17^Vc~?BzWm+nQ8$5baCDu zWQbi?0M~>v2&?mlvSySU-VJ~|S=wKzKS1?Xnl~8_K$0Z@0ucaeND_ z>V_gcRujYfnk%h=xclTUGg5Pxzll0(O6EiTZ44cf_RtM;#6f+GSo~PJUfX-P(oj2d7lqcr#x=0Z z3b$$-8HanpAjv{7OIjr9RqTxsonMN;8Z;*cscZ08Rc9}*T`r!0PrKNLGC5n|?mKVB zVPnQz-WvMquCG)d$ZJ`yB0K35%6c#8$I=5^E6PgWC|&jN4!!PsgjbN47b)nBdoize z2eyn~6q4b=vdh26vHFeQ%F&(9XN`)DKQ1G4r%I2u~Y zswjnqOihzJ9v&Y@ws^y{C$?{Nt(G@O87=sT@`F{^oDc*1US4_Lc1p)7 zWJlm;oiKF&y}@LB{=@kXn^F>-k9?>P0}n=#beF^e(zXPBNEZndYI$9(7U;I z2ADIsjW|tqTKGm+<Ig9rl-Vb!t?4&MXXDWy?0>hh3_D{*yPio4(!FPqliVaadM;~%c z2f8x8<^>?`Ti6rAZEmFBFRv=>;W!@Gd|LDF&M>=gbyv0O)JM33wPZ2iw?7qKoG?ir zPrN$IRo&vgJn|Z?WL3+Lly132?)@yosRHV2$xHn1lDc4vZ_5lDpzuju97&lAl4~6a zcvHNCU$W)dsJg9~=kX(b@-a=rLlGjJdHRku`-HvpCBxc^$?TWCnr*EF#?AEUfE2FV z5mkHkX>e#qW=O~gqik?8M>znajy^BLs|+W{9pY1ezKTo#wOa-cWQCI31d=6V);OBf z>2T&Ou_s=`dVfO`C*NoT@J$q8*JUVBozYYFyiZEAy?9$$(TS-j`*IHUywY+YBbo5% z?h{;>Ui?T-G$LI4L&zZfo>jtZGIkUrdr-P|8#vftI;KOvn3-IVwRED$eJp6X!2avL zySC0pry}#k)mte`HpKWvLiNEd{;H1}wUGji6Eo(0#l3E_$t}t&2-~W7exv{Fb*@pwnz$82nk+a=~RaFm}H)sMs}E_IT>` z6SzPU{j?>=$0tsl7eRE_yS7SN!pb&3Ek!@q>_)CK5n(3$ij7CI57_x-@vOAvVyzm| zf{Hh1MY$oXJtlld(ftnVmv_=FEn{fV7qj4d2J-1tegu}rjerQCk!X}H5@m}*QczA< z6b6g5w?-ndNTioVrTjkzb_|^vnfU(($CHKzkileSgI`P}KY_}P00{{RcFdomc{FNl Xgk20bD*vOiDKrFdo&*oMdsx~(JiVj7 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/invalid-white.svg b/src/displayapp/icons/navigation/invalid-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/invalid.c b/src/displayapp/icons/navigation/invalid.c new file mode 100644 index 00000000..53fe4e30 --- /dev/null +++ b/src/displayapp/icons/navigation/invalid.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_INVALID +#define LV_ATTRIBUTE_IMG_INVALID +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID uint8_t invalid_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t invalid = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +invalid_map, +}; diff --git a/src/displayapp/icons/navigation/invalid.png b/src/displayapp/icons/navigation/invalid.png new file mode 100644 index 0000000000000000000000000000000000000000..f2234c20d2a0ee67e5366abe4f361efd7359ca82 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&y4TWTMfIr8WylVe=Vio8;d4h|I#Bc(TD+^n)n zO1mmM_C&RJDX_d$U=eg==WJTBfltXbkWDoxjZ-sh_pbYV@81|1pL_FW&*$e~?5c0x zyjfW{fA06YbIaXbHV5=8O+TUdVq2%={(k*4MIO1S{29+B8S-z;Gh}d#IIX*?bpBUK zp*NT7=hd4YFbY4J?y})A|0mw`v&A}-XC@rae{6cM%DtS8g(Xo|`Nvgdvt>LE0-s_M zZ;A&zw8{=rxv_lz^mvx5O3Q;~*jN(9^H+w?zd2cm(J|wxV&c~++e8>RnvR-kEo9i? zS$v44`iuX@3l27amdVNcV?|jq=W~eK665r6w>AyL%?S{9o zleK(I^}b832^SA5%(ro`UE2>eLRFJ>|LIlb6@R$iPx4n$cav;jl)ykLtQYwn0EZaO|U$NWwc^~Tk^eHwSb6nL7Oopl@t`Q|Ei6yC4$wjF^iowXh$WYh7 zP}k5P#L&{p(A3JnRNKJ7%D_P7>&z)A8glbfGSez?YY1JTr~%X<39=zLKdq!Zu_%?H jyu4g5GcUV1Ik6yBFTW^#_B$IXpdtoOS3j3^P6 + direction + + diff --git a/src/displayapp/icons/navigation/merge-left.c b/src/displayapp/icons/navigation/merge-left.c new file mode 100644 index 00000000..301a20fa --- /dev/null +++ b/src/displayapp/icons/navigation/merge-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_MERGE_LEFT +#define LV_ATTRIBUTE_IMG_MERGE_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_LEFT uint8_t merge_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xe3, 0xff, 0xc7, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0x83, 0xff, 0xc1, 0xff, 0xc0, 0x00, 0x00, + 0xfe, 0x03, 0xff, 0xc0, 0x7f, 0xc0, 0x00, 0x00, + 0xf8, 0x03, 0xff, 0xc0, 0x1f, 0xc0, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xc3, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xc0, 0x7f, 0xff, 0xff, 0xff, + 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t merge_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +merge_left_map, +}; diff --git a/src/displayapp/icons/navigation/merge-left.png b/src/displayapp/icons/navigation/merge-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b6ea57ae1a24f02c2edcef91e9cde07e3f5663 GIT binary patch literal 1363 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF)IR!I9!0}2TwC;F8E=>RC^0MZ;{u9G5w zj$!q5aSX}0cXozDQIUSsXyM&(`}bOT2ydDv#rl%DU$vR?lZiEpJIKzvM}8>bSmh^`j4~)MI7| zHg#Cu|5BvH@b{Xfq=L&g`@Hx=A6C7;J%iU__VJ*W>yGhjE-?$H@752kxOzV}khP(M zci(KQJ+B;}FL&wKwEtY=Duyq@vx5~oel#rilB>8^yYEeyzR1@1#e3(b#)VG5Gb2l_ z!~AFM#luy1pK3)P3F{a6Q+#o1(!J{1VV}b8I_%7Hj{2)_2x%;r!`x~=A9$3PVc(d;0I!^x^nZ-d3dZF!a%NB3% zv#qePO=aX-rho2}=l5IdU*+GM!=rHi_?8Q&{q{XPzd>`whieQ@SM16@i=M8WwzTHp z%@nqT2VWoZtv9I-wl-LJ{l@N;Jd5&4mI}5f-RxEhPq&!-=UvUM4NC=HPC2boC)&j< zk^1Bn6OVDo2kQkBeashq;EApOzsFX%a@IF zA2w}MyO$Jd#xZqGlT7tXt*qI{!{oRGS2eF-QFtJ~P2?46*vc~F&+3bX<~vpXOq%zMYZ=>uiTpPX=`-9p&i791_D7w&GLPK- zE}vh@wU(p7vFbA?kL4jYtJ7hJE!U)(I{!H>pj>!()`I;nRv558jy|8O>b~{WmEc0d zF1FHnzHj^=M9oQ4U){#Y$X?OaFL9@L~;sJrHvRNP~By?9xM zhRZn*1>+tR`-z2isl4*s#B*Gtz?3*;ZT%Cu0&y2d$mig}FNNu_EV?*@|4_1S1 zYKxd}7WREsy}V=E%NXZ^*7Z6&1N#{y9=xBzpekYDRPT9kl|v|_&k>K+|Nq|H@T|+< zvEgy$I>(d!%sb97bX&UeO$f_dpda0^<1fRS1#>69=(y!0K3nqCv&C*J{xe)IQBM9E z@?jaUU{Eb_jVMV;EJ?LWE=mPb3`Pb<3e+G8vLQG>t)x7$D3zhSyj(9cFS|H7u^?41zbJk7I~ysWA_h-a KKbLh*2~7Z#cuYS4 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/merge-right-white.svg b/src/displayapp/icons/navigation/merge-right-white.svg new file mode 100644 index 00000000..f614ad7a --- /dev/null +++ b/src/displayapp/icons/navigation/merge-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/merge-right.c b/src/displayapp/icons/navigation/merge-right.c new file mode 100644 index 00000000..60639daa --- /dev/null +++ b/src/displayapp/icons/navigation/merge-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_MERGE_RIGHT +#define LV_ATTRIBUTE_IMG_MERGE_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_RIGHT uint8_t merge_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xe3, 0xff, 0xc7, 0xff, + 0x00, 0x00, 0x03, 0xff, 0x83, 0xff, 0xc1, 0xff, + 0x00, 0x00, 0x03, 0xfe, 0x03, 0xff, 0xc0, 0x7f, + 0x00, 0x00, 0x03, 0xf8, 0x03, 0xff, 0xc0, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xc3, 0xe7, 0xc0, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0x03, 0xe7, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, +}; + +const lv_img_dsc_t merge_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +merge_right_map, +}; diff --git a/src/displayapp/icons/navigation/merge-right.png b/src/displayapp/icons/navigation/merge-right.png new file mode 100644 index 0000000000000000000000000000000000000000..74cb4343dff00bb7afcbb5b9278e71f493f7fe28 GIT binary patch literal 1353 zcmZ`(X;jjA6#XHnjOHlgxL`S&OPQpAb0Q*AF)_(-K@FEiMZtXwO$5`>Y4cQCS}ut; zI@V0uq~$W2jah>wxt5yJqDR9_M^LC_TsqFbbLPu@m=E{ebMJfiyif1t`+6VH(=pQl z0O-*?-5C(OegP5zRS?l02vtN3g-!wBPND8POB2$TQJxGs0D^4*2u}jA3R%MU035>s zFdqQ`sSE&KU8{U?W{$0K1f=VF8)i=`=c3dj_Us zsINV_B^z>pK@`h717hEQfrJ=oOf3om0KP_Zrv$`K^p_^ZUg4NNIT5qheD?L_l7Z&N zOUB)nJKY4;&YVaKor8I`Lp^6}s9F^Cr|aKP>}o9GbWhE-XwzWNZ<{CtI_{<>Bd#{` zR&^S-MZUh8T4m0w>fbk*Hjw81!))(VyJBs1L-E(W@U0xfI}hm-+aq62MM>U@8xxnZ2)L;C_V7 zl&b1d$}xr%vB&R$HVtrRKRb3dgAb}^PSN%aF5wr8qiB*bR%>IW!1y9&B?rBGxL?Bc zD8!IAn+;-EKHO!{Px zmnes*8<&BtrkF7H%KS(;saT_LN$&*rjG9y*KsNgcQ8U`2P@hdG8q5{x>Lg^UNCjGU zxv{OIhX^QGmy5`8U1FmU+_?rmf81{+FsL6OVv(bBDIN(G zxzy@?EvsvjJQWTd15pcpe;T>>z2RtqSzlVh1MZ)dI;BX`yt||WPAO8s?rLg0o`Trky yv>OM50_ZOr{8OUSc`Pmm@OV7Oxa5SiC{`-RF@+mbp&*+ + direction + + diff --git a/src/displayapp/icons/navigation/merge-slight-left.c b/src/displayapp/icons/navigation/merge-slight-left.c new file mode 100644 index 00000000..0c5f0dcb --- /dev/null +++ b/src/displayapp/icons/navigation/merge-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT uint8_t merge_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xf7, 0xff, 0xbf, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xc7, 0xff, 0x8f, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x07, 0xff, 0x83, 0xff, 0x00, 0x00, + 0x00, 0xf8, 0x07, 0xff, 0x80, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x07, 0xcf, 0xbf, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x8f, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x87, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x83, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x80, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x80, 0x3f, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x80, 0x1f, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xcf, 0x80, 0x07, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x01, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0xff, 0x80, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x3f, 0x00, +}; + +const lv_img_dsc_t merge_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +merge_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/merge-slight-left.png b/src/displayapp/icons/navigation/merge-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6eebc6bd2814652443a8683b6d63a4b7c5cbc2 GIT binary patch literal 1439 zcmZ{kX*kq-6vuxv_F)*JCUQfQvj4}W%DqBvW<0Qne0SNxTz2!vSz!O zBoz_aCfbxD8i`Bc&Q+=V@8x}QUwqE@Ip1^6bIz-iNwKv;qvTNl0JM#@g#)anzYrCK zBk=5UhNB?OjBEx#bFTPzst}wjd0RV>0fVdg}i=`Tv8JNse>O!(H^oleki`lf!8^s?h-OLUT*Lw2HTk2EvrUs9Fwfws> zvQs>P(N6L(Th)ZFBQ?75N9e+#6t?qop)x?d|XY@u@*Q1#nMUXv) z)UVMH*gi4BPc2*bOCr5$@;%B6#L1}R4ZXy{bERXO*+lLgp7UW4cCGq4<14)))%FqE z)#oZs8mdg7Ni|GTtn`H>I9m^+SdmWL5xe}grhmAo3MV1JxQWD8=&z+ zVI73CAo%BJr@}R_30Ca+5e3sMvEkJRy+Z2}Q1DiK{2D5jly|q8q&BEy`sbTtc*JzB zC#cf=k*GnjCMO_NB-poO0@TD0iOql;8)4kJu9AhVdXUZNW9Veq+cERxV}vrsN8K+} zU*ctKS*@Wk3rLZcxJ@Huf^_$4lI+NLug|j0B?0$DXAn1v%hgDM#&@#OyO*drl;)^9 zw;H!I(;lD2YoBJ{mI_owPztqQVPs;@h&OHK%_7TUPesM--*Q*TIXoXaO43F6(d*t% z^miJ&7KUYf62AYuRS5}=R&Ow-4qtM%;$`OvfY#ql1}@ZpP;ih`?$;ZCB#&AaCEPOYV_7o_ z23|a9x@bmvLD~_WN47=^AzjLuGoVfUh;B0 zmS421U}l&hCsFM-cG-x0siU(|O z*C#>-8W2Q;AWM~hoc=Qq6yoFW$Nc{Ry+l*^NrK(KHaLd(MMP5>z92d}TH8N3Fx;CO Z>Z={Xpk4dRNFHtiHkP&)jYm9_{smArTyOvY literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/merge-slight-right-white.svg b/src/displayapp/icons/navigation/merge-slight-right-white.svg new file mode 100644 index 00000000..16f15fcb --- /dev/null +++ b/src/displayapp/icons/navigation/merge-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/merge-slight-right.c b/src/displayapp/icons/navigation/merge-slight-right.c new file mode 100644 index 00000000..9e5a25e8 --- /dev/null +++ b/src/displayapp/icons/navigation/merge-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT uint8_t merge_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xfe, 0xff, 0xf7, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xfc, 0xff, 0xf1, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xe0, 0xff, 0xf0, 0x7f, 0x80, + 0x00, 0x00, 0x3f, 0x80, 0xff, 0xf0, 0x1f, 0x80, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xfd, 0xf0, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfe, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xf0, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x80, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xfe, 0x00, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xfc, 0x00, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xf0, 0x00, 0xf9, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xe0, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0x80, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x7e, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, +}; + +const lv_img_dsc_t merge_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +merge_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/merge-slight-right.png b/src/displayapp/icons/navigation/merge-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..388b5cea078d2c5a6661cbdbb220690d113db64a GIT binary patch literal 1430 zcmZ{kc|6p47{|Xeu0e8}(&SEB*UV^hR(QEZ){${Gj&WZZN7CBCu++#kG;WbqB#9|x zTg_I^$Q>OcN8=pSj)^Ar*Pr{x{_%c3ujlhTpV#x>lkMbaEhZu_0ss)RwXtx9)bs}k zey9R`hZ|J+gUuYw0BFe-<@pIfy;6XUvjYHE)Bzxo0oa8s(h>miXaH9502t8#K*p4J z{$c_R;Qsd3763HlsA8c`IL5|<2w>ygKY-;&!WAJ?D9+ZwQfLt-A}ua#aN9`;vLpih z91|e*hp>k@2*E$i*L(yL8(RxA*N_h{Xwe~V1XRyiZq)jD8_~Z58<9<@8AXb3$jI44 zsp&Pnp5z5amhi4sNnmX+GOdKdsWH4dg4Kj02T+-=C-reJ_@za2WRG=VW9Y9s-X*ZQ zn7;2=l?m)$*?+Rili8fd`pJ9cOzsz6C5x9b+#!*6Vr%NoP3e8vX$tSXQLW_Z%VHAb z*Zv&40>Sw3d>Gm3Zi420a{ThHiVAJBd5T&fH#S)lnVx^Ksns(CIqsy!uk6|sU`H=( z(1epD8l37QCYu`IsSBK&asv0D5Wf%}?>!xXtyFzAGSoowaViM!TqR)4i$84hn^yL-(9y;>EsOy?V4?HYJLJX2Sc zeXTxf%BHHH>{Q{&N&keToLefX26Xw@citnykz?z2R_YDuI;3W|kCcg!T0vRj%aqXu zJTT5l59NfW7pn{OB4#5{p7&Us4xN$_g~uDtxd#HC({5FXF9&0%5BKfb@Jm@ol}Fv! zMC*>4%GN#u+r;AQ<@lE>6$G!NS)ot;N#E{#EW-mA)Yc=mmIM)XUXjC}=YnO846P}z z5DgPHQqrZcrc@F4Z$E9#!Ku#6VZ%FpkNtqw+$U<~91KxiS~{!1$m+I>>MRDwOss6L z;I6@yNQChxM!J|q7JZPfTdOVqt@nE-##ar1;?`#qdpC94S9;9w07e~QVBNX4nY^6? z2t0#nQP^la)I-^^A4~-l-u&9RzEmdhO|;LZSoQuQ_Ybw|Llu-=&JwXxQn$WDC(K1K zd3lSa-93}>x?*KCZl>us92aqGamA^G>%G9SqI!SJIoXn7Jet{)R56y}n{1K0a)*qM8IYA~QiIyYT zI@?=jf;)bt%Sv**3p8c8qedfcc#;}d*5+|002!on%guC-#q!m!>_`4KzYVMwzB;w-b-*tF?8N#b?QyrLy7sFHaU5eVljUMfN!kE%8~tY@%6!g?>OD`@ zC~DK2{ochB+N%~X?d!upp9>s|v&6*(`o$590%8e}04y4d(MDsmF=$tep%Lb1BebC= z8f}C|&%1q@{ZAk=IxsXS>Hh--2zzfRaQMdsm*}9lM88-9NK8!B35^OT2KdDgbfRN} T%h)FJ&=Rn + direction + + diff --git a/src/displayapp/icons/navigation/merge-straight.c b/src/displayapp/icons/navigation/merge-straight.c new file mode 100644 index 00000000..82a13814 --- /dev/null +++ b/src/displayapp/icons/navigation/merge-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_MERGE_STRAIGHT +#define LV_ATTRIBUTE_IMG_MERGE_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_STRAIGHT uint8_t merge_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t merge_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +merge_straight_map, +}; diff --git a/src/displayapp/icons/navigation/merge-straight.png b/src/displayapp/icons/navigation/merge-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..e86ce17453f774e4aef9fe79addefcda72a974e3 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(-udOoF1_}uzC;F8E={g_|0Ad9o=2(}r z@dnVqVow*xkc@k8Z}@wNBuX6rm_FT;XWAhituxI*PL6RcEAmP;Iyh7~jFjGpakI)Q zDebE4*b~*>rNHu1fkn`fowI4h20kU%KsME&G)~R1-MjAdy?v2z-i3 zyeS^=&?-Af<;L>;)8kpLDlHF|VPi=Y&tDln|K?;NM#qe&iiuyRY!hMNXgX@DwUA+l zXYnDH>M#BqFF4rzSvuo|!Hti*XJ%>0CA2Yf3JJ96_L$1>f9N{b!ocBV>^$)iW1FUm z!v_EVk^fxSrU*x@y7BS%%ub++$%_rsnVK#fl7f3-GGLZ+ZVi}IPZSwEW-{fe3=ssGWdz4K8gn4zxNNqj>yr~l^6wj18U zPS)}<)%z~BCR{wMFyF?#c8NRtg;OgQd$xY(xv(~@j$`)Bl2)IKj$flMA5B$@D11}v z6kT#4A=l@0Pw_#)1$B~p8~m>STPso-7riZPhpg;^uv+h)i|3bRJ-+qf2b0WZ_t-tZ zE6yyEYJ1U87iZ+PKI-G{<$<*g+<^}alzWQxtQ6e4cdc7L@9;wg@kO0tMUIwX8yucp zoqQnKSxbG<3sp_l{ij!zSN!36KgnN3-A%HAQ33<0uwM9Qyp~&G;s5uy8dPVN=AJ+4 zWVC?I-tJK0vTXB=eZ_9y=Y6RE)2G;U%yCsSFd3?rxJHzuB$lLFB^RXvDF!10BST#S zLtR6I5JO8VLsKh5Lu~^CD+2==fxVI_8glbfGSez?YsmFwT?*7739=zLKdq!Zu_%?H jyu4g5GcUV1Ik6yBFTW^#_B$IXpdtoOS3j3^P6 + direction + + diff --git a/src/displayapp/icons/navigation/new-name-left.c b/src/displayapp/icons/navigation/new-name-left.c new file mode 100644 index 00000000..99d65aac --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_LEFT +#define LV_ATTRIBUTE_IMG_NEW_NAME_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_LEFT uint8_t new_name_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t new_name_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_left_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-left.png b/src/displayapp/icons/navigation/new-name-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcc7385cfdb3081211977c7104a62b6bbabcf68 GIT binary patch literal 1213 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(7JkBlY0162tC;F8E>1ZGh0Afxc<~Z|) z#hZbFIp5R8F(l*O+v(mJB9S6(|NA!Px;rZvban9uh)d0E)X)=&UAcIHUd#>wc|lRh zw8eQf3VCxbHVV1~%1FfikVq^${D4`|_2bqK4W&gMi&Bh)WR$b6Z1bG`FQz1P>FQmp zUWcj2M&77jn-@O+bN%-_?sv6a#eSx%?B3yM%(-a!i+-KoA7#{;@1%#UVVL$eCU4U9 z)K^K&8_u+Enpbw(&fB<)^T4M6)0k@xgmEuUVmwf{@3Bqosg0(7zoo)H%y6nF%)NB}nbyCm^OL&1-ZxsGYMRUPl1W*cCE=#|hWX!FUb~09>Rc4HeXq*Oz~5VZ zI)wr+UtJ(~U7vH|8oSlo75q<%eEP?}d#}&$D-uFeFDfs!{Tb*M`|3ilZP4mnT|7Nq z_Dyg1EUQ2Dv2C|ZisILaZ7hbJlfQhqyw6{L$Dt^x9>Iu1a~X}dUp*W;EhwAi;QAVw z0)~cinUpn*Oe>ovpL2LEwb@BfAc^m~cFTvB)_)xLQZ4+dxA+})TJE#G%2qq4W0Kdj zh|;&W)_CiAS4N2)D#*R0*Q=LVANc$0N{$77!dF(@oVBp({)(`*SLY_Nyf`F(~;zV4RMW$|2d0VIRJdxp0{?bVn0^OOqT{$P;a~U}aT>d$G4!?tRaIb*a#fP0| zHl8gh-gcgC|An{B8;o^&MeoOKIeag@=O?>Xy;aoH;8W~9#!eoecB>nme#Ox)#+{@# z-8Qr8rc9hy%Z#v=|Kgs-Owx%a?H;=?-8oU8!<+QIiea9iE>pu~wUchwr<~ewX#?B+ z>UUz2*Ibx1W?cQeBXq(G8RZ^yCPE}nq}o0vQrr>IPPzl zIz4RB<%i}fEfKGFCT^X|8o=<8`8z{J&ZcF8z9l;u?oH!;py2bA=lsu`Px?A$Jo>4Z z@|!WhKtxzFZPQvMwGZp7g>Jmha$a0J<;3h|SLHfyhNm*R?0DbOc4Z2?LBT4f5XMyu zp$%FNq6r%qikf*1UWoqq#USMPcKtG@%)Lch + direction + + diff --git a/src/displayapp/icons/navigation/new-name-right.c b/src/displayapp/icons/navigation/new-name-right.c new file mode 100644 index 00000000..066c0aa0 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT +#define LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT uint8_t new_name_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t new_name_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_right_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-right.png b/src/displayapp/icons/navigation/new-name-right.png new file mode 100644 index 0000000000000000000000000000000000000000..115171ce235c2d726a9bd102e2cc3272e52cbb19 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(7?N3gT0}2TwC;F8E>1ZGh0Ae8^=D2-l z(G3O$=44M7$B>MBZ)Zk#^d!n0n;*G(b8~Ew$Bn4yX&buCPHBd(Db+A9Qp}a!v~!~K z#GM6=0eT%RGN%^ydT-NcUnH6|anr&LZ#Ad&MqHE1uGdSO_LI-}{&wTd_jk=m&s$dh z%l>@+z3*?U|G)2<(j;J~wL;NF&uK~0G?fDy^O)w&S++o4K%nxD!lK=0x)mxo8U;lE zbSar^oYt_M!$s_&pzW`7j&7Cx8)oMHdnt9U?`C=Z@w*TAUW-51C}HVnOW)iR-Evv%-ePv0LSg%9&NZIZ77pyc=RQs^*zJF4 zVWTO_+(+KN={3JX4&S-q`@;OV_aw2GJGg`m+C;DAU%tV>TX^Ss;@qoxrpNhy_UKJo za?@(LQgpL^)w=do!HaL{GBAq+>sZt;BY|wmjDVbmrMhYY*M;*6Wbbi_}rG zoUZJm8oTV)>@#mtxsRp1@>Sa%FjpCaq+>wZo~GCO7sZ&pQ2n|D}MNXR3-O zWjN@T&p!QRN0+=ysn1p0XX-bbijT8wxcl_G{?qI&N@paGsn#+-SgW{i^3rt-Omq6f zY7)4cgI@gg-Rm!{dd{uGa1X-+&Q#4f8=vzHVqGzeEH|8O#b?a;wD8Gw7-z~ZG`|p))C#1u}d9O39yECcVL`$1jPO^c=flYyV0^h*rdD+Fui3O>8`9 + direction + + diff --git a/src/displayapp/icons/navigation/new-name-sharp-left.c b/src/displayapp/icons/navigation/new-name-sharp-left.c new file mode 100644 index 00000000..d372c940 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT uint8_t new_name_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff, + 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff, + 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff, + 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff, + 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff, + 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, + 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff, + 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, +}; + +const lv_img_dsc_t new_name_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-sharp-left.png b/src/displayapp/icons/navigation/new-name-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..42ab64345e27e45c48c42d8b8b6a4cc3c030c8af GIT binary patch literal 1401 zcmZ`(dpOez82(w-FjUB;6f#n7n@d>JVTjR$<|wzBxon|{%}B{58gUqwTMk7?RugK& zaSL4>h33eViR4o1C{YUM=f89QIM4UI-}`*;_r1^e{q?20xjM?p?2-WhKn~|*?*X#S zCZr_63I;J@k4tYMl;X33VL3UxOBVuMoH_k2-&$6H;|& zgd1GCe?5pvG>%!`I2IFPGF)=uvR}x``I&febX%Eei4-Sip-6C^K(>!2xXY+BQ>Mi&;7dsiKK}VIi64gW46UqoH zhlH<=F+|WfW%njY7mcCv1P0!?Ka80ZMjK$QFWMO69Fr?(gSK959$rvB*Dc-^ z22<@eDef*J6*mO2B27zm$c7w!0f9Suc-!qygQ4>Jm}(~d0b0qu)WBiMfAkwc(9lA6 zRus)2wP~CFAY74O+Rvz-_vFdGe|-~bHp@rM-JFMn7hGMY^d=?vzK;?vXVyYQUn>xE z`rO>ztE}G#thB%1kPpLC^=?aT$F3FUA=bDNE(=NccIS$W!@`w@(+8g;EFfu|de~lu za=;7bJY~FD>Eh}3F3y*Jh%>y}f_P!g_pLq6=Qk9kZn!L#^{^77(S+?sv%L=8k}u-k zTU&=cY8AgDbPwC{1U1=@8vFR^kB8P)`;*qS8CEMfI(C|gMxxJu?T8`dZpp$t(Gtn6 ztHh;TE`rcXh_5o@DSE4or6KS7_KBaGVz7U7KF7e+rdz#MhZd~7ul89x7)oCMdQPnM zX=5N~zSjJ2ooJgHyqF_<(>$L+d9gz6()t`~=Jsl_Ra!5fwBIZLrOy(1+G0a~{GD=z z*m%^%tmSLMA@Ng3e#={mBtOX<5Y}f~2t@pvZKHh_ZQ5mufQ>ODnCum0%}cJ1O>IgO z;QYyjWd(M`n&hK*xT;~3R?Tx${^arJXA=w34YQB5=XqBji0k|$D(H_tZjgqM9aG~a z^VbuG6SL7; zl+aT6n3ey;aN_4SO&g%(M4ui{3dV0C4Yy*Br~ zlNCu4T;J)Z_mf_$PpPi(Oe}XO^TuD!_45n;T6 + direction + + diff --git a/src/displayapp/icons/navigation/new-name-sharp-right.c b/src/displayapp/icons/navigation/new-name-sharp-right.c new file mode 100644 index 00000000..640ada62 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT uint8_t new_name_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0, + 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0, + 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0, + 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0, + 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0, + 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8, + 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8, + 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t new_name_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-sharp-right.png b/src/displayapp/icons/navigation/new-name-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..0905ba6e5d8e5a98d77288491ce98170df5410bd GIT binary patch literal 1408 zcmZ`(c`zGz6#gY6LQ0!DD~?1FS42=ZC25doqs~RQO9(27BO=7rG{SBZt##Jfsx4h{ zhSs!QwYyncrL$_Zqm(YC>MXV$)uNqtdu*o{|HfV_=FJ!=MDy0LZ}tAS?u6Ptg*t0FXfdV2uud zTMYoZoU4679*O}p_M{&ffVN^2dqt(np+u$w$hdqTkg{YbTG52_s5Bq=A_Sp%=+Kj) z?R_1R5fhN9;Qj6UP~XQcAN@&jj6Ic13{9NfsQoU{AWUoM!u{KiMpM*ijEd*I*q>vk zk*H2}!PrhLnPy{Q5z7?+WO>6j80ICi*lD(9-Q0OsUL6r?DxN!W2~*xXQR2B*i7@yv7 zy>>}Iff8wTc*46dkbK{pGm@4la~ghnR#PbU3&QtP~{?!0!cHIaw4OJ@M<=9en-&ejeen@<|r&Ox5U56SViF>-} zaa9$~;-@5dat+=I3!fTJAIbOlsBE6pP&}&R@$#a*_7&rh$u)uD6OzOwugmD4pyA9i zUq{_3El9sCqH9&<8Oz)JBqpy#Alsm-Y>Zb1FiXq<+>td&RxOO&2pK;hLgt((e=m7u z1TjF;a>AM6g)mQ(+a98^obzVXJ!*X(c&?I>(?kB9vRaA?_d}BIuGmtanr*vgG%eoJ z?O}aLjhe@7;Sp&KuMMYd{Mv^*k3l)wGo$mjfQ}O9dpqBnv}=Nzw9Jm8z(4WdetP)% zZ6%dRw93i2K_&`hx&CG(Db3-|QsvqrTJC!<3eBF^tU1|lRX2%Gw)w~l)}Z(Qzg6W2a} zq`-h5wz}Y{jElhdN9SLE+`A}H2HhCoGKkddvQE`!tPg?4+F8+*avwMT2vY9rGPKa| zGwl;&axtsHl;dCsOaGxsZ&#MD{b+(jYBHOAaM-hxSzXKUmvVvrz*woE0`1!V0TEJK zU8J_Kz6?hvOm+{piHacWtewk5tf&67o@<<=bKWkG3FvG=*k;cN3Bu`+m}ga(oyN{g ze9EE#rvaF6w&bLd+Vqr`m2k#5q<^%B6`?7go!1!84wUuO1>tbZkyI`m-f_OM zBdMi|rvmP53mox7P2?S!NYhuc{?o%PpK}e6M;ibls?K6@ln} zaEw`H?Qye}ac)ctw`CP_tfJd1?bIoaDVc<-?)YGxec7Vyit}{G-$wn)cy4dvh#XV* z>qDt=z|}LSSQ5=4Q|1DeT5kFW2_t+}(3*s`kIS1Gma8yr-{$`K8`MC5LdoJU*3su71-4r4RwCPXM`#L>K)F`-MK{ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/new-name-slight-left-white.svg b/src/displayapp/icons/navigation/new-name-slight-left-white.svg new file mode 100644 index 00000000..7ae2013c --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/new-name-slight-left.c b/src/displayapp/icons/navigation/new-name-slight-left.c new file mode 100644 index 00000000..b49f19c9 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT uint8_t new_name_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t new_name_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-slight-left.png b/src/displayapp/icons/navigation/new-name-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5b66903db8ebc02b75b03f48d006eff7675c7193 GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%zV$T0K4ipkdPV_4S()BQCP}%1-SSI?0$w$Htp4)&;PGuD&I_mP z`?m6elEe#d(Ll!ub{$u?JLGtWuKDtKq5PJB6}Nv);LlwhYuaI=wleLp-z3jX_3~w9 zcjxZhY;0{D*>yHjY+CXAIiGhwpI80v+(v`0UpE~3Y$iWBF)_KxQ*GnU_OrI1EY3`` zH$A$_*2lY{ZrVC8xfZP$s~b0NJc(T*Q~5nR+4!i4S@4ZJu3U~BOeZe*79TazSupe4 zgr_1iijyBdD470u&JqWii+X=oKe@F2xX7cGnhy0-Cq_KEYUE;<<8?u-=aad#(2jZO z4R%$JnSBap-Zh--|52(v^)x}>o1r@(zTHrj9Vc+#zD(hxv z_3*l_O8T3!FhnPqc>}}06s4xtyL%$KB3CJ0S?N8|?BTL|L7$x%w!DlvVmu+Zf7-Gc zO-m=dN_dj|;>8ZDAXfpW{H%R_Q3Y|YFS}K&JLmn={H@1!F`IRY&9k|!*7z_SGTj@e z<(Uc8zvleWj%}Q4FH4H{a6GQ^f4fqFV~{BI_)mVDmyvO&nmUzh&GK&wOaoCG{XwdySoG@@W#LDJi_55E49Yx_wKM)2Q{4Z zUnDUc5#pMt!TJ`}$Dn5<#o4ooT!befRX` zPN^_dYh5x}z18TfWB)5>UnzmS*Grce-dMD8)6Vl(wJyuFM1AS|XQ=RJiiU8D)s=X& zZ+R0m#UF*5zv6DpfAW^2E^EzeUh~8DT--}$_tox`;CVe$W%h-ohMwEv_{^1B%(P!Szwl(* z;No85tG-3&PRnf0>RR)st?Z&E=hU`j`hMi=v8eB5vtg**n^b2NRdmK6rs^@bFn7X? z^ER)RzUdKf*kSnklju_Utu}QmuY|ZC@Egf}y=-$;fq`M!&zp-Q4=!_KI^gPmZOi73 zi40-~O5JQbpcBu2?nZe0 z366@~^QKY?VyUx)R%U+{a92pW{!X#)KoXx0lg_gP^$ZXG?_=dNx0#j0e0^zBv3hWw zr>@50x65XJXFL~G@iV~iK@u<%tCqM%l%ynAF0|P4qgPYr%r=w`d%}>cptHiBg#Vc!Vpaw~h4Z-BuF?hQAxvX + direction + + diff --git a/src/displayapp/icons/navigation/new-name-slight-right.c b/src/displayapp/icons/navigation/new-name-slight-right.c new file mode 100644 index 00000000..992f8451 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT uint8_t new_name_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t new_name_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-slight-right.png b/src/displayapp/icons/navigation/new-name-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f62b37393d5f689cbf9462076ece9cdfbb97cd32 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%zwNIP~1PTcxC;F8E>3Sdrxd5b$H>>R1 zDFz1S<(@8%AsP4H&hX9%370tj-?-CwvbFKdgv%=qvWsbV+=xQTj_CM4+XL;Z9|9#8n*7t48gFc!5k(p(3^pDZ0l?vXhky@)3Oo|E(3RInXWtH*D zuUF^JWBP$b_YPbRth_FZN+oTRSCaa+_3v^nG!MpeXrQ z$y3j45ca=iRw5vM{o(}Mf02w<7JfC-iLJli{K*YbSK4^{ZJVB3EaSzKVSPqo*{pSo zRIM5WE?3T~&|RJ4u;74AL&f>o1;e z6<}EY(ud&y+r&qyWd;tG0tXa}I2kPro_+GZAW*{2F^N59&7@@g-RcqTQ%mox*7VRS zi)Bn+y+y6zx9r^D7kAz=H)K4rUB`N>A^41k0n?dx(Qlsk9WXAKkdwsVwy$}8rOXe3 zZx8BMbEw+SXI3maU?DBcWbo;K=|7dr$;=Wzb)qG{ zO}KyF=7{v2g3M0oCbv4R_)iBy{|Lr^Tx2QTzBL+389mUw=e$6 zDV@YPBQd@3Lh?)Y%IPNm_sLExzJAT_%%mTm-!C}t{Et7(k0X4~ZOgRJ76-TN_KHz;JCB3A{3`=oaVk9~+u`-?7R{avwr_e$>-im(52JLaS80%g7f zO6x*S_WS5)ZT(eRc)8;H&(?%pX}8&DJzgOl-2ct<-uKy4ROVjy47OQ%{NnTd6ArHW z`F`mG@eq!WGdT~I3OWlY+O3?l|Ah8GW~C$1HVkbMGPX>&R^R)Ty6yU{+UWN}_lsu6 zMJ-}plXivC;J}&$?yP&=n@|4wT^)Zq{8Z7En)TU=de^_3O5}bLF3wo(KkGQB_NOpVIH57F;L4w6?VYQyvz)kfYVohVa-Z%ooa2?abhRp{!TbP^ z`_E-<(z}^*`#x=uGZj;KuF;>hXCuS8Uq!V~_A<`Vzo=Q-c|eN6pXt|C-UW%@&M;ij zWID9Qp}Bbji1UX%=|Ls?k9zKTRtG+BXPqwdbhV)U=EYL^m*RisFY&RD{rW>|(vtm* zQJ3|z?W&!efmv6z#5JNMC9x#cD!C{XNHG{07#Zps80s1tgcw>{8Jb!dnrj;vSQ!}9 zALvj<(U6;;l9^VCTLa%*gZV%Wk{}y`^V3So6N^$A%FE03GV`*FlM@S4_413-XTP(N Q0xDwgboFyt=akR{0L6(M4FCWD literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/new-name-straight-white.svg b/src/displayapp/icons/navigation/new-name-straight-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/new-name-straight.c b/src/displayapp/icons/navigation/new-name-straight.c new file mode 100644 index 00000000..3d58ce2f --- /dev/null +++ b/src/displayapp/icons/navigation/new-name-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT +#define LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT uint8_t new_name_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t new_name_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +new_name_straight_map, +}; diff --git a/src/displayapp/icons/navigation/new-name-straight.png b/src/displayapp/icons/navigation/new-name-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..5082f3fcf248d4d65ea1cbe4ce69215539bf7591 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(JHXWS#8Ym=?oak2ur0ak<0EiWUm}6be z#v4Ebi#=T&Lo)8Yz2Wa6k|=TfWBPPYo@s}8w9YgKIXT9)tjH_X=-^P{Fj9IW#?30L zq_nHDV^36jmjcU61r|X^cFv|18~Bu51KCuA(l|B4cJI2+_x_EM@wqo|_I!T+#jg71 z&6|~V^XGoQJGb23WphBk()1IGFSd0`?(f$>Q{<7G%AfIEk|F=bJVOS@h|{{OO6Px- z6nb;HeqO!l0i*Df=`I@{^MB$^KU=Ibd1k`#{KuyEs@%)jSXdHem494SHe1HyAn++B z@uqmdL#yl{l^e_VPmgE0sFfvGc@7jBT1K z4jcUcNB(nRn<5;s>c+?4GdqDQCNDNjXKK1|kb7-KgJ;<>1_ch*cbUhTZ4#Q*7#&X( zPTb@l{l9zS{ngq$37LWdEy`!sX8mkV^ebwfr2a>*_RdG0V1~M4C-DuhOIm#{I)075d^A-pqVP?v zQ*_CJgj}D~J;etF7t~4aZScGPZ>>mWT=cfE9kQ|u!fL&HE}mbO_4w9@A51cv-DCIs zt~j$us_jKXU7V5E`lye)mj~81a0fmxQ0^(#vr=&H-nDN1yu%L}#20mn6**dlZE$#Y zb@G8^XD#(bFH|*I_n%%>Uh#+P{Um=CbvMZdMhOh0!g}GK@mg+$h5z5*YEYe7ntT4F zlhFb;d%Hu0%d*Wg_7%H*pZB5uPoHAbF~?QSz+|Xe;u=wsl30>zm0Xkxq!^40j0|-R z40R0+LJTdf3{9;JEwl{`tPBh~JARx((U6;;l9^VCTf>j54xmIY39=zLKdq!Zu_%?H jyu4g5GcUV1Ik6yBFTW^#_B$IXpdtoOS3j3^P6 + direction + + diff --git a/src/displayapp/icons/navigation/notification-left.c b/src/displayapp/icons/navigation/notification-left.c new file mode 100644 index 00000000..4e394626 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT uint8_t notification_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t notification_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_left_map, +}; diff --git a/src/displayapp/icons/navigation/notification-left.png b/src/displayapp/icons/navigation/notification-left.png new file mode 100644 index 0000000000000000000000000000000000000000..e90ef9d702a1be8745178f2408c41d3d4b9a811c GIT binary patch literal 1213 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(Jj~-iD3ltJaPV_4S($PR10K}X?%yH%o zi#G!UbH1mGV@Srmx6{2dL?T7n{`YOnb$3=U=<4DR5SNi_yMz^>&LAf8cK^i7Nr;o$tY)C+2%R>Urb5p($%|G zy$(~4jl5C6HZOes=lbt=-0y0;iv3Ji*}cQjm~+wc7yUZFKgy^x-$@Ty!!Ye{Ox~pH zsjrflH=JqTG_UNmowsop=YdWCr!m(Y2;*Ly#CV`?-(#EFQyWeFeoKXYnBiob7{tRc ztyXq-Wpi}(GNW)ijsoC6lr?OTta_4fDUVymk+H)ww8Y`(Blmfxox- zbP5GtzPdo}x<2Q^HFm4FEBK!j`Sg!{_g>1Syq4QW7}?-6veL-+gJ=cCx7{Jd7r=hjzdvWJ%SO3<}w;@zj`=yT2MC2!SyvV z1q==4GAU~qnN~JUKIiaSYO|A|KoZ||?UoNMt^YXgrCRt^Z}B_qwA^QVm92J8$0V<5 z5v6Z$t?}0Lu8a~pRFHc~uU9X#KJfR~l^hHFgs-f)Ics6n{S{$rug*`h#^hJc9$I z*p-f|#fi8si%i|5^0rRrc_PE1{H2pD1iCYIyK+vx=Q45mir$aea`;|)&rf!(daJ0X!Kc`JjGa6_?N&EB{feVqj5|qf zx@~6FO_?~amKk9!|HVCvnWPg<+C6q(x^tpFhd1ea6~jD3U8aV~YA4;UPdT;W(gwEs z)$hb4uemU3%((h_N9cqXGRi#yL4O{vJUFp~fmPtK<-<9%cSWW|G|S30WT!G%aNOT8 zb$ZyM%MZ;}S|VQUOx!w^HGttG^LK`doK4FFeM@#S+?&SxK*8rJ&-tG>pY(Oic=S^* z2OC7#SED>KYj88XANcT3Q*JS{Yhu8yHv_80i21T!*3| zH$NpatrE9}xJBNFfEpx0HU#IVm6RtIr81P4m+NKbWfvzW7NqLs7p2dBXCnnv#Ng@b K=d#Wzp$PzMm-mhU literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/notification-right-white.svg b/src/displayapp/icons/navigation/notification-right-white.svg new file mode 100644 index 00000000..98967557 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/notification-right.c b/src/displayapp/icons/navigation/notification-right.c new file mode 100644 index 00000000..76891fd9 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT uint8_t notification_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t notification_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_right_map, +}; diff --git a/src/displayapp/icons/navigation/notification-right.png b/src/displayapp/icons/navigation/notification-right.png new file mode 100644 index 0000000000000000000000000000000000000000..bc71624cae1b7b25b6fc0c430752e558f886940b GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&eq8HiR0}2TwC;F8E>1ZGh0Ae8^=D2-l z(G3O$=44M7$B>MBZ)Zk#^d!n0n;*G(b8~Ew$Bn4yX&buCPHBd(Db+A9Qp}a!v~!~K z#GM6=0eT%RGN%^ydT-NcUnH6|anr&LZ#Ad&MqHE1uGdSO_LI-}{&wTd_jk=m&s$dh z%l>@+z3*?U|G)2<(j;J~wL;NF&uK~0G?fDy^O)w&S++o4K%nxD!lK=0x)mxo8U;lE zbSar^oYt_M!$s_&pzW`7j&7Cx8)oMHdnt9U?`C=Z@w*TAUW-51C}HVnOW)iR-Evv%-ePv0LSg%9&NZIZ77pyc=RQs^*zJF4 zVWTO_+(+KN={3JX4&S-q`@;OV_aw2GJGg`m+C;DAU%tV>TX^Ss;@qoxrpNhy_UKJo za?@(LQgpL^)w=do!HaL{GBAq+>sZt;BY|wmjDVbmrMhYY*M;*6Wbbi_}rG zoUZJm8oTV)>@#mtxsRp1@>Sa%FjpCaq+>wZo~GCO7sZ&pQ2n|D}MNXR3-O zWjN@T&p!QRN0+=ysn1p0XX-bbijT8wxcl_G{?qI&N@paGsn#+-SgW{i^3rt-Omq6f zY7)4cgI@gg-Rm!{dd{uGa1X-+&Q#4f8=vzHVqGzeEH|8O#b?a;wD8Gw7-z~ZG`|p))C#1u}d9O39yECcVL`$1jPO^c=flYyV0^ + direction + + diff --git a/src/displayapp/icons/navigation/notification-sharp-left.c b/src/displayapp/icons/navigation/notification-sharp-left.c new file mode 100644 index 00000000..2d2bedc0 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT uint8_t notification_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff, + 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff, + 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff, + 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff, + 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff, + 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, + 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff, + 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, +}; + +const lv_img_dsc_t notification_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/notification-sharp-left.png b/src/displayapp/icons/navigation/notification-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8f9f55bace8e762774753249b3220e187fbbe4a9 GIT binary patch literal 1412 zcmZ`(dpOez82*jQb(u>empX(R2OB~on`LZIP0nbh&=^CmvoSix&T=Wagbs4gy~3ha zjR;ZX5*3ls1-XQjBqHbMzjOXL&-c9F`+V>Bz0ddk^<8juu!l;kN&^4@B@%4OAY->6 zxed$!O>_dx+k9L0w6D1wg5>F659)k5^N#~FEI&`R+NJatKGkX z5{&NY5CQVm_AN+(fXc3jEWu;Uh_*J)eq-}Fr~K4?lpe=gj(D?XD0DTUGAUDwnG!Bk z4hY0Y`+cfWYM0T{Jy||`j&RWtCckT7_UQ9>lh=xuhsc*5O%G@(k?Xis)WBk;8+bKg z63(l4!69Ph^TQqwlSWIEE3@6dloQ@;^c~vVTq#&82w~vzB@V2V$E$GNo|4fyGRHDK zlQNSRr5=dI^+|{}MAQw{p?ehv6%iWG>~`xBpgGMX@wHd!4Lpnxf0eg=_#3K8P$_E!};ZmF(Mg znm}HEb{wtDbP?UtrTlc?o&{!dEWdY7 zcYL*KSJD~N2d4YOMfo+=F&IkSf(zwUyD*^G9y2AO(7vIgvHcxD@V8rQLy3TTJM(>z|A z*_=1?0{6VobV7MEV$47wtyXH)IhA#;sKfm0?$p24Qvm(>64@om#u;Y*iL{T;ZM-)jQjX(U7qqpKK3TC(l; zS~8Ev<%!Zu?>|P4i^Tslt9&oCzON?wOVfJNzo8nlUK?j~+2d_9(}Ny2HLW?}!f(}T z;7S9MOdTU++eVDIO1o8)Gt|AC))>25Ay*DFh&}q43H=T6w(=W2#q?3Ha6BrBGE`>DW}-?KZc+XZ+}MA{~Mm^ xsf>b#-CG-+LKtk0XP6Jb;cyK7g9BJ}&rl!3kTBo81uIo>2q5AeY-@2e{y#RBVa@;m literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/notification-sharp-right-white.svg b/src/displayapp/icons/navigation/notification-sharp-right-white.svg new file mode 100644 index 00000000..44542f52 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-sharp-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/notification-sharp-right.c b/src/displayapp/icons/navigation/notification-sharp-right.c new file mode 100644 index 00000000..3d56f0ec --- /dev/null +++ b/src/displayapp/icons/navigation/notification-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT uint8_t notification_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0, + 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0, + 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0, + 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0, + 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0, + 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8, + 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8, + 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t notification_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/notification-sharp-right.png b/src/displayapp/icons/navigation/notification-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fcc0c11090897994a283e86b171f6ed0f02b88 GIT binary patch literal 1413 zcmZ`(dpHw%82)X|Vm0R2ldL?ZDU{YmxjSslnA&oVlvg;JF@40+5OBO+e1YK@C*mRzA(sdFyKkLPtxtrzVc0 zl2Bo6uM`z;rf&kdi8X=2hUyqA8inK=^=#pCa4edM?$5M)@>PB^#)tJYqs{3;m14?d z56RUduaLf9MqC%w(Zh1Mq3O-p|GdI!-CNf)@IdFIUuIE5zNlBhCfvw-$c!*L3A?J@ z=DcURZt=Nv>dMICNV`SLc%Rfk%j&${?C)y}4&P5Lax9@xk)`kr8<|g$8Gf6w8c7r< z?CXf=qyzvRa`xhQLO7Fap{!h)Xt>dAuM5LoyR#mgG?jPnQx0RB7~9J1ivFqekzw*7 zAP)T0BwfCE<;D))TjVst>ureHKH(4rlmIh z301P@;>p@RzKr$(Hl#OWKadp9>$%uB7d!QS7n7{5=N5H3Wlr(!X0v9Pa(H7uS~>7T zn<-<54}|B6{H+Ry9{1C)5%Z`|Znqm7wvsC5i&KP99{u_*eg~q*dBJaDn;3;TXOy9k zxQL2woH}OXFEL&C*la8bJc6gK`#s(OjoO$awWj`(+7n|%o!XLz_rxXjQD?><%NvB+ z?k$-~BIC|?GpNWy|6_4`OL{HG5KcO`tbdtRYs88&)3PA@g5n*!OP>;r$$7)=f+~)| zh`+d*@wEOr6K3Q6wG5^7em+&+KVkMASoXNxskwciC)^==LE}=#iQty6_?tsg_n+z)Sx@$AFbNJsT#d-TkcvEDBFaZG zEAW2ay&FpI4w8EKvb(IG?V{NQ3N$-CBdf9LSMAQIljoYuC(9U0d9M^6(MG5D8ZReI zOor>kkH*}Edbbzrmn`tnhqizK6i6RF`7B{NEhaVp&S6m4E|l~JzQNxoU`6@7a?%Ox z{7hqBq+XRqz=P`MQ*gbFKfB-&b&AuK*~^g^9EjD1SNNSD&v{I0vX1T)1~?9$&1fjV zxYHTA_VE_oTm$ydT&pkLLR6QHTVA?6tMFa&*beEYu4X&r6|L+nZc3CwS-2op;cUywkxuw`^UJPv()KJfrt7uumM+ zrrpZOx9W*$cLO^vK^Ch9!&tg!Ry(P{ZY@;!M{jV!O8HuxT1_l^UrKvr;K`;ZbBnpoJEhyfvz>xicZIara~R80py?c354b_-78_padZtzoDXhT3i2_tIKE z33&^WMYc}*3e69WVD)P3-!35y=(f_uQQGTbA1{lNN7~5;2QptV7aX_CvF0C+&!JVX zWG~-2fX`v`!)?P7!&L;#3FgFu1mZy=!Ix-bOFUw0ZgGG>uq6=GK+X7n3~})sZbaJu z8~DLG@hXGfW`a+A1Yf{T3<{9 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/notification-slight-left-white.svg b/src/displayapp/icons/navigation/notification-slight-left-white.svg new file mode 100644 index 00000000..7ae2013c --- /dev/null +++ b/src/displayapp/icons/navigation/notification-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/notification-slight-left.c b/src/displayapp/icons/navigation/notification-slight-left.c new file mode 100644 index 00000000..8aae05fc --- /dev/null +++ b/src/displayapp/icons/navigation/notification-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT uint8_t notification_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t notification_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/notification-slight-left.png b/src/displayapp/icons/navigation/notification-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..6db73071337ef31e1f2cf12d0639de693fda425f GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&8fM*A0h0o5@d3OiXU_RNJ_-{jBXLi!;;g zO^>d!_3>_~o3_qNu0<=x>c)*5PhywIRDRD+Ha;q17JTE5E0-e&(}@ed#Yc^F7R>xM z;i<@s;^fB<3Z_4vv&2E>qTb)tPcE%LF7jxlrbGSIi4jk(8oAizcwG?d`D89Fv}0a+ zgI(2QW}m{DcMa$If7aexb9Al7$HV*HE$xnVX#_fCT=PCGI;!wQLhCO=Em1~^! z_b0d)#|F2Ay)2UbIqzyy{PSjcS0et*}`eL=@fl3iw83ta2L=*Ur;eJ;5! ze&vU(PP+@T%1(~+vr4TvqD|vct(HGO&9K7r?k>Rzyz#F(k8n82O06;ay*upHK@BJU z7fB3<#E+huz_TDUeN|6gOy(um8%x$R3;4a5=)&QYQQzw5zCKjCM9}JMXBsa<-#vY~ zQz{JAT9*t~Z#6pW*#FAeS4tr7_0lDVHx_N&wDbH`t;;ekQD6H087lmlq9NR3btT^H zTiygs@kgO|jbu*Na{4s~toGZz%x$acjR{`T&-UA{dwui4^Q^zB+Fgey{Lb#sK3Kmk z_OB-2ueclYpSL*6`e7Nsd~&U%$+df zyv?hnZ+gTVb{M|?B)U|7t4$rtD9M zB7@k0Qa9UIrM#UtgM3tR7tF zsjIR0?XsEQ8P7#k{0uOBkOa)cswJ)wB`Jv|saDBFsX&Us$iT=@*T7KM&>+On(#p`( z%E(09z`)AD;K1^!u_zjH^HVa@DsgMr_)GU8P=h4MhT#0PlJdl&REF~Ma=pyF?Be9a af>gcyqV(DCY@~pS7(8A5T-G@yGywpX&K8OQ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/notification-slight-right-white.svg b/src/displayapp/icons/navigation/notification-slight-right-white.svg new file mode 100644 index 00000000..46090067 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/notification-slight-right.c b/src/displayapp/icons/navigation/notification-slight-right.c new file mode 100644 index 00000000..ed3221cc --- /dev/null +++ b/src/displayapp/icons/navigation/notification-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT uint8_t notification_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t notification_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/notification-slight-right.png b/src/displayapp/icons/navigation/notification-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..68706ad4d7d832cb45241b90d295cb27cd3ada40 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&8RfQdrfkFbwiGF23x*mu@E&wUx%_{qL zih+T7xu=U`NXEUlGrTiG!X=LXH|{i^Y;8O<;qr=u>|)v-H=>l*COC?$Ct&f8X-C^?lp&piicMWM-Kh{bO`$rGhtWq}HkhlcGX{0#&D8S!KNP z>(#llnNKdivTV+#O;?iUE&7xd8s{n+GGXZ+oyb$#i+xzt)=mkU+$L2ZeP7%mC`$fS z^3*dMg#B-sl?X^*zc|76UnHZIgH`UDaHDt&UunhYkd)=AoPEw{1gS3nB`irMq z1sImU^kF!_Ht|tvnSq0)zyZY~PDTrZXP>+;2$ZmMOk$5&Gbverw|YeT)Y3bvH9fS- zVi}WHZ&7RbEju^(#htgz4H=JY*RkGe2tMOsz;xza^qVJs2aF3Q<_IR$;qSXGW6lbeoo6FPGk5`cLI@GPA@_ooI<~ z6Yih4IU;?hAhT1t$*oQ+{?mcbKZ5Ze7g0fSHLg=L8?Tf#1 zN+&VSNK7xhko=Opa=OX?eX`SvuV1q}GwH|Y_Y2ND|Kkty;|Sk#+cNF5#lbB*KA->G z+x{m}%x{|czumcZ_LDk!68P?!U7urqOwQ`iIg6Q6Ncb|E?4NkGh-eKIz@TV;^GE{-R4+e^+eZz0!My;_JWMj`=9NK$-7= z(z=k7{XRNcTYr@nUat85vo&E?+HLk(k5@-7)q&63S*Oc9T`g$8d9hUfrTCxuOML8Ozy8pgv}8YH z)Mfo_yJ{zAVAfSFag8WRNi0dVN-jzTQVd20MuxfuhPs9ZA%>P#hNf0VrrHJuRt5%X z7v{Z0(U6;;l9^VCTZ4G78mNGf1lbUrpH@mmtT}V`<;yx PP!WTttDnm{r-UW|>xUa! literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/notification-straight-white.svg b/src/displayapp/icons/navigation/notification-straight-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/notification-straight.c b/src/displayapp/icons/navigation/notification-straight.c new file mode 100644 index 00000000..6e33fc38 --- /dev/null +++ b/src/displayapp/icons/navigation/notification-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT +#define LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT uint8_t notification_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t notification_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +notification_straight_map, +}; diff --git a/src/displayapp/icons/navigation/notification-straight.png b/src/displayapp/icons/navigation/notification-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c9f7df106f732b2945ad8e719ad3fe4dc81f21 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(p_DBid1PTcxC;F8E={g_|0Ad9o=2(}r z@dnVqVow*xkc@k8Z}@wNBuX6rm_FT;XWAhituxI*PL6RcEAmP;Iyh7~jFjGpakI)Q zDebE4*b~*>rNHu1fkn`fowI4h20kU%KsME&G)~R1-MjAdy?v2z-i3 zyeS^=&?-Af<;L>;)8kpLDlHF|VPi=Y&tDln|K?;NM#qe&iiuyRY!hMNXgX@DwUA+l zXYnDH>M#BqFF4rzSvuo|!Hti*XJ%>0CA2Yf3JJ96_L$1>f9N{b!ocBV>^$)iW1FUm z!v_EVk^fxSrU*x@y7BS%%ub++$%_rsnVK#fl7f3-GGLZ+ZVi}IPZSwEW-{fe3=ssGWdz4K8gn4zxNNqj>yr~l^6wj18U zPS)}<)%z~BCR{wMFyF?#c8NRtg;OgQd$xY(xv(~@j$`)Bl2)IKj$flMA5B$@D11}v z6kT#4A=l@0Pw_#)1$B~p8~m>STPso-7riZPhpg;^uv+h)i|3bRJ-+qf2b0WZ_t-tZ zE6yyEYJ1U87iZ+PKI-G{<$<*g+<^}alzWQxtQ6e4cdc7L@9;wg@kO0tMUIwX8yucp zoqQnKSxbG<3sp_l{ij!zSN!36KgnN3-A%HAQ33<0uwM9Qyp~&G;s5uy8dPVN=AJ+4 zWVC?I-tJK0vTXB=eZ_9y=Y6RE)2G;U%yCsSFd3?rxJHzuB$lLFB^RXvDF!10BST#S zLtR6I5JO8VLsKgwGi?I{D+7aYimmtT}V`<;yxP!WTttDnm{r-UW|O$KXO literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/off-ramp-left-white.svg b/src/displayapp/icons/navigation/off-ramp-left-white.svg new file mode 100644 index 00000000..486a1808 --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/off-ramp-left.c b/src/displayapp/icons/navigation/off-ramp-left.c new file mode 100644 index 00000000..d1db227d --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT +#define LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT uint8_t off_ramp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x3e, 0x70, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x3e, 0x70, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3e, 0x70, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x3e, 0x70, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x3e, 0x70, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x3e, 0x70, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x3e, 0x70, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x3e, 0x70, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x3e, 0x70, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x3e, 0x70, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3e, 0x70, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3e, 0x70, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3e, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t off_ramp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +off_ramp_left_map, +}; diff --git a/src/displayapp/icons/navigation/off-ramp-left.png b/src/displayapp/icons/navigation/off-ramp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..33060b7e7792d731e88f8b80a55bc7994ee29312 GIT binary patch literal 1387 zcmZ`(dpy&782)Z9V^ePBF5)=JWo@J5Hpg7ntTp#aDXf{h+{UJx(bB<5$DJ&41Hlc#R;rAw*6cy(7;UnXy;tz~e4$UU7Gp{)Ez>oXo9FQ|@S{|rr zpibTkFBg74Uodi8ATYBryC3E^W+s1ZWzOmYOT-dcyg6iYDt*pwIebcSoU!k2xi_=n z5>cf3=x&$B?{+C8(w8DDuRb+-XETgbg!yCdTXrUx5XO4vhsBGYhyXwG_1{dp2CEH^ z)S4Ui4b`{`T58zsNgBoPz*iWi>sy7Mx=%ng+}J0^@uafgZ;K_RSHV#a*Yj==cMce2 z0=Wg8Z%}J(Xvey*ljdV7%v+tR5}Olg;&UfLzbgXX=X7?8@97@*^PMA`T5Ym#o)|L) zx}>-ynqeHw0UCe(EFHF#qt7$4-GtL;_@IFmRp(UqN#OsoesR)YF{+9IV)f!IjAz@vSs)7YeKHXgAUK>k=M3a6O5Gs z^-(#8YR3{o&wJ>oUha5yY@+N(80W8%9zunuZyLEOrhbP&>TWo#skL*wqyXC(KEzm4 zqwk@hQtU)wCzgL@@2573g+_Ve8G5X7r1+`4y9%5?xR@+8AFbWcdQ`CRqV&R-CYw4g zo}$3L<9$DOyQG>2e<^J?x!S`6vA-xNzu)EXC7?z^E!UwX!FpK*TxE;b<;bI;SVvEYvlwI-+TX4K54|)qr%_f!EfbV$5py=na=r5)%|Ae;zEn z<@^zqU!*uhs<9UwumyHcB%|z2`bz_~EcWu#y)Rnyf{9W65;0Nig3^P9FE>U-gZfJE z+Q=WsQ!NGqHsuIgmWqVJl(ym@bM zFR6Rqt(Z@`9P1?|80g5DprQr52DAjoL>H%e2mj=M0d|N?>Hq)$ literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/off-ramp-right-white.svg b/src/displayapp/icons/navigation/off-ramp-right-white.svg new file mode 100644 index 00000000..177dda42 --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/off-ramp-right.c b/src/displayapp/icons/navigation/off-ramp-right.c new file mode 100644 index 00000000..5b8bbd46 --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT +#define LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT uint8_t off_ramp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0e, 0x7c, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x0e, 0x7c, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x0e, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t off_ramp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +off_ramp_right_map, +}; diff --git a/src/displayapp/icons/navigation/off-ramp-right.png b/src/displayapp/icons/navigation/off-ramp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..fd55170e801113eb5a3c30343f8d91340b2293ab GIT binary patch literal 1361 zcmZ{kdpy&77{|XO<`xnyBPz!&Et}=Gv9`JHbS#&tBr#)?Xt|%|6&tHuQXwp*l47O_ zC6%1$B{jDs9FxjRMiz2Ca^yI_{ycx2Ki<#h^?aV^^LoC2eKWnO9vjt=Y5;(Z6i-)Q zNQpmD*#K1#^28si8(1VS5&*TA)PK;Gpnf~U)7J}t(`Ep0`2hS4S==uGB%lG1hX8;R z0Dw4k{i%-=G*AfL@8Jr7D96MG>Qqm82E+kaU-M63xzP&7kO_~cc)7u4FtyEEhW?y~ zQ;?<2pi>he4TSK9KtQN$c0viE$0$-x`q(=*+5B9R7ik5G};>-0%QS_XaX_9h>~nHHjkd%k;mxsIFC zW-DJ5?@{^t-sf6LA7;9{UzL0iA4nb#pXj`?uwH_VW6d;a>ic02yc0O;vk*7aU20Sf z2NrZa2HQ+kE?GQ`;{UyM%t3SemIuXN8Uf&F7rijo%*~#a?eg7Py2CbW>TQ)w?Gnir zx1A9z>}qv?AR3Ns#^}*7(E;ramc8I%UZ_dGD_@v38_Zt4!0WtkFxYmYv*RFk6=*i2 zEz7YNkvCX~2IK~OMlT+$ZtZjol&s#vaH6%_VY3Fw^W8-~9`O1^6;p+<8-3196{eV1 zG%0g8;OF5-fJWUL*~MDk@?&$uQo{z&+Ngo}{m|u6NewT+2y7k6INy+K&na0Uov~2l zDqd#Vml+{GJ9Xf9+o~MXmdSzPgy2mMv3{eR9Wt20SQ4R7bOS%#S9 z1aNYq8*p;Xy26XtnoFhgjK$vkb?N+5CCbO!5^Rgbrv<%Fb5=!ySXk@iSPO9l8=oJl z<7EB~C%9T@-e+yS>W7bijvQMh54bByG4;yS_gHZ8Sf4Cygfi`46R5@-ctQxvcIFz-(Y%kg-f3*)URf!Hi_MQUaqlR%~7B2(FpFsVo!&I?vn#!@@Br#qal;xiu}Ag>_zVw z@$y&VP*mgDA(gehc~k2-m$&uFi6O2@0SUnWL~Zphd9C^sca7jzj2-ug=?_G8{kX?J z$BMRNHtBKIh)TB1G|78cPH%J{11fw%1z3mFr}T^ZY|nhJ6bOFnGR;xUGp3N zA}EHw1=D!9!|`GC_;4H}HXIUQgSNq-&=?d3O~W|iFt#`w2P-rhhepHU>z4lsM6<(= zGdcesNIc?E00s1aUhrcx + direction + + diff --git a/src/displayapp/icons/navigation/off-ramp-slight-left.c b/src/displayapp/icons/navigation/off-ramp-slight-left.c new file mode 100644 index 00000000..9eed9891 --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT uint8_t off_ramp_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x3e, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xbe, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfe, 0x3e, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x3e, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x3e, 0x70, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x3e, 0x70, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xfe, 0x3e, 0x70, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0x3e, 0x70, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xbe, 0x70, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, + 0x00, 0x03, 0xff, 0xef, 0xff, 0xff, 0x70, 0x00, + 0x00, 0x01, 0xff, 0xc7, 0xff, 0xff, 0x70, 0x00, + 0x00, 0x01, 0xff, 0xc3, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0xc0, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x1f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x07, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x03, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x03, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7e, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7e, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, +}; + +const lv_img_dsc_t off_ramp_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +off_ramp_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/off-ramp-slight-left.png b/src/displayapp/icons/navigation/off-ramp-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc42be04e0426975bc9a689b83bb5fe3a044a1c GIT binary patch literal 1359 zcmZ{kdpy&77{|ZAA#=;*TG5ztzie~KB&WHQEfWs89BOMWEy=PqN@;3|9l8)AofE0m zamg&B4!L#F@e(Z+i?UWtl#ok=&aXeuALozv^Lag==lQ&z?_b~Sz<_O9>TA>i09qtJ zpI}(G`~;~CS3tcJ3RmTLB83Qm@T|rnO$F{v>3+c!0FGDyz~uq309)J<01jaR7^MQ> zeh~meX6fA^4|sssvwfQn0DtA0Z`B5} zo;B7}1K(qGxTcn$@ae6-HnY?a6Xz5I!uQpFltD$Q=g@f&Ug#8^BPHP4;|lGntHi$< z3!I|-)WC3_Jgd9?8!D>85wDTw(yo&{==EdJBd}uAgAYodK3Ka>n2bl|qwY> z?T{JodMot0QIVa5$ve3`duI2dLceu~x99-Xyqo&kT zTgp$_t)1`dDR4%{X=@III<2FlwFTZ-r3)i!In8Yh_)k9^K2x+OdHrJG-O|%d$)C;DXWT-Ci#lr!7M4!@k#(N79c~SagTayH=}a zR!Sz^6dATnq)pyBvwy^Erwq*TNI-VF&g~yPkbkt(wlv#K5#*`J=qs?+Lrj+sMmVhN zYxa7^8ZkR$L++4T3YzeVNModcW++&iyfTiaE1fnEh;ADibVZwSMf%M$+?0N5Z-)g( zl~!Dx*1vW8Li~MyRN)A7Kq!wCsOJ++OJ)kELTML+)38ZMA|6O1T<0qz_3vJ%{$909 zLe+2QzOaD$r;oN2%q^a8X{T&sIzO;%ihSPLAbElpO)7IuwU)y4imnDN5%1^_TF0VR zQfd^B2@qfw5`jZ6L;2K7PNw7_&QUaYA=?#rPeaTTZ{&Y_sum zBe-8q?r^Z+1&LYr_N40c987G|_K%*-@sw{>Kgy^V=QlS6;pz&-_g_oaoAp)X*zx(O zeb3PP8?Opd*jD43ufiM~G85c<-$#F$$a+I?%;NRR%XZPcEES^}(rFg+jemmmb_2~; zsIk*gJT@kWilXSy700(wb08q1_?*hI_Ze#BT$S3IwKIrLX=IHdcjhJk2ozqK4zy;u zGm7#bOyu$x5XQP9Yml|HDrv1~Ea91#p_lSn2t5K`owWSvR9YKjvu?vI+GwNhVr=6h zB>X9CVEcx%V`%JHcY1OxEC7$iUmEvV11|xRZ-7sY7xl!y Drrbvr literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg b/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg new file mode 100644 index 00000000..d13f60ec --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right.c b/src/displayapp/icons/navigation/off-ramp-slight-right.c new file mode 100644 index 00000000..5b9fd182 --- /dev/null +++ b/src/displayapp/icons/navigation/off-ramp-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT uint8_t off_ramp_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x7f, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7d, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x0f, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x1f, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0e, 0x7c, 0x7f, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0e, 0x7c, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0e, 0x7d, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x0e, 0xff, 0xff, 0xf7, 0xff, 0xc0, 0x00, + 0x00, 0x0e, 0xff, 0xff, 0xe3, 0xff, 0x80, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xc3, 0xff, 0x80, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0x83, 0xff, 0x80, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0x03, 0xff, 0x80, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x01, 0xff, 0x80, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xe0, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xc0, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xc0, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0x80, 0x00, 0x7e, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0x80, 0x00, 0x7e, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t off_ramp_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +off_ramp_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right.png b/src/displayapp/icons/navigation/off-ramp-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb8a7631ef79a7ab0d3aa19874ab999a485a1de GIT binary patch literal 1345 zcmZ{ke>~H99LGP~Fq_T%xQ>ytQY;s@k;zc`ZHl2_V8oaSig8^NPZNhE1@0| zr}OKK6w=u_VN}OTQW6qM)}=$vuI}s4`{Vw2zF&{`>-~N`-v7OG0t0-oXcII5088`r z42E>iI@%gg1+2D%P}PWb^LGP4R-mJ1YeGGN;~VS`z;R0e(lY`08?w^p07xbQ@Qwul zwHN@SgtGP^7ia*F-0R~BK+RbTJE%h?_%cNR_C&r8?0g*D95Rt&n!gwF4Ge9F`|hq} zSPofw9Cknoq-hX=5H=9n40W;q0K_Mnr`rMk_`;QlGY1ZC?A^UGE|8?mJ_mAiuMf+O6{$bzaL7qS;yDBc{@_UJg3`swYjGW8N$;rBp zs3a?Tk$UYn(FrW8H{4Qoc9^Ji~a zPgiU)4nx3MjZ)VV)dqun6am$=(vkY6iK7=i2tc=a4(ozf_j{*lk@~k5*!7qBH3UoB^^Z!U z;V;djmM)%M@7cZ#8wk_SOoZl710PR~MUVq80E4ujVp3dO5YU?+*^A-u!$~~9- z9ipZBltKECk^1M_PAA5sQ@!dYdcvVSbsMK+z>zCCwV1T?eM7cpi^dIDCXz|7wW{w+ zSsq?~$?3(zCeW8n^3s1F*#5D~jAa$jdIB-A8Ihi3!GLMw8OkY|>5K)szcFCZ5Fly} z>Qyk@v+s*nmCFg?FSj%n9IIRnu8rjb-9Ft!m!c22W5KTVV+ww5)qaXKoU%7nw(I8e z7p@;4-%3dLIXWgv&G;v1u{N~B%6M{fY}G^2)z^1IY#cEYcMS7;77mMG0dEUp41iY> zt#t%hypIR|g2g9tcoqZ&agVvYyMzgDj9Z}|!hIj85OXnv>qg!Ze+?BvjRUG=eaq#i z%MCel3}3!h(;{ziHYlu7pz(EOIp`*4u%g5DD=uFUQ+kSd+a7uYTg6@>;wZM5OXVbS zApv$IJF*RlY(pj;AUjdX4pe*6_aqXPMEdM58~jfoP8cQN9sB=4jyWn83gFi->=*LH m5_S?7NF)+lL41se!%pDZ3X`HsRW2sb5} + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-left.c b/src/displayapp/icons/navigation/on-ramp-left.c new file mode 100644 index 00000000..3bdabf2d --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_LEFT +#define LV_ATTRIBUTE_IMG_ON_RAMP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_LEFT uint8_t on_ramp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xe0, + 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t on_ramp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_left_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-left.png b/src/displayapp/icons/navigation/on-ramp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..9319037f32635b5a4c0ea08f3bdb83ceed83f796 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF)U&lEfj0}2TwC;F8E>1ZGh0Ai4>9Go&Q zy%-pnJ3L(+Lo)8Yo#CAk5-xH4|K#wk$u$W}wkkEg+2SO=cA0KQCqK)^9RX5NB7xyS zg4)|sR99TMb^MTC7yq53y-H$RySh6rHC>tHdQ>CIW$_Iysb<4lo>@lw_1?{${d-RJ zJC)+i1^?1bi=Y4gxBvIu;&Xq`d33g#ZrbuuTKdEUo1+;ix6eOPuzbK}9K^ce?d+W$ zOZi>}GjBMX9dSDM_CHnW0567Ze@*r+o8M$rsVvICmCUCuk>+B3X>0sJ(L2Aomx(as ze7=73obsMu$97F?`w zJ~P0KA^qCGDs%xO^`OzFy+Jmyvn# zqwAX{R`>WF{!%paeP&|NBKM|@2kdb@m+D+<=PaIj@)*aS<1-D7^)nha>nuFQ(R9}J zdF{(riTsy&1y-b~hM#Vl@Z6+0N$}0y_v!wJ4a;7oI9fE-OZr`&erwUM8=9BbE8gc? z9X9t>*P2~=xtHYSynou==>Z@6E_$t@Gj^HZLtP53kF=ek|*nfFKOTv?cedjD^ zF!Ov`naCSe@r?0BVxkhm^;H?qnzS!UZgMl7aY~i{fIze`(+-7uN%qWTi|VFHUrU(( zUQtGi@xWI1yoZf*UvQMVF-X@2?^vwDaD8!vmpX%arE#5`^0c4#bn3;{g{m^25Q$qR zn-#iyS82@>M*UTF_brv8lUQv^XLu;DpP93|qr6u3`P@TWXWe*l!Ail?@~-a@nN^b* zgyxhdO)cQ-*{j7M+Q8+&x_~KwQ9{4rPX%*NHS3(VM^o1xuwZccV>wOiK=9W}JA03} z$5bQLpP0?F^8KkBCcf@3|Mudu--Me^+X3^YYKdz^NlIc#s#S7PDv)9@GB7gKH89jQ zGzc-Yv@$fcGB(sUFt9Q(h%?=lf}$ZeKP5A*61N8Z45k}E4U!-mg7ec#$`gxH8OqDc h^)mCai<1)zQuXqS(r3T3kpe1W@O1TaS?83{1OU!a_m= + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-right.c b/src/displayapp/icons/navigation/on-ramp-right.c new file mode 100644 index 00000000..94398d41 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT +#define LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT uint8_t on_ramp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x07, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t on_ramp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_right_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-right.png b/src/displayapp/icons/navigation/on-ramp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..db71199683c2800e181ef3b61edcb84e78592510 GIT binary patch literal 1210 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF%@s>DuY1BC>V6aC77bTkkL0I@g_a|qk$ zu3%tb&hd0{49U3ncBXfRaG*r1f7Y61Yqx#vTp+qsD=gr(o35Pzi>Tn5{@${5L00i~ zH4lZ&%M`oxL~3-e^m?pza=gRAx-mrHAiHi;#K+j2Be$k4xq9C9l8W)nl)T9ncb}vP zzbp7x{ICAq+~4;lHMtdPu3S76cudj7?4Xf}L8F<%5ne5~15ArL(v&I=d7al)IKt-? z$SuEO`GsI%4#UpnJPW69_W5@2kljB4cVlj4F&o210pki+rF#M1jqYNLcFsG{mB$zS zXlbjKRjwG@j*~j?b$;w{Fp7$N+sWDz;WoXwwg1hxghVA5#q9-7^3P{J>TUh{ucg|{tmSo}1+F?UBmXr|MYmo3j;&$#D# zVtT4#_u2OOBL>HByHB5AX!zRt zT~FDz2j!FFCtY~{MC`1N*PIr+-FsA4MqLk?dn`F3@$bgo-b)qNEAOs8ofQziXv5@2 zue(=_jx+548kJkM^!uxe3wk9k2(IwQeB?$b=UqhB+< z?>qIL&J&2OaF<n}6x{MRb`;2kzY{49{=n2vjTc2yiA4}$5KfPG8V*j*%Ece*UQcJ`V z%oDpC(|t@%**gR?X@8rQbmMRSrH8L3CH~9)A(`5;!|so`>Brj2ZEsI`JJ-$iQuU0@ zx}f^ivyC@B$Sil-ALpEs^UQ`br!(wHa86s=AHLv(kz826p#6&7T7j$mR@y$kv-swg zXf1)1oq?<_ipHAf{@j?l&fM5JV(vuynW_0DCf=<&TyoBid`VAuk>H5~_a~YeJQ9^C zWZwBg?~~|>QwP#d|IlZ(Ejy%UmE`+VzwhDqXP;l&U;Vba(O~igdtm-kEpd$~Nl7e8 zwMs5Z1yT$~21bUu28OzZ1|f!)R)(fl#zxu(237_J`F9umMA49&pOTqYiCcqQgM=$k xgCxj?;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1STJYD@<);T3K0RVwB`hfrd literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg b/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg new file mode 100644 index 00000000..043963b7 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left.c b/src/displayapp/icons/navigation/on-ramp-sharp-left.c new file mode 100644 index 00000000..a3672655 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT uint8_t on_ramp_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff, + 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff, + 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff, + 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff, + 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff, + 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, + 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff, + 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, +}; + +const lv_img_dsc_t on_ramp_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left.png b/src/displayapp/icons/navigation/on-ramp-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..188a17a1bc3e16bb07f6b0de624f61c266e61f02 GIT binary patch literal 1401 zcmZ`(dpOez82(w-FqBI!rC3HfZktP3)58#>3C&S%!(6t|#Ac+6OElszEVmqr5LOdv z!*NTxI0|uO%0zN0b(GKw=jXrvInVdJ-}`*;_r1^e{q?20xjM?p?3MulKo0L@?*X#S z7NjJ>3o@!}jrS(s%&}LbLk={y96}O?7 zQp*uerh4WpD`enmyy1h}yRO!-CR3+UJ@k4tYn=|_i1i%3--DNWuM)W|k9z-MCzRT* zNH@52|3)yAWE{J)c`P>6WTfQ66~EBc^Ro$}nD#Q$R)i6d-z3dO zgQ@kH6!#Pb7B>d7qD)J5$c7w!0g*d)ct_pm!7zD!Y&Dbq0Hf?)YT&T!Kek2`G`7;6 zm4pjNZQ5r(4zJ2DA7E53c=BXFytxH6o8u$rZ!JI~3a+hCdXp~teuy4k$*hG4zf~aT z^|`rw#H>FDthB%1ln*CR_3ET{;?|4vkn7w?m&GJPhjT^7;o;TB)4#nyT0qh`4X}L- zm4KJb1l>%&mU+?{YY6H>tQ8Uvl-WqVS63AEnmdF zx4r>;+$MTY>>07+32L$*H}&z;pA4;w`;#`b8CI(~I(Ax#M#3-uD8v$Tw`F0UB7|}q zs_`jTiXgNS((8-_ik`TsH1vJne$g{iEbgza7g(73Oq-W@Xwl01TA#Ipq2!Hk=R}Cl zn*%uuwdVio#MsmjL>$>$=J^cD%T;PO;!BvB+v}w^X}$cw177*Be3r>G7Mt=D?^P;9 z#$zsKt=}#l5|4PlR6){50Lsm?L4APjn5;=A!KHx+I{Vr*sX@O4ggHoYKkF2r8VPoQpwF z!b;)eR{oPCiC@~aY=DxJi`^?^|K+7}cj(y8WsLP^etEi-Tk~v!svC`h)0IW_+T8a} zRtl8h`p!JNpY%p!T5XkQVyU3Qn|L+f&oA_Adj!LF>U6PqiJv}Z_*Sq>HQrkO5MU2< zcgVu|&mDtC8&gKVUuM6)>(`-ZP&_sjb7t>_OvM>$%TE{H$-eDn5C9kPHvXopm=Q4O zw~YFvx<~!yplBH7V|_hESBgF5qj(V-VZr}fYset?9_gw9&8V01QY^1^BU9+JcAcAcK8ele zRm~-SjeR*&1@~xGn|85?VXl(%_$9Xxy7z;1_?~yL{c{qN$HDiZLw7hy4-TY?!0+~pA(9qM4UPYQ1AkR%2{fp0Z8$*- or85JgLjWd|X+%8}9zza{3NfNZhn0N7?gobdyo0O#9b7>2e=LS%e*gdg literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg b/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg new file mode 100644 index 00000000..44542f52 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right.c b/src/displayapp/icons/navigation/on-ramp-sharp-right.c new file mode 100644 index 00000000..33fa9d79 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT uint8_t on_ramp_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0, + 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0, + 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0, + 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0, + 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0, + 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8, + 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8, + 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t on_ramp_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right.png b/src/displayapp/icons/navigation/on-ramp-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..4c32f963926b0bbbd57ecce254e366f310f1117b GIT binary patch literal 1413 zcmZ`(dpHw%82)X|Vm0R26ILE$3dP!xyMr~Cxji%2L^d0Z1kQ@Qx0Ebr}Ha zoJy&;t$Y9tb9W&FP*;F6k#|ZQ*JDWlGTpZg$oV*^wp`rFrFc5+d;>wKspyty+;Wji zC?>-zMb6vl+dyt(gQvYEKgNPWcJz&UF1s8Oi}phgW!gObR(3MRhklyY=}=lLnKjUL zboIzDq8`j8ZVDQy%p7)DdRz8CuW>5(H#N0A&;{sMSDMBZX{h2jY)OHuB&!B z>CQDSzYxz}8DAdnGHst46x*p-T(DXAeM4sVUE zA}GFb>X=o4$WZpFOy3O3(K3L&Q3ikYv!xE zw`V2^^n2dVqaup}j>YXSA26RpIH=vW{B=R01uMu*%YqyTj<@ftct+GG<&SmoYQwe1 z1B7j~XHD1rU{>DWDp6AJ7qeAE(?&mldB5A;`a6gES$5GfrAyr>LfXIKZ;p!L4-k-r z)JpY{9!sN0QAQ2txOhxYwq#~ullLY=VP8G{9otjdMDl7j2nj-5jVLHhMIJH`6rlX7 z@&4WeTT=EOM@81Ed+rd!MY$IgD))Fs)?w4H+MHD+Ew-A>RMMnn17dhYCzU#&znU;T z!%~Z%h`9&#?kdqLmvPaDcYr_?NFO`-JYg;^Cbi(M87S)Fiw1(;;vW#Of&xyJ;|c82 zd`o_$X01}-!@9OpaLuhhd*Km{k~1~gtC6L4#5$cT+@4S8J!X{YM>Y6?_9N#qnhP=R zR9c>GylEd>n=!iB;Y&3YG-l&gS1vC|d{;bnL;9T8v+eSW*EC966U9(EE|^}l5WGgd z(fCS=g2aj_U)rk;RUld&Vg#KxY=lc+yq7@?kq{v7)$mU3JJ-r)@<~vR-iMdir*;Z+ zZk43lO~kZ&LEV=i%e5m+y87Am9%o>)5yt;xAf#}uY9mgeJ{oX3mdsNoAHwH<)}A0) zgu-DhQ#_9Sx9}Wzs;kJu0XdBL@LDIOwJW=sw-lw^bUMWLXyji}qt{-KpMc4kaA+Vn=h90IBYZf>;FnW* zRy(o`Ci*pSUP8;<{<026Bk{~gI9A{`Ti=aO`@XV*-GLMNzb`bqJq8uSQ2Q(gUs;yT zK;D65fwhB{MERpVSic(kw@YXlEtjWjYi)i^P z+0S(fK-G)^$ya literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg b/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg new file mode 100644 index 00000000..f15e5aa0 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left.c b/src/displayapp/icons/navigation/on-ramp-slight-left.c new file mode 100644 index 00000000..c3300310 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT uint8_t on_ramp_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t on_ramp_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left.png b/src/displayapp/icons/navigation/on-ramp-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..344df2f71ec045ac50617439a58c78367f84ecd7 GIT binary patch literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(ZAIs0Y2ow@XPV_4S()BnFFU{B4*P)FXJ?EAwT01e5MBg-cpl^1oInwKa9D zx8w9$$QYlanY%EcM#J?!(?;E`i;niQuhrlv+sglQ!?su3c$dyl+jw@FwWr$2f4?_u zzI}J5we@D>$*x)FHf@+w{d~@S+wXUZ%lldbuN+S+dNNbRy-!Bi$EfqHZO*%i#}l{x zS*aQJHZh9n%jS~MPYNLqFC9E~OzpkW(-XVnrDtm{+c5LcGrb@VCjp1Hyjj}Q5*g2K zY1dhPV2-pjd;9J=4}`gn2<}}_KQ-pp*A6EeQ`Q&%lT^eixAIKnpDnb7b@89G&sf$y zmt4?)?*~J0Oq##X^UHsn^y3S)Pd%A-U?Srop&KfedKXTY-_g{3Bt$ymBp!= z%Mvt~Sc&|Uu(Dd%7b4hlA@1z;K<;zd!M8a4uUBgRU-kUbTGsxo6Azv(>eCQzDDYiB z)hkGfA@|pv=SeQ-IdU&piuQ0kt_pv+G{k6z*K}_DtRoo19vlensoDOiR?4ZT}1v{>;!2Zn3%& zZ}!b^f~NQ*(Yr=6C;xK#H3zJ=EB5Wps@|YD)$B}tb_n!p4ywwcc+NUhg`6jePP+wqt*tG{%n={!0=@2?LQ@3p3F$x@#UDf zn%Dt@<+iVu+Q{oO6eeGLs_kW;k@|<@imKQF`4pR1y*3vW7#NoQJh?dX=ruQ{1FHVl zwrpOS2#n=YH``ady}bt{lI48UlNr+_zGsA)h$Y;+zR37nq&Oc#eD&cM*$)|X;@QvL z2#-I(QIUJzR7ycCb(YY|?5_gu3Q5=BDfS&m;?rT$d3KRdP`(kYX@0Ff!CNFw`|P2r;y@ zGBmX^Hq|yTure@MRW+|1MMG|WN@iLmZVk89)qv##gCxj?;QX|b^2DN4hVt@qz0ADq d;^f4FRK5J7^x5xhq=1STJYD@<);T3K0RW`z6?6aq literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg b/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg new file mode 100644 index 00000000..6d48848e --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right.c b/src/displayapp/icons/navigation/on-ramp-slight-right.c new file mode 100644 index 00000000..b0746de7 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT uint8_t on_ramp_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t on_ramp_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right.png b/src/displayapp/icons/navigation/on-ramp-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7d2f8dc8885015ac0145f5de94c6612bb0755c GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&uYO8sQfIOY@45)UM5~mmY;>a(=zo+b!l*?iStge!JTS(aArQ_9Z>L?&`OEXZgFi zzvpaB+W%1RoaKGX|MxAQTi>@W5Bg;KM`o7E(LY9~Rw{V2Mry5EFexfDC{T6kl~u+o zzh0d?oB8DOE6e6=+H@sp-l9)gp>eLFArqGF(TO~zz1W9UZS9nx$!$^v()Yz3f}-SK zB~LxGLD>J6S&4x3^@|g1|3xxdS@_jRC$|26^Cve%U1{U(w{3cEv5Xf_hV>bVWwX{T zQnhLjxLi4Z{!V$x2i*5Bi!dxYa{Ei6c2mtvUqgl*0n4xtve%uN?j&XUFi5)?ufKS@ zRe)jnOCN>r6eb{*@jhTtPpINc!fQ7U$lfkFc7D7&PZWXpWb!H^#PPb|K^>XR`rT@Yg-7CFUD8By7?U;|U3zYc| zD6I=Q+3%yHwe?qN;pK|&KU))arQK$q^>~GJaQ`>Yd*5eIQJH()GuUS7@r%#*PdK>h z=li7(#6vhf&g48;D(EbrXt#3G{uA2&n3ax1+c306$k;O7T7BbC2*YNOu^-7lIM z7qy6aP1+Skg9B?4xU=qcZ$A0!cXj;f@KZ%sYSw2f>RtbCDv|q1xHx0AmqY!htfcVM zp3h2oo@dQl{H)`g+MmKe;e^Jxf-8TPwRf(*&T`_`sl~tc%6+=WaE@2v($%V*2J-_v z?mw5cN$+OL?fbMr&Qwg{xki81o{bFWeihX|*~>Ub|DtAT=K(1Of2Lnoc^4#pJHv2A zlj+bJhvw!DAkH85qz9GkKkB*XSsnPioprj*)766Zn-@#vUyA>kzr@Er_UjL=NlW%K zMqSp=wySn>24-E=64!{5l*E!$tK_0oAjM#0U}UIkV5n + direction + + diff --git a/src/displayapp/icons/navigation/on-ramp-straight.c b/src/displayapp/icons/navigation/on-ramp-straight.c new file mode 100644 index 00000000..d8359f25 --- /dev/null +++ b/src/displayapp/icons/navigation/on-ramp-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT +#define LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT uint8_t on_ramp_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t on_ramp_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +on_ramp_straight_map, +}; diff --git a/src/displayapp/icons/navigation/on-ramp-straight.png b/src/displayapp/icons/navigation/on-ramp-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..9d33a96c8f58d489928dd3e250c47a2664e62436 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&uYO8sQfIr8WylVe=Vio8;d4h|I#Bc(TD+^n)n zO1mmM_C&RJDX_d$U=eg==WJTBfltXbkWDoxjZ-sh_pbYV@81|1pL_FW&*$e~?5c0x zyjfW{fA06YbIaXbHV5=8O+TUdVq2%={(k*4MIO1S{29+B8S-z;Gh}d#IIX*?bpBUK zp*NT7=hd4YFbY4J?y})A|0mw`v&A}-XC@rae{6cM%DtS8g(Xo|`Nvgdvt>LE0-s_M zZ;A&zw8{=rxv_lz^mvx5O3Q;~*jN(9^H+w?zd2cm(J|wxV&c~++e8>RnvR-kEo9i? zS$v44`iuX@3l27amdVNcV?|jq=W~eK665r6w>AyL%?S{9o zleK(I^}b832^SA5%(ro`UE2>eLRFJ>|LIlb6@R$iPx4n$cav;jl)ykLtQYwn0EZaO|U$NWwc^~Tk^eHwSb6nL7Oopl@t`Q|Ei6yC4$wjF^iowXh$WYh7 zP}k5P#L&{p(A3J~}U&Kt&9mu6{1-oD!M<7A + direction + + diff --git a/src/displayapp/icons/navigation/rotary-left.c b/src/displayapp/icons/navigation/rotary-left.c new file mode 100644 index 00000000..c54c5d3d --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_LEFT +#define LV_ATTRIBUTE_IMG_ROTARY_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_LEFT uint8_t rotary_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff, + 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff, + 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff, + 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff, + 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff, + 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, + 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff, + 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff, + 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff, + 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff, + 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff, + 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff, + 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_left_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-left.png b/src/displayapp/icons/navigation/rotary-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2531b5cf4ac9a244617791b3dfc63c061a887577 GIT binary patch literal 1498 zcmZ`(S5#985PdW$(xeCi(jrZYNq|L?tON~64H$wOERoP+)KEeIBSn_Y5|jXoR6(Oi zld42Tx*;Gz5m7*mB2oeiB6Sr7Y5Vxxk3Dnl+%tFPo|&(?;*CA3Ag3h<0Dyw43kC-= zdK)s5Um(_#)(>>Sc>=&CV*p5G0>DpDN}L9OC@28T_yYhU z9{@DMZ!{f4ferBh_oEm9s7!;v!AdsV#V-;N8{}<6ER!m(2a3{kS5GJDNijK9B_p{w z)C4Fg2a>SSAa8G{gOCLQajG&@1CL?5VjS^jKh5P+QgVDX1(##?94(DFWm4Ehlg`^c zz%}~|;~+F-Qj9at`YSrB;8k$fiYIY9cBx2Fa<4fbcJg)%avfu4o64Ff zQE`Q_rN>|zNsVX|fXqgb*P1JHh&PY(_~EU2c2gG%WIMim)cs~Zp-{j2QJ~K8ee|rn zziDCNB~SRvT4~=rPk`@}Y<*5$rey1}BJq=>55;vClPaff=Dh!I7|>QIp_lXh$pmT~ ze;Mmmo(GqiE=X*KWG$I2H;+VCzP%X6-|)5acf1@ zppjyL&Eok*ybf8c&$~bU6`$SvCbDdxeEr$zV|_QfCOYo&$@R4XTNSdp12?H~D6X;? z<~e1$dIKW<4M1xAL2M7B>Z~R?5V{_gh}0D85{oTAJ#t_!UcZ13gR&ZG+hz8+ni*KF6r1Y7@iH|DJBm* z_Srf1R$u%P9^;ySKFC^WDcGf;eVM{`lZsI(x+?NGmynsTj@Ah2S4fm_MW$RCZPC4u z<#{Nxoz(JlZ2WX6H>`{GTFuMI_;#!4;0V0RcbN0xZc1t#mfiT#$r+AFzZZ3qpq}>m zuKxAuALm+?%GIIW89I>N%@x;gmg$?(sSU5rz|OHc+e5t_p55M8C_==h6c3Njem|f) z#=9EVlg!(|N|)Bk#jccOkiD~`mwnGby>up>do1VmDUjTs3<6c>N1NK~xgbB{1o9A- zLzoC~ptnh=X3Ctf6EuE+kQUEdxL4=Tp7L-bxY<_OJ2C4#$fg3Jz+fijHH*Y1TWs*H z$_X#DZ9+a5XtC?=nGcWd?GUS4pL(Iz(yVOCzN2?CAG8NbkWa#`3KNgR4XGpbEYsgK z?ZviZiz4>g0~Hi+B7dwWtn&)(;M`tomJV&@mPpU0lf~nYkB@=>$%yVmpa+rY!H7Uw zFh~F#3Wr%jVU{o`9%he#*&?j%%%M;O6#DCA2Jt@zYFH2@gz^6dj|RJO(6DEFgHKop oJ%&UJ24Z4jtSF)9BLhj{!B$~3a^XBm3mgJmov@hN!~RMC0&EJI!vFvP literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/rotary-right-white.svg b/src/displayapp/icons/navigation/rotary-right-white.svg new file mode 100644 index 00000000..1389b1ce --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/rotary-right.c b/src/displayapp/icons/navigation/rotary-right.c new file mode 100644 index 00000000..15f95425 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_RIGHT +#define LV_ATTRIBUTE_IMG_ROTARY_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_RIGHT uint8_t rotary_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00, + 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00, + 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80, + 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0, + 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8, + 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc, + 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc, + 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8, + 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0, + 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80, + 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_right_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-right.png b/src/displayapp/icons/navigation/rotary-right.png new file mode 100644 index 0000000000000000000000000000000000000000..eb19d987eda38b1e5dddb5d474b6c6ca582c6cd2 GIT binary patch literal 1636 zcmZ`(dsxy57X3jorlw-*V3hB)W<(cI8$mL2d|^taXsecq;9FCWB;WW%%OJ}qKGRVX z^FcNxvZK!At923s*XNLvW{8uTR_am;(Sa7XbDY7IOsvt|0+n zH3R^#6#xKBsP4UhQw+eN=iHnDfOpFjtxzfn?g5DaXmVg5pyD{Np~6(AVVieRnt3o^k3#c7^Nd}`l^Gz zQCLJmx;QE)Fi*$6I_*HdGM6QQLT|&U=IVzQEgZ=9sgXab%0)=RJ$C=hK+vPt1Sj!1 z$1``1>WyMwk}kskQXNiI$wQEQJB~a1teDy)*d7hQYfrGWCaH+@Lh)~e#}7*vn4!%H zkofnAIKgcwUJOgHyc;mU8Zfe2jBQ98(cm&^yw;|Y=MUZ-tU$P>Vo_%r>x9@bxUz+4l#U8J zuytD~<(s8en|sjdg8x)6Pv-X5uCN4Cg`t(2ySX`%7>$&%nzclYZ#juSYdb-RLg~UU z5{J|7(8lo{0%{Qfo9~z12dm_bZ&SyHz9}ElkAOlyYW*yg>2s&L?dGO&9@THZXHklY zh#h>V_RaLUd??6n>M}3m&&nv8#rQ{aex1cHMnw*CdP&R!T@jhW{Q1tU>edb*#% zME+g&+gZ?VzS$)=P*{;#ji9OIT8w6hL1Pa`A9W)NvL~55x_B_TgT3g_fHTgek9}`BC3; za4`G)-pMLVF*xH-&EXHLphM)?iO)(#;-?VD?=CibPBH{VFnIyzS901AoZ5R{Ppwnw znVBrf-cPz#F+roVz0TV1jtv<|+u;T8YmEK(8f4*@i=w6Qo;0cWcBsz#*@10X{NoQs z8q^1EIG=w^lpibc!&q&$Qk*3}E*Y+gcp0nzmXA@hG?Q=YU3<*g?n#t;WK34Bt0~2H znK(NRLZVr1xV{#36%9sv%gyvlD^8rz9y5!i=FH>1Sd`5bzpLFt$w!g`O-}XvlRTs< z>-}S|HoD5zir~8N#?$m3c+Y-BzA2C6xaxfjztRFM3f%Z)6Aj6?cm3$l?Sh z?aps?I+_N&8aUD6ACP`cpIlw-!3`FNJoTw7X=m`B` zk@0s^UTK4>QzJVX7>C*xcV_5n#lT4(hJ|+Q`>FW+^*Yhg!Z);?tVQTgzt0!6>^AaJ zYs%bH*mY^%FEl+0RV<$$JGdTrxJJOnm33Gj?n?TXBr^xgUU?-PRok!KI<*2N|F3gm z!?E3sjJ_7_+45c2S~r8_*Tt!y)r066^@V)O_li$xMtAu;okF6AVac>G1p#Oz8fA$@ zS)!0c6b6g3#ai20Ady%ka;*L9lm7|C#Z#iflmCC9_nn)XB5-8?f^U2{ok6070SpGi fD(Y%XBAJvBW))A1s9MLt6-xl#h2Y%b6q5a4T_xIC literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/rotary-sharp-left-white.svg b/src/displayapp/icons/navigation/rotary-sharp-left-white.svg new file mode 100644 index 00000000..bf04ccfd --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-sharp-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/rotary-sharp-left.c b/src/displayapp/icons/navigation/rotary-sharp-left.c new file mode 100644 index 00000000..c1d49213 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT uint8_t rotary_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff, + 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x7e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x7e, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x7f, 0x03, 0xff, 0xf8, 0xff, 0xff, 0xf8, 0x00, + 0x7f, 0x07, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x00, + 0xff, 0x8f, 0xff, 0xe0, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x9f, 0xff, 0xc0, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xbf, 0xff, 0x80, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf8, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xe0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xc0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0x80, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-sharp-left.png b/src/displayapp/icons/navigation/rotary-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..974fb1f0f7278e7639140a8473eba4b46b2d4a8e GIT binary patch literal 1852 zcmZ`)X*8P&7k+J(+DXbV2(=8xme|8ImJq331XWtG$I>b(#gtf5L#<<9irPadr;1tz zqed0Ag<9GUil%C2h$Ex)^GCEgWE@_WuA|b_hF^WpWcSHs;*xY&>AWU)I7r zUa>48Z@g^;iv#})Ar?z$;m$+>fNKYXGI0v{&|4G~48cK$B2T35g}_KJ_i{Qle7v2VK+u) zt|KEMg7=i!GSjWKv>oBsez;YjWq4e6er~k!=0&9Hw8+q`Y3&`28Rg5Fphs5jfEUkv2}MWs7)lL}8&_L8 zUwS65X;$8F?L)Okw{}O#y|{k=dh1U{36WMcbAeeUq}|;4oM)~Rq7M|_1y?_?(w;O) zT7h6uY_f0v_<3v1#*M?oum@Tl(zWun$p%Sywm~sYyp&(V=S%3^nR>X`)YzQuu}FE> zPY^Pd4G9~F+~jVWw9lp&)FdC0-P|D`u39HS@3l>@W1s7)AO#A2j9xnyz3Ezgu4@nD zd5mEU;y2Us>9~a><^p2@wp+O)XdzQ6=&={xd(R77xK+6q66~?}<@_@GTO)2&Crg)X zkip&IVfX!)EXqWBe7!DXq{?PR9Bm+N-z>-;Asr+&bHI%9Ebx9u7R_TQ>@`$nl<(a{ znbKrEV9r;vj%O{E(A?uxxmc#2GyE{U^=r39a*r)%Y9ani|J5PsAt9GZTwtJTqvU~p zh{e1cZ{LN1_I3Hg_WZ$MB-YkB<9?CA9oI)=yR<=ZgPXEO2q;hXq4v2UgG^3U(t&%cMskZ1Kl_1l%X2^5 z?$9HSdXqw)VrP5qiG!Fw|(>%1&9UnMQxuW5e)tUl|j)$Ne^ZAU3- zGN>ygjY`8nJ@&ow47*k{Ar~zw`lrM&vuWOT_ST0VTWk8-=`Y0wr`xn7guK|Ppa0QsN4V7V`x#Px;#~9Nh#2J&?<<+G zME6@$*16VSm3$y(B7C#^i1It5{$>T#?>r%M(%V?f7*sa5E>Af#ID?|y->k3vdyO+F zohr(#wQF-V3+9>es48`A?9kEuY`b_3F1?~bAQx$2cQ-qa0&_N42Oho^vl`@Ab7jt* z{3qU3=9Q;_p23oq7AE}WQ1nq(uyu8=IRw0}%PYz6@-zSG2wuS9&GwClwlsBSledaB zL-Kg@zUe6(_e5c_!8yh~xxEnu*6Ez6GI*>Ih;{Pa!Rwv|y4Zu4W907?%PvVE4KX;P zEL)ml4rnxGd2dYMECS6-NZ1vq_C4>v>r^7#SC9YzWE6?KZ#&W7_vtnBfzKYLdN*6P z--{3MR=zv%)C-+({O|X~(+bG!mnpx-J!*8lTLqi)19M#-<=>r z9@lXc3T62pF;7&vzQrX#{eN59PheUJ(oT{-eaJaBkrTRL0jIj#`Rl#N_@biAS8=Qx z@365ZcZMPkK803HYl*O@Mz@jKOP&q21R(c(&R+)qol~aT;tP;Tf1aa z_dtVxZU|s=ib)luSsyu7#7PFPv_6fJG-1~}qV{O=J!NJx++|sT>m&F|hhl+1C5j;- zUTr^^7G8Qjv@Wo%Ju`;etX~zmOLbh=uiezUs3k4rL7cLc#vI!yso_)( z8NAB8xq=vFjmO5l>UnpZ4YKFP8ZwM=^%e*2Ae8k16o}@oL?1lS7vUY|%OU`-35Tg^ z!qi}zPA~%mOb4N5@T;aKLQ^wjk + direction + + diff --git a/src/displayapp/icons/navigation/rotary-sharp-right.c b/src/displayapp/icons/navigation/rotary-sharp-right.c new file mode 100644 index 00000000..d0d05ca6 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT uint8_t rotary_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xfe, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xfc, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xff, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7e, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7e, + 0x00, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xc0, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0xfe, + 0x00, 0x00, 0xff, 0xc0, 0x0f, 0xff, 0xf1, 0xfe, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xf9, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xfd, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, +}; + +const lv_img_dsc_t rotary_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-sharp-right.png b/src/displayapp/icons/navigation/rotary-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..20839129ebc518bcafda63d0518655eaa51dbcd6 GIT binary patch literal 2120 zcmZ`)c{CJ!7yg;S*c!`NqAX)6WgCiWMjDebc4LraiD5VF0krlVaup2t@(#)e8W0 zIskHkS!@Sm-T*?jCYS+Gny6;L>x2U>Ttfg~Kj#nl9$bPb^F$ck(iRV!O5X6kfdyf))fpwoc-o9OWKDFG>CzKE0tZe^1K zU#b&glzt>X~h2J2I21%Dnnqow+ zy^?i1UDbcH$h_*V`bEUr_HtbFr!iY2?sy|Nq-AFO~EWCY* z>Q8ka0e<4!@Uy)k-{#cTgCvht#h^@$H-a9lH=RBRr7jmnrr~mC_7or9YdPi8hm}u~ zG%T#7K&`o-)yC&UUeAzlLdw}qU6SKaPH&jes#=utzBUI<8;95Ef(crkgh7qXPJemx zXzobI!_I(dXJT!HMcj|uVd<6;mb~nKMZ4TpcdMW^O$5 z>?`ixNu&*Uz$Lpf4CkvNM1aA zA&niimS@ACX0&K~!})eH!G0lE=vQNJf_xHHu{;91 zij8)9Nz8%M>c@^s;Y8`UeT=?rbmii=dy}ob3Z7Ff94p*67%YK%;x|V&lJi8K{35$j zSJt6bpVMvbIo;&3NnM;1Ubmby=G5SU^otvq6*s z1HZXAFnWiWWhz0NpE{kJwI8!sk|2AS3mZ4r4l@2vz?r}lZ!i63`iMhrhN>(`yD$rP zha0lUMg+cp#EO?@IT&{@L(u!2d6=+%Y`AOUIF#x5x-4wFaqlF4ki=iJDp&V8DEC!y zL!zHN#Kc-zr*06DXP`Kcc8gg1_{Y|UwbXNUt^VbHm3kskZy{<&Msl>s#rXi^WfALg zoiie$mM}KzdnS(HGd(OI^i^Q#5$}}BEKAX1bClomyZU~u5|8>)lEc{ahI?R{-NkH) zwZ&p|DWwFi;ghA-5>`Uc_aD-tF?$bz(L9z3lCf6frn7x}t@yaS^J0vkOnn&}llt2A zzJm7Z*eJ^f&595p<%oH(O);T%J{2DIBX|^<_vWsq(3FZ~Vo+}X>~C(eW3ETqoKj7Q zv|{Do|CsS)&0}%W9l?6hpZAPdv?6B@1F*eG^kr-9ZWdAvW7(Jl&*rx&}eon7IJ=CTgM@HNK%tmEq zx^^1GZjfv$2D}(b>#RQ&V=Eyu50IzOkJI&-Hz{cn8fP{?2x zy4FKWI_2QC#44xx94i524biW^Apa1KsWNcJzwa2LMd`l((je4Q$gh?bV2#{JF4%NF zM5b)>W)$SKKqVwciuee z(LK;lgw9AnY?ZOGBG*SUVu&Z;-Y0Lhy*zGT4AGadVQ?W1Jqqhv8&GutvP&rz)Th4z zLetq{pws+~e>>u7cfLG5U3AAD(J)lW|n1;1TBR6^iMzTS3JziHUGy$A=NZKiY7ERXGZ~ z2qRsMWF@R + direction + + diff --git a/src/displayapp/icons/navigation/rotary-slight-left.c b/src/displayapp/icons/navigation/rotary-slight-left.c new file mode 100644 index 00000000..b285b43c --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT uint8_t rotary_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xfd, 0xff, 0xf8, 0x07, 0xf8, 0x00, 0x00, + 0x01, 0xfc, 0xff, 0xfc, 0x7f, 0xff, 0x80, 0x00, + 0x01, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x01, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x01, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xfc, 0x0f, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0xff, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x7f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x7f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0xff, 0xf8, 0x07, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-slight-left.png b/src/displayapp/icons/navigation/rotary-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..0493f21a2e7621e8a03047874d9e4f7fac0ca1a7 GIT binary patch literal 1665 zcmZ`(dsq_o8vYqL@(Nx?na#)?M=c2);w6s>!6C{E7@DbhiBOq}B&gFilY|VFWriIm z^LU9QAyZGTvUy>6ckPHN`H1B$&AX?pwax9U(f->X=lP!Zd!O(9zW4dQzdi{)glc8J z%Nzh;MLS9kGjia2Y=;^%h;IuwW@r*Im%_OvW_tVRAKX+a99`6VQSw zumuxyJGdKUh&ODM5UhldEF*J_cz*%h2rDPS&QJhMKcSI{%;c%{is)1s#lHW-w;mlt z8-uefqSUq-A9&HUyBDUbNbW(@x?eow+-DE9`(gwZR}!#OLUv~4pav+A$Yz|&rxfRU z#P&$ejfFfnF(z%95`BOD`o?r&Ro=6d$);buI^R6%-uQglo1eG%=+Rfc&z;GwRrou+ z0>2ebz12aRIW3K5sov3SIr}`$z|j^I`hD6)fk<0tZ(7W|k|RS6gK9?SN}V)oBdkB| zm>b^~^%OGBkWF2qp^ITAOEa!{{cot?sY0&UIi2gOlvP(T_n6TOz0Ct17k#u>Vl<12 zP1m|@diNOXWt`NmqxaOgLcN@0oiu0JpKQvT&G^jbAGz@*L(cxXTPNo;rrs_A%sNBy zRR3_6cbIG~e8B$SJK=wSC>fr&i#2a|;=*gBeJi;?jQXsXO^-RYW<6*}m^YIGXkiUu zBF`Vg5!%WGDk4gOr2W)7b>Q2e^?NT!9kII;p|#7Zasegh$l$et0>W8LAdBv@JRAa&e#mmcHh4Q^pHb; zJFmVIxI@}5mg_;#S;xF%BqW=_|EfO-U3v_j_O!mz9HUEo{ToX3SPD1^7%zIixPJA-Ge+twby(B>XF^E|0=-o|b^gWgpsWW6(en`g}RCCRs6x5z6 zcfIk>+Dc10?Y&(oxX=!0hT3pao1fwr$RrCvP)}M;Jk%k%sh7c~!*G+vUFCa-=XiIm za~2OI{>N8JO+aLjS8z#^O<{q(rAXJ4_xv^~u?I4fNJtV+2zXNwk-nE;`4am+NNEUq zJl{8_j^8Ye0bVgsl%(wyDCrK~hZU;{(YcMtoL4|G*I!sHh)V6t97%Stf#q9t4StxL zdT%Y|DgvGl_m*77JWhp_cy;X^56Chx@UB{qT}$~SbXTwa>n4m-enh)Jh;f{d2-vsA51gbDY@=dwGcE7Pxzk z^Y0Jd3Uj(d3opJ4#alXP$UoZInPE-#bI=gMgYz=h;xmTv{jzY<9K%yq5 z8{#@(6&@?NMPZ{*b}&}-jp1esN$jpKirl^u%%3``WV};ClqA+@M28YuOJ&x1dlB$e zW`5USaFm&zTs{BGc|Dpqq4u6fR@SE()C)oZMlqjUpt=p=D5t_nE*iupbhH;ApeS4a zj5cQ$QPvm7Ja>&?>k#T>ajNgY{*COHxIH7wI*+^T*~Klb%V{@vW{b6on7Mh2@)OB+ z#}$Ix;7E#90XE8!sk-l_AFFOjJYOwP2OVcM$@ZS_S>Ym6TxUENn47NWN!;D-%w~DF zaB_S}HMg@2RlFHF^ttCif*Ga;1|RqNo)I!)d%y1Yy|>G1EI*XDbg9H04x@qls(p?I z<9hUq#ZHxN?AA=ikzZ#HT(Lu0-bhb62Y<5sHv32+8yf#-%v^x|3|}SYFk|xNI^!Gt zSU`ysoJ|n0{a6`nBLPpWC(Z+l^T1)5IA1@UmmeOtAB*+FVwo@Re(@JWTKZW|V$T0J zeB5a9ozdX%e#43ML_u~!1{-8&XJa_r6h13~$Ht^*B*{1YcNvEOjS@n>LyEun2TsAv ATmS$7 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/rotary-slight-right-white.svg b/src/displayapp/icons/navigation/rotary-slight-right-white.svg new file mode 100644 index 00000000..a11f8cbd --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/rotary-slight-right.c b/src/displayapp/icons/navigation/rotary-slight-right.c new file mode 100644 index 00000000..46e19cfe --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT uint8_t rotary_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x0f, 0xf0, 0x0f, 0xff, 0xdf, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0x1f, 0xff, 0x9f, 0xc0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xc0, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xc0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0f, 0x80, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-slight-right.png b/src/displayapp/icons/navigation/rotary-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..ae5dc247637f4fe1595227895b3d9fcb9db26f37 GIT binary patch literal 1663 zcmZ`(c~lbk7XG0iDsH(Xg9hRF+!rwQ8MY{*i8~Z#=8PaNSUD)Dlv+}1F1SSFl8U8< z%}`U?24k_?!PkaQI%s<8b5N(G&VT%0`sFg%&$eT4N|QGM*x5gPJoHt)gkFX8|h0t(Zc^iA@qAq zs%C9P`-qxuSc_RUCL_c1c*1P@jgKQ-%&aJLX!BFodR=GMoS6V=3iGTEK=Gy;_(W}T z$5lnA@j;t+WbvgCy)&nK6QJm|Q!AhF z(P{|9t?%RyDW#nL=599>{JHvpbEoZkEzGIQpKYBL)J26bTON3>^T6SJ3A;SabNbrG z<E6O@G$2V&4f3yI0z)Kp0>mCzjnrnaG|x@yI}0 zjYmJZ=29r24(99p^TUbPQy9>kunhh8!qm;?izeX{!M5Dqw}z&yX_SSLJ}j0x6uLz` zZm>Dvuv%s6Wih;i=qg+7ixdz1NkUXKdthE#e;+2;$disRi&nA~IgW8qG_LMROSz@{ zd;2;Wj?;_X#cHbFNjPsAPw7h>Y^llGa~cuI(q5QI27c!>`d@Wx$oZMo{gxv?^>sy9 z3Q6`|cWdwQYttNBeVp^x{_@POlpd`%KsC|iH#*!7qnm6(QUYk_XHS&0pUm4AS-;-C z-T~!)@&Z z$69P=N*3ZWLRX1`RvNSW=gnc`=P15ehSN^Kq+PdYFjS0*hn?Is?9@!e67NNc& zt+^ftj#){KZw!l4rq#3g3+4^A!k_j|u`DuwD|N2zD}4e369Zawb6r=@jOrKMu~%l8 zU0xcxGS;BS&sB2Co;G5F+1E$CI(3srmrkMSE4&{Y)eR>3f)Hyz2fp5D0k?e;0WE;b z$>}j9ka**nH_sJJ#sbqmZVZ&Kw*IdPcKmJ&et$6tagj5YE$fs)il9{V$8S?)DH9VW z3kYApM8dtS+Xl_&^jofJS&qsQ(d{MqRr#=KFf4mJ5A-g}NOU;2FbfkM#GYki=0thS zPvG`aler*gY*jnl19OG03@(DOuFJO9lqj#ZN3OGyQ14 z8rxAyw1Sjn1yLE^1AbD8b(Y|Tx(#JzaaWI4@TmJQulL-l$1^I!7mI`|W1M3Yb>#2& zZ;r&=&n?=x>&^-ZO@7CXWl7I%1Ux!R!2Rd=c>s!I-10XIYAx|)c{1z?$sEDS#b(MI z&9IaFQE&J99W^W`1ac}@Eu16J_kfAl!044n#t&Njtpvu+kfa}&y0_JZ`fWNk!Gbm) zfg-6-XHxTW`Yl?XAzX@GfRDSoU!Ajkhg5#dSzUVU`Sj%g*`4yd_Am6SC7)s{yDTQa z7F*&FPzZl)vbb3{x%FH0vx0ob1Dl}iYuCVJ%6i3Qm2<(J+^zY@vsdTELc)4O(s!km z5d-@!G)qg~y3i0umqch~cF;xe-!k86t-R*sG+NqYl8||Ac;?`YQfGY9-Of`LqW?(s zjYy4Uq{b1LoH!K$7n}>;5r=og67X&WR~LI6j)23(Ath7)V@P7hCdQxn{{~~< x9Z@R77uy#Ov*S~F3{D*2@pw*&-<;$!8Od=@Y)(S$^1kgX2V~z6(j6lG!r#?>$W{OV literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/rotary-straight-white.svg b/src/displayapp/icons/navigation/rotary-straight-white.svg new file mode 100644 index 00000000..0bd80b54 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/rotary-straight.c b/src/displayapp/icons/navigation/rotary-straight.c new file mode 100644 index 00000000..52e98489 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT +#define LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT uint8_t rotary_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xcf, 0xf3, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t rotary_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_straight_map, +}; diff --git a/src/displayapp/icons/navigation/rotary-straight.png b/src/displayapp/icons/navigation/rotary-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..35728c8a43cb4451e5b184290fd5fd2684d8a998 GIT binary patch literal 1469 zcmZ`(X*`sB6#fs&*s=^|DTXGw+1?rZJ~NGdU(+w!*oQ3H#+D}JDp6@%^KLG-5~7Nt000SlJCX;?_@6)u z!4U*?dc#pDg5XR5fO$!5o4gCo(IIvo&H$vV13=3KfDcQwB><8k0Nw`yU|I&izWAyx zcXPNP5bS760-&MrAP&w%;_Z$n0>n7$ClFU+1XN&AILY4GT6h5=ijve^>64y^C8-dy zOA5@jFx+6klL4~&g7HQ8m^gb9!7K9hO4*5%Uf!~Kz2zQ`+%-@l>M&MNfs}Q&t8a6y zHMBvYWaQTE9eZ;7NJv-y;2|Mw6z0B$Pu=bcdF6}8hyvcIht`?_Qg-zWgR%?RSlJ=Q z7arL~(({CA;yaJPE*IQYlZerPHvt(RTX))mLn-RL0hoRzz&vU8^hHm;qxlM@RQ-&z zIlfTX%OY|`NHD+b&M3wyRD@b2*fk2M7NkzxBbKg%xA6PS=E^vFY`IjY-x<*w;M>@B_P zP6RrV6)1ExoL;c@8VI^~vE|WMd6r7fQloQLX>Im2ds^fa1T`n>R{Bdx2jwnP2-|b? z8%}|z$XRn>%jAjMc&uJ5_YN;zc|pDClSIy69twu?*Gp&a zjn-jEHK-Dfh1JXTyPeaYIq{YT4#nH6>Tx68YRGA$iPflx3%<+q_hZ{FHoo30wZUg{ z=h)J?e6MHEzc;>(Nf8uFEmq8$&FES>Y@_hc_*h@Htne9=2M!wx6t#!XKeo7QeKMKy zpZ!1=G)^0CnH+&c2YSq0QPS+w-IDoZGn~EAO`XmJQe#4NnQk)XCD9VhHBsAq=XM*F z$!CNjh~<^U+`@jI;Iqg|y~hzV2^O0NrCv(_zF(CjO)W6FvxBuU%eiFc?G^mx6=uD4MjH(d92`rm0>zN>2oeZGouP0=zZNl7!6|BDrHdr~}&*!x^$JhAw` z(?+s5M?3>)j0od*`Li;M>SM~IggeFY{;R;cDnzt(>AcXhM`_^Q+db&gaw2vg?liL> z@H+wPOD6E!(xNeh^WE9#V;VzrB27r7_{yLH=ZK!dTge7BiAGcKRhvrF8yB$c)Re(n z7=d_wD$Qjt;@6In$#SP`Ag7Oj>}*%TfoX!tOcKv+DJXMu4H82vIX^9)21Tdx7%Z2H zKMtsf3!XFK@_UM2r>#FLV5; z6Bu>B1!ge{N9jHjbJRKwi)*qBu6E+_ER|8-o($SI zbAq=2{<=zDpPf)kCRt7c5V& zhRoN8pN>s(k==B^I%X_kPTY0an2r9(z}!6ctz>kve>U<7C58JfhMZo5F0a`cL~M+C zUuLIbNKXyk)YK9!b=R}>3w%}2Gy3O#tKE;)_fx8-$qXCVhLl9LGIx3$3`HQ3HC-Kp z5AWMQYzM+G=unciZ&D~ZDa + direction + + diff --git a/src/displayapp/icons/navigation/rotary.c b/src/displayapp/icons/navigation/rotary.c new file mode 100644 index 00000000..c8189698 --- /dev/null +++ b/src/displayapp/icons/navigation/rotary.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROTARY +#define LV_ATTRIBUTE_IMG_ROTARY +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY uint8_t rotary_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x07, 0xc0, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x1f, 0xc0, 0x1f, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x7f, 0xe0, 0x0f, 0xff, 0xff, 0x80, + 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xc0, + 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xfc, + 0x00, 0x1f, 0xff, 0x80, 0x01, 0xff, 0x7f, 0xfe, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0xff, 0x3f, 0xfe, + 0x00, 0x3f, 0xfe, 0x00, 0x00, 0xff, 0x1f, 0xff, + 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0x0f, 0xff, + 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0x07, 0xff, + 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x7f, 0x03, 0xff, + 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x3f, 0x03, 0xff, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x1e, 0x01, 0xff, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xf8, 0xff, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xf0, 0x00, 0x00, 0xf8, 0x00, 0x00, + 0x07, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1f, 0xff, 0xfe, + 0x00, 0x00, 0x01, 0xfc, 0x00, 0x1f, 0xff, 0xfe, + 0x00, 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x3f, 0xe0, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x3f, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80, +}; + +const lv_img_dsc_t rotary = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +rotary_map, +}; diff --git a/src/displayapp/icons/navigation/rotary.png b/src/displayapp/icons/navigation/rotary.png new file mode 100644 index 0000000000000000000000000000000000000000..aab9644e85eb7a5c9db8fae77f82c81022d2261b GIT binary patch literal 1951 zcmZ`)dpy$%AO5+_kXy)_Qzj~8Tie{)%x!W^B65jHrc9Lkm^CCF6ld*tSsGhz{ zQQM!8mz6LO*yJT)*$_JyI{>I>?)X6hNxbek;z<_(xO@-*Qhoz~bxD*m0|0R-0QejT z0Jz%#0Eyx>yW=GT=^$svqX58T=wl>KA&Tf53rM}{_z9`(aA}w%1XG+`9KiobDQc*~ zV~c*Xl|*XiNUre`4f-#XB&tqxNE!wJId`X{cAgjbZR{(T&IChW*nI!?rg^Bk>V0$d z1Gh&;X~DWsR{LVYELkjR-bk`0I zG7`hd$Wc%7?A?TP@NB+$-;$1+MMCF~m?v}&Vp^LQs_Q1Kq;)uc5Gsc*hGwW5U1Fv! ze3OFQQbH~v)asvo<1BI`P|#B*zVh*V0HPb$aaR6Hw=chU=kwuF=Zkc%Wny1GJ}K&c z8}@Qw-_r;rX&tl(i?1zJX*N>5s(m(-4U(CUAJa6Hopf3dRd;w+IPMNo zT5uk9D8}3y^?gddWk%JV=`vC1A&gy=>(HU%!;p>t0*Qw{z7aXt6s}te9o=t-PH4-@eCh<$LEVLO-2qzsP6Tm zzC%3ge6t?YEmo+^+@C_dy-W+i)+ZKk*tgi+hu`U_{ss;U@%P|tXhz@kYw$Dtco1yQ zjEdWH^)53FPxW)3(;PXe(m~7yfo? zc%XAKTnh$=E%58Oqo&|Ut5!2U%@@ILet;%m|Cs!|zrTuT;3DuD2u>zWQl1xvd8cn5 z%Z``3_9%US`!sXz({oXx<|HO8bs|ZW&I%jr_Go?bdbsWy>kmb1;nd+&?w8O=>YeLv z5)R$IS6lW-7t%78*H-?GeyXC9;6IPfaKV0x_W#HS=2H)^9e}Jw4`dV!?y6bz)1ml` zy2BcRwB9cBJg~-V~Tv@X`Oo-z%OIF=4csBSr3EE&q_s*tp3D0fX|2qU)WktF82|n0*cZWPImgn4|-D^55DcN z>QK8T8hQrBt-%at?q(s^iD=ExOYu{(<$^yG?`*6pXh9O?>o^;0gxA50E?YkVKbf@l+j=6$ce(~~4m6`TVoDQo1J-xzI;0*Vo8;y1@n+=qnCmpj zo|)si%am#y`@50TyRvNErD0l!=)%3^>$xBHRnH0dBJ&VLBkY5UVEl_Y31_)eJ-K`@MF-d2+uKKc5AU(K^z5=Y|d6 zSUO5>RU?CM(%LtjWwE*;+O#YC0rR>gtSG@{ZAqTY0g8hUM!k`f- zGy;wCL}PJiGn}cZF$#r4q2#(b@BXI{9(g{LO#A-@Dr-MkQh@%v;1NltP)RYt0F_Eb fhDKbBJx7WPMn=Yj6wKqbB};&lgX_^6LSX8@Z#j8q literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-left-white.svg b/src/displayapp/icons/navigation/roundabout-left-white.svg new file mode 100644 index 00000000..f1762a07 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-left.c b/src/displayapp/icons/navigation/roundabout-left.c new file mode 100644 index 00000000..9b8ebe36 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT uint8_t roundabout_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff, + 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff, + 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff, + 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff, + 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff, + 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, + 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff, + 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff, + 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff, + 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff, + 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff, + 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff, + 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_left_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-left.png b/src/displayapp/icons/navigation/roundabout-left.png new file mode 100644 index 0000000000000000000000000000000000000000..b25f03597522eca0ac575ae69364b13c361fd1de GIT binary patch literal 1498 zcmZ`(dpOez82-6mLgf;%P|G5hw&BR;$<)ZiXiaCjEX!rB8ncaAQjW9JRHGwzYF%7b zb16%5HzQM$T&k5W7>A^AN{8Ie&!6Xy^L)?yz0dc4-}`*uU*E+b{9b)sb6o%c^l`pe z0?3$EXsd%62(1kUvpUr)zzYB>udG?5Xn?hKm@gp!0M5VwAc+S6KS3#J8~|eB05A~> z0H|C5FlAh;+wTE3RFCi5iv<92DijG;It>=kU8A** z>Y}PwptLTGf{z1vbvqk`4hX1s=@w(~7y%CJMLhB0OD-)XE7(kap0japamvyFam>iY+`EEd4~NftMlCkZ`qdl%ToZP=l6z)n~VNkXJZvh?kLVgF12fDaolu z;Cxs4Z1E?2DzWjw`-E*3+OaERt%=-^D_r3U_xWo40bzD*=GzN=tM&5YZ3j2N2v379 zjr*v%5+CrR747HpB@>e3g!KvNfo=~vq5c!xM{poHfuztFetD%ZPgc>V36&SphdlmTIn;DcV69@JL5*-{zusxPyb z%iM=vCO74{$P#x=1;hnP)>S^rNE|TQJXXXaC=BXiIYL%y!Sh66sSNYFww=-&bs7Dn z{1y+2|BAt2cFY7=EcREF#9eVN*B1!yKXdw$>R`Novi_DrSF4J0p>1I45SQpGO|#ob?}a$>i7<5T)9Ez^q6B90DLsaj4ai^r~Kz4@`_cvFFzRo0K@ z5szWwdAy$}2dO=tpHvUcnAtX4|B)qr6(22I3U=~;dZ0Xxt@Vk0*JO?^C1=h5WggzT z!>hYE2GEr7LPl(6ChTC@OpDXEc`d+^BIKSajQWsSf|-UiH6~Qm-j@EjUbwakggsRdV)SLD~Cg^&}D(Mp~J{f#u?dMjv z6&E4`#%$-WK~=v4Xw%=xEzxwye6lC0y{brQY*3k0==h<^$4Jdq8G(1c;WatlU!&C1 z5vFY=h(-HkOSswl(B2Ztttm9|no@!#r~_MNv65|wr@_AtpL z_0t{eyzzfdHm((!z&ox$pd0G%=3Otbwqw(4UK~T5bjP#j2q45@tTOMGuWhW zi*4lXb7^91YHY~z?GssO#F)l`pqGDFE6ismbyBwOy`BD`B}|Qa80l1ybP&0P{;`^G z`>UC|%4)38RC@e9!V|aY?eC0kyU5)6Ws@@>!koLIv~p?VOJ&2uL*Re1VSAI<;S_cR zDvTKc5`csw5sq+#BLYrDxT6rRC>K|II2;9s-)zo_`j3Gg9Zrkn{=cDTctshApqx%$5!kPP5u|l0h>es literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-right-white.svg b/src/displayapp/icons/navigation/roundabout-right-white.svg new file mode 100644 index 00000000..ab89ff96 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-right.c b/src/displayapp/icons/navigation/roundabout-right.c new file mode 100644 index 00000000..17eea49d --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT uint8_t roundabout_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00, + 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00, + 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80, + 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0, + 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8, + 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc, + 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc, + 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8, + 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0, + 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80, + 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00, + 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_right_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-right.png b/src/displayapp/icons/navigation/roundabout-right.png new file mode 100644 index 0000000000000000000000000000000000000000..def83ade6fbd9a762b81b62ec8a409a41d8adcef GIT binary patch literal 1636 zcmZ`(c{tmN7X2laQB*`R(X{ra?Tj!qw_ucQ@^PO|=`R;$W(3^NxQyrlW0DvaJ z&DlrEj(gazqU=D3z)#s#BF=c80RTQn<1-ne)W#GyA5Q>CIR*f%TmVogE!HXkTtx%G zS_lB(s{jC=Q2XS(y>b8!J$Kd_0C>e_Sfx@+a0^TXKog=pfJ)=QMoLqaLGW}@T?VP^ zXj#^EF2^b@7==tsQu5w)h7y`en01@yP5=PpYl8C`Qsm3^s`LVqpZ-v$mEEWN9WnV8 z!j?I%%)d;)bw!rD79xW~ywAg^FI3B^M*fZ2<;Xm}9dc0X`RexSkn<{ekgz;HA<9U? z&I^y5>wMH9?Eg|_*VBWyW7;0iu3Gtmk=G`RKiO}licf9g;M*f+9Q!X6=O^D6|E-I? zURXp%yEv*QuujFkKIK5UJewte!EVB7$21QtnmbVJQX_v*mx|;(xE&~Bi;OK7W1G^3p<+z@K3RPiOU#&TKD>azGsog7j>ubPAIwI{8Qy-{wtrGQNp{HJz#BDcSOl`WVo46WAM&CQX1p~xsg7b4+EW?yvWOVRUJh)ANzQW-(dcWagl?JQ5JJgPt0sbnq+HSymDkAwb*4I z*F?hHDi$3Lx~BRd?eXJn?MkqbkB33E%Vq>56YTxmbYo?tw>y`WlCfkL>anOf+jBeW0vCnA9CKpA-yUsxsbXF5J_2{|eg5jtveZ9|M z690C|yBW}KKJvm@P*{;houH-cYK&HhVRJ9X0CPPGqL5A;-q`=!W|=q0k@j87zJcCb zum8|?!GoMAZtP6#F+HU2U}W2o$R^&@@8!C{I3eb4nW;N;O-9vZ_E@-D<**v=9!I<} z4W5AQYb>3cuAzNN@)m>LeN(uB15RAyA!szK3zwbs4*N;ocvG4!wAg~6%yK^Nh{z=%C^JeMG_gIun0I(@OZoqUd=hc}S08b9dJ|>t857kT8Y;2f zrp}H7kZ5*?eP5fV8kBjz?MC{ARVU6!FVZ}zHS?%19%Fsk?@G^L@}Z<4Q`_EuQU=vm zp8TPxkFK$?B)TrV^)R~wR@e>8wq$V}SN)ISm%D>dAFu&-;ujT+=90ia<7~N(Y)(+p z?%Z}~4#DJmY{{n?FzJOzWp;XK%GyNlz_Rra##%sJkHE+!wYPH!K2cef!m$n%oG(#( zxqL-F8!epYj|Oh7YCT36aPRr153ST8JgTFa*U+cdd4QbvlwA>5TES?|PzY%n>PEcZB(P?$CJLzB2%p82l>TBVM#$N35)NQ0vd-Dm literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg b/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg new file mode 100644 index 00000000..592e7183 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left.c b/src/displayapp/icons/navigation/roundabout-sharp-left.c new file mode 100644 index 00000000..4bf45060 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT uint8_t roundabout_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff, + 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x01, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, + 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, + 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x7e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x7e, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x7f, 0x03, 0xff, 0xf8, 0xff, 0xff, 0xf8, 0x00, + 0x7f, 0x07, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x00, + 0xff, 0x8f, 0xff, 0xe0, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x9f, 0xff, 0xc0, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xbf, 0xff, 0x80, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf8, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xe0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xc0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0x80, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left.png b/src/displayapp/icons/navigation/roundabout-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6c2d217c76ee2e8d361b6f87bf2c76f3395f1d GIT binary patch literal 1852 zcmZ`)X*8P&7k+J(+DXbVCDbw)TVf9*mJq331XWtG$I>b(#UPf{M-j%p6t#y^P8GEb zMvW?J3$?Tz6jim>Rv}D!&iCj0@%?!2bDn$ebMK#f&P}$pM)PusaRC6pi!n#pGuiM5 zKM-?0FiP4KuQDvIx|ID2Y~x(0I=Z>0Em15 z5D6~su+wK2SUoJzC;+HSlZG?Z^n|9>ICWHEKzxiA25Y-3PH4t^iI3jzWmILKh^^AF18))qrQ`Rs238E8XW zy9^Nfg5OG&oR%01SlS2-%J|+V`RWzFKP0t0=HN=2pcP0+z*2z6PEyDywMxW(Q?w?+r8 z9PVNAR7P0IMu)oeykIy)7@mCfuSS+O!l!FJO_Wb92W(~F`EzeV!BH)ST7~1pRTs|| zpUbG3l-Aw&Sn1ZO(N^>zw%51T^0R(?xJA{Be?}2$Cwn&Qx$~ItL)rI%l@Bd6#*Gq} zAXpTO)Vu%uyt!iK!e*q`1+5I~So+prg(N&*qZ%e$$*tn?CbVx)JeqH)Z_IR?r@rqc z2pCHRh4h7Qa5jwFW*+2KB^{DoTp=H?TP8vuv`nsIUuY>J`SQK=-`E$t?O1-HWeeka zf}!{0H&SyCaC1kDIrR4J_trmT#!fHtrtt(;M$j=%k5gWjJ?%qZj zuS>bX91Sv#r_JTjoTD`97>2eZ{4lNgTc=r4mo%KzM3m@y# zWJ7V^)N^_Ad6p#UYHpF{)8hRY5HYwmDsNCpf`9$OL-;2K$SJx>q_8}8v}m(3h4p}~ zpV;f{H?H3!ZfCAHa-bK9#{VNe@oS10_w9g;i<016#nd>ThP^qk%Cxt7ryb?{wtV7v zKu1t2Z5;!3+w;iL>sY2hE}ND0PKaQpUBDKJ_M=8p4YY{CE^Hx$=o#PoCB5IFqP4!A z^4Kn}wXP3VbIT&(ubVDah$JevOU*N)gKB`KYE*xwOI1aB3r0B- zS~49YJ{_j~&WjgYZT!aJPq{jWyX%Pv8Idy|-=p7-a4Big>Eb@39J8Z{D1{+U0}3p` z_0EK4w&gc@FNlc{&-5Om^xm+qNgnN#D`-Yy3yT?nN@dsNC{O~^sT#eFItss6IfBw? z!i;L07H5+{t|_;QV*C0wO|381^EcoUOR5BNfjV|)qy5M~YmIr}p_@_50X|g*Gp^)6 z@XnI2-TAb27u3};p|=Mjk2(S^E3-`@;8iW|tGrG>^PUai`Rv|q-FjrbuEJ>WRJ5dD zJ>G~mK7-?)%Ffq0M!6=n)}z3h?PC?XPh|bE4&K{%tuucoTkv9(%)LUX1u>)^21k@) zNtMe24JR+|j_{p_p}7h1JA9Si7rpl#iUfP|;sJn+B9Zs3$9j7{zhOM|+NDjV z@Bp3)_xqlCpyQAKIZZgeCM9W{X%#N|vT?CywHqz?W*XKRT-Y-1@Mq_NW908UV?@Z4 z8n%3a4BsQhi4w>6*m$V#Zwq_z3=97Clf=&-vyP3V1umJvX|6WD+Aq_;Dr)hR9c#te zt*uC(qlo>_pk$16g@A{Z5uVNK(n7fr;^c0Q(aD6(9kQ{j zzwY0+_^?@pq%zX9m$VY%B%NDAXPufjX45^S{CNBWb!t4+X;GHr6WE|lE|0GqMHdsT zwCzs~Exs67<=fJj8o_PUE(_hK*{|wUZ)jgumk@9xPFPFx(y*qynzSiHwk?$SU<#Wg zUUAk`R)o63W#wA&qBGVC*>!6L8A88)hYhzM%=`edL{n#?7oO;i@C@;05&&0&!<5xv z$}lwtm@WdQiO|sgRZR_{rlu|V5dA-fpu1iKpNRi&FpD-gWg0|(Y{1_2A%^2ayn*oW ha23LxfKX3-u(!(H5Z|J0eKBSefHAd3H5$9e{|g20IQRen literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg b/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg new file mode 100644 index 00000000..0811994d --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right.c b/src/displayapp/icons/navigation/roundabout-sharp-right.c new file mode 100644 index 00000000..bf3f68aa --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT uint8_t roundabout_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xfe, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xfc, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, + 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xff, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, + 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7e, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7e, + 0x00, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xc0, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0xfe, + 0x00, 0x00, 0xff, 0xc0, 0x0f, 0xff, 0xf1, 0xfe, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xf9, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xfd, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, +}; + +const lv_img_dsc_t roundabout_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right.png b/src/displayapp/icons/navigation/roundabout-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..bb2a8454eb97d2364203e4bc5a1f4830c78a136a GIT binary patch literal 2120 zcmZ`)X*3l68vZeuu{4&kL|MjC$~F|$jKpM&b&NrhC59OqD$AfGv9xdr9Iwl|7~(RZ_$Dsud|GhYm_H(|p`)rv zNg&-8QF8j#T}v_hJL-DMI?g!+yCjlg5Jve;g7#>sLvH=~{T~dJ#o^cSqoJ~8(iRx; ztFPoePFMHeD6y)(t9b#jw!M72`SX~ANym6&M|jK3_{llbmi4&2YdztYBuJT6zrRr6 zc5Gjj;u!(Ag@W`WweMfe1|>@v)r2xZ==rkhJT;aSPzvxRvnMBFx?1!u-uKN z&%FCs?{<=D172|H?kwZ^YV{JCoq-~5!@4XD=~8%-_VJ_z|j@`%T%SBf$e!n-_+N>&WWzuOd7rGA5m;=57S>WQ0pecKjm^M%O84{faQw^SPU?x z_er`OF>gdni11)ew6`KXQyRfgAN@ISw(TnS$nelaA%ipt*-lK2RN}%OH;xADqo%q! z0xJR{I35^djyS1hoAGe*DY*odc(Yq85RKiG7z{uO?QKx(W>+gwWDV4Ab<{&pa*!h$t{p9>};!tb6=(Yr{_Fxu#D4a=#jfNHkc8-I0?XEpc-_z<620 zzEtmuh_1trjryOtjrW@#7KVKjUV6kor7GJ-oMnXySbopx*D3Yll#!gqrZ+r8$_W>8 zrPdZ%=rT$vT+1&*1Q%c&F*_ZSmHhwGwZ0JEm5f7L~J4vuN>Y{_{7_4Rk|p_-9I@U^BN5V;wm3%{oIa<^*_v5IaO3Pe z9vW~|T%u%JJMBM6Q-UhtZ17M1%!OM?&_SU?>u*bcdoTD0kU zh)mfMqWXBIzs=RG+p-hevI_K97#qB>BH4N8hN6d{864L96_5O*DHm;)3oV0aV1Q zELme4*gcHKxN_SoRBa){eN=;~9ofvy4pn_YX16E2?PJXYJYqc2vg;``%avzdbFB5X zq_bvD(u&04)N1Ix6_ekG_Ti}3HyB6tiXLIkUZz+)yBW%YN=-zWIzNmS{n>^ctj<%~ zMVRPorK*^Vr$~RoG|oFfj$8t<|1!mXTu~jW5u5Zi8$zgCCc@-oW%A=c%O*p&e%XVzcWOzxyG){OA`IEeG)f}J zTv-u3l@}S$R0~}vnM=1b5>Y8zwg0GIQIVOpaZY>6PeUy_?kwHkmrg{=oB#j- literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-slight-left-white.svg b/src/displayapp/icons/navigation/roundabout-slight-left-white.svg new file mode 100644 index 00000000..d597020e --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-slight-left.c b/src/displayapp/icons/navigation/roundabout-slight-left.c new file mode 100644 index 00000000..4ddec650 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT uint8_t roundabout_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xfd, 0xff, 0xf8, 0x07, 0xf8, 0x00, 0x00, + 0x01, 0xfc, 0xff, 0xfc, 0x7f, 0xff, 0x80, 0x00, + 0x01, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x01, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x01, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xfc, 0x0f, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0xff, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x7f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x7f, 0xc0, + 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0, + 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0xff, 0xf8, 0x07, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-slight-left.png b/src/displayapp/icons/navigation/roundabout-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8b7b17db326d56d64e56fd4eb9397dc64bda48 GIT binary patch literal 1662 zcmZ`(X;c&D68*xK5Dg@xvab;YG++X_QIrr82?8Mo(y+-EmS6~k5W(irHjo8Hp=A*p zQj5qY$QDEvn+kP7py)wFPy|#2idZNCA3byK+%tF1ota;Ao<{XSz)j%* z0E91vL{~Fm8!#<(2GLy%b=FGs3h)9z`R$I)7;SZJ&7#l)01)m0KqLWRLoJEs0XTyL zU?Ca+_wNBP;{9;@q=&kp5$oqe0-!#Bw~M;cQ!cLp8^9@b~n`k?+GfQDYgXJ>yiJ%Ux8>{I=-_ zJ|&$zdeQC$GS+)-{jy%z^6QFhVagE6H8M+(Z7w}GRCPsV{`Q8mO2AX-q|m9-Vo-?c zl*O_G?Jk)wL3^r+ zyxY`Xc;V)B!S#+|)BgJ=1yA%|-<@5yy;#s=%pj4khVJj5RsEraM2uImyBg2jLw$X2 zNh9sv#y2H@z`%Epd{oG+qZ25CS^ijlS#8>QwW#h;(jt#+V;(KtEUMyH>&CyofRr4# zS76;n;TA2O{#l;!Vw{^VJ$}@45Jr5;*#E8--XJeWyWq@j2}4j4zJNNc*R`twTE2J_ znewjdIV{h?Tbsg^-oB+`N>3j0ijrA-n4QK9CYK%G=Uu6zUu3>IqjyQbYwcKo*R$sk z6Ae1in3ph`;X%iA`L7-cF4+R%GQT*iehuCHXhn=17&`i9ruXvs@lV^Q#~fw4MPcm#a^>NwWEjJQ*pyV$Pqp9qywXGu8$)Eb7t9;^(mOI7 zI?7`%7|u(iErBMw7+6K{S52#B4XGoQTvN1Xi%td29zm#$6llCoTMVk9)eV$9>n4g@ zXk$C?I!-Da2zeRoOSC(BNn1Tz#*#-12T!#-tE6UT7!k2|#kD0b?6KZNum4ZYhYk_K?r*u$JxzG!VG z(=p)d3ESPb`&tmV(M{Q@PtUcNr!i=@?W=?z-SQmgqP#I+ajjFolTdL*Y>CT;0vJsJ z6P0rYA@%*N)<$CwcGKCdioGasH~{Y$QTwA0cdgw2d}z*oda-d&^Tldd+By4vlfyc5 ze;Jf2ps${~#Q`J24toa(HBHJS`hQG3rs(L?=|N9;$*@F+sN7owhd^jsYj;q$P#+gQ z!g{P3E_RH%2IJiFV@dNEO}joIM-+3a8&uX-CX_1et!)(g_!9N&{F^z+XWh|!tkV$n zecVJ-qIv&~fSgulbH9^Yz{@t~ui|$RA^lHvo`pb%sXsSXu|+mBy2l^5P1Tkyu2J6L zzbN{}YGm0cvdAP5vLmz?%bD!HmzzbX_3juf%`IPWEf!SQg;cv=-*cd^^57)GFT!KI z>NB6_13T}sxwNjSk>H?j222;f8g7I;<$DIn%u#-m*iqVjyS;UDF@H)X53gO1J(Mf% zXjTT;4cXaP?rJGnk1Kp=5JAwlY~q(%9U+I`m2Kp + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-slight-right.c b/src/displayapp/icons/navigation/roundabout-slight-right.c new file mode 100644 index 00000000..e4ee2188 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT uint8_t roundabout_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x0f, 0xf0, 0x0f, 0xff, 0xdf, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0x1f, 0xff, 0x9f, 0xc0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xc0, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xc0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0f, 0x80, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00, + 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-slight-right.png b/src/displayapp/icons/navigation/roundabout-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..20c7f33c7874becb6b6c11a135a86d90f00197a6 GIT binary patch literal 1663 zcmZ`(cT^L07yX4K1PDupqyZC&eC&}RP)r;U0un|b(Ey@fA%v;Y0AVPgL;)FL7|Rd| z3K(po)nH|)v>^@@N*MwUQc$$)5|Cjl4b_IzzrH`d^Ui(uy!*~Q@BMX)f@%A8w9r}r z03E6?g`r}PO=!SW9Yo$^syZyrGtd)&+vUg&7F;!NXZtb&0m!rjfR_irUn+?=3qTqk zfcZ!Oh!+7cNfO?t?^Z3;qWt$$0JvVd!&x*b!T8sTnnTAAGEq-+GVTxlls+Wa zy=f#mXap0HW%_E~Ba!A|)%C5({w0<$9W^IZ1kWn40@VfgJXTWCO4&gm<9yE+!M@XA zXw+7=4XNn_H=E{QGc!qtz_JT>pHS$O!+7iIH|@DoiWkCBWqFH zFDp8X_F2E9iq6w?PoC(GgJD*ZzVSh8h6&$e3=aSh%P1;1@&nbX?(z0L^9Ykj=Spql z=x@S|N5)*r8BkBJS?Sg@nv}0I^@WU<4d0i z5o$=}jc?@-=w&Irl1Hv+#B=E0(n_c$vMB@zg;L(hMpbhe2 z{q;WkfX`|5-dB&*<-Dw#UW=i-J)L0| z0*YPd?b$WI&KAQ=2cvSfnr27=;*3(N3s9C$3VwEBCj&s zyrS{Lb&bwOb(UCj59vcn3s{#o-X^cM(rpANL-MGcll?xIA%uL~-=+8Lp^d=_A^K~| zipyc(ke%50#-KQP5}L!CGi#_7+}$-1kIVX{%&E4g>9~+GYhG|iUYTOI zd8q5i;``lytd@&+wvyvazY6u}&`BCzIF5;2%J`uXsz1)-)2w{#dAh@e+_rHftPmlm zrbkgg!nJ3f87^Qv8kqEOqhLI>)nCUrvDXZSBfK<%KZ<1xnV`Ij1 zNN>PKAv~;F`^{$bny+YD49gNQZKVa(1@K8QD0@2#bT7y#kqB;4HZ~%FGtI%y2=m#W zz|DmwGk)&KvQ~&Y_F|+muox15RX*x~dR(8<${fx=cO!giOBYlk?(2t&p5QF9e3(BQ z+0sij1C-^3M>0M8e57KlZ2k+VHGOG*TbE|wu-i|sciyNcu&P4liv>#~DTnA#)Nl8$ z4@KR}D_* zk=Ua>u5ls#1~cCPAvK>vjJmm9p0Rm{Qhv-`UU*D;`m&GeMt@%WH|EuXR|$ht9_43a zUTW`Ggm`Q`zg{=K@k_+B!UBiA>!AEA7yl&sYUOyfQ{k<=joI*1muE!+;%Y}43V7@qaxspcP2RC2@VAOLBcK~!IkKWx5ML!c>G?6yP^MMNaRE(#Gd^BhM*+y xyUOsz=7j^C*whSGN({)z$Z$;f`WTnZN{Vshq{P)O?%vFDK=r0kZjmF;{sX^N$khM< literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-straight-white.svg b/src/displayapp/icons/navigation/roundabout-straight-white.svg new file mode 100644 index 00000000..ebca38bd --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout-straight.c b/src/displayapp/icons/navigation/roundabout-straight.c new file mode 100644 index 00000000..b090e0dc --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT uint8_t roundabout_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xcf, 0xf3, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t roundabout_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_straight_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout-straight.png b/src/displayapp/icons/navigation/roundabout-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..e5301327483bda3b5eb3ae6b610532eb5a67287a GIT binary patch literal 1469 zcmZ`(X*`sB6#frttXYP#6ho8TZ1322Gt=0OopiH}eaMn+Y-vI+iAp28OV_l>rOA~o znMx>wy4)g^B{7NAgc{0yeY_v;hvz)M^PKaXb3UCs7bhDrVR>NyfS8>v(G6zY4g>|@ z2m;zY;V2M>C*c8LUKH6P?}Br5kgXdDfK*igXxRYpV2QQ}Kq3UdhX4RfN&(mxTiM}i z1{e4O9c+jI)E6Aofit04+vD*7G0NHj;&K$95-cJU>_}F~d4w=ZT=(bAycSrJ2qHTr z!CV8w1qM7B2v(gpx&R*&V@Je$guhuXJ#o^*Q#z-+%*}zb3W|m8NAk-BrAfAREzUIt z)+m&e%$l7;S9T9k(3#hNNB|pwd7$Q1ySrRg@xn0zpC{^(mAapVZ5>0u^n4~(dVukj zOLh`>KVcI8-p#+mN#}}j*s$MQzqC)y+bw~?6xD7&Os@i9o-}>-vMblYY?)G`dWK|% zD?oafhc658=a$|XByX}fs9ba)yX3wUpU>xzIaIa;`=`!udBlQ`fwH=Ctp9@RcBEzJ zooT_dn{k#&8k;=|A{Wqs%qAl}Ro0~nO)WGI`gvn{BlTrW{KG(rw(dUnnPlypLhT$Z zhsneVs(A5=>$8$Ndfx{eu520C&rmoy(DbK@Tx0p3sPXZ_L-uWak)Ef=F(G&8v71m+M5pKSJ(Kz9Te{aA z@pM6!zrfK@dj9Gg!0+0@mPKFTS}2ethG#8PTI^_cwD1WCYKqsc@Rg7Z$X=r0w`S?r zEediZYZDjm=T1;+3Xdq(iMI8SGiJf2@l%)4Xx(Ve9d4@PylUZRv8=z`+$@>kA`yk19qFl(MxHT#Xum#BQF-*@(_L4M&&CtJ zGau>vMk#}L$A=){zAjT|lqCCfr+Dtj)b!rS#&!~(*bo<4s-1{=MX&&~jno$J+1-Yv zvT4BxLRkeNyP%iL|2(`x_et1PocYESUGA5gKB6o4PP|@4tic3))1=aLNBL~p)unLe zh9FjtN^{za_^qvYyv#8Z$mk&;TbmVdU=nXUmB4jb3`pNtg+vgGq-RBwpzu@beX@$Z)~`(zFkC z45R9^bT#-?hNGQVRHQQIxEnnqJj**U-!w|@DBWvpmRhT3epQ;m(TqQyp)}0hlScb) zhS&7nUt7WLu@$(RPF5SZ*sRlz;L?@OxsJ`$2aB=gOE$}=)?b?*!E*X5FiPiQ^Oq)9 zg68T%Pe&&>NpHAb88H$wBkVeC#72K&U~U}yUOYVBI}`qtlEnEQMNX|omsM}~Bi2Ve zFR_y`#Ao_%t7`}r+G`nl`QFNTjNaMbYxZOHd=#o^QiJ+7LB$cx%IdTmJA1I+S4Loe)e;2r&tY3xNsfKss1W2&;*OJg~+lSbY?a8;2sm2Kqbe804kNLMTw4#4%8A%W H2*~^wndWo| literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/roundabout-white.svg b/src/displayapp/icons/navigation/roundabout-white.svg new file mode 100644 index 00000000..9c31a9fb --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/roundabout.c b/src/displayapp/icons/navigation/roundabout.c new file mode 100644 index 00000000..e29e0549 --- /dev/null +++ b/src/displayapp/icons/navigation/roundabout.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT +#define LV_ATTRIBUTE_IMG_ROUNDABOUT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT uint8_t roundabout_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x07, 0xc0, 0x1f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x1f, 0xc0, 0x1f, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x7f, 0xe0, 0x0f, 0xff, 0xff, 0x80, + 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xc0, + 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, + 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xfc, + 0x00, 0x1f, 0xff, 0x80, 0x01, 0xff, 0x7f, 0xfe, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0xff, 0x3f, 0xfe, + 0x00, 0x3f, 0xfe, 0x00, 0x00, 0xff, 0x1f, 0xff, + 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0x0f, 0xff, + 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0x07, 0xff, + 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x7f, 0x03, 0xff, + 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x3f, 0x03, 0xff, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x1e, 0x01, 0xff, + 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xf8, 0xff, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xf0, 0x00, 0x00, 0xf8, 0x00, 0x00, + 0x07, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1f, 0xff, 0xfe, + 0x00, 0x00, 0x01, 0xfc, 0x00, 0x1f, 0xff, 0xfe, + 0x00, 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x3f, 0xe0, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x3f, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80, +}; + +const lv_img_dsc_t roundabout = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +roundabout_map, +}; diff --git a/src/displayapp/icons/navigation/roundabout.png b/src/displayapp/icons/navigation/roundabout.png new file mode 100644 index 0000000000000000000000000000000000000000..a469c0892461077f44cf95f1f3d2edbf12d97987 GIT binary patch literal 1951 zcmZ`)YdF&lAO1VcoC%qE%0wlxwM`D2ISr3VL=F*Q%0xMjSwrYW@ys4CtHzc}d9=u> zgJUR($C*@0WAqp$$E_T~yRPf~@_u+f-1mLm_wRRKzmLCb?ru&>^4jtM04O;V98QYW z_7`NO#S8>Dc#By&%+A#g0BRTtKZzi**F8%(=?Vas4gx^hzW`uE9Hq?yKmrl~z61jR z_9g&8V%UuyIPpL-#Kp-00JwC0wAjhT5d7i+i8pP(Adw#_2@{84va_or_#X**brqBC z@@r4Tk?L8ZTcTJ){tHF1s!<(Nh5k>pZW8b@}3%Q0Qx$AK%|K4pmlsY^;3j z{>(5l^f(F)j$qppRAFo!!U#rE+Era!b5(|xk@3N2@>I7ZIK5~WxN2a2- zJL>_dzB2yI>&ApZm_Kdv>on}gyl|XHTln@ZlG<-0XckaQ7JqDsng>>&%awWbBDnX8 zK*k|*eMd)*t2?cu1!{Nj>yM>QdA!7Fj@U}kkJc7qXFTmep#Zty5AF#C3BYH`Lpwag zP-IL(jCzsg?j>b`=ZegFmvvOlliGjAy`Zt-Guqs6U3bAlYMaw1fl~NVc(#h+MMmc0 zcL~UKMZ_{(wdU1#_7W!w2|Z=vC!4qjAh>g!=43B-`SE&obqNqO>AWbcZ1Z~Pvg*FZ)vxia8D;Et zwd;s$B~dyC^KjCSRwj1!*-a!GucW-O%(<%@!kXyP8k>$nL0xqD486uyGE;?Sc5;{> zX5hMSb{qcuHGk8d5al3__mJ@QuZi zMm;GAJYT7bWt<-RTn9R^2njr~eH5u4{<>wjqKAlRM} zldvcK9wQS+@%Nb5A${&XT(w$tr{sM^B2L%V${bVzpNPbN3tkS0djIZA zO{oV|>d#|K>x1dddwp$4E(=%Bo8ACLSCW~k-JchVcUDMC4L6w$vitp@&GaE`EmU&Es*x30cR zI(+kfRoOFLNYmJjmh$hkQx6{E0~S!(u9(lU0aH9+A>+vU0mypnKz8xq?ng`hI%MBb z4_Ix8wyamv+k{8)9P@pFVg9o}vT&0&F9(TjTRPV|(6kC8t0t2XPZ`V0N59Yu>;o-5 zS&_rh*~QUpGWDb4KTqx4Rv$Jm87`Wl3Lco6ZJySVY+{?(FYQt*xhj2}RXfoM%~YZB zjW7(qyoSUqzP-HnwuSx;&u^;>P)px#J7RuoPZ~_bp9(nfJif5oo8EYTP^6(^)BdUB zm|h(g_-$Mx8V_>6GywXOB!N-tg_@OI|n$#%cQK_9Zy!S`)e zZK_vzYDoc~wyt<5z#O-QnAHG6X%{}wX`vnL+obVWuT)7ppXyO{5bi4o_GBFQyP9Wl55L2I+S+N=T`R|OAxDeF zl@>wPT5wJC>C0~tj=|Z5KCEY9#$U?EgL0}45%lhg2ySc2r(8L0kx_Mq=J|>l&i=`R zBN#ax=KdhUB5l2Rqs%5IQnhyGl4gBBM~5-Dt&lpSmb@z$H%WupC`NDuL628tzLAG| zWZj+NBID^x)-S*>CawLqU&!#BuRvUaO=AjKd_88%2A3=!M;8It|ii z<~bfxrRvB2u4nhGu2^@dAFYOWVEcJ`9!LDt3Ie}MJq1zm`=CM???OS+nGSti(PlZN zRztN)7*(?DoAmzQ@U5ro^^~#`kc@ys@WqYp*`G(yeRO2iy?kcH-AtqMQ03iSs$0$W zmXUkP=p*@juE5bpqM9)<1gqN%x!z$x-LBC$y1&C_+$|5J#JJ{L}+{{O-pSRqJUfd0DR8BHQnh;g9+g+f7u fM_q_NON + direction + + diff --git a/src/displayapp/icons/navigation/turn-left.c b/src/displayapp/icons/navigation/turn-left.c new file mode 100644 index 00000000..91d73c98 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_LEFT +#define LV_ATTRIBUTE_IMG_TURN_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_LEFT uint8_t turn_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0, + 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0, + 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0, + 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, +}; + +const lv_img_dsc_t turn_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_left_map, +}; diff --git a/src/displayapp/icons/navigation/turn-left.png b/src/displayapp/icons/navigation/turn-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2e39f5f70cd4912ead2a04863e55693c26b38eb9 GIT binary patch literal 1213 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&m63)no0fhvT6aC77bTkkL05K;JbDVj@ z;?2OoobT!47?N@C?R4)9kw}rY|9u;C-JKN-y1MuS#HD67YUqi?u3Wr8FJ^~;yr8IL z+Ty$#g}gZz8wFhgWh7#MNFZ>H?4QJXn%_}=?=WX1@d0^B3Y0NbT!nhYFF&?Pf_t>WP)J9Xk-%?>8W;od<2JtXV ztCihd*&JQ{c=P--k#^N@tY-u!GNeBdzu>g7FG#q(wrl>2FB{({`MLhizuEs(Lh?_^ zw3MT7=3YAgOzU6O`AJ=0?;EX8HO*yt$)v2!l5o>}!~E|ouiZmlbuNn9zE@>s;O{Ly zokD?^uP%_guFtt}jos?)3jQZWKK*0gz1QdW6$zoK7nPUV{tR@BeRUz&HfZ&(E}ot) z`=+;hmers7*tT0HMe*yzHWtIq$zQ%)-sdmB<4}}Tk6^^1xs1l!uO1Ga7L?6$aD9zT z0YgK%Ov)NYrj<>T&pEu7+Uz7Kki>UgyX8Ym>pzZrsTO|KTl@|?E%(`8WviXjG0AIM zMCsdGYrOTmE2G2?735yh>($Gw5B&XgCC36k;VUa{&RSS?e?{2Zt8c z;Ssl(^EG^*=jY$aRcrHi`_1!3{iZ|1H#5jx?8jB<}a(4WUE4^Hf0U=?_5`EbtcU6Cmf&9ZV0*{KW`9QQX& zogTL6@ + direction + + diff --git a/src/displayapp/icons/navigation/turn-right.c b/src/displayapp/icons/navigation/turn-right.c new file mode 100644 index 00000000..ea092c9e --- /dev/null +++ b/src/displayapp/icons/navigation/turn-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_RIGHT +#define LV_ATTRIBUTE_IMG_TURN_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_RIGHT uint8_t turn_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00, + 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00, + 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00, + 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00, + 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, + 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t turn_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_right_map, +}; diff --git a/src/displayapp/icons/navigation/turn-right.png b/src/displayapp/icons/navigation/turn-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2f58bc4f38afe12393a1107ff725c548ca9aac52 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&m#ZT)r0EGmS6aC77bTkkL0I?7dbKJhO z=mrA=bF!z4V@Srmw=<(VdJ<)h&5zu?xjDAT<3?2Uv<+Qmr!>RYlxmn4DdtLV+BwmA z;?9D`0KJYDnNtgUy|-z!FA`0fxM|^rx0=&>Bd$qh*XyNC`^jf~f4lMK`@3eO=PfJ$ zWq&^Z-uJiF|KImaX%ev0TA}Eo=d>hgn#uuPjRK;7 zx|B>dPHR}s;Ue}>(Dv6kN4LuU4Kwrpy_C9a8^hJ2@kDiF)lsfZdt7hy2F|~EQlMWz zAW6$ttwm4I=%96rPG8d1WG~yByc~w@X3{O+b5a(Vb1<&jaM|B)!u{tQ9D#1u-*%l{ zV;9HOa^k7h#}I$Zo0$#@AG4W1e(n9sv)%c_Zf>)ThCipKoi~vQC}iqBcx%~7u9bdH z`)2Uh6b1O4@(^7aAso6ukZYFK#RT8L3kTQuDTcc1$Tsr^&pYnK7kE1TaIn4P){VB8 z_U!1FceA|y_}zzluf?Bhl(2NPrEl(uZn-RWZ!x=0p|Jfl=Nivy3kUY!b04P{?Djvj zu+fxd?jvvC^qOBGhwt3*ePMpwdy?489bCc&ZKBumFW+F`ExdC*aqd+;)8l+Ud-NtP zxoNdrDY{v|YF+!P;KjFe8JI;1;`6TLp2{M8QQ3v_{i7rG zN-pyrM|KGOyb^UPe)El&Chi@~g^ylG^qoH%*dq|Fd;XW&^L>1ZY9EfN?U}9ZQ+l&U z;n;^ODIa>do+q{3NEH4*wf38>gU#%#_4$>yR$@C}TOR9wI`izMwTJF^>vhQJMe3+o zPFHqOja_zY_L(=S+{aR0`Ks-X@%vwp#ZxLPlUB0c+TqkolN)=IXPth(|5CusGgU>C zG8}ZvXP&FqNU9%C)vQ`z^1@Ff$;>x63zv?_cQ*gW&0(o zAbZy}D*b@+g8vzuQM`}kuRb*7oSjtnI5Tx_c>Vr=jKPhsgfm!oB>}UYYKdz^NlIc# zs#S7PDv)9@GB7gKH89jQGzc-Yv@$fcGBwsVFt9Q(;6J+P6pDu2{FKbJO57UiW=MfD xxg^Mj;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1STJYD@<);T3K0RT*1?}-2a literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/turn-sharp-left-white.svg b/src/displayapp/icons/navigation/turn-sharp-left-white.svg new file mode 100644 index 00000000..838e9d02 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-sharp-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/turn-sharp-left.c b/src/displayapp/icons/navigation/turn-sharp-left.c new file mode 100644 index 00000000..da219e5c --- /dev/null +++ b/src/displayapp/icons/navigation/turn-sharp-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT +#define LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT uint8_t turn_sharp_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff, + 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff, + 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff, + 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff, + 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff, + 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff, + 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, + 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff, + 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, + 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, +}; + +const lv_img_dsc_t turn_sharp_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_sharp_left_map, +}; diff --git a/src/displayapp/icons/navigation/turn-sharp-left.png b/src/displayapp/icons/navigation/turn-sharp-left.png new file mode 100644 index 0000000000000000000000000000000000000000..23243f5fe2c3d663398d25617d869d0930ee5dc1 GIT binary patch literal 1412 zcmZ`(dpOez82*iFZp&OkE_Dbs4z^qy*(_swYH~(1g~k|iosH2kc9u)YC3KK`a;vbY zRU<+axkN>D(S_v_(vd`@pa1&jJm2$v@AJLi_dehE*LTj@$q^=_E&~7nj7YF2gN)sT z)D|!UG|@3IZ}GPy*#SU(hU}X6RLpbjYSJ*K)bNJai@zv6$Ve&<1vwb?sAoS zT3J^fDgJs3%P#c2sStWNbPAHzRGHg9J)cCIf&_d-L=C)et3StT>ud3}_VjB}c5L5n z3VHq6`Bhc6o9GVTh5u}=)xE*&W{#d7T{Y*4Zu!>yu)gjGvw~-BDFt&OZ!RaMbU70g zxKxXu+?X3Abfw_d<1}7ukGo)e$CRVcDb0YIv}6|vQP8@e3maCUB?mj-?{_VITh$Zs z{I(+ray}B5#iq_h9C}+emmjWcxx|Pu2$F*1ECb0|UvnvLCnO8vilY!>0_Lj!5XFnw zFOizn)!YjyEgBkP$hRtveIVv*%Ei$Q1q<>C9Khy%oNcT2JvR&lSHGQ1l6G+sN_tr_!Vu6g%5yp0!_Z5;F?^gR*$*} zzapOtd%q*BRy|}?2B+Jj__@&sOB+q3;8^)ZkC9!pstk=Z^&4ckfW6_uuRd1YW;>*T zRqF8=9ecRTLJ>wufOt%dO#17z>wjw~`BCGtM@?bdKqv0Sx7y%$T1hb@=xTdds&PYsV4M^kiH1)-9*pfroOg&P5;E!xZzOrkjs%oAD=AkLrFDUSdB*VsKao{Ds6iOa+)T2 zT4iBlK!w(8YwwBuEqKuKT243KYH4>v&*?oI6lRynZu;g!u+CV*cOI zgwg#D8g_1Oa0z3uIo=U|0Efdd4h#)q(Y?d{jKd=Q3+8Rq!6AT%ce1a;(fGdrlt^J= literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/turn-sharp-right-white.svg b/src/displayapp/icons/navigation/turn-sharp-right-white.svg new file mode 100644 index 00000000..44542f52 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-sharp-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/turn-sharp-right.c b/src/displayapp/icons/navigation/turn-sharp-right.c new file mode 100644 index 00000000..83827037 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-sharp-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT +#define LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT uint8_t turn_sharp_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0, + 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0, + 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0, + 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0, + 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0, + 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0, + 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8, + 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8, + 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, + 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t turn_sharp_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_sharp_right_map, +}; diff --git a/src/displayapp/icons/navigation/turn-sharp-right.png b/src/displayapp/icons/navigation/turn-sharp-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce59a47d69258260e2af919205b429a2c9b4757 GIT binary patch literal 1413 zcmZ`(dpHw%82)X|Vm0R2Nmd@y6iRC&cMe-~8RMC`CbF5^Tr!NYIMysPAxR~KN>0c9 zGGb3XghCGGR>vuIQXNXfNx7wS=FjuT`Q!cG=X<~Jectb{PfB-pLLx8-005HeOkpV4 zehbPlMFq?bZ$*WLliWxEG@ak^jisdMv216C8vud>00_kZtScnpEC7iF06s7QuqpyT zlUpkHuu%-4!LCje0IG9w#)?jb>wG)`K*qba0J#tY)lrDsc~m!t?e8E64K?$%2X3_r z3B_i)CnhR#L5$#4w%rd$OZcOma1GuU(zc2&LA zVc%5U!Yj$-wc&-~Hj|dIUWu)m`9?gR$Xtq4_xrT@aJ(q) zKzmpR#SdtZGZ)6Lwlm zBL6Q9zzFbi+fal|X4RXAV5==P>sKw)+#>Xg6RLa4qtnAs1MieH(u*9-2 zu1eZmI8ocnlTsI9gId!z{Ry$$?#sQi(UYI{c$3w&Tq4dU%~pKB-K@%%4{aPo%lm(5 zHDv7agm9ga52|qJF(2(35!dng-8Ow)8L51(Fi8OA(r@nJwIjM6=6%L@h)|dddTAA6 zCt<;@)5k4+#fI~roAt&1rg-YQ&$A8CsE#qMHS`tNo*XUcP!~UWC@QXxI5+mJs6n9a z+LE3i)bIE>jSA2AJsz{axW{Z1VXtw=;+GkvMyxPBB?EFGAl9y{&fm727&&F>tVT?-YJIjMGnJk<`j@M>)8b?bA=Cyn*LWSDFVH4bna6eu{OktKr#0kZ zT&IHWfBCF-*1FVoxPt%46GnPK5F0{TDGqgP2`ZFT)j`PvCnOl zrd&$Ncj}2L_x;zDg;w_36{?GNVD){=+=^j5$d}_Pj{2zr|OA^`_tcg&)e-R!Wu80m_;jI z$$p-LA1{Q(3$eXNY#5KviVp>RJ|E9H6_vndaYOO3@!=&4HWd8#ezu0C@ Az5oCK literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/turn-slight-left-white.svg b/src/displayapp/icons/navigation/turn-slight-left-white.svg new file mode 100644 index 00000000..7ae2013c --- /dev/null +++ b/src/displayapp/icons/navigation/turn-slight-left-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/turn-slight-left.c b/src/displayapp/icons/navigation/turn-slight-left.c new file mode 100644 index 00000000..e3d3fbb9 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-slight-left.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT +#define LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT uint8_t turn_slight_left_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, +}; + +const lv_img_dsc_t turn_slight_left = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_slight_left_map, +}; diff --git a/src/displayapp/icons/navigation/turn-slight-left.png b/src/displayapp/icons/navigation/turn-slight-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8fea533f423bf2d51cb63cd8d5ea825069ab6ab1 GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&GGOGe?fkFbwiGF23x*mu@E&wUx%_{qL zih+T7qo<2wNXEUlGh#DD!bOhPPi|4U)ueREBq>+0TYjlfz^i7D)n6VTJiblDdEu0O z-&S5wl6c`Q8t6E|uH(vfhaB(FHD4Ytl;0At;`Xlz{JE=RO*>4~R;E4no8-BvUcRjC z?%bW5jjfF%yUs?6O)Gvs=kxC8^QzyS+i1}B>xM(0&EzL1CMGv|s%_lae%AJr#hGdL zrbk!V`gk|gOqg3C$URpD!*qZ8y^)h3%+s3mCKQX>BI%!;-f}73ubhmbQSa~SCzsYA7kRW&)1iLq#E2(Xja=+4Q=y7=p+pyGE-3!Eo1?7MzTW!>zo z9$vRqNqWl7NlF0Z&xaCEM&H0zrX9}zM$hK$u2Xl1+MjAbmS<_K9^h< zzw$#?r`-ivWhck^S*2DS(WY^!R?DBCW?12QcbDJ<-uPFYM>w2hrPdhz-W~SppoWwF zizJ3a;zv(S;8_rwzN)7#Ci9Z(jV0@u1^ix2bm4HysBd+2Umq%6B53usGmV#_@1DNg zDHVoltxE>0w;G*w?0@C#D+Ijw})@7NNs4sp03>E%N(GYI2x)N{p zEpLLR_@mIfMlvUBIsKXgR{QN<=C)P!#sn|vXZvl}y}tS2dDdT5?XJTUerI=RAFSUN z`&X0iSKN*HPu_CWWvzM5Ykt_Ci+joJzS?~fJg;Y}%)YSH&~sZHpSeej~ZBmu;>pFfc6pd2?~(!DVht2VDKHZP~mr zkwNT0shjPq(%#+!63KGD>B)>~65lhXnTjRcyS~WyTckK2Lwxn&7ugRPbmH01-3X6A z!BLTW-c(9KEOnO9%IvQK?g~lQ-zoMTNaE9B(s_2Ep5ej&eXM-uHnVb=uP;q1Ru8W8 z)YVx0cG=ADjOU^%eg+smNCIYJ)e_f;l9a@fRIB8oR3OD*WME{dYhb8rXb@s(X=P|? zWoo8vU|?ln5c{_`7ezyEeoAIqC2kEm3rsHpHAsSN2+mI{DNig)WhgH%*UQYyE>2D? ZNY%?PN}v7CMhd8i!PC{xWt~$(698nF6>R_j literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/turn-slight-right-white.svg b/src/displayapp/icons/navigation/turn-slight-right-white.svg new file mode 100644 index 00000000..46090067 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-slight-right-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/turn-slight-right.c b/src/displayapp/icons/navigation/turn-slight-right.c new file mode 100644 index 00000000..a62e3481 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-slight-right.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT +#define LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT uint8_t turn_slight_right_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00, + 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00, + 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t turn_slight_right = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_slight_right_map, +}; diff --git a/src/displayapp/icons/navigation/turn-slight-right.png b/src/displayapp/icons/navigation/turn-slight-right.png new file mode 100644 index 0000000000000000000000000000000000000000..172c348e8fad1dc920c918555cd3a6baa0b11fd9 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&GV6aC77bUhG*TmVwWn^pGh z6axeEa!(h>kc@k8XLx6Xgi9R%Z`^4-+1hw!!sQhQ*~PRwZbT`qO>h)h$sNA5BV+A_ zxI9X-)ClL7z1CPjq?1*%THvdVbn z*Q;}9GoM_3W!aofo313yTl6U_G|p8tWWv%tI+3Te7yGcPt(_7yxlO7-`o6eBP?Y?u zahMD-n>sesO~Bzeq+a3%?ra#Ma+${^W+JD{Z{}woT71mhs}rus$QPY}UF( zs#XmGmn-Mb-zhKofcySs5r#!aZhtA%ZmOB-YsiozU>Wv7_PR6Eouo`325A@L^%qaK z3NS2x>BDeT{LZuN-vsik*TYkFvv z#WE(Z-lEpRN4j30q$Vp;w+t<9lQs#%i zw+HpBIaKZEGbLBY#}U5gwq@F9i-TKsd_MoV zxBX9|nBO$>f4g(->?d{dB=FrcyFSPKn4HzyPs@%+&HlemLa;$#bqt@_oyWmlewCM> zFZG<6)bn*Bqd=0>{#_^jA9Xj`ebT#w$3DcS{Y96u{;t@*d!_dZ#n*qi9rICkfim9# zrF9`E`+an@w*D$Dyj=19XKTW)wA<{n9e)0MK2?tmG ze82R8cnHVGnVbhp1)T*H?N(0Oe?t2ov(k}h8-}(B8C#}XtMC0v-FE#}ZS;Gg`$aS3 zq82f)NxQ;ma9~XWch}XfV19td z{pYea>D^4ZeV;bSnTjbq*XYmMvytK4ucF!~dl~2GU(_t^JRrs3&-Cjm?}Ef{XBe(% zG96mu(A>NM#QDRX^q`XcM?LpEs{^06vrdzm0Xkxq!^40j0|-R40R0+LJTdf3{9;}&9w~-tPBi( zceUL_(U6;;l9^VCTSM1%yHubCNstY}`DrEPiAAXl<>lpinR(g8$%zH2dih1^v)|cB Q0TnTLy85}Sb4q9e05((|TL1t6 literal 0 HcmV?d00001 diff --git a/src/displayapp/icons/navigation/turn-straight-white.svg b/src/displayapp/icons/navigation/turn-straight-white.svg new file mode 100644 index 00000000..08531119 --- /dev/null +++ b/src/displayapp/icons/navigation/turn-straight-white.svg @@ -0,0 +1,4 @@ + + direction + + diff --git a/src/displayapp/icons/navigation/turn-straight.c b/src/displayapp/icons/navigation/turn-straight.c new file mode 100644 index 00000000..e00cf3fd --- /dev/null +++ b/src/displayapp/icons/navigation/turn-straight.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_TURN_STRAIGHT +#define LV_ATTRIBUTE_IMG_TURN_STRAIGHT +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_STRAIGHT uint8_t turn_straight_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, + 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00, + 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00, + 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00, + 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t turn_straight = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, +turn_straight_map, +}; diff --git a/src/displayapp/icons/navigation/turn-straight.png b/src/displayapp/icons/navigation/turn-straight.png new file mode 100644 index 0000000000000000000000000000000000000000..7dee5debf73d5538b93dbc4b230c1db0a1dbd442 GIT binary patch literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF&GV6aC77bR7@}0I>oPbF9nR zcmrr)v8Rh;NXEUlH~c+B5+#m*OrP$_Gwl$M)|uuYC&##!6?vr^9ULkgMoMqQxLIYD zly+5i?1^gcQeb(hz#{0#&e^nL1D}#>Ae(AX8mDI1?p^o!-oG(2KKJI$p3l#}*j3-W zd9$)^{@m|(=a##>Y!2vGntnp@#kNk#{r&o9iac^t`7@qNGUVTwXUO0faawm(>HM#f zLT@hD&#N~*U=)5b-DSgL{!hH=XNz?v&rCR;|Jd|im3uiG3rnJ`@{g;^X3KaS1U|(i z-V_gbXq6qLa%1`a>G3RAm6iv~u(2eH=dTQ(e{-@BqhrQX#l){uwuvxsG#xe7TF9`& zv-l88^%wt*7aVNSf;Ks+@GqW`0655zKg#=o3drW2cKXjdIVc>8wcAof%u}xFO zVT1qw$bT+uQ-mW{-T3%>W+za^ROidRKa<8pu@GLvVpuoZUF7r6EO+vF8qvMIf ziJSbR|94Nkzgn9oAyZJGMfuFyte?$^enrib)c@$!-ub8#%urYCB)*}U(|>bj+YN7F zCu{kb>V2156D}TBm~Z1=yTqOS!l@ODJzKx?Tv!`c$1!_mNvqFA$FI?skEW_c6uzl- ziY_^jkn3~0r}&`Yf;!2)4Sv`Etre+^i{2KtLsoV{Sgm)@#q-Ou9^d-#gGpwyd+eUy z6=xPnwY_Mli!<_CAN6tf^1#{#?!X5I%00z;RtoOjyVk9rclaTL_@Yj+B1g-x4Gzz) zPCk(Atfju_g{mg&{?n_ + direction + + diff --git a/src/displayapp/icons/navigation/updown.c b/src/displayapp/icons/navigation/updown.c new file mode 100644 index 00000000..3aae978d --- /dev/null +++ b/src/displayapp/icons/navigation/updown.c @@ -0,0 +1,97 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_UPDOWN +#define LV_ATTRIBUTE_IMG_UPDOWN +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_UPDOWN uint8_t updown_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00, + 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00, + 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00, + 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t updown = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, + +updown_map, +}; diff --git a/src/displayapp/icons/navigation/updown.png b/src/displayapp/icons/navigation/updown.png new file mode 100644 index 0000000000000000000000000000000000000000..4a550f834305b59dcdcdc223369bd5e87be5b443 GIT binary patch literal 1250 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk?NMQuIx`4xrF(x+Di-tfkFbwiGF23x(K}ljX0{JBw!IefCN+KDcH6!N@%&jXOCN6@&_)qqZ*W3%HAB$)|xF!BTYWz2b`i&N5ESLXf`u*C*{$t`wL!j1a zwvBHX`943xH;6|zIYy*`%Wk9THFx!19|QKZ?!y_o zBdz9bxA5y<`;2?jL&j^-yXWQI%1AKTG*6BF0AIAP>FE<6*GFDHyzB#mJww4{W*xQL z`3n{?R51jebegr3?*OZQ|H64J^RsvQWv;innk|yzrI4~kY1BMmrTK=xC zz9D+?{P%l;CsqVWYW_HP?wjjU^Zn)rq)%neezs!I{=oguCM{8%wNmZr6$zt;Yi&=g zbaj>(U1(d<#QNsR`4!TWYG*Csy1F8+)N0k;UvB141lc#IEtwa-cV6&Rm6iU#54$H= zSm*40^OPl9GXGoQ=GV(gc(N_d)Nh+5CdbXMFmK7-#3{?WdwtS%*7kiW%bIz}y5@YX z`%liS#d1Dr#dQZ79~-4}e{%V5aolzK_j$c_Mnb25v>WU?{py5zN{hsyYSzZD%lkF@ zU)RJOZ9MSJa$bkNy@J{$$rJm!(;uCixaUCV{cq-xlU$~~@IC&2_l{pT9Mn2(ZW`Eq zW!-Q(Vq3D=Wyy@7FhfJKl8C)TlfQgRic6URJFu4q9i4;B-JXpC>2OC z7#SED>KYj88XANcT3Q*JTA5mC8yHv_81NqY1}rj=H00)|WTsW()=)FwuLr0>5@bVg rep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&9mu6{1-oD!M + direction + + diff --git a/src/displayapp/icons/navigation/uturn.c b/src/displayapp/icons/navigation/uturn.c new file mode 100644 index 00000000..30e11145 --- /dev/null +++ b/src/displayapp/icons/navigation/uturn.c @@ -0,0 +1,96 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_UTURN +#define LV_ATTRIBUTE_IMG_UTURN +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_UTURN uint8_t uturn_map[] = { + 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/ + 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe, + 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe, + 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe, + 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe, + 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe, + 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe, + 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe, + 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe, + 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe, + 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe, + 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe, + 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe, + 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe, + 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe, +}; + +const lv_img_dsc_t uturn = { + { + LV_IMG_CF_INDEXED_1BIT, + 0, + 0, + 64, + 64 + }, + 520, + uturn_map, +}; diff --git a/src/displayapp/icons/navigation/uturn.png b/src/displayapp/icons/navigation/uturn.png new file mode 100644 index 0000000000000000000000000000000000000000..464d32e9875ce7dc41fedfb1c1daab708bd942dd GIT binary patch literal 1541 zcmZ`(S5%W}5dD6NAP}V~CddLylOBqcP$W_Uo6v&@QW78#qDW5!Tht(7>55WC1q%kF zMqxPtv7=x%C?&e0AgGZJDov3r`*ZeXU-rzobI;tFduE;{FTf9nP(UdF01!Uj9zig> ztwCM}&Va-ZfwN2k))xx^uUK(~EDP5C&|N55S*fpz{j-scwmXtq3O!Ved;0V&sN(8uXKcmS1m$6f>hM&WC;ZC zvMp-pQzfM8;Uzhh0_?|pf390hv^*ZB?Gbea8ksw=Df3S(r zV)_BISYgL`JzD3%zFfmN*C$KMV#mb&6yIi!QsX*9Vl`BvTOi%|fY}%tyS+@UD#P6A zDc8Bf-y&RceQ7~o=ZTudo$-+~#6~BGS7I4an?Gwjr^Hk?ur)&R36y1tuoaV!sXIC2 zuxABw?qZYciW6*dOCA1xsK0W$EL*O#UN@0Ht@BK<)r{rYgxc)YFfYSY7Ox~Voc}$k zvDTceaVqA!v162|Wy?}Zf$+##m7VHe3!#)+*|e;DBm8dD!pQnaoXf%TX7T(a({StH z9B~G5!5d#tn=I1OX{Qz$8J<OY|dq9qZGtg)(>I+M>0N^){+B zYr4$ch15;n_x$p5)9R3cPkAAoXU~jqEEhDKl$KIL;f-Esx^=P{#K6^i?x$?YfYlBW zt`VgF4UZ`t;?1ks#iZ^=?rxdugRTd}G`#=ZicrsN94p$}@@niXN!hNDpB;kWSVg@@ zBDSs@Mn&H~7Pg3bW_`aX6=(6AvTal+ynzeMPfB;T@FE=AJ$Dp5wC zT%>r4f*(TfN~f%HF|YT;Z|>YPs;q5Sj;~u*5*Bwcju!PoY=qCr3)TJyDmtd@mv4S^ zR?N!#Xd$NAqzAb?9f#5m2;?)~g_Yx1fd(=iDbX+uew}X&sh$yFZ=c3S{TX1|1_=8* zBm-B@A9iWKBH6gW|HRmVcuPDI+MF#dZ9Ab=_~U&ySAI7wI`OKPG(Wko`XMLhiTN$% z38MCc=OIZVOFL66Fca&F##sKEY8=rBX=d=-v3yQYxus_A{JlDC^ydvg@MI&WrzAl! zp(*n9@ljPT88e%oA)|q-+98d47n1FPBAMv4&@4BtIdIWX^Scn-x)dr})~jE1o$l^F zte|_uZlIh#DY018eVQw3+Qaj`j@&-hZkzL6HUydA8mycXv*GfgulweIjy%N4s0NPp z*`3R5UMO|F(?L^+)p^x=sA}&e+knL>BdNSMT77R(=@Hb>%;8v$Ti`a*O+6e(Y4MG* zuUDB0+11GGOzIzM8+KtS(mK0(WFJ8B>&%Chs|(zdEx~%0P^s@xWSFS9ICT(8dDq6N zz?v5)%#CldI*mE0HuHkFYgwDp4fcm2;%wkoW{}~zJ0p&qLBYhPQD6erXlpBTw3WFP znrP*SvD%K=?r4feW6j!TTs`hUZ~n5P45K(1{FPL9uDkkcrD!C+V< e?%$gpOHQF!B&Q`*&p4ytA>iZb=W$~v>G(gkPLp*2 literal 0 HcmV?d00001 diff --git a/src/displayapp/screens/ApplicationList.cpp b/src/displayapp/screens/ApplicationList.cpp index 57fbde20..dd7fcd41 100644 --- a/src/displayapp/screens/ApplicationList.cpp +++ b/src/displayapp/screens/ApplicationList.cpp @@ -56,7 +56,7 @@ std::unique_ptr ApplicationList::CreateScreen1() { std::unique_ptr ApplicationList::CreateScreen2() { std::array applications { - {{Symbols::tachometer, Apps::Gauge}, + {{Symbols::map, Apps::Navigation}, {Symbols::asterisk, Apps::Meter}, {Symbols::paintbrush, Apps::Paint}, {Symbols::info, Apps::Notifications}, diff --git a/src/displayapp/screens/Navigation.cpp b/src/displayapp/screens/Navigation.cpp new file mode 100644 index 00000000..4b0e92c4 --- /dev/null +++ b/src/displayapp/screens/Navigation.cpp @@ -0,0 +1,120 @@ +/* Copyright (C) 2021 Adam Pigg + + This file is part of InfiniTime. + + InfiniTime is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + InfiniTime is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +#include "Navigation.h" +#include +#include "../DisplayApp.h" +#include "components/ble/NavigationService.h" + +using namespace Pinetime::Applications::Screens; + +extern lv_font_t jetbrains_mono_extrabold_compressed; +extern lv_font_t jetbrains_mono_bold_20; + +/** + * Set the pixel array to display by the image + * This just calls lv_img_set_src but adds type safety + * + * @param img pointer to an image object + * @param data the image array + */ +inline void lv_img_set_src_arr(lv_obj_t *img, const lv_img_dsc_t *src_img) { + lv_img_set_src(img, src_img); +} + +/** + * Navigation watchapp + * + */ +Navigation::Navigation(Pinetime::Applications::DisplayApp *app, Pinetime::Controllers::NavigationService &nav) : Screen(app), navService(nav) { + + constexpr uint8_t FONT_HEIGHT = 12; + constexpr uint8_t LINE_PAD = 15; + constexpr int8_t MIDDLE_OFFSET = -25; + + imgFlag = lv_img_create(lv_scr_act(), nullptr); + lv_img_set_src_arr(imgFlag, &flag); + lv_obj_align(imgFlag, nullptr, LV_ALIGN_IN_TOP_MID, 0, 15); + + txtNarrative = lv_label_create(lv_scr_act(), nullptr); + lv_label_set_long_mode(txtNarrative, LV_LABEL_LONG_SROLL); + lv_obj_align(txtNarrative, nullptr, LV_ALIGN_IN_LEFT_MID, 12, MIDDLE_OFFSET + 1 * FONT_HEIGHT); + lv_label_set_text(txtNarrative, "Narrative"); + lv_label_set_align(txtNarrative, LV_LABEL_ALIGN_CENTER); + lv_label_set_anim_speed(txtNarrative, 15); + lv_obj_set_width(txtNarrative, LV_HOR_RES); + + txtManDist = lv_label_create(lv_scr_act(), nullptr); + lv_label_set_long_mode(txtManDist, LV_LABEL_LONG_SROLL); + lv_obj_align(txtManDist, nullptr, LV_ALIGN_IN_LEFT_MID, 12, MIDDLE_OFFSET + 2 * FONT_HEIGHT + LINE_PAD); + lv_label_set_text(txtManDist, "0M"); + lv_label_set_align(txtManDist, LV_LABEL_ALIGN_CENTER); + lv_obj_set_width(txtManDist, LV_HOR_RES); + + //Route Progress + barProgress = lv_bar_create(lv_scr_act(), NULL); + lv_obj_set_size(barProgress, 200, 20); + lv_obj_align(barProgress, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + lv_bar_set_anim_time(barProgress, 500); + lv_bar_set_range(barProgress, 0, 100); + lv_bar_set_value(barProgress, 0, LV_ANIM_ON); +} + +Navigation::~Navigation() { + lv_obj_clean(lv_scr_act()); +} + +bool Navigation::Refresh() { + + if (m_flag != navService.getFlag()) { + m_flag = navService.getFlag(); + + lv_img_set_src_arr(imgFlag, iconForName(m_flag)); + } + + if (m_narrative != navService.getNarrative()) { + m_narrative = navService.getNarrative(); + lv_label_set_text(txtNarrative, m_narrative.data()); + } + + if (m_manDist != navService.getManDist()) { + m_manDist = navService.getManDist(); + lv_label_set_text(txtManDist, m_manDist.data()); + } + + if (m_progress != navService.getProgress()) { + m_progress = navService.getProgress(); + lv_bar_set_value(barProgress, m_progress, LV_ANIM_ON); + } + + return running; +} + +bool Navigation::OnButtonPushed() { + running = false; + return true; +} + +const lv_img_dsc_t* Navigation::iconForName(std::string icon) +{ + for (auto iter : m_iconMap) { + if (iter.first == icon) { + return iter.second; + } + } + return &invalid; +} diff --git a/src/displayapp/screens/Navigation.h b/src/displayapp/screens/Navigation.h new file mode 100644 index 00000000..9fdd37d9 --- /dev/null +++ b/src/displayapp/screens/Navigation.h @@ -0,0 +1,238 @@ +/* Copyright (C) 2021 Adam Pigg + + This file is part of InfiniTime. + + InfiniTime is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + InfiniTime is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +#pragma once + +#include +#include +#include +#include "Screen.h" +#include +#include + +#include "displayapp/icons/navigation/arrive-left.c" +#include "displayapp/icons/navigation/arrive-right.c" +#include "displayapp/icons/navigation/arrive-straight.c" +#include "displayapp/icons/navigation/arrive.c" +#include "displayapp/icons/navigation/close.c" +#include "displayapp/icons/navigation/continue-left.c" +#include "displayapp/icons/navigation/continue-right.c" +#include "displayapp/icons/navigation/continue-slight-left.c" +#include "displayapp/icons/navigation/continue-slight-right.c" +#include "displayapp/icons/navigation/continue-straight.c" +#include "displayapp/icons/navigation/continue-uturn.c" +#include "displayapp/icons/navigation/continue.c" +#include "displayapp/icons/navigation/depart-left.c" +#include "displayapp/icons/navigation/depart-right.c" +#include "displayapp/icons/navigation/depart-straight.c" +#include "displayapp/icons/navigation/end-of-road-left.c" +#include "displayapp/icons/navigation/end-of-road-right.c" +#include "displayapp/icons/navigation/ferry.c" +#include "displayapp/icons/navigation/flag.c" +#include "displayapp/icons/navigation/fork-left.c" +#include "displayapp/icons/navigation/fork-right.c" +#include "displayapp/icons/navigation/fork-slight-left.c" +#include "displayapp/icons/navigation/fork-slight-right.c" +#include "displayapp/icons/navigation/fork-straight.c" +#include "displayapp/icons/navigation/invalid.c" +#include "displayapp/icons/navigation/invalid-left.c" +#include "displayapp/icons/navigation/invalid-right.c" +#include "displayapp/icons/navigation/invalid-slight-left.c" +#include "displayapp/icons/navigation/invalid-slight-right.c" +#include "displayapp/icons/navigation/invalid-straight.c" +#include "displayapp/icons/navigation/invalid-uturn.c" +#include "displayapp/icons/navigation/merge-left.c" +#include "displayapp/icons/navigation/merge-right.c" +#include "displayapp/icons/navigation/merge-slight-left.c" +#include "displayapp/icons/navigation/merge-slight-right.c" +#include "displayapp/icons/navigation/merge-straight.c" +#include "displayapp/icons/navigation/new-name-left.c" +#include "displayapp/icons/navigation/new-name-right.c" +#include "displayapp/icons/navigation/new-name-sharp-left.c" +#include "displayapp/icons/navigation/new-name-sharp-right.c" +#include "displayapp/icons/navigation/new-name-slight-left.c" +#include "displayapp/icons/navigation/new-name-slight-right.c" +#include "displayapp/icons/navigation/new-name-straight.c" +#include "displayapp/icons/navigation/notification-left.c" +#include "displayapp/icons/navigation/notification-right.c" +#include "displayapp/icons/navigation/notification-sharp-left.c" +#include "displayapp/icons/navigation/notification-sharp-right.c" +#include "displayapp/icons/navigation/notification-slight-left.c" +#include "displayapp/icons/navigation/notification-slight-right.c" +#include "displayapp/icons/navigation/notification-straight.c" +#include "displayapp/icons/navigation/off-ramp-left.c" +#include "displayapp/icons/navigation/off-ramp-right.c" +#include "displayapp/icons/navigation/off-ramp-slight-left.c" +#include "displayapp/icons/navigation/off-ramp-slight-right.c" +#include "displayapp/icons/navigation/on-ramp-left.c" +#include "displayapp/icons/navigation/on-ramp-right.c" +#include "displayapp/icons/navigation/on-ramp-sharp-left.c" +#include "displayapp/icons/navigation/on-ramp-sharp-right.c" +#include "displayapp/icons/navigation/on-ramp-slight-left.c" +#include "displayapp/icons/navigation/on-ramp-slight-right.c" +#include "displayapp/icons/navigation/on-ramp-straight.c" +#include "displayapp/icons/navigation/rotary.c" +#include "displayapp/icons/navigation/rotary-left.c" +#include "displayapp/icons/navigation/rotary-right.c" +#include "displayapp/icons/navigation/rotary-sharp-left.c" +#include "displayapp/icons/navigation/rotary-sharp-right.c" +#include "displayapp/icons/navigation/rotary-slight-left.c" +#include "displayapp/icons/navigation/rotary-slight-right.c" +#include "displayapp/icons/navigation/rotary-straight.c" +#include "displayapp/icons/navigation/roundabout.c" +#include "displayapp/icons/navigation/roundabout-left.c" +#include "displayapp/icons/navigation/roundabout-right.c" +#include "displayapp/icons/navigation/roundabout-sharp-left.c" +#include "displayapp/icons/navigation/roundabout-sharp-right.c" +#include "displayapp/icons/navigation/roundabout-slight-left.c" +#include "displayapp/icons/navigation/roundabout-slight-right.c" +#include "displayapp/icons/navigation/roundabout-straight.c" +#include "displayapp/icons/navigation/turn-left.c" +#include "displayapp/icons/navigation/turn-right.c" +#include "displayapp/icons/navigation/turn-sharp-left.c" +#include "displayapp/icons/navigation/turn-sharp-right.c" +#include "displayapp/icons/navigation/turn-slight-left.c" +#include "displayapp/icons/navigation/turn-slight-right.c" +#include "displayapp/icons/navigation/turn-straight.c" +#include "displayapp/icons/navigation/updown.c" +#include "displayapp/icons/navigation/uturn.c" + +namespace Pinetime { + namespace Controllers { + class NavigationService; + } + + namespace Applications { + namespace Screens { + class Navigation : public Screen { + public: + Navigation(DisplayApp *app, Pinetime::Controllers::NavigationService &nav); + ~Navigation() override; + + bool Refresh() override; + bool OnButtonPushed() override; + + private: + + lv_obj_t *imgFlag; + lv_obj_t *txtNarrative; + lv_obj_t *txtManDist; + lv_obj_t *barProgress; + + Pinetime::Controllers::NavigationService &navService; + + std::string m_flag; + std::string m_narrative; + std::string m_manDist; + int m_progress; + + /** Watchapp */ + bool running = true; + + const lv_img_dsc_t* iconForName(std::string icon); + + std::array, 89 > m_iconMap = { { + {"arrive-left", &arrive_left}, + {"arrive-right", &arrive_right}, + {"arrive-straight", &arrive_straight}, + {"arrive", &arrive}, + {"close", &close}, + {"continue-left", &continue_left}, + {"continue-right", &continue_right}, + {"continue-slight-left", &continue_slight_left}, + {"continue-slight-right", &continue_slight_right}, + {"continue-straight", &continue_straight}, + {"continue-uturn", &continue_uturn}, + {"continue", &continue_icon}, + {"depart-left", &depart_left}, + {"depart-right", &depart_right}, + {"depart-straight", &depart_straight}, + {"end-of-road-left", &end_of_road_left}, + {"end-of-road-right", &end_of_road_right}, + {"ferry", &ferry}, + {"flag", &flag}, + {"fork-left", &fork_left}, + {"fork-right", &fork_right}, + {"fork-slight-left", &fork_slight_left}, + {"fork-slight-right", &fork_slight_right}, + {"fork-straight", &fork_straight}, + {"invalid", &invalid}, + {"invalid-left", &invalid_left}, + {"invalid-right", &invalid_right}, + {"invalid-slight-left", &invalid_slight_left}, + {"invalid-slight-right", &invalid_slight_right}, + {"invalid-straight", &invalid_straight}, + {"invalid-uturn", &invalid_uturn}, + {"merge-left", &merge_left}, + {"merge-right", &merge_right}, + {"merge-slight-left", &merge_slight_left}, + {"merge-slight-right", &merge_slight_right}, + {"merge-straight", &merge_straight}, + {"new-name-left", &new_name_left}, + {"new-name-right", &new_name_right}, + {"new-name-sharp-left", &new_name_sharp_left}, + {"new-name-sharp-right", &new_name_sharp_right}, + {"new-name-slight-left", &new_name_slight_left}, + {"new-name-slight-right", &new_name_slight_right}, + {"new-name-straight", &new_name_straight}, + {"notification-left", ¬ification_left}, + {"notification-right", ¬ification_right}, + {"notification-sharp-left", ¬ification_sharp_left}, + {"notification-sharp-right", ¬ification_sharp_right}, + {"notification-slight-left", ¬ification_slight_left}, + {"notification-slight-right", ¬ification_slight_right}, + {"notification-straight", ¬ification_straight}, + {"off-ramp-left", &off_ramp_left}, + {"off-ramp-right", &off_ramp_right}, + {"off-ramp-slight-left", &off_ramp_slight_left}, + {"off-ramp-slight-right", &off_ramp_slight_right}, + {"on-ramp-left", &on_ramp_left}, + {"on-ramp-right", &on_ramp_right}, + {"on-ramp-sharp-left", &on_ramp_sharp_left}, + {"on-ramp-sharp-right", &on_ramp_sharp_right}, + {"on-ramp-slight-left", &on_ramp_slight_left}, + {"on-ramp-slight-right", &on_ramp_slight_right}, + {"on-ramp-straight", &on_ramp_straight}, + {"rotary", &rotary}, + {"rotary-left", &rotary_left}, + {"rotary-right", &rotary_right}, + {"rotary-sharp-left", &rotary_sharp_left}, + {"rotary-sharp-right", &rotary_sharp_right}, + {"rotary-slight-left", &rotary_slight_left}, + {"rotary-slight-right", &rotary_slight_right}, + {"rotary-straight", &rotary_straight}, + {"roundabout", &roundabout}, + {"roundabout-left", &roundabout_left}, + {"roundabout-right", &roundabout_right}, + {"roundabout-sharp-left", &roundabout_sharp_left}, + {"roundabout-sharp-right", &roundabout_sharp_right}, + {"roundabout-slight-left", &roundabout_slight_left}, + {"roundabout-slight-right", &roundabout_slight_right}, + {"roundabout-straight", &roundabout_straight}, + {"turn-left", &turn_left}, + {"turn-right", &turn_right}, + {"turn-sharp-left", &turn_sharp_left}, + {"turn-sharp-right", &turn_sharp_right}, + {"turn-slight-left", &turn_slight_left}, + {"turn-slight-right", &turn_slight_right}, + {"turn-straight", &turn_straight}, + {"updown", &updown}, + {"uturn", &uturn} } }; + }; + } + } +} diff --git a/src/displayapp/screens/Symbols.h b/src/displayapp/screens/Symbols.h index b66b5fa9..bd6a0f90 100644 --- a/src/displayapp/screens/Symbols.h +++ b/src/displayapp/screens/Symbols.h @@ -25,6 +25,7 @@ namespace Pinetime { static constexpr const char* asterisk = "\xEF\x81\xA9"; static constexpr const char* paintbrush = "\xEF\x87\xBC"; static constexpr const char* paddle = "\xEF\x91\x9D"; + static constexpr const char* map = "\xEF\x96\xa0"; } } } From 66a296d0f315c0f6e4643b5914216d64217b8903 Mon Sep 17 00:00:00 2001 From: Niall Cooling Date: Thu, 21 Jan 2021 07:51:43 +0000 Subject: [PATCH 24/27] changed command MemoryDataAccessControl from 036 to 0x36 in St7789 class --- src/drivers/St7789.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index 053caccb..a487a952 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -58,7 +58,7 @@ namespace Pinetime { ColumnAddressSet = 0x2a, RowAddressSet = 0x2b, WriteToRam = 0x2c, - MemoryDataAccessControl = 036, + MemoryDataAccessControl = 0x36, VerticalScrollDefinition = 0x33, VerticalScrollStartAddress = 0x37, ColMod = 0x3a, From a028c39ddd9994a5932d231ead0007ec34bbdf95 Mon Sep 17 00:00:00 2001 From: petter <39340152+petterhs@users.noreply.github.com> Date: Sat, 23 Jan 2021 01:51:07 +0100 Subject: [PATCH 25/27] check for cmake build-success before running post-build.sh --- docker/build.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docker/build.sh b/docker/build.sh index f35c2f3a..8f0d0fa9 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -31,8 +31,8 @@ main() { CmakeGenerate CmakeBuild $target - - if [[ "$DISABLE_POSTBUILD" != "true" ]]; then + BUILD_RESULT=$? + if [ "$DISABLE_POSTBUILD" != "true" -a "$BUILD_RESULT" == 0 ]; then source "$BUILD_DIR/post_build.sh" fi } @@ -70,7 +70,9 @@ CmakeGenerate() { CmakeBuild() { local target="$1" [[ -n "$target" ]] && target="--target $target" - cmake --build "$BUILD_DIR" --config $BUILD_TYPE $target -- -j$(nproc) + if cmake --build "$BUILD_DIR" --config $BUILD_TYPE $target -- -j$(nproc) + then return 0; else return 1; + fi } [[ $SOURCED == "false" ]] && main "$@" || echo "Sourced!" \ No newline at end of file From 84b509ed9536e081f370d2fd7c519c9ed6acfea4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sat, 23 Jan 2021 17:39:53 +0100 Subject: [PATCH 26/27] Set version to 0.11.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2da6cff8..4234b983 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(pinetime VERSION 0.10.0 LANGUAGES C CXX ASM) +project(pinetime VERSION 0.11.0 LANGUAGES C CXX ASM) set(NRF_TARGET "nrf52") From 0a169b15f18406b0ccaaedea879681015d51defb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Sat, 23 Jan 2021 21:05:37 +0100 Subject: [PATCH 27/27] Upgrade feature list in main README.md file. --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e1819d0f..f8b05bd6 100644 --- a/README.md +++ b/README.md @@ -34,14 +34,18 @@ As of now, here is the list of achievements of this project: - Time synchronization via BLE - Notification via BLE - Multiple 'apps' : - * Clock (displays the date, time, battery level, BLE connection status, heart rate and step count) - * Heart rate - * Motion - * System info (displays various info : BLE MAC, build date/time, uptime, version, ...) - * Brightness (allows the user to configure the brightness of the display) + * Clock (displays the date, time, battery level, ble connection status, heart rate) + * System info (displays various info : BLE MAC, build date/time, uptime, version,...) + * Brightess (allows the user to configure the brightness of the display) + * Music (control the playback of the music on your phone) + * Heart rate (controls the heart rate sensor and display current heartbeat) + * Navigation (displays navigation instructions coming from the companion app) + * Notification (displays the last notification received) + * Paddle (single player pong-like game) + * Two (2048 clone game) - Supported by 2 companion apps (development is in progress): * [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/) (on Android) - * [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS) + * [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS and Linux) - **[Experimental]** OTA (Over-the-air) update via BLE - **[Experimental]** Bootloader based on [MCUBoot](https://juullabs-oss.github.io/mcuboot/)