Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 0 additions & 1 deletion src/components/alarm/AlarmController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,4 @@ void AlarmController::StopAlerting() {
// set next instance
ScheduleAlarm();
}
systemTask->PushMessage(System::Messages::StopRinging);
}
13 changes: 11 additions & 2 deletions src/displayapp/DisplayApp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ void DisplayApp::Process(void* instance) {
void DisplayApp::InitHw() {
brightnessController.Init();
ApplyBrightness();
motorController.Init();
}

void DisplayApp::Refresh() {
Expand Down Expand Up @@ -206,6 +207,7 @@ void DisplayApp::Refresh() {
} else {
LoadNewScreen(Apps::Timer, DisplayApp::FullRefreshDirections::Up);
}
motorController.RunForDuration(35);
break;
case Messages::AlarmTriggered:
if (currentApp == Apps::Alarm) {
Expand All @@ -217,6 +219,7 @@ void DisplayApp::Refresh() {
break;
case Messages::ShowPairingKey:
LoadNewScreen(Apps::PassKey, DisplayApp::FullRefreshDirections::Up);
motorController.RunForDuration(35);
break;
case Messages::TouchEvent: {
if (state != States::Running) {
Expand Down Expand Up @@ -307,8 +310,12 @@ void DisplayApp::Refresh() {
// Added to remove warning
// What should happen here?
break;
case Messages::Clock:
case Messages::Chime:
LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::None);
motorController.RunForDuration(35);
break;
case Messages::OnChargingEvent:
motorController.RunForDuration(15);
break;
}
}
Expand Down Expand Up @@ -342,6 +349,7 @@ void DisplayApp::LoadNewScreen(Apps app, DisplayApp::FullRefreshDirections direc
void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections direction) {
lvgl.CancelTap();
ApplyBrightness();
motorController.StopRinging();

currentScreen.reset(nullptr);
SetFullRefresh(direction);
Expand Down Expand Up @@ -399,7 +407,8 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio
currentScreen = std::make_unique<Screens::Timer>(this, timerController);
break;
case Apps::Alarm:
currentScreen = std::make_unique<Screens::Alarm>(this, alarmController, settingsController.GetClockType(), *systemTask);
currentScreen =
std::make_unique<Screens::Alarm>(this, alarmController, settingsController.GetClockType(), *systemTask, motorController);
break;

// Settings
Expand Down
5 changes: 3 additions & 2 deletions src/displayapp/Messages.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ namespace Pinetime {
RestoreBrightness,
ShowPairingKey,
AlarmTriggered,
Clock,
BleRadioEnableToggle
Chime,
BleRadioEnableToggle,
OnChargingEvent,
};
}
}
Expand Down
7 changes: 5 additions & 2 deletions src/displayapp/screens/Alarm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@ static void StopAlarmTaskCallback(lv_task_t* task) {
Alarm::Alarm(DisplayApp* app,
Controllers::AlarmController& alarmController,
Controllers::Settings::ClockType clockType,
System::SystemTask& systemTask)
: Screen(app), alarmController {alarmController}, systemTask {systemTask} {
System::SystemTask& systemTask,
Controllers::MotorController& motorController)
: Screen(app), alarmController {alarmController}, systemTask {systemTask}, motorController {motorController} {

hourCounter.Create();
lv_obj_align(hourCounter.GetObject(), nullptr, LV_ALIGN_IN_TOP_LEFT, 0, 0);
Expand Down Expand Up @@ -200,11 +201,13 @@ void Alarm::SetAlerting() {
lv_obj_set_hidden(enableSwitch, true);
lv_obj_set_hidden(btnStop, false);
taskStopAlarm = lv_task_create(StopAlarmTaskCallback, pdMS_TO_TICKS(60 * 1000), LV_TASK_PRIO_MID, this);
motorController.StartRinging();
systemTask.PushMessage(System::Messages::DisableSleeping);
}

void Alarm::StopAlerting() {
alarmController.StopAlerting();
motorController.StopRinging();
SetSwitchState(LV_ANIM_OFF);
if (taskStopAlarm != nullptr) {
lv_task_del(taskStopAlarm);
Expand Down
4 changes: 3 additions & 1 deletion src/displayapp/screens/Alarm.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ namespace Pinetime {
Alarm(DisplayApp* app,
Controllers::AlarmController& alarmController,
Controllers::Settings::ClockType clockType,
System::SystemTask& systemTask);
System::SystemTask& systemTask,
Controllers::MotorController& motorController);
~Alarm() override;
void SetAlerting();
void OnButtonEvent(lv_obj_t* obj, lv_event_t event);
Expand All @@ -43,6 +44,7 @@ namespace Pinetime {
private:
Controllers::AlarmController& alarmController;
System::SystemTask& systemTask;
Controllers::MotorController& motorController;

lv_obj_t *btnStop, *txtStop, *btnRecur, *txtRecur, *btnInfo, *enableSwitch;
lv_obj_t* lblampm = nullptr;
Expand Down
1 change: 0 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ Pinetime::System::SystemTask systemTask(spi,
alarmController,
watchdog,
notificationManager,
motorController,
heartRateSensor,
motionController,
motionSensor,
Expand Down
1 change: 0 additions & 1 deletion src/systemtask/Messages.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ namespace Pinetime {
OnChargingEvent,
OnPairing,
SetOffAlarm,
StopRinging,
MeasureBatteryTimerExpired,
BatteryPercentageUpdated,
LowBattery,
Expand Down
17 changes: 3 additions & 14 deletions src/systemtask/SystemTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
Controllers::AlarmController& alarmController,
Drivers::Watchdog& watchdog,
Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
Pinetime::Drivers::Hrs3300& heartRateSensor,
Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
Expand All @@ -85,7 +84,6 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
alarmController {alarmController},
watchdog {watchdog},
notificationManager {notificationManager},
motorController {motorController},
heartRateSensor {heartRateSensor},
motionSensor {motionSensor},
settingsController {settingsController},
Expand Down Expand Up @@ -149,7 +147,6 @@ void SystemTask::Work() {
touchPanel.Init();
dateTimeController.Register(this);
batteryController.Register(this);
motorController.Init();
motionSensor.SoftReset();
timerController.Init(this);
alarmController.Init(this);
Expand Down Expand Up @@ -295,19 +292,14 @@ void SystemTask::Work() {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.RunForDuration(35);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::TimerDone);
break;
case Messages::SetOffAlarm:
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.StartRinging();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::AlarmTriggered);
break;
case Messages::StopRinging:
motorController.StopRinging();
break;
case Messages::BleConnected:
ReloadIdleTimer();
isBleDiscoveryTimerRunning = true;
Expand Down Expand Up @@ -394,9 +386,8 @@ void SystemTask::Work() {
alarmController.State() != AlarmController::AlarmState::Alerting) {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Chime);
}
motorController.RunForDuration(35);
}
break;
case Messages::OnNewHalfHour:
Expand All @@ -406,14 +397,13 @@ void SystemTask::Work() {
alarmController.State() != AlarmController::AlarmState::Alerting) {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Chime);
}
motorController.RunForDuration(35);
}
break;
case Messages::OnChargingEvent:
batteryController.ReadPowerState();
motorController.RunForDuration(15);
displayApp.PushMessage(Applications::Display::Messages::OnChargingEvent);
ReloadIdleTimer();
if (state == SystemTaskState::Sleeping) {
GoToRunning();
Expand All @@ -439,7 +429,6 @@ void SystemTask::Work() {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.RunForDuration(35);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::ShowPairingKey);
break;
case Messages::BleRadioEnableToggle:
Expand Down
3 changes: 0 additions & 3 deletions src/systemtask/SystemTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#include "systemtask/SystemMonitor.h"
#include "components/ble/NimbleController.h"
#include "components/ble/NotificationManager.h"
#include "components/motor/MotorController.h"
#include "components/timer/TimerController.h"
#include "components/alarm/AlarmController.h"
#include "components/fs/FS.h"
Expand Down Expand Up @@ -70,7 +69,6 @@ namespace Pinetime {
Controllers::AlarmController& alarmController,
Drivers::Watchdog& watchdog,
Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
Pinetime::Drivers::Hrs3300& heartRateSensor,
Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
Expand Down Expand Up @@ -116,7 +114,6 @@ namespace Pinetime {
QueueHandle_t systemTasksMsgQueue;
Pinetime::Drivers::Watchdog& watchdog;
Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Controllers::MotorController& motorController;
Pinetime::Drivers::Hrs3300& heartRateSensor;
Pinetime::Drivers::Bma421& motionSensor;
Pinetime::Controllers::Settings& settingsController;
Expand Down