diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-04-12 03:11:16 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-04-12 03:11:16 (GMT) |
| commit | 502dfad3d3dd062b37722ea65ec42908139b2e17 (patch) | |
| tree | 334dbd66e0e074a5d8f47423702d3e0cd2fa1731 /src/components | |
| parent | adc82f138237b17797f695aa6e272188ccb3fb15 (diff) | |
Fixed screen brightness, no sleep or wake up
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/ble/DfuService.cpp | 5 | ||||
| -rw-r--r-- | src/components/brightness/BrightnessController.cpp | 117 | ||||
| -rw-r--r-- | src/components/brightness/BrightnessController.h | 17 | ||||
| -rw-r--r-- | src/components/motion/MotionController.cpp | 23 | ||||
| -rw-r--r-- | src/components/motion/MotionController.h | 2 | ||||
| -rw-r--r-- | src/components/settings/Settings.h | 48 |
6 files changed, 4 insertions, 208 deletions
diff --git a/src/components/ble/DfuService.cpp b/src/components/ble/DfuService.cpp index cf99f01..51e9e5d 100644 --- a/src/components/ble/DfuService.cpp +++ b/src/components/ble/DfuService.cpp @@ -122,11 +122,6 @@ int DfuService::WritePacketHandler(uint16_t connectionHandle, os_mbuf* om) { NRF_LOG_INFO( "[DFU] -> Start data received : SD size : %d, BT size : %d, app size : %d", softdeviceSize, bootloaderSize, applicationSize); - // wait until SystemTask has finished waking up all devices - while (systemTask.IsSleeping()) { - vTaskDelay(50); // 50ms - } - dfuImage.Erase(); uint8_t data[] {16, 1, 1}; diff --git a/src/components/brightness/BrightnessController.cpp b/src/components/brightness/BrightnessController.cpp index 2d9f980..29de5bb 100644 --- a/src/components/brightness/BrightnessController.cpp +++ b/src/components/brightness/BrightnessController.cpp @@ -8,119 +8,8 @@ void BrightnessController::Init() { nrf_gpio_cfg_output(PinMap::LcdBacklightLow); nrf_gpio_cfg_output(PinMap::LcdBacklightMedium); nrf_gpio_cfg_output(PinMap::LcdBacklightHigh); - Set(level); + nrf_gpio_pin_clear(PinMap::LcdBacklightLow); + nrf_gpio_pin_set(PinMap::LcdBacklightMedium); + nrf_gpio_pin_set(PinMap::LcdBacklightHigh); } -void BrightnessController::Set(BrightnessController::Levels level) { - this->level = level; - switch (level) { - default: - case Levels::High: - nrf_gpio_pin_clear(PinMap::LcdBacklightLow); - nrf_gpio_pin_clear(PinMap::LcdBacklightMedium); - nrf_gpio_pin_clear(PinMap::LcdBacklightHigh); - break; - case Levels::Medium: - nrf_gpio_pin_clear(PinMap::LcdBacklightLow); - nrf_gpio_pin_clear(PinMap::LcdBacklightMedium); - nrf_gpio_pin_set(PinMap::LcdBacklightHigh); - break; - case Levels::Low: - nrf_gpio_pin_clear(PinMap::LcdBacklightLow); - nrf_gpio_pin_set(PinMap::LcdBacklightMedium); - nrf_gpio_pin_set(PinMap::LcdBacklightHigh); - break; - case Levels::Off: - nrf_gpio_pin_set(PinMap::LcdBacklightLow); - nrf_gpio_pin_set(PinMap::LcdBacklightMedium); - nrf_gpio_pin_set(PinMap::LcdBacklightHigh); - break; - } -} - -void BrightnessController::Lower() { - switch (level) { - case Levels::High: - Set(Levels::Medium); - break; - case Levels::Medium: - Set(Levels::Low); - break; - case Levels::Low: - Set(Levels::Off); - break; - default: - break; - } -} - -void BrightnessController::Higher() { - switch (level) { - case Levels::Off: - Set(Levels::Low); - break; - case Levels::Low: - Set(Levels::Medium); - break; - case Levels::Medium: - Set(Levels::High); - break; - default: - break; - } -} - -BrightnessController::Levels BrightnessController::Level() const { - return level; -} - -void BrightnessController::Backup() { - backupLevel = level; -} - -void BrightnessController::Restore() { - Set(backupLevel); -} - -void BrightnessController::Step() { - switch (level) { - case Levels::Low: - Set(Levels::Medium); - break; - case Levels::Medium: - Set(Levels::High); - break; - case Levels::High: - Set(Levels::Low); - break; - default: - break; - } -} - -const char* BrightnessController::GetIcon() { - switch (level) { - case Levels::Medium: - return Applications::Screens::Symbols::brightnessMedium; - case Levels::High: - return Applications::Screens::Symbols::brightnessHigh; - default: - break; - } - return Applications::Screens::Symbols::brightnessLow; -} - -const char* BrightnessController::ToString() { - switch (level) { - case Levels::Off: - return "Off"; - case Levels::Low: - return "Low"; - case Levels::Medium: - return "Medium"; - case Levels::High: - return "High"; - default: - return "???"; - } -}
\ No newline at end of file diff --git a/src/components/brightness/BrightnessController.h b/src/components/brightness/BrightnessController.h index 0d7ac2f..31ef40a 100644 --- a/src/components/brightness/BrightnessController.h +++ b/src/components/brightness/BrightnessController.h @@ -6,24 +6,7 @@ namespace Pinetime { namespace Controllers { class BrightnessController { public: - enum class Levels { Off, Low, Medium, High }; void Init(); - - void Set(Levels level); - Levels Level() const; - void Lower(); - void Higher(); - void Step(); - - void Backup(); - void Restore(); - - const char* GetIcon(); - const char* ToString(); - - private: - Levels level = Levels::High; - Levels backupLevel = Levels::High; }; } } diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp index 0404e3f..6ddb876 100644 --- a/src/components/motion/MotionController.cpp +++ b/src/components/motion/MotionController.cpp @@ -8,29 +8,6 @@ void MotionController::Update(int16_t x, int16_t y, int16_t z) { this->z = z; } -bool MotionController::Should_RaiseWake(bool isSleeping) { - if ((x + 335) <= 670 && z < 0) { - if (not isSleeping) { - if (y <= 0) { - return false; - } else { - lastYForWakeUp = 0; - return false; - } - } - - if (y >= 0) { - lastYForWakeUp = 0; - return false; - } - if (y + 230 < lastYForWakeUp) { - lastYForWakeUp = y; - return true; - } - } - return false; -} - void MotionController::IsSensorOk(bool isOk) { isSensorOk = isOk; } diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index a56991a..8802412 100644 --- a/src/components/motion/MotionController.h +++ b/src/components/motion/MotionController.h @@ -25,7 +25,6 @@ namespace Pinetime { return z; } - bool Should_RaiseWake(bool isSleeping); void IsSensorOk(bool isOk); bool IsSensorOk() const { return isSensorOk; @@ -41,7 +40,6 @@ namespace Pinetime { int16_t x; int16_t y; int16_t z; - int16_t lastYForWakeUp = 0; bool isSensorOk = false; DeviceTypes deviceType = DeviceTypes::Unknown; diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h index 5201b77..7842664 100644 --- a/src/components/settings/Settings.h +++ b/src/components/settings/Settings.h @@ -1,7 +1,6 @@ #pragma once #include <cstdint> #include <bitset> -#include "components/brightness/BrightnessController.h" namespace Pinetime { namespace Controllers { @@ -9,11 +8,6 @@ namespace Pinetime { public: enum class ClockType : uint8_t { H24, H12 }; enum class Notification : uint8_t { ON, OFF }; - enum class WakeUpMode : uint8_t { - SingleTap = 0, - DoubleTap = 1, - RaiseWrist = 2, - }; enum class Colors : uint8_t { White, Silver, @@ -95,47 +89,8 @@ namespace Pinetime { return settings.screenTimeOut; }; - void setWakeUpMode(WakeUpMode wakeUp, bool enabled) { - if (enabled != isWakeUpModeOn(wakeUp)) { - settingsChanged = true; - } - settings.wakeUpMode.set(static_cast<size_t>(wakeUp), enabled); - // Handle special behavior - if (enabled) { - switch (wakeUp) { - case WakeUpMode::SingleTap: - settings.wakeUpMode.set(static_cast<size_t>(WakeUpMode::DoubleTap), false); - break; - case WakeUpMode::DoubleTap: - settings.wakeUpMode.set(static_cast<size_t>(WakeUpMode::SingleTap), false); - break; - default: - break; - } - } - }; - - std::bitset<4> getWakeUpModes() const { - return settings.wakeUpMode; - } - - bool isWakeUpModeOn(const WakeUpMode mode) const { - return getWakeUpModes()[static_cast<size_t>(mode)]; - } - - void SetBrightness(Controllers::BrightnessController::Levels level) { - if (level != settings.brightLevel) { - settingsChanged = true; - } - settings.brightLevel = level; - }; - - Controllers::BrightnessController::Levels GetBrightness() const { - return settings.brightLevel; - }; - private: - static constexpr uint32_t settingsVersion = 0x4021; // infinitime redux settings + static constexpr uint32_t settingsVersion = 0x4121; // infinitime redux settings struct SettingsData { uint32_t version = settingsVersion; uint32_t screenTimeOut = 15000; @@ -146,7 +101,6 @@ namespace Pinetime { uint8_t clockFace = 0; std::bitset<4> wakeUpMode {0}; - Controllers::BrightnessController::Levels brightLevel = Controllers::BrightnessController::Levels::Medium; }; SettingsData settings; |
