#pragma once #include #include "json.hpp" using json= nlohmann::json; struct MotorSpeedParam { int finalPeriod; int Fmin; float stepnum; float a; float offset; float finalDelay; float acceleration_time; }; struct MotorSpeedParamEx { MotorSpeedParam mt_param; int speed; int colormode; int dpi; int sp; bool empty() { return dpi?0:1; } }; class MotorConfig { private: enum class MTBDType { MT_TMC, MT_DRV }; public: MotorConfig(/* args */); ~MotorConfig(); json SetParams(MotorSpeedParamEx& param,json js); std::vector GetMotorSpeedParams(const std::string& json_str); MotorSpeedParamEx GetMotorSpeedParam(int dpi,int iscolor,int speedmod, std::string js); private: void to_json(MotorSpeedParamEx& param,json& j); void from_json(json& j,MotorSpeedParamEx& param); };