add location setting and integrate more sundial code from willb

This commit is contained in:
Ryan Rix
2024-06-10 20:19:43 -07:00
parent 41518cc529
commit f6a5588544
12 changed files with 394 additions and 132 deletions
@@ -129,7 +129,7 @@ std::string DateTime::FormattedTime() {
auto hour = Hours();
auto minute = Minutes();
// Return time as a string in 12- or 24-hour format
char buff[9];
char buff[11];
if (settingsController.GetClockType() == ClockType::H12) {
uint8_t hour12;
const char* amPmStr;
+23
View File
@@ -50,6 +50,12 @@ namespace Pinetime {
int colorIndex = 0;
};
struct Location {
int16_t latitude;
int16_t longitude;
int8_t tzOffset;
};
Settings(Pinetime::Controllers::FS& fs);
Settings(const Settings&) = delete;
@@ -275,6 +281,21 @@ namespace Pinetime {
return settings.stepsGoal;
};
void SetLocation(Location loc) {
if (
loc.latitude != settings.location.latitude ||
loc.longitude != settings.location.longitude ||
loc.tzOffset != settings.location.tzOffset
) {
settingsChanged = true;
}
settings.location = loc;
};
Location GetLocation() const {
return settings.location;
};
void SetBleRadioEnabled(bool enabled) {
bleRadioEnabled = enabled;
};
@@ -308,6 +329,8 @@ namespace Pinetime {
uint16_t shakeWakeThreshold = 150;
Controllers::BrightnessController::Levels brightLevel = Controllers::BrightnessController::Levels::Medium;
Location location = {(int16_t)-123,(int16_t)44,(int8_t)-8};
};
SettingsData settings;