trigger vibration from systemtask
This commit is contained in:
		
							parent
							
								
									da56ca5bfb
								
							
						
					
					
						commit
						1bd5457848
					
				@ -5,7 +5,6 @@
 | 
			
		||||
#include "components/ble/BleController.h"
 | 
			
		||||
#include "components/datetime/DateTimeController.h"
 | 
			
		||||
#include "components/ble/NotificationManager.h"
 | 
			
		||||
#include "components/motor/MotorController.h"
 | 
			
		||||
#include "displayapp/screens/ApplicationList.h"
 | 
			
		||||
#include "displayapp/screens/Brightness.h"
 | 
			
		||||
#include "displayapp/screens/Clock.h"
 | 
			
		||||
@ -33,7 +32,6 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
 | 
			
		||||
                       Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog,
 | 
			
		||||
                       System::SystemTask &systemTask,
 | 
			
		||||
                       Pinetime::Controllers::NotificationManager& notificationManager,
 | 
			
		||||
                       Pinetime::Controllers::MotorController& motorController,
 | 
			
		||||
                       Pinetime::Controllers::HeartRateController& heartRateController) :
 | 
			
		||||
        lcd{lcd},
 | 
			
		||||
        lvgl{lvgl},
 | 
			
		||||
@ -45,7 +43,6 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
 | 
			
		||||
        currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, heartRateController) },
 | 
			
		||||
        systemTask{systemTask},
 | 
			
		||||
        notificationManager{notificationManager},
 | 
			
		||||
        motorController{motorController},
 | 
			
		||||
        heartRateController{heartRateController} {
 | 
			
		||||
  msgQueue = xQueueCreate(queueSize, itemSize);
 | 
			
		||||
  onClockApp = true;
 | 
			
		||||
@ -127,7 +124,7 @@ void DisplayApp::Refresh() {
 | 
			
		||||
          currentScreen.reset(nullptr);
 | 
			
		||||
          lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Up);
 | 
			
		||||
          onClockApp = false;
 | 
			
		||||
          currentScreen.reset(new Screens::Notifications(this, notificationManager, motorController, Screens::Notifications::Modes::Preview));
 | 
			
		||||
          currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Preview));
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
        break;
 | 
			
		||||
@ -218,7 +215,7 @@ void DisplayApp::RunningState() {
 | 
			
		||||
      case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break;
 | 
			
		||||
      case Apps::Navigation : currentScreen.reset(new Screens::Navigation(this, systemTask.nimble().navigation())); break;
 | 
			
		||||
      case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break;
 | 
			
		||||
      case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, motorController, Screens::Notifications::Modes::Normal)); break;
 | 
			
		||||
      case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Normal)); break;
 | 
			
		||||
      case Apps::HeartRate: currentScreen.reset(new Screens::HeartRate(this, heartRateController)); break;
 | 
			
		||||
    }
 | 
			
		||||
    nextApp = Apps::None;
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ namespace Pinetime {
 | 
			
		||||
    class Ble;
 | 
			
		||||
    class DateTime;
 | 
			
		||||
    class NotificationManager;
 | 
			
		||||
    class MotorController;
 | 
			
		||||
    class HeartRateController;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -45,7 +44,6 @@ namespace Pinetime {
 | 
			
		||||
                   Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog,
 | 
			
		||||
                   System::SystemTask &systemTask,
 | 
			
		||||
                   Pinetime::Controllers::NotificationManager& notificationManager,
 | 
			
		||||
                   Pinetime::Controllers::MotorController& motorController,
 | 
			
		||||
                   Pinetime::Controllers::HeartRateController& heartRateController);
 | 
			
		||||
        void Start();
 | 
			
		||||
        void PushMessage(Messages msg);
 | 
			
		||||
@ -89,7 +87,6 @@ namespace Pinetime {
 | 
			
		||||
        Controllers::BrightnessController brightnessController;
 | 
			
		||||
        std::unique_ptr<Screens::Modal> modal;
 | 
			
		||||
        Pinetime::Controllers::NotificationManager& notificationManager;
 | 
			
		||||
        Pinetime::Controllers::MotorController& motorController;
 | 
			
		||||
        Pinetime::Controllers::FirmwareValidator validator;
 | 
			
		||||
        TouchModes touchMode = TouchModes::Gestures;
 | 
			
		||||
        Pinetime::Controllers::HeartRateController& heartRateController;
 | 
			
		||||
 | 
			
		||||
@ -5,11 +5,9 @@ using namespace Pinetime::Applications::Screens;
 | 
			
		||||
 | 
			
		||||
Notifications::Notifications(DisplayApp *app, 
 | 
			
		||||
  Pinetime::Controllers::NotificationManager ¬ificationManager, 
 | 
			
		||||
  Pinetime::Controllers::MotorController& motorController, 
 | 
			
		||||
  Modes mode) :
 | 
			
		||||
    Screen(app), notificationManager{notificationManager}, 
 | 
			
		||||
    motorController{motorController}, mode{mode} {
 | 
			
		||||
 | 
			
		||||
  Modes mode) : 
 | 
			
		||||
    Screen(app), notificationManager{notificationManager}, mode{mode} {
 | 
			
		||||
  
 | 
			
		||||
  notificationManager.ClearNewNotificationFlag();
 | 
			
		||||
  auto notification = notificationManager.GetLastNotification();
 | 
			
		||||
  
 | 
			
		||||
@ -29,8 +27,6 @@ Notifications::Notifications(DisplayApp *app,
 | 
			
		||||
    style_line.line.width = 3;
 | 
			
		||||
    style_line.line.rounded = 0;
 | 
			
		||||
 | 
			
		||||
    motorController.SetDuration(35);
 | 
			
		||||
 | 
			
		||||
    timeoutLine = lv_line_create(lv_scr_act(), nullptr);
 | 
			
		||||
    lv_line_set_style(timeoutLine, LV_LINE_STYLE_MAIN, &style_line);
 | 
			
		||||
    lv_line_set_points(timeoutLine, timeoutLinePoints, 2);
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,6 @@
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include "Screen.h"
 | 
			
		||||
#include "components/ble/NotificationManager.h"
 | 
			
		||||
#include "components/motor/MotorController.h"
 | 
			
		||||
 | 
			
		||||
namespace Pinetime {
 | 
			
		||||
  namespace Applications {
 | 
			
		||||
@ -15,7 +14,6 @@ namespace Pinetime {
 | 
			
		||||
          enum class Modes {Normal, Preview};
 | 
			
		||||
          explicit Notifications(DisplayApp* app, 
 | 
			
		||||
                  Pinetime::Controllers::NotificationManager& notificationManager, 
 | 
			
		||||
                  Pinetime::Controllers::MotorController& motorController,
 | 
			
		||||
                  Modes mode);
 | 
			
		||||
          ~Notifications() override;
 | 
			
		||||
 | 
			
		||||
@ -49,7 +47,6 @@ namespace Pinetime {
 | 
			
		||||
            const char* text;
 | 
			
		||||
          };
 | 
			
		||||
          Pinetime::Controllers::NotificationManager& notificationManager;
 | 
			
		||||
          Pinetime::Controllers::MotorController& motorController;
 | 
			
		||||
          Modes mode = Modes::Normal;
 | 
			
		||||
          std::unique_ptr<NotificationItem> currentItem;
 | 
			
		||||
          Controllers::NotificationManager::Notification::Id currentId;
 | 
			
		||||
 | 
			
		||||
@ -80,17 +80,17 @@ void SystemTask::Work() {
 | 
			
		||||
  twiMaster.Init();
 | 
			
		||||
  touchPanel.Init();
 | 
			
		||||
  batteryController.Init();
 | 
			
		||||
  motorController.Init();
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  displayApp.reset(new Pinetime::Applications::DisplayApp(lcd, lvgl, touchPanel, batteryController, bleController,
 | 
			
		||||
                                                          dateTimeController, watchdogView, *this, notificationManager, 
 | 
			
		||||
                                                          motorController, heartRateController));
 | 
			
		||||
                                                          heartRateController));
 | 
			
		||||
  displayApp->Start();
 | 
			
		||||
 | 
			
		||||
  batteryController.Update();
 | 
			
		||||
  displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateBatteryLevel);
 | 
			
		||||
 | 
			
		||||
  motorController.Init();
 | 
			
		||||
 | 
			
		||||
  heartRateSensor.Init();
 | 
			
		||||
  heartRateSensor.Disable();
 | 
			
		||||
  heartRateApp.reset(new Pinetime::Applications::HeartRateTask(heartRateSensor, heartRateController));
 | 
			
		||||
@ -162,6 +162,7 @@ void SystemTask::Work() {
 | 
			
		||||
          break;
 | 
			
		||||
        case Messages::OnNewNotification:
 | 
			
		||||
          if(isSleeping && !isWakingUp) GoToRunning();
 | 
			
		||||
          motorController.SetDuration(35);
 | 
			
		||||
          displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::NewNotification);
 | 
			
		||||
          break;
 | 
			
		||||
        case Messages::BleConnected:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user