|
|
#ifndef MES_H__
|
|
|
#define MES_H__
|
|
|
|
|
|
#include "type.h"
|
|
|
#include <string.h>
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//掩码
|
|
|
|
|
|
#define SWITCH_MASK_BIT_POWER_ALL 0x03
|
|
|
|
|
|
#define WIFI_STATUS_MASK 0x01
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************打印 标志位以及数据 的时长 S 消息长度*************************************************/
|
|
|
|
|
|
|
|
|
#define DEBUG_STATUS_TIME 1000 //10S
|
|
|
|
|
|
#define DEBUG_FLAG_TIME 500 //5S
|
|
|
|
|
|
#define RECEIVE_MCU_PACKAGE_LENGTH 25
|
|
|
|
|
|
/*****************************模组数据包*****************************/
|
|
|
#if 1
|
|
|
#define WIFI_PACKAGE_HEAD 0xa55a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 接收wifi配置数据包的数据偏移
|
|
|
#define WIFI_CONTROL_DATA_OFFSET 8
|
|
|
|
|
|
|
|
|
//包头
|
|
|
#define SEND_WIFI_PACKAGE_HEAD_FIRST 0xa5
|
|
|
#define SEND_WIFI_PACKAGE_HEAD_SECOND 0x5a
|
|
|
#define RECEIVE_WIFI_PACKAGE_HEAD_FIRST 0xa5
|
|
|
#define RECEIVE_WIFI_PACKAGE_HEAD_SECOND 0x5a
|
|
|
|
|
|
|
|
|
#define SEND_MCU_PACKAGE_FIRST 0x5A
|
|
|
#define SEND_MCU_PACKAGE_SECOND 0xA5
|
|
|
|
|
|
//版本
|
|
|
|
|
|
#define SEND_WIFI_PACKAGE_VERSION 0x01
|
|
|
#define RECEIVE_WIFI_PACKAGE_VERSION 0x01
|
|
|
|
|
|
//消息类型
|
|
|
#define RECEIVE_WIFI_PACKAGE_CONFIGURATION 0x01
|
|
|
#define RECEIVE_WIFI_PACKAGE_REQUEST 0x02
|
|
|
#define PACKAGE_ACK 0x03
|
|
|
#define SEND_WIFI_PACKAGE_TYPE_UPDATE 0x04
|
|
|
|
|
|
|
|
|
|
|
|
//上报、接收 模组 命令
|
|
|
#define SEND_WIFI_COMMAND 0x01
|
|
|
#define REVEIVE_WIFI_COMMAND 0x02
|
|
|
|
|
|
//子命令
|
|
|
|
|
|
//开关
|
|
|
#define SWITH_SUB_COMMAND 0x01
|
|
|
|
|
|
|
|
|
//模式
|
|
|
#define MODE_SUB_COMMAND 0x02
|
|
|
|
|
|
//童锁
|
|
|
#define CHILD_LOCK_SUB_COMMAND 0x03
|
|
|
|
|
|
//除菌
|
|
|
#define UV_SUB_COMMAND 0x04
|
|
|
|
|
|
//负离子
|
|
|
#define NEGATIVE_ION_SUB_COMMAND 0x05
|
|
|
|
|
|
//熄屏
|
|
|
#define SCREEN_OFF_SUB_COMMAND 0x06
|
|
|
|
|
|
//按键音
|
|
|
#define KEY_TONE_SUB_COMMAND 0x07
|
|
|
|
|
|
//滤芯状态
|
|
|
#define FILTER_STATUS_COMMAND 0x08
|
|
|
|
|
|
//PM2.5
|
|
|
#define PM2_5_SUB_COMMAND 0x09
|
|
|
|
|
|
//温湿度
|
|
|
#define TEMP_HUM_SUB_COMMAND 0x0A
|
|
|
#define BUZZER_SUB_COMMAND 0x0A
|
|
|
|
|
|
|
|
|
//档位
|
|
|
#define GEAR_SUB_COMMAND 0x0C
|
|
|
|
|
|
|
|
|
//HCHO
|
|
|
#define HCHO_SUB_COMMAND 0x0D
|
|
|
|
|
|
|
|
|
//故障码
|
|
|
|
|
|
|
|
|
//上报全部状态
|
|
|
|
|
|
|
|
|
// ******模组心跳包 命令******
|
|
|
#define WIFI_HEARTBEAT_COMMAND 0x01
|
|
|
#define WIFI_HEARTBEAT_SUB_COMMAND 0x01
|
|
|
|
|
|
#endif
|
|
|
/*****************************************自定义数据类型 记录数据 mcu数据包 模组数据包*************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
//记录数据
|
|
|
typedef struct{
|
|
|
uint8_t wifi_status;
|
|
|
uint8_t power_switch_t;
|
|
|
uint8_t mode_t;
|
|
|
uint8_t gear_mode_t; //manual, auto
|
|
|
uint8_t fan_gear_t;
|
|
|
uint16_t speed_t;
|
|
|
uint8_t childlock_switch_t;
|
|
|
uint8_t anion_switch_t;
|
|
|
uint8_t uv_switch_t;
|
|
|
uint8_t screen_switch_t;
|
|
|
uint8_t keytone_switch_t;
|
|
|
uint8_t filter1_door_t;
|
|
|
uint8_t filter1_rate_t;
|
|
|
uint16_t filter1_life_t;
|
|
|
uint8_t filter1_alarm_t;
|
|
|
int16_t hcho_value_t;
|
|
|
uint8_t hcho_level_t;
|
|
|
int16_t pm25_value_t;
|
|
|
uint8_t pm25_level_t;
|
|
|
int16_t temperature_t;
|
|
|
int16_t humidity_t;
|
|
|
uint8_t humidity_level_t;
|
|
|
uint8_t air_quality_level_t;
|
|
|
uint8_t on_hcho_value_t;
|
|
|
uint8_t off_hcho_value_t;
|
|
|
int16_t on_pm25_value_t;
|
|
|
int16_t off_pm25_value_t;
|
|
|
uint8_t auto_set_value_t;
|
|
|
uint8_t standby_set_value_t;
|
|
|
uint8_t work_status_t;
|
|
|
|
|
|
}DEVICE_WORK_STATUS_T;
|
|
|
|
|
|
|
|
|
//模组 数据包格式
|
|
|
typedef struct{
|
|
|
uint8_t package_head[2];
|
|
|
uint8_t package_version;
|
|
|
uint8_t package_sequence;
|
|
|
uint8_t package_type;
|
|
|
uint8_t data_length;
|
|
|
uint8_t command;
|
|
|
uint8_t sub_command;
|
|
|
// uint8_t data;
|
|
|
}WIFI_PACKAGE;
|
|
|
|
|
|
|
|
|
//与MCU通讯数据包
|
|
|
typedef struct {
|
|
|
uint8_t mcu_head_package[2];
|
|
|
uint8_t length;
|
|
|
uint8_t cmd;
|
|
|
uint16_t address;
|
|
|
|
|
|
} MCU_PACKAGE;
|
|
|
|
|
|
|
|
|
|
|
|
//记录标志位
|
|
|
typedef struct{
|
|
|
|
|
|
|
|
|
}FALG;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/************************************全局变量********************************************/
|
|
|
//记录数据
|
|
|
|
|
|
|
|
|
|
|
|
extern DEVICE_WORK_STATUS_T device_working_status_buff;
|
|
|
extern volatile uint8_t var[58368]; // variable buffer
|
|
|
|
|
|
|
|
|
/*****************************声明接口以及变量*******************************************/
|
|
|
|
|
|
extern void SendData_SCI1(uint8_t data);
|
|
|
extern void SendData_SCI2(uint8_t data);
|
|
|
extern void SendData_SCI3(uint8_t data);
|
|
|
extern uint8_t comm_message_checksum(uint8_t * data, uint16_t len);
|
|
|
extern void debug_status(void);
|
|
|
extern void debug_flag(void);
|
|
|
extern uint8_t CRC_Enable_Flag;
|
|
|
extern int fputc(int ch, FILE *f);
|
|
|
extern int send_mes_wifi(uint8_t * mes_buf , char mes_length);
|
|
|
extern void LT_SendData_CRC_Frame(uint8_t *buf, uint8_t len);
|
|
|
extern uint8_t send_mcu_package(uint8_t * buf ,uint8_t cmd , uint16_t adress ,uint16_t * data , uint8_t data_amount);
|
|
|
extern void PIT2_Init(UINT16 arr);
|
|
|
extern void PIT2_IRQHandler(void);
|
|
|
|
|
|
extern uint8_t uart1_idle_flag;
|
|
|
extern uint8_t uart3_idle_flag;
|
|
|
|
|
|
extern uint8_t lt_buf[RECEIVE_MCU_PACKAGE_LENGTH];
|
|
|
extern uint8_t lt_buf_length;
|
|
|
|
|
|
extern unsigned char all_flag ;
|
|
|
extern unsigned char status_flag;
|
|
|
|
|
|
extern uint8_t button_Press_flag ; // Other touch cannot act after the touch is pressed
|
|
|
extern uint8_t button_Press_flag1 ; //用于组合键 变量调节
|
|
|
extern uint8_t button_Press_flag2 ; //用于组合键 按钮
|
|
|
extern uint8_t Basci_flag ;
|
|
|
extern uint8_t Basci_flag1 ;
|
|
|
extern uint8_t switch_flag ; //开关 标志位
|
|
|
extern uint8_t breath_flag ; //息屏标志位
|
|
|
|
|
|
extern uint8_t Adj_flag ;
|
|
|
extern uint8_t Adj_flag1 ;
|
|
|
extern uint8_t wind_flag ; // 风速标志位
|
|
|
extern uint8_t model_flag ; //模式标志位
|
|
|
extern uint8_t dehumidify_flag ;//湿度标志位
|
|
|
extern uint8_t one_two ; //判断是否是组合按键 0:单个 1:2个 变量调节
|
|
|
/***************/
|
|
|
extern uint8_t help_flag ; //帮助界面标志位
|
|
|
extern uint8_t Basic_help_flag ;//组合键 开关 标志位
|
|
|
extern uint8_t Adj_help_flag ; //组合键 风速 标志位 疑似用 风速标志位也可以
|
|
|
extern uint8_t illegal_flag;
|
|
|
extern uint8_t one_two_touch ; //按钮标志位 确定几个按下 0 放开 1 一个触点 2 两个触点
|
|
|
extern volatile uint8_t var[58368];
|
|
|
extern uint8_t long_touch_flag;
|
|
|
#endif
|