root / trunk / code / projects / colonet / robot / joystick / keyboard_control / keyboard.c @ 1354
History | View | Annotate | Download (1.85 KB)
1 |
#include <stdlib.h> |
---|---|
2 |
#include <stdio.h> |
3 |
#include <string.h> |
4 |
#include <curses.h> // you need to install the ncurses library |
5 |
#include "../../../../libwireless/lib/wireless.h" |
6 |
#include <unistd.h> |
7 |
|
8 |
#define WL_CNTL_GROUP 4 |
9 |
|
10 |
#define CNTL_FORWARD 'f' |
11 |
#define CNTL_BACK 'b' |
12 |
#define CNTL_LEFT 'l' |
13 |
#define CNTL_RIGHT 'r' |
14 |
#define CNTL_STOP 's' |
15 |
#define CNTL_BUZZ0 't' |
16 |
#define CNTL_BUZZ1 'u' |
17 |
|
18 |
void send_packet (char type, int dst_robot); |
19 |
|
20 |
PacketGroupHandler cntlHandler = {WL_CNTL_GROUP, NULL, NULL, NULL, NULL}; |
21 |
|
22 |
int main(int argc, char *argv[]) { |
23 |
/* if (argc != 3) {
|
24 |
printf("Usage: ./test <robot #> <USB port #>\n");
|
25 |
return 1;
|
26 |
}
|
27 |
|
28 |
char c;
|
29 |
int robot = atoi(argv[1]);
|
30 |
char port[14]; // port that XBee is on
|
31 |
|
32 |
// USB port to use is second cmd-line argument
|
33 |
strcpy(port, "/dev/ttyUSB");
|
34 |
strcat(port, argv[2]);
|
35 |
|
36 |
printf("Beginning: robot=%d\r\n", robot);
|
37 |
wl_set_com_port(port);
|
38 |
wl_init();
|
39 |
//wl_set_channel(CHAN);
|
40 |
printf("Wireless initialized.\r\n");
|
41 |
wl_register_packet_group(&cntlHandler);
|
42 |
printf("Packet groups initialized.\r\n");
|
43 |
fflush(stdout);
|
44 |
*/
|
45 |
|
46 |
char c;
|
47 |
WINDOW* win = initscr(); |
48 |
cbreak(); |
49 |
noecho(); |
50 |
while (1) { |
51 |
c = getch(); |
52 |
printf("%c\r\n", c);
|
53 |
fflush(stdout); |
54 |
if (c == '0') |
55 |
break;
|
56 |
/*switch (c) {
|
57 |
case 'w':
|
58 |
send_packet(CNTL_FORWARD, robot);
|
59 |
break;
|
60 |
case 's':
|
61 |
send_packet(CNTL_BACK, robot);
|
62 |
break;
|
63 |
case 'a':
|
64 |
send_packet(CNTL_LEFT, robot);
|
65 |
break;
|
66 |
case 'd':
|
67 |
send_packet(CNTL_RIGHT, robot);
|
68 |
break;
|
69 |
case 'x':
|
70 |
send_packet(CNTL_STOP, robot);
|
71 |
break;
|
72 |
default:
|
73 |
//send_packet(CNTL_STOP, robot);
|
74 |
break;
|
75 |
}*/
|
76 |
} |
77 |
delwin(win); |
78 |
endwin(); |
79 |
refresh(); |
80 |
return 0; |
81 |
} |
82 |
/*
|
83 |
void send_packet (char type, int dst_robot) {
|
84 |
wl_send_robot_to_robot_global_packet(WL_CNTL_GROUP, type,
|
85 |
NULL, 0, dst_robot, 0);
|
86 |
}*/
|
87 |
|