JT-DT-YD4N02B_4G_RTT_MRS/applications/user_sys.h

136 lines
3.6 KiB
C
Raw Permalink Normal View History

2024-12-31 17:48:22 +08:00
/***
2024-12-30 11:50:48 +08:00
* @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-4G\applications\user_sys.h
2024-12-31 17:48:22 +08:00
* @Description:
2024-12-30 11:50:48 +08:00
* @
2024-12-31 17:48:22 +08:00
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
2024-12-30 11:50:48 +08:00
*/
#ifndef __USER_SYS_H__
#define __USER_SYS_H__
#include "rtdef.h"
#include "bsp_flash.h"
2025-01-23 16:29:51 +08:00
2025-01-13 09:12:44 +08:00
#define MAX_EXPIRATION_YEARS (10U)
#define MAX_EXPIRATION_DAYS (365 * MAX_EXPIRATION_YEARS + 30 * 3U)
2024-12-30 11:50:48 +08:00
2025-01-17 10:41:37 +08:00
#define SYS_HW_VERSION (0X22U)
2025-02-15 14:32:55 +08:00
#define SYS_SW_VERSION (0X12U)
2025-02-13 08:56:47 +08:00
#define SYS_IOT_UPLOAD_CYCLE_MIN (0X3C00U) // 高位在后,低位在前
2025-01-13 09:12:44 +08:00
#define SYS_IOT_RETRY (0X03U)
#define SYS_TEMP_ALARM_THRESHOLD (0X30U)
#define SYS_ALARM_VALVE (0X08U)
2025-01-13 09:12:44 +08:00
#define SYS_EMV_SWITCH (0X04U)
#define SYS_RELAY_SWITCH (0X04U)
#define SYS_ALARM_VALVE_MAX (0X30U)
2025-02-15 14:32:55 +08:00
#define SYS_IOT_URL ("8.130.127.158")
#define SYS_IOT_PORT ("7101")
2025-02-15 14:15:57 +08:00
2025-03-17 13:12:51 +08:00
// #define SYS_IOT_URL ("8.130.117.149")
// #define SYS_IOT_PORT ("7137")
2025-02-15 14:32:55 +08:00
// #define SYS_IOT_URL ("121.41.227.175")
// #define SYS_IOT_PORT ("2345")
2025-01-13 09:12:44 +08:00
// 定义宏来打印编译时间和日期
#define COMPILE_TIME \
do { \
rt_kprintf("Compiled on: %s at %s\n", __DATE__, __TIME__); \
} while (0)
2025-01-23 16:29:51 +08:00
2025-03-17 13:12:51 +08:00
// 定义宏来打印编译时间和日期
// #define COMPILE_TIME \
// do { \
// rt_kprintf("Compiled at: %s\n", __TIMESTAMP__); \
// } while (0)
2025-02-14 11:44:02 +08:00
#ifndef MIN
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#endif
2025-01-20 18:39:59 +08:00
typedef enum
2024-12-30 11:50:48 +08:00
{
2024-12-31 17:48:22 +08:00
kPowerOnEvent,
kPreheatingEvent,
2024-12-30 11:50:48 +08:00
kNormalDetectionEvents,
2024-12-31 17:48:22 +08:00
kAlarmEvent,
kAlarmRcyEvent,
kFaultEvent,
kFaultRcyEvent,
kSensorFailureEvent,
kPowerDownEvent,
kSelfCheckEvent,
KMuteEvent,
2024-12-30 11:50:48 +08:00
kAlarmExceptionEvent, // alarm_exception
2024-12-31 17:48:22 +08:00
kMaxEventcnt,
} AlarmEvent;
2024-12-30 11:50:48 +08:00
// 定义开关状态枚举类型
typedef enum
{
2024-12-31 17:48:22 +08:00
kStatusOff = 0, // 关闭状态
kStatusOn // 打开状态
2024-12-30 11:50:48 +08:00
} TeStatus;
// 定义系统标志位结构体
typedef struct
{
2024-12-31 17:48:22 +08:00
TeStatus valve_status; // 阀门状态
TeStatus relay_status; // 继电器状态
2024-12-30 11:50:48 +08:00
} TsDeviceStatus;
// 定义系统状态枚举类型
typedef enum
{
2024-12-31 17:48:22 +08:00
kSysToBeCalibStatus = 0, // 系统待校准状态
kSysGasCalibStatus, // 气体校准状态
KSysTestStatus, // 测试状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysSelfCheckingStatus, // 自检状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysPowerUpStatus, // 上电状态
kSysPowerDownStatus, // 下电状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysStartupPreheatingStatus, // 启动预热状态
kSysRuningStatus, // 运行中状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysAlarmStatus, // 报警状态
kSysMuteStatus, // 消音状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysFaultStatus, // 故障状态
kSysSensorEndOfLifeStatus, // 传感器寿命结束状态
2024-12-30 11:50:48 +08:00
2024-12-31 17:48:22 +08:00
kSysRestoreFactoryStatus, // 恢复出厂设置状态
} TeSysStatus;
2024-12-30 11:50:48 +08:00
// 定义系统控制结构体
typedef struct
{
2024-12-31 17:48:22 +08:00
AlarmEvent status; // 当前状态
AlarmEvent last_status; // 上一次状态
2024-12-30 11:50:48 +08:00
} TsSysControl;
2024-12-31 17:48:22 +08:00
extern volatile rt_uint16_t work_duration; // 工作天数
2024-12-30 11:50:48 +08:00
extern volatile rt_uint8_t device_state_flag;
extern struct rt_event alarm_event;
extern TsSysControl SysControl;
2024-12-31 17:48:22 +08:00
void Send_Laser_Alarm_Event(AlarmEvent event);
2024-12-30 11:50:48 +08:00
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(flash_sever_info *sever_info, uint8_t *hex_array);
2024-12-30 11:50:48 +08:00
int BSP_SYS_Init(void);
2024-12-31 17:48:22 +08:00
rt_uint32_t IMEI_Delay(void);
2024-12-30 11:50:48 +08:00
#endif //!__USER_SYS_H__