diff options
| author | Kieran Cawthray <kieranc@gmail.com> | 2021-06-16 16:33:34 +0200 |
|---|---|---|
| committer | Kieran Cawthray <kieranc@gmail.com> | 2021-06-16 16:33:34 +0200 |
| commit | f5d756928ffef032fb5ac85e73f9a68b7b8f64dc (patch) | |
| tree | 907608958d0be8a97a3d646c842fde3095cef939 /src/displayapp/screens/Metronome.h | |
| parent | f2d01166c380b72ebcb13ef649def88ff4cf2d21 (diff) | |
| parent | e90e8c7426f9a44e696b208a5b393a60476a3d43 (diff) | |
Merge remote-tracking branch 'upstream/develop' into pinetimestyle
Diffstat (limited to 'src/displayapp/screens/Metronome.h')
| -rw-r--r-- | src/displayapp/screens/Metronome.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/displayapp/screens/Metronome.h b/src/displayapp/screens/Metronome.h new file mode 100644 index 00000000..3a1f1084 --- /dev/null +++ b/src/displayapp/screens/Metronome.h @@ -0,0 +1,34 @@ +#pragma once + +#include "systemtask/SystemTask.h" +#include "components/motor/MotorController.h" + +#include <array> + +namespace Pinetime::Applications::Screens { + + class Metronome : public Screen { + public: + Metronome(DisplayApp* app, Controllers::MotorController& motorController, System::SystemTask& systemTask); + ~Metronome() override; + bool Refresh() override; + bool OnTouchEvent(TouchEvents event) override; + void OnEvent(lv_obj_t* obj, lv_event_t event); + enum class States { Running, Stopped }; + + private: + bool running; + States currentState; + TickType_t startTime; + TickType_t tappedTime = 0; + Controllers::MotorController& motorController; + System::SystemTask& systemTask; + uint16_t bpm = 120; + uint8_t bpb = 4; + uint8_t counter = 1; + + lv_obj_t *bpmArc, *bpmTap, *bpmValue, *bpmLegend; + lv_obj_t *bpbDropdown, *bpbLegend; + lv_obj_t *playPause, *playPauseLabel; + }; +} |
