feat:新增无卡取电驱动 - 初始化状态时同步对于的服务信息回路状态

1、修改无卡取电驱动
     -> 无卡取电回路在初始化门磁状态时,将初始化状态与对应的服务信息回路状态进行同步时,以门磁触发为门磁服务关,以门磁释放为门磁服务开
     -> 无卡回路初始化,需要在弱电输入初始化完成后
2、修改温控器驱动
     -> T1温控器设备和C7T温控器的服务器上报数据,在室温变化时也能更新
     -> 温控器控制方法修改 开关机提示音和风速模式提示音整合到一个控制方法中,使用一个提示音标志位控制,配置工具也只勾选风速模式提示音就可以使能提示音播放
     -> 服务器控制温控器时,不会触发提示音。而用户操作温控器,是否触发提示音由配置决定。
     -> T1温控器设备 新增小数点数据存储在定期上报里组包
3、网络通信驱动
     -> 定期上报协议版本更新到V04
      修改点:温控器数据组装中 新增内容 室内温度的小数位
4、修改能耗驱动
     -> 增加 - 通信数据接收处理函数中对数据进行和校验取反
This commit is contained in:
caocong
2026-03-04 14:37:11 +08:00
parent 514cd84f1e
commit 8a10946701
31 changed files with 29578 additions and 29450 deletions

View File

@@ -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)

View File

@@ -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])

View File

@@ -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><>
@@ -641,6 +657,15 @@ void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t Cfg
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,7 +851,6 @@ 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);
@@ -822,6 +858,22 @@ uint8_t TemSingleJudge(uint32_t CfgDevAdd, RS485_Tem_Ctrl_ptr Rs485TemCtrl, RS48
} }
} }
/* 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;

View File

@@ -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><30><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><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><30><CEAA><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><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

View File

@@ -243,55 +243,6 @@ 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)

View File

@@ -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>
{ {

View File

@@ -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] = KeyRelease; DevLVinputInfo.DevReadBuf[i] = 0x00;
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] = KeyPress; DevLVinputInfo.DevReadBuf[i] = 0x00;
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>*/

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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) )

View File

@@ -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

View File

@@ -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{

View File

@@ -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

View File

@@ -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); // Dbg_Println(DBG_BIT_SYS_STATUS_bit,"AddPrompt_ToList:%d - %d - %d",event,PlayList.ListNum,PlayList.EnFlag);
// printf("AddPrompt_ToList:%d\n\r",event); //// printf("AddPrompt_ToList:%d\n\r",event);
if(PlayList.ListEnd == LIST_MAXNUM) // if(PlayList.ListEnd == LIST_MAXNUM)
{ // {
PlayList.ListEnd = 0x00; // 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) 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,39 +129,53 @@ 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);
} }
} }
} }
} }

View File

@@ -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;

View File

@@ -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>

View File

@@ -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 one or more lines are too long

View File

@@ -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>

View File

@@ -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><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD> #define RS485_WxLock_BLW_Flag 0x00 //BLW΢<57><CEA2><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD>
#define RS485_WxLock_FreeGo_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD> #define RS485_WxLock_FreeGo_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD>
#define RS485_WxLock_CJia_Flag 0x00 //<2F><><EFBFBD><EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD> #define RS485_WxLock_CJia_Flag 0x00 //<2F><><EFBFBD><EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD>
#define RS485_WxLock_YangGe_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><30>ر<EFBFBD> #define RS485_WxLock_YangGe_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><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

View File

@@ -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