51 lines
890 B
C
51 lines
890 B
C
|
#pragma once
|
||
|
#include <vector>
|
||
|
#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<MotorSpeedParamEx> 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);
|
||
|
};
|
||
|
|