Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / diagnostic_station / stationCode / UI / main.c @ 1118

History | View | Annotate | Download (2.83 KB)

1
void main_menu(void);
2
void test_menu(void);
3
void BOM_menu(void);
4
void rangefinder_menu(void);
5
void motor_menu(void);
6

    
7

    
8
int main(void){
9
        usb_init();
10
        
11
        //wait for activation char?
12
        
13
        main_menu();
14
}
15

    
16
void main_menu(void){
17
        usb_puts("Colony Diagnostic Station - Main Menu\n");
18
        usb_puts("F - Run Full Test\n");
19
        usb_puts("I - Run Individual Tests\n");
20
        char choice = usb_getc();
21
        switch(choice){
22
                case 'F':
23
                case 'f':
24
                        //run full test
25
                        break;
26
                case 'I':
27
                case 'i':
28
                        test_menu();
29
                        break;
30
                default:
31
                        usb_puts("Received invalid input ");
32
                        usb_putc(choice);
33
                        usb_putc('\n');
34
                        main_menu();
35
        }
36
        //flush?
37
        main_menu();
38
}
39

    
40
void test_menu(void){
41
        usb_puts("Colony Diagnostic Station - Individual Tests\n");
42
        usb_puts("B - Bearing and Orientation Module\n");
43
        usb_puts("I - Infrared Rangefinders\n");
44
        usb_puts("M - Motors\n");
45
        char choice = usb_getc();
46
        switch(choice){
47
                case 'B':
48
                case 'b':
49
                        BOM_menu();
50
                        break;
51
                case 'I':
52
                case 'i':
53
                        rangefinder_menu();
54
                        break;
55
                case 'M':
56
                case 'm':
57
                        motor_menu();
58
                default:
59
                        usb_puts("Received invalid input ");
60
                        usb_putc(choice);
61
                        usb_putc('\n');
62
                        test_menu();        
63
        }
64
}
65

    
66
void BOM_menu(void){
67
        usb_puts("Colony Diagnostic Station - BOM Tests\n");
68
        usb_puts("F - Run Full Test\n");
69
        usb_puts("D - Detectors\n");
70
        usb_puts("E - Emitters\n");
71
        char choice = usb_getc();
72
        switch(choice){
73
                case 'F':
74
                case 'f':
75
                        //run full test
76
                        break;
77
                case 'D':
78
                case 'd':
79
                        //test detectors
80
                        break;
81
                case 'E':
82
                case 'e':
83
                        //test emitters
84
                        break;
85
                default:
86
                        usb_puts("Received invalid input ");
87
                        usb_putc(choice);
88
                        usb_putc('\n');
89
                        BOM_menu();
90
        }
91
}
92

    
93
void rangefinder_menu(void){
94
        usb_puts("Colony Diagnostic Station - Rangefinder Tests\n");
95
        usb_puts("F - Run Full Test\n");
96
        usb_puts("M - Maximum and Minimum Range\n");
97
        usb_puts("L - Linearity\n");
98
        char choice = usb_getc();
99
        switch(choice){
100
                case 'F':
101
                case 'f':
102
                        //run full test
103
                        break;
104
                case 'm':
105
                case 'M':
106
                        //test max/min range
107
                        break;
108
                case 'L':
109
                case 'l':
110
                        //test linearity
111
                        break;
112
                default:
113
                        usb_puts("Received invalid input ");
114
                        usb_putc(choice);
115
                        usb_putc('\n');
116
                        rangefinder_menu();
117
        }
118
}
119

    
120
void motor_menu(void){
121
        usb_puts("Colony Diagnostic Station - Motor Tests\n");
122
        usb_puts("F - Run Full Test\n");
123
        usb_puts("M - Maximum and Minimum Speed\n");
124
        usb_puts("L - Linearity\n");
125
        usb_puts("E - Encoders\n");
126
        char choice = usb_getc();
127
        switch(choice){
128
                case 'F':
129
                case 'f':
130
                        //run full test
131
                        break;
132
                case 'm':
133
                case 'M':
134
                        //test max/min speed
135
                        break;
136
                case 'L':
137
                case 'l':
138
                        //test linearity
139
                        break;
140
                case 'E':
141
                case 'e':
142
                        //test encoders
143
                        break;
144
                default:
145
                        usb_puts("Received invalid input ");
146
                        usb_putc(choice);
147
                        usb_putc('\n');
148
                        rangefinder_menu();
149
        }
150
}