GLOBAL.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /*******************************************************************************
  2. *
  3. * SW
  4. * Soft version:
  5. * File Name: GLOBAL.h
  6. * Author : zzw (zhangzw_3@163.com)
  7. * creation date: 2011-05-22
  8. * module description:声明SW系统中的全局变量
  9. * Copyright (C)
  10. *
  11. ********************************************************************************/
  12. #if !defined(_GLOBAL_H_)
  13. #define _GLOBAL_H_
  14. // ************************* Typedef data type *********************************
  15. typedef unsigned char u08;
  16. typedef char s08;
  17. typedef unsigned short u16;
  18. typedef short s16;
  19. typedef unsigned long u32;
  20. typedef long s32;
  21. typedef unsigned char uchar;
  22. typedef unsigned int uint;
  23. typedef unsigned char BOOL;
  24. typedef unsigned char BYTE;
  25. typedef unsigned int WORD;
  26. typedef unsigned char byte;
  27. typedef unsigned int word;
  28. typedef unsigned long dword;
  29. typedef unsigned char UCHAR;
  30. typedef unsigned int UINT;
  31. typedef unsigned short USHORT;
  32. #ifndef NULL
  33. #define NULL 0
  34. #endif
  35. ///////////////////////////////////////////////////////////////////
  36. //////////////////////////////////////////////////////////////
  37. ////////////////////////////////////////////////////////
  38. //
  39. // UART消息及外设ID定义
  40. //
  41. #define COM1 0 //
  42. #define COM2 1 //
  43. /************************ 位变量定义 ***********************/
  44. typedef union {
  45. byte Byte;
  46. struct {
  47. byte bit0 :1;
  48. byte bit1 :1;
  49. byte bit2 :1;
  50. byte bit3 :1;
  51. byte bit4 :1;
  52. byte bit5 :1;
  53. byte bit6 :1;
  54. byte bit7 :1;
  55. } Bits;
  56. } DBit;
  57. typedef struct SW_Parameters
  58. {
  59. u16 SWID; //模块ID号
  60. u08 KeyIn[6]; //按键状态,未按下时0xff
  61. u08 step[6]; //01:按键触发,02:闪烁设置,03:全亮,04:闪烁:05:待机背光
  62. u32 flicker[6]; //闪烁总时间
  63. u08 relay_allstatus; //继电器开机状态全局标志,开关上电状态设置
  64. u08 relay_status[3]; //继电器开机1-3状态,开关上电状态设置
  65. u08 relay_new_status[3]; //实时最新的状态,继电器断电前的最新状态
  66. u08 plus_en[3];//点动触发标志,被设置为点动开关,且有按键按下则置1,点动倒计时结束清零
  67. u32 plus_counter[3];//点动开关时间,倒计时计数器
  68. u32 plus_auto_time[3];//点动开关自动关闭的时间固定值,通过APP设置保存的
  69. u08 plus_mod[3];//对应按键开启点动配置
  70. u08 mod[6]; //0:开关,1:场景
  71. //u08 SCENE[4]; //4个场景模式状态
  72. u08 SWITCH[3]; //4个普通灯的状态
  73. //u08 LED[4]; //4个背光状态
  74. //u08 LongKey[4]; //长按标志位,LongKey[1-4]:KEY1-KEY4
  75. //u08 DEBUG;//调试状态,背光常亮
  76. //u08 shock;//震动设置,1有效
  77. u08 human;//人感设置,1有效
  78. u08 gRadarCheckNull;//无人标志位
  79. // u08 light;//光感设置,1有效
  80. u08 led_level;//led背光亮度等级
  81. //u08 bluelight;//氛围灯设置,1有效
  82. u08 zigbee_work_state;//zigbee网络状态,0:不在网,1:在网,2:脱网报警(60S)
  83. //u08 update_config;//APP更新配置参数
  84. u32 time;//倒计时
  85. u08 KeyPress; //1号按键状态,0未被按下,1被按下
  86. u32 buttonPressTime;
  87. unsigned long dp_add_ele; //下发可上报(rw) 数值型(Value) 数值范围: 0-50000, 间距: 100, 倍数: 2, 单位: kW·h
  88. unsigned long dp_cur_current;// 只上报(ro) 数值型(Value) 数值范围: 0-30000, 间距: 1, 倍数: 0, 单位: mA
  89. unsigned long dp_cur_power;// 只上报(ro) 数值型(Value) 数值范围: 0-50000, 间距: 1, 倍数: 1, 单位: W
  90. unsigned long dp_cur_voltage;// 只上报(ro) 数值型(Value) 数值范围: 0-5000, 间距: 1, 倍数: 1, 单位: V
  91. //u16 add_ele; // add_ele =dp_add_ele/100 单位: kW·h/100
  92. //u16 cur_current;// cur_current=dp_cur_current, 单位: mA
  93. //u16 cur_power;// cur_power=dp_cur_power/10, 单位: W/10
  94. //u16 cur_voltage;// cur_voltage=dp_cur_voltage/10, 单位: V/10
  95. } SWParameters;
  96. ///////////////////////////////////////////////////////////////////////////////////////////////
  97. extern volatile DBit _BitParament0;
  98. #define sys10msFlag _BitParament0.Bits.bit0 /* 10ms标志 */
  99. //#define sysstate _BitParament0.Bits.bit7 /* 0代表无故障,1表示故障开启故障指示灯 */
  100. #define Nightledvalue 0x0C00 //背光灯调暗AD采集阈值
  101. extern volatile word tickcount; /* Timer tick count */
  102. extern volatile byte sysTickfor10ms; /* 10millisecond timer */
  103. extern volatile byte sysTickfor100ms;/* 100millisecond timer */
  104. extern volatile byte sysTickfor1000ms;/* 100millisecond timer */
  105. extern SWParameters switchState;
  106. extern unsigned char gRelayOnOff;
  107. extern byte gLedState;//按键灯状态
  108. extern byte gRelayState;// 4bit 继电器值
  109. #define CONDITION_NORMAL_TO_BEFOR_JOINING 101
  110. #define CONDITION_BEFOR_JOINING_TO_JOINING 102 //触发入网后倒计时状态
  111. #define CONDITION_JOINGING_TO_NORMAL 103
  112. #define CONDITION_JOINGING__NOT_JION 104
  113. #define PWMPRD 18432 // 1ms周期
  114. #define PWMLEVEL1 32 //4608/72 // 一档 25%占空比,64太亮,降低测试
  115. #define PWMLEVEL2 64 //9216/72 // 二挡 50%占空比,128太亮,降低测试
  116. #define PWMLEVEL3 255 //18432/72 // 三挡 100%占空比
  117. extern byte ZG_Joining;//模块进入配网模式, 指示灯快速闪烁10秒
  118. extern WORD ZG_JoinCounter;//模块进入配网计数器,倒计时开始
  119. extern unsigned int gRadarKeepTimer;
  120. //#define mKeyLedFlash 240 //亮度变化间隔(频率),默认24ms变化改变一个光强度
  121. extern byte gRadarCheckNull;//雷达监测,1为无人,0为有人
  122. extern byte appControlLedEnable;//APP控制是否联动背光灯标志位
  123. extern byte shockCounter;//震动计数器
  124. extern byte shockStart;//按键按下震动触发
  125. extern byte burn_in_test_start;//产测标志位
  126. extern u32 burn_in_test_counter;//产测计数器
  127. extern u32 burn_in_test_timeout;//产测开机30秒内收到信标才有效
  128. extern u32 IAPUpdateFlag;
  129. extern u32 OTA_Reciv_Datalen;
  130. extern void Base64Encode(char *ps8Dest, const char *ps8Source, int s32InLen);
  131. extern void Base64Decode(char *ps8Dest, const char *ps8Source, int s32InLen);
  132. extern float FF_AC_V; // 电压有效值
  133. #endif // !defined(_GLOBAL_H_)
  134. /* EOF */