/******************************************************************************* * * SW * Soft version: * File Name: GLOBAL.h * Author : zzw (zhangzw_3@163.com) * creation date: 2011-05-22 * module description:声明SW系统中的全局变量 * Copyright (C) * ********************************************************************************/ #if !defined(_GLOBAL_H_) #define _GLOBAL_H_ #include "gd32f30x.h" // ************************* Typedef data type ********************************* typedef unsigned char u08; typedef char s08; //typedef unsigned short u16; typedef short s16; //typedef unsigned long u32; //typedef long s32; typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long long u64; typedef signed long long s64; typedef unsigned char BOOL; typedef unsigned char BYTE; typedef unsigned int WORD; typedef unsigned long DWORD; typedef unsigned char byte; typedef unsigned int word; typedef unsigned long dword; typedef unsigned char UCHAR; typedef unsigned int UINT; typedef unsigned short USHORT; typedef unsigned long ULONG; #ifndef NULL #define NULL 0 #endif /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////// // // UART消息及外设ID定义 // #define COM1 0 // #define COM2 1 // #define COM3 2 // #define com1timeout (1*10) //100MS超时,重发 #ifndef UART0_TX_BUFFER_SIZE #define UART0_TX_BUFFER_SIZE 0x00e6 //COM1,同时存50个完整数据包 #endif #ifndef UART0_RX_BUFFER_SIZE #define UART0_RX_BUFFER_SIZE 0x047e //COM1,同时存50个完整数据包 #endif #ifndef UART1_TX_BUFFER_SIZE #define UART1_TX_BUFFER_SIZE 0x00e6 //COM2,同时存10个完整数据包 #endif #ifndef UART1_RX_BUFFER_SIZE #define UART1_RX_BUFFER_SIZE 0x00e6 //COM2,同时存10个完整数据包 #endif #ifndef UART2_TX_BUFFER_SIZE #define UART2_TX_BUFFER_SIZE 0x0010 //COM3 #endif #ifndef UART2_RX_BUFFER_SIZE #define UART2_RX_BUFFER_SIZE 0x0010 //COM3 #endif #define COMM1_BUF_LEN 100 #define COMM2_BUF_LEN 100 enum DEVICE ////设备图标显示 value:1-空调,2-地暖,3-新风 0-关闭 { DEVICE_OFF= 0, DEVICE_AIR, DEVICE_FLOOR, DEVICE_WIND }; /************************ 位变量定义 ***********************/ typedef union { byte Byte; struct { byte bit0 :1; byte bit1 :1; byte bit2 :1; byte bit3 :1; byte bit4 :1; byte bit5 :1; byte bit6 :1; byte bit7 :1; } Bits; } DBit; typedef struct SW_Parameters { u16 SWID; //模块ID号 u08 KeyEn[8]; //8个按键使能 u08 SCENE[4]; //4个普通灯的状态 u08 SWITCH[4]; //4个场景模式状态 u08 LED[6]; //8个背光状态 u08 LongKey[9]; //长按标志位,LongKey[1-8]:KEY1-KEY8 u32 LongCount[4]; //长按计数器,超过10秒自动推出长按效果 u32 modecounter; //短按计数器,超过5秒自动推出长按效果 u32 modetiger; //短按计数器,超过10秒自动推出长按效果 u32 modestep; //模式切换 u32 setcounter;//设置温度计数器 u32 devicecounter;//设置温度计数器 u32 dpsetcounter;//参数配置 u08 DEBUG;//调试状态,背光常亮 u08 shock;//震动设置,1有效 u08 human;//人感设置,1有效 u08 light;//光感设置,1有效 u08 bluelight;//氛围灯设置,1有效 u08 zigbee_work_state;//zigbee网络状态,0:不在网,1:在网, 2:离线工作 u08 update_config;//更新配置参数 u32 time;//倒计时 } SWParameters; /////////////////////////////////////////////////////////////////////////////////////////////// extern volatile DBit _BitParament0; #define sys10msFlag _BitParament0.Bits.bit0 /* 10ms标志 */ //#define sysstate _BitParament0.Bits.bit7 /* 0代表无故障,1表示故障开启故障指示灯 */ #define Nightledvalue 0x0C00 //背光灯调暗AD采集阈值 extern volatile word tickcount; /* Timer tick count */ extern volatile byte sysTickfor10ms; /* 10millisecond timer */ extern volatile byte sysTickfor100ms;/* 100millisecond timer */ extern volatile byte sysTickfor1000ms;/* 100millisecond timer */ extern SWParameters switchState; extern unsigned char gRelayOnOff; extern byte gLedState;//按键灯状态 #define CONDITION_NORMAL_TO_BEFOR_JOINING 101 #define CONDITION_BEFOR_JOINING_TO_JOINING 102 #define CONDITION_JOINGING_TO_NORMAL 103 #define CONDITION_JOINGING__NOT_JION 104 extern byte ZG_Joining;//模块进入配网模式, 指示灯快速闪烁10秒 extern WORD ZG_JoinCounter;//模块进入配网计数器,倒计时开始 extern int gRadarKeepTimer; extern byte Brightflag; //强光标志位 extern byte NightPWMH; //暗光PWM占空比 extern byte BrightPWMH; //强光PWM占空比,默认60% extern byte Light_Intensity;//光强度 extern byte mKeyLedWeakLight;//背光最大亮度值,根据光感设置 extern byte mBLedWeakLight;//背光最大亮度值,根据光感设置 #define mKeyLedFlash 240 //亮度变化间隔(频率),默认24ms变化改变一个光强度 //背光参数已移植到protocol.h,根据产品系列区分不同参数 /* //臣仕 #define mKeyLedWeaknight 2 //中山弱光2/60,按键灯夜晚背光,臣仕2 #define mKeyLedWeakday 4 //中山弱光4/60,按键灯白天背光,臣仕4 #define mKeyLedBrightLight 15 //强光 15/60,继电器触发,按键灯高亮,臣仕15 #define mBLedWeaknight 10 //弱光10/100,氛围灯夜晚背光,臣仕10 #define mBLedWeakday 20 //弱光20/100,氛围灯白天背光,臣仕20 */ //中山 /* #define mKeyLedWeaknight 4 //中山弱光4/60,按键灯夜晚背光,臣仕2 #define mKeyLedWeakday 10 //中山弱光10/60,按键灯白天背光,臣仕5 #define mKeyLedBrightLight 50 //强光 50/60,继电器触发,按键灯高亮,臣仕15 //中山高成本-氛围灯 //#define mBLedWeaknight 40 //弱光40/100,氛围灯夜晚背光 //#define mBLedWeakday 70 //弱光70/100,氛围灯白天背光 //中山低成本-氛围灯 #define mBLedWeaknight 5 //弱光5/100,氛围灯夜晚背光 #define mBLedWeakday 10 //弱光10/100,氛围灯白天背光 --默认背光 */ //背光参数已移植到protocol.h,根据产品系列区分不同参数 //#define BrightledvalueMAX_night 3600//最大3700 --通用 //#define BrightledvalueMIN_day 3300//最小800 //#define BrightledvalueDt 200//背光熄灭比较参数,可根据实际情况设置-未使用 #define BrightledvalueMAX_night 3100//最大4000 #define BrightledvalueMIN_day 3000//最小800 #define BrightledvalueDt 200//背光熄灭比较参数,可根据实际情况设置-未使用 extern byte gRadarCheckNull;//雷达监测,1为无人,0为有人 extern byte shockCounter;//震动计数器 extern byte shockStart;//按键按下震动触发 extern byte appControlLedEnable; // app控制背光灯点亮使能位,0:忽略,1:强制点亮10秒 extern byte doorCounter;//干触点门禁计数器,2秒计时 extern byte doorOpen;//干触点门禁计数器,2秒计时 extern byte Smartbox_On_Off_State; //设备开关机状态 extern char SignalIntensity;//信号强度,0:脱网,3:联网 extern char DeviceType;//设备图标显示 value:1-空调,2-地暖,3-新风 0-关闭 extern char ModeType;//模式图标显示 value:1-制冷,2-制热,3-除湿,4-吹风, 0-关闭 extern char PM2_5Type;//PM2.5图标显示 value:1-优,2-良,3-差,0-关闭 extern char HumidityData;// //data:0-关闭显示图标,data非0,显示data数值 extern char Set_Temperature_IntegerData; //设置温度整数部分 extern char Set_Temperature_DecimalData; //设置温度小数部分 extern char Now_Temperature_IntegerData; //当前温度整数部分 extern char Now_Temperature_DecimalData; //当前温度小数部分 extern char WindSpeedData;////风速显示界面, value,1-自动,2-低,3-中,4-高,0-关闭所有图标 extern char last_Temperature_IntegerData; //上一秒温度整数部分 #endif // !defined(_GLOBAL_H_) /* EOF */