119 lines
3.2 KiB
C
119 lines
3.2 KiB
C
/***
|
|
* @Author: mbw
|
|
* @Date: 2024-10-09 08:42:14
|
|
* @LastEditors: mbw && 1600520629@qq.com
|
|
* @LastEditTime: 2025-02-21 11:30:29
|
|
* @FilePath: \ble_bjq_ch303rct6_ml307\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"
|
|
|
|
#define SYS_PREHEAT_TIME_S (10U)
|
|
#define SYS_MUTE_TIME_S (uint8_t)(10 * 3)
|
|
#define MAX_EXPIRATION_DAYS (uint16_t)(365 * 5 + 30 * 3)
|
|
|
|
|
|
#define SYS_HW_VERSION (0X13U)
|
|
#define SYS_SW_VERSION (0X12U)
|
|
#define SYS_IOT_UPLOAD_CYCLE_MIN (0X003CU) // 高位在后,低位在前
|
|
#define SYS_IOT_RETRY (0X03U)
|
|
#define SYS_TEMP_ALARM_THRESHOLD (0X32U)
|
|
#define SYS_ALARM_VALVE (0x06D6U)//1750
|
|
#define SYS_EMV_SWITCH (0X04U)
|
|
#define SYS_RELAY_SWITCH (0X04U)
|
|
#define SYS_ALARM_VALVE_MAX (0X30U)
|
|
|
|
|
|
// 正式平台链接
|
|
// #define SYS_IOT_URL ("8.130.122.162")
|
|
// #define SYS_IOT_PORT ("7153")
|
|
|
|
//测试平台链接
|
|
#define SYS_IOT_URL ("8.130.105.38")
|
|
#define SYS_IOT_PORT ("7133")
|
|
|
|
|
|
#define K (8 * 1000)
|
|
|
|
// 定义宏来打印编译时间和日期
|
|
#define COMPILE_TIME \
|
|
do { \
|
|
rt_kprintf("Compiled on: %s at %s\n", __DATE__, __TIME__); \
|
|
} while (0)
|
|
|
|
#ifndef MIN
|
|
#define MIN(a, b) ((a) < (b) ? (a) : (b))
|
|
#endif
|
|
|
|
typedef enum
|
|
{
|
|
kPowerOnEvent,
|
|
kPreheatingEvent,
|
|
kNormalDetectionEvents,
|
|
kAlarmEvent,
|
|
kAlarmRcyEvent,
|
|
kFaultEvent,
|
|
kFaultRcyEvent,
|
|
kSensorFailureEvent,
|
|
kPowerDownEvent,
|
|
kSelfCheckEvent,
|
|
KMuteEvent,
|
|
kAlarmExceptionEvent, // 浓度异常报警
|
|
kCalibrationEvent, //标定阶段
|
|
kNotCalibratedEvent, //未标定状态
|
|
kMaxEventcnt,
|
|
} AlarmEvent;
|
|
|
|
// 定义系统状态枚举类型
|
|
typedef enum
|
|
{
|
|
kNotCalibrated = 0, // 未标定
|
|
kSysGasCalibStatus, // 已经标定
|
|
|
|
} TeCalibrationStatus;
|
|
// 定义开关状态枚举类型
|
|
typedef enum
|
|
{
|
|
kStatusOff = 0, // 关闭状态
|
|
kStatusOn // 打开状态
|
|
} TeStatus;
|
|
|
|
// 定义系统标志位结构体
|
|
typedef struct
|
|
{
|
|
TeStatus valve_status; // 阀门状态
|
|
TeStatus relay_status; // 继电器状态
|
|
} TsDeviceStatus;
|
|
|
|
// 定义系统控制结构体
|
|
typedef struct
|
|
{
|
|
AlarmEvent status; // 当前状态
|
|
AlarmEvent last_status; // 上一次状态
|
|
} TsSysControl;
|
|
|
|
extern volatile rt_uint16_t work_duration; // 工作天数
|
|
extern volatile rt_uint8_t device_state_flag;
|
|
extern TeCalibrationStatus g_Calibration_status;
|
|
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);
|
|
rt_uint8_t XOR_CheckSum(const rt_uint8_t *data, rt_size_t len);
|
|
rt_uint32_t IMEI_Delay(void);
|
|
|
|
int BSP_SYS_Init(void);
|
|
|
|
#endif //!__USER_SYS_H__
|