Go to the documentation of this file.
79 if(value > 9 && value < 16)
81 return value +
'0' + 7;
85 ROS_WARN(
"the value is out of range");
96 std::string cmd =
msg->data.c_str();
103 std::string login_cmd =
"SetAccessLevel";
104 login_cmd = login_cmd +
" " + password;
111 uint16_t s_buffer_size = 0;
112 unsigned char s_buffer[64] = {0, };
113 int cmd_str_cnt = 0, str_cnt = 0;
115 memset(s_buffer, 0x00,
sizeof(s_buffer));
117 s_buffer[str_cnt++] = 0x02;
125 if(cmd_str_cnt == -1)
131 str_cnt += cmd_str_cnt;
133 s_buffer[str_cnt++] = 0x03;
135 s_buffer[1] =
hexToChar(str_cnt / 16 / 16 / 16);
136 s_buffer[2] =
hexToChar(str_cnt / 16 / 16 % 16);
137 s_buffer[3] =
hexToChar(str_cnt / 16 % 16);
140 s_buffer_size =
sizeof(s_buffer);
156 #ifdef PRINT_PARSE_DATA
157 std::cout << std::endl <<
"sent data : ";
158 for(
int i = 0; i < str_cnt; i++)
160 std::cout << std::hex << s_buffer[i];
162 std::cout <<
"" << std::endl;
193 status.
summary(diagnostic_msgs::DiagnosticStatus::ERROR,
"lost connection");
197 status.
summary(diagnostic_msgs::DiagnosticStatus::OK,
"connection is ok");
226 if(p_laser_scan->ranges.empty() ==
false)
259 std::string addr =
"192.168.0.1", frame_id =
"laser", port =
"8000", password =
"0000";
260 double range_min = 0.05, range_max = 25;
261 uint16_t port_num = 0, recnt_cnt = 0;
272 scan_msg->header.frame_id = frame_id;
281 ROS_WARN(
"Failed to connect to server");
287 ROS_WARN(
"Failed to reconnect to server");
290 ROS_ERROR(
"Tried to connect server %d times but, Failed to connect to server", recnt_cnt);
321 double min_freq = 0.00025;
322 double max_freq = 15.0;
int laserSendCommand(const std::string str)
std::string ftostr(float i)
std::vector< unsigned char > rcv_msg_
sensor_msgs::LaserScan::Ptr scan_msg
int getLaserData(sensor_msgs::LaserScan::Ptr scan_msg)
void comSubCallback(const std_msgs::String::ConstPtr &msg)
bool getParam(const std::string &key, bool &b) const
int tryReconnection(void)
std::string itostr(int i)
ROSCPP_DECL void spinOnce()
void publish(const boost::shared_ptr< M > &message) const
Publisher advertise(AdvertiseOptions &ops)
void parsingMsg(std::vector< unsigned char > raw_msg, sensor_msgs::LaserScan::Ptr msg, Lsc_t *lsc)
void summary(const diagnostic_msgs::DiagnosticStatus &src)
unsigned char hexToChar(unsigned int value)
void watchingDisconnection(void)
#define CONNECT_ATTEMPT_CNT
Subscriber subscribe(const std::string &topic, uint32_t queue_size, const boost::function< void(C)> &callback, const VoidConstPtr &tracked_object=VoidConstPtr(), const TransportHints &transport_hints=TransportHints())
void selfTest(diagnostic_updater::DiagnosticStatusWrapper &status)
int32_t clientWrite(unsigned char *buffer, uint16_t buf_size)
void setHardwareID(const std::string &hwid)
diagnostic_updater::Updater diagnostic_topic_updater
int makeCommand(unsigned char *buf, std::string cmd)
std::queue< std::vector< unsigned char > > recvQueue
int clientOpen(std::string addr, std::string port)
void login(std::string password)
lsc_ros_driver
Author(s): Autonics-lidar
autogenerated on Sat Jan 14 2023 03:18:24