Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,7 @@ list(APPEND SOURCE_FILES

## Watch faces
displayapp/icons/bg_clock.c
displayapp/screens/WatchFaceBase.cpp
displayapp/screens/WatchFaceAnalog.cpp
displayapp/screens/WatchFaceDigital.cpp
displayapp/screens/PineTimeStyle.cpp
Expand All @@ -451,6 +452,7 @@ list(APPEND SOURCE_FILES
components/battery/BatteryController.cpp
components/ble/BleController.cpp
components/ble/NotificationManager.cpp
components/datetime/DateTime.cpp
components/datetime/DateTimeController.cpp
components/brightness/BrightnessController.cpp
components/motion/MotionController.cpp
Expand Down
2 changes: 1 addition & 1 deletion src/components/ble/CurrentTimeClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace {
}
}

CurrentTimeClient::CurrentTimeClient(DateTime& dateTimeController) : dateTimeController {dateTimeController} {
CurrentTimeClient::CurrentTimeClient(DateTimeController& dateTimeController) : dateTimeController {dateTimeController} {
}

void CurrentTimeClient::Init() {
Expand Down
8 changes: 4 additions & 4 deletions src/components/ble/CurrentTimeClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@

namespace Pinetime {
namespace Controllers {
class DateTime;
class DateTimeController;

class CurrentTimeClient : public BleClient {
public:
explicit CurrentTimeClient(DateTime& dateTimeController);
explicit CurrentTimeClient(DateTimeController& dateTimeController);
void Init();
void Reset();
bool OnDiscoveryEvent(uint16_t connectionHandle, const ble_gatt_error* error, const ble_gatt_svc* service);
Expand Down Expand Up @@ -45,7 +45,7 @@ namespace Pinetime {
static constexpr ble_uuid16_t ctsServiceUuid {.u {.type = BLE_UUID_TYPE_16}, .value = ctsServiceId};
static constexpr ble_uuid16_t currentTimeCharacteristicUuid {.u {.type = BLE_UUID_TYPE_16}, .value = currentTimeCharacteristicId};

DateTime& dateTimeController;
DateTimeController& dateTimeController;
bool isDiscovered = false;
uint16_t ctsStartHandle;
uint16_t ctsEndHandle;
Expand All @@ -55,4 +55,4 @@ namespace Pinetime {
std::function<void(uint16_t)> onServiceDiscovered;
};
}
}
}
2 changes: 1 addition & 1 deletion src/components/ble/CurrentTimeService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ int CurrentTimeService::OnTimeAccessed(uint16_t conn_handle, uint16_t attr_handl
return 0;
}

CurrentTimeService::CurrentTimeService(DateTime& dateTimeController)
CurrentTimeService::CurrentTimeService(DateTimeController& dateTimeController)
: characteristicDefinition {{.uuid = (ble_uuid_t*) &ctChrUuid,
.access_cb = CTSCallback,

Expand Down
4 changes: 2 additions & 2 deletions src/components/ble/CurrentTimeService.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace Pinetime {
namespace Controllers {
class CurrentTimeService {
public:
CurrentTimeService(DateTime& dateTimeController);
CurrentTimeService(DateTimeController& dateTimeController);
void Init();

int OnTimeAccessed(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt);
Expand All @@ -40,7 +40,7 @@ namespace Pinetime {
uint8_t reason;
} CtsData;

DateTime& m_dateTimeController;
DateTimeController& m_dateTimeController;
};
}
}
2 changes: 1 addition & 1 deletion src/components/ble/DfuService.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,4 +155,4 @@ namespace Pinetime {
TimerHandle_t timeoutTimer;
};
}
}
}
2 changes: 1 addition & 1 deletion src/components/ble/NimbleController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ using namespace Pinetime::Controllers;

NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask,
Pinetime::Controllers::Ble& bleController,
DateTime& dateTimeController,
DateTimeController& dateTimeController,
Pinetime::Controllers::NotificationManager& notificationManager,
Controllers::Battery& batteryController,
Pinetime::Drivers::SpiNorFlash& spiNorFlash,
Expand Down
6 changes: 3 additions & 3 deletions src/components/ble/NimbleController.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ namespace Pinetime {

namespace Controllers {
class Ble;
class DateTime;
class DateTimeController;
class NotificationManager;

class NimbleController {

public:
NimbleController(Pinetime::System::SystemTask& systemTask,
Pinetime::Controllers::Ble& bleController,
DateTime& dateTimeController,
DateTimeController& dateTimeController,
Pinetime::Controllers::NotificationManager& notificationManager,
Controllers::Battery& batteryController,
Pinetime::Drivers::SpiNorFlash& spiNorFlash,
Expand Down Expand Up @@ -76,7 +76,7 @@ namespace Pinetime {
static constexpr const char* deviceName = "InfiniTime";
Pinetime::System::SystemTask& systemTask;
Pinetime::Controllers::Ble& bleController;
DateTime& dateTimeController;
DateTimeController& dateTimeController;
Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Drivers::SpiNorFlash& spiNorFlash;
Pinetime::Controllers::DfuService dfuService;
Expand Down
4 changes: 2 additions & 2 deletions src/components/ble/NotificationManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ NotificationManager::Notification NotificationManager::GetPrevious(NotificationM
return result;
}

bool NotificationManager::AreNewNotificationsAvailable() {
bool NotificationManager::AreNewNotificationsAvailable() const {
return newNotification;
}

bool NotificationManager::IsVibrationEnabled() {
bool NotificationManager::IsVibrationEnabled() const {
return vibrationEnabled;
}

Expand Down
6 changes: 3 additions & 3 deletions src/components/ble/NotificationManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ namespace Pinetime {
Notification GetNext(Notification::Id id);
Notification GetPrevious(Notification::Id id);
bool ClearNewNotificationFlag();
bool AreNewNotificationsAvailable();
bool IsVibrationEnabled();
bool AreNewNotificationsAvailable() const;
bool IsVibrationEnabled() const;
void ToggleVibrations();

static constexpr size_t MaximumMessageSize() {
Expand All @@ -63,4 +63,4 @@ namespace Pinetime {
bool vibrationEnabled = true;
};
}
}
}
136 changes: 136 additions & 0 deletions src/components/datetime/DateTime.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
#include "DateTime.h"

#include <array>

namespace Pinetime {
namespace DateTime {
namespace {

constexpr std::array<char const*, 8> DaysStringLow = {
"--",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
};

constexpr std::array<char const*, 8> DaysStringShortLow = {
"--",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"
};

constexpr std::array<char const*, 8> DaysStringShort = {
"--",
"MON",
"TUE",
"WED",
"THU",
"FRI",
"SAT",
"SUN"
};

constexpr std::array<char const*, 8> DaysString = {
"--",
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
};

constexpr std::array<char const*, 13> MonthsString = {
"--",
"JAN",
"FEB",
"MAR",
"APR",
"MAY",
"JUN",
"JUL",
"AUG",
"SEP",
"OCT",
"NOV",
"DEC"
};

constexpr std::array<char const*, 13> MonthsStringLow = {
"--",
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
};

constexpr std::array<char const*, 13> MonthsLow = {
"--",
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};

template<typename E>
constexpr typename std::underlying_type<E>::type to_underlying(E e) {
return static_cast<typename std::underlying_type<E>::type>(e);
}
}

char const* MonthShortToString(Months month) {
return MonthsString[to_underlying(month)];
}

char const* MonthShortToStringLow(Months month) {
return MonthsStringLow[to_underlying(month)];
}

char const* MonthsToStringLow(Months month) {
return MonthsLow[to_underlying(month)];
}

char const* DayOfWeekToString(Days day) {
return DaysString[to_underlying(day)];
}

char const* DayOfWeekShortToString(Days day) {
return DaysStringShort[to_underlying(day)];
}

char const* DayOfWeekToStringLow(Days day) {
return DaysStringLow[to_underlying(day)];
}

char const* DayOfWeekShortToStringLow(Days day) {
return DaysStringShortLow[to_underlying(day)];
}

}
}
42 changes: 42 additions & 0 deletions src/components/datetime/DateTime.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#pragma once

#include <cstdint>

namespace Pinetime {
namespace DateTime {
enum class Days : uint8_t {
Unknown,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};

enum class Months : uint8_t {
Unknown,
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};

char const* MonthShortToString(Months month);
char const* MonthShortToStringLow(Months month);
char const* MonthsToStringLow(Months month);
char const* DayOfWeekToString(Days day);
char const* DayOfWeekShortToString(Days day);
char const* DayOfWeekToStringLow(Days day);
char const* DayOfWeekShortToStringLow(Days day);
}
}
Loading