104 lines
2.8 KiB
C
104 lines
2.8 KiB
C
/***
|
|
* @Author: mbw
|
|
* @Date: 2024-10-09 08:42:14
|
|
* @LastEditors: mbw && 1600520629@qq.com
|
|
* @LastEditTime: 2024-11-12 14:19:50
|
|
* @FilePath: \JT-DT-YD4N02A_RTT_MRS\applications\user_sys.h
|
|
* @Description:
|
|
* @
|
|
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
|
*/
|
|
#ifndef __USER_SYS_H__
|
|
#define __USER_SYS_H__
|
|
|
|
#include "rtdef.h"
|
|
#include "bsp_flash.h"
|
|
|
|
|
|
#define SYS_PREHEAT_TIME_S (10U)
|
|
#define SYS_MUTE_TIME_S (uint8_t)(10 * 3)
|
|
|
|
#define MAX_EXPIRATION_DAYS (uint16_t)(365 * 10 + 30 * 3)
|
|
|
|
typedef enum
|
|
{
|
|
kPowerOnEvent,
|
|
kPreheatingEvent,
|
|
kNormalDetectionEvents,
|
|
kAlarmEvent,
|
|
kAlarmRcyEvent,
|
|
kFaultEvent,
|
|
kFaultRcyEvent,
|
|
kSensorFailureEvent,
|
|
kPowerDownEvent,
|
|
kSelfCheckEvent,
|
|
KMuteEvent,
|
|
kAlarmExceptionEvent, // alarm_exception
|
|
kMaxEventcnt,
|
|
} AlarmEvent;
|
|
|
|
|
|
// 定义开关状态枚举类型
|
|
typedef enum
|
|
{
|
|
kStatusOff = 0, // 关闭状态
|
|
kStatusOn // 打开状态
|
|
} TeStatus;
|
|
// 定义系统标志位结构体
|
|
typedef struct
|
|
{
|
|
TeStatus valve_status; // 阀门状态
|
|
TeStatus relay_status; // 继电器状态
|
|
} TsDeviceStatus;
|
|
|
|
|
|
// 定义系统状态枚举类型
|
|
typedef enum
|
|
{
|
|
kSysToBeCalibStatus = 0, // 系统待校准状态
|
|
kSysGasCalibStatus, // 气体校准状态
|
|
KSysTestStatus, // 测试状态
|
|
|
|
kSysSelfCheckingStatus, // 自检状态
|
|
|
|
kSysPowerUpStatus, // 上电状态
|
|
kSysPowerDownStatus, // 下电状态
|
|
|
|
kSysStartupPreheatingStatus, // 启动预热状态
|
|
kSysRuningStatus, // 运行中状态
|
|
|
|
kSysAlarmStatus, // 报警状态
|
|
kSysMuteStatus, // 消音状态
|
|
|
|
kSysFaultStatus, // 故障状态
|
|
kSysSensorEndOfLifeStatus, // 传感器寿命结束状态
|
|
|
|
kSysRestoreFactoryStatus, // 恢复出厂设置状态
|
|
}TeSysStatus;
|
|
|
|
// 定义系统控制结构体
|
|
typedef struct
|
|
{
|
|
AlarmEvent status; // 当前状态
|
|
AlarmEvent last_status; // 上一次状态
|
|
} TsSysControl;
|
|
|
|
extern volatile rt_uint16_t work_duration;//工作天数
|
|
extern volatile rt_uint8_t device_state_flag;
|
|
|
|
extern struct rt_event alarm_event;
|
|
extern TsSysControl SysControl;
|
|
void Send_Laser_Alarm_Event(AlarmEvent event);
|
|
|
|
|
|
unsigned short crc1021(const char *data, unsigned int length);
|
|
void HexStrToBytes(const char *hexString, unsigned char *byteArray, size_t byteCount);
|
|
void String2Hex(char *hex_arry, char *str);
|
|
unsigned int VerToHex(const char *version);
|
|
int Extract_Value(const char *str, const char *key);
|
|
int _Self_Check_Mode(void);
|
|
int Convert_To_Hex(const struct flash_sever_info *sever_info, uint8_t *hex_array);
|
|
#endif //!__USER_SYS_H__
|
|
|
|
|