/******************************************************************************* * * 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_ // ************************* 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 char BOOL; typedef unsigned char BYTE; typedef unsigned int WORD; typedef unsigned char byte; typedef unsigned int word; typedef unsigned long dword; typedef unsigned char UCHAR; typedef unsigned int UINT; typedef unsigned short USHORT; #ifndef NULL #define NULL 0 #endif /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////// // // UART消息及外设ID定义 // #define COM1 0 // #define COM2 1 // /************************ 位变量定义 ***********************/ 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 KeyIn[6]; //按键状态,未按下时0xff u08 step[6]; //01:按键触发,02:闪烁设置,03:全亮,04:闪烁:05:待机背光 u32 flicker[6]; //闪烁总时间 u08 relay_allstatus; //继电器开机状态全局标志,开关上电状态设置 u08 relay_status[3]; //继电器开机1-3状态,开关上电状态设置 u08 relay_new_status[3]; //实时最新的状态,继电器断电前的最新状态 u08 plus_en[3];//点动触发标志,被设置为点动开关,且有按键按下则置1,点动倒计时结束清零 u32 plus_counter[3];//点动开关时间,倒计时计数器 u32 plus_auto_time[3];//点动开关自动关闭的时间固定值,通过APP设置保存的 u08 plus_mod[3];//对应按键开启点动配置 u08 mod[6]; //0:开关,1:场景 //u08 SCENE[4]; //4个场景模式状态 u08 SWITCH[3]; //4个普通灯的状态 //u08 LED[4]; //4个背光状态 //u08 LongKey[4]; //长按标志位,LongKey[1-4]:KEY1-KEY4 //u08 DEBUG;//调试状态,背光常亮 //u08 shock;//震动设置,1有效 u08 human;//人感设置,1有效 u08 gRadarCheckNull;//无人标志位 // u08 light;//光感设置,1有效 u08 led_level;//led背光亮度等级 //u08 bluelight;//氛围灯设置,1有效 u08 zigbee_work_state;//zigbee网络状态,0:不在网,1:在网,2:脱网报警(60S) //u08 update_config;//APP更新配置参数 u32 time;//倒计时 u08 KeyPress; //1号按键状态,0未被按下,1被按下 u32 buttonPressTime; unsigned long dp_add_ele[3]; //下发可上报(rw) 数值型(Value) 数值范围: 0-5000000, 间距: 100, 倍数: 2, 单位: kW·h unsigned long dp_cur_current[3];// 只上报(ro) 数值型(Value) 数值范围: 0-30000, 间距: 1, 倍数: 0, 单位: mA unsigned long dp_cur_power[3];// 只上报(ro) 数值型(Value) 数值范围: 0-50000, 间距: 1, 倍数: 1, 单位: W unsigned long dp_cur_voltage;// 只上报(ro) 数值型(Value) 数值范围: 0-5000, 间距: 1, 倍数: 1, 单位: V //u16 add_ele; // add_ele =dp_add_ele/100 单位: kW·h/100 //u16 cur_current;// cur_current=dp_cur_current, 单位: mA //u16 cur_power;// cur_power=dp_cur_power/10, 单位: W/10 //u16 cur_voltage;// cur_voltage=dp_cur_voltage/10, 单位: V/10 } SWParameters; extern unsigned long Flash_dp_add_ele[3]; extern unsigned long Flash_dp_add_ele_backups[3]; extern unsigned long data_dp_add_ele[3]; extern unsigned long data_dp_cur_current[3]; extern unsigned long data_dp_cur_power[3]; extern unsigned long data_dp_cur_voltage; extern unsigned char Save_data_ele_flag; extern unsigned long Save_data_nun; /////////////////////////////////////////////////////////////////////////////////////////////// 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;//按键灯状态 extern byte gRelayState;// 4bit 继电器值 #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 #define PWMPRD 18432 // 1ms周期 #define PWMLEVEL1 0 //4608/72 // 一档 25%占空比,64太亮,降低测试 #define PWMLEVEL2 32 //9216/72 // 二挡 50%占空比,128太亮,降低测试 #define PWMLEVEL3 64 //18432/72 // 三挡 100%占空比 extern byte ZG_Joining;//模块进入配网模式, 指示灯快速闪烁10秒 extern WORD ZG_JoinCounter;//模块进入配网计数器,倒计时开始 extern unsigned int gRadarKeepTimer; //#define mKeyLedFlash 240 //亮度变化间隔(频率),默认24ms变化改变一个光强度 extern byte gRadarCheckNull;//雷达监测,1为无人,0为有人 extern byte appControlLedEnable;//APP控制是否联动背光灯标志位 extern byte shockCounter;//震动计数器 extern byte shockStart;//按键按下震动触发 extern byte burn_in_test_start;//产测标志位 extern u32 burn_in_test_counter;//产测计数器 extern u32 burn_in_test_timeout;//产测开机30秒内收到信标才有效 extern u32 IAPUpdateFlag; extern u32 OTA_Reciv_Datalen; extern void Base64Encode(char *ps8Dest, const char *ps8Source, int s32InLen); extern void Base64Decode(char *ps8Dest, const char *ps8Source, int s32InLen); //extern float FF_AC_V; // 电压有效值 #endif // !defined(_GLOBAL_H_) /* EOF */