Files
BLV_C1F_Module/BasicCode/Drive/MAIN/includes.h

430 lines
15 KiB
C
Raw Normal View History

#ifndef _INCLUDES_H_
#define _INCLUDES_H_
#include "CH57x_common.h" //CH57X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
#include "usart.h"
#include "key.h"
#include "dwg.h"
#include "SPI_SRAM.h"
#include "flash.h"
#include "rtc.h"
#include "rw_logging.h"
#include "check_fun.h"
#include "DBG.h"
#include "SRAM_Variable_Address.h"
#include "BLV_Authorize.h"
#include "Log_api.h"
/**/
#include <cm_backtrace.h>
/*<2A><><EFBFBD><EFBFBD>*/
#include "net.h"
#include "DNS.h"
#include "md5.h"
#include "BLV_NET_Function.h"
#include "Udp_Internal_Protocol.h"
#include "mqtt.h"
#include "aLiYun.h"
/*485<38>ļ<EFBFBD>*/
#include "BLV_Device_Control.h"
#include "BLV_485_Protocol.h"
#include "PC_DeviceTest_Fun.h"
#include "BLV_485_Dev_Touch_SwiFun.h" //T1<54><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_TempFun.h" //T1<54>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_CardFun.h" //T1<54>忨ȡ<E5BFA8><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_BUS_Dev_C5IOFun.h" //BLV_Cx IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_BUS_Dev_C5MusicFun.h" //BLV_Cx Music<69><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_IrSendFun.h" //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_C7TFun.h" //C7T<37><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_PWMFun.h" //4·PWM<57><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_A9RELAYFun.h" //A9<41>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
#include "BLV_485_Dev_XiaoBaoFun.h" //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_WeixinLockFun.h" //RF ΢<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_BUS_Dev_C12DimmingFun.h" //BLV_Cx Dimming<6E><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_RGB_Light_BeltFun.h" //RBG<42>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_TempT1Fun.h" //T1<54>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20>°<EFBFBD>
#include "BLV_485_Dev_MusicFun.h" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>
#include "BLV_485_Dev_PirFun.h" //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_LEDFun.h" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>
#include "BLV_485_Dev_TimeFun.h" //ʱ<><CAB1><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
#include "BLV_485_Dev_IN_CH6.h"
#include "Blv_485_Dev_CurtainFun.h" //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "BLV_485_Dev_AirDetectFun.h"
#include "BLV_485_Dev_AirRevealFun.h"
#include "BLV_485_Dev_CardStateFun.h"
#include "BLV_485_Dev_FreshAirFun.h"
#include "BLV_485_Dev_FloorHeatFun.h"
#include "BLV_TempPrompt_Action.h"
#include "BLV_Bus_Dev_PB20Fun.h"
#include "BLV_485_Dev_PB20_LED_Fun.h"
#include "BLV_485_Dev_PB20_Strip_Fun.h"
#include "BLV_485_Dev_PB20_Relay_Fun.h"
#include "BLV_485_Dev_LCDFun.h"
#include "BLV_Nor_Dev_NoCard.h"
#include "BLV_Nor_Dev_VirtualCard.h"
#include "BLV_485_Dev_Rotary_SwitchFun.h"
#include "BLV_Nor_Dev_VirtualTimeFun.h"
#include "BLV_Nor_Dev_ColorTemp.h"
#include "BLV_485_Dev_BinShen_Curtain.h"
#include "BLV_485_Dev_BLE_Music.h"
#include "BLV_Nor_Dev_CarbonFun.h"
#include "BLV_Nor_Dev_Scene_Restore.h"
#include "BLV_Nor_Dev_GlobalSet.h"
#include "BLV_485_Dev_EnergyMonitor.h"
#include "BLV_Nor_Dev_ServiceFun.h"
#include "BLV_Dev_Action.h"
#include "BLV_All_Dev_Init.h"
#include "BLV_Nor_DevFun.h"
#include "BLV_Logic_Edit.h"
#include "mqtt.h"
#include "aLiYun.h"
//#if UDPServer_Internal_Flag
//#include "UDPServer_Internal_Protocol.h" //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
//#endif
#if (LOGIC_FILE_EN==0x00)
/*<2A><>Ŀ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD>ʼͷ<CABC>ļ<EFBFBD>*/
#include "BLV_Logic_FangFeiYuan_Edit.h"
#include "BLV_Logic_NanBuGaoErFu_Edit.h"
#include "BLV_Logic_JinJiangDuCheng_Edit.h"
#include "BLV_Logic_Lize_Edit.h"
#include "BLV_Logic_GaoXiongHanLai_Edit.h"
#include "BLV_Logic_LuZhou_Edit.h"
#include "BLV_Logic_YiWuRuiGe_Edit.h"
#include "BLV_Logic_ChengDuZAMX_Edit.h"
#include "BLV_Logic_MingYueSuitRoom_Edit.h"
#include "BLV_Logic_ChaoHu_Edit.h"
#include "BLV_Logic_BaiYin_Edit.h"
#include "BLV_Logic_KeChuang_Edit.h"
#include "BLV_Logic_C12ZhanTing_Edit.h"
#include "BLV_Logic_ShiJiYuan_Edit.h"
#include "BLV_Logic_FuLaiHuaKai_Edit.h"
#include "BLV_Logic_HaoTian_Edit.h"
#include "BLV_Logic_ShangShangZuo_Edit.h"
#include "BLV_Logic_ChangPingChaoMan_Edit.h"
#include "BLV_Logic_ZGZMAX_Edit.h"
#include "BLV_Logic_DianJing_Edit.h"
#include "BLV_Logic_GuiZhouBanShiChu_Edit.h"
#include "BLV_Logic_TianFengDengShi_Edit.h"
#include "BLV_Logic_C5ChuChang_Edit.h"
#include "BLV_Logic_LanYueDianJing_Edit.h"
#include "BLV_Logic_ShuYu_Edit.h"
#include "BLV_Logic_KuErLe_Edit.h"
#include "BLV_Logic_HuiZhouChaoMan_Edit.h"
#include "BLV_Logic_WuYue_Edit.h"
#include "BLV_Logic_FeiJieDianJing_Edit.h"
#include "BLV_Logic_GuangZhouChaoMan_Edit.h"
#include "BLV_Logic_TianQuanHuiGuan_Edit.h"
#include "BLV_Logic_ChaoManNanHai_Edit.h"
#include "BLV_Logic_C12ZhanXiang_Edit.h"
#include "BLV_Logic_LiuYueLiu_Edit.h"
#include "BLV_Logic_TianJinZMAX_Edit.h"
#include "BLV_Logic_YunDuan_Edit.h"
#include "BLV_Logic_C5ZhanBan_Edit.h"
#include "BLV_Logic_QingHai_Edit.h"
#include "BLV_Logic_WYN_Edit.h"
#include "BLV_Logic_WenDeMu_Edit.h"
#include "BLV_Logic_WangYu_Edit.h"
#include "BLV_Logic_QDgaizao_Edit.h"
#include "BLV_Logic_WuHuDianJing_Edit.h"
#include "BLV_Logic_LiangZhi_Edit.h"
#include "BLV_Logic_ChangShaWYN_Edit.h"
#include "BLV_Logic_ZhuJiang_Edit.h"
#include "BLV_Logic_BeijingErHuan_Edit.h"
#include "BLV_Logic_BaiSeYueZi_Edit.h"
#include "BLV_Logic_YanCheng_Edit.h"
#include "BLV_Logic_MaYi_Edit.h"
#include "BLV_Logic_XinShengYue_Edit.h"
#include "BLV_Logic_KaiYuan_Edit.h"
#include "BLV_Logic_ChunLong_Edit.h"
#include "BLV_Logic_HaiLin_Edit.h"
#include "BLV_Logic_PuHua_Edit.h"
#include "BLV_Logic_HaErBin_Edit.h"
#include "BLV_Logic_JiaYi_Edit.h"
#include "BLV_Logic_LongTing_Edit.h"
#include "BLV_Logic_XuZhou_Edit.h"
#include "BLV_Logic_HeGe_Edit.h"
#include "BLV_Logic_LiFeng_Edit.h"
#include "BLV_Logic_ShenZhenWYN_Edit.h"
#include "BLV_Logic_ZhuHaoZB_Edit.h"
#include "BLV_Logic_GSZTC9_Edit.h"
#include "BLV_Logic_JiaoZuoHSBD_Edit.h"
#include "BLV_Logic_ZhanXiangC12_Edit.h"
#include "BLV_Logic_YuYaoChaoMan_Edit.h"
#include "BLV_Logic_WanZaiWYN_Edit.h"
#include "BLV_Logic_C5Modle_Edit.h"
#include "BLV_Logic_GuanTaoLF_Edit.h"
#include "BLV_Logic_DaZhouYR_Edit.h"
#include "BLV_Logic_C12PadZX_Edit.h"
#include "BLV_Logic_WYNHaoMian_Edit.h"
#include "BLV_Logic_TuoHaiMY_Edit.h"
#include "BLV_Logic_AnQiGao_Edit.h"
#include "BLV_Logic_JinJiangHengHe_Edit.h"
#include "BLV_Logic_XinChao_Edit.h"
#include "BLV_Logic_JiAn_Edit.h"
#include "BLV_Logic_XiYuan_Edit.h"
#include "BLV_Logic_HongHao_Edit.h"
#include "BLV_Logic_YiYou_Edit.h"
#include "BLV_Logic_WaiMaoC12_Edit.h"
#include "BLV_Logic_HaiLin_Edit.h"
#include "BLV_Logic_QiangDianC9_Edit.h"
#include "BLV_Logic_ChiFeng_Edit.h"
#include "BLV_Logic_OuChuangYuan_Edit.h"
#include "BLV_Logic_YuCiWYN_Edit.h"
#include "BLV_Logic_MiDu_Edit.h"
#include "BLV_Logic_TianJinZMAXC12_Edit.h"
#include "BLV_Logic_YunYingQJ_Edit.h"
#include "BLV_Logic_MMDB_Edit.h"
#include "BLV_Logic_ZZZMAX_Edit.h"
#include "BLV_Logic_YinChuanMZDX_Edit.h"
#include "BLV_Logic_ManYue_Edit.h"
#include "BLV_Logic_SiJiJinZuo_Edit.h"
#include "BLV_Logic_BuErJin_Edit.h"
#include "BLV_Logic_Pakistan_Edit.h"
#include "BLV_Logic_JinHai_Edit.h"
#include "BLV_Logic_TongHuaHongYuan_Edit.h"
#include "BLV_Logic_SJJZ2_Edit.h"
#include "BLV_Logic_HaiRong_Edit.h"
#include "BLV_Logic_BeijingZMAXC12_Edit.h"
#include "BLV_Logic_ChaoMan_Edit.h"
#include "BLV_Logic_LeChen_Edit.h"
#include "BLV_Logic_HZMYZMAXC12_Edit.h"
#include "BLV_Logic_BeiJingHuiYi_Edit.h"
#include "BLV_Logic_YZZTC12_Edit.h"
#include "BLV_Logic_HuangShanMinSu_Edit.h"
#include "BLV_Logic_CaiFu1Hao_Edit.h"
#include "BLV_Logic_HaiLuo_Edit.h"
#include "BLV_Logic_WYNRL_Edit.h"
#include "BLV_Logic_CMXG_Edit.h"
#include "BLV_Logic_YongLi_Edit.h"
#include "BLV_Logic_YuJiuDian_Edit.h"
#include "BLV_Logic_WYNXiZangNaQu_Edit.h"
#include "BLV_Logic_WangYuDJ_Edit.h"
#include "BLV_Logic_YangLuo_Edit.h"
#include "BLV_Logic_HongYuan_Edit.h"
#include "BLV_Logic_YanYuan_Edit.h"
#include "BLV_Logic_YiLiSi_Edit.h"
#include "BLV_Logic_GuangXin_Edit.h"
#include "BLV_Logic_TaiWanVVO_Edit.h"
#include "BLV_Logic_ChangAn_Edit.h"
#include "BLV_Logic_LiTing_Edit.h"
#include "BLV_Logic_JingDu_Edit.h"
#include "BLV_Logic_XinJiangMinSu_Edit.h"
#include "BLV_Logic_HaoXiangYuan_Edit.h"
#include "BLV_Logic_AMan_Edit.h"
#include "BLV_Logic_ZMAXChengDuHZZX_Edit.h"
#include "BLV_Logic_NanChengHengLi_Edit.h"
#include "BLV_Logic_BoErMan_Edit.h"
#include "BLV_Logic_NCGX_Edit.h"
#include "BLV_Logic_JYJD_Edit.h"
#include "BLV_Logic_GuChengChaoMan_Edit.h"
#include "BLV_Logic_GongSiJieDai_Edit.h"
#include "BLV_Logic_ManYueLanTing_Edit.h"
#include "BLV_Logic_EErDuoSi_Edit.h"
#include "BLV_Logic_WanZaiWeiYeNa_Edit.h"
#include "BLV_Logic_ChaoManJiLin_Edit.h"
#include "BLV_Logic_TaiZhouST_Edit.h"
#include "BLV_Logic_YunJin_Edit.h"
#include "BLV_Logic_GaoQiaoMinSu_Edit.h"
#include "BLV_Logic_YiLangYangBanJian_Edit.h"
#include "BLV_Logic_DeZhouChaoMan_Edit.h"
#include "BLV_Logic_HeMeiQinTang_Edit.h"
#include "BLV_Logic_C5ZhanXiang_Edit.h"
#include "BLV_Logic_AnQiGaoSW_Edit.h"
/*<2A><>Ŀ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
#endif
#define ENTER_CRITICAL() { __set_PRIMASK(1); }//(EA = 0) <09>ر<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD>
#define EXIT_CRITICAL() { __set_PRIMASK(0); }//(EA = 1) <20><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD>
//#define SoftwareVer "C1F_C5_WYN_211123"
/*Launcher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE><EFBFBD><EFBFBD>MCU Flash<73>е<EFBFBD>0x1000 - 20Byte*/
#define Launcher_SoftwareVer_Addr 0x1000
#if (USE_CORE_TYPE == 1) //ʹ<><CAB9>C1F<31><46><EFBFBD>İ<EFBFBD>
#define MCU_TYPE "BLV-C1F" //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
#define APP_NAME "App_L4_C1F_43" //APP<50><50><EFBFBD><EFBFBD> 16Byte
#if (USE_FLOOR_TYPE == 1) //C5<43>װ<EFBFBD>
#define Center_Control_TYPE "BLV-C5" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
#define RELAY_NUM 24 //C5<43>̵<EFBFBD><CCB5><EFBFBD>֮ǰ<D6AE><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>20<32><30>ʹ<EFBFBD><CAB9>CSIO<49><4F><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>Ϊ24<32><34>
#if (SoftName_Custom_Enable == 0x00)
#if (LOGIC_FILE_EN == 0x01)
#define SoftwareVer "C1F_A_L4_43_260117" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#else
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif
#endif
#ifndef SoftwareVer
#if (LOGIC_FILE_EN == 0x01)
#define SoftwareVer "C1F_Cx_Init220614 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#else
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif
#endif
#elif (USE_FLOOR_TYPE == 2) //C12<31>װ<EFBFBD>
#define Center_Control_TYPE "BLV-C12" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
#define RELAY_NUM 13 //C12<31>̵<EFBFBD><CCB5><EFBFBD>13<31><33>
#if (SoftName_Custom_Enable == 0x00)
#define SoftwareVer "C1F_C12_CFG_220517A" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif
#endif
#elif (USE_CORE_TYPE == 2) //ʹ<><CAB9>C1<43><31><EFBFBD>İ<EFBFBD>
#define MCU_TYPE "BLV-C1" //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
#define APP_NAME "BLV_C1_APP_V29" //APP<50><50><EFBFBD><EFBFBD> 16Byte
#if (USE_FLOOR_TYPE == 1) //C5<43>װ<EFBFBD>
#define Center_Control_TYPE "BLV-C5" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
#define RELAY_NUM 24 //C5<43>̵<EFBFBD><CCB5><EFBFBD>24<32><34>
#if (SoftName_Custom_Enable == 0x00)
#define SoftwareVer "C1_C5_211120B1" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif
#elif (USE_FLOOR_TYPE == 2) //C12<31>װ<EFBFBD>
#define Center_Control_TYPE "BLV-C12" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
#define RELAY_NUM 13 //C12<31>̵<EFBFBD><CCB5><EFBFBD>13<31><33>
#if (SoftName_Custom_Enable == 0x00)
#define SoftwareVer "C1_C12_MQTT_211117A2" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif
#endif
#endif //USE_CORE_TYPE == CORE_TYPE_C1F
/*<2A><><EFBFBD><EFBFBD><><D0AD>ͷ<EFBFBD><CDB7>IP<49><50><EFBFBD><EFBFBD>MAC<41><43>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>λ
1<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>MAC<EFBFBD><EFBFBD>ַ
0<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ͷ<EFBFBD>Դ<EFBFBD>IP
*/
#define NET_Head_Agreement_MAC_EN 1
/*
2021-12-29 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD>
<EFBFBD><EFBFBD>ʹ<EFBFBD>õĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>򹤳<EFBFBD><EFBFBD>С<EFBFBD>
*/
//#define MCU_Local_Test_Button_EN 0x01
typedef struct{
uint16_t pro_coding;
uint32_t pro_housetype;
char pro_version[20];
char pro_mcutype[16];
char pro_floortype[16];
char pro_remark[64];
char remain[390];
}__attribute__ ((packed)) S_Project_Information;
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20>ɽڵ<C9BD> <20><><EFBFBD><EFBFBD> 485 ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>*/
typedef enum
{
Dev_Host_Invalid, //<2F><>Ч<EFBFBD>豸 Ҳ<><D2B2><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>Ϊ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD>
Dev_Host_HVout, //ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
Dev_Host_LVinput, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
Dev_Host_LVoutput, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
Dev_Host_Service, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
Dev_NodeCurtain, //<2F>ɽڵ㴰<DAB5><E3B4B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
/*485<38><EFBFBD><E8B1B8><EFBFBD>Ϳ<EFBFBD>ʼ*/
DEV_RS485_SWT, //6 //<2F><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE> <20><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD>״̬ 485<38><EFBFBD>׵<EFBFBD>ַ
DEV_RS485_TEMP, //7 //<2F>յ<EFBFBD>1 <20>յ<EFBFBD>״̬
DEV_RS485_INFRARED, //8 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ <20><><EFBFBD><EFBFBD>
DEV_RS485_AirDetect, //9 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
DEV_RS485_CARD, //10 //<2F>忨ȡ<E5BFA8><C8A1> ȡ<><C8A1>״̬
DEV_RS485_HEATER, //11 //<2F><>ů <20><>ů״̬
Dev_RCU_NET, //12 //RCU<43><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
DEV_RS485_CURTAIN, //13 //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
DEV_RS485_RELAY, //14 //<2F>̵<EFBFBD><CCB5><EFBFBD> <20>̵<EFBFBD><CCB5><EFBFBD>״̬
DEV_RS485_IR_SEND, //15 //<2F><><EFBFBD><EFBFBD><E2B7A2> <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>״̬
DEV_RS485_DIMMING, //16 //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>״̬
DEV_RS485_TRAIC, //17 //<2F>ɿع<C9BF><D8B9><EFBFBD><EFBFBD><EFBFBD> <20>ɿع<C9BF>״̬
DEV_RS485_STRIP, //18 //<2F>ƴ<EFBFBD> <20>ƴ<EFBFBD>״̬
DEV_RS485_CoreCtrl, //19 //<2F>п<EFBFBD>
DEV_RS485_WxLock, //20 //΢<><CEA2><EFBFBD><EFBFBD> ΢<><CEA2><EFBFBD><EFBFBD>״̬ <20><><EFBFBD>𹷵<EFBFBD><F0B9B7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>0<EFBFBD><30>ַ
DEV_RS485_MUSIC, //21 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
/*485<38><EFBFBD><E8B1B8><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>*/
DEV_NET_ROOMSTATE, //22 //<2F><>̬<EFBFBD>·<EFBFBD>
Dev_Host_PWMLight, //23 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>
DEV_RS485_PWM, //24 //485PWM<57><4D><EFBFBD><EFBFBD> PWM<57><4D><EFBFBD><EFBFBD>״̬
DEV_PB_LED, //25 //<2F><><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD> PBLED<45><44><EFBFBD><EFBFBD>״̬
DEV_RCU_POWER, //26 //RCU<43><55>Դ
DEV_RS485_A9_IO_SWT, //27 //A9IO<49><4F><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>û<EFBFBD><C3BB>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DEV_RS485_A9_IO_EXP, //28 //A9IO<49><4F>չ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>û<EFBFBD><C3BB>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DEV_RS485_A9_IO_POWER, //29 //A9IO<49><4F>Դ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>û<EFBFBD><C3BB>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DEV_RS485_RFGatewayCycle, //30 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ú<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
DEV_RS485_RFGatewayHost, //31 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DEV_RS485_RFGatewayDoor, //32 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>
DEV_RS485_AirReveal, //33 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>
DEV_RS485_RFGatewayRelayPir, //34 //<2F><><EFBFBD>߼̵<DFBC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ̵<DABC><CCB5><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dev_Host_TimeCtrl, //35 //ʱ<><CAB1>ͬ<EFBFBD><CDAC>
Dev_Rs458_MonitorCtrl, //36 //<2F><><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>
Dev_Rs458_RotaryCtrl, //37 //<2F><>ť<EFBFBD><C5A5><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>
Dev_BUS_C5IO, //38 //C5IO - <20><><EFBFBD><EFBFBD>
Dev_RS485_CardState, //39 //<2F>忨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>
DEV_RS485_FreshAir, //40 //485<38>·<EFBFBD><C2B7>
DEV_RS485_FaceMach, //41 //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DEV_Center_Control, //42 //<2F>п<EFBFBD>
DEV_Domain_Control, //43 //<2F><><EFBFBD><EFBFBD>
DEV_RS485_LCD, //44 //LCD
DEV_Virtual_NoCard, //45 //<2F>޿<EFBFBD><DEBF>ϵ<EFBFBD>
DEV_Virtual_Card, //46 //<2F>޿<EFBFBD>ȡ<EFBFBD><C8A1>2
DEV_Virtual_Time, //47 //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>
Dev_Rs485_PB20 = 0x30, //48 //PLC<4C>ܿ<EFBFBD>
Dev_Rs485_PB20_LD = 0x31, //49 //PLC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dev_Rs485_PB20_LS = 0x32, //50 //PLC - <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
Dev_Rs485_PB20_Relay = 0x33, //51 //PLC - <20>̵<EFBFBD><CCB5><EFBFBD>
DEV_Virtual_ColorTemp, //52 //ɫ<>µ<EFBFBD><C2B5>ڹ<EFBFBD><DAB9><EFBFBD>
Dev_485_BLE_Music, //53 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
DEV_Carbon_Saved, //54 //̼<><CCBC><EFBFBD><EFBFBD>
Dev_Scene_Restore, //55 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ
Dev_Virtual_GlobalSet, //56 //2025-07-14<31><34>YYW<59><57>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dev_Energy_Monitor, //57 //<2F>ܺļ<DCBA><C4BC><EFBFBD> 2025-08-27
Dev_Num_MAX, //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}Enum_Dev_Type; //<2F><EFBFBD><E8B1B8><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
#define DIMMING(x) (1<<x)
void Data_Receiving_Process(void);
void Environment_Variable_Init(void);
void BLV_Authorize_Task(void);
void BLV_NETUpload_Logging_Task(void);
void MCU_Flash_Read(uint8_t* pBuffer,uint16_t NumByteToRead,uint32_t ReadAddr);
#endif