Skip to content

Commit e3290c0

Browse files
Used constants for menu names. Formatting and bug fix.
Menus can be referred to by name now. Formatted new code I'd added to use the coding style already present. Fixed a overflow error in the HA Menu's Up button processing.
1 parent 214dd3d commit e3290c0

File tree

4 files changed

+59
-72
lines changed

4 files changed

+59
-72
lines changed

Software/Arduino code/OpenAstroTracker/a_inits.ino

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
2727
#define btnSELECT 4
2828
#define btnNONE 5
2929

30+
#define RA_Menu 0
31+
#define DEC_Menu 1
32+
#define HA_Menu 2
33+
#define Polaris_Menu 3
34+
#define Heat_Menu 4
35+
#define Calibration_Menu 5
36+
#define Last_Menu Calibration_Menu
37+
3038
int lcd_key = 0;
3139
int adc_key_in = 0;
3240
int read_LCD_buttons() {
@@ -40,6 +48,7 @@ int read_LCD_buttons() {
4048
//return btnNONE;
4149
}
4250

51+
4352
String inString = "";
4453

4554
AccelStepper stepperRA(FULLSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
@@ -61,7 +70,7 @@ unsigned long Zeit;
6170
float onehour;
6271

6372
boolean pcControl = false;
64-
int menu = 2;
73+
int menu = HA_Menu;
6574
int currentSecs;
6675
int currentMins;
6776
float inputcal;

Software/Arduino code/OpenAstroTracker/c_buttons.ino

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -23,74 +23,60 @@ void loop() {
2323

2424
switch (lcd_key) {
2525
case btnUP: {
26-
while (menu == 0) {
26+
if (menu == RA_Menu) {
2727
if (RAselect == 0) hourRA += 1;
2828
if (RAselect == 1) minRA += 1;
2929
if (RAselect == 2) secRA += 1;
30-
break;
3130
}
32-
while (menu == 1) {
31+
if (menu == DEC_Menu) {
3332
if (DECselect == 0) degreeDEC += 1;
3433
if (DECselect == 1) minDEC += 1;
3534
if (DECselect == 2) secDEC += 1;
36-
break;
3735
}
38-
while (menu == 2) {
36+
if (menu == HA_Menu) {
3937
if (HAselect == 0) hourHA += 1;
4038
if (HAselect == 1) minHA += 1;
41-
if (hourHA>24) hourHA-=24;
42-
if (minHA>60) minHA-=60;
39+
if (hourHA > 23) hourHA -= 24;
40+
if (minHA > 59) minHA -= 60;
4341

4442
EEPROM.update(1, hourHA);
4543
EEPROM.update(2, minHA);
46-
break;
4744
}
48-
while (menu == 5) {
45+
if (menu == Calibration_Menu) {
4946
inputcal += 1; //0.0001;
50-
51-
break;
5247
}
48+
5349
break;
5450
}
5551

5652
case btnDOWN: {
57-
while (menu == 0) {
53+
if (menu == RA_Menu) {
5854
if (RAselect == 0) hourRA -= 1;
5955
if (RAselect == 1) minRA -= 1;
6056
if (RAselect == 2) secRA -= 1;
61-
break;
6257
}
63-
while (menu == 1) {
58+
if (menu == DEC_Menu) {
6459
if (DECselect == 0) degreeDEC -= 1;
6560
if (DECselect == 1) minDEC -= 1;
6661
if (DECselect == 2) secDEC -= 1;
67-
break;
6862
}
69-
while (menu == 5) {
70-
inputcal -= 1 ; //0.0001;
71-
72-
break;
73-
}
74-
while (menu == 2) {
63+
if (menu == HA_Menu) {
7564
if (HAselect == 0) hourHA -= 1;
7665
if (HAselect == 1) minHA -= 1;
77-
if (hourHA<0) hourHA+=24;
78-
if (minHA<0) minHA+=60;
79-
break;
66+
if (hourHA < 0) hourHA += 24;
67+
if (minHA < 0) minHA += 60;
68+
}
69+
if (menu == Calibration_Menu) {
70+
inputcal -= 1 ; //0.0001;
8071
}
8172

82-
/*while (menu == 4) { // only counting up recommended, breaks code otherwise
83-
if (HAselect == 0) hourHA -= 1;
84-
if (HAselect == 1) minHA -= 1;
85-
break;
86-
}*/
8773
break;
8874
}
8975

9076
case btnSELECT: {
9177
/*stepperRA.moveTo(-moveRA);
9278
stepperDEC.moveTo(moveDEC);*/
93-
if (menu < 2) {
79+
if (menu < HA_Menu) {
9480
while (stepperRA.distanceToGo() != 0 && stepperDEC.distanceToGo() == 0) {
9581
stepperRA.run();
9682
}
@@ -104,11 +90,11 @@ void loop() {
10490
stepperDEC.run();
10591
}
10692
}
107-
if (menu == 2) {
93+
if (menu == HA_Menu) {
10894
hourHA = 0;
10995
minHA = 0;
11096
}
111-
if (menu == 3) {
97+
if (menu == Polaris_Menu) {
11298
hPolarisPosition = 2 - hourRAprint;
11399
mPolarisPosition = 57 - minRAprint;
114100
if (mPolarisPosition < 0) {
@@ -131,7 +117,7 @@ void loop() {
131117
}
132118
}
133119

134-
if (menu == 4) {
120+
if (menu == Heat_Menu) {
135121
if (heatselect == 0) {
136122
RAheat += 1;
137123
if (RAheat > 1) RAheat = 0;
@@ -142,7 +128,7 @@ void loop() {
142128
}
143129
break;
144130
}
145-
if (menu == 5) {
131+
if (menu == Calibration_Menu) {
146132

147133
EEPROM.update(0, inputcal);
148134
break;
@@ -152,21 +138,20 @@ void loop() {
152138

153139

154140
case btnLEFT: {
155-
if (menu == 0) {
141+
if (menu == RA_Menu) {
156142
RAselect += 1;
157143
while (RAselect > 2) RAselect = 0;
158-
break;
159144
}
160-
if (menu == 1) {
145+
if (menu == DEC_Menu) {
161146
DECselect += 1;
162147
while (DECselect > 2) DECselect = 0;
163148
}
164-
if (menu == 2) {
149+
if (menu == HA_Menu) {
165150
HAselect += 1;
166151
while (HAselect > 1) HAselect = 0;
167152
break;
168153
}
169-
if (menu == 4) {
154+
if (menu == Heat_Menu) {
170155
heatselect += 1;
171156
while (heatselect > 1) heatselect = 0;
172157
}
@@ -175,13 +160,12 @@ void loop() {
175160

176161
case btnRIGHT: {
177162
menu += 1;
178-
if (menu > 5) menu = 0;
179-
if (!north && menu == 3) menu = 4;
163+
if (menu > Last_Menu) menu = 0;
164+
if (!north && menu == Polaris_Menu) menu = Heat_Menu;
180165
while (read_LCD_buttons() != btnNONE) {
181166
delay(20);
182167
}
183168
break;
184-
185-
186169
}
187170
}
171+

Software/Arduino code/OpenAstroTracker/e_printout.ino

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,26 @@ if (!pcControl) {
22
lcd.setCursor(0, 0);
33

44
if (north == true) {
5-
if (menu == 0) printMenu(" >RAs< DEC H");
6-
if (menu == 1) printMenu(" RAs >DEC< HA PO");
7-
if (menu == 2) printMenu(" DEC >HA < POL H");
8-
if (menu == 3) printMenu(" HA >POL< HEAT ");
9-
if (menu == 4) printMenu(" POL >HEAT< CAL ");
10-
if (menu == 5) printMenu("HEAT >CAL< ");
5+
if (menu == RA_Menu) printMenu(" >RAs< DEC H");
6+
if (menu == DEC_Menu) printMenu(" RAs >DEC< HA PO");
7+
if (menu == HA_Menu) printMenu(" DEC >HA < POL H");
8+
if (menu == Polaris_Menu) printMenu(" HA >POL< HEAT ");
9+
if (menu == Heat_Menu) printMenu(" POL >HEAT< CAL ");
10+
if (menu == Calibration_Menu) printMenu("HEAT >CAL< ");
1111
}
1212
else {
13-
if (menu == 0) printMenu(" >RAs< DEC H");
14-
if (menu == 1) printMenu(" RAs >DEC< HA HE");
15-
if (menu == 2) printMenu(" DEC >HA < HEAT ");
16-
17-
if (menu == 4) printMenu(" HA >HEAT< CAL ");
18-
if (menu == 5) printMenu("HEAT >CAL< ");
13+
if (menu == RA_Menu) printMenu(" >RAs< DEC H");
14+
if (menu == DEC_Menu) printMenu(" RAs >DEC< HA HE");
15+
if (menu == HA_Menu) printMenu(" DEC >HA < HEAT ");
16+
if (menu == Heat_Menu) printMenu(" HA >HEAT< CAL ");
17+
if (menu == Calibration_Menu) printMenu("HEAT >CAL< ");
1918
}
2019

21-
22-
2320
lcd.setCursor(0, 1);
2421

25-
2622
//RA Menu printing; =menu0 -------------------------------
2723

28-
if (menu == 0) {
24+
if (menu == RA_Menu) {
2925
if (hourRAprint < 0) hourRAprint += 24;
3026
if (minRAprint < 0) minRAprint += 60;
3127
if (RAselect == 0) {
@@ -70,7 +66,7 @@ if (!pcControl) {
7066
}
7167
}
7268
//DEC menu printing =menu1 ------------------------------
73-
if (menu == 1) {
69+
if (menu == DEC_Menu) {
7470
if (DECselect == 0) {
7571
lcd.write(rightArrow);
7672
lcd.print(printdegDEC);
@@ -115,7 +111,7 @@ if (!pcControl) {
115111
}
116112

117113
//Homing menu ------------------------
118-
/*if (menu == 2) {
114+
/*if (menu == Homing_Menu) {
119115
//lcd.print("Select for home"); Doesnt work yet
120116
lcd.print("Work in Progress");
121117
lcd.print(" ");
@@ -128,7 +124,7 @@ if (!pcControl) {
128124
}*/
129125

130126
//heating menu -----------------------
131-
if (menu == 4) {
127+
if (menu == Heat_Menu) {
132128
if (heatselect == 0 && RAheat == 0 && DECheat == 0) {
133129
printMenu("RA>OFF< DEC: OFF ");
134130
}
@@ -156,7 +152,7 @@ if (!pcControl) {
156152
}
157153

158154
//HA menu printing =menu2 -----------------------------
159-
if (menu == 2) {
155+
if (menu == HA_Menu) {
160156
if (HAselect == 0) {
161157
//lcd.print("Input HA:");
162158
lcd.write(rightArrow);
@@ -183,7 +179,7 @@ if (!pcControl) {
183179

184180
//Calibration menu -----------------------------
185181
speedcalibration = speed + inputcal / 10000;
186-
if (menu == 5) {
182+
if (menu == Calibration_Menu) {
187183
lcd.print("Speed:");
188184
lcd.print(speedcalibration, 4);
189185
lcd.print(" ");
@@ -198,7 +194,7 @@ if (!pcControl) {
198194
}
199195
if (hPolarisPosition < -6) hPolarisPosition += 24;
200196
if (hPolarisPosition > 6) hPolarisPosition -= 12;
201-
if (menu == 3 && north == true) {
197+
if (menu == Polaris_Menu && north == true) {
202198
/*lcd.print(hPolarisPosition);
203199
lcd.print(" ");
204200
lcd.print(mPolarisPosition);*/

Software/Arduino code/OpenAstroTracker/ep_print.ino

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
void printMenu(String line)
22
{
3-
for (int i=0;i<line.length();i++)
4-
{
5-
if (line[i]=='>'){
3+
for (int i = 0;i < line.length();i++) {
4+
if (line[i] == '>') {
65
lcd.write(rightArrow);
76
}
8-
else if (line[i]=='<'){
7+
else if (line[i] == '<') {
98
lcd.write(leftArrow);
109
}
11-
else
12-
{
10+
else {
1311
lcd.print(line[i]);
1412
}
1513
}

0 commit comments

Comments
 (0)