feat:可修改服务器域名与端口;温控器增加单控设定自动模式、单控设定自动风速;全局设置驱动增加退出睡眠模式,跳过执行起夜动作,直接进入起夜模式方法。

1、全局设置驱动修改点
     -> BLV_Nor_Dev_GlobalSet_Init 修改为 BLV_Nor_Dev_GlobalSet_For_Logic_Init
     -> 增加方法 - 退出睡眠模式,跳过执行起夜动作,直接进入起夜模式 (前提是当前处于睡眠模式)
2、将PB20设备驱动相关的代码通过宏定义 C8_TYPE 选择编译的功能进行完善了
3、温控器设备配置模型上增加方法
     -> 温度相对加、温度相对减、风速相对加、风速相对减
4、温控器设备驱动与设备配置模型上新增方法
     -> 增加单控设定自动模式(代码上没使用,配置上存在)、单控设定自动风速
     -> 增加自动风速下,挡位是否包含风速停(可设定包含、或不包含)
5、温控器配置模型中私有属性上,增加自动风速下,挡位是否包含风速停(可设定包含、或不包含)
6、增加可通过网络通讯 - 设置映射寄存器,可设定服务器的域名与端口 - 初步测试OK
This commit is contained in:
caocong
2026-03-27 10:30:56 +08:00
parent 9a24bb0256
commit 5f2f16a918
37 changed files with 46565 additions and 9423 deletions

View File

@@ -93,7 +93,8 @@ void BLW_RS485_AirDetect_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t
BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get = Dev_AirDetect_Read;
/*<2A><>ʼ<EFBFBD><CABC>AirDetect<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ*/
Rs485AirDetect.AirDetectInputValidNum = AirDetectValidMax;
Rs485AirDetect.DevOffline = Rs485AirDetect.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485AirDetect.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485AirDetect.DevOffline = Rs485AirDetect.DevOfflineLast;
Add_POLL_Device_To_List2(&BUS_Public,(uint8_t *)&Rs485AirDetect,sizeof(RS485_AirDetect_INFO));
Poll485_Info.device_num += 1;
}

View File

@@ -125,11 +125,13 @@ void BLV_RS485_Card_Data_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t
BUS_Public.type = dev_info->type; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
BUS_Public.port = dev_info->port; //<2F><EFBFBD><E8B1B8><EFBFBD>Ͷ˿<CDB6>
BUS_Public.baud = 9600; //<2F><EFBFBD><E8B1B8><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.retry_num = 0x03; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.wait_time = 0x0064; //<2F><EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1> - 100ms
BUS_Public.Protocol = dev_info->version;
Rs485CardInfo.DevOffline = Rs485CardInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
BUS_Public.retry_num = dev_info->retry; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.wait_time = dev_info->writ_time; //<2F><EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1> - 100ms
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>Ӳ忨ȡ<EFBFBD><EFBFBD>_111:%d,%d",dev_info->retry,dev_info->writ_time);
BUS_Public.Protocol = dev_info->version;
Rs485CardInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
Rs485CardInfo.DevOffline = Rs485CardInfo.DevOfflineLast;
BUS_Public.DevFunInfo.Dev_Input_Type_Get = Dev_Rs485_Card_InType_Get;
// Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ڲ忨ȡ<E5BFA8><C8A1>_111:%d",Rs485CardInfo.DevPort);

View File

@@ -104,7 +104,8 @@ void BLW_RS485_Curtain_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *d
}
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"485<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ʹ<EFBFBD><CAB9>:%d",Rs485CurtainInfo.reverse_enable);
Rs485CurtainInfo.DevOffline = Rs485CurtainInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485CurtainInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485CurtainInfo.DevOffline = Rs485CurtainInfo.DevOfflineLast;
switch(BUS_Public.Protocol) //Э<><D0AD><EFBFBD>
{
case ENUM_RS485_DEV_PRO_01: if(NULL!=RS485_DEV_PRO_FUN_01) RS485_DEV_PRO_FUN_01(&BUS_Public, &Rs485CurtainInfo);break;

View File

@@ -20,7 +20,7 @@ void BLV_RS485_EnrgyMonitor_Data_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,
BUS_Public.wait_time = dev_info->writ_time; //<2F><EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1> - 100ms
BUS_Public.Protocol = dev_info->version;
Rs485EnergyInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
Rs485EnergyInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
Rs485EnergyInfo.DevOffline = Rs485EnergyInfo.DevOfflineLast;
BUS_Public.polling_cf = (uint32_t)&BLV_RS485_Energy_Cycle_Dis; //<2F><>Ӧ<EFBFBD>Ķ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -129,7 +129,8 @@ void BLW_RS485_FloorHeatFun_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *
BUS_Public.DevFunInfo.Dev_Output_Ctrl = CLED_Set_FloorHeat_Func; //<2F><>ů<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
FloorHeat_Info.DevOffline = FloorHeat_Info.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
FloorHeat_Info.DevOfflineLast = DEV_IS_ONLINE; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
FloorHeat_Info.DevOffline = FloorHeat_Info.DevOfflineLast;
switch(BUS_Public.Protocol) //Э<><D0AD><EFBFBD>ж<EFBFBD>
{
case ENUM_RS485_DEV_PRO_01: if(NULL!=RS485_DEV_PRO_FUN_01) RS485_DEV_PRO_FUN_01(&BUS_Public, &FloorHeat_Info);break;

View File

@@ -143,8 +143,8 @@ void RS485_IrSend_Data_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *d
BUS_Public.DevFunInfo.Dev_Output_Ctrl = Ir_Control_State;
/*<2A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼֵ*/
RS485IRInfo.DevOfflineLast = DEV_IS_LINEUNINIT;
RS485IRInfo.DevOffline = DEV_IS_LINEUNINIT;
RS485IRInfo.DevOfflineLast = DEV_IS_ONLINE;
RS485IRInfo.DevOffline = DEV_IS_ONLINE;
switch(BUS_Public.Protocol)
{

View File

@@ -205,7 +205,8 @@ void BLW_RS485_LED_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,
// {
// Rs485LED.LEDLoopValidNum = dev_info->output_num;
// }
Rs485LED.DevOffline = Rs485LED.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485LED.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485LED.DevOffline = Rs485LED.DevOfflineLast;
switch(BUS_Public.Protocol) //Э<><D0AD><EFBFBD>
{
case ENUM_RS485_DEV_PRO_01: if(NULL!=RS485_DEV_PRO_FUN_01) RS485_DEV_PRO_FUN_01(&BUS_Public, &Rs485LED, dev_info->output_num);break; //

View File

@@ -156,7 +156,8 @@ void BLW_RS485_Music_Data_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *da
BUS_Public.DevFunInfo.Dev_Output_Ctrl = BLW_Music_Control_State;
#endif
BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get = BLW_Music_Read_State;
Rs485Music.DevOffline = Rs485Music.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485Music.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485Music.DevOffline = Rs485Music.DevOfflineLast;
/*<2A><>ʼ<EFBFBD><CABC>Music<69><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD>ʼֵ*/
if(dev_info->output_num >= MUSICLOOPMAX) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{

View File

@@ -142,7 +142,8 @@ void BLW_RS485_Rotary_Switch_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint
Rs485RotaryInfo.SwtInputValidNum = dev_info->input_num;
Rs485RotaryInfo.SwtOutputValidNum = dev_info->output_num;
Rs485RotaryInfo.DevOffline = Rs485RotaryInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485RotaryInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485RotaryInfo.DevOffline = Rs485RotaryInfo.DevOfflineLast;
switch(BUS_Public.Protocol)

View File

@@ -90,7 +90,7 @@ void BLW_RS485_Switch_Init(uint16_t DataLen, uint8_t *Data)
if(Data[10] >= Key_BUFF_Size) Rs485SwiInfo.SwtOutputValidNum = Key_BUFF_Size;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else Rs485SwiInfo.SwtOutputValidNum = Data[10];
Rs485SwiInfo.DevOffline = Rs485SwiInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485SwiInfo.DevOffline = Rs485SwiInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
switch(Rs485SwiInfo.SwtInputValidNum)
{
case 0x06: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ6
@@ -150,11 +150,11 @@ void BLW_RS485_Switch_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *da
BUS_Public.addr = dev_info->addr; //<2F><EFBFBD><E8B1B8>ַ
BUS_Public.type = dev_info->type; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
BUS_Public.baud = dev_info->baud; //<2F><EFBFBD><E8B1B8><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.retry_num = 0x00; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.wait_time = 100; //<2F><EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
BUS_Public.retry_num = dev_info->retry; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
BUS_Public.wait_time = dev_info->writ_time; //<2F><EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
// BUS_Public.polling_cf = (uint32_t)&BLW_Touch_SwitchCycleDis;
// BUS_Public.processing_cf = (uint32_t)&BLW_Rs485_Touch_Swi_Check;
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD>_111:%d,%d",dev_info->retry,dev_info->writ_time);
BUS_Public.Protocol = dev_info->version;
BUS_Public.DevFunInfo.Dev_Input_Type_Get = Dev_Swi_InType_Get;
@@ -166,7 +166,8 @@ void BLW_RS485_Switch_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *da
if(dev_info->output_num >= Key_BUFF_Size) Rs485SwiInfo.SwtOutputValidNum = Key_BUFF_Size;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else Rs485SwiInfo.SwtOutputValidNum = dev_info->output_num;
Rs485SwiInfo.DevOffline = Rs485SwiInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485SwiInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485SwiInfo.DevOffline = Rs485SwiInfo.DevOfflineLast;
switch(Rs485SwiInfo.SwtInputValidNum)
{
case 0x06: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ6

View File

@@ -83,7 +83,7 @@ void BLW_RS485_TempFun_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *d
Rs485TempT1.TemState.on_off = 1;
Rs485TempT1.TemState.set_t = 25;
Rs485TempT1.TemState.indoor_t = 26;
Rs485TempT1.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485TempT1.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485TempT1.DevOffline = Rs485TempT1.DevOfflineLast;
// switch(BUS_Public.addr)
@@ -125,13 +125,20 @@ void BLW_RS485_TempFun_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *d
Rs485TempT1.switch_en_flag = 0x00;
}
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ֹͣ<CDA3><D6B9>λ
if(dev_info->priproperty[2] == 0x01){
Rs485TempT1.FanStop_Flag = 0x00; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
}else{
Rs485TempT1.FanStop_Flag = 0x01; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ٰ<EFBFBD><D9B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ,<2C><><EFBFBD><EFBFBD><EFBFBD>ϰ汾<CFB0><E6B1BE><EFBFBD><EFBFBD>
}
//<2F>ж<EFBFBD><D0B6><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>
if( ((Rs485TempT1.fan_en_flag == 0x01) && (PlayList.EnFlag == 0x00)) || ((Rs485TempT1.switch_en_flag == 0x01) && (PlayList.EnFlag == 0x00)) )
{
PlayList.EnFlag = 0x01;
}
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ValveNoExist init: %02X, %02X - %02x",Rs485TempT1.ValveNoExist,Rs485TempT1.switch_en_flag,Rs485TempT1.fan_en_flag);
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ValveNoExist init: %02X, %02X - %02x - %02x",Rs485TempT1.ValveNoExist,Rs485TempT1.fan_en_flag,Rs485TempT1.switch_en_flag,Rs485TempT1.FanStop_Flag);
switch(dev_info->port)
{
@@ -634,6 +641,7 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
break;
case TEM_DecFan: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
switch(Rs485Tem.TemState.fan)
{
case TEMP_HIGH:Rs485TemLoc.fan = TEMP_MID;break;
@@ -641,12 +649,28 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
}
break;
case TEM_AddFan: //<2F>ӷ<EFBFBD><D3B7><EFBFBD>
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
switch(Rs485Tem.TemState.fan)
{
case TEMP_MID:Rs485TemLoc.fan = TEMP_HIGH;break;
case TEMP_LOW:Rs485TemLoc.fan = TEMP_MID;break;
}
break;
case SET_TEMP_FANAUTO: //<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>Զ<EFBFBD>
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Rs485TemLoc.fan = TEMP_FANAUTO;
break;
case SET_TEMP_MODEAUTO: //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3>Զ<EFBFBD>(<28><><EFBFBD><EFBFBD>)
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
case SET_FANAUTO1: //<2F><><EFBFBD>÷<EFBFBD><C3B7>ٺ<EFBFBD>ֹͣ<CDA3><D6B9>
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Rs485Tem.FanStop_Flag = 0x01;
break;
case SET_FANAUTO2: //<2F><><EFBFBD>÷<EFBFBD><C3B7>ٲ<EFBFBD><D9B2><EFBFBD>ֹͣ<CDA3><D6B9>
if(0x00 == SingleCtrlFlag) break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Rs485Tem.FanStop_Flag = 0x00;
break;
case 0x20: //Ψ<><CEA8>32<33><32> <20>Ÿ<EFBFBD>ֵΪ0
// if(0x00 == SingleCtrlFlag) //ȫ<><C8AB>
{
@@ -656,7 +680,9 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
case 0x00: //<2F><><EFBFBD><EFBFBD>ֵ <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
break;
default:
Rs485TemLoc.set_t = TempSet; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ȫ<EFBFBD><C8AB>ֵ <20><>ֵ0, 16~31
if(TempSet >= 16 && TempSet < 32){
Rs485TemLoc.set_t = TempSet; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ȫ<EFBFBD><C8AB>ֵ <20><>ֵ 16~31
}
break;
}
@@ -1200,7 +1226,13 @@ void Temp_FanAuto_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Te
{
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit," ֹͣ<CDA3><D6B9><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>λ");
Rs485Tem->TemCondRec.FanFlag = 0x01; //<2F><><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
Rs485Tem->TemCondRec.FanState = 0x00; //<2F><><EFBFBD><EFBFBD>ֹͣ
if( (Rs485Tem->FanStop_Flag == 0x01) || (Rs485Tem->ValveNoExist == 0x01) ){ //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>
Rs485Tem->TemCondRec.FanState = 0x00; //<2F><><EFBFBD><EFBFBD>ֹͣ
}else{
Rs485Tem->TemCondRec.FanState = TEMP_LOW; //<2F>ͷ<EFBFBD><CDB7><EFBFBD>
}
last_auto_fan = Rs485Tem->TemCondRec.FanState;
//printf("Rs485Tem->TemCondRec.FanState<74><65>%d last_auto_fan<61><6E>%d\r\n",Rs485Tem->TemCondRec.FanState,last_auto_fan);
}
@@ -1240,7 +1272,11 @@ void Temp_FanAuto_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Te
if(set_temp <= (indoor_temp - 3))
{
Rs485Tem->TemCondRec.FanFlag = 0x01; //<2F><><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
Rs485Tem->TemCondRec.FanState = 0x00; //<2F><><EFBFBD><EFBFBD>ֹͣ
if( (Rs485Tem->FanStop_Flag == 0x01) || (Rs485Tem->ValveNoExist == 0x01) ){ //<2F>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>
Rs485Tem->TemCondRec.FanState = 0x00; //<2F><><EFBFBD><EFBFBD>ֹͣ
}else{
Rs485Tem->TemCondRec.FanState = TEMP_LOW; //<2F>ͷ<EFBFBD><CDB7><EFBFBD>
}
last_auto_fan = Rs485Tem->TemCondRec.FanState;
//printf("Rs485Tem->TemCondRec.FanState<74><65>%d last_auto_fan<61><6E>%d\r\n",Rs485Tem->TemCondRec.FanState,last_auto_fan);
}
@@ -1474,12 +1510,21 @@ void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem
}else {
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
}
}else if((TEMP_STATE_ON == Rs485TemRecBuf->TemState.on_off)&&(TEMP_FANAUTO == Rs485TemRecBuf->TemState.fan)){
Temp_FanAuto_Set(Rs485TemRecBuf, Rs485Tem);//ת<><D7AA><EFBFBD>ɵ<EFBFBD><C9B5>и<EFBFBD>ͣ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD> 2026-03-26
}
}
if((Rs485Tem->FanAutoRelay != Rs485TemRecBuf->FanAutoRelay)||(Rs485Tem->TemState.set_t != Rs485TemRecBuf->TemState.set_t)
||(Rs485Tem->TemState.indoor_t != Rs485TemRecBuf->TemState.indoor_t)) //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ٱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<C2B6><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȱ<C2B6>
{
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٱ仯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȱ仯 : %d",Rs485TemRecBuf->FanAutoRelay);
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٱ仯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȱ仯 :%d,%d,%d,%d,%d,%d",
Rs485Tem->FanAutoRelay,
Rs485TemRecBuf->FanAutoRelay,
Rs485Tem->TemState.set_t,
Rs485TemRecBuf->TemState.set_t,
Rs485Tem->TemState.indoor_t,
Rs485TemRecBuf->TemState.indoor_t
);
Rs485Tem->FanAutoRelay = Rs485TemRecBuf->FanAutoRelay;
if((TEMP_STATE_ON == Rs485TemRecBuf->TemState.on_off) && (TEMP_FANAUTO == Rs485TemRecBuf->TemState.fan)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
{

View File

@@ -15,6 +15,10 @@
#define TEM_AddTem 33 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TEM_DecFan 14 //<2F><><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD>
#define TEM_AddFan 34 //<2F><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
#define SET_TEMP_FANAUTO 35 //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD> 2026-03-27
#define SET_TEMP_MODEAUTO 36 //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ģʽ 2026-03-27
#define SET_FANAUTO1 37 //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ٺ<EFBFBD>ֹͣ<CDA3><D6B9>λ 2026-03-27
#define SET_FANAUTO2 38 //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ٺ<EFBFBD><D9BA><EFBFBD>ֹͣ<CDA3><D6B9>λ 2026-03-27
#define TEM_MIN_SET 0x10 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TEM_MAX_SET 0x20 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -152,6 +156,8 @@ typedef struct
uint8_t switch_en_flag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE> ʹ<>ܱ<EFBFBD>־λ
uint8_t fan_en_flag; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>ʾ<EFBFBD><CABE> ʹ<>ܱ<EFBFBD>־λ
uint8_t FanStop_Flag; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ֹͣ<CDA3><D6B9>λ <20><>־λ
uint8_t DevPort; //2024-11-05
uint8_t DevPort_Last; //2024-11-05
uint8_t DevPort_Flag; //2024-11-05

View File

@@ -165,7 +165,7 @@ void BLWOut_TempT1Ctrl(Device_Public_Information_G *BUS_Public,RS485_TEMP_INFO *
}
NetCRC16(&CtrlSend[3],7);
Rs485Tem->DevOffline = DEV_IS_LINEUNINIT; //<2F>豸״̬δȷ<CEB4><C8B7>
// Rs485Tem->DevOffline = DEV_IS_LINEUNINIT; //<2F>豸״̬δȷ<CEB4><C8B7>
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
MCU485_SendString(BUS_Public->port,CtrlSend,10);
@@ -411,7 +411,7 @@ uint8_t BLWOut_TempT1CtrDataProc(Device_Public_Information_G* BUS_Public, uint8_
/*<2A>ȶԷ<C8B6><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>״̬ - <20>Ƿ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>־
2025-10-13 <20>޸<EFBFBD>
1<><31>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȱ仯<C8B1><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
2<><32><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9>30S<30><53><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
2<><32><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9>30S<30><53><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> - <20>Ѿ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>2s
*/
if( (Rs485Tem->TemStateLast.on_off != Rs485Tem->TemState.on_off) \
|| (Rs485Tem->TemStateLast.mode != Rs485Tem->TemState.mode) \
@@ -535,6 +535,12 @@ uint8_t BLWOut_Rs485_TempT1_Check(uint32_t dev_addr,uint32_t data_addr,uint16_t
}
break;
case 0x07: //<2F><><EFBFBD>ƿ<EFBFBD><C6BF>ػ<EFBFBD>
Rs485TempT1.DevOffline = DEV_IS_ONLINE; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
if(Rs485TempT1.DevOffline != Rs485TempT1.DevOfflineLast) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
{
Rs485TempT1.DevOfflineLast = Rs485TempT1.DevOffline; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
Write_Device_Fault_State(BUS_Public.type,BUS_Public.addr,In_ErrFun_LineState,DEV_IS_ONLINE); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>SRAM
}
switch(data[6]) //SRAM_Read_Byte(data_addr + 6)
{
case 0x01: //<2F><><EFBFBD>ػ<EFBFBD><D8BB>ظ<EFBFBD>

View File

@@ -29,7 +29,7 @@ uint8_t BLW_Rs485_Touch_Swi_Check(uint32_t DevAdd ,uint32_t Data_addr, uint16_t
void BLV_485_Dev_Touch_Switch_Init(Device_Public_Information_G *BUS_Public, RS485_SWI_INFO *Rs485SwiInfo)
{
Rs485SwiInfo->SwtRelayLedCtrlCnt = REPEATSENDTIMEMAX;
Rs485SwiInfo->SwtRelayLedCtrlCnt = BUS_Public->retry_num;
BUS_Public->polling_cf = (uint32_t)&BLW_Touch_SwitchCycleDis;
BUS_Public->processing_cf = (uint32_t)&BLW_Rs485_Touch_Swi_Check;
@@ -275,7 +275,7 @@ void BLW_Touch_Rs485_Swi_Pro(Device_Public_Information_G* BUS_Public, uint8_t *d
break;
case 0x06:
Switch_Info->SwtRelayLedCtrlFlag = 0x00;
Switch_Info->SwtRelayLedCtrlCnt = REPEATSENDTIMEMAX;
Switch_Info->SwtRelayLedCtrlCnt = BUS_Public->retry_num;
break;
default:
@@ -487,7 +487,7 @@ uint8_t BLW_Touch_SwitchCycleDis(uint32_t DevAdd)
}
else
{
Rs485SwiInfo.SwtRelayLedCtrlCnt = REPEATSENDTIMEMAX;
Rs485SwiInfo.SwtRelayLedCtrlCnt = BUS_Public.retry_num;
Rs485SwiInfo.SwtRelayLedCtrlFlag = 0x00;
//<2F><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>

View File

@@ -149,8 +149,8 @@ void BLW_RS485_WeixinLockFun_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t
BUS_Public.DevFunInfo.Dev_Output_Ctrl = RS485_WxLock_IndiCtrl;
// BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get = NULL;
Rs485WxLockInfo.DevOffline = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485WxLockInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485WxLockInfo.DevOffline = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
Rs485WxLockInfo.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
switch(BUS_Public.Protocol)
{

View File

@@ -36,7 +36,8 @@ void BLV_BUS_CSIO_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,u
BUS_Public.polling_cf = (uint32_t)&BLV_BUS_C5IO_Cycle_Call;
BUS_Public.processing_cf = (uint32_t)&BLV_BUS_C5IO_Data_Processing;
C5IO_Info.DevOffline = C5IO_Info.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
C5IO_Info.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD>߳<EFBFBD>ʼ<EFBFBD><CABC>
C5IO_Info.DevOffline = C5IO_Info.DevOfflineLast;
C5IO_Info.C5IO_Version = 1;
/*Ĭ<>϶<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
@@ -577,7 +578,7 @@ uint8_t BLV_BUS_C5IO_Data_Processing(uint32_t dev_addr,uint32_t data_addr,uint16
if(deal_buff[PKT_PARA] == BLV_C5IO_Do_Result)
{
C5IO_Info.DO_Control_Flag &= ~(C5IO_Info.Last_DO_Control_Flag);
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"BLV_C5IO_Set_DO_Succ");
LOG_Device_COMM_Control_Reply_Record2(dev_addr+Dev_port,dev_addr+Dev_baud,deal_buff,deal_len);
}
break;
@@ -1256,7 +1257,7 @@ void BUS_C5IO_DO_Control_Datasend(uint32_t dev_addr,BUS_C5IO_INFO *Dev_Info)
send_buff[PKT_CHKSUM] = CheckSum(send_buff, send_buff[PKT_LEN]);
temp = SRAM_Read_Byte(dev_addr+Dev_port);
// Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit, "IO_SEND:", send_buff, send_buff[PKT_LEN]);
Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit, "IO_SEND:", send_buff, send_buff[PKT_LEN]);
MCU485_SendString(temp,send_buff, send_buff[PKT_LEN]);
/*<2A><>־<EFBFBD><D6BE>¼*/
LOG_Device_COMM_Send_Control_Record2(dev_addr+Dev_port,dev_addr+Dev_baud,send_buff,send_buff[PKT_LEN]);

View File

@@ -72,7 +72,8 @@ void BLV_BUS_C5MUSIC_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *dat
BUS_Public.DevFunInfo.Dev_Output_Ctrl = Logic_Music_Ctrl; //
BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get = Dev_Music_Loop_State;
C5Music_Info.DevOffline = C5Music_Info.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
C5Music_Info.DevOfflineLast = DEV_IS_ONLINE; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
C5Music_Info.DevOffline = C5Music_Info.DevOfflineLast;
C5Music_Info.now_playback_type = 0x01; //Ĭ<><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
C5Music_Info.default_volume = BLV_C5MUSIC_Default_Volume;
C5Music_Info.fade_time = 0x01; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> - 100ms

View File

@@ -15,7 +15,7 @@ void Dev_GlobalSet_Dis(uint32_t DevAddr);
void BLV_GlobalSet_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t devaddr,uint16_t DevOutputLoop,uint16_t start);
uint16_t BLV_GlobalSet_Read_State(uint32_t devaddr, uint16_t DevOutputLoop);
void BLV_Nor_Dev_GlobalSet_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,uint16_t data_len){
void BLV_Nor_Dev_GlobalSet_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,uint16_t data_len){
Device_Public_Information_G BUS_Public;
NOR_GlobalSet_INFO GlobalSet_Inf;
@@ -36,14 +36,14 @@ void BLV_Nor_Dev_GlobalSet_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,ui
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>Ź<EFBFBD><C5B9><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ⲿ<EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>ʼ<EFBFBD><CABC>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC><><C4AC>״̬<D7B4><CCAC>ͨ<EFBFBD><CDA8>RCU_POWER_Deivce_State_Init <20><EFBFBD><EAB6A8> <20>޸<EFBFBD>Ĭ<EFBFBD>ϳ<EFBFBD>ʼ<EFBFBD><CABC>״̬)
*/
if( (DevActionGlobal.sram_save_flag == 0xA8) && ((SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x01) || (SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x03) || (SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x05)) )
{
GlobalSet_Inf.global_light = DevActionGlobal.DimGlobalValue;
GlobalSet_Inf.global_light_last = DevActionGlobal.DimGlobalValue;
}else {
GlobalSet_Inf.global_light = 80;
GlobalSet_Inf.global_light_last = 80;
}
// if( (DevActionGlobal.sram_save_flag == 0xA8) && ((SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x01) || (SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x03) || (SRAM_Read_DW(SRAM_LOG_RCU_Reboot_Reason) == 0x05)) )
// {
// GlobalSet_Inf.global_light = DevActionGlobal.DimGlobalValue;
// GlobalSet_Inf.global_light_last = DevActionGlobal.DimGlobalValue;
// }else {
// GlobalSet_Inf.global_light = 80;
// GlobalSet_Inf.global_light_last = 80;
// }
Add_Nor_Device_To_List2(&BUS_Public,(uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO));
}
@@ -59,35 +59,35 @@ void BLV_Nor_Dev_GlobalSet_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,ui
*******************************************************************************/
void Dev_GlobalSet_Dis(uint32_t DevAddr)
{
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
NOR_GlobalSet_INFO GlobalSet_Inf; //˽<><CBBD><EFBFBD><EFBFBD><EFBFBD>Ծֲ<D4BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
// Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
// NOR_GlobalSet_INFO GlobalSet_Inf; //˽<><CBBD><EFBFBD><EFBFBD><EFBFBD>Ծֲ<D4BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
// static uint32_t GlobalSet_light_tick = 0;
// uint16_t ctrl_loop_state[LED_BUFF_Size];
// uint32_t ctrl_flag = 0;
// uint8_t ctrl_num = 0;
//
// uint8_t KeepFlag = 0x00;
//
// if(NULL == DevAddr)
// {
// return ;
// }
uint8_t KeepFlag = 0x00;
if(NULL == DevAddr)
{
return ;
}
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SRAM_DMA_Read_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),DevAddr+Dev_Privately);
// SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),DevAddr+Dev_Privately);
//1<><31><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
// if( (SysTick_10ms - GlobalSet_light_tick >= 50)&&(GlobalSet_Inf.global_light != GlobalSet_Inf.global_light_last) ) //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD>ȸı<C8B8>
if( (GlobalSet_Inf.global_light != GlobalSet_Inf.global_light_last) )
{
GlobalSet_Inf.global_light_last = GlobalSet_Inf.global_light;
Dbg_Println(DBG_BIT_Debug_STATUS_bit,"GlobalSet_Inf Global_light:%d",GlobalSet_Inf.global_light);
// if( (GlobalSet_Inf.global_light != GlobalSet_Inf.global_light_last) )
// {
// GlobalSet_Inf.global_light_last = GlobalSet_Inf.global_light;
//
// Dbg_Println(DBG_BIT_Debug_STATUS_bit,"GlobalSet_Inf Global_light:%d",GlobalSet_Inf.global_light);
KeepFlag = 0x01;
}
// KeepFlag = 0x01;
// }
// if(GlobalSet_Inf.global_light != GlobalSet_Inf.global_light_last) //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD>ȸı<C8B8>
@@ -134,13 +134,13 @@ void Dev_GlobalSet_Dis(uint32_t DevAddr)
// }
//3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(0x01 == KeepFlag)
{
BUS_Public.check = 0x00;
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&GlobalSet_Inf, sizeof(NOR_GlobalSet_INFO));
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
SRAM_DMA_Write_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),DevAddr+Dev_Privately);
}
// if(0x01 == KeepFlag)
// {
// BUS_Public.check = 0x00;
// BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&GlobalSet_Inf, sizeof(NOR_GlobalSet_INFO));
// SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
// SRAM_DMA_Write_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),DevAddr+Dev_Privately);
// }
}
@@ -155,7 +155,7 @@ void Dev_GlobalSet_Dis(uint32_t DevAddr)
void BLV_GlobalSet_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t devaddr,uint16_t DevOutputLoop,uint16_t start)
{
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
NOR_GlobalSet_INFO GlobalSet_Inf; //˽<><CBBD>
// NOR_GlobalSet_INFO GlobalSet_Inf; //˽<><CBBD>
uint8_t ctr_loop = DevOutputLoop & 0xFF; //<2F><><EFBFBD>ƵĻ<C6B5>·<EFBFBD><C2B7>
uint8_t ctr_mode = start & 0xff; //<2F><><EFBFBD><EFBFBD>ģʽ
@@ -165,7 +165,7 @@ void BLV_GlobalSet_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, ui
if(devaddr == 0x00) return;
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),devaddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SRAM_DMA_Read_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),devaddr+Dev_Privately);
// SRAM_DMA_Read_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),devaddr+Dev_Privately);
if(DevOutputLoop >= DNOR_GlobalSet_LoopNumMax){ //<2F><>Ч<EFBFBD><D0A7>·
return ;
@@ -178,15 +178,38 @@ void BLV_GlobalSet_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, ui
case 0x01: //<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if(ctr_loop == 0x01)
{
GlobalSet_Inf.global_light = ctr_state;
// GlobalSet_Inf.global_light = ctr_state;
//DevActionGlobal.DimGlobalValue = GlobalSet_Inf.global_light;
Dev_DimGlobalValue_Set(GlobalSet_Inf.global_light);
Dbg_Println(DBG_BIT_Debug_STATUS_bit,"GlobalSet_Inf Global_light:%d,ctr_mode:%d,",GlobalSet_Inf.global_light,ctr_mode);
Dev_DimGlobalValue_Set(ctr_state);
Dbg_Println(DBG_BIT_Debug_STATUS_bit,"GlobalSet_Inf Global_light:%d,ctr_mode:%d,",ctr_state,ctr_mode);
keep_t++;
}
break;
case 0x02:
break;
case 0x03:
break;
case 0x04:
break;
case 0x05:
// if(ctr_loop == 0x05)
{
// GlobalSet_Inf.global_light = ctr_state;
//<2F><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD> - <20>˳<EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>ҹģʽ <20><>ǰ<EFBFBD><C7B0><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD>
if( (ctr_state == 0x01)
&& (DevActionGlobal.SleepMode_State == 0x01) //<2F><><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>ģʽ
&& (DevActionGlobal.SleepLight_State == 0x00) )
{
Dev_SleepState_Set();
Dbg_Println(DBG_BIT_Debug_STATUS_bit,"GlobalSet_Inf SleepState:%d,ctr_mode:%d,",ctr_state,ctr_mode);
keep_t++;
}
}
break;
default:
break;
@@ -195,11 +218,12 @@ void BLV_GlobalSet_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, ui
if(keep_t != 0x00)
{
BUS_Public.check = 0x00;
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&GlobalSet_Inf, sizeof(NOR_GlobalSet_INFO));
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),devaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
SRAM_DMA_Write_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),devaddr+Dev_Privately);
Udp_Addtion_Roomstate(Dev_Virtual_GlobalSet,BUS_Public.addr,DevOutputLoop,start);
// BUS_Public.check = 0x00;
// BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&GlobalSet_Inf, sizeof(NOR_GlobalSet_INFO));
// SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),devaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
// SRAM_DMA_Write_Buff((uint8_t *)&GlobalSet_Inf,sizeof(NOR_GlobalSet_INFO),devaddr+Dev_Privately);
//
}
}
@@ -254,6 +278,17 @@ uint16_t Dev_DimGlobalValue_Get(void)
}
//2026-03-26,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD> - <20>˳<EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>ҹģʽ
uint8_t Dev_SleepState_Set(void)//uint8_t SleepState)
{
uint8_t ret = 0x00;
DevActionGlobal.SleepMode_State = 0x00; //<2F>˳<EFBFBD>˯<EFBFBD><CBAF>ģʽ 2026-03-26
DevActionGlobal.SleepLight_State = 0x01;
DevActionGlobal.DevActionU64Cond.NeightState = NightModeOpen; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҹ 2026-03-26
return ret;
}

View File

@@ -10,45 +10,30 @@
#define CCT_DEVMAP_LIST_MAX 0x0F //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><E8B1B8>
typedef struct{
uint8_t type; //<2F><>·ӳ<C2B7><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t Map_Type[DNOR_GlobalSet_MapLoopNum];
uint8_t Map_Addr[DNOR_GlobalSet_MapLoopNum];
uint8_t Map_DevLoop[DNOR_GlobalSet_MapLoopNum];
uint32_t Map_DevAddr[DNOR_GlobalSet_MapLoopNum];
}__attribute__ ((__packed__))GlobalSet_LoopMap;
typedef struct
{
uint8_t MapDevNum;
uint32_t MapDevAddr[CCT_DEVMAP_LIST_MAX];
}__attribute__ ((__packed__))CCTDevMap2_INF;
typedef struct{
GlobalSet_LoopMap Map_Loop_Info[DNOR_GlobalSet_LoopNumMax]; //ӳ<><D3B3><EFBFBD><EFBFBD>·<EFBFBD><C2B7>Ϣ 192
uint8_t loop_bright[DNOR_GlobalSet_LoopNumMax]; //48
uint8_t loop_ColorTemp[DNOR_GlobalSet_LoopNumMax];
uint8_t last_loop_bright[DNOR_GlobalSet_LoopNumMax];
uint8_t last_loop_ColorTemp[DNOR_GlobalSet_LoopNumMax];
// GlobalSet_LoopMap Map_Loop_Info[DNOR_GlobalSet_LoopNumMax]; //ӳ<><D3B3><EFBFBD><EFBFBD>·<EFBFBD><C2B7>Ϣ 192 //2026-03-26 <20><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ŀǰû<C7B0><C3BB><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// uint8_t loop_bright[DNOR_GlobalSet_LoopNumMax]; //48
// uint8_t loop_ColorTemp[DNOR_GlobalSet_LoopNumMax];
// uint8_t last_loop_bright[DNOR_GlobalSet_LoopNumMax];
// uint8_t last_loop_ColorTemp[DNOR_GlobalSet_LoopNumMax];
uint8_t global_light; //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t global_light_last;
CCTDevMap2_INF MapDev_Inf; //60
// CCTDevMap2_INF MapDev_Inf; //60 //2026-03-26 <20><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ŀǰû<C7B0><C3BB><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}__attribute__ ((__packed__))NOR_GlobalSet_INFO;
void BLV_Nor_Dev_GlobalSet_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,uint16_t data_len);
void BLV_Nor_Dev_GlobalSet_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t *data,uint16_t data_len);
//2025-07-26,YYW,<2C><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD>
uint8_t Dev_DimGlobalValue_Set(uint16_t lit);
uint16_t Dev_DimGlobalValue_Get(void);
//2026-03-26,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20>˳<EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>ҹģʽ <20><>ǰ<EFBFBD><C7B0><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD>
uint8_t Dev_SleepState_Set(void);
#endif

View File

@@ -261,7 +261,7 @@
#if (SoftName_Custom_Enable == 0x00)
#if (LOGIC_FILE_EN == 0x01)
#define SoftwareVer "C1F_A_L4_45_260313" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#define SoftwareVer "C1F_A_L4_45_260325" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#else
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
#endif

View File

@@ -256,6 +256,7 @@ void Environment_Variable_Init(void)
Launcher_C1F_V04
Launcher_C1F_V04.4
Launcher_C1F_V04.7
Launcher_C1F_V04.8
*/
if( (strncmp((char *)temp_string,"Launcher_C1F_V04.7",strlen("Launcher_C1F_V04.7")) == 0x00)
|| (strncmp((char *)temp_string,"Launcher_C1F_V04.8",strlen("Launcher_C1F_V04.8")) == 0x00) )

View File

@@ -969,7 +969,7 @@ void NetWork_Parameter_Get(void)
server_info.dis_port = temp & 0xFFFF;
}
temp = SRAM_Read_Byte(SRAM_Register_Start_ADDRESS + Register_BLVServerDmName_OFFSET);
temp = SRAM_Read_Byte(SRAM_Register_Start_ADDRESS + Register_BLVServerDmLen_OFFSET);
Dbg_Println(DBG_BIT_NET_STATUS_bit,"BLVServerDmName lens:%d",temp);
if(temp < 64)
{

View File

@@ -1643,6 +1643,7 @@ void DevAction_ExpandClose(DEV_ACTION_INFO *DevActionInfo, uint8_t ModeCtrl)
}
}
break;
#if C8_TYPE
case Dev_Rs485_PB20:
case Dev_Rs485_PB20_LD:
case Dev_Rs485_PB20_LS:
@@ -1661,6 +1662,7 @@ void DevAction_ExpandClose(DEV_ACTION_INFO *DevActionInfo, uint8_t ModeCtrl)
}
}
break;
#endif
case Dev_NodeCurtain: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ͣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ͣ <20><><EFBFBD><EFBFBD>ͣȡ<CDA3><C8A1>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddrOut); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(NULL != BUS_Public.DevFunInfo.Dev_Output_Ctrl)
@@ -2918,6 +2920,7 @@ void Sleep_State_Get(DEV_ACTION_INFO *DevActionInfo)
// }
// }
// break;
#if C8_TYPE
case Dev_Rs485_PB20_Relay:
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddrOut); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(NULL != BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get) //<2F>ǿ<EFBFBD>
@@ -2937,6 +2940,7 @@ void Sleep_State_Get(DEV_ACTION_INFO *DevActionInfo)
}
}
break;
#endif
// case Dev_NodeCurtain: //<2F><><EFBFBD><EFBFBD>
// case DEV_RS485_CURTAIN:
// SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddrOut); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -2973,6 +2977,7 @@ void Sleep_State_Get(DEV_ACTION_INFO *DevActionInfo)
// break;
// case DEV_RS485_PWM: //PWM<57><4D><EFBFBD><EFBFBD>
// case DEV_RS485_STRIP: //RGB<47><42><EFBFBD><EFBFBD>
#if C8_TYPE
case Dev_Rs485_PB20:
case Dev_Rs485_PB20_LD:
case Dev_Rs485_PB20_LS:
@@ -3031,6 +3036,7 @@ void Sleep_State_Get(DEV_ACTION_INFO *DevActionInfo)
}
break;
#endif
case DEV_Virtual_ColorTemp:
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddrOut); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(NULL != BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get) //<2F>ǿ<EFBFBD>

View File

@@ -3700,7 +3700,7 @@ void Logic_Device_Add_To_List(uint8_t type,uint8_t *data,uint16_t len)
#if Dev_Nor_GlobalSet_Flag
case Dev_Virtual_GlobalSet:
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><>ַ: %d",temp_dev_info.addr);
BLV_Nor_Dev_GlobalSet_Init(&temp_dev_info,data,len);
BLV_Nor_Dev_GlobalSet_For_Logic_Init(&temp_dev_info,data,len);
NorDevInfoGlobal.NorDeviceNum += 1;
break;
#endif