|
@@ -1,7 +1,6 @@
|
|
|
#include "perception.h"
|
|
|
#include "../common/message.h"
|
|
|
#include "../common/canmsgobdmsgid.h"
|
|
|
-#include "../canbus/candatatype.h"
|
|
|
#include "perception/aesMsg.h"
|
|
|
#include "perception/slMsg.h"
|
|
|
#include "perception/seMsg.h"
|
|
@@ -14,6 +13,8 @@
|
|
|
namespace robot {
|
|
|
namespace perception {
|
|
|
|
|
|
+#define CAN_MSG_LEN 8
|
|
|
+
|
|
|
|
|
|
std::string Perception::Name() const { return "perception"; }
|
|
|
|
|
@@ -71,69 +72,69 @@ void Perception::Stop()
|
|
|
|
|
|
void Perception::CanTopicCallback(const canbus::canMsg::ConstPtr& msg)
|
|
|
{
|
|
|
- LOG(INFO) << " Msg CanData :" << "ID:" << msg->id << ",Data:" << msg->data;
|
|
|
-
|
|
|
+ unsigned char ucCanMsgSrc[8] = { 0 };
|
|
|
+ HexStrToByte(msg->data.c_str(), ucCanMsgSrc, 16);
|
|
|
+ CharReverse(ucCanMsgSrc,8);
|
|
|
switch (msg->id) {
|
|
|
-
|
|
|
case robot::common::ActuatorEnableStatus:
|
|
|
{
|
|
|
- PublishState_6E5(msg);
|
|
|
+ PublishState_6E5(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::RSysInfoBack2:
|
|
|
{
|
|
|
- PublishState_6ED(msg);
|
|
|
+ PublishState_6ED(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::SysLearnBack:
|
|
|
{
|
|
|
- PublishState_6EE(msg);
|
|
|
+ PublishState_6EE(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::SysWarnErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D1(msg);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D1(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::AccErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D2_6(msg, 2, bus_pub_6D2);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D2_6(ucCanMsgSrc, 2, bus_pub_6D2);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::BrkErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D2_6(msg, 3, bus_pub_6D3);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D2_6(ucCanMsgSrc, 3, bus_pub_6D3);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::XsftErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D2_6(msg, 4, bus_pub_6D4);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D2_6(ucCanMsgSrc, 4, bus_pub_6D4);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::YsftErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D2_6(msg, 5, bus_pub_6D5);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D2_6(ucCanMsgSrc, 5, bus_pub_6D5);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::StrErr:
|
|
|
{
|
|
|
- SoftStopControl();
|
|
|
- PublishState_6D2_6(msg, 6, bus_pub_6D6);
|
|
|
+ //SoftStopControl();
|
|
|
+ PublishState_6D2_6(ucCanMsgSrc, 6, bus_pub_6D6);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::EstopInfo:
|
|
|
{
|
|
|
- PublishState_2E0(msg);
|
|
|
+ PublishState_2E0(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
case robot::common::EstopErr:
|
|
|
{
|
|
|
- PublishState_2E1(msg);
|
|
|
+ PublishState_2E1(ucCanMsgSrc);
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
@@ -141,19 +142,17 @@ void Perception::CanTopicCallback(const canbus::canMsg::ConstPtr& msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_6E5(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_6E5(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_STATE_OUT_6E5 s_state_6E5;
|
|
|
-
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_6E5))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_6E5);
|
|
|
+// int copySize;
|
|
|
+// if(msg.size() < sizeof(s_state_6E5))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_6E5);
|
|
|
|
|
|
robot::canbusSpace::T_STATE_OUT_6E5 state_6E5;
|
|
|
memset(&state_6E5, 0 ,sizeof(state_6E5));
|
|
|
- memcpy(&state_6E5, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_6E5, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_6E5.uiAccClchCtrStat != s_state_6E5.uiAccClchCtrStat || state_6E5.uiAccMotEnStat != s_state_6E5.uiAccMotEnStat ||
|
|
|
state_6E5.uiBrkHVFFStat != s_state_6E5.uiBrkHVFFStat || state_6E5.uiBrkMotEnStat != s_state_6E5.uiBrkMotEnStat ||
|
|
@@ -162,9 +161,9 @@ bool Perception::PublishState_6E5(const canbus::canMsg::ConstPtr &msg)
|
|
|
state_6E5.uiYSftMotEnStat != s_state_6E5.uiYSftMotEnStat)
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_6E5, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_6E5))
|
|
|
- memset((char*)&s_state_6E5 + msg->data.size(), 0, sizeof(s_state_6E5) - copySize);
|
|
|
+ memcpy(&s_state_6E5, msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_6E5))
|
|
|
+// memset((char*)&s_state_6E5 + msg->data.size(), 0, sizeof(s_state_6E5) - copySize);
|
|
|
if(bus_pub_6E5)
|
|
|
{
|
|
|
::perception::aesMsg msg;
|
|
@@ -193,19 +192,19 @@ bool Perception::PublishState_6E5(const canbus::canMsg::ConstPtr &msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_6EE(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_6EE(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_STATE_OUT_6EE s_state_6EE;
|
|
|
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_6EE))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_6EE);
|
|
|
+
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_6EE))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_6EE);
|
|
|
|
|
|
robot::canbusSpace::T_STATE_OUT_6EE state_6EE;
|
|
|
memset(&state_6EE, 0 ,sizeof(state_6EE));
|
|
|
- memcpy(&state_6EE, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_6EE, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_6EE.uiAcc0LrnStat != s_state_6EE.uiAcc0LrnStat || state_6EE.uiAccLrnStat != s_state_6EE.uiAccLrnStat ||
|
|
|
state_6EE.uiAccMaxLrnStat != s_state_6EE.uiAccMaxLrnStat || state_6EE.uiBrk0LrnStat != s_state_6EE.uiBrk0LrnStat ||
|
|
@@ -220,9 +219,9 @@ bool Perception::PublishState_6EE(const canbus::canMsg::ConstPtr &msg)
|
|
|
state_6EE.uiUpLrnStat != s_state_6EE.uiUpLrnStat)
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_6EE, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_6EE))
|
|
|
- memset((char*)&s_state_6EE + msg->data.size(), 0, sizeof(s_state_6EE) - copySize);
|
|
|
+ memcpy(&s_state_6EE, msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_6EE))
|
|
|
+// memset((char*)&s_state_6EE + msg->data.size(), 0, sizeof(s_state_6EE) - copySize);
|
|
|
if(bus_pub_6EE)
|
|
|
{
|
|
|
::perception::slMsg msg;
|
|
@@ -263,19 +262,19 @@ bool Perception::PublishState_6EE(const canbus::canMsg::ConstPtr &msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_6ED(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_6ED(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_STATE_OUT_6ED s_state_6ED;
|
|
|
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_6ED))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_6ED);
|
|
|
+
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_6ED))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_6ED);
|
|
|
|
|
|
robot::canbusSpace::T_STATE_OUT_6ED state_6ED;
|
|
|
memset(&state_6ED, 0 ,sizeof(state_6ED));
|
|
|
- memcpy(&state_6ED, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_6ED, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_6ED.uiAccCtrAlive != s_state_6ED.uiAccCtrAlive || state_6ED.uiAccMotClbr != s_state_6ED.uiAccMotClbr ||
|
|
|
state_6ED.uiBrkCtrAlive != s_state_6ED.uiBrkCtrAlive || state_6ED.uiBrkMotClbr != s_state_6ED.uiBrkMotClbr ||
|
|
@@ -286,9 +285,9 @@ bool Perception::PublishState_6ED(const canbus::canMsg::ConstPtr &msg)
|
|
|
state_6ED.uiYSftArmCtrAlive != s_state_6ED.uiYSftArmCtrAlive || state_6ED.uiYSftMotClbr != s_state_6ED.uiYSftMotClbr)
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_6ED, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_6ED))
|
|
|
- memset((char*)&s_state_6ED + msg->data.size(), 0, sizeof(s_state_6ED) - copySize);
|
|
|
+ memcpy(&s_state_6ED, msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_6ED))
|
|
|
+// memset((char*)&s_state_6ED + msg->data.size(), 0, sizeof(s_state_6ED) - copySize);
|
|
|
if(bus_pub_6ED)
|
|
|
{
|
|
|
::perception::si2Msg msg;
|
|
@@ -322,19 +321,19 @@ bool Perception::PublishState_6ED(const canbus::canMsg::ConstPtr &msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_6D1(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_6D1(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_STATE_OUT_6D1 s_state_6D1;
|
|
|
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_6D1))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_6D1);
|
|
|
+
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_6D1))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_6D1);
|
|
|
|
|
|
robot::canbusSpace::T_STATE_OUT_6D1 state_6D1;
|
|
|
memset(&state_6D1, 0 ,sizeof(state_6D1));
|
|
|
- memcpy(&state_6D1, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_6D1, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_6D1.uiSysErra != s_state_6D1.uiSysErra || state_6D1.uiSysErrb != s_state_6D1.uiSysErrb || state_6D1.uiSysErrc != s_state_6D1.uiSysErrc ||
|
|
|
state_6D1.uiSysErrd != s_state_6D1.uiSysErrd || state_6D1.uiSysErre != s_state_6D1.uiSysErre || state_6D1.uiSysErrf != s_state_6D1.uiSysErrf ||
|
|
@@ -347,9 +346,9 @@ bool Perception::PublishState_6D1(const canbus::canMsg::ConstPtr &msg)
|
|
|
state_6D1.uiSysErry != s_state_6D1.uiSysErry || state_6D1.uiSysErrz != s_state_6D1.uiSysErrz)
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_6D1, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_6D1))
|
|
|
- memset((char*)&s_state_6D1 + msg->data.size(), 0, sizeof(s_state_6D1) - copySize);
|
|
|
+ memcpy(&s_state_6D1, msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_6D1))
|
|
|
+// memset((char*)&s_state_6D1 + msg->data.size(), 0, sizeof(s_state_6D1) - copySize);
|
|
|
if(bus_pub_6D1)
|
|
|
{
|
|
|
::perception::seMsg msg;
|
|
@@ -395,13 +394,9 @@ bool Perception::PublishState_6D1(const canbus::canMsg::ConstPtr &msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_6D2_6(const canbus::canMsg::ConstPtr &msg, int type, const ros::Publisher &pub)
|
|
|
+bool Perception::PublishState_6D2_6(unsigned char* msg, int type, const ros::Publisher &pub)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_ACC_ERR s_state_6D2;
|
|
|
- static robot::canbusSpace::T_BRK_ERR s_state_6D3;
|
|
|
- static robot::canbusSpace::T_XSFT_ERR s_state_6D4;
|
|
|
- static robot::canbusSpace::T_YSFT_ERR s_state_6D5;
|
|
|
- static robot::canbusSpace::T_STR_ERR s_state_6D6;
|
|
|
+
|
|
|
|
|
|
robot::canbusSpace::T_ACC_ERR *pErr;
|
|
|
switch (type) {
|
|
@@ -426,16 +421,16 @@ bool Perception::PublishState_6D2_6(const canbus::canMsg::ConstPtr &msg, int typ
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_6D2))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_6D2);
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_6D2))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_6D2);
|
|
|
|
|
|
//6D2_2 6D2_3 6D2_4 6D2_5 6D2_6 数据结构相同
|
|
|
robot::canbusSpace::T_ACC_ERR state_6D2;
|
|
|
memset(&state_6D2, 0 ,sizeof(state_6D2));
|
|
|
- memcpy(&state_6D2, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_6D2, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_6D2.uiAccErra != pErr->uiAccErra || state_6D2.uiAccErraa != pErr->uiAccErraa || state_6D2.uiAccErrab != pErr->uiAccErrab ||
|
|
|
state_6D2.uiAccErrac != pErr->uiAccErrac || state_6D2.uiAccErrad != pErr->uiAccErrad || state_6D2.uiAccErrae != pErr->uiAccErrae ||
|
|
@@ -451,9 +446,28 @@ bool Perception::PublishState_6D2_6(const canbus::canMsg::ConstPtr &msg, int typ
|
|
|
state_6D2.uiAccErry != pErr->uiAccErry || state_6D2.uiAccErrz != pErr->uiAccErrz)
|
|
|
{
|
|
|
|
|
|
- memcpy(pErr, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_6D2))
|
|
|
- memset((char*)&s_state_6D2 + msg->data.size(), 0, sizeof(s_state_6D2) - copySize);
|
|
|
+
|
|
|
+ switch (type) {
|
|
|
+ case 2:
|
|
|
+ memcpy(&s_state_6D2, msg, CAN_MSG_LEN);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ memcpy(&s_state_6D3, msg, CAN_MSG_LEN);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ memcpy(&s_state_6D4, msg, CAN_MSG_LEN);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ memcpy(&s_state_6D5, msg, CAN_MSG_LEN);
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ memcpy(&s_state_6D6, msg, CAN_MSG_LEN);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ LOG(INFO) << Name() << " PublishState_6D2_6 " << type << " type is unvalid";
|
|
|
+ return false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
if(pub)
|
|
|
{
|
|
|
::perception::cecMsg msg;
|
|
@@ -508,29 +522,27 @@ bool Perception::PublishState_6D2_6(const canbus::canMsg::ConstPtr &msg, int typ
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_2E0(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_2E0(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_ESTOP_2E0 s_state_2E0;
|
|
|
-
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_2E0))
|
|
|
- {
|
|
|
- copySize = msg->data.size();
|
|
|
- }
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_2E0);
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_2E0))
|
|
|
+// {
|
|
|
+// copySize = msg->data.size();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_2E0);
|
|
|
|
|
|
robot::canbusSpace::T_ESTOP_2E0 state_2E0;
|
|
|
memset(&state_2E0, 0 ,sizeof(state_2E0));
|
|
|
- memcpy(&state_2E0, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_2E0, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_2E0.uiEstpAbnStat != s_state_2E0.uiEstpAbnStat || state_2E0.uiEstpAlive != state_2E0.uiEstpAlive ||
|
|
|
state_2E0.uiEstpEnStat != s_state_2E0.uiEstpEnStat || state_2E0.uiPmpEnStat != s_state_2E0.uiPmpEnStat )
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_2E0, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_2E0))
|
|
|
- memset((char*)&s_state_2E0 + msg->data.size(), 0, sizeof(s_state_2E0) - copySize);
|
|
|
+ memcpy(&s_state_2E0,msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_2E0))
|
|
|
+// memset((char*)&s_state_2E0 + msg->data.size(), 0, sizeof(s_state_2E0) - copySize);
|
|
|
if(bus_pub_2E0)
|
|
|
{
|
|
|
::perception::eiMsg msg;
|
|
@@ -554,19 +566,17 @@ bool Perception::PublishState_2E0(const canbus::canMsg::ConstPtr &msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool Perception::PublishState_2E1(const canbus::canMsg::ConstPtr &msg)
|
|
|
+bool Perception::PublishState_2E1(unsigned char* msg)
|
|
|
{
|
|
|
- static robot::canbusSpace::T_ESTOP_2E1 s_state_2E1;
|
|
|
-
|
|
|
- int copySize;
|
|
|
- if(msg->data.size() < sizeof(s_state_2E1))
|
|
|
- copySize = msg->data.size();
|
|
|
- else
|
|
|
- copySize = sizeof(s_state_2E1);
|
|
|
+// int copySize;
|
|
|
+// if(msg->data.size() < sizeof(s_state_2E1))
|
|
|
+// copySize = msg->data.size();
|
|
|
+// else
|
|
|
+// copySize = sizeof(s_state_2E1);
|
|
|
|
|
|
robot::canbusSpace::T_ESTOP_2E1 state_2E1;
|
|
|
memset(&state_2E1, 0 ,sizeof(state_2E1));
|
|
|
- memcpy(&state_2E1, msg->data.c_str(), copySize);
|
|
|
+ memcpy(&state_2E1, msg, CAN_MSG_LEN);
|
|
|
|
|
|
if(state_2E1.uiEspErra != s_state_2E1.uiEspErra || state_2E1.uiEspErrb != s_state_2E1.uiEspErrb || state_2E1.uiEspErrc != s_state_2E1.uiEspErrc ||
|
|
|
state_2E1.uiEspErrd != s_state_2E1.uiEspErrd || state_2E1.uiEspErre != s_state_2E1.uiEspErre || state_2E1.uiEspErrf != s_state_2E1.uiEspErrf ||
|
|
@@ -574,9 +584,9 @@ bool Perception::PublishState_2E1(const canbus::canMsg::ConstPtr &msg)
|
|
|
state_2E1.uiEspErrj != s_state_2E1.uiEspErrj)
|
|
|
{
|
|
|
|
|
|
- memcpy(&s_state_2E1, msg->data.c_str(), copySize);
|
|
|
- if(msg->data.size() < sizeof(s_state_2E1))
|
|
|
- memset((char*)&s_state_2E1 + msg->data.size(), 0, sizeof(s_state_2E1) - copySize);
|
|
|
+ memcpy(&s_state_2E1, msg, CAN_MSG_LEN);
|
|
|
+// if(msg->data.size() < sizeof(s_state_2E1))
|
|
|
+// memset((char*)&s_state_2E1 + msg->data.size(), 0, sizeof(s_state_2E1) - copySize);
|
|
|
if(bus_pub_2E1)
|
|
|
{
|
|
|
::perception::eeMsg msg;
|