Project

General

Profile

Statistics
| Revision:

root / branches / encoders / code / behaviors / spline / master / master.c @ 1224

History | View | Annotate | Download (1.38 KB)

1
#include <dragonfly_lib.h>
2
#include <wireless.h>
3
//#include <termios.h>           
4
#include <stdio.h>
5
//#include <unistd.h>
6

    
7
#define GROUP 1
8
#define MOTOR 0
9
#define ENCODER 1
10

    
11
#define SENDER 1
12
#define RECEIVER 0
13

    
14
unsigned char data[4];
15

    
16
sentCount = 0;
17
char position = 0;
18

    
19
void packet_receive (char type, int source, unsigned char* packet, int length);
20

    
21
PacketGroupHandler packetHandler = {GROUP, 0, 0, &packet_receive, 0};
22

    
23
void packet_receive (char type, int source, unsigned char* packet, int length) {
24

    
25
        if(type == ENCODER)
26
        {
27
                usb_putc(packet[0]);
28
                usb_putc(packet[1]);
29
                usb_putc(packet[2]);
30
                usb_putc(packet[3]);
31
        }
32
        
33
}
34

    
35
int main (void) {
36

    
37
        dragonfly_init(ALL_ON);
38
        wl_init();
39
        lcd_init();
40

    
41
        lcd_puts("STARTING");
42
        position = usb_getc();
43
        lcd_puts("position is ");
44
        lcd_puti(position);
45

    
46
        if(position == SENDER)
47
        {
48
                //Read in from server
49
                lcd_puts("starting init");
50
                data[0] = usb_getc(); 
51
                data[1] = usb_getc();
52
                data[2] = usb_getc();
53
                data[3] = usb_getc();
54
                
55
                lcd_puts("Done with init\n");
56

    
57
                wl_send_global_packet(GROUP, MOTOR, data, 4, 0);
58
        }
59
        else
60
        {
61
                wl_register_packet_group(&packetHandler);
62
        }
63

    
64
//        lcd_clear_screen();
65
  while (1) {
66
  if(position == SENDER)
67
  {
68
                data[0] = usb_getc(); 
69
                data[1] = usb_getc();
70
                data[2] = usb_getc();
71
                data[3] = usb_getc();
72
                wl_send_global_packet(GROUP, MOTOR, data, 4, 0);
73
}        
74

    
75
          wl_do();
76
  }
77
  
78
}
79