Revision 899
Wireless output works.
trunk/code/projects/mapping/robot/robot_main.c | ||
---|---|---|
8 | 8 |
#define POINT_RAW 1 // packet type for map data points w/ raw encoder data |
9 | 9 |
#define POINT_ODO 2 // packet type for map data points w/ odometry data |
10 | 10 |
|
11 |
PacketGroupHandler love_handle = {MAP, NULL, NULL, NULL, NULL}; |
|
12 |
|
|
11 | 13 |
int main(void) |
12 | 14 |
{ |
13 | 15 |
/* initialize components and join the token ring */ |
14 |
//wl_init(); |
|
16 |
dragonfly_init(ALL_ON); |
|
17 |
range_init(); |
|
18 |
wl_init(); |
|
19 |
wl_set_channel(0xF); |
|
20 |
wl_register_packet_group(&love_handle); |
|
15 | 21 |
//data_response_init(); |
16 | 22 |
//wl_token_ring_register(); |
17 | 23 |
//wl_token_ring_join(); |
18 |
dragonfly_init(ALL_ON); |
|
19 | 24 |
run_around_init(); |
20 | 25 |
//odometry_init(); |
21 | 26 |
|
22 | 27 |
//int x, y; // use when sending odometry data |
23 | 28 |
//float theta; |
24 | 29 |
|
25 |
// use when sending raw encoder data |
|
26 |
int left_enc, right_enc, range1, range2, range3, range4, range5; |
|
27 |
|
|
28 | 30 |
int store[7]; |
29 |
char send[8]; // for transmission
|
|
31 |
char *send; // for transmission
|
|
30 | 32 |
|
31 | 33 |
while(1) |
32 | 34 |
{ |
... | ... | |
36 | 38 |
//x = odometry_dx(); // use when sending odometry data |
37 | 39 |
//y = odometry_dy(); |
38 | 40 |
//theta = odometry_angle(); |
39 |
store[0] = encoder_get_dx(LEFT); // left encoder distance |
|
40 |
store[1] = encoder_get_dx(RIGHT); // right encoder distance |
|
41 |
store[0] = -1;//encoder_get_dx(LEFT); // left encoder distance
|
|
42 |
store[1] = -1;//encoder_get_dx(RIGHT); // right encoder distance
|
|
41 | 43 |
store[2] = range_read_distance(IR1); // IR1 range |
42 | 44 |
store[3] = range_read_distance(IR2); // IR2 range |
43 | 45 |
store[4] = range_read_distance(IR3); // IR3 range |
44 | 46 |
store[5] = range_read_distance(IR4); // IR4 range |
45 | 47 |
store[6] = range_read_distance(IR5); // IR5 range |
46 | 48 |
|
47 |
//send = (char) store; // convert to chars for transmission |
|
48 |
// for (int i = 0; i < 7; i++) |
|
49 |
// { |
|
50 |
// send[i] = (char) store[i]; |
|
51 |
// } |
|
52 |
// send[7] = 0; |
|
49 |
// convert to chars for transmission |
|
50 |
//for (int i = 0; i < 7; i++) |
|
51 |
//{ |
|
52 |
// send[i] = (char) store[i]; |
|
53 |
//} |
|
54 |
//send[7] = '\0'; |
|
55 |
//memcpy(store, send, 14); |
|
56 |
send = (char*) store; |
|
53 | 57 |
|
54 | 58 |
// send point w/ raw encoder data |
55 |
// wl_send_global_packet(MAP, POINT_RAW, send, 7, 0);
|
|
59 |
wl_send_global_packet(MAP, POINT_RAW, send, 14, 0);
|
|
56 | 60 |
|
57 | 61 |
// send point w/ odometry data |
58 | 62 |
// wl_send_global_packet(MAP, POINT_ODO, send, 8, 0); |
... | ... | |
65 | 69 |
for (int i = 0; i < 7; i++) |
66 | 70 |
{ |
67 | 71 |
usb_puti(store[i]); |
72 |
usb_putc(' '); |
|
68 | 73 |
} |
69 |
usb_putc("\n"); |
|
74 |
usb_putc('\n'); |
|
75 |
usb_puti(range_read_distance(IR1)); |
|
76 |
usb_putc('\n'); |
|
70 | 77 |
} |
71 | 78 |
|
72 |
//wl_terminate();
|
|
79 |
wl_terminate(); |
|
73 | 80 |
return 0; |
74 | 81 |
} |
75 | 82 |
|
Also available in: Unified diff