@@ -37,62 +37,34 @@ String getMenuLabel(menuText_t labelId)
3737{
3838 switch (labelId)
3939 {
40- case MENU_BACK:
41- return F (" Back" );
42- case MENU_CONNECT_RA:
43- return F (" Connect to RA Driver" );
44- case MENU_CONNECT_DEC:
45- return F (" Connect to DEC Driver" );
46- case MENU_CONNECT_ALT:
47- return F (" Connect to ALT Driver" );
48- case MENU_CONNECT_AZ:
49- return F (" Connect to AZ Driver" );
50- case MENU_CONNECT_FOC:
51- return F (" Connect to FOCUS Driver" );
52- case MENU_PRIMARY_RA_CW:
53- return F (" Move RA Axis 1h clockwise" );
54- case MENU_PRIMARY_RA_CCW:
55- return F (" Move RA Axis 1h counter-clockwise" );
56- case MENU_PRIMARY_DEC_UP:
57- return F (" Move DEC Axis 15deg up" );
58- case MENU_PRIMARY_DEC_DOWN:
59- return F (" Move DEC Axis 15deg down" );
60- case MENU_TOGGLE_TRK:
61- return F (" Stop/Start Tracking" );
62- case MENU_SECONDARY_RATE_1:
63- return F (" Set distance to 0.1 arcmin" );
64- case MENU_SECONDARY_RATE_2:
65- return F (" Set distance to 0.5 arcmin" );
66- case MENU_SECONDARY_RATE_3:
67- return F (" Set distance to 2 arcmin" );
68- case MENU_SECONDARY_RATE_4:
69- return F (" Set distance to 5 arcmin" );
70- case MENU_SECONDARY_RATE_5:
71- return F (" Set distance to 15 arcmin" );
72- case MENU_SECONDARY_ALT_UP:
73- return F (" Move ALT Axis Up" );
74- case MENU_SECONDARY_ALT_DOWN:
75- return F (" Move ALT Axis Down" );
76- case MENU_SECONDARY_AZ_LEFT:
77- return F (" Move AZ Axis Left" );
78- case MENU_SECONDARY_AZ_RIGHT:
79- return F (" Move AZ Axis Right" );
80- case MENU_FACTORY_RESET:
81- return F (" Factory Reset (Erase EEPROM)" );
82- case MENU_PASSTHROUGH_COMMAND:
83- return F (" Issue LX200 Command" );
84- case MENU_MAIN_LIST_HARDWARE:
85- return F (" List Hardware" );
86- case MENU_MAIN_CONNECT_DRIVERS:
87- return F (" Connect Drivers" );
88- case MENU_MAIN_PRIMARY_AXIS_MOVES:
89- return F (" Primary Axis Moves (RA/DEC)" );
90- case MENU_MAIN_SECONDARY_AXIS_MOVES:
91- return F (" Secondary Axis Moves (ALT/AZ)" );
92- case MENU_PRIMARY_SET_HOME:
93- return F (" Set current as Home" );
94- case MENU_PRIMARY_GO_HOME:
95- return F (" Go Home" );
40+ CASERETURN (MENU_BACK, F (" Back" ));
41+ CASERETURN (MENU_CONNECT_RA, F (" Connect to RA Driver" ));
42+ CASERETURN (MENU_CONNECT_DEC, F (" Connect to DEC Driver" ));
43+ CASERETURN (MENU_CONNECT_ALT, F (" Connect to ALT Driver" ));
44+ CASERETURN (MENU_CONNECT_AZ, F (" Connect to AZ Driver" ));
45+ CASERETURN (MENU_CONNECT_FOC, F (" Connect to FOCUS Driver" ));
46+ CASERETURN (MENU_PRIMARY_RA_CW, F (" Move RA Axis 1h clockwise" ));
47+ CASERETURN (MENU_PRIMARY_RA_CCW, F (" Move RA Axis 1h counter-clockwise" ));
48+ CASERETURN (MENU_PRIMARY_DEC_UP, F (" Move DEC Axis 15deg up" ));
49+ CASERETURN (MENU_PRIMARY_DEC_DOWN, F (" Move DEC Axis 15deg down" ));
50+ CASERETURN (MENU_TOGGLE_TRK, F (" Stop/Start Tracking" ));
51+ CASERETURN (MENU_SECONDARY_RATE_1, F (" Set distance to 0.1 arcmin" ));
52+ CASERETURN (MENU_SECONDARY_RATE_2, F (" Set distance to 0.5 arcmin" ));
53+ CASERETURN (MENU_SECONDARY_RATE_3, F (" Set distance to 2 arcmin" ));
54+ CASERETURN (MENU_SECONDARY_RATE_4, F (" Set distance to 5 arcmin" ));
55+ CASERETURN (MENU_SECONDARY_RATE_5, F (" Set distance to 15 arcmin" ));
56+ CASERETURN (MENU_SECONDARY_ALT_UP, F (" Move ALT Axis Up" ));
57+ CASERETURN (MENU_SECONDARY_ALT_DOWN, F (" Move ALT Axis Down" ));
58+ CASERETURN (MENU_SECONDARY_AZ_LEFT, F (" Move AZ Axis Left" ));
59+ CASERETURN (MENU_SECONDARY_AZ_RIGHT, F (" Move AZ Axis Right" ));
60+ CASERETURN (MENU_FACTORY_RESET, F (" Factory Reset (Erase EEPROM)" ));
61+ CASERETURN (MENU_PASSTHROUGH_COMMAND, F (" Issue LX200 Command" ));
62+ CASERETURN (MENU_MAIN_LIST_HARDWARE, F (" List Hardware" ));
63+ CASERETURN (MENU_MAIN_CONNECT_DRIVERS, F (" Connect Drivers" ));
64+ CASERETURN (MENU_MAIN_PRIMARY_AXIS_MOVES, F (" Primary Axis Moves (RA/DEC)" ));
65+ CASERETURN (MENU_MAIN_SECONDARY_AXIS_MOVES, F (" Secondary Axis Moves (ALT/AZ)" ));
66+ CASERETURN (MENU_PRIMARY_SET_HOME, F (" Set current as Home" ));
67+ CASERETURN (MENU_PRIMARY_GO_HOME, F (" Go Home" ));
9668 default :
9769 return F (" Unknown" );
9870 }
@@ -102,64 +74,36 @@ String getMenuAction(menuText_t labelId)
10274{
10375 switch (labelId)
10476 {
105- case MENU_BACK:
106- return F (" Action:Back" );
107- case MENU_CONNECT_RA:
108- return F (" Action:Connect|RA" );
109- case MENU_CONNECT_DEC:
110- return F (" Action:Connect|DEC" );
111- case MENU_CONNECT_ALT:
112- return F (" Action:Connect|ALT" );
113- case MENU_CONNECT_AZ:
114- return F (" Action:Connect|AZ" );
115- case MENU_CONNECT_FOC:
116- return F (" Action:Connect|FOC" );
117- case MENU_PRIMARY_RA_CW:
118- return F (" Action:MoveRAAxis|CW" );
119- case MENU_PRIMARY_RA_CCW:
120- return F (" Action:MoveRAAxis|CCW" );
121- case MENU_PRIMARY_SET_HOME:
122- return F (" Action:SetHome" );
123- case MENU_PRIMARY_GO_HOME:
124- return F (" Action:GoHome" );
125- case MENU_PRIMARY_DEC_UP:
126- return F (" Action:MoveDECAxis|UP" );
127- case MENU_PRIMARY_DEC_DOWN:
128- return F (" Action:MoveDECAxis|DOWN" );
129- case MENU_TOGGLE_TRK:
130- return F (" Action:ToggleTRK" );
131-
132- case MENU_SECONDARY_RATE_1:
133- return F (" Action:SetSecDist|0.1" );
134- case MENU_SECONDARY_RATE_2:
135- return F (" Action:SetSecDist|0.5" );
136- case MENU_SECONDARY_RATE_3:
137- return F (" Action:SetSecDist|2" );
138- case MENU_SECONDARY_RATE_4:
139- return F (" Action:SetSecDist|5" );
140- case MENU_SECONDARY_RATE_5:
141- return F (" Action:SetSecDist|15" );
142-
143- case MENU_SECONDARY_ALT_UP:
144- return F (" Action:MoveALTAxis|UP" );
145- case MENU_SECONDARY_ALT_DOWN:
146- return F (" Action:MoveALTAxis|DOWN" );
147- case MENU_SECONDARY_AZ_LEFT:
148- return F (" Action:MoveAZAxis|LEFT" );
149- case MENU_SECONDARY_AZ_RIGHT:
150- return F (" Action:MoveAZAxis|RIGHT" );
151- case MENU_FACTORY_RESET:
152- return F (" Action:FactoryReset" );
153- case MENU_PASSTHROUGH_COMMAND:
154- return F (" Action:PassthroughCmd" );
155- case MENU_MAIN_LIST_HARDWARE:
156- return F (" Action:ListHardware" );
157- case MENU_MAIN_CONNECT_DRIVERS:
158- return F (" Submenu:ConnectDrivers" );
159- case MENU_MAIN_PRIMARY_AXIS_MOVES:
160- return F (" Submenu:PrimaryAxisMoves" );
161- case MENU_MAIN_SECONDARY_AXIS_MOVES:
162- return F (" Submenu:SecondaryAxisMoves" );
77+ CASERETURN (MENU_BACK, F (" Action:Back" ));
78+ CASERETURN (MENU_CONNECT_RA, F (" Action:Connect|RA" ));
79+ CASERETURN (MENU_CONNECT_DEC, F (" Action:Connect|DEC" ));
80+ CASERETURN (MENU_CONNECT_ALT, F (" Action:Connect|ALT" ));
81+ CASERETURN (MENU_CONNECT_AZ, F (" Action:Connect|AZ" ));
82+ CASERETURN (MENU_CONNECT_FOC, F (" Action:Connect|FOC" ));
83+ CASERETURN (MENU_PRIMARY_RA_CW, F (" Action:MoveRAAxis|CW" ));
84+ CASERETURN (MENU_PRIMARY_RA_CCW, F (" Action:MoveRAAxis|CCW" ));
85+ CASERETURN (MENU_PRIMARY_SET_HOME, F (" Action:SetHome" ));
86+ CASERETURN (MENU_PRIMARY_GO_HOME, F (" Action:GoHome" ));
87+ CASERETURN (MENU_PRIMARY_DEC_UP, F (" Action:MoveDECAxis|UP" ));
88+ CASERETURN (MENU_PRIMARY_DEC_DOWN, F (" Action:MoveDECAxis|DOWN" ));
89+ CASERETURN (MENU_TOGGLE_TRK, F (" Action:ToggleTRK" ));
90+
91+ CASERETURN (MENU_SECONDARY_RATE_1, F (" Action:SetSecDist|0.1" ));
92+ CASERETURN (MENU_SECONDARY_RATE_2, F (" Action:SetSecDist|0.5" ));
93+ CASERETURN (MENU_SECONDARY_RATE_3, F (" Action:SetSecDist|2" ));
94+ CASERETURN (MENU_SECONDARY_RATE_4, F (" Action:SetSecDist|5" ));
95+ CASERETURN (MENU_SECONDARY_RATE_5, F (" Action:SetSecDist|15" ));
96+
97+ CASERETURN (MENU_SECONDARY_ALT_UP, F (" Action:MoveALTAxis|UP" ));
98+ CASERETURN (MENU_SECONDARY_ALT_DOWN, F (" Action:MoveALTAxis|DOWN" ));
99+ CASERETURN (MENU_SECONDARY_AZ_LEFT, F (" Action:MoveAZAxis|LEFT" ));
100+ CASERETURN (MENU_SECONDARY_AZ_RIGHT, F (" Action:MoveAZAxis|RIGHT" ));
101+ CASERETURN (MENU_FACTORY_RESET, F (" Action:FactoryReset" ));
102+ CASERETURN (MENU_PASSTHROUGH_COMMAND, F (" Action:PassthroughCmd" ));
103+ CASERETURN (MENU_MAIN_LIST_HARDWARE, F (" Action:ListHardware" ));
104+ CASERETURN (MENU_MAIN_CONNECT_DRIVERS, F (" Submenu:ConnectDrivers" ));
105+ CASERETURN (MENU_MAIN_PRIMARY_AXIS_MOVES, F (" Submenu:PrimaryAxisMoves" ));
106+ CASERETURN (MENU_MAIN_SECONDARY_AXIS_MOVES, F (" Submenu:SecondaryAxisMoves" ));
163107 default :
164108 return F (" Unknown" );
165109 }
@@ -230,7 +174,7 @@ TestMenu::TestMenu(int level, String name, String parent, TestMenuItem *choices,
230174 }
231175 }
232176}
233- String getComponent (String comp)
177+ String getComponent (const String & comp)
234178{
235179 if (comp == " AUTO_AZ_ALT" )
236180 {
@@ -256,7 +200,7 @@ String getComponent(String comp)
256200 if (comp == " LCD_I2C_MCP23008" )
257201 {
258202 return F (" LCD display (MCP23008)" );
259- };
203+ }
260204 if (comp == " LCD_I2C_MCP23017" )
261205 {
262206 return F (" LCD display (MCP23017)" );
@@ -593,44 +537,29 @@ void TestMenu::onKeyPressed(int key)
593537
594538void TestMenu::displayStepperPos () const
595539{
596- String statusRaDec;
597- statusRaDec = F (" RA: " );
598- statusRaDec += rightJustify (String (mount.getCurrentStepperPosition (RA_STEPS)), 8 );
599- statusRaDec += mount.isAxisRunning (RA_STEPS) ? " ^" : " " ;
600- statusRaDec += F (" ALT: " );
601- #if (ALT_STEPPER_TYPE != STEPPER_TYPE_NONE)
602- String altSteps = " n/a" ;
603- #else
604- String altSteps = String (mount.getCurrentStepperPosition (ALTITUDE_STEPS));
605- #endif
606- statusRaDec += rightJustify (altSteps, 8 );
607- statusRaDec += mount.isAxisRunning (ALTITUDE_STEPS) ? " ^" : " " ;
608- statusRaDec += F (" TRK: " );
609- statusRaDec += rightJustify (String (mount.getCurrentStepperPosition (TRACKING)), 8 );
610- statusRaDec += mount.isSlewingTRK () ? " ^" : " " ;
611-
612- String statusAltAz;
613- statusAltAz = F (" DEC: " );
614- statusAltAz += rightJustify (String (mount.getCurrentStepperPosition (DEC_STEPS)), 8 );
615- statusAltAz += mount.isAxisRunning (DEC_STEPS) ? " ^" : " " ;
616- statusAltAz += F (" AZ: " );
617- #if (ALT_STEPPER_TYPE != STEPPER_TYPE_NONE)
618- String azSteps = " n/a" ;
619- #else
620- String azSteps = String (mount.getCurrentStepperPosition (AZIMUTH_STEPS));
621- #endif
622- statusAltAz += rightJustify (azSteps, 8 );
623- statusAltAz += mount.isAxisRunning (AZIMUTH_STEPS) ? " ^" : " " ;
624- statusAltAz += F (" FOC: " );
625- #if (ALT_STEPPER_TYPE != STEPPER_TYPE_NONE)
626- String focSteps = " n/a" ;
627- #else
628- String focSteps = String (mount.getCurrentStepperPosition (FOCUS_STEPS));
629- #endif
630- statusAltAz += rightJustify (focSteps, 8 );
631- statusAltAz += mount.isAxisRunning (FOCUS_STEPS) ? " ^" : " " ;
632- Serial.println (statusRaDec);
633- Serial.println (statusAltAz);
540+ char buffer[64 ];
541+ snprintf (buffer,
542+ sizeof (buffer),
543+ " RA: %8ld%s ALT: %8ld%s TRK: %8ld%s" ,
544+ mount.getCurrentStepperPosition (RA_STEPS),
545+ mount.isAxisRunning (RA_STEPS) ? " ^" : " " ,
546+ mount.getCurrentStepperPosition (ALTITUDE_STEPS),
547+ mount.isAxisRunning (ALTITUDE_STEPS) ? " ^" : " " ,
548+ mount.getCurrentStepperPosition (TRACKING),
549+ mount.isSlewingTRK () ? " ^" : " " );
550+ Serial.println (buffer);
551+
552+ snprintf (buffer,
553+ sizeof (buffer),
554+ " DEC: %8ld%s AZ: %8ld%s FOC: %8ld%s" ,
555+ mount.getCurrentStepperPosition (DEC_STEPS),
556+ mount.isAxisRunning (DEC_STEPS) ? " ^" : " " ,
557+ mount.getCurrentStepperPosition (AZIMUTH_STEPS),
558+ mount.isAxisRunning (AZIMUTH_STEPS) ? " ^" : " " ,
559+ mount.getCurrentStepperPosition (FOCUS_STEPS),
560+ mount.isAxisRunning (FOCUS_STEPS) ? " ^" : " " );
561+ Serial.println (buffer);
562+
634563}
635564
636565void TestMenu::display () const
@@ -655,7 +584,7 @@ void TestMenu::display() const
655584 {
656585 Serial.print (F (" ---------------- " ));
657586 Serial.print (freeMemory ());
658- Serial.println (F (" bytes ------------" ));
587+ Serial.println (F (" bytes ------------- " ));
659588 displayStepperPos ();
660589 Serial.println (F (" -----------------------------------------" ));
661590 Serial.print (" " );
@@ -664,7 +593,6 @@ void TestMenu::display() const
664593 Serial.println (F (" --------------------------" ));
665594 }
666595
667- // Serial.println(F("Please choose:"));
668596 for (int i = 0 ; i < _numChoices; i++)
669597 {
670598 _choices[i].setKey (i + 1 );
0 commit comments