4545byte calState = HIGHLIGHT_FIRST;
4646
4747// SPeed adjustment variable. Added to 1.0 after dividing by 10000 to get final speed
48- float inputcal;
48+ float SpeedCalibration;
4949
5050// The current delay in ms when changing calibration value. The longer a button is depressed, the smaller this gets.
51- int calDelay = 150 ;
51+ int calDelay = 150 ;
5252
5353// The index of durations that the user has selected.
5454byte driftSubIndex = 1 ;
@@ -94,6 +94,9 @@ void gotoNextHighlightState(int dir) {
9494 else if (calState == HIGHLIGHT_BACKLASH_STEPS) {
9595 BacklashSteps = mount.getBacklashCorrection ();
9696 }
97+ else if (calState == HIGHLIGHT_SPEED) {
98+ SpeedCalibration = (mount.getSpeedCalibration () - 1.0 ) * 10000.0 + 0.5 ;
99+ }
97100}
98101
99102bool processCalibrationKeys () {
@@ -103,19 +106,20 @@ bool processCalibrationKeys() {
103106
104107 if (calState == SPEED_CALIBRATION) {
105108 if (lcdButtons.currentState () == btnUP) {
106- if (inputcal < 32760 ) { // Don't overflow 16 bit signed
107- inputcal += 1 ; // 0.0001;
108- mount.setSpeedCalibration (speed + inputcal / 10000 , false );
109+ if (SpeedCalibration < 32760 ) { // Don't overflow 16 bit signed
110+ SpeedCalibration += 1 ; // 0.0001;
111+ mount.setSpeedCalibration (1.0 + SpeedCalibration / 10000.0 , false );
112+ mount.setSpeedCalibration (1.0 + SpeedCalibration / 10000.0 , false );
109113 }
110114
111115 mount.delay (calDelay);
112116 calDelay = max (5 , 0.96 * calDelay);
113117 checkForKeyChange = false ;
114118 }
115119 else if (lcdButtons.currentState () == btnDOWN) {
116- if (inputcal > -32760 ) { // Don't overflow 16 bit signed
117- inputcal -= 1 ; // 0.0001;
118- mount.setSpeedCalibration (speed + inputcal / 10000 , false );
120+ if (SpeedCalibration > -32760 ) { // Don't overflow 16 bit signed
121+ SpeedCalibration -= 1 ; // 0.0001;
122+ mount.setSpeedCalibration (1.0 + SpeedCalibration / 10000.0 , false );
119123 }
120124
121125 mount.delay (calDelay);
@@ -186,25 +190,25 @@ bool processCalibrationKeys() {
186190 calState = HIGHLIGHT_POLAR;
187191 }
188192 }
189- break ;
193+ break ;
190194
191195 case SPEED_CALIBRATION: {
192196 // UP and DOWN are handled above
193197 if (key == btnSELECT) {
194- int cal = floor (inputcal);
195- mount.setSpeedCalibration (speed + inputcal / 10000 , true );
198+ mount.setSpeedCalibration (1.0 + SpeedCalibration / 10000.0 , true );
196199 lcdMenu.printMenu (" Speed Stored." );
197200 mount.delay (500 );
198201 calState = HIGHLIGHT_SPEED;
199202 }
200203 else if (key == btnRIGHT) {
204+ mount.setSpeedCalibration (1.0 + SpeedCalibration / 10000.0 , true );
201205 lcdMenu.setNextActive ();
202206 calState = HIGHLIGHT_SPEED;
203207 }
204208 }
205- break ;
209+ break ;
206210
207- case RA_STEP_CALIBRATION:
211+ case RA_STEP_CALIBRATION:
208212 {
209213 // UP and DOWN are handled above
210214 if (key == btnSELECT) {
@@ -273,7 +277,7 @@ bool processCalibrationKeys() {
273277 lcdMenu.setNextActive ();
274278 }
275279 }
276- break ;
280+ break ;
277281
278282 case POLAR_CALIBRATION_WAIT: {
279283 if (key == btnSELECT) {
@@ -289,7 +293,7 @@ bool processCalibrationKeys() {
289293 calState = HIGHLIGHT_POLAR;
290294 }
291295 }
292- break ;
296+ break ;
293297
294298 case HIGHLIGHT_SPEED: {
295299 if (key == btnDOWN) gotoNextHighlightState (1 );
@@ -300,7 +304,7 @@ bool processCalibrationKeys() {
300304 calState = HIGHLIGHT_POLAR;
301305 }
302306 }
303- break ;
307+ break ;
304308
305309 case HIGHLIGHT_DRIFT: {
306310 if (key == btnDOWN) gotoNextHighlightState (1 );
@@ -311,7 +315,7 @@ bool processCalibrationKeys() {
311315 calState = HIGHLIGHT_POLAR;
312316 }
313317 }
314- break ;
318+ break ;
315319
316320 case DRIFT_CALIBRATION_WAIT: {
317321 if (key == btnDOWN || key == btnLEFT) {
@@ -333,7 +337,7 @@ bool processCalibrationKeys() {
333337 driftSubIndex = 1 ;
334338 }
335339 }
336- break ;
340+ break ;
337341
338342 case HIGHLIGHT_RA_STEPS: {
339343 if (key == btnDOWN) gotoNextHighlightState (1 );
@@ -344,7 +348,7 @@ bool processCalibrationKeys() {
344348 calState = HIGHLIGHT_FIRST;
345349 }
346350 }
347- break ;
351+ break ;
348352
349353 case HIGHLIGHT_DEC_STEPS: {
350354 if (key == btnDOWN) gotoNextHighlightState (1 );
@@ -355,18 +359,18 @@ bool processCalibrationKeys() {
355359 calState = HIGHLIGHT_FIRST;
356360 }
357361 }
358- break ;
362+ break ;
359363
360- case HIGHLIGHT_BACKLASH_STEPS : {
361- if (key == btnDOWN) gotoNextHighlightState (1 );
364+ case HIGHLIGHT_BACKLASH_STEPS: {
365+ if (key == btnDOWN) gotoNextHighlightState (1 );
362366 if (key == btnUP) gotoNextHighlightState (-1 );
363367 else if (key == btnSELECT) calState = BACKLASH_CALIBRATION;
364368 else if (key == btnRIGHT) {
365369 lcdMenu.setNextActive ();
366370 calState = HIGHLIGHT_FIRST;
367371 }
368372 }
369- break ;
373+ break ;
370374 }
371375 }
372376
0 commit comments