[9.2] 9.2首版首轮代码,基线版本

This commit is contained in:
lh
2026-05-22 15:09:42 +08:00
parent 875dfd5d4b
commit 4da5ea076d
7 changed files with 238 additions and 131 deletions
+1 -1
View File
@@ -239,7 +239,7 @@ void APP_API_Data_Init()
.M_InnetSafe_Enable = 0x55, /**< 内网安全通信功能开关 */ .M_InnetSafe_Enable = 0x55, /**< 内网安全通信功能开关 */
.M_InnetRaw_Enable = 0xAA, /**< 内网透传通信功能开关 */ .M_InnetRaw_Enable = 0xAA, /**< 内网透传通信功能开关 */
.M_OutnetSafe_Enable = 0x55,/**< 外网安全通信功能开关 */ .M_OutnetSafe_Enable = 0x55,/**< 外网安全通信功能开关 */
.M_OutnetRaw_Enable = 0xAA, /**< 外网透传通信功能开关 */ .M_OutnetRaw_Enable = 0x55, /**< 外网透传通信功能开关 */
.M_CpuUsageGet_Enable = 0xAA,/**< 获取cpu使用率功能开关 */ .M_CpuUsageGet_Enable = 0xAA,/**< 获取cpu使用率功能开关 */
.M_RemoteUpdate_Enable = 0x55,/**< 远程部署内网安全通信功能开关 */ .M_RemoteUpdate_Enable = 0x55,/**< 远程部署内网安全通信功能开关 */
.ID_Maintenance = DEVICE_TYPE_AIM, .ID_Maintenance = DEVICE_TYPE_AIM,
+1 -1
View File
@@ -84,7 +84,7 @@ int eeprom_read_data(int fd, uint32_t regaddr, uint8_t rx_buf[],uint32_t len,uin
if(ret > 0) if(ret > 0)
{ {
perror("eeprom read i2c error ");
} }
else else
{ {
+1 -1
View File
@@ -40,7 +40,7 @@
CM_CHAR FS_FILE_PATH[100]; CM_CHAR FS_FILE_PATH[100];
/** 平台软件版本号 */ /** 平台软件版本号 */
const CM_UINT8 MSCP_SW_VERION[4] = { 93u, 1u, 1u, 51u }; const CM_UINT8 MSCP_SW_VERION[4] = { 93u, 1u, 1u, 52u };
/** 驱动软件版本号 */ /** 驱动软件版本号 */
CM_UINT8 MSCP_DRV_VERION[4] = {0}; CM_UINT8 MSCP_DRV_VERION[4] = {0};
/** 与维护一体机接口文档版本号(接口文档发生改变时升级版本号) */ /** 与维护一体机接口文档版本号(接口文档发生改变时升级版本号) */
+58 -39
View File
@@ -570,8 +570,6 @@ void PFM_InputProc(void)
s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_mine_len); s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_mine_len);
PFM_CFC_Check(43); PFM_CFC_Check(43);
s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_peer_len); s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_peer_len);
(void)CM_Memcpy(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].buf_size, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].rmt_mine_len);
(void)CM_Memcpy(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].buf_size, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].rmt_peer_len);
} }
else else
{ {
@@ -605,8 +603,7 @@ void PFM_InputProc(void)
s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_peer_len); s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_peer_len);
PFM_CFC_Check(43); PFM_CFC_Check(43);
s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_mine_len); s_RxOutnetToSFM(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].rmt_mine_len);
(void)CM_Memcpy(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].buf_size, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_rmt_mine_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].rmt_mine_len);
(void)CM_Memcpy(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].buf_size, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].p_rmt_peer_buf, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetRaw].rmt_peer_len);
} }
else else
{ {
@@ -1021,44 +1018,67 @@ CM_UINT32 PFM_OutnetRaw_AppRecv(OUT CM_UINT8* rxBuf, IN CM_UINT32 rxSize)
CM_UINT32 msgLen = 0u; /* 消息长度 */ CM_UINT32 msgLen = 0u; /* 消息长度 */
CM_UINT32 rt = 0u; /* 函数返回值 */ CM_UINT32 rt = 0u; /* 函数返回值 */
ENUM_CM_RETURN ret = ENUM_CM_FALSE; ENUM_CM_RETURN ret = ENUM_CM_FALSE;
ENUM_2x2_STATE_T state_2x2 = SFM_2x2_GetLastPartner2x2State(); /*获取上周期对系热备状态*/
g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_index_log++;/*记录应用调用次数,每周期清零*/ g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_index_log++;/*记录应用调用次数,每周期清零*/
CM_UINT8 *p_Mine_Buf = NULL;
CM_UINT32 Mine_len = 0u;
CM_UINT8 *p_Peer_Buf = NULL;
CM_UINT32 Peer_len = 0u;
CM_MUTEX_T *p_mutex = NULL;
/*根据主备状态分配缓冲区 */
if(ENUM_2x2_MASTER != state_2x2)
{
p_Mine_Buf = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_mine_buf;
Mine_len = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].mine_len;
p_Peer_Buf = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_peer_buf;
Peer_len = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].peer_len;
p_mutex = &g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex;
}
else
{
p_Mine_Buf = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_rmt_mine_buf;
Mine_len = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].rmt_mine_len;
p_Peer_Buf = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_rmt_peer_buf;
Peer_len = g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].rmt_peer_len;
p_mutex = &g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex;
}
/*- 入参检查 */ /*- 入参检查 */
CM_ASSERT(NULL != rxBuf, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_21); CM_ASSERT(((NULL != rxBuf) && (NULL != p_Mine_Buf) && (NULL != p_Peer_Buf) && (NULL != p_mutex)) , IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_21);
/*- 自己是否是CPU1 */ /*- 自己是否是CPU1 */
if (1u == g_PFM_Cfg.CPU_ID) if (1u == g_PFM_Cfg.CPU_ID)
{ {
/*- 本机通道是否有数据未取走 */ /*- 本机通道是否有数据未取走 */
if ((s_OutnetRaw_Mine_AppReadIndex + 4u) <= (CM_UINT32)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].mine_len)) if ((s_OutnetRaw_Mine_AppReadIndex + 4u) <= (CM_UINT32)Mine_len)
{ {
msgLen = CM_LongFromChar(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_mine_buf + s_OutnetRaw_Mine_AppReadIndex); msgLen = CM_LongFromChar(p_Mine_Buf + s_OutnetRaw_Mine_AppReadIndex);
CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_1); CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_1);
CM_RE_ASSERT((s_OutnetRaw_Mine_AppReadIndex + 4u + msgLen) <= (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].mine_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_2); CM_RE_ASSERT((s_OutnetRaw_Mine_AppReadIndex + 4u + msgLen) <= (CM_UINT32)Mine_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_2);
CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_3); CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_3);
rt = msgLen; rt = msgLen;
/*- 锁定接收通道 */ /*- 锁定接收通道 */
ret = CM_Mutex_Lock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Lock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_4); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_4);
(void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_mine_buf + s_OutnetRaw_Mine_AppReadIndex + 4u), (CM_SIZE_T)(msgLen)); (void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(p_Mine_Buf + s_OutnetRaw_Mine_AppReadIndex + 4u), (CM_SIZE_T)(msgLen));
/*- 解锁接收通道 */ /*- 解锁接收通道 */
ret = CM_Mutex_Unlock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Unlock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_5); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_5);
s_OutnetRaw_Mine_AppReadIndex += (CM_UINT32)msgLen + 4u; s_OutnetRaw_Mine_AppReadIndex += (CM_UINT32)msgLen + 4u;
} }
/*- 邻机通道是否有数据未取走 */ /*- 邻机通道是否有数据未取走 */
else if ((s_OutnetRaw_Peer_AppReadIndex + 4u) < (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].peer_len) else if ((s_OutnetRaw_Peer_AppReadIndex + 4u) < (CM_UINT32)Peer_len)
{ {
msgLen = CM_LongFromChar(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_peer_buf + s_OutnetRaw_Peer_AppReadIndex); msgLen = CM_LongFromChar(p_Peer_Buf + s_OutnetRaw_Peer_AppReadIndex);
CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_6); CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_6);
CM_RE_ASSERT((s_OutnetRaw_Peer_AppReadIndex + 4u + msgLen) <= (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].peer_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_7); CM_RE_ASSERT((s_OutnetRaw_Peer_AppReadIndex + 4u + msgLen) <= (CM_UINT32)Peer_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_7);
CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_8); CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_8);
rt = msgLen; rt = msgLen;
/*- 锁定接收通道 */ /*- 锁定接收通道 */
ret = CM_Mutex_Lock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Lock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_9); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_9);
(void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_peer_buf + s_OutnetRaw_Peer_AppReadIndex + 4u), (CM_SIZE_T)(msgLen)); (void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(p_Peer_Buf + s_OutnetRaw_Peer_AppReadIndex + 4u), (CM_SIZE_T)(msgLen));
/*- 解锁接收通道 */ /*- 解锁接收通道 */
ret = CM_Mutex_Unlock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Unlock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_10); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_10);
s_OutnetRaw_Peer_AppReadIndex += (CM_UINT32)msgLen + 4u; s_OutnetRaw_Peer_AppReadIndex += (CM_UINT32)msgLen + 4u;
} }
else else
@@ -1071,38 +1091,38 @@ CM_UINT32 PFM_OutnetRaw_AppRecv(OUT CM_UINT8* rxBuf, IN CM_UINT32 rxSize)
{ {
/*- 邻机通道是否有数据未取走 */ /*- 邻机通道是否有数据未取走 */
if ((s_OutnetRaw_Peer_AppReadIndex + 4u) < (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].peer_len) if ((s_OutnetRaw_Peer_AppReadIndex + 4u) < (CM_UINT32)Peer_len)
{ {
msgLen = CM_LongFromChar(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_peer_buf + s_OutnetRaw_Peer_AppReadIndex); msgLen = CM_LongFromChar(p_Peer_Buf + s_OutnetRaw_Peer_AppReadIndex);
CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_11); CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_11);
CM_RE_ASSERT((s_OutnetRaw_Peer_AppReadIndex + 4u + msgLen) <= (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].peer_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_12); CM_RE_ASSERT((s_OutnetRaw_Peer_AppReadIndex + 4u + msgLen) <= (CM_UINT32)Peer_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_12);
CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_13); CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_13);
rt = msgLen; rt = msgLen;
/*- 锁定接收通道 */ /*- 锁定接收通道 */
ret = CM_Mutex_Lock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Lock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_14); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_14);
(void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_peer_buf + s_OutnetRaw_Peer_AppReadIndex + 4u), (CM_SIZE_T)(msgLen)); (void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(p_Peer_Buf + s_OutnetRaw_Peer_AppReadIndex + 4u), (CM_SIZE_T)(msgLen));
/*- 解锁接收通道 */ /*- 解锁接收通道 */
ret = CM_Mutex_Unlock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Unlock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_15); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_15);
s_OutnetRaw_Peer_AppReadIndex += (CM_UINT32)msgLen + 4u; s_OutnetRaw_Peer_AppReadIndex += (CM_UINT32)msgLen + 4u;
} }
/*- 本机通道是否有数据未取走 */ /*- 本机通道是否有数据未取走 */
else if ((s_OutnetRaw_Mine_AppReadIndex + 4u) <= (CM_UINT32)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].mine_len)) else if ((s_OutnetRaw_Mine_AppReadIndex + 4u) <= (CM_UINT32)Mine_len)
{ {
msgLen = CM_LongFromChar(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_mine_buf + s_OutnetRaw_Mine_AppReadIndex); msgLen = CM_LongFromChar(p_Mine_Buf + s_OutnetRaw_Mine_AppReadIndex);
CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_16); CM_RE_ASSERT(msgLen > 0u, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_16);
CM_RE_ASSERT((s_OutnetRaw_Mine_AppReadIndex + 4u + msgLen) <= (CM_UINT32)g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].mine_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_17); CM_RE_ASSERT((s_OutnetRaw_Mine_AppReadIndex + 4u + msgLen) <= (CM_UINT32)Mine_len, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_17);
CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_18); CM_RE_ASSERT((msgLen) <= rxSize, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_18);
rt = msgLen; rt = msgLen;
/*- 锁定接收通道 */ /*- 锁定接收通道 */
ret = CM_Mutex_Lock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Lock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_19); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_19);
(void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].p_mine_buf + s_OutnetRaw_Mine_AppReadIndex + 4u), (CM_SIZE_T)(msgLen)); (void)CM_Memcpy((void*)rxBuf, (CM_SIZE_T)rxSize, (void*)(p_Mine_Buf + s_OutnetRaw_Mine_AppReadIndex + 4u), (CM_SIZE_T)(msgLen));
/*- 解锁接收通道 */ /*- 解锁接收通道 */
ret = CM_Mutex_Unlock(g_2x2oo2_rx[s_2x2oo2_app][s_2x2oo2_OutnetRaw].app_mutex); ret = CM_Mutex_Unlock(*p_mutex);
CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_20); CM_RE_ASSERT(ENUM_CM_TRUE == ret, IN_OUT_MODE, DARK_FAULT_CODE_FUN_ORDER_8, TSCP_DARK_ASSERT_20);
s_OutnetRaw_Mine_AppReadIndex += (CM_UINT32)msgLen + 4u; s_OutnetRaw_Mine_AppReadIndex += (CM_UINT32)msgLen + 4u;
} }
@@ -1110,8 +1130,7 @@ CM_UINT32 PFM_OutnetRaw_AppRecv(OUT CM_UINT8* rxBuf, IN CM_UINT32 rxSize)
{ {
/*- 双网都取完了,返回true */ /*- 双网都取完了,返回true */
} }
}
}
/*- 返回接收结果 */ /*- 返回接收结果 */
/* MSCP_LOG_MSG("PFM_OutnetRaw_AppRecv msgLen =%d\n",msgLen); */ /* MSCP_LOG_MSG("PFM_OutnetRaw_AppRecv msgLen =%d\n",msgLen); */
/* MSCP_LOG_MSG("PFM_OutnetRaw_AppRecv rt =%d\n",rt); */ /* MSCP_LOG_MSG("PFM_OutnetRaw_AppRecv rt =%d\n",rt); */
+2 -2
View File
@@ -1178,7 +1178,7 @@ ENUM_CM_RETURN PFM_DevStateSend(CM_UINT8 ifCyc)
txLen = offset - 2u; txLen = offset - 2u;
CM_ShortToChar(txLen, &txBuf[0]); CM_ShortToChar(txLen, &txBuf[0]);
ret = Prtcl_InnetSafe_RmSend(dstName, txBuf, offset); ret = Prtcl_InnetSafe_RmSend(dstName, txBuf, offset);
MSCP_LOG_MSG("offset = %d\n",offset); MSCP_LOG_MSG("offset = %d send ret =%d\n",offset, ret);
} }
else else
{ {
@@ -1192,7 +1192,7 @@ ENUM_CM_RETURN PFM_DevStateSend(CM_UINT8 ifCyc)
rxLen = offset - 2u; rxLen = offset - 2u;
CM_ShortToChar(rxLen, &rxBuf[0]); CM_ShortToChar(rxLen, &rxBuf[0]);
ret = Prtcl_InnetSafe_RmSend(dstName, rxBuf, offset); ret = Prtcl_InnetSafe_RmSend(dstName, rxBuf, offset);
MSCP_LOG_MSG("offset = %d\n",offset); MSCP_LOG_MSG("offset = %d send ret = %d\n",offset, ret);
} }
} }
else else
+170 -85
View File
@@ -119,6 +119,45 @@ static void SFM_2x2_Input2oo2Exchange(STRU_2X2_CTRL_T *peerCtrl);
/* 判断2x422以及以太网的通信状况并且填写暗文日志 */ /* 判断2x422以及以太网的通信状况并且填写暗文日志 */
static void SFM_2x2_Eth422StateDark(void); static void SFM_2x2_Eth422StateDark(void);
/* 输入周期号同步函数 */
static void SFM_2x2_InputSysCycSyn(STRU_2X2_CTRL_T *peerCtrl){
if(s_2x2_Ctrl.RxInputSysCyc > peerCtrl->RxInputSysCyc)
{
/*- 更新临机输入同步周期号*/
peerCtrl->RxInputSysCyc = s_2x2_Ctrl.RxInputSysCyc;
}
else if(s_2x2_Ctrl.RxInputSysCyc < peerCtrl->RxInputSysCyc)
{
/*- 更新本机输入同步周期号*/
s_2x2_Ctrl.RxInputSysCyc = peerCtrl->RxInputSysCyc;
}
else
{
/*- 周期号相同 不做修改*/;
}
}
/* 跟随数据同步*/
static CM_INT32 SFM_2x2_BaseFollowSyn(STRU_2X2_CTRL_T *peerCtrl){
CM_INT32 ret = 0;
if (s_2x2_Ctrl.RxBaseFollowSysCyc > peerCtrl->RxBaseFollowSysCyc)
{
/*需要向邻机发送跟随数据*/
ret = SFM_2oo2_Exchange_Currency(g_RxBaseFollow, g_RxBaseFollow_len, g_RxBaseFollow, (CM_UINT32)0, ENUM_2oo2_INPUT_EX);/*通过输入"0"防止g_RxFollow被修改*/
}
else if (s_2x2_Ctrl.RxBaseFollowSysCyc < peerCtrl->RxBaseFollowSysCyc)
{
/*需要从邻机接收跟随数据*/
g_RxBaseFollow_len = SFM_2oo2_Exchange_Currency(g_RxBaseFollow, (CM_INT32)0, g_RxBaseFollow, (CM_UINT32)sizeof(g_RxBaseFollow), ENUM_2oo2_INPUT_EX);/*通过输入"0"实现只收不发*/
s_2x2_Ctrl.RxBaseFollowSysCyc = peerCtrl->RxBaseFollowSysCyc;
}
else
{
/* 无需处理 */
}
return ret;
}
/** /**
* @brief 切系按钮监督 * @brief 切系按钮监督
* @return 无 * @return 无
@@ -2237,41 +2276,16 @@ void SFM_2x2_InputProc(void)
/*- @alias 系内同步Rx输入信息状态,用来过滤老的输入数据,并且将新的数据进行2oo2交换*/ /*- @alias 系内同步Rx输入信息状态,用来过滤老的输入数据,并且将新的数据进行2oo2交换*/
SFM_2x2_Input2oo2Exchange(&peerCtrl); SFM_2x2_Input2oo2Exchange(&peerCtrl);
/*- 跟新输入同步周期号*/ /*- 跟新输入同步周期号*/
if(s_2x2_Ctrl.RxInputSysCyc > peerCtrl.RxInputSysCyc) SFM_2x2_InputSysCycSyn(&peerCtrl);
{
/*- 更新临机输入同步周期号*/
peerCtrl.RxInputSysCyc = s_2x2_Ctrl.RxInputSysCyc;
}
else if(s_2x2_Ctrl.RxInputSysCyc < peerCtrl.RxInputSysCyc)
{
/*- 更新本机输入同步周期号*/
s_2x2_Ctrl.RxInputSysCyc = peerCtrl.RxInputSysCyc;
}
else
{
/*- 周期号相同 不做修改*/;
}
/*- 更新控制流状态 */ /*- 更新控制流状态 */
PFM_CFC_Check(37); PFM_CFC_Check(37);
/* (这个数据量很大,只在必要时同步) */ /* (这个数据量很大,只在必要时同步) */
/*- @alias 系内同步Rx跟随数据*/ /*- @alias 系内同步Rx跟随数据*/
if (s_2x2_Ctrl.RxBaseFollowSysCyc > peerCtrl.RxBaseFollowSysCyc) ret = SFM_2x2_BaseFollowSyn(&peerCtrl);
{ CM_RE_ASSERT(0 == ret, SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_7, TSCP_DARK_ASSERT_1);
/*需要向邻机发送跟随数据*/
ret = SFM_2oo2_Exchange_Currency(g_RxBaseFollow, g_RxBaseFollow_len, g_RxBaseFollow, (CM_UINT32)0, ENUM_2oo2_INPUT_EX);/*通过输入"0"防止g_RxFollow被修改*/
CM_RE_ASSERT(0 == ret, SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_7, TSCP_DARK_ASSERT_1);
}
else if (s_2x2_Ctrl.RxBaseFollowSysCyc < peerCtrl.RxBaseFollowSysCyc)
{
/*需要从邻机接收跟随数据*/
g_RxBaseFollow_len = SFM_2oo2_Exchange_Currency(g_RxBaseFollow, (CM_INT32)0, g_RxBaseFollow, (CM_UINT32)sizeof(g_RxBaseFollow), ENUM_2oo2_INPUT_EX);/*通过输入"0"实现只收不发*/
s_2x2_Ctrl.RxBaseFollowSysCyc = peerCtrl.RxBaseFollowSysCyc;
}
else
{
/* 无需处理 */
}
} }
else else
{ {
@@ -2995,71 +3009,142 @@ static void SFM_2x2_Input2oo2Exchange(STRU_2X2_CTRL_T *peerCtrl)
CM_UINT32 i = 0u; CM_UINT32 i = 0u;
CM_INT32 len = 0; CM_INT32 len = 0;
/*- @alias 系内交换输入数据 */ if (g_PFM_Cfg.CPU_ID == 1u)
for (i = 1u; i <= g_2x2oo2_data_num; i++)
{ {
if(CM_TRUE == g_2x2oo2_rx[g_2x2oo2_base][i].b_2x2_Enable) /*- @alias 系内交换输入数据 */
for (i = 1u; i <= g_2x2oo2_data_num; i++)
{ {
MSCP_LOG_MSG("SFM_2x2_Input2oo2Exchange-CPU1[%d]:[M0:%d,P1:%d][M1:%d,P0:%d]\r\n",i,s_2x2_Ctrl.InPutDoublePassLen[i][0],peerCtrl->InPutDoublePassLen[i][1],s_2x2_Ctrl.InPutDoublePassLen[i][1],peerCtrl->InPutDoublePassLen[i][0]); if(CM_TRUE == g_2x2oo2_rx[g_2x2oo2_base][i].b_2x2_Enable)
/*本机数据交互*/
if(s_2x2_Ctrl.InPutDoublePassLen[i][0] < peerCtrl->InPutDoublePassLen[i][1])
{ {
/*接收对方数据,自己发送长度为0*/ MSCP_LOG_MSG("SFM_2x2_Input2oo2Exchange-CPU1[%d]:[M0:%d,P1:%d][M1:%d,P0:%d]\r\n",i,s_2x2_Ctrl.InPutDoublePassLen[i][0],peerCtrl->InPutDoublePassLen[i][1],s_2x2_Ctrl.InPutDoublePassLen[i][1],peerCtrl->InPutDoublePassLen[i][0]);
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len = SFM_2oo2_Exchange_Currency( /*本机数据交互*/
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf, if(s_2x2_Ctrl.InPutDoublePassLen[i][0] < peerCtrl->InPutDoublePassLen[i][1])
0, {
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf, /*接收对方数据,自己发送长度为0*/
g_2x2oo2_rx[g_2x2oo2_base][i].buf_size, g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len = SFM_2oo2_Exchange_Currency(
ENUM_2oo2_INPUT_EX); g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
} 0,
else if(s_2x2_Ctrl.InPutDoublePassLen[i][0] > peerCtrl->InPutDoublePassLen[i][1]) g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
{ g_2x2oo2_rx[g_2x2oo2_base][i].buf_size,
/*- 向邻机发送数据,本机不接收,传入接收长度为0*/ ENUM_2oo2_INPUT_EX);
len = SFM_2oo2_Exchange_Currency( }
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf, else if(s_2x2_Ctrl.InPutDoublePassLen[i][0] > peerCtrl->InPutDoublePassLen[i][1])
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len, {
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf, /*- 向邻机发送数据,本机不接收,传入接收长度为0*/
0, len = SFM_2oo2_Exchange_Currency(
ENUM_2oo2_INPUT_EX); g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1); g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
0,
ENUM_2oo2_INPUT_EX);
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1);
}
else
{
/*等于不交互,包括0*/
}
/*邻机数据交互*/
if(s_2x2_Ctrl.InPutDoublePassLen[i][1] < peerCtrl->InPutDoublePassLen[i][0])
{
/*接收对方数据,自己发送长度为0*/
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].buf_size,
ENUM_2oo2_INPUT_EX);
}
else if(s_2x2_Ctrl.InPutDoublePassLen[i][1] > peerCtrl->InPutDoublePassLen[i][0])
{
/*- 向邻机发送数据,本机不接收,传入接收长度为0*/
len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
ENUM_2oo2_INPUT_EX);
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1);
}
else
{
/*等于不交互,包括0*/
}
} }
else else
{ {
/*等于不交互,包括0*/
}
/*邻机数据交互*/
if(s_2x2_Ctrl.InPutDoublePassLen[i][1] < peerCtrl->InPutDoublePassLen[i][0])
{
/*接收对方数据,自己发送长度为0*/
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].buf_size,
ENUM_2oo2_INPUT_EX);
}
else if(s_2x2_Ctrl.InPutDoublePassLen[i][1] > peerCtrl->InPutDoublePassLen[i][0])
{
/*- 向邻机发送数据,本机不接收,传入接收长度为0*/
len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
ENUM_2oo2_INPUT_EX);
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1);
}
else
{
/*等于不交互,包括0*/
}
}
else
{
}
} }
} }
else
{
/*- @alias 系内交换输入数据 */
for (i = 1u; i <= g_2x2oo2_data_num; i++)
{
if(CM_TRUE == g_2x2oo2_rx[g_2x2oo2_base][i].b_2x2_Enable)
{
MSCP_LOG_MSG("SFM_2x2_Input2oo2Exchange-CPU2[%d]:[M1:%d,P0:%d][M0:%d,P1:%d]\r\n",i,s_2x2_Ctrl.InPutDoublePassLen[i][1],peerCtrl->InPutDoublePassLen[i][0],s_2x2_Ctrl.InPutDoublePassLen[i][0],peerCtrl->InPutDoublePassLen[i][1]);
/*邻机数据交互*/
if(peerCtrl->InPutDoublePassLen[i][0] < s_2x2_Ctrl.InPutDoublePassLen[i][1])
{
/*- 向邻机发送数据,本机不接收,传入接收长度为0*/
len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
ENUM_2oo2_INPUT_EX);
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1);
}
else if(peerCtrl->InPutDoublePassLen[i][0] > s_2x2_Ctrl.InPutDoublePassLen[i][1])
{
/*接收对方数据,自己发送长度为0*/
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_peer_len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
0,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_peer_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].buf_size,
ENUM_2oo2_INPUT_EX);
}
else
{
/*等于不交互,包括0*/
}
/*本机数据交互*/
if(peerCtrl->InPutDoublePassLen[i][1] < s_2x2_Ctrl.InPutDoublePassLen[i][0])
{
/*- 向邻机发送数据,本机不接收,传入接收长度为0*/
len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
0,
ENUM_2oo2_INPUT_EX);
CM_RE_ASSERT((0 == len), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_14, TSCP_DARK_ASSERT_1);
}
else if(peerCtrl->InPutDoublePassLen[i][1] > s_2x2_Ctrl.InPutDoublePassLen[i][0])
{
/*接收对方数据,自己发送长度为0*/
g_2x2oo2_rx[g_2x2oo2_base][i].rmt_mine_len = SFM_2oo2_Exchange_Currency(
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
0,
g_2x2oo2_rx[g_2x2oo2_base][i].p_rmt_mine_buf,
g_2x2oo2_rx[g_2x2oo2_base][i].buf_size,
ENUM_2oo2_INPUT_EX);
}
else
{
/*等于不交互,包括0*/
}
}
else
{
}
}
}
/*- 清空所有通道长度记录*/ /*- 清空所有通道长度记录*/
(void)CM_Memset(s_2x2_Ctrl.InPutDoublePassLen,0,sizeof(s_2x2_Ctrl.InPutDoublePassLen),sizeof(s_2x2_Ctrl.InPutDoublePassLen)); (void)CM_Memset(s_2x2_Ctrl.InPutDoublePassLen,0,sizeof(s_2x2_Ctrl.InPutDoublePassLen),sizeof(s_2x2_Ctrl.InPutDoublePassLen));
/*记录暗文日志*/ /*记录暗文日志*/
+5 -2
View File
@@ -1506,6 +1506,7 @@ void SFM_TxInnetSafeRm(IN CM_UINT8 Buf[], IN CM_UINT32 Len)
CM_UINT16 msgLen = 0u; /* 外网输出帧长度 */ CM_UINT16 msgLen = 0u; /* 外网输出帧长度 */
CM_UINT16 dstID = 0u; /* 目的设备ID */ CM_UINT16 dstID = 0u; /* 目的设备ID */
STRU_PFM_INNET_CFG_T* pCom = NULL;/* 通信配置 */ STRU_PFM_INNET_CFG_T* pCom = NULL;/* 通信配置 */
ENUM_CM_RETURN ret = ENUM_CM_FALSE;
if ((0x55u == g_PFM_Cfg.M_RemoteUpdate_Enable) &&(0x00u != g_Maintenance_Id)) if ((0x55u == g_PFM_Cfg.M_RemoteUpdate_Enable) &&(0x00u != g_Maintenance_Id))
{ {
@@ -1549,13 +1550,14 @@ void SFM_TxInnetSafeRm(IN CM_UINT8 Buf[], IN CM_UINT32 Len)
if (1u == g_PFM_Cfg.CPU_ID) if (1u == g_PFM_Cfg.CPU_ID)
{ {
/*- 从绿网通道发送 */ /*- 从绿网通道发送 */
(void)CFM_InnetRemoteUpdate_Send(&Buf[i + 7u], (CM_INT32)CM_UNSIGNED_SHORT_EXP(msgLen - 5u), pCom->IP_G, pCom->Port_Safe_G); /* parasoft-suppress MISRA2004-17_1 "指针运算提高代码执行效率" */ ret = CFM_InnetRemoteUpdate_Send(&Buf[i + 7u], (CM_INT32)CM_UNSIGNED_SHORT_EXP(msgLen - 5u), pCom->IP_G, pCom->Port_Safe_G); /* parasoft-suppress MISRA2004-17_1 "指针运算提高代码执行效率" */
} }
else else
{ {
/*- 从紫网通道发送 */ /*- 从紫网通道发送 */
(void)CFM_InnetRemoteUpdate_Send(&Buf[i + 7u], (CM_INT32)CM_UNSIGNED_SHORT_EXP(msgLen - 5u), pCom->IP_P, pCom->Port_Safe_P); /* parasoft-suppress MISRA2004-17_1 "指针运算提高代码执行效率" */ ret = CFM_InnetRemoteUpdate_Send(&Buf[i + 7u], (CM_INT32)CM_UNSIGNED_SHORT_EXP(msgLen - 5u), pCom->IP_P, pCom->Port_Safe_P); /* parasoft-suppress MISRA2004-17_1 "指针运算提高代码执行效率" */
} }
MSCP_LOG_MSG("plafm send innetsafeRm data ret = %#x\n",ret);
} }
else else
{ {
@@ -1564,6 +1566,7 @@ void SFM_TxInnetSafeRm(IN CM_UINT8 Buf[], IN CM_UINT32 Len)
} }
else else
{ {
MSCP_LOG_MSG("Get dest IP and port fial!\n");
/*- 无处理*/ /*- 无处理*/
} }
i += (CM_UINT32)CM_UNSIGNED_SHORT_EXP(msgLen + 2u); i += (CM_UINT32)CM_UNSIGNED_SHORT_EXP(msgLen + 2u);