root / trunk / code / projects / diagnostic_station / station / comm_interactive.c @ 1310
History | View | Annotate | Download (2.51 KB)
1 | 1242 | deffi | #include "comm_interactive.h" |
---|---|---|---|
2 | |||
3 | #include <dragonfly_lib.h> |
||
4 | |||
5 | #include "global.h" |
||
6 | #include "tests.h" |
||
7 | #include "self_test.h" |
||
8 | |||
9 | 1244 | deffi | #include "dump_robot.h" |
10 | #include "dump_station.h" |
||
11 | |||
12 | 1262 | bneuman | #include "hardware.h" |
13 | |||
14 | 1242 | deffi | #define ESC 27 |
15 | |||
16 | void station_sensors_menu (void) |
||
17 | { |
||
18 | while (1) |
||
19 | { |
||
20 | 1267 | deffi | usb_puts ("# Dump station sensors menu: (d)ynamos, (w)all, (t)urntable, (i)bom, (a)dc" NL);
|
21 | 1242 | deffi | |
22 | char choice = usb_getc ();
|
||
23 | switch (choice) {
|
||
24 | 1267 | deffi | case 'd': case 'D': dump_station_dynamos (); break; |
25 | case 'w': case 'W': dump_station_wall (); break; |
||
26 | case 't': case 'T': dump_station_turntable (); break; |
||
27 | case 'i': case 'I': dump_station_ibom (); break; |
||
28 | case 'a': case 'A': dump_station_adc (0, 16, 100); break; |
||
29 | 1242 | deffi | case ESC: return; |
30 | default: break; |
||
31 | } |
||
32 | } |
||
33 | } |
||
34 | |||
35 | void robot_sensors_menu (void) |
||
36 | { |
||
37 | while (1) |
||
38 | { |
||
39 | 1246 | deffi | usb_puts ("# Dump robot sensors menu: (e)ncoders, (r)angefinders, (b)om" NL);
|
40 | 1242 | deffi | |
41 | char choice = usb_getc ();
|
||
42 | switch (choice) {
|
||
43 | 1246 | deffi | case 'e': case 'E': dump_robot_encoders (); break; |
44 | case 'r': case 'R': dump_robot_rangefinders (); break; |
||
45 | case 'b': case 'B': dump_robot_bom (); break; |
||
46 | 1242 | deffi | case ESC: return; |
47 | default: break; |
||
48 | } |
||
49 | } |
||
50 | } |
||
51 | |||
52 | void tests_menu (void) |
||
53 | { |
||
54 | while (1) |
||
55 | { |
||
56 | usb_puts ("# Tests menu: (a)ll, (c)omm, (b)om, (r)angefinders, (m)otors, (e)ncoders" NL);
|
||
57 | |||
58 | char choice = usb_getc ();
|
||
59 | switch (choice) {
|
||
60 | case 'a': case 'A': test_all (); break; // test_all will test comm itself |
||
61 | case 'c': case 'C': test_comm (); break; |
||
62 | case 'b': case 'B': if (require_comm ()) test_bom_all (true, true); break; |
||
63 | case 'r': case 'R': if (require_comm ()) test_rangefinder_all (); break; |
||
64 | case 'm': case 'M': if (require_comm ()) test_motor_all (); break; |
||
65 | case 'e': case 'E': if (require_comm ()) test_encoder_all (); break; |
||
66 | case ESC: return; |
||
67 | default: break; |
||
68 | } |
||
69 | } |
||
70 | } |
||
71 | |||
72 | |||
73 | void main_menu (void) |
||
74 | { |
||
75 | while (1) |
||
76 | { |
||
77 | 1246 | deffi | usb_puts ("# Main menu: (t)ests, dump (s)tation sensors, dump (r)obot sensors" NL);
|
78 | 1242 | deffi | |
79 | char choice = usb_getc ();
|
||
80 | switch (choice) {
|
||
81 | case 't': tests_menu (); break; |
||
82 | case 's': station_sensors_menu (); break; |
||
83 | case 'r': robot_sensors_menu (); break; |
||
84 | case ESC: return; |
||
85 | } |
||
86 | } |
||
87 | } |
||
88 | |||
89 | void interactive_main (void) |
||
90 | { |
||
91 | while (1) |
||
92 | { |
||
93 | // Set the orbs to green/green
|
||
94 | orbs_set (0,255,0, 0,255,0); |
||
95 | |||
96 | usb_puts (NL); |
||
97 | usb_puts ("# Diagnostic station interactive mode" NL);
|
||
98 | |||
99 | main_menu (); |
||
100 | } |
||
101 | } |