Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (1.49 KB)

1 1197 ayeager
#include <dragonfly_lib.h>
2
#include <wireless.h>
3 1216 chihsiuh
//#include <termios.h>
4 1197 ayeager
#include <stdio.h>
5 1216 chihsiuh
//#include <unistd.h>
6 1197 ayeager
7
#define GROUP 1
8 1224 chihsiuh
#define MOTOR 0
9 1344 ayeager
#define ENCODER 132
10 1197 ayeager
11 1224 chihsiuh
#define SENDER 1
12
#define RECEIVER 0
13
14 1344 ayeager
int id = -1;
15 1216 chihsiuh
16 1344 ayeager
char data[2];
17
18 1222 chihsiuh
sentCount = 0;
19 1224 chihsiuh
char position = 0;
20 1222 chihsiuh
21 1344 ayeager
void packet_receive (char type, int source, char* packet, int length);
22 1197 ayeager
23
PacketGroupHandler packetHandler = {GROUP, 0, 0, &packet_receive, 0};
24
25 1344 ayeager
void packet_receive (char type, int source, char* packet, int length) {
26 1197 ayeager
27 1224 chihsiuh
        if(type == ENCODER)
28 1344 ayeager
        {
29
                if(id == -1)
30
                        id = source;
31
                if(source != id)
32
                        motor1_set(1, 200);
33 1224 chihsiuh
                usb_putc(packet[0]);
34
                usb_putc(packet[1]);
35 1344 ayeager
//                usb_putc(packet[2]);
36
//                usb_putc(packet[3]);
37
        }
38 1222 chihsiuh
39 1197 ayeager
}
40
41
int main (void) {
42 1224 chihsiuh
43 1216 chihsiuh
        dragonfly_init(ALL_ON);
44 1197 ayeager
        wl_init();
45 1216 chihsiuh
        lcd_init();
46
47 1224 chihsiuh
        lcd_puts("STARTING");
48
        position = usb_getc();
49
        lcd_puts("position is ");
50
        lcd_puti(position);
51 1216 chihsiuh
52 1224 chihsiuh
        if(position == SENDER)
53
        {
54
                //Read in from server
55
                lcd_puts("starting init");
56
                data[0] = usb_getc();
57
                data[1] = usb_getc();
58 1344 ayeager
                //data[2] = usb_getc();
59
                //data[3] = usb_getc();
60 1224 chihsiuh
61
                lcd_puts("Done with init\n");
62 1222 chihsiuh
63 1344 ayeager
                wl_send_global_packet(GROUP, MOTOR, data, 2, 0);
64 1224 chihsiuh
        }
65
        else
66
        {
67
                wl_register_packet_group(&packetHandler);
68
        }
69
70
//        lcd_clear_screen();
71 1197 ayeager
  while (1) {
72 1224 chihsiuh
  if(position == SENDER)
73
  {
74
                data[0] = usb_getc();
75
                data[1] = usb_getc();
76 1344 ayeager
                //data[2] = usb_getc();
77
                //data[3] = usb_getc();
78
                wl_send_global_packet(GROUP, MOTOR, data, 2, 0);
79
        }
80 1224 chihsiuh
81 1197 ayeager
          wl_do();
82
  }
83
84
}