Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

252 rindas
5.5 KiB

#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