test.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2024-05-30 RuoFeng the first version
  9. */
  10. #ifndef APPLICATIONS_TEST_H_
  11. #define APPLICATIONS_TEST_H_
  12. /*********************↓ define ↓************************/
  13. #define ecodesize sizeof(Record)
  14. #define MAX_e_code_NUM (LOG_AREA_SIZE / ecodesize) // 异常码最大保存值 这个板子给的空间太小 存个20吧
  15. /*********************↑ define ↑************************/
  16. /**
  17. *
  18. *
  19. *
  20. *
  21. * */
  22. /*********************↓ include ↓************************/
  23. #include "stdio.h"
  24. #include "string.h"
  25. /*********************↑ include ↑************************/
  26. /**
  27. *
  28. *
  29. *
  30. *
  31. * */
  32. /*********************↓ extern ↓************************/
  33. /*********************↑ extern ↑************************/
  34. /**
  35. *
  36. *
  37. *
  38. *
  39. * */
  40. /********************↓ declaration ↓***********************/
  41. typedef struct
  42. {
  43. uint32_t Time_Stampe; // 时间戳
  44. uint16_t code; // 异常码
  45. uint16_t para; // 附带参数
  46. uint32_t num; // 序号
  47. char detail[52]; // 内容
  48. } Record;
  49. typedef enum
  50. {
  51. e_reboot = 1,
  52. e_current_0,
  53. e_fan_err,
  54. e_limit_tape_err,
  55. e_limit_up_err,
  56. e_limit_down_err,
  57. e_ResetRunStaManual,
  58. e_jump_collA,
  59. e_jump_collB,
  60. e_set_rs_RESET, // 0-流程中 1-手动指令 2-异常工作状态
  61. e_set_rs_COLL_A, // 0-流程中
  62. e_set_rs_COLL_B, // 0-流程中 1-过期跳过 2-coll校验失败
  63. e_set_rs_Tape_Move, // 0-流程中 1-过期跳过 2-coll校验失败
  64. e_set_rs_Press_Tape, // 0-流程中 1-coll校验失败
  65. e_set_rs_Take_Photo, // 0-流程中
  66. e_cam_offline, // 对焦拍照时相机未连接 1-流程中 2-手动测试
  67. e_StepUp_Fail, // 步进上行超时
  68. e_StepDown_Fail, // 步进下行超时
  69. e_AutoTest,
  70. /*** 一键测试
  71. * 0-开始
  72. * */
  73. e_TestLed,
  74. e_TapeTest, // 0-开始 1-手动退出 2-执行完毕退出
  75. e_TakePhoto, // 执行一次
  76. e_Collect, // 0-开始 1-结束
  77. e_Traplamp, // 0-开始 1-结束
  78. e_SwitchDown, // 0-开始 1-结束
  79. e_TestFB, // 0-开始 1-结束
  80. e_ReWorkDay, // 今日结束
  81. e_Reboot, // 10秒前设备开机
  82. e_clearecode, // ecode空间回收
  83. e_getin_luxwork, // 光控工作开始
  84. e_getout_luxwork, // 光控工作结束
  85. e_exit_luxwork, // 光控工作退出
  86. e_update, // 升级相关
  87. e_cam_timeout, // 图像传输超时
  88. e_rtu_net_fail, // rtu网络错误
  89. e_work_time_err, // Work Time Setdef
  90. e_manual_mode, // 手动触发模式
  91. e_demo_mode, // 演示模式
  92. e_rtu_reboot, // 为RTU重启
  93. e_ctl_lamp, // 动态控制上诱捕灯
  94. e_FB_Clean, // 清灰
  95. e_para_setdef, // 恢复默认参数
  96. e_typeMAX
  97. } ecode_list;
  98. /*********** 测试相关参数 ************/
  99. typedef enum
  100. {
  101. tt_auto = 0,
  102. tt_takephoto,
  103. tt_collect,
  104. tt_Traplamp,
  105. tt_Trapdown,
  106. tt_fb_test,
  107. tt_switchled,
  108. tt_typemax
  109. } JD_Test_Type;
  110. typedef struct
  111. {
  112. uint8_t autotest;
  113. uint8_t collect_test;
  114. uint8_t takephoto_test;
  115. uint8_t traplamp_test;
  116. uint8_t trapdown_test;
  117. uint8_t switchled_test;
  118. uint8_t FBtest;
  119. } JD_Test_Sta;
  120. typedef enum // 传输该按钮的活动状态
  121. {
  122. tig_OFF = 0, // 触发状态为失效
  123. tig_ON // 触发状态为生效
  124. } ts_def;
  125. typedef enum // 传输该按钮的活动状态
  126. {
  127. rs_normal = 0,
  128. rs_force
  129. } rs_def;
  130. typedef struct
  131. {
  132. ts_def autotest_t;
  133. ts_def collect_t;
  134. ts_def takephoto_t;
  135. ts_def traplamp_t;
  136. ts_def trapdown_t;
  137. ts_def switchled_t;
  138. ts_def fb_test_t;
  139. } Reflash_test_sta;
  140. typedef enum // 拍照测试的类型
  141. {
  142. jt_auto = 0,
  143. jt_aftake,
  144. jt_takenow,
  145. jt_typemax
  146. } bjt_def;
  147. typedef enum // 步进电机运动的类型
  148. {
  149. cm_upstart = 0,
  150. cm_upstop,
  151. cm_downstart,
  152. cm_downstop,
  153. cm_typemax
  154. } cm_def;
  155. typedef enum
  156. {
  157. le_limit_tape = 0,
  158. le_limit_up,
  159. le_limlt_dowm,
  160. le_typemax
  161. } le_def;
  162. typedef struct
  163. {
  164. RTC_DateTypeDef *date;
  165. RTC_TimeTypeDef *time;
  166. uint8_t code;
  167. uint8_t para;
  168. uint8_t a;
  169. uint8_t b;
  170. } se_modle;
  171. /*********** 测试相关参数 ************/
  172. void HMI_WRITE_Force(char *fmt, ...);
  173. void Recode_e_code(ecode_list code, uint16_t para , char *detail);
  174. Res_def JD_Check_Test_Sta(JD_Test_Type type);
  175. void Check_TestFree(void);
  176. char *makeJson_Config_BDH(char *deviceId);
  177. void Report_Limit_Error(le_def type);
  178. void CTL_SENSOR_12V1(void);
  179. void CTL_5V1(void);
  180. /********************↑ declaration ↑***********************/
  181. /**
  182. *
  183. *
  184. *
  185. *
  186. * */
  187. /*********************↓ global variables ↓************************/
  188. /*********************↑ global variables ↑************************/
  189. /**
  190. *
  191. *
  192. *
  193. *
  194. * */
  195. /********************* 250313 BSP_RTC ********************/
  196. #define Reg_Read_Fail 0x7FFF
  197. typedef enum //取被写入的RTC寄存器位置
  198. {
  199. RayTigCnt_DR2 = 2, // RTC_BKP_DR2
  200. // RTC_Reg_4_5 , // RTC_BKP_DR3
  201. // RTC_Reg_CRC , // RTC_BKP_DR4
  202. } BKP_Reg_Num;
  203. typedef enum //用于定位读写RTC备份寄存器时指定位置
  204. {
  205. Reg_Low = 0, //取 低 8 位
  206. Reg_Middle , //取 8 -16 位
  207. Reg_High , //取 16-24 位
  208. Reg_Very_High , //取 24-32 位
  209. Reg_Low_16 , //取 低16 位
  210. Reg_High_16 , //取 高16 位
  211. Reg_All , //取 32 位
  212. } BKP_Reg_Pos;
  213. uint16_t RTC_GET_TigVal(void);
  214. void RTC_SET_TigVal(uint16_t val);
  215. /********************* 250313 BSP_RTC ********************/
  216. #endif /* APPLICATIONS_TEST_H_ */