Project

General

Profile

Revision 899

Wireless output works.

View differences:

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