diff options
| author | hassless <85612141+hassless@users.noreply.github.com> | 2021-06-18 17:17:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-18 17:17:26 +0200 |
| commit | 84a6c88e98d8b1420edbddd7b67a38737bf5cbb2 (patch) | |
| tree | b10cab7ef1a7645fa897aabb179c2e8849a919d7 /src/displayapp/screens/Metronome.h | |
| parent | d0df278b0be2aae0493d901569a094dba221ce99 (diff) | |
| parent | e90e8c7426f9a44e696b208a5b393a60476a3d43 (diff) | |
Merge branch 'JF002:develop' into improve-battery-percentage-to-battery-icon-mapping
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; + }; +} |
