diff options
| author | JF <jf@codingfield.com> | 2021-06-20 15:09:24 (GMT) |
|---|---|---|
| committer | Gitea <gitea@fake.local> | 2021-06-20 15:09:24 (GMT) |
| commit | d96395c81021778af35b8b4bf965bfe8663eb081 (patch) | |
| tree | 979e75d716bca8bcd69b86f24a2f2d0270a274d0 /src/displayapp/screens/Metronome.h | |
| parent | fb133a0167f7ea4281bca45be6efc928720d4f82 (diff) | |
| parent | 20a24f8cf56551eae1202f8dc5733bd0cf61adbf (diff) | |
Merge branch 'develop' of JF/PineTime into master
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 0000000..3a1f108 --- /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; + }; +} |
