forked from m5m5/Hello
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMenu Snippet Code.c
More file actions
123 lines (118 loc) · 4.86 KB
/
Menu Snippet Code.c
File metadata and controls
123 lines (118 loc) · 4.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//General Menu structure for any program using kbhit
int8 selectTopMenu(void)
{
char data_in;
int8 cmd;
int16 tempVal,ii;
// disable_interrupts(INT_RDA);
// clear_interrupt(INT_RDA);
while(1)
{
fprintf(SERIAL_ADAPTER, "\r\nTest Menu\r\n");
fprintf(SERIAL_ADAPTER, "0. \r\n");
fprintf(SERIAL_ADAPTER, "1. \r\n");
fprintf(SERIAL_ADAPTER, "2. \r\n");
fprintf(SERIAL_ADAPTER, "3. \r\n");
fprintf(SERIAL_ADAPTER, "4. \r\n");
fprintf(SERIAL_ADAPTER, "5. \r\n");
fprintf(SERIAL_ADAPTER, "6. \r\n");
fprintf(SERIAL_ADAPTER, "7. \r\n");
fprintf(SERIAL_ADAPTER, "8. \r\n");
fprintf(SERIAL_ADAPTER, "9. \r\n");
fprintf(SERIAL_ADAPTER, "A. \r\n");
fprintf(SERIAL_ADAPTER, "B. \r\n");
fprintf(SERIAL_ADAPTER, "C. \r\n");
fprintf(SERIAL_ADAPTER, "D. \r\n");
fprintf(SERIAL_ADAPTER, "E. \r\n");
fprintf(SERIAL_ADAPTER, "F. \r\n");
fprintf(SERIAL_ADAPTER, "G. \r\n");
fprintf(SERIAL_ADAPTER, "H. \r\n");
fprintf(SERIAL_ADAPTER, "x. Return to Main Program\r\n");
while(1)
{
while( !kbhit(SERIAL_ADAPTER));
data_in = fgetc(SERIAL_ADAPTER);
//cmd = data_in-0x30;
cmd = data_in;
fprintf(SERIAL_ADAPTER,"Selected %c\r\n",data_in);
if( (cmd>='0' && cmd<='9') || (cmd>='A' && cmd<='H') || cmd=='x') break;
else fprintf(SERIAL_ADAPTER,"invalid selection, select again\r\n");
}
switch(cmd)
{
case '0': //
fprintf(SERIAL_ADAPTER, "\r\nSELECTED 0: \r\n");
//OUTPUT_LOW(ENABLE_MAXON);
motorSetting=0;
break;
case '1': //
fprintf(SERIAL_ADAPTER, "\r\nSELECTED 1: \r\n");
OUTPUT_HIGH(ENABLE_MAXON);
break;
case '2': //
fprintf(SERIAL_ADAPTER, "\r\nSELECTED 2: \r\n");
OUTPUT_LOW(DIRECTION_MAXON);
break;
case '3': //
fprintf(SERIAL_ADAPTER, "\r\nSELECTED 3: \r\n");
OUTPUT_HIGH(DIRECTION_MAXON);
break;
case '4': //
fprintf(SERIAL_ADAPTER, "\r\nSELECTED 4: \r\n");
motorSetting=0;
//fprintf(SERIAL_ADAPTER, "MOTOR SETTING = %ld\r\n",motorSetting);
dacWrite(motorSetting);
break;
case '5': //
break;
case '6': //
break;
case '7': //
break;
case '8': //Read Voltage In
set_adc_channel(3);
delay_us(100);
tempVal=read_adc();
//tempVal=temVal*some factor //MIK
fprintf(SERIAL_ADAPTER, "\n\rRead Input Voltage\r\n");
fprintf(SERIAL_ADAPTER,"Vin=%f VDC, Counts=%ld\r\n",tempVal*0.041436,tempVal);
updateVoltageIn();
fprintf(SERIAL_ADAPTER,"Vin=%f VDC Calulated from updateCurrent function\r\n",voltageIn);
break;
case '9': //Read Current In //MIK - hardware not implemented - do I have the parts?
set_adc_channel(0);
delay_us(100);
tempVal=read_adc();
//tempVal=temVal*some factor //MIK
fprintf(SERIAL_ADAPTER,"Iin=%f A, Counts=%ld\r\n",tempVal*0.002976,tempVal); //Real calc. value = 1/328.25, calibrated value = 1/344.37, used mid value
updateCurrentIn();
fprintf(SERIAL_ADAPTER,"Iin=%f A Calulated from updateCurrent function\r\n",currentIn); //Real calc. value = 1/328.25, calibrated value = 1/344.37, used mid value
break;
case 'A': //
break;
case 'B': //Read Temperature
fprintf(SERIAL_ADAPTER,"Temperature = %f deg C\r\n",getTemperature());
break;
case 'C': //
break;
case 'D': //
break;
case 'E': //
break;
case 'F': //
break;
case 'G': //
break;
case 'H': //
break;
case 'x': //break
fprintf(SERIAL_ADAPTER,"Exit from menu\r\n");
delay_ms(10);
return('x');
break;
default:
fprintf(SERIAL_ADAPTER,"Invalid Input\r\n");
break;
}
}
}