40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#pragma once
|
|
#include <json.hpp>
|
|
#include <string>
|
|
#include <mutex>
|
|
using json = nlohmann::json;
|
|
|
|
|
|
class MotorboardParam
|
|
{
|
|
private:
|
|
const std::string ParamPath ="/usr/local/huago/motorboardparam.json";
|
|
const std::string feed_mode = "feedmode";
|
|
const std::string automaticcontrol_feedmode = "automaticcontrolfeedmode";
|
|
const std::string automaticcontrolfeedmode_threshold = "automaticcontrolfeedmodethreshold";
|
|
const std::string trayposition = "trayposition";
|
|
public:
|
|
struct MBParam
|
|
{
|
|
int feedmode;
|
|
int automaticcontrolfeedmode;
|
|
float automaticcontrolfeedmode_threshold;
|
|
int trayposition;
|
|
};
|
|
MotorboardParam(/* args */);
|
|
~MotorboardParam();
|
|
MotorboardParam::MBParam GetParam();
|
|
void SaveParam(MotorboardParam::MBParam param);
|
|
int GetOrSetTrayPosition(bool isget,int value);
|
|
int GetOrSetFeedMode(bool isget,int value);
|
|
int GetOrSetEnableAutomaticControlFeedMode(bool isget,int value);
|
|
private:
|
|
void savejson(json js);
|
|
json struct2json(MotorboardParam::MBParam param);
|
|
MotorboardParam::MBParam json2struct(json js);
|
|
json getjson();
|
|
json getdefaultjson();
|
|
std::mutex m_setlock;
|
|
};
|
|
|