调试:CSIO继电器控制

CSIO继电器控制初步测试OK
This commit is contained in:
caocong
2026-01-05 21:17:51 +08:00
parent 63ebdb7baa
commit 6e19d0b451
35 changed files with 2094 additions and 929 deletions

View File

@@ -941,7 +941,7 @@ __attribute__((section(".non_0_wait"))) uint32_t Find_TempDevice_List_Informatio
{
if(Device_Data_Check(read_addr) == 0)
{
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),read_addr);
BLV_Device_PublicInfo_Read_To_Struct(read_addr,&BUS_Public);
SRAM_DMA_Read_Buff((uint8_t *)&Rs485Temp,sizeof(RS485_TEMP_INFO),read_addr+Dev_Privately);
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s Type:%d Addr:%d",__func__,BUS_Public.type,BUS_Public.addr);
@@ -1359,57 +1359,55 @@ __attribute__((section(".non_0_wait"))) uint8_t Udp_Internal_BLVPCTestDevice_Pro
Device_Public_Information_G BUS_Public;
PC_TEST_DEVICE_INFO PC_Test_Info;
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),dev_addr);
SRAM_DMA_Read_Buff((uint8_t *)&PC_Test_Info,sizeof(PC_TEST_DEVICE_INFO),dev_addr+Dev_Privately);
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
temp1 = data[BLV_UDP_HEAD_LEN];
if(temp1 == 0x01) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
if(BLV_Device_PublicInfo_Read_To_Struct(dev_addr,&BUS_Public) == 0x00)
{
g_pc_test.test_flag = 0x11;
SRAM_DMA_Read_Buff((uint8_t *)&PC_Test_Info,sizeof(PC_TEST_DEVICE_INFO),dev_addr+Dev_Privately);
g_pc_test.test_dev = data[BLV_UDP_HEAD_LEN + 1]; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_pc_test.test_addr = data[BLV_UDP_HEAD_LEN + 2]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>ַ
PC_Test_Info.test_time = data[BLV_UDP_HEAD_LEN + 3]; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
temp1 = data[BLV_UDP_HEAD_LEN];
if(temp1 == 0x01) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
{
g_pc_test.test_flag = 0x11;
PC_Test_Info.test_flag = g_pc_test.test_flag;
PC_Test_Info.test_tick = SysTick_1ms;
PC_Test_Info.test_time *= 60000;
g_pc_test.test_dev = data[BLV_UDP_HEAD_LEN + 1]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
g_pc_test.test_addr = data[BLV_UDP_HEAD_LEN + 2]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>ַ
PC_Test_Info.test_time = data[BLV_UDP_HEAD_LEN + 3]; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4A3AC>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_pc_test.pc_ip[0] = ip[0]; //2022-07-12
g_pc_test.pc_ip[1] = ip[1];
g_pc_test.pc_ip[2] = ip[2];
g_pc_test.pc_ip[3] = ip[3];
g_pc_test.pc_port = port;
PC_Test_Info.test_flag = g_pc_test.test_flag;
PC_Test_Info.test_tick = SysTick_1ms;
PC_Test_Info.test_time *= 60000;
g_pc_test.pc_ip[0] = ip[0]; //2022-07-12
g_pc_test.pc_ip[1] = ip[1];
g_pc_test.pc_ip[2] = ip[2];
g_pc_test.pc_ip[3] = ip[3];
g_pc_test.pc_port = port;
}
else if(temp1 == 0x02) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
g_pc_test.test_flag = 0x12;
PC_Test_Info.test_flag = g_pc_test.test_flag;
PC_Test_Info.test_tick = SysTick_1ms;
PC_Test_Info.test_time = 120000;
Udp_Internal_PC_Testing_DataDeal(data,DataLen,ip,port);
}else if(temp1 == 0x03) //<2F><><EFBFBD><EFBFBD>Ѳ<EFBFBD>ز<EFBFBD><D8B2><EFBFBD> - <20><><EFBFBD><EFBFBD>485<38>˿<EFBFBD>
{
g_pc_test.test_flag = 0x13;
PC_Test_Info.test_flag = g_pc_test.test_flag;
g_pc_test.tour_num = 0;
g_pc_test.tour_succ = 0;
g_pc_test.pc_ip[0] = ip[0];
g_pc_test.pc_ip[1] = ip[1];
g_pc_test.pc_ip[2] = ip[2];
g_pc_test.pc_ip[3] = ip[3];
g_pc_test.pc_port = port;
}
BLV_Device_Info_Write_To_SRAM(dev_addr,&BUS_Public,(uint8_t *)&PC_Test_Info,sizeof(PC_TEST_DEVICE_INFO));
}
else if(temp1 == 0x02) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
g_pc_test.test_flag = 0x12;
PC_Test_Info.test_flag = g_pc_test.test_flag;
PC_Test_Info.test_tick = SysTick_1ms;
PC_Test_Info.test_time = 120000;
Udp_Internal_PC_Testing_DataDeal(data,DataLen,ip,port);
}else if(temp1 == 0x03) //<2F><><EFBFBD><EFBFBD>Ѳ<EFBFBD>ز<EFBFBD><D8B2><EFBFBD> - <20><><EFBFBD><EFBFBD>485<38>˿<EFBFBD>
{
g_pc_test.test_flag = 0x13;
PC_Test_Info.test_flag = g_pc_test.test_flag;
g_pc_test.tour_num = 0;
g_pc_test.tour_succ = 0;
g_pc_test.pc_ip[0] = ip[0];
g_pc_test.pc_ip[1] = ip[1];
g_pc_test.pc_ip[2] = ip[2];
g_pc_test.pc_ip[3] = ip[3];
g_pc_test.pc_port = port;
}
BUS_Public.check = 0x00;
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&PC_Test_Info, sizeof(PC_TEST_DEVICE_INFO));
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
SRAM_DMA_Write_Buff((uint8_t *)&PC_Test_Info,sizeof(PC_TEST_DEVICE_INFO),dev_addr+Dev_Privately);
return 0x00;
}
@@ -2066,37 +2064,6 @@ uint8_t Udp_Internal_RoomState_Process(uint8_t *data, uint16_t DataLen, uint8_t
return 0x00;
}
/*******************************************************************************
* Function Name : ServiceInfo_Get_ALL_Loop_State
* Description : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ - <20><>ȡȫ<C8A1><C8AB><EFBFBD><EFBFBD>·<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>״̬
*******************************************************************************/
uint8_t ServiceInfo_Get_ALL_Loop_State(uint8_t *read_buff)
{
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>
uint8_t loop_offset = 0;
uint8_t loop_ide = 0;
if(dev_addr == 0x00) return 0x01; //δ<>ҵ<EFBFBD><D2B5>
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( DevServiceInfo.ServiceLoopValidNum >= ServiceNumMAX ) DevServiceInfo.ServiceLoopValidNum = ServiceNumMAX;
for(uint8_t i=0;i<DevServiceInfo.ServiceLoopValidNum;i++)
{
loop_ide = i / 8;
loop_offset = i % 8;
if(DevServiceInfo.DevServiceState[i] == 0x01)
{
read_buff[loop_ide] |= 0x01 << loop_offset;
}
}
return 0x00;
}
/*******************************************************************************
* Function Name : Udp_Internal_Periodic_Report_PackSend
@@ -2283,6 +2250,9 @@ void Udp_Internal_Analysis(uint8_t *data, uint32_t len, uint8_t* ip, uint16_t po
case In_BLVIAPLogic_Cmd:
Udp_Internal_BLVIAP_Logic(data, len, ip, port);
break;
case In_BLVPCTestDevice_Cmd:
Udp_Internal_BLVPCTestDevice_Process(data, len, ip, port);
break;
default:
Dbg_Println(DBG_BIT_NET_STATUS_bit,"UDP CMD %X",data[CMD_OFFSET]);
break;