17 uint8_t temp_buffer[256] = { 0 };
25 for (
int k_i = 0; k_i <
rx_len_; ++k_i)
52 rm_vt::FrameHeader frame_header;
57 if (frame_header.data_length > 256)
59 ROS_INFO(
"discard possible wrong frames, data length: %d", frame_header.data_length);
65 cmd_id = (rx_data[6] << 8 | rx_data[5]);
70 rm_vt::CustomControllerData custom_controller_ref;
71 rm_msgs::CustomControllerData custom_controller_data;
72 memcpy(&custom_controller_ref, rx_data + 7,
sizeof(rm_vt::CustomControllerData));
73 custom_controller_data.encoder_data[0] = 3.14 *
74 ((uint16_t)(custom_controller_ref.encoder1_data[0] << 8) |
75 (uint16_t)custom_controller_ref.encoder1_data[1]) /
77 custom_controller_data.encoder_data[1] = 3.14 *
78 ((uint16_t)(custom_controller_ref.encoder2_data[0] << 8) |
79 (uint16_t)custom_controller_ref.encoder2_data[1]) /
81 custom_controller_data.encoder_data[5] = 3.14 *
82 ((uint16_t)(custom_controller_ref.encoder3_data[0] << 8) |
83 (uint16_t)custom_controller_ref.encoder3_data[1]) /
85 custom_controller_data.encoder_data[3] = 3.14 *
86 ((uint16_t)(custom_controller_ref.encoder4_data[0] << 8) |
87 (uint16_t)custom_controller_ref.encoder4_data[1]) /
89 custom_controller_data.encoder_data[4] = 3.14 *
90 ((uint16_t)(custom_controller_ref.encoder5_data[0] << 8) |
91 (uint16_t)custom_controller_ref.encoder5_data[1]) /
93 custom_controller_data.encoder_data[2] = 3.14 *
94 ((uint16_t)(custom_controller_ref.encoder6_data[0] << 8) |
95 (uint16_t)custom_controller_ref.encoder6_data[1]) /
97 custom_controller_data.joystick_l_y_data = ((uint16_t)(custom_controller_ref.joystick_l_x_data[0] << 8) |
98 (uint16_t)custom_controller_ref.joystick_l_x_data[1]);
99 custom_controller_data.joystick_l_x_data = ((uint16_t)(custom_controller_ref.joystick_l_y_data[0] << 8) |
100 (uint16_t)custom_controller_ref.joystick_l_y_data[1]);
101 custom_controller_data.joystick_r_y_data = ((uint16_t)(custom_controller_ref.joystick_r_x_data[0] << 8) |
102 (uint16_t)custom_controller_ref.joystick_r_x_data[1]);
103 custom_controller_data.joystick_r_x_data = ((uint16_t)(custom_controller_ref.joystick_r_y_data[0] << 8) |
104 (uint16_t)custom_controller_ref.joystick_r_y_data[1]);
105 custom_controller_data.button_data[0] = custom_controller_ref.button1_data;
106 custom_controller_data.button_data[1] = custom_controller_ref.button2_data;
107 custom_controller_data.button_data[2] = custom_controller_ref.button3_data;
108 custom_controller_data.button_data[3] = custom_controller_ref.button4_data;
114 rm_vt::KeyboardMouseData keyboard_mouse_ref;
115 rm_msgs::VTKeyboardMouseData keyboard_mouse_data;
116 memcpy(&keyboard_mouse_ref, rx_data + 7,
sizeof(rm_vt::KeyboardMouseData));
117 keyboard_mouse_data.mouse_x = keyboard_mouse_ref.mouse_x;
118 keyboard_mouse_data.mouse_y = keyboard_mouse_ref.mouse_y;
119 keyboard_mouse_data.mouse_z = keyboard_mouse_ref.mouse_z;
120 keyboard_mouse_data.left_button_down = keyboard_mouse_ref.left_button_down;
121 keyboard_mouse_data.right_button_down = keyboard_mouse_ref.right_button_down;
122 keyboard_mouse_data.key_w = keyboard_mouse_ref.key_w;
123 keyboard_mouse_data.key_s = keyboard_mouse_ref.key_s;
124 keyboard_mouse_data.key_a = keyboard_mouse_ref.key_a;
125 keyboard_mouse_data.key_d = keyboard_mouse_ref.key_d;
126 keyboard_mouse_data.key_shift = keyboard_mouse_ref.key_shift;
127 keyboard_mouse_data.key_ctrl = keyboard_mouse_ref.key_ctrl;
128 keyboard_mouse_data.key_q = keyboard_mouse_ref.key_q;
129 keyboard_mouse_data.key_e = keyboard_mouse_ref.key_e;
130 keyboard_mouse_data.key_r = keyboard_mouse_ref.key_r;
131 keyboard_mouse_data.key_f = keyboard_mouse_ref.key_f;
132 keyboard_mouse_data.key_g = keyboard_mouse_ref.key_g;
133 keyboard_mouse_data.key_z = keyboard_mouse_ref.key_z;
134 keyboard_mouse_data.key_x = keyboard_mouse_ref.key_x;
135 keyboard_mouse_data.key_c = keyboard_mouse_ref.key_c;
136 keyboard_mouse_data.key_v = keyboard_mouse_ref.key_v;
137 keyboard_mouse_data.key_b = keyboard_mouse_ref.key_b;
142 ROS_WARN(
"Referee command ID %d not found.", cmd_id);
158 rm_vt::ControlData control_ref;
159 rm_msgs::VTReceiverControlData control_data;
160 memcpy(&control_ref, rx_data + 2,
sizeof(rm_vt::ControlData));
161 control_data.joystick_r_x = (control_ref.joystick_r_x - 1024.0) / 660.0;
162 control_data.joystick_r_y = (control_ref.joystick_r_y - 1024.0) / 660.0;
163 control_data.joystick_l_y = (control_ref.joystick_l_y - 1024.0) / 660.0;
164 control_data.joystick_l_x = (control_ref.joystick_l_x - 1024.0) / 660.0;
165 control_data.mode_switch = control_ref.mode_switch;
166 control_data.pause_button = control_ref.pause_button;
167 control_data.custom_button_l = control_ref.custom_button_l;
168 control_data.custom_button_r = control_ref.custom_button_r;
169 control_data.wheel = (control_ref.wheel - 1024.0) / 660.0;
170 control_data.trigger = control_ref.trigger;
171 control_data.mouse_x = control_ref.mouse_x;
172 control_data.mouse_y = control_ref.mouse_y;
173 control_data.mouse_wheel = control_ref.mouse_wheel;
174 control_data.mouse_left_down = control_ref.mouse_left_down;
175 control_data.mouse_right_down = control_ref.mouse_right_down;
176 control_data.mouse_mid_down = control_ref.mouse_mid_down;
177 control_data.key_w = control_ref.key_w;
178 control_data.key_s = control_ref.key_s;
179 control_data.key_a = control_ref.key_a;
180 control_data.key_d = control_ref.key_d;
181 control_data.key_shift = control_ref.key_shift;
182 control_data.key_ctrl = control_ref.key_ctrl;
183 control_data.key_q = control_ref.key_q;
184 control_data.key_e = control_ref.key_e;
185 control_data.key_r = control_ref.key_r;
186 control_data.key_f = control_ref.key_f;
187 control_data.key_g = control_ref.key_g;
188 control_data.key_z = control_ref.key_z;
189 control_data.key_x = control_ref.key_x;
190 control_data.key_c = control_ref.key_c;
191 control_data.key_v = control_ref.key_v;
192 control_data.key_b = control_ref.key_b;