#pragma once #include "json.hpp" #include #include #include "CameraParam.h" #include using json = nlohmann::json; class CorrectParam { public: CorrectParam(/* args */); ~CorrectParam(); FPGAConfigParam GetFpgaparam(int dpi, int mode); FPGAConfigParam GetFpgaparam_8458_color_Lvds(int dpi, int mode); void SaveCorrectParam(FPGAConfigParam &parms); FPGAConfigParam_8478 GetFpgaparam_8478(int dpi, int mode); FPGAConfigParam_8478 GetFpgaparam_8478_HL_Lvds(int dpi, int mode); void SaveCorrectParam(FPGAConfigParam_8478 &parms); void set_sp(int dpi, int mode,uint32_t sp); void set_sp_8478(int dpi, int mode,uint32_t sp); void set_sp_8458_color_lvds(int dpi,int mode,uint32_t sp); void set_sp_8748_HL_lvds(int dpi,int mode,uint32_t sp); private: void initdefaultpapram(); std::vector GetCorrectParams(); std::vector GetCorrectParams_8458_Color_Lvds(); void to_json(json &j, FPGAConfigParam ¶m); void from_json(json &j, FPGAConfigParam ¶m); std::vector GetCorrectParams_8478(); std::vector GetCorrectParams_8478_HL_Lvds(); void to_json(json &j, FPGAConfigParam_8478 ¶m); void from_json(json &j, FPGAConfigParam_8478 ¶m); std::mutex m_lock; }; extern CorrectParam m_static_correctparam; static CorrectParam& Get_Static_CorrectParam() { return m_static_correctparam; }