feat:新增无卡取电驱动 - 初始化状态时同步对于的服务信息回路状态
1、修改无卡取电驱动
-> 无卡取电回路在初始化门磁状态时,将初始化状态与对应的服务信息回路状态进行同步时,以门磁触发为门磁服务关,以门磁释放为门磁服务开
-> 无卡回路初始化,需要在弱电输入初始化完成后
2、修改温控器驱动
-> T1温控器设备和C7T温控器的服务器上报数据,在室温变化时也能更新
-> 温控器控制方法修改 开关机提示音和风速模式提示音整合到一个控制方法中,使用一个提示音标志位控制,配置工具也只勾选风速模式提示音就可以使能提示音播放
-> 服务器控制温控器时,不会触发提示音。而用户操作温控器,是否触发提示音由配置决定。
-> T1温控器设备 新增小数点数据存储在定期上报里组包
3、网络通信驱动
-> 定期上报协议版本更新到V04
修改点:温控器数据组装中 新增内容 室内温度的小数位
4、修改能耗驱动
-> 增加 - 通信数据接收处理函数中对数据进行和校验取反
This commit is contained in:
@@ -308,6 +308,9 @@ void BLWC43_TempCtrDataProc(Device_Public_Information_G* BUS_Public, uint8_t *Da
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"C7T û<><C3BB>С<EFBFBD><D0A1>λ");
|
||||||
|
C7T_Temp_Info->indoor_dec_temp = 0x00;
|
||||||
|
|
||||||
/*<2A>ȶԷ<C8B6><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>״̬ - <20>Ƿ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>־
|
/*<2A>ȶԷ<C8B6><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>״̬ - <20>Ƿ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>־
|
||||||
2025-10-13 <20><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>
|
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>
|
||||||
@@ -319,13 +322,15 @@ void BLWC43_TempCtrDataProc(Device_Public_Information_G* BUS_Public, uint8_t *Da
|
|||||||
|| (C7T_Temp_Info->TemStateLast.valve != C7T_Temp_Info->TemState.valve)
|
|| (C7T_Temp_Info->TemStateLast.valve != C7T_Temp_Info->TemState.valve)
|
||||||
|| (C7T_Temp_Info->TemStateLast.set_t != C7T_Temp_Info->TemState.set_t) )
|
|| (C7T_Temp_Info->TemStateLast.set_t != C7T_Temp_Info->TemState.set_t) )
|
||||||
{
|
{
|
||||||
Dev_Temp_State_Sync(&C7T_Temp_Info->TemStateLast,&C7T_Temp_Info->TemState);
|
|
||||||
|
|
||||||
C7T_Temp_Info->udp_flag = 0x01;
|
C7T_Temp_Info->udp_flag = 0x01;
|
||||||
C7T_Temp_Info->udp_tick = SysTick_1ms;
|
C7T_Temp_Info->udp_tick = SysTick_1ms;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Dev_Temp_State_Sync(&C7T_Temp_Info->TemStateLast,&C7T_Temp_Info->TemState);
|
||||||
|
|
||||||
if(C7T_Temp_Info->udp_flag == 0x01)
|
if(C7T_Temp_Info->udp_flag == 0x01)
|
||||||
{
|
{
|
||||||
if( SysTick_1ms - C7T_Temp_Info->udp_tick >= 2000)
|
if( SysTick_1ms - C7T_Temp_Info->udp_tick >= 2000)
|
||||||
|
|||||||
@@ -417,6 +417,13 @@ uint8_t BLV_RS485_Energy_Data_Processing(uint32_t dev_addr,uint32_t data_addr,ui
|
|||||||
return rev;
|
return rev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*У<><D0A3>У<EFBFBD><D0A3>λ<EFBFBD><CEBB>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>*/
|
||||||
|
if( deal_buff[5] != CheckSum_Overlook_Check(deal_buff,deal_len,5) )
|
||||||
|
{
|
||||||
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"Energy Check %02x Err",deal_buff[5]);
|
||||||
|
return rev;
|
||||||
|
}
|
||||||
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485EnergyInfo,sizeof(RS485_ENERGYMONITOR_INFO),dev_addr+Dev_Privately);
|
SRAM_DMA_Read_Buff((uint8_t *)&Rs485EnergyInfo,sizeof(RS485_ENERGYMONITOR_INFO),dev_addr+Dev_Privately);
|
||||||
|
|
||||||
switch(deal_buff[6])
|
switch(deal_buff[6])
|
||||||
|
|||||||
@@ -371,7 +371,6 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
|
|||||||
Device_Public_Information_G BUS_PublicIn; //<2F><><EFBFBD><EFBFBD>
|
Device_Public_Information_G BUS_PublicIn; //<2F><><EFBFBD><EFBFBD>
|
||||||
RS485_TEMP_INFO Rs485TemIn; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
RS485_TEMP_INFO Rs485TemIn; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
if((NULL == CfgDevAddOut)||(0x00 != DevOutputLoop)) //<2F><><EFBFBD><EFBFBD><EFBFBD>ƽڵ<C6BD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD>ƵĻ<C6B5>·<EFBFBD><C2B7>0<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
if((NULL == CfgDevAddOut)||(0x00 != DevOutputLoop)) //<2F><><EFBFBD><EFBFBD><EFBFBD>ƽڵ<C6BD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD>ƵĻ<C6B5>·<EFBFBD><C2B7>0<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
||||||
{
|
{
|
||||||
return ;
|
return ;
|
||||||
@@ -615,6 +614,23 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
|
|||||||
Rs485TemLoc.set_t = TempSet; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><C2B6><EFBFBD>ȫ<EFBFBD><C8AB>ֵ <20><>ֵ0, 16~31
|
Rs485TemLoc.set_t = TempSet; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><C2B6><EFBFBD>ȫ<EFBFBD><C8AB>ֵ <20><>ֵ0, 16~31
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*<2A>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬*/
|
||||||
|
if(Rs485Tem.TemStateNetFlag != 0x00)
|
||||||
|
{
|
||||||
|
if(Rs485Tem.TemStateNetState == DevOutputType)
|
||||||
|
{
|
||||||
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> 1:%4x - %4x", Rs485Tem.TemStateNetState,DevOutputType);
|
||||||
|
Rs485Tem.TemStateNetFlag = 0x02;
|
||||||
|
Rs485Tem.TemStateNetCnt = 0x00;
|
||||||
|
}else{
|
||||||
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> 1:%4x - %4x", Rs485Tem.TemStateNetState,DevOutputType);
|
||||||
|
Rs485Tem.TemStateNetFlag = 0x00;
|
||||||
|
Rs485Tem.TemStateNetState = 0x00;
|
||||||
|
Rs485Tem.TemStateNetCnt = 0x00;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// switch(TempValve)
|
// switch(TempValve)
|
||||||
// {
|
// {
|
||||||
// case 0x01: Rs485Tem->TemStateCtrl.valve = TEMP_VALVE_OPEN; break; //<2F><>
|
// case 0x01: Rs485Tem->TemStateCtrl.valve = TEMP_VALVE_OPEN; break; //<2F><>
|
||||||
@@ -638,9 +654,18 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
|
|||||||
if(Dev_Temp_State_Data(Rs485Tem.TemStateCtrl) != Dev_Temp_State_Data(Rs485TemLoc) )
|
if(Dev_Temp_State_Data(Rs485Tem.TemStateCtrl) != Dev_Temp_State_Data(Rs485TemLoc) )
|
||||||
{
|
{
|
||||||
KeepFlag = 0x01;
|
KeepFlag = 0x01;
|
||||||
|
|
||||||
Dev_Temp_State_Sync(&Rs485Tem.TemStateCtrl,&Rs485TemLoc);
|
Dev_Temp_State_Sync(&Rs485Tem.TemStateCtrl,&Rs485TemLoc);
|
||||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"TemStateCtrl: %04X", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl));
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"TemStateCtrl: %04X", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl));
|
||||||
|
}else {
|
||||||
|
if(Rs485Tem.TemStateNetFlag != 0x00)
|
||||||
|
{
|
||||||
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> 2:%4x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", Rs485Tem.TemStateNetState,DevOutputType);
|
||||||
|
Rs485Tem.TemStateNetFlag = 0x00;
|
||||||
|
Rs485Tem.TemStateNetState = 0x00;
|
||||||
|
Rs485Tem.TemStateNetCnt = 0x00;
|
||||||
|
KeepFlag = 0x01;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -743,52 +768,64 @@ uint8_t TemSingleJudge(uint32_t CfgDevAdd, RS485_Tem_Ctrl_ptr Rs485TemCtrl, RS48
|
|||||||
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemOnOffCtrlVar)
|
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemOnOffCtrlVar)
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlCnt.TemOnOffCtrlVar--;
|
Rs485TempT1.TemStateCtrlCnt.TemOnOffCtrlVar--;
|
||||||
|
|
||||||
|
Rs485TemCtrl(&BUS_Public,&Rs485TempT1, 0x00); //<2F><><EFBFBD>ػ<EFBFBD>
|
||||||
|
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlFlag.TemOnOffCtrlVar = 0x00;
|
Rs485TempT1.TemStateCtrlFlag.TemOnOffCtrlVar = 0x00;
|
||||||
|
keepflag = 0x01;
|
||||||
}
|
}
|
||||||
Rs485TemCtrl(&BUS_Public,&Rs485TempT1, 0x00); //<2F><><EFBFBD>ػ<EFBFBD>
|
|
||||||
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
|
||||||
}
|
}
|
||||||
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemModeCtrlVar) //ģʽ
|
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemModeCtrlVar) //ģʽ
|
||||||
{
|
{
|
||||||
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemModeCtrlVar)
|
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemModeCtrlVar)
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlCnt.TemModeCtrlVar--;
|
Rs485TempT1.TemStateCtrlCnt.TemModeCtrlVar--;
|
||||||
|
|
||||||
|
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x01); //ģʽ
|
||||||
|
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlFlag.TemModeCtrlVar = 0x00;
|
Rs485TempT1.TemStateCtrlFlag.TemModeCtrlVar = 0x00;
|
||||||
|
keepflag = 0x01;
|
||||||
}
|
}
|
||||||
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x01); //ģʽ
|
|
||||||
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
|
||||||
}
|
}
|
||||||
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemSetTCtrlVar) //<2F>¶<EFBFBD>
|
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemSetTCtrlVar) //<2F>¶<EFBFBD>
|
||||||
{
|
{
|
||||||
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemSetTCtrlVar)
|
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemSetTCtrlVar)
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlCnt.TemSetTCtrlVar--;
|
Rs485TempT1.TemStateCtrlCnt.TemSetTCtrlVar--;
|
||||||
|
|
||||||
|
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x02); //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||||
|
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlFlag.TemSetTCtrlVar = 0x00;
|
Rs485TempT1.TemStateCtrlFlag.TemSetTCtrlVar = 0x00;
|
||||||
|
keepflag = 0x01;
|
||||||
}
|
}
|
||||||
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x02); //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
|
||||||
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
|
||||||
}
|
}
|
||||||
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemFanCtrlVar) //<2F><><EFBFBD><EFBFBD>
|
else if(0x01 == Rs485TempT1.TemStateCtrlFlag.TemFanCtrlVar) //<2F><><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemFanCtrlVar)
|
if(0x00 != Rs485TempT1.TemStateCtrlCnt.TemFanCtrlVar)
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlCnt.TemFanCtrlVar--;
|
Rs485TempT1.TemStateCtrlCnt.TemFanCtrlVar--;
|
||||||
|
|
||||||
|
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x03); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Rs485TempT1.TemStateCtrlFlag.TemFanCtrlVar = 0x00;
|
Rs485TempT1.TemStateCtrlFlag.TemFanCtrlVar = 0x00;
|
||||||
|
keepflag = 0x01;
|
||||||
}
|
}
|
||||||
Rs485TemCtrl(&BUS_Public, &Rs485TempT1, 0x03); //<2F><><EFBFBD><EFBFBD>
|
|
||||||
Ret = RS485OCCUPYTIME; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
|
||||||
}
|
}
|
||||||
else if(Rs485TempT1.CardFlag == 0x01)
|
else if(Rs485TempT1.CardFlag == 0x01)
|
||||||
{
|
{
|
||||||
@@ -814,14 +851,29 @@ uint8_t TemSingleJudge(uint32_t CfgDevAdd, RS485_Tem_Ctrl_ptr Rs485TemCtrl, RS48
|
|||||||
{
|
{
|
||||||
if(BUS_Public.port == Polling_Port) //2024-11-05
|
if(BUS_Public.port == Polling_Port) //2024-11-05
|
||||||
{
|
{
|
||||||
|
|
||||||
if(NULL != Rs485TemCycle)
|
if(NULL != Rs485TemCycle)
|
||||||
{
|
{
|
||||||
Rs485TemCycle(&BUS_Public);
|
Rs485TemCycle(&BUS_Public);
|
||||||
Ret = RS485OCCUPYTIME;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
Ret = RS485OCCUPYTIME;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 2026-02-28
|
||||||
|
<09>ƶ˿<C6B6><CBBF>ƺ<C6BA>3<EFBFBD><33>״̬<D7B4>ñ<EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD>ڵĻ<DAB5>,<2C><><EFBFBD><EFBFBD>״̬
|
||||||
|
<09><EFBFBD><DEBF>Ʊ<EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3>ƶ˿<C6B6><CBBF>Ʋ<EFBFBD>Ϊ<EFBFBD>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
||||||
|
|
||||||
|
Ԥ<><D4A4><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߺ<DFBA>־λһֱ<D2BB><D6B1><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
if(Rs485TempT1.TemStateNetFlag != 0x00)
|
||||||
|
{
|
||||||
|
Rs485TempT1.TemStateNetCnt++;
|
||||||
|
if(Rs485TempT1.TemStateNetCnt >= REPEATSENDTIMEMAX)
|
||||||
|
{
|
||||||
|
Rs485TempT1.TemStateNetCnt = 0x00;
|
||||||
|
Rs485TempT1.TemStateNetFlag = 0x00;
|
||||||
|
Rs485TempT1.TemStateNetState = 0x00;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((RS485OCCUPYTIME == Ret) || (keepflag == 0x01))
|
if((RS485OCCUPYTIME == Ret) || (keepflag == 0x01))
|
||||||
@@ -1223,12 +1275,15 @@ void Temp_FanAuto_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Te
|
|||||||
*/
|
*/
|
||||||
void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem)
|
void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem)
|
||||||
{
|
{
|
||||||
|
uint8_t addPrompt_flag = 0;
|
||||||
|
|
||||||
if(Rs485Tem->TemState.on_off != Rs485TemRecBuf->TemState.on_off)
|
if(Rs485Tem->TemState.on_off != Rs485TemRecBuf->TemState.on_off)
|
||||||
{
|
{
|
||||||
Rs485Tem->TemState.on_off = Rs485TemRecBuf->TemState.on_off; //<2F><><EFBFBD>ػ<EFBFBD>ͬ<EFBFBD><CDAC>
|
Rs485Tem->TemState.on_off = Rs485TemRecBuf->TemState.on_off; //<2F><><EFBFBD>ػ<EFBFBD>ͬ<EFBFBD><CDAC>
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ״̬: %d",Rs485TemRecBuf->TemState.on_off);
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ״̬: %d",Rs485TemRecBuf->TemState.on_off);
|
||||||
Rs485Tem->TemCondRec.OnOffFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
Rs485Tem->TemCondRec.OnOffFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
Rs485Tem->TemCondRec.OnOffState = Rs485TemRecBuf->TemState.on_off;
|
Rs485Tem->TemCondRec.OnOffState = Rs485TemRecBuf->TemState.on_off;
|
||||||
|
|
||||||
if(TEMP_STATE_ON == Rs485TemRecBuf->TemState.on_off)
|
if(TEMP_STATE_ON == Rs485TemRecBuf->TemState.on_off)
|
||||||
{
|
{
|
||||||
Rs485Tem->TemCondRec.FanFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
|
Rs485Tem->TemCondRec.FanFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
|
||||||
@@ -1263,6 +1318,28 @@ void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem
|
|||||||
}
|
}
|
||||||
Rs485Tem->TemCondRec.ModeFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
Rs485Tem->TemCondRec.ModeFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
||||||
Rs485Tem->TemCondRec.ModeState = Rs485TemRecBuf->TemState.mode;
|
Rs485Tem->TemCondRec.ModeState = Rs485TemRecBuf->TemState.mode;
|
||||||
|
|
||||||
|
if(Rs485Tem->inif_flag != 0x00)
|
||||||
|
{
|
||||||
|
if(Rs485Tem->TemStateNetFlag == 0x00)
|
||||||
|
{
|
||||||
|
AddPrompt_ToList(0x06);
|
||||||
|
addPrompt_flag = 0x01;
|
||||||
|
}else {
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(Rs485Tem->inif_flag != 0x00)
|
||||||
|
{
|
||||||
|
if(Rs485Tem->TemStateNetFlag == 0x00)
|
||||||
|
{
|
||||||
|
AddPrompt_ToList(0x07);
|
||||||
|
addPrompt_flag = 0x01;
|
||||||
|
}else {
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(Rs485Tem->TemState.mode != Rs485TemRecBuf->TemState.mode)
|
if(Rs485Tem->TemState.mode != Rs485TemRecBuf->TemState.mode)
|
||||||
@@ -1289,20 +1366,29 @@ void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem
|
|||||||
/*2023.03.20<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>*/
|
/*2023.03.20<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
if(Rs485Tem->inif_flag != 0x00) //2025-8-22
|
if(Rs485Tem->inif_flag != 0x00) //2025-8-22
|
||||||
{
|
{
|
||||||
if(Rs485TemRecBuf->TemState.mode == 0x01) //<2F><><EFBFBD><EFBFBD>
|
if( (Rs485Tem->TemStateNetFlag == 0x00) && (addPrompt_flag == 0x00) )
|
||||||
{
|
{
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
if(Rs485TemRecBuf->TemState.mode == 0x01) //<2F><><EFBFBD><EFBFBD>
|
||||||
AddPrompt_ToList(0x00);
|
{
|
||||||
}
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
else if(Rs485TemRecBuf->TemState.mode == 0x02) //<2F><><EFBFBD><EFBFBD>
|
|
||||||
{
|
AddPrompt_ToList(0x00);
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
addPrompt_flag = 0x01;
|
||||||
AddPrompt_ToList(0x01);
|
}
|
||||||
}
|
else if(Rs485TemRecBuf->TemState.mode == 0x02) //<2F><><EFBFBD><EFBFBD>
|
||||||
else if(Rs485TemRecBuf->TemState.mode == 0x03) //<2F>ͷ<EFBFBD>
|
{
|
||||||
{
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
AddPrompt_ToList(0x01);
|
||||||
AddPrompt_ToList(0x02);
|
addPrompt_flag = 0x01;
|
||||||
|
}
|
||||||
|
else if(Rs485TemRecBuf->TemState.mode == 0x03) //<2F>ͷ<EFBFBD>
|
||||||
|
{
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
|
AddPrompt_ToList(0x02);
|
||||||
|
addPrompt_flag = 0x01;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
@@ -1321,20 +1407,25 @@ void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem
|
|||||||
|
|
||||||
if(Rs485Tem->inif_flag != 0x00)
|
if(Rs485Tem->inif_flag != 0x00)
|
||||||
{
|
{
|
||||||
if(Rs485TemRecBuf->TemState.fan == 0x01) //<2F><><EFBFBD><EFBFBD>
|
if( (Rs485Tem->TemStateNetFlag == 0x00) && (addPrompt_flag == 0x00) )
|
||||||
{
|
{
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
if(Rs485TemRecBuf->TemState.fan == 0x01) //<2F><><EFBFBD><EFBFBD>
|
||||||
AddPrompt_ToList(0x03);
|
{
|
||||||
}
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
else if(Rs485TemRecBuf->TemState.fan == 0x02) //<2F><><EFBFBD><EFBFBD>
|
AddPrompt_ToList(0x03);
|
||||||
{
|
}
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
else if(Rs485TemRecBuf->TemState.fan == 0x02) //<2F><><EFBFBD><EFBFBD>
|
||||||
AddPrompt_ToList(0x04);
|
{
|
||||||
}
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
else if(Rs485TemRecBuf->TemState.fan == 0x03) //<2F><><EFBFBD><EFBFBD>
|
AddPrompt_ToList(0x04);
|
||||||
{
|
}
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
else if(Rs485TemRecBuf->TemState.fan == 0x03) //<2F><><EFBFBD><EFBFBD>
|
||||||
AddPrompt_ToList(0x05);
|
{
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>");
|
||||||
|
AddPrompt_ToList(0x05);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>ƶ˿<EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>յ<EFBFBD><D5B5><EFBFBD>ʾ<EFBFBD><CABE> <20><><EFBFBD><EFBFBD>Ӧ");
|
||||||
@@ -1470,6 +1561,14 @@ void Temp_Action_Set(RS485_TEMP_BASIC *Rs485TemRecBuf, RS485_TEMP_INFO *Rs485Tem
|
|||||||
Rs485Tem->inif_flag = 0x01;
|
Rs485Tem->inif_flag = 0x01;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*2026-02-28 <20><><EFBFBD><EFBFBD><EFBFBD>ƶ˿<C6B6><CBBF><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ʾ<EFBFBD><CABE>*/
|
||||||
|
if( Rs485Tem->TemStateNetFlag != 0x00 )
|
||||||
|
{
|
||||||
|
Rs485Tem->TemStateNetFlag = 0x00;
|
||||||
|
Rs485Tem->TemStateNetState = 0x00;
|
||||||
|
Rs485Tem->TemStateNetCnt = 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
#if Dev_Nor_Carbon_Flag
|
#if Dev_Nor_Carbon_Flag
|
||||||
//Dev_Temp_State_Sync(&Rs485Tem->TemStateCtrl,&Rs485Tem->TemState); //2024-12-16 ̼<><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//Dev_Temp_State_Sync(&Rs485Tem->TemStateCtrl,&Rs485Tem->TemState); //2024-12-16 ̼<><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
Rs485Tem->Carbon_Set_Temp = Rs485Tem->TemState.set_t;
|
Rs485Tem->Carbon_Set_Temp = Rs485Tem->TemState.set_t;
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ typedef struct
|
|||||||
|
|
||||||
uint8_t control_start; //<2F><><EFBFBD>ؿ<EFBFBD><D8BF>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>״̬
|
uint8_t control_start; //<2F><><EFBFBD>ؿ<EFBFBD><D8BF>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||||
|
|
||||||
TemState_Struct TemStateVir; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>״̬<D7B4>仯<EFBFBD>Ƚ<EFBFBD> <20><>δ<EFBFBD><CEB4>
|
// TemState_Struct TemStateNet; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>״̬<D7B4>仯<EFBFBD>Ƚ<EFBFBD> <20><>δ<EFBFBD><CEB4>
|
||||||
TemState_Struct TemStateLast; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD>
|
TemState_Struct TemStateLast; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD>
|
||||||
// TemState_Struct TemStateRs485; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD> RS485 <20><>δ<EFBFBD><CEB4>
|
// TemState_Struct TemStateRs485; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD> RS485 <20><>δ<EFBFBD><CEB4>
|
||||||
// TemState_Struct TemStateMap; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD> RS485 <20><>δ<EFBFBD><CEB4>
|
// TemState_Struct TemStateMap; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬ <20><><EFBFBD><EFBFBD>״̬<D7B4>仯<EFBFBD>ϱ<EFBFBD> RS485 <20><>δ<EFBFBD><CEB4>
|
||||||
@@ -131,11 +131,13 @@ typedef struct
|
|||||||
|
|
||||||
uint8_t TemCycleCnt; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LF<4C>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ר<EFBFBD><D7A8>
|
uint8_t TemCycleCnt; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LF<4C>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ר<EFBFBD><D7A8>
|
||||||
|
|
||||||
uint8_t TemDataChangeFlag; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸı<DDB8><C4B1><EFBFBD>־
|
// uint8_t TemDataChangeFlag; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸı<DDB8><C4B1><EFBFBD>־
|
||||||
uint8_t TempType; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м̵<D0BC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5>ŷ<EFBFBD><C5B7>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD>ŷ<EFBFBD><C5B7>¿<EFBFBD><C2BF><EFBFBD>
|
// uint8_t TempType; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м̵<D0BC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5>ŷ<EFBFBD><C5B7>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD>ŷ<EFBFBD><C5B7>¿<EFBFBD><C2BF><EFBFBD>
|
||||||
|
|
||||||
|
uint8_t TemStateNetFlag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>־λ - <20><><EFBFBD><EFBFBD><EFBFBD>ƶ˿<C6B6><CBBF><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
|
uint8_t TemStateNetCnt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||||
|
uint16_t TemStateNetState; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>״̬
|
||||||
|
|
||||||
uint8_t TempComSetFlag; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD>ñ<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>Ϊ1<CEAA><31>C43<34><33><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>²
|
|
||||||
uint8_t TempComSetCnt; //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
|
|
||||||
|
|
||||||
//Dev_Name_Struct DevNameStruct;//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD> ÿ<><C3BF><EFBFBD><EFBFBD>·16<31><36><EFBFBD>ֽڱ<D6BD><DAB1><EFBFBD> //<2F><>֧<EFBFBD><D6A7>30<33><30><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
//Dev_Name_Struct DevNameStruct;//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD> ÿ<><C3BF><EFBFBD><EFBFBD>·16<31><36><EFBFBD>ֽڱ<D6BD><DAB1><EFBFBD> //<2F><>֧<EFBFBD><D6A7>30<33><30><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
@@ -157,6 +159,8 @@ typedef struct
|
|||||||
uint8_t udp_flag; //2025-10-13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>־λ
|
uint8_t udp_flag; //2025-10-13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>־λ
|
||||||
uint32_t udp_tick; //2025-10-13
|
uint32_t udp_tick; //2025-10-13
|
||||||
|
|
||||||
|
uint8_t indoor_dec_temp; //2026-03-02 <09>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>¶<EFBFBD>С<EFBFBD><D0A1><EFBFBD>㲿<EFBFBD><E3B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lsj
|
||||||
|
|
||||||
}__attribute__ ((__packed__))RS485_TEMP_INFO; //485<38>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뺯<EFBFBD><EBBAAF>
|
}__attribute__ ((__packed__))RS485_TEMP_INFO; //485<38>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뺯<EFBFBD><EBBAAF>
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
@@ -243,56 +243,7 @@ void BLV_T1Temp_PortSet_Send(Device_Public_Information_G *BUS_Public, RS485_TEMP
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
uint8_t BLWOut_TempT1CycleCtrl(uint32_t dev_addr)
|
uint8_t BLWOut_TempT1CycleCtrl(uint32_t dev_addr)
|
||||||
{
|
{
|
||||||
// uint16_t temp = 0;
|
|
||||||
// uint8_t crc_val = 0;
|
|
||||||
// uint8_t i;
|
|
||||||
// uint8_t CtrlWay = 4;//<2F><><EFBFBD>Ʒ<EFBFBD>ʽ
|
|
||||||
// RS485_TEMP_INFO Rs485TempT1;
|
|
||||||
|
|
||||||
// SRAM_DMA_Read_Buff((uint8_t *)&Rs485TempT1,sizeof(RS485_TEMP_INFO),dev_addr+Dev_Privately);
|
|
||||||
//
|
|
||||||
// for(i = 0;i<4;i++)
|
|
||||||
// {
|
|
||||||
// if(0xff != Rs485TempT1.info[i])
|
|
||||||
// {
|
|
||||||
// CtrlWay = i;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// switch(CtrlWay)
|
|
||||||
// {
|
|
||||||
// case 0: //<2F><><EFBFBD>ػ<EFBFBD>
|
|
||||||
// case 1: //ģʽ
|
|
||||||
// case 2: //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
|
||||||
// case 3: //<2F><><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD>
|
|
||||||
// BLWOut_TempT1Ctrl(dev_addr,&Rs485TempT1, CtrlWay);
|
|
||||||
// break;
|
|
||||||
// case 4: //<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|
||||||
// BLWOut_tempCycle(dev_addr);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// if(Rs485TempT1.DevSendCnt > REPEATSENDTIMEMAX)
|
|
||||||
// {
|
|
||||||
// Rs485TempT1.DevOffline = DEV_IS_OFFLINE; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// Rs485TempT1.DevSendCnt++; //<2F><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>ۼ<EFBFBD>
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SRAM<41><4D>*/
|
|
||||||
// SRAM_DMA_Write_Buff((uint8_t *)&Rs485TempT1,sizeof(RS485_TEMP_INFO),dev_addr+Dev_Privately);
|
|
||||||
//
|
|
||||||
// /*<2A><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ֵ*/
|
|
||||||
// SRAM_Write_Byte(0x00,dev_addr+Dev_Check);
|
|
||||||
// temp = sizeof(RS485_TEMP_INFO) + Dev_Privately;
|
|
||||||
// crc_val = Dev_CheckSum(dev_addr,temp);
|
|
||||||
// SRAM_Write_Byte(crc_val,dev_addr+Dev_Check); //У<><D0A3>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
|
|
||||||
// //Dbg_Print(DBG_BIT_DEVICE_STATUS_bit,"TempT1 crc_val:%02X\r\n",crc_val);
|
|
||||||
//
|
|
||||||
// return 0;
|
|
||||||
|
|
||||||
return TemSingleJudge(dev_addr, BLWOut_TempT1Ctrl, BLWOut_tempT1Cycle);
|
return TemSingleJudge(dev_addr, BLWOut_TempT1Ctrl, BLWOut_tempT1Cycle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,10 +315,22 @@ uint8_t BLWOut_TempT1CtrDataProc(Device_Public_Information_G* BUS_Public, uint8_
|
|||||||
}
|
}
|
||||||
Rs485TemRecBuf.TemState.indoor_t = data[17];//SRAM_Read_Byte(data_addr + 17); //
|
Rs485TemRecBuf.TemState.indoor_t = data[17];//SRAM_Read_Byte(data_addr + 17); //
|
||||||
|
|
||||||
if((Rs485TemRecBuf.TemState.on_off != Rs485Tem->TemState.on_off) || (Rs485TemRecBuf.TemState.mode != Rs485Tem->TemState.mode) ||
|
if(data[18] < 0x0A ){ //<2F><><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>0-9<><39>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>ΪС<CEAA><D0A1><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷǷ<DDB7><C7B7><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
|
||||||
(Rs485TemRecBuf.TemState.fan != Rs485Tem->TemState.fan) || (Rs485TemRecBuf.TemState.valve != Rs485Tem->TemState.valve)||
|
Rs485Tem->indoor_dec_temp = data[18];
|
||||||
(Rs485TemRecBuf.FanAutoRelay != Rs485Tem->FanAutoRelay) ||
|
}else{
|
||||||
(Rs485TemRecBuf.TemState.set_t != Rs485Tem->TemState.set_t)||(Rs485TemRecBuf.TemState.indoor_t != Rs485Tem->TemState.indoor_t))//<2F><><EFBFBD>ػ<EFBFBD> ģʽ <20>¶<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><C2B6>봢<EFBFBD><EBB4A2><EFBFBD>IJ<EFBFBD>һ<EFBFBD><D2BB>
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"dec ERR:%d",data[18]);
|
||||||
|
Rs485Tem->indoor_dec_temp = 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if((Rs485TemRecBuf.TemState.on_off != Rs485Tem->TemState.on_off)
|
||||||
|
|| (Rs485TemRecBuf.TemState.mode != Rs485Tem->TemState.mode)
|
||||||
|
||(Rs485TemRecBuf.TemState.fan != Rs485Tem->TemState.fan)
|
||||||
|
|| (Rs485TemRecBuf.TemState.valve != Rs485Tem->TemState.valve)
|
||||||
|
||(Rs485TemRecBuf.FanAutoRelay != Rs485Tem->FanAutoRelay)
|
||||||
|
||(Rs485TemRecBuf.TemState.set_t != Rs485Tem->TemState.set_t)
|
||||||
|
||(Rs485TemRecBuf.TemState.indoor_t != Rs485Tem->TemState.indoor_t)
|
||||||
|
)//<2F><><EFBFBD>ػ<EFBFBD> ģʽ <20>¶<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><C2B6>봢<EFBFBD><EBB4A2><EFBFBD>IJ<EFBFBD>һ<EFBFBD><D2BB>
|
||||||
{
|
{
|
||||||
|
|
||||||
Temp_Action_Set(&Rs485TemRecBuf, Rs485Tem); //ͬ<><CDAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
Temp_Action_Set(&Rs485TemRecBuf, Rs485Tem); //ͬ<><CDAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -456,8 +419,6 @@ uint8_t BLWOut_TempT1CtrDataProc(Device_Public_Information_G* BUS_Public, uint8_
|
|||||||
|| (Rs485Tem->TemStateLast.valve != Rs485Tem->TemState.valve) \
|
|| (Rs485Tem->TemStateLast.valve != Rs485Tem->TemState.valve) \
|
||||||
|| (Rs485Tem->TemStateLast.set_t != Rs485Tem->TemState.set_t) )
|
|| (Rs485Tem->TemStateLast.set_t != Rs485Tem->TemState.set_t) )
|
||||||
{
|
{
|
||||||
|
|
||||||
Dev_Temp_State_Sync(&Rs485Tem->TemStateLast,&Rs485Tem->TemState);
|
|
||||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>:%04x",Dev_Temp_State_Data(Rs485Tem->TemState));
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>:%04x",Dev_Temp_State_Data(Rs485Tem->TemState));
|
||||||
|
|
||||||
Rs485Tem->udp_flag = 0x01;
|
Rs485Tem->udp_flag = 0x01;
|
||||||
@@ -465,6 +426,8 @@ uint8_t BLWOut_TempT1CtrDataProc(Device_Public_Information_G* BUS_Public, uint8_
|
|||||||
temp++;
|
temp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Dev_Temp_State_Sync(&Rs485Tem->TemStateLast,&Rs485Tem->TemState);
|
||||||
|
|
||||||
if(Rs485Tem->udp_flag == 0x01)
|
if(Rs485Tem->udp_flag == 0x01)
|
||||||
{
|
{
|
||||||
if( SysTick_1ms - Rs485Tem->udp_tick >= 2000)
|
if( SysTick_1ms - Rs485Tem->udp_tick >= 2000)
|
||||||
|
|||||||
@@ -361,11 +361,8 @@ uint8_t BLV_BUS_C5MUSIC_Data_Processing(uint32_t dev_addr,uint32_t data_addr,uin
|
|||||||
|
|
||||||
C5Music_Info.now_helpsleep_volume = deal_buff[PKT2_PARA + 12]; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2022-12-16
|
C5Music_Info.now_helpsleep_volume = deal_buff[PKT2_PARA + 12]; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2022-12-16
|
||||||
|
|
||||||
|
|
||||||
// Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit,"Music Polling Data",deal_buff,deal_len);
|
// Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit,"Music Polling Data",deal_buff,deal_len);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(C5Music_Info.last_playback_status != C5Music_Info.now_playback_status) /*<2A>Ƚ<EFBFBD>C5MUSIC_Playback<63><6B><EFBFBD><EFBFBD>,<2C>Ƿ<C7B7><F1B1A3B4><EFBFBD>־*/
|
if(C5Music_Info.last_playback_status != C5Music_Info.now_playback_status) /*<2A>Ƚ<EFBFBD>C5MUSIC_Playback<63><6B><EFBFBD><EFBFBD>,<2C>Ƿ<C7B7><F1B1A3B4><EFBFBD>־*/
|
||||||
{
|
{
|
||||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"C5MUSIC_Playback_Status Change:%d",C5Music_Info.now_playback_status);
|
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"C5MUSIC_Playback_Status Change:%d",C5Music_Info.now_playback_status);
|
||||||
@@ -2663,13 +2660,13 @@ void Logic_Music_Ctrl(uint32_t DevAddrIn, uint16_t DevInputLoop, uint32_t DevAdd
|
|||||||
uint16_t Dev_Music_Loop_State(uint32_t devaddr, uint16_t DevOutputLoop) //2023-02-28
|
uint16_t Dev_Music_Loop_State(uint32_t devaddr, uint16_t DevOutputLoop) //2023-02-28
|
||||||
{
|
{
|
||||||
BUS_C5MUSIC_INFO C5Music_Info; //<2F><><EFBFBD>ؾֲ<D8BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
BUS_C5MUSIC_INFO C5Music_Info; //<2F><><EFBFBD>ؾֲ<D8BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
uint8_t status;
|
uint8_t status = 0x00;
|
||||||
if(devaddr == 0x00)
|
|
||||||
return 0x00;
|
if(devaddr == 0x00) return 0x00;
|
||||||
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&C5Music_Info,sizeof(BUS_C5MUSIC_INFO),devaddr+Dev_Privately);
|
SRAM_DMA_Read_Buff((uint8_t *)&C5Music_Info,sizeof(BUS_C5MUSIC_INFO),devaddr+Dev_Privately);
|
||||||
|
|
||||||
if(C5Music_Info.now_playback_type ==0x01) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(C5Music_Info.now_playback_type == 0x01) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
if(C5Music_Info.now_playback_status == 0x00) //<2F><><EFBFBD><EFBFBD>
|
if(C5Music_Info.now_playback_status == 0x00) //<2F><><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -145,7 +145,6 @@ void Dev_LVinput_Dis(uint32_t DevAddr)
|
|||||||
DevLVinputInfo.DevReadBuf[i] = C5IO_Info.DI_Start[i];
|
DevLVinputInfo.DevReadBuf[i] = C5IO_Info.DI_Start[i];
|
||||||
DevLVinputInfo.DevReadBufLast[i] = C5IO_Info.DI_Start[i];
|
DevLVinputInfo.DevReadBufLast[i] = C5IO_Info.DI_Start[i];
|
||||||
|
|
||||||
|
|
||||||
if(C5IO_Info.DI_Start[i]==0x02) //2023-10-09
|
if(C5IO_Info.DI_Start[i]==0x02) //2023-10-09
|
||||||
{
|
{
|
||||||
DevActionGlobal.InputType = BUS_PublicLVinput.type;
|
DevActionGlobal.InputType = BUS_PublicLVinput.type;
|
||||||
@@ -185,32 +184,48 @@ void Dev_LVinput_Dis(uint32_t DevAddr)
|
|||||||
break;
|
break;
|
||||||
case BUS_C5IO_DI_Pir_Type:
|
case BUS_C5IO_DI_Pir_Type:
|
||||||
case BUS_C5IO_DI_Dry_Type:
|
case BUS_C5IO_DI_Dry_Type:
|
||||||
if(C5IO_Info.DI_Start[i] != C5IO_Info.DI_LastStart[i])
|
/*
|
||||||
|
<09>ɽڵ<C9BD><DAB5><EFBFBD>PIR<49><52><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC>״̬;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>Ϊ<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC>״̬
|
||||||
|
*/
|
||||||
|
if( (C5IO_Info.DI_Start[i] != C5IO_Info.DI_LastStart[i]) || ( (DevLVinputInfo.Dev_Init_Flag == 0x00) && (C5IO_Info.DI_Init_flag == 0x01) ) )
|
||||||
{
|
{
|
||||||
KeepFlag = 0x01;
|
KeepFlag = 0x01;
|
||||||
C5IO_Info.DI_LastStart[i] = C5IO_Info.DI_Start[i];
|
C5IO_Info.DI_LastStart[i] = C5IO_Info.DI_Start[i];
|
||||||
|
|
||||||
switch(C5IO_Info.DI_Start[i])
|
switch(C5IO_Info.DI_Start[i])
|
||||||
{
|
{
|
||||||
case 0x00: //<2F>ͷ<EFBFBD>
|
case 0x00: //<2F>ͷ<EFBFBD>
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s,Loop:%d Release",__func__, i);
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s,Loop:%d Release",__func__, i);
|
||||||
DevActionGlobal.Devi = BUS_PublicLVinput.DevCoord; //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
|
||||||
|
DevLVinputInfo.DevReadBuf[i] = 0x00;
|
||||||
DevLVinputInfo.DevReadBuf[i] = KeyRelease;
|
|
||||||
DevLVinputInfo.DevReadBufLast[i] = KeyRelease;
|
DevLVinputInfo.DevReadBufLast[i] = KeyRelease;
|
||||||
DevActionGlobal.InputType = 0xff; //2023-10-09
|
|
||||||
DevActionGlobal.InputAddr = 0x00; //2023-10-09
|
if(DevLVinputInfo.Dev_Init_Flag == 0x01)
|
||||||
DevActionGlobal.InputLoop = 0x00; //2023-10-09
|
{
|
||||||
|
DevLVinputInfo.DevReadBuf[i] = KeyRelease; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺŸ<F3A3ACB2>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
DevActionGlobal.Devi = BUS_PublicLVinput.DevCoord; //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
||||||
|
DevActionGlobal.InputType = 0xff; //2023-10-09
|
||||||
|
DevActionGlobal.InputAddr = 0x00; //2023-10-09
|
||||||
|
DevActionGlobal.InputLoop = 0x00; //2023-10-09
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0x01: //<2F><><EFBFBD><EFBFBD>
|
case 0x01: //<2F><><EFBFBD><EFBFBD>
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s,Loop:%d Press",__func__, i);
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s,Loop:%d Press",__func__, i);
|
||||||
DevActionGlobal.Devi = BUS_PublicLVinput.DevCoord; //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
|
||||||
|
DevLVinputInfo.DevReadBuf[i] = 0x00;
|
||||||
DevLVinputInfo.DevReadBuf[i] = KeyPress;
|
|
||||||
DevLVinputInfo.DevReadBufLast[i] = KeyPress;
|
DevLVinputInfo.DevReadBufLast[i] = KeyPress;
|
||||||
DevLVinputInfo.HoldTick[i] = SysTick_1s;
|
DevLVinputInfo.HoldTick[i] = SysTick_1s;
|
||||||
DevActionGlobal.InputType = BUS_PublicLVinput.type; //2023-10-09
|
|
||||||
DevActionGlobal.InputAddr = BUS_PublicLVinput.addr; //2023-10-09
|
if(DevLVinputInfo.Dev_Init_Flag == 0x01)
|
||||||
DevActionGlobal.InputLoop = i; //2023-10-09
|
{
|
||||||
|
DevLVinputInfo.DevReadBuf[i] = KeyPress; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺŸ<F3A3ACB2>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
DevActionGlobal.Devi = BUS_PublicLVinput.DevCoord; //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
||||||
|
DevActionGlobal.InputType = BUS_PublicLVinput.type; //2023-10-09
|
||||||
|
DevActionGlobal.InputAddr = BUS_PublicLVinput.addr; //2023-10-09
|
||||||
|
DevActionGlobal.InputLoop = i; //2023-10-09
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,6 +269,11 @@ void Dev_LVinput_Dis(uint32_t DevAddr)
|
|||||||
|
|
||||||
if(0x01 == KeepFlag)
|
if(0x01 == KeepFlag)
|
||||||
{
|
{
|
||||||
|
if( DevLVinputInfo.Dev_Init_Flag == 0x00 )
|
||||||
|
{
|
||||||
|
DevLVinputInfo.Dev_Init_Flag = 0x01;
|
||||||
|
}
|
||||||
|
|
||||||
BUS_PublicLVinput.check = 0x00;
|
BUS_PublicLVinput.check = 0x00;
|
||||||
BUS_PublicLVinput.check = DoubleData_CheckSum((uint8_t *)&BUS_PublicLVinput, sizeof(Device_Public_Information_G), (uint8_t *)&DevLVinputInfo, sizeof(NOR_LVINPUT_INFO));
|
BUS_PublicLVinput.check = DoubleData_CheckSum((uint8_t *)&BUS_PublicLVinput, sizeof(Device_Public_Information_G), (uint8_t *)&DevLVinputInfo, sizeof(NOR_LVINPUT_INFO));
|
||||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_PublicLVinput, sizeof(Device_Public_Information_G),DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
SRAM_DMA_Write_Buff((uint8_t *)&BUS_PublicLVinput, sizeof(Device_Public_Information_G),DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||||
|
|||||||
@@ -568,3 +568,73 @@ uint8_t ServiceInfo_Set_RoomState(uint8_t state)
|
|||||||
|
|
||||||
return 0x00;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Function Name : ServiceInfo_Set_VirtualCard_LoopState
|
||||||
|
* Description : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ӧ<EFBFBD>Ļ<EFBFBD>·״̬ 2026-02-26
|
||||||
|
<09>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ӧ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>·״̬
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·1 -> <09>Ŵŷ<C5B4><C5B7><EFBFBD> <09><>·<EFBFBD><C2B7>13
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·2 -> <09>ſں<C5BF><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>32
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·3 -> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>33
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·4 -> ԡ<><D4A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>34
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·5 -> <09><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>35
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·6 -> <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>36
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·7 -> <09><><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>37
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·8 -> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>38
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·9 -> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>39
|
||||||
|
<09><EFBFBD>ȡ<EFBFBD><C8A1> <20><>·10 -> ԡ<><EFBFBD><D7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>·<EFBFBD><C2B7>40
|
||||||
|
|
||||||
|
<09><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>IO״̬ʱ<CCAC><CAB1><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ӧ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ״̬<D7B4><CCAC>-- <20><><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC>ͬ<EFBFBD><CDAC>״̬
|
||||||
|
|
||||||
|
* Input :
|
||||||
|
loop - <20><>·<EFBFBD><C2B7>Χ<EFBFBD><CEA7>1~10
|
||||||
|
state - 0x01:<3A><><EFBFBD><EFBFBD>0x02:<3A>ء<EFBFBD>
|
||||||
|
* Return : 0x00:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:<3A><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||||
|
*******************************************************************************/
|
||||||
|
uint8_t ServiceInfo_Set_VirtualCard_LoopState(uint8_t loop,uint8_t state)
|
||||||
|
{
|
||||||
|
uint32_t dev_addr = Find_AllDevice_List_Information(Dev_Host_Service,0x00);
|
||||||
|
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
||||||
|
NOR_SERVICE_INFO DevServiceInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
if(dev_addr == 0x00) return 0x01; //δ<>ҵ<EFBFBD><D2B5>豸
|
||||||
|
if( (loop == 0x00) || (loop > 10) ) return 0x02; //<2F><>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7>
|
||||||
|
if( (state != 0x01) && (state != 0x02) ) return 0x03; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),dev_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&DevServiceInfo,sizeof(NOR_SERVICE_INFO),dev_addr+Dev_Privately);
|
||||||
|
|
||||||
|
if(loop == 0x01)
|
||||||
|
{
|
||||||
|
loop = Service_Door;
|
||||||
|
|
||||||
|
/*<2A>ŴŶ<C5B4>Ӧ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>״̬<D7B4><CCAC>Ҫ<EFBFBD><D2AA>תһ<D7AA><D2BB>
|
||||||
|
<09>Ŵ<EFBFBD> <20>͵<EFBFBD>ƽ<EFBFBD><C6BD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD> -> <20><><EFBFBD>Ŵŷ<C5B4><C5B7><EFBFBD>
|
||||||
|
<09>Ŵ<EFBFBD> <20>ߵ<EFBFBD>ƽ<EFBFBD><C6BD>Ӧ<EFBFBD>ͷ<EFBFBD> -> <20><><EFBFBD>Ŵŷ<C5B4><C5B7><EFBFBD>
|
||||||
|
*/
|
||||||
|
if( state == 0x01 )
|
||||||
|
{
|
||||||
|
DevServiceInfo.DevServiceState[loop] = 0x02;
|
||||||
|
DevServiceInfo.DevServiceStateLast[loop] = 0x02;
|
||||||
|
}else {
|
||||||
|
DevServiceInfo.DevServiceState[loop] = 0x01;
|
||||||
|
DevServiceInfo.DevServiceStateLast[loop] = 0x01;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
loop = loop + Service_30;
|
||||||
|
|
||||||
|
DevServiceInfo.DevServiceState[loop] = state;
|
||||||
|
DevServiceInfo.DevServiceStateLast[loop] = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s Loop:%d - 0x%x", __func__, loop, DevServiceInfo.DevServiceState[loop]);
|
||||||
|
|
||||||
|
BUS_Public.check = 0x00;
|
||||||
|
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&DevServiceInfo, sizeof(NOR_SERVICE_INFO));
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr); /*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SRAM<41><4D>*/
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&DevServiceInfo,sizeof(NOR_SERVICE_INFO),dev_addr+Dev_Privately);
|
||||||
|
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ void BLV_Nor_Dev_Service_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t
|
|||||||
uint8_t ServiceInfo_Set_first_power_on(uint8_t state);
|
uint8_t ServiceInfo_Set_first_power_on(uint8_t state);
|
||||||
uint8_t ServiceInfo_Get_ALL_Loop_State(uint8_t *read_buff);
|
uint8_t ServiceInfo_Get_ALL_Loop_State(uint8_t *read_buff);
|
||||||
uint8_t ServiceInfo_Set_RoomState(uint8_t state);
|
uint8_t ServiceInfo_Set_RoomState(uint8_t state);
|
||||||
|
uint8_t ServiceInfo_Set_VirtualCard_LoopState(uint8_t loop,uint8_t state);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,10 @@
|
|||||||
- ԭ<>л<EFBFBD><D0BB>ƣ<EFBFBD><C6A3>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD>״̬֮<CCAC><D6AE><EFBFBD>л<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>buffer<65><72><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>䣨<EFBFBD><E4A3A8><EFBFBD><EFBFBD>->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
|
- ԭ<>л<EFBFBD><D0BB>ƣ<EFBFBD><C6A3>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD>״̬֮<CCAC><D6AE><EFBFBD>л<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>buffer<65><72><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>䣨<EFBFBD><E4A3A8><EFBFBD><EFBFBD>->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
|
||||||
2<><32><EFBFBD><EFBFBD>ʱ<EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD>³<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
2<><32><EFBFBD><EFBFBD>ʱ<EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD>³<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||||
|
|
||||||
|
2026-02-25 <09>ܴ<EFBFBD>
|
||||||
|
<09>ĵ㣺
|
||||||
|
1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>еĻ<D0B5>·״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>еĻ<D0B5>·״̬<D7B4>ϵ<EFBFBD>ʱͬ<CAB1><CDAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
||||||
|
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
*/
|
*/
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
@@ -276,18 +280,246 @@ uint8_t DetWin_ReadData_Bit(uint8_t port,uint16_t idex)
|
|||||||
return 0x00;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Function Name : Dev_VirtualCard_Get_Mapping_Loop_State
|
||||||
|
* Description : <20><EFBFBD>ȡ<EFBFBD><C8A1> - <20><>ȡӳ<C8A1><D3B3><EFBFBD><EFBFBD>·<EFBFBD><C2B7>״̬
|
||||||
|
* Input :
|
||||||
|
dev_info - <09><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>豸˽<E8B1B8><CBBD><EFBFBD><EFBFBD><EFBFBD>Խṹ<D4BD><E1B9B9>ָ<EFBFBD><D6B8>
|
||||||
|
loop_num - <09><>ȡ<EFBFBD>Ļ<EFBFBD>·<EFBFBD><C2B7>
|
||||||
|
* Return :
|
||||||
|
0x00 - <09><>ȡ<EFBFBD>ɹ<EFBFBD>
|
||||||
|
0x01 - <09><>ȡʧ<C8A1><CAA7>
|
||||||
|
*******************************************************************************/
|
||||||
|
uint8_t Dev_VirtualCard_Get_Mapping_Loop_State(VIRTUALCARD_STRUCT *dev_info,uint8_t loop_num)
|
||||||
|
{
|
||||||
|
uint32_t tempaddr = 0x00;
|
||||||
|
|
||||||
|
NOR_LVINPUT_INFO DevLVinputInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ˽<>б<EFBFBD><D0B1><EFBFBD>
|
||||||
|
RS485_CARD_INFO Rs485CardInfo; //<2F>忨ȡ<E5BFA8><C8A1> ˽<>б<EFBFBD><D0B1><EFBFBD>
|
||||||
|
RS485_SWI_INFO Rs485SwiInfo; //<2F><><EFBFBD><EFBFBD> ˽<>б<EFBFBD><D0B1><EFBFBD>
|
||||||
|
|
||||||
|
switch(dev_info->Port_Info[loop_num].HPort_Type)
|
||||||
|
{
|
||||||
|
case Dev_Host_LVinput:
|
||||||
|
tempaddr = Find_AllDevice_List_Information(dev_info->Port_Info[loop_num].HPort_Type,dev_info->Port_Info[loop_num].HPort_Addr);
|
||||||
|
if(tempaddr != NULL)
|
||||||
|
{
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&DevLVinputInfo,sizeof(NOR_LVINPUT_INFO),tempaddr+Dev_Privately);
|
||||||
|
|
||||||
|
if( DevLVinputInfo.Dev_Init_Flag != 0x01 ) return 0x01; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뻹δ<EBBBB9><CEB4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
if((DevLVinputInfo.DevReadBufLast[dev_info->Port_Info[loop_num].HPort_Loop] == KeyPress) \
|
||||||
|
|| (DevLVinputInfo.DevReadBufLast[dev_info->Port_Info[loop_num].HPort_Loop] == KeyHold) )
|
||||||
|
{
|
||||||
|
|
||||||
|
dev_info->PortState[loop_num] = KeyPress;
|
||||||
|
dev_info->DetInfo.TriggerNum[loop_num]++;
|
||||||
|
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20><><EFBFBD><EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop,loop_num);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyPress;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( DevLVinputInfo.DevReadBufLast[dev_info->Port_Info[loop_num].HPort_Loop] == KeyRelease )
|
||||||
|
{
|
||||||
|
dev_info->PortState[loop_num] = KeyRelease;
|
||||||
|
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>ͷ<EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop,loop_num);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyRelease;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DEV_RS485_CARD:
|
||||||
|
tempaddr = Find_AllDevice_List_Information(dev_info->Port_Info[loop_num].HPort_Type,dev_info->Port_Info[loop_num].HPort_Addr);
|
||||||
|
if(tempaddr != NULL)
|
||||||
|
{
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&Rs485CardInfo,sizeof(RS485_CARD_INFO),tempaddr+Dev_Privately);
|
||||||
|
|
||||||
|
/*2025-09-03 <20><EFBFBD>RS485ȡ<35><C8A1> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>*/
|
||||||
|
if(Rs485CardInfo.Rs485CardFlag == 0x01)
|
||||||
|
{
|
||||||
|
dev_info->PortState[loop_num] = KeyPress;
|
||||||
|
|
||||||
|
dev_info->DetInfo.TriggerNum[loop_num]++;
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyPress;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
dev_info->PortState[loop_num] = KeyRelease;
|
||||||
|
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyRelease;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DEV_RS485_SWT:
|
||||||
|
tempaddr = Find_AllDevice_List_Information(dev_info->Port_Info[loop_num].HPort_Type,dev_info->Port_Info[loop_num].HPort_Addr);
|
||||||
|
if(tempaddr != NULL)
|
||||||
|
{
|
||||||
|
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),tempaddr);
|
||||||
|
if(BUS_Public.Protocol == 0x03) //<2F><><EFBFBD><EFBFBD>A9IO
|
||||||
|
{
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&Rs485SwiInfo,sizeof(RS485_SWI_INFO),tempaddr+Dev_Privately);
|
||||||
|
|
||||||
|
/*A9IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><DFBC><EFBFBD>
|
||||||
|
2025-02-28
|
||||||
|
1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣺<EFBFBD><E2A3BA>ȡA9IO ״̬<D7B4><CCAC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>һ<EFBFBD><D2BB>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ὣ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<09><><EFBFBD><EFBFBD><EFBFBD>ᵼ<EFBFBD><E1B5BC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>A9IO<49><4F>״̬<D7B4><CCAC>
|
||||||
|
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ: <20><>ȡA9IO ״̬<D7B4><CCAC>Ϊʹ<CEAA><CAB9> DevReadBuf_last ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱA9IO<49><4F><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>жԸñ<D4B8><C3B1><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A9IO <20>㰴<EFBFBD><E3B0B4><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ͷţ<CDB7><C5A3><EFBFBD>һֱ<D2BB><D6B1><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
||||||
|
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ: <20><><EFBFBD>ӻ<EFBFBD><D3BB>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ㰴<C7B5><E3B0B4><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ź<EFBFBD>3S<33><53>Ч<EFBFBD><D0A7>3S֮<53><EFBFBD>״̬<D7B4><CCAC>Ϊ<EFBFBD>ͷ<EFBFBD>״̬
|
||||||
|
*/
|
||||||
|
if(Rs485SwiInfo.DevReadBuf_last[dev_info->Port_Info[loop_num].HPort_Loop] == KeyPress)
|
||||||
|
{
|
||||||
|
if( (dev_info->PortState[loop_num] == KeyPress) \
|
||||||
|
&& ( SysTick_1s - dev_info->PortTiggleTick[loop_num] >= 3 ) )
|
||||||
|
{
|
||||||
|
dev_info->PortTiggleTick[loop_num] = SysTick_1s;
|
||||||
|
|
||||||
|
Rs485SwiInfo.DevReadBuf_last[dev_info->Port_Info[loop_num].HPort_Loop] = KeyRelease;
|
||||||
|
dev_info->PortState[loop_num] = KeyRelease;
|
||||||
|
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d:PressRelease",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>㰴<EFBFBD>ͷ<EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyRelease;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
|
||||||
|
BUS_Public.check = 0x00;
|
||||||
|
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485SwiInfo, sizeof(RS485_SWI_INFO));
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),tempaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&Rs485SwiInfo,sizeof(RS485_SWI_INFO),tempaddr+Dev_Privately);
|
||||||
|
|
||||||
|
}else if( dev_info->PortState[loop_num] != KeyPress)
|
||||||
|
{
|
||||||
|
dev_info->PortTiggleTick[loop_num] = SysTick_1s;
|
||||||
|
dev_info->PortState[loop_num] = KeyPress;
|
||||||
|
dev_info->DetInfo.TriggerNum[loop_num]++;
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d:Press",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>㰴<EFBFBD><E3B0B4><EFBFBD><EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyPress;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(Rs485SwiInfo.DevReadBuf_last[dev_info->Port_Info[loop_num].HPort_Loop] == KeyHold)
|
||||||
|
{
|
||||||
|
dev_info->PortTiggleTick[loop_num] = SysTick_1s;
|
||||||
|
dev_info->PortState[loop_num] = KeyPress;
|
||||||
|
dev_info->DetInfo.TriggerNum[loop_num]++;
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20><><EFBFBD><EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyPress;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(Rs485SwiInfo.DevReadBuf_last[dev_info->Port_Info[loop_num].HPort_Loop] == KeyRelease)
|
||||||
|
{
|
||||||
|
dev_info->PortState[loop_num] = KeyRelease;
|
||||||
|
|
||||||
|
if(dev_info->PortState[loop_num] != dev_info->PortStateLast[loop_num])
|
||||||
|
{
|
||||||
|
dev_info->PortStateLast[loop_num] = dev_info->PortState[loop_num];
|
||||||
|
|
||||||
|
dev_info->PortStateAct[loop_num] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
||||||
|
|
||||||
|
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",loop_num,dev_info->PortState[loop_num]);
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>ͷ<EFBFBD> - CH%d",dev_info->Port_Info[loop_num].HPort_Loop);
|
||||||
|
if(loop_num == 0x00)
|
||||||
|
{
|
||||||
|
dev_info->CardState = KeyRelease;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
dev_info->PortStateAct[loop_num] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
||||||
{
|
{
|
||||||
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
||||||
VIRTUALCARD_STRUCT VCard_Info;
|
VIRTUALCARD_STRUCT VCard_Info;
|
||||||
|
|
||||||
uint32_t tempaddr = 0;
|
|
||||||
NOR_LVINPUT_INFO DevLVinputInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
RS485_CARD_INFO Rs485CardInfo;
|
|
||||||
|
|
||||||
RS485_SWI_INFO Rs485SwiInfo; //<2F><><EFBFBD>ؾֲ<D8BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
uint8_t portstate = 0;
|
uint8_t portstate = 0;
|
||||||
uint8_t PortEn_Cnt = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>㳤ʱ<E3B3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĶ˿<C4B6><CBBF><EFBFBD>
|
uint8_t PortEn_Cnt = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>㳤ʱ<E3B3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĶ˿<C4B6><CBBF><EFBFBD>
|
||||||
uint8_t PortEn_max = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĶ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
uint8_t PortEn_max = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĶ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -348,7 +580,14 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
|||||||
VCard_Info.DetNum++;
|
VCard_Info.DetNum++;
|
||||||
}
|
}
|
||||||
|
|
||||||
VCard_Info.PortState[temp_loop] = KeyRelease;
|
//VCard_Info.PortState[temp_loop] = KeyRelease;
|
||||||
|
//<2F><>ʼ<EFBFBD><CABC>IO״̬ 2026-02-26
|
||||||
|
if(Dev_VirtualCard_Get_Mapping_Loop_State(&VCard_Info,temp_loop) == 0x01){
|
||||||
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s Wait IO Init..",__func__);
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
ServiceInfo_Set_VirtualCard_LoopState(temp_loop,VCard_Info.PortState[temp_loop]);
|
||||||
|
|
||||||
//2025-09-19 <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//2025-09-19 <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
VCard_Info.DetInfo.DetWinTotalNum[temp_loop] = temp[8];
|
VCard_Info.DetInfo.DetWinTotalNum[temp_loop] = temp[8];
|
||||||
@@ -387,11 +626,12 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>%d ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ:%d ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·:%d <20><>ֵ:%d-%d ʹ<>ܱ<EFBFBD>־:%d - %dS",\
|
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>%d <20><><EFBFBD><EFBFBD>:%d <20><>ַ:%d <20><>·:%d ״̬:%d <20><>ֵ:%d-%d ʹ<>ܱ<EFBFBD>־:%d - %dS",\
|
||||||
temp_loop,\
|
temp_loop,\
|
||||||
VCard_Info.Port_Info[temp_loop].HPort_Type,\
|
VCard_Info.Port_Info[temp_loop].HPort_Type,\
|
||||||
VCard_Info.Port_Info[temp_loop].HPort_Addr,\
|
VCard_Info.Port_Info[temp_loop].HPort_Addr,\
|
||||||
VCard_Info.Port_Info[temp_loop].HPort_Loop,\
|
VCard_Info.Port_Info[temp_loop].HPort_Loop,\
|
||||||
|
VCard_Info.PortState[temp_loop],\
|
||||||
VCard_Info.DetInfo.Trigger_Thres[temp_loop],\
|
VCard_Info.DetInfo.Trigger_Thres[temp_loop],\
|
||||||
VCard_Info.DetInfo.Release_Thres[temp_loop],\
|
VCard_Info.DetInfo.Release_Thres[temp_loop],\
|
||||||
VCard_Info.Port_Info[temp_loop].PortEnFlag,\
|
VCard_Info.Port_Info[temp_loop].PortEnFlag,\
|
||||||
@@ -459,216 +699,7 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
|||||||
|
|
||||||
for(uint8_t i = 0; i < VIRTUAL_PORT_MAX; i++)
|
for(uint8_t i = 0; i < VIRTUAL_PORT_MAX; i++)
|
||||||
{
|
{
|
||||||
switch(VCard_Info.Port_Info[i].HPort_Type)
|
Dev_VirtualCard_Get_Mapping_Loop_State(&VCard_Info,i); //<2F><>ȡIO״̬ 2026-02-26
|
||||||
{
|
|
||||||
case Dev_Host_LVinput:
|
|
||||||
tempaddr = Find_AllDevice_List_Information(VCard_Info.Port_Info[i].HPort_Type,VCard_Info.Port_Info[i].HPort_Addr);
|
|
||||||
if(tempaddr != NULL)
|
|
||||||
{
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&DevLVinputInfo,sizeof(NOR_LVINPUT_INFO),tempaddr+Dev_Privately);
|
|
||||||
|
|
||||||
if((DevLVinputInfo.DevReadBufLast[VCard_Info.Port_Info[i].HPort_Loop] == KeyPress) \
|
|
||||||
|| (DevLVinputInfo.DevReadBufLast[VCard_Info.Port_Info[i].HPort_Loop] == KeyHold) )
|
|
||||||
{
|
|
||||||
|
|
||||||
VCard_Info.PortState[i] = KeyPress;
|
|
||||||
VCard_Info.DetInfo.TriggerNum[i]++;
|
|
||||||
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20><><EFBFBD><EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop,i);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyPress;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( DevLVinputInfo.DevReadBufLast[VCard_Info.Port_Info[i].HPort_Loop] == KeyRelease )
|
|
||||||
{
|
|
||||||
VCard_Info.PortState[i] = KeyRelease;
|
|
||||||
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>ͷ<EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop,i);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyRelease;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case DEV_RS485_CARD:
|
|
||||||
tempaddr = Find_AllDevice_List_Information(VCard_Info.Port_Info[i].HPort_Type,VCard_Info.Port_Info[i].HPort_Addr);
|
|
||||||
if(tempaddr != NULL)
|
|
||||||
{
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485CardInfo,sizeof(RS485_CARD_INFO),tempaddr+Dev_Privately);
|
|
||||||
|
|
||||||
/*2025-09-03 <20><EFBFBD>RS485ȡ<35><C8A1> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>*/
|
|
||||||
if(Rs485CardInfo.Rs485CardFlag == 0x01)
|
|
||||||
{
|
|
||||||
VCard_Info.PortState[i] = KeyPress;
|
|
||||||
|
|
||||||
VCard_Info.DetInfo.TriggerNum[i]++;
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyPress;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
VCard_Info.PortState[i] = KeyRelease;
|
|
||||||
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyRelease;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case DEV_RS485_SWT:
|
|
||||||
tempaddr = Find_AllDevice_List_Information(VCard_Info.Port_Info[i].HPort_Type,VCard_Info.Port_Info[i].HPort_Addr);
|
|
||||||
if(tempaddr != NULL)
|
|
||||||
{
|
|
||||||
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),tempaddr);
|
|
||||||
if(BUS_Public.Protocol == 0x03) //<2F><><EFBFBD><EFBFBD>A9IO
|
|
||||||
{
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485SwiInfo,sizeof(RS485_SWI_INFO),tempaddr+Dev_Privately);
|
|
||||||
|
|
||||||
/*A9IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><DFBC><EFBFBD>
|
|
||||||
2025-02-28
|
|
||||||
1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣺<EFBFBD><E2A3BA>ȡA9IO ״̬<D7B4><CCAC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>һ<EFBFBD><D2BB>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ὣ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ᵼ<EFBFBD><E1B5BC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>A9IO<49><4F>״̬<D7B4><CCAC>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ: <20><>ȡA9IO ״̬<D7B4><CCAC>Ϊʹ<CEAA><CAB9> DevReadBuf_last ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱA9IO<49><4F><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>жԸñ<D4B8><C3B1><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A9IO <20>㰴<EFBFBD><E3B0B4><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ͷţ<CDB7><C5A3><EFBFBD>һֱ<D2BB><D6B1><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ: <20><><EFBFBD>ӻ<EFBFBD><D3BB>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ㰴<C7B5><E3B0B4><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ź<EFBFBD>3S<33><53>Ч<EFBFBD><D0A7>3S֮<53><EFBFBD>״̬<D7B4><CCAC>Ϊ<EFBFBD>ͷ<EFBFBD>״̬
|
|
||||||
*/
|
|
||||||
if(Rs485SwiInfo.DevReadBuf_last[VCard_Info.Port_Info[i].HPort_Loop] == KeyPress)
|
|
||||||
{
|
|
||||||
if( (VCard_Info.PortState[i] == KeyPress) \
|
|
||||||
&& ( SysTick_1s - VCard_Info.PortTiggleTick[i] >= 3 ) )
|
|
||||||
{
|
|
||||||
VCard_Info.PortTiggleTick[i] = SysTick_1s;
|
|
||||||
|
|
||||||
Rs485SwiInfo.DevReadBuf_last[VCard_Info.Port_Info[i].HPort_Loop] = KeyRelease;
|
|
||||||
VCard_Info.PortState[i] = KeyRelease;
|
|
||||||
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d:PressRelease",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>㰴<EFBFBD>ͷ<EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyRelease;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
|
|
||||||
BUS_Public.check = 0x00;
|
|
||||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485SwiInfo, sizeof(RS485_SWI_INFO));
|
|
||||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),tempaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
|
||||||
SRAM_DMA_Write_Buff((uint8_t *)&Rs485SwiInfo,sizeof(RS485_SWI_INFO),tempaddr+Dev_Privately);
|
|
||||||
|
|
||||||
}else if( VCard_Info.PortState[i] != KeyPress)
|
|
||||||
{
|
|
||||||
VCard_Info.PortTiggleTick[i] = SysTick_1s;
|
|
||||||
VCard_Info.PortState[i] = KeyPress;
|
|
||||||
VCard_Info.DetInfo.TriggerNum[i]++;
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d:Press",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>㰴<EFBFBD><E3B0B4><EFBFBD><EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyPress;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(Rs485SwiInfo.DevReadBuf_last[VCard_Info.Port_Info[i].HPort_Loop] == KeyHold)
|
|
||||||
{
|
|
||||||
VCard_Info.PortTiggleTick[i] = SysTick_1s;
|
|
||||||
VCard_Info.PortState[i] = KeyPress;
|
|
||||||
VCard_Info.DetInfo.TriggerNum[i]++;
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20><><EFBFBD><EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyPress;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyPress; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(Rs485SwiInfo.DevReadBuf_last[VCard_Info.Port_Info[i].HPort_Loop] == KeyRelease)
|
|
||||||
{
|
|
||||||
VCard_Info.PortState[i] = KeyRelease;
|
|
||||||
|
|
||||||
if(VCard_Info.PortState[i] != VCard_Info.PortStateLast[i])
|
|
||||||
{
|
|
||||||
VCard_Info.PortStateLast[i] = VCard_Info.PortState[i];
|
|
||||||
|
|
||||||
VCard_Info.PortStateAct[i] = 0x04; //<2F>½<EFBFBD><C2BD>ر仯
|
|
||||||
|
|
||||||
LOG_LogicInfo_DebugRecord("VCLog:T1:%d:%d",i,VCard_Info.PortState[i]);
|
|
||||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"VCard <20>˿ڣ<CBBF>%d <20>ͷ<EFBFBD> - CH%d",VCard_Info.Port_Info[i].HPort_Loop);
|
|
||||||
if(i == 0x00)
|
|
||||||
{
|
|
||||||
VCard_Info.CardState = KeyRelease;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
VCard_Info.PortStateAct[i] = KeyRelease; //<2F><>ƽ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ƽ<EFBFBD>仯
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*<2A><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - */
|
/*<2A><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - */
|
||||||
if( ( (VCard_Info.ExistState == NOONE) && (VCard_Info.ConGroupIndx == VC_CONDGROUP_Default_StartGroup) )
|
if( ( (VCard_Info.ExistState == NOONE) && (VCard_Info.ConGroupIndx == VC_CONDGROUP_Default_StartGroup) )
|
||||||
|
|||||||
@@ -253,7 +253,7 @@
|
|||||||
|
|
||||||
#if (USE_CORE_TYPE == 1) //ʹ<><CAB9>C1F<31><46><EFBFBD>İ<EFBFBD>
|
#if (USE_CORE_TYPE == 1) //ʹ<><CAB9>C1F<31><46><EFBFBD>İ<EFBFBD>
|
||||||
#define MCU_TYPE "BLV-C1F" //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
|
#define MCU_TYPE "BLV-C1F" //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
|
||||||
#define APP_NAME "App_L4_C1F_43" //APP<50><50><EFBFBD><EFBFBD> 16Byte
|
#define APP_NAME "App_L4_C1F_44" //APP<50><50><EFBFBD><EFBFBD> 16Byte
|
||||||
|
|
||||||
#if (USE_FLOOR_TYPE == 1) //C5<43>װ<EFBFBD>
|
#if (USE_FLOOR_TYPE == 1) //C5<43>װ<EFBFBD>
|
||||||
#define Center_Control_TYPE "BLV-C5" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
#define Center_Control_TYPE "BLV-C5" //<2F><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
||||||
@@ -261,7 +261,7 @@
|
|||||||
|
|
||||||
#if (SoftName_Custom_Enable == 0x00)
|
#if (SoftName_Custom_Enable == 0x00)
|
||||||
#if (LOGIC_FILE_EN == 0x01)
|
#if (LOGIC_FILE_EN == 0x01)
|
||||||
#define SoftwareVer "C1F_A_L4_43_260209" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
#define SoftwareVer "C1F_A_L4_44_260304" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
||||||
#else
|
#else
|
||||||
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -259,7 +259,8 @@ void Environment_Variable_Init(void)
|
|||||||
Launcher_C1F_V04.4
|
Launcher_C1F_V04.4
|
||||||
Launcher_C1F_V04.7
|
Launcher_C1F_V04.7
|
||||||
*/
|
*/
|
||||||
if(strncmp((char *)temp_string,"Launcher_C1F_V04.7",strlen("Launcher_C1F_V04.7")) == 0x00)
|
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) )
|
||||||
{
|
{
|
||||||
SRAM_Write_DW(0x05,SRAM_LOG_RCU_Reboot_Reason);
|
SRAM_Write_DW(0x05,SRAM_LOG_RCU_Reboot_Reason);
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -440,15 +440,17 @@ uint32_t Find_TempDevice_List_Information(uint8_t *buff,uint8_t dev_num_max)
|
|||||||
|
|
||||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s Type:%d Addr:%d",__func__,BUS_Public.type,BUS_Public.addr);
|
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s Type:%d Addr:%d",__func__,BUS_Public.type,BUS_Public.addr);
|
||||||
|
|
||||||
buff[data_offset++] = BUS_Public.type; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> - <20>ܺļ<EFBFBD><EFBFBD><EFBFBD>
|
buff[data_offset++] = BUS_Public.type; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> - <20>յ<EFBFBD><EFBFBD>豸
|
||||||
buff[data_offset++] = BUS_Public.addr; //<2F>豸<EFBFBD><E8B1B8>ַ - <EFBFBD>ܺļ<EFBFBD><EFBFBD><EFBFBD> <20>豸Ĭ<E8B1B8><C4AC>0x01
|
buff[data_offset++] = BUS_Public.addr; //<2F>豸<EFBFBD><E8B1B8>ַ -
|
||||||
buff[data_offset++] = 0x00; //<2F>豸<EFBFBD><E8B1B8>· - <20>յ<EFBFBD><D5B5>豸Ĭ<E8B1B8><C4AC>0x00
|
buff[data_offset++] = 0x00; //<2F>豸<EFBFBD><E8B1B8>· - <20>յ<EFBFBD><D5B5>豸Ĭ<E8B1B8><C4AC>0x00
|
||||||
buff[data_offset++] = 0x00; //<2F>豸<EFBFBD><E8B1B8>· - <20>յ<EFBFBD>Ĭ<EFBFBD><C4AC>0x00
|
buff[data_offset++] = 0x00; //<2F>豸<EFBFBD><E8B1B8>· - <20>յ<EFBFBD>Ĭ<EFBFBD><C4AC>0x00
|
||||||
buff[data_offset++] = 0x02; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
buff[data_offset++] = 0x03; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||||
//<2F>յ<EFBFBD>״̬
|
//<2F>յ<EFBFBD>״̬
|
||||||
temp_val = Dev_Temp_State_Data(Rs485Temp.TemStateLast);
|
temp_val = Dev_Temp_State_Data(Rs485Temp.TemStateLast);
|
||||||
buff[data_offset++] = temp_val & 0xFF;
|
buff[data_offset++] = temp_val & 0xFF;
|
||||||
buff[data_offset++] = (temp_val >> 8) & 0xFF;
|
buff[data_offset++] = (temp_val >> 8) & 0xFF;
|
||||||
|
buff[data_offset++] = Rs485Temp.indoor_dec_temp;
|
||||||
|
//Dbg_Println(DBG_BIT_NET_STATUS_bit,"%Rs485Temp.indoor_dec_temp:%d",Rs485Temp.indoor_dec_temp);
|
||||||
|
|
||||||
dev_num++;
|
dev_num++;
|
||||||
if(dev_num >= dev_num_max) return dev_num; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>
|
if(dev_num >= dev_num_max) return dev_num; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>
|
||||||
@@ -485,7 +487,7 @@ void Udp_Internal_Periodic_Report_PackSend(void)
|
|||||||
|
|
||||||
sendlen = HEAD_LEN;
|
sendlen = HEAD_LEN;
|
||||||
|
|
||||||
Global_Large_Buff[sendlen++] = 0x03; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾
|
Global_Large_Buff[sendlen++] = 0x04; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾
|
||||||
|
|
||||||
/*
|
/*
|
||||||
<09>ж<EFBFBD><D0B6>忨ȡ<E5BFA8><C8A1><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵĻ<DAB5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>忨ȡ<E5BFA8><C8A1>״̬Ϊ0x00 - <20><>ʾ<EFBFBD>忨״̬<D7B4><CCAC>Ч
|
<09>ж<EFBFBD><D0B6>忨ȡ<E5BFA8><C8A1><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵĻ<DAB5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>忨ȡ<E5BFA8><C8A1>״̬Ϊ0x00 - <20><>ʾ<EFBFBD>忨״̬<D7B4><CCAC>Ч
|
||||||
@@ -604,7 +606,7 @@ void Udp_Internal_Periodic_Report_PackSend(void)
|
|||||||
|
|
||||||
/*<2A><><EFBFBD>ӿյ<D3BF><D5B5>豸״̬ - <20><>Ҫ<EFBFBD>ҵ<EFBFBD><D2B5>м<EFBFBD><D0BC><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
/*<2A><><EFBFBD>ӿյ<D3BF><D5B5>豸״̬ - <20><>Ҫ<EFBFBD>ҵ<EFBFBD><D2B5>м<EFBFBD><D0BC><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
temp_dev = Find_TempDevice_List_Information(&Global_Large_Buff[sendlen],0x05); //Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD>5<EFBFBD><35><EFBFBD>յ<EFBFBD>
|
temp_dev = Find_TempDevice_List_Information(&Global_Large_Buff[sendlen],0x05); //Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD>5<EFBFBD><35><EFBFBD>յ<EFBFBD>
|
||||||
sendlen = sendlen + (temp_dev * 0x07);
|
sendlen = sendlen + (temp_dev * 0x08);
|
||||||
|
|
||||||
Global_Large_Buff[33] += temp_dev; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
Global_Large_Buff[33] += temp_dev; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
@@ -1471,6 +1473,44 @@ uint8_t Udp_Internal_BLVPCTest_Process(uint8_t* data, uint16_t DataLen, uint8_t
|
|||||||
return 0x00;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*<2A><><EFBFBD>ҵ<EFBFBD><D2B5>豸<EFBFBD>б<EFBFBD><D0B1>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
|
uint32_t Find_TempDevice_Set_NetCtrlFlag(uint8_t *buff)
|
||||||
|
{
|
||||||
|
uint32_t read_addr = 0x00;
|
||||||
|
uint32_t end_addr = SRAM_Read_DW(SRAM_NORMAL_Device_List_Addr);
|
||||||
|
Device_Public_Information_G BUS_Public;
|
||||||
|
RS485_TEMP_INFO Rs485Temp;
|
||||||
|
|
||||||
|
|
||||||
|
memset(&BUS_Public,0,sizeof(Device_Public_Information_G));
|
||||||
|
memset(&Rs485Temp,0,sizeof(RS485_TEMP_INFO));
|
||||||
|
|
||||||
|
read_addr = Find_AllDevice_List_Information(buff[0],buff[1]);
|
||||||
|
|
||||||
|
if( read_addr != 0x00)
|
||||||
|
{
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),read_addr);
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&Rs485Temp,sizeof(RS485_TEMP_INFO),read_addr+Dev_Privately);
|
||||||
|
|
||||||
|
Rs485Temp.TemStateNetState = buff[5];
|
||||||
|
Rs485Temp.TemStateNetState <<= 8;
|
||||||
|
Rs485Temp.TemStateNetState |= buff[4];
|
||||||
|
|
||||||
|
Rs485Temp.TemStateNetFlag = 0x01;
|
||||||
|
Rs485Temp.TemStateNetCnt = 0x00;
|
||||||
|
|
||||||
|
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s %04x",__func__,Rs485Temp.TemStateNetState);
|
||||||
|
|
||||||
|
BUS_Public.check = 0x00;
|
||||||
|
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485Temp, sizeof(RS485_TEMP_INFO));
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),read_addr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&Rs485Temp,sizeof(RS485_TEMP_INFO),read_addr+Dev_Privately);
|
||||||
|
|
||||||
|
return 0x00; //<2F><><EFBFBD>óɹ<C3B3>
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0x01; //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* @name <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -1492,7 +1532,6 @@ void Udp_Internal_Dev_Control_Processing(void)
|
|||||||
|
|
||||||
if(write_addr != SRAM_UDP_RecvData_Startaddr) //д<><D0B4>ַ<EFBFBD><D6B7>Ϊ<EFBFBD>ձ<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(write_addr != SRAM_UDP_RecvData_Startaddr) //д<><D0B4>ַ<EFBFBD><D6B7>Ϊ<EFBFBD>ձ<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
|
|
||||||
num = SRAM_Read_Byte(SRAM_UDP_RecvData_ControlNum);
|
num = SRAM_Read_Byte(SRAM_UDP_RecvData_ControlNum);
|
||||||
for(uint8_t i=0;i<num;i++)
|
for(uint8_t i=0;i<num;i++)
|
||||||
{
|
{
|
||||||
@@ -1506,6 +1545,9 @@ void Udp_Internal_Dev_Control_Processing(void)
|
|||||||
//case Dev_Host_Service: //<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
//case Dev_Host_Service: //<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||||
LOG_LogicInfo_DebugRecord("UDP Control:%02x-%02x-%02x-%02x-%02x-%02x",temp[0],temp[1],temp[2],temp[3],temp[4],temp[5]);
|
LOG_LogicInfo_DebugRecord("UDP Control:%02x-%02x-%02x-%02x-%02x-%02x",temp[0],temp[1],temp[2],temp[3],temp[4],temp[5]);
|
||||||
break;
|
break;
|
||||||
|
case DEV_RS485_TEMP:
|
||||||
|
/*2026-02-28 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF>Ʋ<EFBFBD><C6B2><EFBFBD>Ӧ<EFBFBD><D3A6>ʾ<EFBFBD><CABE>*/
|
||||||
|
Find_TempDevice_Set_NetCtrlFlag(temp);
|
||||||
default: //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ֻҪ<D6BB><D2AA>·<EFBFBD><C2B7>Ϊ0<CEAA><30><EFBFBD>ͼ<EFBFBD>1
|
default: //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ֻҪ<D6BB><D2AA>·<EFBFBD><C2B7>Ϊ0<CEAA><30><EFBFBD>ͼ<EFBFBD>1
|
||||||
|
|
||||||
if(0x00 != temp[2]) //<2F><>·<EFBFBD><C2B7>Ϊ0
|
if(0x00 != temp[2]) //<2F><>·<EFBFBD><C2B7>Ϊ0
|
||||||
|
|||||||
@@ -13,57 +13,114 @@ void TempPrompt_Fun_Init(void)
|
|||||||
|
|
||||||
void AddPrompt_ToList(uint8_t event)
|
void AddPrompt_ToList(uint8_t event)
|
||||||
{
|
{
|
||||||
if(PlayList.ListNum < LIST_MAXNUM)
|
// if(PlayList.ListNum < LIST_MAXNUM)
|
||||||
|
// {
|
||||||
|
// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"AddPrompt_ToList:%d - %d - %d",event,PlayList.ListNum,PlayList.EnFlag);
|
||||||
|
//// printf("AddPrompt_ToList:%d\n\r",event);
|
||||||
|
// if(PlayList.ListEnd == LIST_MAXNUM)
|
||||||
|
// {
|
||||||
|
// PlayList.ListEnd = 0x00;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// switch(event)
|
||||||
|
// {
|
||||||
|
// case 0x00: //<2F><><EFBFBD><EFBFBD>
|
||||||
|
//// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA013;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// case 0x01: //<2F><><EFBFBD><EFBFBD>
|
||||||
|
//// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA113;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// case 0x02: //<2F>ͷ<EFBFBD>
|
||||||
|
//// printf("<22>ͷ<EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA213;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// case 0x03: //<2F>ͷ<EFBFBD><CDB7><EFBFBD>
|
||||||
|
//// printf("<22>ͷ<EFBFBD><CDB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA313;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// case 0x04: //<2F>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
//// printf("<22>з<EFBFBD><D0B7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA413;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// case 0x05: //<2F>߷<EFBFBD><DFB7><EFBFBD>
|
||||||
|
//// printf("<22>߷<EFBFBD><DFB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
|
// PlayList.PlayList[PlayList.ListEnd] = 0xA513;
|
||||||
|
// PlayList.ListNum++;
|
||||||
|
// PlayList.ListEnd++;
|
||||||
|
// break;
|
||||||
|
// default:
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
switch(event)
|
||||||
{
|
{
|
||||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"AddPrompt_ToList:%d - %d - %d",event,PlayList.ListNum,PlayList.EnFlag);
|
|
||||||
// printf("AddPrompt_ToList:%d\n\r",event);
|
|
||||||
if(PlayList.ListEnd == LIST_MAXNUM)
|
|
||||||
{
|
|
||||||
PlayList.ListEnd = 0x00;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(event)
|
|
||||||
{
|
|
||||||
case 0x00: //<2F><><EFBFBD><EFBFBD>
|
case 0x00: //<2F><><EFBFBD><EFBFBD>
|
||||||
// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA013;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA0;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 0x01: //<2F><><EFBFBD><EFBFBD>
|
case 0x01: //<2F><><EFBFBD><EFBFBD>
|
||||||
// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22><><EFBFBD><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA113;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA1;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
break;
|
break;
|
||||||
case 0x02: //<2F>ͷ<EFBFBD>
|
case 0x02: //<2F>ͷ<EFBFBD>
|
||||||
// printf("<22>ͷ<EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22>ͷ<EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA213;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA2;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
break;
|
break;
|
||||||
case 0x03: //<2F>ͷ<EFBFBD><CDB7><EFBFBD>
|
case 0x03: //<2F>ͷ<EFBFBD><CDB7><EFBFBD>
|
||||||
// printf("<22>ͷ<EFBFBD><CDB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22>ͷ<EFBFBD><CDB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA313;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA3;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 0x04: //<2F>з<EFBFBD><D0B7><EFBFBD>
|
case 0x04: //<2F>з<EFBFBD><D0B7><EFBFBD>
|
||||||
// printf("<22>з<EFBFBD><D0B7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22>з<EFBFBD><D0B7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA413;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA4;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
break;
|
break;
|
||||||
case 0x05: //<2F>߷<EFBFBD><DFB7><EFBFBD>
|
case 0x05: //<2F>߷<EFBFBD><DFB7><EFBFBD>
|
||||||
// printf("<22>߷<EFBFBD><DFB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
// printf("<22>߷<EFBFBD><DFB7><EFBFBD>:%d\n\r",PlayList.ListEnd);
|
||||||
PlayList.PlayList[PlayList.ListEnd] = 0xA513;
|
|
||||||
PlayList.ListNum++;
|
PlayList.PlayIdnex = 0xA5;
|
||||||
PlayList.ListEnd++;
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
|
break;
|
||||||
|
case 0x06: //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
PlayList.PlayIdnex = 11;
|
||||||
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
|
break;
|
||||||
|
case 0x07: //<2F>յ<EFBFBD><D5B5>ػ<EFBFBD>
|
||||||
|
|
||||||
|
PlayList.PlayIdnex = 12;
|
||||||
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -72,41 +129,55 @@ void TempPrompt_Fun_Task(void)
|
|||||||
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD>
|
||||||
BUS_C5MUSIC_INFO C5Music_Info;
|
BUS_C5MUSIC_INFO C5Music_Info;
|
||||||
|
|
||||||
if((PlayList.DevAddr == NULL) || (PlayList.EnFlag != 0x01))
|
if( (PlayList.DevAddr == NULL) || (PlayList.EnFlag != 0x01) )
|
||||||
{
|
{
|
||||||
// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"TempPrompt_Fun_Task Addr Or EnFlag 0");
|
// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"TempPrompt_Fun_Task Addr Or EnFlag 0");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),PlayList.DevAddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if( SysTick_1ms - PlayList.scan_tick >= 50)
|
||||||
SRAM_DMA_Read_Buff((uint8_t *)&C5Music_Info,sizeof(BUS_C5MUSIC_INFO),PlayList.DevAddr+Dev_Privately);
|
|
||||||
|
|
||||||
if((PlayList.EnFlag == 0x01) && (BUS_Public.type == DEV_C5MUSIC_Type) && (BUS_Public.Protocol == 0x01))
|
|
||||||
{
|
{
|
||||||
if(NULL != BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get)
|
PlayList.scan_tick = SysTick_1ms;
|
||||||
|
|
||||||
|
if( SysTick_1ms - PlayList.play_delay_tick >= 3000 )
|
||||||
{
|
{
|
||||||
PlayList.PlayState = BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(PlayList.DevAddr,0x00);
|
//<2F><><EFBFBD>ų<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"TempPrompt_Fun_Task state<74><65>%d",PlayList.PlayState);
|
PlayList.play_delay_tick = SysTick_1ms;
|
||||||
if(PlayList.ListNum > 0x00)
|
PlayList.PlayIdnex = 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( PlayList.PlayIdnex == 0x00 ) return; //<2F><>ǰû<C7B0><C3BB><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
||||||
|
|
||||||
|
/*У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD>*/
|
||||||
|
if(Device_Data_Check(PlayList.DevAddr) == 0)
|
||||||
|
{
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),PlayList.DevAddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
SRAM_DMA_Read_Buff((uint8_t *)&C5Music_Info,sizeof(BUS_C5MUSIC_INFO),PlayList.DevAddr+Dev_Privately);
|
||||||
|
|
||||||
|
if((PlayList.EnFlag == 0x01) && (BUS_Public.type == DEV_C5MUSIC_Type) && (BUS_Public.Protocol == 0x01))
|
||||||
{
|
{
|
||||||
if((PlayList.PlayState == 0x02) \
|
//ֻ<>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>
|
||||||
|| (~((PlayList.PlayState == 0x01) && (C5Music_Info.now_playback_dir == 0x01) && \
|
if( (C5Music_Info.now_playback_status == BLV_C5MUSIC_Playing) && (C5Music_Info.now_playback_dir == BLV_C5MUSIC_Warning_Dir) ) return;
|
||||||
(C5Music_Info.now_playback_idx >= 160 && C5Music_Info.now_playback_idx <= 165))))
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>͵Ļ<CDB5><C4BB><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>
|
||||||
{
|
if( ((C5Music_Info.control_flag & C5MUSIC_Specify_Play_Flag) != 0x00 ) && (C5Music_Info.assign_dir == BLV_C5MUSIC_Warning_Dir) ) return;
|
||||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"TempPrompt_Fun_Task 2 Index:%d",PlayList.PlayIndex);
|
|
||||||
// printf("TempPrompt_Fun_Task 2 Index:%d\n\r",PlayList.PlayIndex);
|
C5Music_Info.playback_fun = BLV_C5MUSIC_Forestall; //<2F><><EFBFBD><EFBFBD>ģʽ - <20><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>
|
||||||
BUS_Public.DevFunInfo.Dev_Output_Ctrl(NULL, NULL, PlayList.DevAddr, 0x00, PlayList.PlayList[PlayList.PlayIndex]);
|
C5Music_Info.assign_dir = BLV_C5MUSIC_Warning_Dir; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||||
PlayList.ListNum--;
|
C5Music_Info.assign_playback_idx = PlayList.PlayIdnex; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
PlayList.PlayIndex++;
|
|
||||||
if(PlayList.PlayIndex == LIST_MAXNUM)
|
C5Music_Info.control_flag |= C5MUSIC_Specify_Play_Flag; //<2F><><EFBFBD>÷<EFBFBD><C3B7>ͱ<EFBFBD>־λ
|
||||||
{
|
|
||||||
PlayList.PlayIndex = 0x00;
|
PlayList.PlayIdnex = 0x00;
|
||||||
}
|
|
||||||
}
|
BUS_Public.check = 0x00;
|
||||||
|
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&C5Music_Info, sizeof(BUS_C5MUSIC_INFO));
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),PlayList.DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||||
|
SRAM_DMA_Write_Buff((uint8_t *)&C5Music_Info,sizeof(BUS_C5MUSIC_INFO),PlayList.DevAddr+Dev_Privately);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,11 @@
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint8_t EnFlag; //<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
uint8_t EnFlag; //<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
uint8_t PlayIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
|
|
||||||
uint8_t PlayState; //<2F><><EFBFBD><EFBFBD>״̬
|
uint8_t PlayIdnex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
uint8_t ListNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
uint8_t ListEnd; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
||||||
uint16_t PlayList[LIST_MAXNUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
||||||
uint32_t DevAddr; //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ַ
|
uint32_t DevAddr; //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ַ
|
||||||
|
uint32_t scan_tick; //ɨ<><C9A8>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||||
|
uint32_t play_delay_tick; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
}__attribute__ ((__packed__))MusicList_Struct;
|
}__attribute__ ((__packed__))MusicList_Struct;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -22,25 +22,25 @@ Dialog DLL: TARMCM1.DLL V1.14.1.0
|
|||||||
|
|
||||||
<h2>Project:</h2>
|
<h2>Project:</h2>
|
||||||
E:\Git_Project_Sourcode\BLV_C1F_Module\Pro\Pro-9999_Logic_CC_251027_0x5000_Simplify\MDK_PROJECT\project.uvprojx
|
E:\Git_Project_Sourcode\BLV_C1F_Module\Pro\Pro-9999_Logic_CC_251027_0x5000_Simplify\MDK_PROJECT\project.uvprojx
|
||||||
Project File Date: 02/09/2026
|
Project File Date: 03/04/2026
|
||||||
|
|
||||||
<h2>Output:</h2>
|
<h2>Output:</h2>
|
||||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
|
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
|
||||||
Rebuild target 'TEST'
|
Rebuild target 'TEST'
|
||||||
assembling startup_ARMCM0.s...
|
assembling startup_ARMCM0.s...
|
||||||
compiling CH57x_clk.c...
|
|
||||||
compiling CH57x_int.c...
|
|
||||||
compiling CH57x_gpio.c...
|
|
||||||
compiling CH57x_sys.c...
|
compiling CH57x_sys.c...
|
||||||
compiling CH57x_adc.c...
|
compiling CH57x_clk.c...
|
||||||
|
compiling CH57x_gpio.c...
|
||||||
|
compiling CH57x_int.c...
|
||||||
compiling CH57x_pwr.c...
|
compiling CH57x_pwr.c...
|
||||||
|
compiling CH57x_adc.c...
|
||||||
compiling main.c...
|
compiling main.c...
|
||||||
compiling CH57x_flash.c...
|
compiling CH57x_flash.c...
|
||||||
compiling CH57x_uart1.c...
|
|
||||||
compiling CH57x_uart0.c...
|
compiling CH57x_uart0.c...
|
||||||
compiling CH57x_uart3.c...
|
compiling CH57x_uart1.c...
|
||||||
compiling CH57x_uart2.c...
|
|
||||||
compiling CH57x_timer0.c...
|
compiling CH57x_timer0.c...
|
||||||
|
compiling CH57x_uart2.c...
|
||||||
|
compiling CH57x_uart3.c...
|
||||||
compiling CH57x_spi0.c...
|
compiling CH57x_spi0.c...
|
||||||
compiling CH57x_spi1.c...
|
compiling CH57x_spi1.c...
|
||||||
compiling Debug.c...
|
compiling Debug.c...
|
||||||
@@ -48,53 +48,53 @@ compiling rtc.c...
|
|||||||
compiling dwg.c...
|
compiling dwg.c...
|
||||||
compiling key.c...
|
compiling key.c...
|
||||||
compiling flash.c...
|
compiling flash.c...
|
||||||
compiling Log_api.c...
|
|
||||||
compiling usart.c...
|
compiling usart.c...
|
||||||
|
compiling Log_api.c...
|
||||||
compiling SPI_SRAM.c...
|
compiling SPI_SRAM.c...
|
||||||
compiling md5.c...
|
|
||||||
compiling DNS.c...
|
|
||||||
compiling check_fun.c...
|
compiling check_fun.c...
|
||||||
|
compiling DNS.c...
|
||||||
compiling rw_logging.c...
|
compiling rw_logging.c...
|
||||||
|
compiling md5.c...
|
||||||
compiling BLV_Authorize.c...
|
compiling BLV_Authorize.c...
|
||||||
compiling net.c...
|
compiling net.c...
|
||||||
compiling BLV_BUS_Dev_C5IOFun.c...
|
compiling BLV_BUS_Dev_C5IOFun.c...
|
||||||
compiling BLV_BUS_Dev_C5MusicFun.c...
|
|
||||||
compiling BLV_485_Protocol.c...
|
compiling BLV_485_Protocol.c...
|
||||||
compiling PC_DeviceTest_Fun.c...
|
compiling BLV_BUS_Dev_C5MusicFun.c...
|
||||||
compiling BLV_485_Dev_CardFun.c...
|
compiling BLV_485_Dev_CardFun.c...
|
||||||
compiling BLV_NET_Function.c...
|
compiling BLV_NET_Function.c...
|
||||||
compiling BLV_485_Dev_TempFun.c...
|
compiling BLV_485_Dev_TempFun.c...
|
||||||
compiling BLV_485_Dev_Touch_SwiFun.c...
|
compiling PC_DeviceTest_Fun.c...
|
||||||
compiling BLV_485_Dev_IrSendFun.c...
|
compiling BLV_485_Dev_IrSendFun.c...
|
||||||
|
compiling BLV_485_Dev_Touch_SwiFun.c...
|
||||||
compiling BLV_485_Dev_C7TFun.c...
|
compiling BLV_485_Dev_C7TFun.c...
|
||||||
compiling BLV_485_Dev_A9RelayFun.c...
|
compiling BLV_485_Dev_A9RelayFun.c...
|
||||||
compiling BLV_485_Dev_PwmFun.c...
|
compiling BLV_485_Dev_PwmFun.c...
|
||||||
compiling BLV_BUS_Dev_C12DimmingFun.c...
|
|
||||||
compiling BLV_Nor_DevFun.c...
|
|
||||||
compiling BLV_485_Dev_TimeFun.c...
|
compiling BLV_485_Dev_TimeFun.c...
|
||||||
compiling BLV_485_Dev_XiaoBaoFun.c...
|
compiling BLV_485_Dev_XiaoBaoFun.c...
|
||||||
compiling BLV_485_Dev_TempT1Fun.c...
|
compiling BLV_BUS_Dev_C12DimmingFun.c...
|
||||||
|
compiling BLV_Nor_DevFun.c...
|
||||||
compiling BLV_All_Dev_Init.c...
|
compiling BLV_All_Dev_Init.c...
|
||||||
compiling BLV_485_Dev_RGB_Light_BeltFun.c...
|
compiling BLV_485_Dev_TempT1Fun.c...
|
||||||
compiling BLV_485_Dev_A9LDFun.c...
|
compiling BLV_485_Dev_A9LDFun.c...
|
||||||
|
compiling BLV_485_Dev_RGB_Light_BeltFun.c...
|
||||||
compiling BLV_485_Dev_PirFun.c...
|
compiling BLV_485_Dev_PirFun.c...
|
||||||
compiling BLV_485_Dev_LEDFun.c...
|
compiling BLV_485_Dev_LEDFun.c...
|
||||||
compiling BLV_485_Dev_SliderFun.c...
|
compiling BLV_485_Dev_SliderFun.c...
|
||||||
compiling BLV_485_Dev_AirRevealFun.c...
|
compiling BLV_485_Dev_AirRevealFun.c...
|
||||||
compiling BLV_485_Dev_A9IO_SwiFun.c...
|
compiling BLV_485_Dev_A9IO_SwiFun.c...
|
||||||
compiling BLV_Dev_Action.c...
|
|
||||||
compiling BLV_485_Dev_AirDetectFun.c...
|
|
||||||
compiling BLV_485_Dev_SwitchFun.c...
|
compiling BLV_485_Dev_SwitchFun.c...
|
||||||
compiling BLV_485_Dev_A8PBFun.c...
|
compiling BLV_485_Dev_A8PBFun.c...
|
||||||
|
compiling BLV_485_Dev_AirDetectFun.c...
|
||||||
compiling BLV_485_Dev_BLWMusicFun.c...
|
compiling BLV_485_Dev_BLWMusicFun.c...
|
||||||
compiling BLV_485_Dev_MusicFun.c...
|
compiling BLV_485_Dev_MusicFun.c...
|
||||||
compiling BLV_485_Dev_C12DimFun.c...
|
|
||||||
compiling BLV_485_Dev_C5RelayFun.c...
|
compiling BLV_485_Dev_C5RelayFun.c...
|
||||||
compiling BLV_485_Dev_IN_CH6.c...
|
compiling BLV_485_Dev_IN_CH6.c...
|
||||||
|
compiling BLV_Dev_Action.c...
|
||||||
|
compiling BLV_485_Dev_C12DimFun.c...
|
||||||
compiling BLV_485_Dev_SwiRelayFun.c...
|
compiling BLV_485_Dev_SwiRelayFun.c...
|
||||||
compiling BLV_485_Dev_HuaErSiFun.c...
|
compiling BLV_485_Dev_HuaErSiFun.c...
|
||||||
compiling BLV_485_Dev_CardStateFun.c...
|
|
||||||
compiling BLV_TempPrompt_Action.c...
|
compiling BLV_TempPrompt_Action.c...
|
||||||
|
compiling BLV_485_Dev_CardStateFun.c...
|
||||||
compiling BLV_485_Dev_LCDFun.c...
|
compiling BLV_485_Dev_LCDFun.c...
|
||||||
compiling BLV_485_Dev_FloorHeatFun.c...
|
compiling BLV_485_Dev_FloorHeatFun.c...
|
||||||
compiling BLV_485_Dev_FreshAirFun.c...
|
compiling BLV_485_Dev_FreshAirFun.c...
|
||||||
@@ -102,55 +102,55 @@ compiling BLV_485_Dev_CLEDFloorHeatFun.c...
|
|||||||
compiling BLV_485_Dev_CLEDFreshAirFun.c...
|
compiling BLV_485_Dev_CLEDFreshAirFun.c...
|
||||||
compiling BLV_485_Dev_BLWFreshAirFun.c...
|
compiling BLV_485_Dev_BLWFreshAirFun.c...
|
||||||
compiling BLV_485_Dev_BLWFloorHeatFun.c...
|
compiling BLV_485_Dev_BLWFloorHeatFun.c...
|
||||||
compiling BLV_485_Dev_BLE_Music.c...
|
|
||||||
compiling BLV_485_Dev_ShangJingTianIrSendFun.c...
|
|
||||||
compiling BLV_485_Dev_EnergyMonitor.c...
|
|
||||||
compiling BLV_485_Dev_Rotary_SwitchFun.c...
|
compiling BLV_485_Dev_Rotary_SwitchFun.c...
|
||||||
|
compiling BLV_485_Dev_ShangJingTianIrSendFun.c...
|
||||||
|
compiling BLV_485_Dev_BLE_Music.c...
|
||||||
|
compiling BLV_485_Dev_EnergyMonitor.c...
|
||||||
compiling BLV_485_Dev_BLVP1_Rotary_Switch.c...
|
compiling BLV_485_Dev_BLVP1_Rotary_Switch.c...
|
||||||
compiling BLV_485_Dev_CurtainFun.c...
|
|
||||||
compiling BLV_485_Dev_BLVP2_Rotary_Switch.c...
|
compiling BLV_485_Dev_BLVP2_Rotary_Switch.c...
|
||||||
compiling BLV_485_Dev_BinShen_Curtain.c...
|
compiling BLV_485_Dev_BinShen_Curtain.c...
|
||||||
|
compiling BLV_485_Dev_CurtainFun.c...
|
||||||
compiling BLV_485_Dev_BLWLockFun.c...
|
compiling BLV_485_Dev_BLWLockFun.c...
|
||||||
compiling BLV_485_Dev_ChuangJiaLockFun.c...
|
|
||||||
compiling BLV_485_Dev_WeixinLockFun.c...
|
compiling BLV_485_Dev_WeixinLockFun.c...
|
||||||
|
compiling BLV_485_Dev_ChuangJiaLockFun.c...
|
||||||
compiling BLV_RF_GatewayHost.c...
|
compiling BLV_RF_GatewayHost.c...
|
||||||
compiling BLV_485_Dev_FreegoLockFun.c...
|
compiling BLV_485_Dev_FreegoLockFun.c...
|
||||||
compiling BLV_485_Dev_YangGeLockFun.c...
|
|
||||||
compiling BLV_485_Dev_PB20_LED_Fun.c...
|
compiling BLV_485_Dev_PB20_LED_Fun.c...
|
||||||
compiling BLV_485_Dev_PB20_Relay_Fun.c...
|
compiling BLV_485_Dev_PB20_Relay_Fun.c...
|
||||||
|
compiling BLV_485_Dev_YangGeLockFun.c...
|
||||||
compiling BLV_485_Dev_PB20_Strip_Fun.c...
|
compiling BLV_485_Dev_PB20_Strip_Fun.c...
|
||||||
compiling BLV_Bus_Dev_PB20Fun.c...
|
compiling BLV_Bus_Dev_PB20Fun.c...
|
||||||
compiling BLV_Nor_Dev_ServiceFun.c...
|
|
||||||
compiling BLV_Nor_Dev_LVoutputFun.c...
|
|
||||||
compiling BLV_Nor_Dev_LVinputFun.c...
|
compiling BLV_Nor_Dev_LVinputFun.c...
|
||||||
compiling BLV_Nor_Dev_HVoutFun.c...
|
compiling BLV_Nor_Dev_LVoutputFun.c...
|
||||||
|
compiling BLV_Nor_Dev_ServiceFun.c...
|
||||||
compiling BLV_Nor_Dev_CurtainFun.c...
|
compiling BLV_Nor_Dev_CurtainFun.c...
|
||||||
compiling BLV_Nor_Dev_NoCard.c...
|
compiling BLV_Nor_Dev_HVoutFun.c...
|
||||||
compiling BLV_Nor_Dev_ColorTemp.c...
|
compiling BLV_Nor_Dev_ColorTemp.c...
|
||||||
|
compiling BLV_Nor_Dev_NoCard.c...
|
||||||
compiling BLV_Nor_Dev_VirtualTimeFun.c...
|
compiling BLV_Nor_Dev_VirtualTimeFun.c...
|
||||||
compiling BLV_Nor_Dev_CarbonFun.c...
|
|
||||||
compiling BLV_Nor_Dev_GlobalSet.c...
|
compiling BLV_Nor_Dev_GlobalSet.c...
|
||||||
|
compiling BLV_Nor_Dev_CarbonFun.c...
|
||||||
compiling BLV_Nor_Dev_Scene_Restore.c...
|
compiling BLV_Nor_Dev_Scene_Restore.c...
|
||||||
compiling aLiYun.c...
|
|
||||||
compiling utils_hmac.c...
|
compiling utils_hmac.c...
|
||||||
|
compiling aLiYun.c...
|
||||||
compiling BLV_Nor_Dev_VirtualCard.c...
|
compiling BLV_Nor_Dev_VirtualCard.c...
|
||||||
compiling MQTTConnectClient.c...
|
|
||||||
compiling utils_md5.c...
|
compiling utils_md5.c...
|
||||||
compiling MQTTDeserializePublish.c...
|
|
||||||
compiling MQTTFormat.c...
|
|
||||||
compiling mqtt.c...
|
|
||||||
compiling Udp_Internal_Protocol.c...
|
compiling Udp_Internal_Protocol.c...
|
||||||
compiling MQTTSerializePublish.c...
|
compiling mqtt.c...
|
||||||
compiling MQTTPacket.c...
|
compiling MQTTFormat.c...
|
||||||
compiling BLV_Logic_Edit.c...
|
compiling BLV_Logic_Edit.c...
|
||||||
compiling MQTTSubscribeClient.c...
|
compiling MQTTDeserializePublish.c...
|
||||||
|
compiling MQTTConnectClient.c...
|
||||||
|
compiling MQTTPacket.c...
|
||||||
|
compiling MQTTSerializePublish.c...
|
||||||
compiling MQTTUnsubscribeClient.c...
|
compiling MQTTUnsubscribeClient.c...
|
||||||
|
compiling MQTTSubscribeClient.c...
|
||||||
compiling utils_sha1.c...
|
compiling utils_sha1.c...
|
||||||
linking...
|
linking...
|
||||||
Program Size: Code=221948 RO-data=8220 RW-data=812 ZI-data=22676
|
Program Size: Code=221052 RO-data=8328 RW-data=812 ZI-data=22660
|
||||||
FromELF: creating hex file...
|
FromELF: creating hex file...
|
||||||
After Build - User command #1: D:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\C1F_A_L4_43_260209_NM.bin .\Objects\C1F_A_L4_43_260209_NM.axf
|
After Build - User command #1: D:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\C1F_A_L4_44_260304_NM.bin .\Objects\C1F_A_L4_44_260304_NM.axf
|
||||||
".\Objects\C1F_A_L4_43_260209_NM.axf" - 0 Error(s), 0 Warning(s).
|
".\Objects\C1F_A_L4_44_260304_NM.axf" - 0 Error(s), 0 Warning(s).
|
||||||
|
|
||||||
<h2>Software Packages used:</h2>
|
<h2>Software Packages used:</h2>
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ Package Vendor: Keil
|
|||||||
D:\Keil_v5\Pack\Keil\WCH57x_DFP\1.1.0\Drivers\CMSIS\Device\WCH\CH57x\Include
|
D:\Keil_v5\Pack\Keil\WCH57x_DFP\1.1.0\Drivers\CMSIS\Device\WCH\CH57x\Include
|
||||||
|
|
||||||
<h2>Collection of Component Files used:</h2>
|
<h2>Collection of Component Files used:</h2>
|
||||||
Build Time Elapsed: 00:00:17
|
Build Time Elapsed: 00:00:19
|
||||||
</pre>
|
</pre>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -119,7 +119,7 @@
|
|||||||
".\objects\mqttserializepublish.o"
|
".\objects\mqttserializepublish.o"
|
||||||
".\objects\mqttsubscribeclient.o"
|
".\objects\mqttsubscribeclient.o"
|
||||||
".\objects\mqttunsubscribeclient.o"
|
".\objects\mqttunsubscribeclient.o"
|
||||||
--library_type=microlib --strict --scatter ".\Objects\C1F_A_L4_43_260209_NM.sct"
|
--library_type=microlib --strict --scatter ".\Objects\C1F_A_L4_44_260304_NM.sct"
|
||||||
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
||||||
--info sizes --info totals --info unused --info veneers
|
--info sizes --info totals --info unused --info veneers
|
||||||
--list ".\Listings\C1F_A_L4_43_260209_NM.map" -o .\Objects\C1F_A_L4_43_260209_NM.axf
|
--list ".\Listings\C1F_A_L4_44_260304_NM.map" -o .\Objects\C1F_A_L4_44_260304_NM.axf
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -49,7 +49,7 @@
|
|||||||
<InvalidFlash>1</InvalidFlash>
|
<InvalidFlash>1</InvalidFlash>
|
||||||
</TargetStatus>
|
</TargetStatus>
|
||||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||||
<OutputName>C1F_A_L4_43_260209_NM</OutputName>
|
<OutputName>C1F_A_L4_44_260304_NM</OutputName>
|
||||||
<CreateExecutable>1</CreateExecutable>
|
<CreateExecutable>1</CreateExecutable>
|
||||||
<CreateLib>0</CreateLib>
|
<CreateLib>0</CreateLib>
|
||||||
<CreateHexFile>1</CreateHexFile>
|
<CreateHexFile>1</CreateHexFile>
|
||||||
|
|||||||
@@ -77,11 +77,11 @@
|
|||||||
|
|
||||||
#define RS485_RFGatewayHost_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>BLW<57><CEA2><EFBFBD><EFBFBD>
|
#define RS485_RFGatewayHost_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>BLW<57><CEA2><EFBFBD><EFBFBD>
|
||||||
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||||
#define RS485_WxLock_Flag 0x01 //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_WxLock_Flag 0x00 //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define RS485_WxLock_BLW_Flag 0x00 //BLW<57><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
#define RS485_WxLock_BLW_Flag 0x00 //BLW<57><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||||
#define RS485_WxLock_FreeGo_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
#define RS485_WxLock_FreeGo_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||||
#define RS485_WxLock_CJia_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
#define RS485_WxLock_CJia_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||||
#define RS485_WxLock_YangGe_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
#define RS485_WxLock_YangGe_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||||
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
|
|
||||||
#define RS485_AirDetect_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
#define RS485_AirDetect_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||||
@@ -89,11 +89,11 @@
|
|||||||
|
|
||||||
#define RS485_TimeCtrl_Flag 0x00 //ʱ<><CAB1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
#define RS485_TimeCtrl_Flag 0x00 //ʱ<><CAB1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
#define RS485_Curtain_Flag 0x00 //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_Curtain_Flag 0x01 //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define RS485_DOOYA_Curtain_Flag 0x00 //<2F><><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_DOOYA_Curtain_Flag 0x00 //<2F><><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define RS485_BinShen_Curtain_Flag 0x00 //<2F><><EFBFBD>괰<EFBFBD><EAB4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_BinShen_Curtain_Flag 0x01 //<2F><><EFBFBD>괰<EFBFBD><EAB4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
#define RS485_CardState_Flag 0x00 //<2F>忨״̬ͬ<CCAC><CDAC>
|
#define RS485_CardState_Flag 0x01 //<2F>忨״̬ͬ<CCAC><CDAC>
|
||||||
|
|
||||||
#define RS485_FreshAir_Flag 0x00 //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_FreshAir_Flag 0x00 //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define RS485_FloorHeat_Flag 0x00 //<2F><>ů<EFBFBD><C5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define RS485_FloorHeat_Flag 0x00 //<2F><>ů<EFBFBD><C5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
#define Dev_Nor_ColorTemp 0x00 //ɫ<><C9AB>ģ<EFBFBD><C4A3>
|
#define Dev_Nor_ColorTemp 0x00 //ɫ<><C9AB>ģ<EFBFBD><C4A3>
|
||||||
|
|
||||||
#define Dev_485_Card_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
#define Dev_485_Card_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
||||||
#define Dev_485_Card_Active_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
#define Dev_485_Card_Active_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
||||||
|
|
||||||
#define Dev_485_IrSend_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA> - <20><><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
|
#define Dev_485_IrSend_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA> - <20><><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
|
||||||
#define Dev_485_IrSend_Active_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA> - <20><><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
|
#define Dev_485_IrSend_Active_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA> - <20><><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
|
|
||||||
#define Dev_Nor_Carbon_Flag 0x01 //̼<><CCBC><EFBFBD><EFBFBD>
|
#define Dev_Nor_Carbon_Flag 0x01 //̼<><CCBC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
#define Dev_Nor_Scene_Restore_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滹ԭ
|
#define Dev_Nor_Scene_Restore_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滹ԭ
|
||||||
|
|
||||||
#define Dev_Nor_GlobalSet_Flag 0x01 //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2025-07-14,YYW
|
#define Dev_Nor_GlobalSet_Flag 0x01 //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2025-07-14,YYW
|
||||||
|
|
||||||
|
|||||||
43
Readme.md
43
Readme.md
@@ -1,5 +1,48 @@
|
|||||||
# BLV_C1F_Module主机代码修改记录
|
# BLV_C1F_Module主机代码修改记录
|
||||||
|
|
||||||
|
### 2026-03-04
|
||||||
|
|
||||||
|
```c
|
||||||
|
发布固件版本:C1F_A_L4_44_260304_NM.HEX
|
||||||
|
修改人:曹聪、叶阳文、李世杰
|
||||||
|
修改内容:
|
||||||
|
1、修改无卡取电驱动
|
||||||
|
-> 无卡取电回路在初始化门磁状态时,将初始化状态与对应的服务信息回路状态进行同步时,以门磁触发为门磁服务关,以门磁释放为门磁服务开
|
||||||
|
-> 无卡回路初始化,需要在弱电输入初始化完成后
|
||||||
|
2、修改温控器驱动
|
||||||
|
-> T1温控器设备和C7T温控器的服务器上报数据,在室温变化时也能更新
|
||||||
|
-> 温控器控制方法修改 开关机提示音和风速模式提示音整合到一个控制方法中,使用一个提示音标志位控制,配置工具也只勾选风速模式提示音就可以使能提示音播放
|
||||||
|
-> 服务器控制温控器时,不会触发提示音。而用户操作温控器,是否触发提示音由配置决定。
|
||||||
|
-> T1温控器设备 新增小数点数据存储在定期上报里组包
|
||||||
|
3、网络通信驱动
|
||||||
|
-> 定期上报协议版本更新到V04
|
||||||
|
修改点:温控器数据组装中 新增内容 室内温度的小数位
|
||||||
|
4、修改能耗驱动
|
||||||
|
-> 增加 - 通信数据接收处理函数中对数据进行和校验取反
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 2026-02-26
|
||||||
|
|
||||||
|
```C
|
||||||
|
修改人:曹聪、李世杰
|
||||||
|
修改内容:
|
||||||
|
1、修改无卡取电驱动
|
||||||
|
-> 无卡取电回路在初始化状态时,将初始化状态与对应的服务信息回路状态进行同步,但不会触发服务信息的事件。
|
||||||
|
-> 无卡取电对应的服务信息回路状态
|
||||||
|
无卡取电 回路1 -> 门磁服务 回路号13
|
||||||
|
无卡取电 回路2 -> 门口红外服务 回路号32
|
||||||
|
无卡取电 回路3 -> 卫红外服务 回路号33
|
||||||
|
无卡取电 回路4 -> 浴红外服务 回路号34
|
||||||
|
无卡取电 回路5 -> 床头红外服务 回路号35
|
||||||
|
无卡取电 回路6 -> 镜前红外服务 回路号36
|
||||||
|
无卡取电 回路7 -> 休闲红外服务 回路号37
|
||||||
|
无卡取电 回路8 -> 客厅红外服务 回路号38
|
||||||
|
无卡取电 回路9 -> 厅卫红外服务 回路号39
|
||||||
|
无卡取电 回路10 -> 浴缸红外服务 回路号40
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 2026-02-09
|
### 2026-02-09
|
||||||
|
|||||||
Reference in New Issue
Block a user