diff options
author | panky-codes <pankaj.sarathy1992@gmail.com> | 2021-03-20 22:45:29 +0100 |
---|---|---|
committer | panky-codes <pankaj.sarathy1992@gmail.com> | 2021-03-20 22:45:29 +0100 |
commit | 534565088033221d29e968acf7267145ff10203b (patch) | |
tree | c93ae7c7aa7995204f56b979ff6524feba83763d /src/displayapp/DisplayAppRecovery.h | |
parent | 754ac233040af805ffa2e15b24539d5d02a876e5 (diff) | |
parent | a3ff2e46ca9e663af864a2bd04b9afa3efbddfb8 (diff) |
Merged upstream
Diffstat (limited to 'src/displayapp/DisplayAppRecovery.h')
-rw-r--r-- | src/displayapp/DisplayAppRecovery.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/displayapp/DisplayAppRecovery.h b/src/displayapp/DisplayAppRecovery.h new file mode 100644 index 00000000..a3f27d2c --- /dev/null +++ b/src/displayapp/DisplayAppRecovery.h @@ -0,0 +1,73 @@ +#pragma once +#include <FreeRTOS.h> +#include <task.h> +#include <drivers/St7789.h> +#include <drivers/SpiMaster.h> +#include <bits/unique_ptr.h> +#include <queue.h> +#include "components/gfx/Gfx.h" +#include "components/battery/BatteryController.h" +#include "components/brightness/BrightnessController.h" +#include "components/ble/BleController.h" +#include "components/datetime/DateTimeController.h" +#include "components/ble/NotificationManager.h" +#include "components/firmwarevalidator/FirmwareValidator.h" +#include "drivers/Cst816s.h" +#include <date/date.h> +#include <drivers/Watchdog.h> +#include <components/heartrate/HeartRateController.h> +#include <components/settings/Settings.h> +#include "TouchEvents.h" +#include "Apps.h" +#include "Messages.h" +#include "DummyLittleVgl.h" + +namespace Pinetime { + namespace System { + class SystemTask; + }; + namespace Applications { + class DisplayApp { + public: + DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Drivers::Cst816S &, + Controllers::Battery &batteryController, Controllers::Ble &bleController, + Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog, + System::SystemTask &systemTask, + Pinetime::Controllers::NotificationManager& notificationManager, + Pinetime::Controllers::HeartRateController& heartRateController, + Pinetime::Controllers::Settings& settingsController); + void Start(); + void PushMessage(Pinetime::Applications::Display::Messages msg); + + private: + TaskHandle_t taskHandle; + static void Process(void* instance); + void DisplayLogo(uint16_t color); + void DisplayOtaProgress(uint8_t percent, uint16_t color); + void InitHw(); + void Refresh(); + Pinetime::Drivers::St7789& lcd; + Controllers::Ble &bleController; + + static constexpr uint8_t queueSize = 10; + static constexpr uint8_t itemSize = 1; + QueueHandle_t msgQueue; + static constexpr uint8_t displayWidth = 240; + static constexpr uint8_t displayHeight = 240; + static constexpr uint8_t bytesPerPixel = 2; + + static constexpr uint16_t colorWhite = 0xFFFF; + static constexpr uint16_t colorGreen = 0x07E0; + static constexpr uint16_t colorGreenSwapped = 0xE007; + static constexpr uint16_t colorBlue = 0x0000ff; + static constexpr uint16_t colorRed = 0xff00; + static constexpr uint16_t colorRedSwapped = 0x00ff; + static constexpr uint16_t colorBlack = 0x0000; + uint8_t displayBuffer[displayWidth * bytesPerPixel]; + + + }; + } +} + + |