summaryrefslogtreecommitdiff
path: root/src/components/settings
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2022-04-02 14:34:53 (GMT)
committerGitea <gitea@fake.local>2022-04-02 14:34:53 (GMT)
commit187ea0f06d93c7f7df5779cb321a28ad040234ee (patch)
tree3d6d1b2f60573045734153d975e9b0aa1b327394 /src/components/settings
parentadc7909c9823c5cd9fc9888a84e84f9182b9088f (diff)
parentb498e1d633522eed975d78b04508834b7a79befe (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/components/settings')
-rw-r--r--src/components/settings/Settings.cpp4
-rw-r--r--src/components/settings/Settings.h40
2 files changed, 37 insertions, 7 deletions
diff --git a/src/components/settings/Settings.cpp b/src/components/settings/Settings.cpp
index ef73ad1..fee62da 100644
--- a/src/components/settings/Settings.cpp
+++ b/src/components/settings/Settings.cpp
@@ -26,7 +26,7 @@ void Settings::LoadSettingsFromFile() {
SettingsData bufferSettings;
lfs_file_t settingsFile;
- if ( fs.FileOpen(&settingsFile, "/settings.dat", LFS_O_RDWR | LFS_O_CREAT) != LFS_ERR_OK) {
+ if ( fs.FileOpen(&settingsFile, "/settings.dat", LFS_O_RDONLY) != LFS_ERR_OK) {
return;
}
fs.FileRead(&settingsFile, reinterpret_cast<uint8_t*>(&bufferSettings), sizeof(settings));
@@ -39,7 +39,7 @@ void Settings::LoadSettingsFromFile() {
void Settings::SaveSettingsToFile() {
lfs_file_t settingsFile;
- if ( fs.FileOpen(&settingsFile, "/settings.dat", LFS_O_RDWR | LFS_O_CREAT) != LFS_ERR_OK) {
+ if ( fs.FileOpen(&settingsFile, "/settings.dat", LFS_O_WRONLY | LFS_O_CREAT) != LFS_ERR_OK) {
return;
}
fs.FileWrite(&settingsFile, reinterpret_cast<uint8_t*>(&settings), sizeof(settings));
diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h
index 6de44aa..44a1a85 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/datetime/DateTimeController.h"
#include "components/brightness/BrightnessController.h"
#include "components/fs/FS.h"
@@ -19,7 +18,23 @@ namespace Pinetime {
Shake = 3,
};
enum class Colors : uint8_t {
- White, Silver, Gray, Black, Red, Maroon, Yellow, Olive, Lime, Green, Cyan, Teal, Blue, Navy, Magenta, Purple, Orange
+ White,
+ Silver,
+ Gray,
+ Black,
+ Red,
+ Maroon,
+ Yellow,
+ Olive,
+ Lime,
+ Green,
+ Cyan,
+ Teal,
+ Blue,
+ Navy,
+ Magenta,
+ Purple,
+ Orange
};
struct PineTimeStyle {
Colors ColorTime = Colors::Teal;
@@ -171,18 +186,29 @@ namespace Pinetime {
}
settings.brightLevel = level;
};
+
Controllers::BrightnessController::Levels GetBrightness() const {
return settings.brightLevel;
};
- void SetStepsGoal( uint32_t goal ) {
- if ( goal != settings.stepsGoal ) {
+ void SetStepsGoal(uint32_t goal) {
+ if (goal != settings.stepsGoal) {
settingsChanged = true;
}
settings.stepsGoal = goal;
};
- uint32_t GetStepsGoal() const { return settings.stepsGoal; };
+ uint32_t GetStepsGoal() const {
+ return settings.stepsGoal;
+ };
+
+ void SetBleRadioEnabled(bool enabled) {
+ bleRadioEnabled = enabled;
+ };
+
+ bool GetBleRadioEnabled() const {
+ return bleRadioEnabled;
+ };
private:
Pinetime::Controllers::FS& fs;
@@ -211,6 +237,10 @@ namespace Pinetime {
uint8_t appMenu = 0;
uint8_t settingsMenu = 0;
+ /* ble state is intentionally not saved with the other watch settings and initialized
+ * to off (false) on every boot because we always want ble to be enabled on startup
+ */
+ bool bleRadioEnabled = true;
void LoadSettingsFromFile();
void SaveSettingsToFile();