11 uint8_t tx_data[
sizeof(InteractiveData)] = { 0 };
12 auto student_interactive_data = (InteractiveData*)tx_data;
14 for (
int i = 0; i < 127; i++)
16 student_interactive_data->header_data.data_cmd_id = data_cmd_id;
18 student_interactive_data->header_data.receiver_id = receiver_id;
19 student_interactive_data->data = data;
33 uint8_t tx_data[
sizeof(rm_referee::MapSentryData)] = { 0 };
34 auto map_sentry_data = (rm_referee::MapSentryData*)tx_data;
36 for (
int i = 0; i < 127; i++)
38 map_sentry_data->intention = data.intention;
39 map_sentry_data->start_position_x = data.start_position_x;
40 map_sentry_data->start_position_y = data.start_position_y;
41 for (
int i = 0; i < 49; i++)
43 map_sentry_data->delta_x[i] = data.delta_x[i];
44 map_sentry_data->delta_y[i] = data.delta_y[i];
69 rm_referee::CustomInfo tx_data;
70 data_len =
static_cast<int>(
sizeof(rm_referee::CustomInfo));
75 uint16_t characters[15];
76 for (
int i = 0; i < 15; i++)
78 if (i <
static_cast<int>(data.size()))
79 characters[i] =
static_cast<uint16_t
>(data[i]);
81 characters[i] =
static_cast<uint16_t
>(L
' ');
83 for (
int i = 0; i < 15; i++)
85 tx_data.user_data[2 * i] = characters[i] & 0xFF;
86 tx_data.user_data[2 * i + 1] = (characters[i] >> 8) & 0xFF;
95 uint8_t tx_data[
sizeof(rm_referee::ClientMapReceiveData)] = { 0 };
96 auto radar_interactive_data = (rm_referee::ClientMapReceiveData*)tx_data;
98 for (
int i = 0; i < 127; i++)
100 radar_interactive_data->hero_position_x = data->hero_position_x;
101 radar_interactive_data->hero_position_y = data->hero_position_y;
102 radar_interactive_data->engineer_position_x = data->engineer_position_x;
103 radar_interactive_data->engineer_position_y = data->engineer_position_y;
104 radar_interactive_data->infantry_3_position_x = data->infantry_3_position_x;
105 radar_interactive_data->infantry_3_position_y = data->infantry_3_position_y;
106 radar_interactive_data->infantry_4_position_x = data->infantry_4_position_x;
107 radar_interactive_data->infantry_4_position_y = data->infantry_4_position_y;
108 radar_interactive_data->infantry_5_position_x = data->infantry_5_position_x;
109 radar_interactive_data->infantry_5_position_y = data->infantry_5_position_y;
110 radar_interactive_data->sentry_position_x = data->sentry_position_x;
111 radar_interactive_data->sentry_position_y = data->sentry_position_y;
129 rm_referee::SentryCmd tx_data;
130 data_len =
static_cast<int>(
sizeof(rm_referee::SentryCmd));
134 tx_data.sentry_info = data->sentry_info;
143 rm_referee::RadarInfo tx_data;
144 data_len =
static_cast<int>(
sizeof(rm_referee::RadarInfo));
148 tx_data.radar_info = data->radar_info;
157 uint16_t receiver_id;
166 uint8_t tx_data[
sizeof(BulletNumData)] = { 0 };
167 auto bullet_num_data = (BulletNumData*)tx_data;
169 for (
int i = 0; i < 127; i++)
173 bullet_num_data->header_data.receiver_id = receiver_id;
185 if (data.bullet_allowance_num_42_mm > 5096 || data.bullet_allowance_num_17_mm > 5096)
200 uint8_t tx_data[
sizeof(SentryAttackingTargetData)] = { 0 };
201 auto sentry_attacking_target_data = (SentryAttackingTargetData*)tx_data;
203 for (
int i = 0; i < 127; i++)
206 sentry_attacking_target_data->header_data.sender_id =
base_.
robot_id_;
208 sentry_attacking_target_data->header_data.receiver_id =
RED_RADAR;
210 sentry_attacking_target_data->header_data.receiver_id =
BLUE_RADAR;
211 sentry_attacking_target_data->target_robot_ID =
robot_id_;
236 uint8_t tx_data[
sizeof(RadarToSentryData)] = { 0 };
237 auto radar_to_sentry_data = (RadarToSentryData*)tx_data;
239 for (
int i = 0; i < 127; i++)
244 radar_to_sentry_data->header_data.receiver_id =
RED_SENTRY;
246 radar_to_sentry_data->header_data.receiver_id =
BLUE_SENTRY;
247 radar_to_sentry_data->robot_ID =
robot_id_;