GlobalInfo.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #ifndef GLOBALINFO_H
  2. #define GLOBALINFO_H
  3. #include "nlohmann/json.hpp"
  4. #define nJson nlohmann::json
  5. /*********************** 全局枚举值 ************************/
  6. /**
  7. * @brief 眼图模块的唯一标识符,用这个为识别方式
  8. *
  9. */
  10. enum class EyeMapUID
  11. {
  12. EMUID_0 = 0,
  13. EMUID_1 = 1,
  14. EMUID_2,
  15. EMUID_3,
  16. EMUID_4,
  17. EMUID_5,
  18. EMUID_6,
  19. EMUID_7,
  20. EMUID_8,
  21. };
  22. /* 示波器通道枚举值 */
  23. enum class OscChnNum
  24. {
  25. Osc_None = 0,
  26. Osc1_CHA = 1,
  27. Osc1_CHB,
  28. Osc2_CHA,
  29. Osc2_CHB,
  30. Osc3_CHA,
  31. Osc3_CHB,
  32. Osc4_CHA,
  33. Osc4_CHB,
  34. };
  35. /* 示波器通道 */
  36. enum class OscChannel
  37. {
  38. CH_A = 0,
  39. CH_B,
  40. };
  41. /* 示波器通道耦合方式 */
  42. enum class OscChannelCoupling
  43. {
  44. AC = 0,
  45. DC,
  46. };
  47. /* 示波器采样率,目前就只要这些 */
  48. enum class OscSampleRate
  49. {
  50. SR_49KHZ = 0,
  51. SR_96KHZ,
  52. SR_781KHZ,
  53. SR_12_5MHZ,
  54. SR_100MHZ,
  55. };
  56. /* 示波器通道的输入档位 */
  57. // enum class OscVoltageRange
  58. enum class OscVoltageRange
  59. {
  60. CR_100MV = 0,
  61. CR_250MV,
  62. CR_500MV,
  63. CR_1V,
  64. CR_2V5,
  65. CR_5V,
  66. CR_8V,
  67. };
  68. /* 触发方式 */
  69. enum class OscTriggerMode
  70. {
  71. TM_RISE = 0, /* 上升沿触发 */
  72. TM_DOWN, /* 下降沿触发 */
  73. TM_DOUBLE, /* 双边沿触发 */
  74. };
  75. /* 触发灵敏度 */
  76. enum class OscTriggerSensitivity
  77. {
  78. TS_LOW = 0, /* 低灵敏度 */
  79. TS_HIGH, /* 高灵敏度 */
  80. };
  81. /* 一个格子的时间刻度值单位 */
  82. enum class OscTimeGridValue
  83. {
  84. TGV_20NS = 20, /* 0.02us */
  85. TGV_50NS = 50, /* 0.05us */
  86. TGV_100NS = 100, /* 0.1us */
  87. TGV_200NS = 200, /* 0.2us */
  88. TGV_500NS = 500, /* 0.5us */
  89. TGV_1US = 1000, /* 1us */
  90. TGV_2US = 2000, /* 2us */
  91. TGV_5US = 5000, /* 5us */
  92. TGV_10US = 10000, /* 10us */
  93. TGV_20US = 20000, /* 20us */
  94. TGV_100US = 100000, /* 100us */
  95. };
  96. /*********************** 全局变量 ************************/
  97. extern const int g_HorPixel; /* 矩阵的水平像素数目 */
  98. extern const int g_VerPixel; /* 矩阵的垂直像素数目 */
  99. /*********************** 全局配置 ************************/
  100. #define GConfig GlobalConfig::getInstance()
  101. class GlobalConfig
  102. {
  103. GlobalConfig() {}
  104. GlobalConfig(const GlobalConfig&) = delete;
  105. GlobalConfig& operator=(const GlobalConfig&) = delete;
  106. public:
  107. ~GlobalConfig();
  108. GlobalConfig& getInstance()
  109. {
  110. static GlobalConfig gConfig;
  111. return gConfig;
  112. }
  113. };
  114. #endif /* GLOBALINFO_H */