53 const std::string port_param_name =
"~port";
55 if (!ros::param::param<int>(port_param_name, port, default_port))
58 <<
"' parameter: using default (" << default_port <<
")");
60 if (port < 0 || port > std::numeric_limits<uint16_t>::max())
63 "must be between 0 and " << std::numeric_limits<uint16_t>::max() <<
".");
67 const std::string robot_ip_param_name =
"robot_ip_address";
71 << robot_ip_param_name <<
"' parameter");
75 char* ip_addr = strdup(ip.c_str());
106 motoman_msgs::ReadSingleIO::Request &req,
107 motoman_msgs::ReadSingleIO::Response &res)
123 std::stringstream message;
124 message <<
"Read failed (address: " << req.address <<
"): " << err_msg;
125 res.message = message.str();
142 motoman_msgs::WriteSingleIO::Request &req,
143 motoman_msgs::WriteSingleIO::Response &res)
158 std::stringstream message;
159 message <<
"Write failed (address: " << req.address <<
"): " << err_msg;
160 res.message = message.str();
ros::ServiceServer srv_write_single_io
bool readSingleIoCB(motoman_msgs::ReadSingleIO::Request &req, motoman_msgs::ReadSingleIO::Response &res)
bool init(char *buff, int port_num)
#define ROS_DEBUG_STREAM_NAMED(name, args)
#define ROS_ERROR_STREAM_NAMED(name, args)
bool readSingleIO(industrial::shared_types::shared_int address, industrial::shared_types::shared_int &value, std::string &err_msg)
Reads a single IO point on the controller.
bool init(int default_port)
Class initializer.
io_ctrl::MotomanIoCtrl io_ctrl_
ServiceServer advertiseService(const std::string &service, bool(T::*srv_func)(MReq &, MRes &), T *obj)
bool init(SmplMsgConnection *connection)
ROSCPP_DECL bool get(const std::string &key, std::string &s)
#define ROS_FATAL_STREAM_NAMED(name, args)
TcpClient default_tcp_connection_
#define ROS_FATAL_NAMED(name,...)
bool writeSingleIO(industrial::shared_types::shared_int address, industrial::shared_types::shared_int value, std::string &err_msg)
Writes to a single IO point on the controller.
bool writeSingleIoCB(motoman_msgs::WriteSingleIO::Request &req, motoman_msgs::WriteSingleIO::Response &res)
ros::ServiceServer srv_read_single_io
#define ROS_WARN_STREAM_NAMED(name, args)