BLE_TYQ_BJQ_CH32V303/applications/user_sys.h

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__