| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- /*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2024-05-30 RuoFeng the first version
- */
- #ifndef APPLICATIONS_TEST_H_
- #define APPLICATIONS_TEST_H_
- /*********************↓ define ↓************************/
- #define ecodesize sizeof(Record)
- #define MAX_e_code_NUM (LOG_AREA_SIZE / ecodesize) // 异常码最大保存值 这个板子给的空间太小 存个20吧
- /*********************↑ define ↑************************/
- /**
- *
- *
- *
- *
- * */
- /*********************↓ include ↓************************/
- #include "stdio.h"
- #include "string.h"
- /*********************↑ include ↑************************/
- /**
- *
- *
- *
- *
- * */
- /*********************↓ extern ↓************************/
- /*********************↑ extern ↑************************/
- /**
- *
- *
- *
- *
- * */
- /********************↓ declaration ↓***********************/
- typedef struct
- {
- uint32_t Time_Stampe; // 时间戳
- uint16_t code; // 异常码
- uint16_t para; // 附带参数
- uint32_t num; // 序号
- char detail[52]; // 内容
- } Record;
- typedef enum
- {
- e_reboot = 1,
- e_current_0,
- e_fan_err,
- e_limit_tape_err,
- e_limit_up_err,
- e_limit_down_err,
- e_ResetRunStaManual,
- e_jump_collA,
- e_jump_collB,
- e_set_rs_RESET, // 0-流程中 1-手动指令 2-异常工作状态
- e_set_rs_COLL_A, // 0-流程中
- e_set_rs_COLL_B, // 0-流程中 1-过期跳过 2-coll校验失败
- e_set_rs_Tape_Move, // 0-流程中 1-过期跳过 2-coll校验失败
- e_set_rs_Press_Tape, // 0-流程中 1-coll校验失败
- e_set_rs_Take_Photo, // 0-流程中
- e_cam_offline, // 对焦拍照时相机未连接 1-流程中 2-手动测试
- e_StepUp_Fail, // 步进上行超时
- e_StepDown_Fail, // 步进下行超时
- e_AutoTest,
- /*** 一键测试
- * 0-开始
- * */
- e_TestLed,
- e_TapeTest, // 0-开始 1-手动退出 2-执行完毕退出
- e_TakePhoto, // 执行一次
- e_Collect, // 0-开始 1-结束
- e_Traplamp, // 0-开始 1-结束
- e_SwitchDown, // 0-开始 1-结束
- e_TestFB, // 0-开始 1-结束
- e_ReWorkDay, // 今日结束
- e_Reboot, // 10秒前设备开机
- e_clearecode, // ecode空间回收
- e_getin_luxwork, // 光控工作开始
- e_getout_luxwork, // 光控工作结束
- e_exit_luxwork, // 光控工作退出
- e_update, // 升级相关
- e_cam_timeout, // 图像传输超时
- e_rtu_net_fail, // rtu网络错误
- e_work_time_err, // Work Time Setdef
- e_manual_mode, // 手动触发模式
- e_demo_mode, // 演示模式
- e_CMD_list, // 指令操作记录
- e_rain_tig, // 雨控触发记录
- e_rtc_fail, // 时间异常
- e_rtu_fail, // rtu无法正常通信
- e_CNT_RESET, // 清空胶带计数
- e_Hk_Take_io, // 记录拍照
- e_work_mode_pkg, // 记录工作包
- e_typeMAX
- } ecode_list;
- /*********** 测试相关参数 ************/
- typedef enum
- {
- tt_auto = 0,
- tt_takephoto,
- tt_collect,
- tt_Traplamp,
- tt_fb_test,
- tt_switchled,
- tt_scm,
- tt_typemax
- } JD_Test_Type;
- typedef struct
- {
- uint8_t autotest;
- uint8_t collect_test;
- uint8_t takephoto_test;
- uint8_t traplamp_test;
- uint8_t switchled_test;
- uint8_t FBtest;
- uint8_t scm_test;
- } JD_Test_Sta;
- typedef enum // 传输该按钮的活动状态
- {
- tig_OFF = 0, // 触发状态为失效
- tig_ON // 触发状态为生效
- } ts_def;
- typedef enum // 传输该按钮的活动状态
- {
- rs_normal = 0,
- rs_force
- } rs_def;
- typedef struct
- {
- ts_def autotest_t;
- ts_def collect_t;
- ts_def takephoto_t;
- ts_def traplamp_t;
- ts_def switchled_t;
- ts_def fb_test_t;
- ts_def scm_test_t;
- } Reflash_test_sta;
- typedef enum // 拍照测试的类型
- {
- jt_auto = 0,
- jt_aftake,
- jt_takenow,
- jt_typemax
- } bjt_def;
- typedef enum // 步进电机运动的类型
- {
- cm_upstart = 0,
- cm_upstop,
- cm_downstart,
- cm_downstop,
- cm_typemax
- } cm_def;
- typedef enum
- {
- le_limit_tape = 0,
- le_limit_up,
- le_limlt_dowm,
- le_typemax
- } le_def;
- typedef struct
- {
- RTC_DateTypeDef *date;
- RTC_TimeTypeDef *time;
- uint8_t code;
- uint8_t para;
- uint8_t a;
- uint8_t b;
- } se_modle;
- /*********** 测试相关参数 ************/
- void HMI_WRITE_Force(char *fmt, ...);
- void Recode_e_code(ecode_list code, uint16_t para , char *detail);
- Res_def JD_Check_Test_Sta(JD_Test_Type type);
- void Check_TestFree(void);
- char *makeJson_Config_BDH(char *deviceId);
- void Report_Limit_Error(le_def type);
- uint32_t tm_to_timestamp(void);
- /********************↑ declaration ↑***********************/
- /**
- *
- *
- *
- *
- * */
- /*********************↓ global variables ↓************************/
- /*********************↑ global variables ↑************************/
- /**
- *
- *
- *
- *
- * */
- /********************* 250313 BSP_RTC ********************/
- #define Reg_Read_Fail 0x7FFF
- typedef enum //取被写入的RTC寄存器位置
- {
- RayTigCnt_DR2 = 2, // RTC_BKP_DR2
- PhotoBase_DR8 = 8, // RTC_BKP_DR8 拍照基点低16位(F1备份寄存器为16位)
- PhotoBase_DR9 = 9, // RTC_BKP_DR9 拍照基点高16位
- PhotoBase_DR10 = 10, // RTC_BKP_DR10 拍照基点有效性魔数(最后写, 作提交标记)
- // RTC_Reg_4_5 , // RTC_BKP_DR3
- // RTC_Reg_CRC , // RTC_BKP_DR4
- } BKP_Reg_Num;
- typedef enum //用于定位读写RTC备份寄存器时指定位置
- {
- Reg_Low = 0, //取 低 8 位
- Reg_Middle , //取 8 -16 位
- Reg_High , //取 16-24 位
- Reg_Very_High , //取 24-32 位
- Reg_Low_16 , //取 低16 位
- Reg_High_16 , //取 高16 位
- Reg_All , //取 32 位
- } BKP_Reg_Pos;
- uint16_t RTC_GET_TigVal(void);
- void RTC_SET_TigVal(uint16_t val);
- uint16_t Get_REMAIN(void); // 剩余量% (由已拍张数换算)
- /* RTC备份寄存器读写: F1每寄存器16位; Reg_High_16/Reg_All 未实现, 只用 Reg_Low_16 */
- uint32_t BSP_Read_RTC_Reg(BKP_Reg_Num reg_num, BKP_Reg_Pos type);
- uint8_t BSP_Write_RTC_Reg(BKP_Reg_Num reg_num, BKP_Reg_Pos type, uint32_t w_data);
- #define TRUE 1U
- #define FALSE 0U
- /********************* 250313 BSP_RTC ********************/
- #endif /* APPLICATIONS_TEST_H_ */
|