summaryrefslogtreecommitdiff
path: root/src/components/motor
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-04-09 21:16:21 +0200
committerJean-François Milants <jf@codingfield.com>2021-04-09 21:16:21 +0200
commit15b3b8e282dd5b2132b0095716cd9d88740d4579 (patch)
treec26870103f8baaa933399cfb86cca25aa7e60d8b /src/components/motor
parent9ac4be8b759bb2cedeb999ce5e87d983261beded (diff)
parent57b4c3f0edc6acfa31bd2160abdcd6091920ba63 (diff)
Merge branch 'develop' into motion-sensor
# Conflicts: # src/CMakeLists.txt # src/displayapp/Apps.h # src/displayapp/DisplayApp.cpp # src/displayapp/DisplayApp.h # src/displayapp/lv_pinetime_theme.c # src/displayapp/screens/ApplicationList.cpp # src/drivers/TwiMaster.cpp # src/systemtask/SystemTask.h
Diffstat (limited to 'src/components/motor')
-rw-r--r--src/components/motor/MotorController.cpp7
-rw-r--r--src/components/motor/MotorController.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/src/components/motor/MotorController.cpp b/src/components/motor/MotorController.cpp
index 7f53fbf7..345234b3 100644
--- a/src/components/motor/MotorController.cpp
+++ b/src/components/motor/MotorController.cpp
@@ -7,6 +7,8 @@ APP_TIMER_DEF(vibTimer);
using namespace Pinetime::Controllers;
+MotorController::MotorController( Controllers::Settings &settingsController ) : settingsController{settingsController} {}
+
void MotorController::Init() {
nrf_gpio_cfg_output(pinMotor);
nrf_gpio_pin_set(pinMotor);
@@ -14,7 +16,10 @@ void MotorController::Init() {
app_timer_create(&vibTimer, APP_TIMER_MODE_SINGLE_SHOT, vibrate);
}
-void MotorController::SetDuration(uint8_t motorDuration) {
+void MotorController::SetDuration(uint8_t motorDuration) {
+
+ if ( settingsController.GetVibrationStatus() == Controllers::Settings::Vibration::OFF ) return;
+
nrf_gpio_pin_clear(pinMotor);
/* Start timer for motorDuration miliseconds and timer triggers vibrate() when it finishes*/
app_timer_start(vibTimer, APP_TIMER_TICKS(motorDuration), NULL);
diff --git a/src/components/motor/MotorController.h b/src/components/motor/MotorController.h
index bdc20c0c..2f2e0343 100644
--- a/src/components/motor/MotorController.h
+++ b/src/components/motor/MotorController.h
@@ -2,6 +2,7 @@
#include <cstdint>
#include "app_timer.h"
+#include "components/settings/Settings.h"
namespace Pinetime {
namespace Controllers {
@@ -9,10 +10,12 @@ namespace Pinetime {
class MotorController {
public:
+ MotorController( Controllers::Settings &settingsController );
void Init();
void SetDuration(uint8_t motorDuration);
private:
+ Controllers::Settings& settingsController;
static void vibrate(void * p_context);
};
}