#ifndef GLOBALINFO_H #define GLOBALINFO_H #include "nlohmann/json.hpp" #define nJson nlohmann::json /*********************** 全局枚举值 ************************/ /** * @brief 眼图模块的唯一标识符,用这个为识别方式 * */ enum class EyeMapUID { EMUID_0 = 0, EMUID_1 = 1, EMUID_2, EMUID_3, EMUID_4, EMUID_5, EMUID_6, EMUID_7, EMUID_8, }; /* 示波器通道枚举值 */ enum class OscChnNum { Osc_None = 0, Osc1_CHA = 1, Osc1_CHB, Osc2_CHA, Osc2_CHB, Osc3_CHA, Osc3_CHB, Osc4_CHA, Osc4_CHB, }; /* 示波器通道 */ enum class OscChannel { CH_A = 0, CH_B, }; /* 示波器通道耦合方式 */ enum class OscChannelCoupling { AC = 0, DC, }; /* 示波器采样率,目前就只要这些 */ enum class OscSampleRate { SR_49KHZ = 0, SR_96KHZ, SR_781KHZ, SR_12_5MHZ, SR_100MHZ, }; /* 示波器通道的输入档位 */ // enum class OscVoltageRange enum class OscVoltageRange { CR_100MV = 0, CR_250MV, CR_500MV, CR_1V, CR_2V5, CR_5V, CR_8V, }; /* 触发方式 */ enum class OscTriggerMode { TM_RISE = 0, /* 上升沿触发 */ TM_DOWN, /* 下降沿触发 */ TM_DOUBLE, /* 双边沿触发 */ }; /* 触发灵敏度 */ enum class OscTriggerSensitivity { TS_LOW = 0, /* 低灵敏度 */ TS_HIGH, /* 高灵敏度 */ }; /* 一个格子的时间刻度值单位 */ enum class OscTimeGridValue { TGV_20NS = 20, /* 0.02us */ TGV_50NS = 50, /* 0.05us */ TGV_100NS = 100, /* 0.1us */ TGV_200NS = 200, /* 0.2us */ TGV_500NS = 500, /* 0.5us */ TGV_1US = 1000, /* 1us */ TGV_2US = 2000, /* 2us */ TGV_5US = 5000, /* 5us */ TGV_10US = 10000, /* 10us */ TGV_20US = 20000, /* 20us */ TGV_100US = 100000, /* 100us */ }; /*********************** 全局变量 ************************/ extern const int g_HorPixel; /* 矩阵的水平像素数目 */ extern const int g_VerPixel; /* 矩阵的垂直像素数目 */ /*********************** 全局配置 ************************/ #define GConfig GlobalConfig::getInstance() class GlobalConfig { GlobalConfig() {} GlobalConfig(const GlobalConfig&) = delete; GlobalConfig& operator=(const GlobalConfig&) = delete; public: ~GlobalConfig(); GlobalConfig& getInstance() { static GlobalConfig gConfig; return gConfig; } }; #endif /* GLOBALINFO_H */