Revision 934 trunk/code/projects/mapping/python/server.c

server.c (revision 934)
13 13
#include "robots.h"
14 14
#include "wireless.h"
15 15

  
16
void donothin()
17
{
18
     return;
19
}
20 16

  
21 17

  
22 18
int main(int argc, char *argv[])
23 19
{
24
     char buffer[256];
25
     int n, newsockfd;
26
     short int x,y,ir1,ir2,ir3,ir4,ir5;
27
     float theta;
28
     Packet *received;
29 20
     if (argc < 2) {
30 21
	  fprintf(stderr,"usage: %s <port number>\n", argv[0]);
31 22
	  exit(1);
32 23
     }
33
/*      newsockfd = make_sock(atoi(argv[1])); */
24
     newsockfd = make_sock(atoi(argv[1]));
34 25
     printf("Made socket\n");
35 26
     make_listener();
36 27
     printf("Robot listener created.\n");
37

  
38
     bzero(buffer,256);
39

  
28
     
40 29
     while (1)
41 30
     {
42
	  bzero(buffer, 256);
43 31
	  wl_do();
44
	  
45
	  received = dequeue();
46

  
47
	  if (received)
48
	  {
49
	       buffer[0] = (char) received->source;
50
	       buffer[1] = (char) received->length;
51
	       buffer[2] = (char) received->type;
52
	       buffer[3] = 0;
53
	       memcpy(buffer+4, received->packet, received->length);
54
	       
55
	       memcpy(&x, buffer+4, 2);
56
	       memcpy(&y, buffer+6, 2);
57
	       memcpy(&theta, buffer+8, 4);
58
	       memcpy(&ir1, buffer+12, 2);
59
	       memcpy(&ir2, buffer+14, 2);
60
	       memcpy(&ir3, buffer+16, 2);
61
	       memcpy(&ir4, buffer+18, 2);
62
	       memcpy(&ir5, buffer+20, 2);
63

  
64
	       printf("(%d, %d, %f, %d, %d, %d, %d, %d)\n",
65
		      x, y, theta, ir1, ir2, ir3, ir4, ir5);
66

  
67
/* 	       n = write(newsockfd, buffer, 22); */
68
	       free(received);
69
	       bzero(buffer, 256);
70
	  }
71 32
     }
72 33
     return 0; 
73 34
}
......
77 38
     printf(msg);
78 39
     exit(1);
79 40
}
41

  

Also available in: Unified diff