summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/alarm/AlarmController.h6
-rw-r--r--src/components/battery/BatteryController.h1
-rw-r--r--src/components/ble/AlertNotificationService.h1
-rw-r--r--src/components/ble/BatteryInformationService.h2
-rw-r--r--src/components/ble/BleController.h8
-rw-r--r--src/components/ble/CurrentTimeClient.h3
-rw-r--r--src/components/ble/DfuService.h4
-rw-r--r--src/components/ble/FSService.h6
-rw-r--r--src/components/ble/HeartRateService.h2
-rw-r--r--src/components/ble/ImmediateAlertService.h2
-rw-r--r--src/components/ble/MotionService.h2
-rw-r--r--src/components/ble/MusicService.h1
-rw-r--r--src/components/ble/NavigationService.h1
-rw-r--r--src/components/ble/NimbleController.h3
-rw-r--r--src/components/ble/NotificationManager.h2
-rw-r--r--src/components/ble/weather/WeatherService.h1
-rw-r--r--src/components/datetime/DateTimeController.h10
-rw-r--r--src/components/fs/FS.h1
-rw-r--r--src/components/gfx/Gfx.h3
-rw-r--r--src/components/heartrate/HeartRateController.h4
-rw-r--r--src/components/motion/MotionController.h5
-rw-r--r--src/components/settings/Settings.h13
-rw-r--r--src/components/timer/TimerController.h1
23 files changed, 82 insertions, 0 deletions
diff --git a/src/components/alarm/AlarmController.h b/src/components/alarm/AlarmController.h
index 91f60f5a..8ac0de9a 100644
--- a/src/components/alarm/AlarmController.h
+++ b/src/components/alarm/AlarmController.h
@@ -26,6 +26,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class AlarmController {
public:
@@ -40,18 +41,23 @@ namespace Pinetime {
void StopAlerting();
enum class AlarmState { Not_Set, Set, Alerting };
enum class RecurType { None, Daily, Weekdays };
+
uint8_t Hours() const {
return hours;
}
+
uint8_t Minutes() const {
return minutes;
}
+
AlarmState State() const {
return state;
}
+
RecurType Recurrence() const {
return recurrence;
}
+
void SetRecurrence(RecurType recurType) {
recurrence = recurType;
}
diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h
index 627ca7d4..b47b77cc 100644
--- a/src/components/battery/BatteryController.h
+++ b/src/components/battery/BatteryController.h
@@ -17,6 +17,7 @@ namespace Pinetime {
uint8_t PercentRemaining() const {
return percentRemaining;
}
+
bool BatteryIsLow() const {
return percentRemaining <= lowBatteryThreshold;
}
diff --git a/src/components/ble/AlertNotificationService.h b/src/components/ble/AlertNotificationService.h
index 5c7d428c..7f5273ac 100644
--- a/src/components/ble/AlertNotificationService.h
+++ b/src/components/ble/AlertNotificationService.h
@@ -16,6 +16,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class NotificationManager;
diff --git a/src/components/ble/BatteryInformationService.h b/src/components/ble/BatteryInformationService.h
index c6fc52e4..cc4d2604 100644
--- a/src/components/ble/BatteryInformationService.h
+++ b/src/components/ble/BatteryInformationService.h
@@ -9,8 +9,10 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class Battery;
+
class BatteryInformationService {
public:
BatteryInformationService(Controllers::Battery& batteryController);
diff --git a/src/components/ble/BleController.h b/src/components/ble/BleController.h
index 675ede2d..de0a1bc2 100644
--- a/src/components/ble/BleController.h
+++ b/src/components/ble/BleController.h
@@ -24,6 +24,7 @@ namespace Pinetime {
void StopFirmwareUpdate();
void FirmwareUpdateTotalBytes(uint32_t totalBytes);
void FirmwareUpdateCurrentBytes(uint32_t currentBytes);
+
void State(FirmwareUpdateStates state) {
firmwareUpdateState = state;
}
@@ -31,12 +32,15 @@ namespace Pinetime {
bool IsFirmwareUpdating() const {
return isFirmwareUpdating;
}
+
uint32_t FirmwareUpdateTotalBytes() const {
return firmwareUpdateTotalBytes;
}
+
uint32_t FirmwareUpdateCurrentBytes() const {
return firmwareUpdateCurrentBytes;
}
+
FirmwareUpdateStates State() const {
return firmwareUpdateState;
}
@@ -44,15 +48,19 @@ namespace Pinetime {
void Address(BleAddress&& addr) {
address = addr;
}
+
const BleAddress& Address() const {
return address;
}
+
void AddressType(AddressTypes t) {
addressType = t;
}
+
void SetPairingKey(uint32_t k) {
pairingKey = k;
}
+
uint32_t GetPairingKey() const {
return pairingKey;
}
diff --git a/src/components/ble/CurrentTimeClient.h b/src/components/ble/CurrentTimeClient.h
index c718d2d9..0a3a8735 100644
--- a/src/components/ble/CurrentTimeClient.h
+++ b/src/components/ble/CurrentTimeClient.h
@@ -19,12 +19,15 @@ namespace Pinetime {
bool OnDiscoveryEvent(uint16_t connectionHandle, const ble_gatt_error* error, const ble_gatt_svc* service);
int OnCharacteristicDiscoveryEvent(uint16_t conn_handle, const ble_gatt_error* error, const ble_gatt_chr* characteristic);
int OnCurrentTimeReadResult(uint16_t conn_handle, const ble_gatt_error* error, const ble_gatt_attr* attribute);
+
static constexpr const ble_uuid16_t* Uuid() {
return &CurrentTimeClient::ctsServiceUuid;
}
+
static constexpr const ble_uuid16_t* CurrentTimeCharacteristicUuid() {
return &CurrentTimeClient::currentTimeCharacteristicUuid;
}
+
void Discover(uint16_t connectionHandle, std::function<void(uint16_t)> lambda) override;
private:
diff --git a/src/components/ble/DfuService.h b/src/components/ble/DfuService.h
index 4708a4a6..b56911b9 100644
--- a/src/components/ble/DfuService.h
+++ b/src/components/ble/DfuService.h
@@ -13,9 +13,11 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Drivers {
class SpiNorFlash;
}
+
namespace Controllers {
class Ble;
@@ -46,10 +48,12 @@ namespace Pinetime {
void OnNotificationTimer();
void Reset();
};
+
class DfuImage {
public:
DfuImage(Pinetime::Drivers::SpiNorFlash& spiNorFlash) : spiNorFlash {spiNorFlash} {
}
+
void Init(size_t chunkSize, size_t totalSize, uint16_t expectedCrc);
void Erase();
void Append(uint8_t* data, size_t size);
diff --git a/src/components/ble/FSService.h b/src/components/ble/FSService.h
index 828925a8..b2299623 100644
--- a/src/components/ble/FSService.h
+++ b/src/components/ble/FSService.h
@@ -11,8 +11,10 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class Ble;
+
class FSService {
public:
FSService(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::FS& fs);
@@ -71,6 +73,7 @@ namespace Pinetime {
FSState state;
char filepath[maxpathlen]; // TODO ..ugh fixed filepath len
int fileSize;
+
using ReadHeader = struct __attribute__((packed)) {
commands command;
uint8_t padding;
@@ -89,6 +92,7 @@ namespace Pinetime {
uint32_t chunklen;
uint8_t chunk[];
};
+
using ReadPacing = struct __attribute__((packed)) {
commands command;
uint8_t status;
@@ -124,6 +128,7 @@ namespace Pinetime {
uint32_t dataSize;
uint8_t data[];
};
+
using ListDirHeader = struct __attribute__((packed)) {
commands command;
uint8_t padding;
@@ -171,6 +176,7 @@ namespace Pinetime {
commands command;
uint8_t status;
};
+
using MoveHeader = struct __attribute__((packed)) {
commands command;
uint8_t padding;
diff --git a/src/components/ble/HeartRateService.h b/src/components/ble/HeartRateService.h
index 4e4a5a42..a60c12f6 100644
--- a/src/components/ble/HeartRateService.h
+++ b/src/components/ble/HeartRateService.h
@@ -10,8 +10,10 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class HeartRateController;
+
class HeartRateService {
public:
HeartRateService(Pinetime::System::SystemTask& system, Controllers::HeartRateController& heartRateController);
diff --git a/src/components/ble/ImmediateAlertService.h b/src/components/ble/ImmediateAlertService.h
index 1f778acd..c54b63ec 100644
--- a/src/components/ble/ImmediateAlertService.h
+++ b/src/components/ble/ImmediateAlertService.h
@@ -9,8 +9,10 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class NotificationManager;
+
class ImmediateAlertService {
public:
enum class Levels : uint8_t { NoAlert = 0, MildAlert = 1, HighAlert = 2 };
diff --git a/src/components/ble/MotionService.h b/src/components/ble/MotionService.h
index 1b4ac0a3..c9483766 100644
--- a/src/components/ble/MotionService.h
+++ b/src/components/ble/MotionService.h
@@ -10,8 +10,10 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class MotionController;
+
class MotionService {
public:
MotionService(Pinetime::System::SystemTask& system, Controllers::MotionController& motionController);
diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h
index 047d0d26..9f1042cc 100644
--- a/src/components/ble/MusicService.h
+++ b/src/components/ble/MusicService.h
@@ -30,6 +30,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class MusicService {
public:
diff --git a/src/components/ble/NavigationService.h b/src/components/ble/NavigationService.h
index c0c77f35..78e7b888 100644
--- a/src/components/ble/NavigationService.h
+++ b/src/components/ble/NavigationService.h
@@ -30,6 +30,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class NavigationService {
diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h
index 000231fe..8f1dfed7 100644
--- a/src/components/ble/NimbleController.h
+++ b/src/components/ble/NimbleController.h
@@ -58,12 +58,15 @@ namespace Pinetime {
Pinetime::Controllers::MusicService& music() {
return musicService;
};
+
Pinetime::Controllers::NavigationService& navigation() {
return navService;
};
+
Pinetime::Controllers::AlertNotificationService& alertService() {
return anService;
};
+
Pinetime::Controllers::WeatherService& weather() {
return weatherService;
};
diff --git a/src/components/ble/NotificationManager.h b/src/components/ble/NotificationManager.h
index 4c199dbf..09b5a561 100644
--- a/src/components/ble/NotificationManager.h
+++ b/src/components/ble/NotificationManager.h
@@ -51,9 +51,11 @@ namespace Pinetime {
static constexpr size_t MaximumMessageSize() {
return MessageSize;
};
+
bool IsEmpty() const {
return size == 0;
}
+
size_t NbNotifications() const;
private:
diff --git a/src/components/ble/weather/WeatherService.h b/src/components/ble/weather/WeatherService.h
index e37417da..786cad89 100644
--- a/src/components/ble/weather/WeatherService.h
+++ b/src/components/ble/weather/WeatherService.h
@@ -39,6 +39,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class WeatherService {
diff --git a/src/components/datetime/DateTimeController.h b/src/components/datetime/DateTimeController.h
index 24a3ed40..57ee3510 100644
--- a/src/components/datetime/DateTimeController.h
+++ b/src/components/datetime/DateTimeController.h
@@ -9,6 +9,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class DateTime {
public:
@@ -51,24 +52,31 @@ namespace Pinetime {
void SetTimeZone(int8_t timezone, int8_t dst);
void UpdateTime(uint32_t systickCounter);
+
uint16_t Year() const {
return year;
}
+
Months Month() const {
return month;
}
+
uint8_t Day() const {
return day;
}
+
Days DayOfWeek() const {
return dayOfWeek;
}
+
uint8_t Hours() const {
return hour;
}
+
uint8_t Minutes() const {
return minute;
}
+
uint8_t Seconds() const {
return second;
}
@@ -117,9 +125,11 @@ namespace Pinetime {
std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> CurrentDateTime() const {
return currentDateTime;
}
+
std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> UTCDateTime() const {
return currentDateTime - std::chrono::seconds((tzOffset + dstOffset) * 15 * 60);
}
+
std::chrono::seconds Uptime() const {
return uptime;
}
diff --git a/src/components/fs/FS.h b/src/components/fs/FS.h
index 87fcdc23..9730e474 100644
--- a/src/components/fs/FS.h
+++ b/src/components/fs/FS.h
@@ -35,6 +35,7 @@ namespace Pinetime {
static size_t getSize() {
return size;
}
+
static size_t getBlockSize() {
return blockSize;
}
diff --git a/src/components/gfx/Gfx.h b/src/components/gfx/Gfx.h
index 54c4a8b7..17c248f7 100644
--- a/src/components/gfx/Gfx.h
+++ b/src/components/gfx/Gfx.h
@@ -10,6 +10,7 @@ namespace Pinetime {
namespace Drivers {
class St7789;
}
+
namespace Components {
class Gfx : public Pinetime::Drivers::BufferProvider {
public:
@@ -33,9 +34,11 @@ namespace Pinetime {
static constexpr uint8_t height = 240;
enum class Action { None, FillRectangle, DrawChar };
+
struct State {
State() : busy {false}, action {Action::None}, remainingIterations {0}, currentIteration {0} {
}
+
volatile bool busy;
volatile Action action;
volatile uint16_t remainingIterations;
diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h
index a63f1a70..f66c79f8 100644
--- a/src/components/heartrate/HeartRateController.h
+++ b/src/components/heartrate/HeartRateController.h
@@ -7,9 +7,11 @@ namespace Pinetime {
namespace Applications {
class HeartRateTask;
}
+
namespace System {
class SystemTask;
}
+
namespace Controllers {
class HeartRateController {
public:
@@ -21,9 +23,11 @@ namespace Pinetime {
void Update(States newState, uint8_t heartRate);
void SetHeartRateTask(Applications::HeartRateTask* task);
+
States State() const {
return state;
}
+
uint8_t HeartRate() const {
return heartRate;
}
diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h
index f80b11b9..857bd45a 100644
--- a/src/components/motion/MotionController.h
+++ b/src/components/motion/MotionController.h
@@ -19,12 +19,15 @@ namespace Pinetime {
int16_t X() const {
return x;
}
+
int16_t Y() const {
return y;
}
+
int16_t Z() const {
return z;
}
+
uint32_t NbSteps() const {
return nbSteps;
}
@@ -32,6 +35,7 @@ namespace Pinetime {
void ResetTrip() {
currentTripSteps = 0;
}
+
uint32_t GetTripSteps() const {
return currentTripSteps;
}
@@ -40,6 +44,7 @@ namespace Pinetime {
bool Should_RaiseWake(bool isSleeping);
int32_t currentShakeSpeed();
void IsSensorOk(bool isOk);
+
bool IsSensorOk() const {
return isSensorOk;
}
diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h
index 93f861f3..d1e71656 100644
--- a/src/components/settings/Settings.h
+++ b/src/components/settings/Settings.h
@@ -45,6 +45,7 @@ namespace Pinetime {
Colors ColorBG = Colors::Black;
PTSGaugeStyle gaugeStyle = PTSGaugeStyle::Full;
};
+
struct WatchFaceInfineat {
bool showSideCover = true;
int colorIndex = 0;
@@ -66,6 +67,7 @@ namespace Pinetime {
}
settings.clockFace = face;
};
+
uint8_t GetClockFace() const {
return settings.clockFace;
};
@@ -76,6 +78,7 @@ namespace Pinetime {
}
settings.chimesOption = chimeOption;
};
+
ChimesOption GetChimeOption() const {
return settings.chimesOption;
};
@@ -85,6 +88,7 @@ namespace Pinetime {
settingsChanged = true;
settings.PTS.ColorTime = colorTime;
};
+
Colors GetPTSColorTime() const {
return settings.PTS.ColorTime;
};
@@ -94,6 +98,7 @@ namespace Pinetime {
settingsChanged = true;
settings.PTS.ColorBar = colorBar;
};
+
Colors GetPTSColorBar() const {
return settings.PTS.ColorBar;
};
@@ -103,6 +108,7 @@ namespace Pinetime {
settingsChanged = true;
settings.PTS.ColorBG = colorBG;
};
+
Colors GetPTSColorBG() const {
return settings.PTS.ColorBG;
};
@@ -113,6 +119,7 @@ namespace Pinetime {
settingsChanged = true;
}
};
+
bool GetInfineatShowSideCover() const {
return settings.watchFaceInfineat.showSideCover;
};
@@ -123,6 +130,7 @@ namespace Pinetime {
settingsChanged = true;
}
};
+
int GetInfineatColorIndex() const {
return settings.watchFaceInfineat.colorIndex;
};
@@ -132,6 +140,7 @@ namespace Pinetime {
settingsChanged = true;
settings.PTS.gaugeStyle = gaugeStyle;
};
+
PTSGaugeStyle GetPTSGaugeStyle() const {
return settings.PTS.gaugeStyle;
};
@@ -147,6 +156,7 @@ namespace Pinetime {
void SetSettingsMenu(uint8_t menu) {
settingsMenu = menu;
};
+
uint8_t GetSettingsMenu() const {
return settingsMenu;
};
@@ -157,6 +167,7 @@ namespace Pinetime {
}
settings.clockType = clocktype;
};
+
ClockType GetClockType() const {
return settings.clockType;
};
@@ -167,6 +178,7 @@ namespace Pinetime {
}
settings.notificationStatus = status;
};
+
Notification GetNotificationStatus() const {
return settings.notificationStatus;
};
@@ -255,6 +267,7 @@ namespace Pinetime {
Pinetime::Controllers::FS& fs;
static constexpr uint32_t settingsVersion = 0x0004;
+
struct SettingsData {
uint32_t version = settingsVersion;
uint32_t stepsGoal = 10000;
diff --git a/src/components/timer/TimerController.h b/src/components/timer/TimerController.h
index 93d8afc6..20f07e82 100644
--- a/src/components/timer/TimerController.h
+++ b/src/components/timer/TimerController.h
@@ -7,6 +7,7 @@ namespace Pinetime {
namespace System {
class SystemTask;
}
+
namespace Controllers {
class TimerController {