Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifdef ROS
00033 #include "simple_message/messages/robot_status_message.h"
00034 #include "simple_message/robot_status.h"
00035 #include "simple_message/byte_array.h"
00036 #include "simple_message/log_wrapper.h"
00037 #endif
00038
00039 #ifdef MOTOPLUS
00040 #include "robot_status_message.h"
00041 #include "robot_status.h"
00042 #include "byte_array.h"
00043 #include "log_wrapper.h"
00044 #endif
00045
00046 using namespace industrial::shared_types;
00047 using namespace industrial::byte_array;
00048 using namespace industrial::simple_message;
00049 using namespace industrial::robot_status;
00050
00051 namespace industrial
00052 {
00053 namespace robot_status_message
00054 {
00055
00056 RobotStatusMessage::RobotStatusMessage(void)
00057 {
00058 this->init();
00059 }
00060
00061 RobotStatusMessage::~RobotStatusMessage(void)
00062 {
00063
00064 }
00065
00066 bool RobotStatusMessage::init(industrial::simple_message::SimpleMessage & msg)
00067 {
00068 bool rtn = false;
00069 ByteArray data = msg.getData();
00070 this->init();
00071
00072 if (data.unload(this->status_))
00073 {
00074 rtn = true;
00075 }
00076 else
00077 {
00078 LOG_ERROR("Failed to unload robot status data");
00079 }
00080 return rtn;
00081 }
00082
00083 void RobotStatusMessage::init(industrial::robot_status::RobotStatus & status)
00084 {
00085 this->init();
00086 this->status_.copyFrom(status);
00087 }
00088
00089 void RobotStatusMessage::init()
00090 {
00091 this->setMessageType(StandardMsgTypes::STATUS);
00092 this->status_.init();
00093 }
00094
00095 bool RobotStatusMessage::load(ByteArray *buffer)
00096 {
00097 bool rtn = false;
00098 LOG_COMM("Executing robot status message load");
00099 if (buffer->load(this->status_))
00100 {
00101 rtn = true;
00102 }
00103 else
00104 {
00105 rtn = false;
00106 LOG_ERROR("Failed to load robot status data");
00107 }
00108 return rtn;
00109 }
00110
00111 bool RobotStatusMessage::unload(ByteArray *buffer)
00112 {
00113 bool rtn = false;
00114 LOG_COMM("Executing robot status message unload");
00115
00116 if (buffer->unload(this->status_))
00117 {
00118 rtn = true;
00119 }
00120 else
00121 {
00122 rtn = false;
00123 LOG_ERROR("Failed to unload robot status data");
00124 }
00125 return rtn;
00126 }
00127
00128 }
00129 }
00130