本文整理汇总了C++中aris::core::MSG类的典型用法代码示例。如果您正苦于以下问题:C++ MSG类的具体用法?C++ MSG怎么用?C++ MSG使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MSG类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: On_VS_DataReceived
int On_VS_DataReceived(Aris::Core::CONN *pConn, Aris::Core::MSG &data)
{
cout<<"receive data from visual system"<<endl;
double *map = new double [data.GetLength()/sizeof(double)];
memcpy(map, data.GetDataAddress(), data.GetLength() );
static double currentH[6],nextH[6];
memcpy(nextH,map,sizeof(nextH));
HexIII.MotionPlanWithKinect(currentH,nextH,*Gait_Calculated_From_Map);
memcpy(currentH,nextH,sizeof(nextH));
delete[] map;
for(int j=0;j<GAIT_ADAPTIVEWALK_LEN;j++)
{
for(int i=0;i<GAIT_WIDTH;i++)
{
CGait::GaitAdaptiveWalk[j][i]=-(int)(Gait_Calculated_From_Map[j][i]);
}
}
Aris::Core::MSG controldata;
controldata.SetMsgID(WALKADAPTIVE);
cs.NRT_PostMsg(controldata);
return 0;
}
开发者ID:chaixun,项目名称:robot,代码行数:31,代码来源:Server.cpp
示例2: if
Aris::Core::MSG parseSwing(const std::string &cmd, const map<std::string, std::string> ¶ms)
{
SWING_PARAM param;
for(auto &i:params)
{
if(i.first=="y")
{
param.centreP[1]=stod(i.second);
}
else if(i.first=="z")
{
param.centreP[2]=stod(i.second);
}
else if(i.first=="deg")
{
param.swingRad=stod(i.second)/180*PI;//计算身体摆动的弧度
}
else
{
std::cout<<"parse failed"<<std::endl;
return MSG{};
}
}
param.periodCount=3000;
Aris::Core::MSG msg;
msg.CopyStruct(param);
std::cout<<"finished parse"<<std::endl;
return msg;
}
开发者ID:liujimu,项目名称:RobotIII_Move,代码行数:34,代码来源:Move_Gait.cpp
示例3: On_VS_Connected
int On_VS_Connected(Aris::Core::MSG &msg)
{
cout<<"Received Connection from Vision System:"<<endl;
cout<<" Remote IP is: "<<msg.GetDataAddress()+sizeof(int)<<endl;
cout<<" Port is : "<<*((int*)msg.GetDataAddress()) << endl << endl;
return 0;
}
开发者ID:chaixun,项目名称:robot,代码行数:8,代码来源:Server.cpp
示例4: show
int show(const Aris::Core::MSG &msg)
{
cout << "Msg Length:" << msg.GetLength()<<endl;
cout << "Msg MsgID :" << msg.GetMsgID()<<endl;
//cout << "Msg Type :" << msg.GetType()<<endl;
cout << "Msg Data :" << msg.GetDataAddress()<<endl<<endl;
return 0;
}
开发者ID:Razofiter,项目名称:Aris,代码行数:9,代码来源:main.cpp
示例5: autoTurnRight
int autoTurnRight(Aris::Core::MSG &msg)
{
EGAIT cmd=GAIT_TURN_RIGHT;
Aris::Core::MSG data;
data.SetLength(sizeof(cmd));
data.Copy(&cmd,sizeof(cmd));
cs.NRT_SendData(data);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:9,代码来源:Control.cpp
示例6: autoEndDiscover
int autoEndDiscover(Aris::Core::MSG &msg)
{
EGAIT cmd=GAIT_END_DISCOVER;
Aris::Core::MSG data;
data.SetLength(sizeof(cmd));
data.Copy(&cmd,sizeof(cmd));
cs.NRT_SendData(data);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:9,代码来源:Control.cpp
示例7: autoMoveBack
int autoMoveBack(Aris::Core::MSG &msg)
{
EGAIT cmd=GAIT_MOVE_BACK;
Aris::Core::MSG data;
data.SetLength(sizeof(cmd));
data.Copy(&cmd,sizeof(cmd));
cs.NRT_SendData(data);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:9,代码来源:Control.cpp
示例8: On_VS_ConnectionReceived
int On_VS_ConnectionReceived(Aris::Core::CONN *pConn, const char* addr,int port)
{
Aris::Core::MSG msg;
msg.SetMsgID(VS_Connected);
msg.SetLength(sizeof(port));
msg.Copy(&port,sizeof(port));
msg.CopyMore(addr,strlen(addr));
PostMsg(msg);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:10,代码来源:Server.cpp
示例9: On_CS_Connected
//MSG call back functions
int On_CS_Connected(Aris::Core::MSG &msg)
{
cout<<"Received Connection from Control System:"<<endl;
cout<<" Remote IP is: "<<msg.GetDataAddress()+sizeof(int)<<endl;
cout<<" Port is : "<<*((int*)msg.GetDataAddress()) << endl << endl;
Aris::Core::MSG data(0,0);
ControlSystem.SendData(data);
return 0;
}
开发者ID:bearves,项目名称:LegActiveComplianceTest,代码行数:11,代码来源:Server.cpp
示例10: On_CS_DataReceived
int On_CS_DataReceived(Aris::Core::CONN *pConn,Aris::Core::MSG &data)
{
int cmd=data.GetMsgID()+100;
Aris::Core::MSG CMD=CS_CMD_Received;
CMD.SetLength(sizeof(int));
bool IsCMDExecutable=true;
CMD.Copy(&cmd,sizeof(int));
cout<<"received CMD is"<<cmd<<endl;
PostMsg(CMD);
LastCMD=data.GetMsgID();
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:12,代码来源:Server.cpp
示例11: autoStart
int autoStart(Aris::Core::MSG &msg)
{
EGAIT cmd=GAIT_HOME2START;
Aris::Core::MSG data;
data.SetLength(sizeof(cmd));
data.Copy(&cmd,sizeof(cmd));
cs.NRT_SendData(data);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:12,代码来源:Control.cpp
示例12:
int Aris::RT_CONTROL::ACTUATION::NRT_PostMsg(Aris::Core::MSG &p_data)
{
int ret;
//printf("sizeof %d\n",sizeof(p_data));
//p_data.SetMsgID((int)Aris::RT_CONTROL::CM_CUS_MESSAGE);
ret=sysBase->NRT_SendDataRaw(p_data._pData,p_data.GetLength()+MSG_HEADER_LENGTH);
//printf("NRT_SendData is me :%d\n",ret);
return 0;
}//ok
开发者ID:mexyl,项目名称:Aris,代码行数:9,代码来源:Aris_Control.cpp
示例13: On_CS_DataReceived
int On_CS_DataReceived(Aris::Core::CONN *pConn, Aris::Core::MSG &data)
{
int cmd=data.GetMsgID();
MSG CMD=CS_CMD_Received;
CMD.SetLength(sizeof(int));
CMD.Copy(&cmd,sizeof(int));
cout<<"received CMD is "<<cmd<<endl;
PostMsg(CMD);
return 0;
}
开发者ID:chaixun,项目名称:robot,代码行数:10,代码来源:Server.cpp
示例14: On_CS_CMD_Received
int On_CS_CMD_Received(Aris::Core::MSG &msg)
{
int Command_Gait;
msg.Paste(&Command_Gait,sizeof(int));
Aris::Core::MSG Gait=Command_Gait;
cout<<"Gait Needed is: "<<Gait.GetMsgID()<<endl;
PostMsg(Gait);
Aris::Core::MSG data(0,0);
ControlSystem.SendData(data);
return 0;
}
开发者ID:chaixun,项目名称:HexIII,代码行数:11,代码来源:Server.cpp
示例15: On_CS_DataReceived
int On_CS_DataReceived(Aris::Core::CONN *pConn, Aris::Core::MSG &data)
{
int cmd_id=data.GetMsgID();
Aris::Core::MSG CMD;
CMD.SetMsgID(CS_CMD_Received);
CMD.SetLength(sizeof(int));
CMD.Copy(&cmd_id,sizeof(int));
// if the cmd has data, it should be repost together
CMD.CopyMore(data.GetDataAddress(), data.GetLength());
cout<<"received CMD is "<<cmd_id<<endl;
PostMsg(CMD);
return 0;
}
开发者ID:bearves,项目名称:LegActiveComplianceTest,代码行数:16,代码来源:Server.cpp
示例16: OnVisualSystemDataNeeded
int OnVisualSystemDataNeeded(Aris::Core::MSG &msg)
{
static int i = 0;
cout<<"Capture "<<i<<" begin!!!"<<endl;
visionsensor.capture(&i);
while(1)
{
if(i>40)
{
Kinect::ControlCommand = NoValidCommand;
Aris::Core::MSG data;
data.SetLength(1 * sizeof(int));
memset(data.GetDataAddress(), 0, data.GetLength());
data.Copy(&Kinect::ControlCommand, sizeof(i));
pVisualSystem->SendData(data);
break;
}
else
{
if(Kinect::IsCaptureEnd == true)
{
Kinect::IsCaptureEnd = false;
Aris::Core::MSG data;
data.SetLength(1 * sizeof(int));
memset(data.GetDataAddress(), 0, data.GetLength());
data.Copy(&Kinect::ControlCommand, sizeof(i));
pVisualSystem->SendData(data);
break;
}
}
}
return 0;
}
开发者ID:chaixun,项目名称:robot,代码行数:36,代码来源:Vision_Client.cpp
示例17: if
Aris::Core::MSG parseCWF(const std::string &cmd, const std::map<std::string, std::string> ¶ms)
{
Robots::WALK_PARAM param;
for (auto &i : params)
{
if (i.first == "totalCount")
{
param.totalCount = std::stoi(i.second);
}
else if (i.first == "walkDirection")
{
param.walkDirection = std::stoi(i.second);
}
else if (i.first == "upDirection")
{
param.upDirection = std::stoi(i.second);
}
else if (i.first == "distance")
{
param.d = std::stod(i.second);
}
else if (i.first == "height")
{
param.h = std::stod(i.second);
}
}
isStoppingCWF=false;
Aris::Core::MSG msg;
msg.CopyStruct(param);
return msg;
}
开发者ID:liujimu,项目名称:RobotGaits,代码行数:36,代码来源:continuous_walk_with_force.cpp
示例18: OnGetControlCommand
int OnGetControlCommand(MSG &msg)
{
int CommandID;
msg.Paste(&CommandID,sizeof(int));
Aris::Core::MSG data;
switch(CommandID)
{
case 1:
data.SetMsgID(POWEROFF);
cs.NRT_PostMsg(data);
break;
case 2:
data.SetMsgID(STOP);
cs.NRT_PostMsg(data);
break;
case 3:
data.SetMsgID(ENABLE);
cs.NRT_PostMsg(data);
break;
case 4:
data.SetMsgID(RUNNING);
cs.NRT_PostMsg(data);
break;
case 5:
data.SetMsgID(GOHOME_1);
cs.NRT_PostMsg(data);
break;
case 6:
data.SetMsgID(GOHOME_2);
cs.NRT_PostMsg(data);
break;
case 7:
data.SetMsgID(HOME2START_1);
cs.NRT_PostMsg(data);
break;
case 8:
data.SetMsgID(HOME2START_2);
cs.NRT_PostMsg(data);
break;
case 9:
data.SetMsgID(FORWARD);
cs.NRT_PostMsg(data);
break;
case 10:
data.SetMsgID(BACKWARD);
cs.NRT_PostMsg(data);
break;
case 11:
data.SetMsgID(TURNLEFT);
cs.NRT_PostMsg(data);
break;
case 12:
data.SetMsgID(TURNRIGHT);
cs.NRT_PostMsg(data);
break;
case 13:
data.SetMsgID(LEGUP);
cs.NRT_PostMsg(data);
break;
case 14:
data.SetMsgID(BEGINDISCOVER);
cs.NRT_PostMsg(data);
break;
case 15:
data.SetMsgID(ENDDISCOVER);
cs.NRT_PostMsg(data);
break;
case 16:
Aris::Core::PostMsg(Aris::Core::MSG(VS_Capture));
CGait::IsWalkAdaptiveRegistered=true;
break;
default:
cout<<"Do Not Get Validate CMD"<<endl;
break;
}
return CommandID;
}
开发者ID:chaixun,项目名称:robot,代码行数:78,代码来源:Server.cpp
示例19: SendRequest
int SendRequest(int argc, char *argv[], const char *xmlFileName)
{
/*需要去除命令名的路径和扩展名*/
std::string cmdName(argv[0]);
#ifdef PLATFORM_IS_WINDOWS
if (cmdName.rfind('\\'))
{
cmdName = cmdName.substr(cmdName.rfind('\\') + 1, cmdName.npos);
}
#endif
#ifdef PLATFORM_IS_LINUX
if (cmdName.rfind('/'))
{
cmdName = cmdName.substr(cmdName.rfind('/') + 1, cmdName.npos);
}
#endif
if (cmdName.rfind('.'))
{
cmdName = cmdName.substr(0, cmdName.rfind('.'));
}
/*添加命令的所有参数*/
for (int i = 1; i < argc; ++i)
{
cmdName = cmdName + " " + argv[i];
}
/*构造msg,这里需要先copy命令名称,然后依次copy各个参数*/
Aris::Core::MSG msg;
msg.Copy(cmdName.c_str());
/*连接并发送msg*/
Aris::Core::DOCUMENT doc;
if (doc.LoadFile(xmlFileName) != 0)
throw std::logic_error("failed to read configuration xml file");
std::string ip = doc.RootElement()->FirstChildElement("Server")->FirstChildElement("Connection")->Attribute("IP");
std::string port = doc.RootElement()->FirstChildElement("Server")->FirstChildElement("Connection")->Attribute("Port");
Aris::Core::CONN conn;
while (true)
{
try
{
conn.Connect(ip.c_str(), port.c_str());
break;
}
catch (std::exception &)
{
std::cout << "failed to connect server, will retry in 1 second" << std::endl;
Aris::Core::Sleep(1000);
}
}
Aris::Core::MSG ret = conn.SendRequest(msg);
/*错误处理*/
if (ret.GetLength() > 0)
{
std::cout << "cmd has fault, please regard to following information:" << std::endl;
std::cout << " " << ret.GetDataAddress() << std::endl;
}
else
{
std::cout << "send command successful" << std::endl;
}
return 0;
}
开发者ID:chaixun,项目名称:Robots,代码行数:78,代码来源:Robot_Client.cpp
示例20: tg
int tg(CMachineData& machineData,RT_MSG& msg)
{
const int MapAbsToPhy[18]=
{
10, 11, 9,
12, 14, 13,
17, 15, 16,
6, 8, 7,
3, 5, 4,
0, 2, 1
};
const int MapPhyToAbs[18]=
{
15, 17, 16,
12, 14, 13,
9, 11, 10,
2, 0, 1,
3, 5, 4,
7, 8, 6
};
int CommandID;
CommandID=msg.GetMsgID();
switch(CommandID)
{
case NOCMD:
for(int i=0;i<18;i++)
{
machineData.motorsCommands[i]=EMCMD_NONE;
}
rt_printf("NONE Command Get in NRT\n" );
break;
case ENABLE:
for(int i=0;i<18;i++)
{
machineData.motorsCommands[i]=EMCMD_ENABLE;
}
rt_printf("ENABLE Command Get in NRT\n" );
break;
case POWEROFF:
for(int i=0;i<18;i++)
{
machineData.motorsCommands[i]=EMCMD_POWEROFF;
gait.IfReadytoSetGait(false,i);
}
rt_printf("POWEROFF Command Get in NRT\n" );
break;
case STOP:
for(int i=0;i<18;i++)
{
machineData.motorsCommands[i]=EMCMD_STOP;
}
rt_printf("STOP Command Get in NRT\n" );
break;
case RUNNING:
for(int i=0;i<18;i++)
{
machineData.motorsCommands[i]=EMCMD_RUNNING;
gait.IfReadytoSetGait(true,i);
}
rt_printf("RUNNING Command Get in NRT\n" );
break;
case GOHOME_1:
machineData.motorsCommands[MapAbsToPhy[0]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[1]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[2]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[6]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[7]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[8]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[12]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[13]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[14]]=EMCMD_GOHOME;
gaitcmd[MapAbsToPhy[0]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[1]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[2]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[6]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[7]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[8]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[12]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[13]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[14]]=EGAIT::GAIT_HOME;
rt_printf("GOHOME_1 Command Get in NRT\n" );
break;
case GOHOME_2:
machineData.motorsCommands[MapAbsToPhy[3]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[4]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[5]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[9]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[10]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[11]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[15]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[16]]=EMCMD_GOHOME;
machineData.motorsCommands[MapAbsToPhy[17]]=EMCMD_GOHOME;
gaitcmd[MapAbsToPhy[3]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[4]]=EGAIT::GAIT_HOME;
gaitcmd[MapAbsToPhy[5]]=EGAIT::GAIT_HOME;
//.........这里部分代码省略.........
开发者ID:chaixun,项目名称:robot,代码行数:101,代码来源:Control.cpp
注:本文中的aris::core::MSG类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论