zynq_7010/sleep_processes_code/JsonConfig.h

66 lines
1.8 KiB
C++

#pragma once
#include <unistd.h>
#include "json.hpp"
#include <string>
#include <map>
#include <mutex>
struct ScannerScanInfo
{
unsigned int TotalScanned; //扫描总页数
unsigned int RollerNum;
unsigned int CuoNum; //搓纸总数
unsigned int JamInNum; //搓纸失败次数
unsigned int JamOutNum; //卡纸次数
unsigned int DoubleNum; //双张次数
unsigned int ErrorNum; //其他异常次数
unsigned int HRatio; //横向校正系数
unsigned int VRatio; //纵向校正系数
unsigned int SleepTime; //休眠时间 单位s
unsigned int SpeedMode; //速率模式
unsigned int VID; //vid
unsigned short PID; //pid
std::string SerialNum; //序列号
std::string FWVersion; //固件版本号
std::string Token; //token 令牌
};
#define SCANNER_SCAN_INFO_PATH "/mnt/flash-disk/huago/jsonconfig.json"
using namespace std;
using json = nlohmann::json;
class JsonConfig
{
public:
enum class ConfigType
{
Color_Flat,
Color_Correct,
Gray_Flat,
Gray_Correct
};
private:
map<ConfigType,string> cfgPaths={
{ConfigType::Color_Flat,"/usr/local/etc/huago/Color_Flat.json"},
{ConfigType::Color_Correct,"/usr/local/etc/huago/Color_Correct.json"},
{ConfigType::Gray_Flat,"/usr/local/etc/huago/Gray_Flat.json"},
{ConfigType::Gray_Correct,"/usr/local/etc/huago/Gray_Correct.json"}
};
map<ConfigType,string> cfgPrefix={
{ConfigType::Color_Flat,"Color_Flat"},
{ConfigType::Color_Correct,"Color_Correct"},
{ConfigType::Gray_Flat,"Gray_Flat"},
{ConfigType::Gray_Correct,"Gray_Correct"}
};
ConfigType m_cfgType;
public:
JsonConfig();
JsonConfig(ConfigType type);
~JsonConfig();
ScannerScanInfo GetScanInfo();
private:
std::mutex m_lock;
};