62 *len += sprintf(udp_packet,
"%d,%d,%d,%c,%d,%d,%d,%d",recv_id, send_id, send_team, type,timestamp,seqno,seqid,seq_lid);
82 *len += sprintf(udp_packet + *len,
",%d",data_type);
91 *len += sprintf(udp_packet + *len,
",%d,%d,%d",
94 (
int)(((
robot_t *)data)->a * (180/M_PI)));
101 *len += sprintf(udp_packet + *len,
",%d,%d,%s",
111 *len += sprintf(udp_packet + *len,
",%d,%d,%d,",
125 *len += sprintf(udp_packet + *len,
",%d",
132 *len += sprintf(udp_packet + *len,
",%ld,",
136 memcpy(udp_packet + *len, ((
stream_t *)data)->data, ((
stream_t *)data)->size);
155 udp_packet[*len] =
'\0';
176 pch = strtok(udp_packet,
",");
177 packet->
recv_id = strtol(pch, &end_ptr, 10);
179 pch = strtok(NULL,
",");
180 packet->
send_id = strtol(pch, &end_ptr, 10);
182 if(packet->
send_id == robot_id)
185 pch = strtok(NULL,
",");
186 packet->
send_team = strtol(pch, &end_ptr, 10);
189 if(packet->
send_team != robot_team && robot_team != 0)
193 pch = strtok(NULL,
",");
194 memcpy(&packet->
type, pch, 1);
197 pch = strtok(NULL,
",");
198 packet->
send_time = strtol(pch, &end_ptr, 10);
201 pch = strtok(NULL,
",");
202 packet->
pkt_seqno= strtol(pch, &end_ptr, 10);
205 pch = strtok(NULL,
",");
206 packet->
pkt_seqid= strtol(pch, &end_ptr, 10);
209 pch = strtok(NULL,
",");
228 pch = strtok(NULL,
",");
229 packet->
data_type = strtol(pch, &end_ptr, 10);
242 pch = strtok(NULL,
",");
243 ((
robot_t *)packet->
data)->x = strtol(pch, &end_ptr, 10);
245 pch = strtok(NULL,
",");
246 ((
robot_t *)packet->
data)->y = strtol(pch, &end_ptr, 10);
248 pch = strtok(NULL,
",");
249 ((
robot_t *)packet->
data)->a = (float)strtol(pch, &end_ptr, 10) * (float)(M_PI/180);
260 pch = strtok(NULL,
",");
261 ((
victim_t *)packet->
data)->x = strtol(pch, &end_ptr, 10);
263 pch = strtok(NULL,
",");
264 ((
victim_t *)packet->
data)->y = strtol(pch, &end_ptr, 10);
266 pch = strtok(NULL,
",");
278 pch = strtok(NULL,
",");
281 pch = strtok(NULL,
",");
284 pch = strtok(NULL,
",");
291 pch = strtok(NULL,
",");
306 pch = strtok(NULL,
" ,");
307 ((
command_t *)packet->
data)->cmd = strtol(pch, &end_ptr, 10);
318 pch = strtok(NULL,
",");
319 ((
stream_t *)packet->
data)->counter = strtol(pch, &end_ptr, 10);
321 pch = strtok(NULL,
",");
322 ((
stream_t *)packet->
data)->size = strtol(pch, &end_ptr, 10);
325 pch = strtok(NULL,
",");
#define s_DATA_STRUCT_TYPE_ROBOT
#define s_PROTOCOL_TYPE_DATA
#define s_PROTOCOL_TYPE_ACK
int protocol_decode(protocol_t *packet, char *udp_packet, int len, int robot_id, int robot_team)
double timelib_unix_timestamp()
#define s_PROTOCOL_TYPE_GO_AHEAD
#define s_DATA_STRUCT_TYPE_PHEROMONE
#define s_DATA_STRUCT_TYPE_STREAM
#define s_DATA_STRUCT_TYPE_CMD
int protocol_encode(char *udp_packet, int *len, int recv_id, int send_id, int send_team, char type, int seqno, int seqid, int seq_lid, int data_type, void *data)
#define s_DATA_STRUCT_TYPE_VICTIM
Pheromone Map Sector structure.