9#include <serial/serial.h>
10#include <nav_msgs/Odometry.h>
11#include <sensor_msgs/JointState.h>
12#include <std_msgs/Float64.h>
13#include <std_msgs/Int8MultiArray.h>
14#include <tf2_ros/buffer.h>
15#include <tf2_ros/transform_listener.h>
16#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
17#include "std_msgs/UInt32.h"
18#include "rm_msgs/VisualizeStateData.h"
19#include "rm_msgs/CustomControllerData.h"
20#include "rm_msgs/VTKeyboardMouseData.h"
21#include "rm_msgs/VTReceiverControlData.h"
22#include "rm_msgs/RobotCustomData.h"
23#include "rm_msgs/RobotCustomData2.h"
24#include "rm_msgs/CustomClientCmdData.h"
38 serial::Timeout timeout = serial::Timeout::simpleTimeout(50);
39 serial_.setPort(
"/dev/usbImagetran");
48 catch (serial::IOException& e)
50 ROS_ERROR(
"Cannot open image transmitter port");
55 uint8_t
getCRC8CheckSum(
unsigned char* pch_message,
unsigned int dw_length,
unsigned char uc_crc_8)
57 unsigned char uc_index;
60 uc_index = uc_crc_8 ^ (*pch_message++);
68 unsigned char uc_expected;
69 if ((pch_message ==
nullptr) || (dw_length <= 2))
72 return (uc_expected == pch_message[dw_length - 1]);
78 if ((pch_message ==
nullptr) || (dw_length <= 2))
81 pch_message[dw_length - 1] = uc_crc;
87 if (pch_message ==
nullptr)
91 chData = *pch_message++;
92 (w_crc) = (
static_cast<uint16_t
>(w_crc) >> 8) ^
93 rm_vt::wCRC_table[(
static_cast<uint16_t
>(w_crc) ^
static_cast<uint16_t
>(chData)) & 0x00ff];
101 if ((pch_message ==
nullptr) || (dw_length <= 2))
104 return ((w_expected & 0xff) == pch_message[dw_length - 2] &&
105 ((w_expected >> 8) & 0xff) == pch_message[dw_length - 1]);
111 if ((pch_message ==
nullptr) || (dw_length <= 2))
114 pch_message[dw_length - 2] =
static_cast<uint8_t
>((wCRC & 0x00ff));
115 pch_message[dw_length - 1] =
static_cast<uint8_t
>(((wCRC >> 8) & 0x00ff));
uint32_t verifyCRC8CheckSum(unsigned char *pch_message, unsigned int dw_length)
Definition data.h:66
serial::Serial serial_
Definition data.h:33
void initSerial()
Definition data.h:36
uint8_t getCRC8CheckSum(unsigned char *pch_message, unsigned int dw_length, unsigned char uc_crc_8)
Definition data.h:55
void appendCRC16CheckSum(uint8_t *pch_message, uint32_t dw_length)
Definition data.h:108
uint32_t verifyCRC16CheckSum(uint8_t *pch_message, uint32_t dw_length)
Definition data.h:98
bool video_transmission_is_online_
Definition data.h:34
void appendCRC8CheckSum(unsigned char *pch_message, unsigned int dw_length)
Definition data.h:75
uint16_t getCRC16CheckSum(uint8_t *pch_message, uint32_t dw_length, uint16_t w_crc)
Definition data.h:84
const uint16_t wCRC_table[256]
Definition protocol.h:165
const uint16_t kCrc16Init
Definition protocol.h:164
const uint8_t kCrc8Init
Definition protocol.h:147
const uint8_t kCrc8Table[256]
Definition protocol.h:148