refactor(rs485): 拆分通讯单元参数和数据结构体
调整RS485配置结构体,将原CUData拆分为CUPara和CUData,修正多处引用的字段名,同时修复CommUnitAnalyze中的数据拷贝偏移和包长度计算错误
This commit is contained in:
@@ -575,11 +575,13 @@ int CommUnitAnalyze(GateWayPara GateWay, uint8_t *rData, uint16_t rLen, SendData
|
||||
MegData[0] = PayLoadLen & 0x00ff;;
|
||||
MegData[1] = (PayLoadLen >> 8) & 0x00ff;
|
||||
MegData[2] = NET_COMM_CMD_ADD_UNIT;
|
||||
MegData[3] = (GateWay->ConfigPara.CommUnitArray[i].SensorN) & 0x00ff;;
|
||||
MegData[4] = (GateWay->ConfigPara.CommUnitArray[i].SensorN >> 8) & 0x00ff;
|
||||
for(uint8_t i = 0; i < GateWay->ConfigPara.CommUnitArray[i].SensorN; i++)
|
||||
{
|
||||
memcpy(&MegData[3], GateWay->ConfigPara.CommUnitArray[i].Mac[i], 6);
|
||||
memcpy(&MegData[5], GateWay->ConfigPara.CommUnitArray[i].Mac[i], 6);
|
||||
}
|
||||
CatOneEthSendQueue(MegData, PayLoadLen+3);
|
||||
CatOneEthSendQueue(MegData, PayLoadLen+5);
|
||||
rt_free(MegData);
|
||||
}
|
||||
return 0xff;
|
||||
@@ -1011,14 +1013,14 @@ int Cat1EthRevCallBack(GateWayPara GateWay, uint8_t *rData, uint16_t rLen)
|
||||
if(GateWay->ConfigPara.Rs485Ch1.Enable == true) { //内部通讯单元处理
|
||||
if(GateWay->ConfigPara.Rs485Ch1.CommUnitEnable == true) {
|
||||
SensorCnt++;
|
||||
memcpy(&MegData[sLen], GateWay->ConfigPara.Rs485Ch1.CUData.Para.Mac[0], 6);
|
||||
memcpy(&MegData[sLen], GateWay->ConfigPara.Rs485Ch1.CUPara.Para.Mac[0], 6);
|
||||
sLen += 6;
|
||||
}
|
||||
}
|
||||
if(GateWay->ConfigPara.Rs485Ch2.Enable == true) {
|
||||
if(GateWay->ConfigPara.Rs485Ch2.CommUnitEnable == true) {
|
||||
SensorCnt++;
|
||||
memcpy(&MegData[sLen], GateWay->ConfigPara.Rs485Ch2.CUData.Para.Mac[0], 6);
|
||||
memcpy(&MegData[sLen], GateWay->ConfigPara.Rs485Ch2.CUPara.Para.Mac[0], 6);
|
||||
sLen += 6;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user