#pragma once #include #include #include "systemtask/SystemTask.h" #include "displayapp/screens/Screen.h" #include #include #include #include namespace Pinetime { namespace Applications { namespace Screens { class Motion : public Screen { public: Motion(DisplayApp* app, System::SystemTask& systemTask, Controllers::MotionController& motionController, Controllers::MotorController& motorController); ~Motion() override; void Refresh() override; private: Controllers::MotionController& motionController; Controllers::MotorController& motorController; System::SystemTask& systemTask; // bool calibrating = true; bool started = false; bool jumping = false; TickType_t last_frame_time = 0; TickType_t last_redraw_frame_time = 0; // uint8_t dropped_frames = 0; double current_jump_length; double current_jump_speed; struct Record { double jump_length; }; Record records[5] = { {-1}, {-1}, {-1}, {-1}, {-1} }; char labelText[6] = { '0', '0', '0', '0', '0', 0 }; lv_obj_t* chart; lv_chart_series_t* ser1; lv_chart_series_t* ser2; lv_chart_series_t* ser3; lv_obj_t* label; lv_obj_t* recordLabel; lv_obj_t* lastLabel; lv_obj_t* labelStep; lv_task_t* taskRefresh; }; } } }