@@ -160,8 +160,6 @@ Mount::Mount(int stepsPerRADegree, int stepsPerDECDegree, LcdMenu* lcdMenu) {
160160 _pitchCalibrationAngle = 0 ;
161161 _rollCalibrationAngle = 0 ;
162162 #endif
163-
164- readPersistentData ();
165163}
166164
167165// ///////////////////////////////
@@ -236,91 +234,99 @@ void Mount::readPersistentData()
236234{
237235 // Read the magic marker byte and state
238236 uint16_t marker = EPROMStore::readInt16 (4 , 5 );
237+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM, F (" Mount: EEPROM: Magic Marker: %x " ), marker);
238+
239+ #if DEBUG_LEVEL & DEBUG_EEPROM
240+ LOGV1 (DEBUG_EEPROM, ((marker & EEPROM_MAGIC_MASK) == EEPROM_MAGIC_MARKER) ? F (" EEPROM has values" ) : F (" EEPROM does NOT have values" ));
241+ LOGV1 (DEBUG_EEPROM, ((marker & EEPROM_MAGIC_EXTENDED_MASK) == EEPROM_MAGIC_EXTENDED_MARKER) ? F (" EEPROM has extended values" ) : F (" EEPROM does NOT have extended values" ));
242+ #endif
239243
240- LOGV2 (DEBUG_INFO, F (" Mount: EEPROM: Magic Marker: %x " ), marker);
241244
242245 if ((marker & EEPROM_MAGIC_MASK_RA_STEPS) == EEPROM_RA_STEPS_MARKER_BIT) {
243246 _stepsPerRADegree = EPROMStore::read (6 ) + EPROMStore::read (7 ) * 256 ;
244- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: RA Marker OK! RA steps/deg is %d" ), _stepsPerRADegree);
247+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: RA Marker OK! RA steps/deg is %d" ), _stepsPerRADegree);
245248 }
246249 else {
247- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for RA steps" ));
250+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for RA steps" ));
248251 }
249252
250253 if ((marker & EEPROM_MAGIC_MASK_DEC_STEPS) == EEPROM_DEC_STEPS_MARKER_BIT) {
251254 _stepsPerDECDegree = EPROMStore::read (8 ) + EPROMStore::read (9 ) * 256 ;
252- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: DEC Marker OK! DEC steps/deg is %d" ), _stepsPerDECDegree);
255+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: DEC Marker OK! DEC steps/deg is %d" ), _stepsPerDECDegree);
253256 }
254257 else {
255- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for DEC steps" ));
258+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for DEC steps" ));
256259 }
257260
258261 float speed = 1.0 ;
259262 if ((marker & EEPROM_MAGIC_MASK_SPEED_FACTOR) == EEPROM_SPEED_FACTOR_MARKER_BIT) {
260263 int adjust = EPROMStore::read (0 ) + EPROMStore::read (3 ) * 256 ;
261264 speed = 1.0 + 1.0 * adjust / 10000.0 ;
262- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM: Speed Marker OK! Speed adjust is %d, speedFactor is %f" ), adjust, speed);
265+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Speed Marker OK! Speed adjust is %d, speedFactor is %f" ), adjust, speed);
263266 }
264267 else {
265- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for speed factor" ));
268+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for speed factor" ));
266269 }
267270
268271 if ((marker & EEPROM_MAGIC_MASK_BACKLASH_STEPS) == EEPROM_BACKLASH_STEPS_MARKER_BIT) {
269272 _backlashCorrectionSteps = EPROMStore::read (10 ) + EPROMStore::read (11 ) * 256 ;
270- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: Backlash Steps Marker OK! Backlash correction is %d" ), _backlashCorrectionSteps);
273+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Backlash Steps Marker OK! Backlash correction is %d" ), _backlashCorrectionSteps);
271274 }
272275 else {
273- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for backlash correction" ));
276+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for backlash correction" ));
274277 }
275278
276279 if ((marker & EEPROM_MAGIC_MASK_LATITUDE) == EEPROM_LATITUDE_MARKER_BIT) {
277280 _latitude = 1 .0f * EPROMStore::readInt16 (12 , 13 ) / 100 .0f ;
278- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: Latitude Marker OK! Latitude is %f" ), _latitude);
281+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Latitude Marker OK! Latitude is %f" ), _latitude);
279282 }
280283 else {
281- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for latitude" ));
284+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for latitude" ));
282285 }
283286
284287 if ((marker & EEPROM_MAGIC_MASK_LONGITUDE) == EEPROM_LONGITUDE_MARKER_BIT) {
285288 _longitude = 1 .0f * EPROMStore::readInt16 (14 , 15 ) / 100 .0f ;
286- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: Longitude Marker OK! Longitude is %f" ), _longitude);
289+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Longitude Marker OK! Longitude is %f" ), _longitude);
287290 }
288291 else {
289- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for longitude" ));
292+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for longitude" ));
290293 }
291294
292295#if USE_GYRO_LEVEL == 1
293296 if ((marker & EEPROM_MAGIC_MASK_PITCH_OFFSET) == EEPROM_PITCH_OFFSET_MARKER_BIT) {
294297 uint16_t angleValue = EPROMStore::readInt16 (17 , 18 );
295298 _pitchCalibrationAngle = (((long )angleValue) - 16384 ) / 100.0 ;
296- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM: Pitch Offset Marker OK! Pitch Offset is %x (%f)" ), angleValue, _pitchCalibrationAngle);
299+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Pitch Offset Marker OK! Pitch Offset is %x (%f)" ), angleValue, _pitchCalibrationAngle);
297300 }
298301 else {
299- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for Pitch Offset" ));
302+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for Pitch Offset" ));
300303 }
301304
302305 if ((marker & EEPROM_MAGIC_MASK_ROLL_OFFSET) == EEPROM_ROLL_OFFSET_MARKER_BIT) {
303306 uint16_t angleValue = EPROMStore::readInt16 (19 ,20 );
304307 _rollCalibrationAngle = (((long )angleValue) - 16384 ) / 100.0 ;
305- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM: Roll Offset Marker OK! Roll Offset is %x (%f)" ), angleValue, _rollCalibrationAngle);
308+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Roll Offset Marker OK! Roll Offset is %x (%f)" ), angleValue, _rollCalibrationAngle);
306309 }
307310 else {
308- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No stored value for Roll Offset" ));
311+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No stored value for Roll Offset" ));
309312 }
310313#endif
311314
312315 if ((marker & EEPROM_MAGIC_EXTENDED_MASK) == EEPROM_MAGIC_EXTENDED_MARKER) {
313- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: Magic Marker is %x, reading extended" ), marker);
316+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: Magic Marker is %x, reading extended" ), marker);
314317 int16_t nextMarker = EPROMStore::readInt16 (21 ,22 );
315- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM: ExtendedMarker is %x" ), nextMarker);
318+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: ExtendedMarker bitfield is %x" ), nextMarker);
316319 if (nextMarker & EEPROM_PARKING_POS_MARKER_BIT){
317320 _raParkingPos = EPROMStore::readInt32 (23 ); // 23-26
318321 _decParkingPos = EPROMStore::readInt32 (27 ); // 27-30
319- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM: Parking position read as R:%l, D:%l" ), _raParkingPos, _decParkingPos);
322+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM,F (" Mount: EEPROM: Parking position read as R:%l, D:%l" ), _raParkingPos, _decParkingPos);
323+ }
324+ else {
325+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM,F (" Mount: EEPROM: No stored value for Parking position" ));
320326 }
321327 }
322328 else {
323- LOGV1 (DEBUG_INFO,F (" Mount: EEPROM: No ExtendedMarker present" ));
329+ LOGV1 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM: No ExtendedMarker present" ));
324330 }
325331
326332 setSpeedCalibration (speed, false );
@@ -341,16 +347,16 @@ void Mount::writePersistentData(int which, long val)
341347
342348 // If we're written something before...
343349 uint16_t magicMarker = EPROMStore::read (5 ) * 256 + EPROMStore::read (4 );
344- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM Write(%d): Marker is %x" ), which, magicMarker);
350+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write(%d): Marker is %x" ), which, magicMarker);
345351 if ((magicMarker & EEPROM_MAGIC_MASK) == EEPROM_MAGIC_MARKER) {
346352 // ... read the current state ...
347353 flag = EPROMStore::read (4 );
348354 if ((magicMarker & EEPROM_MAGIC_EXTENDED_MASK) == EEPROM_MAGIC_EXTENDED_MARKER) {
349355 extendedFlag = EPROMStore::readInt16 (21 , 22 );
350- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM Write: Marker is 0xBF, extended flag is %x (%d)" ), extendedFlag, extendedFlag);
356+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Marker is 0xBF, extended flag is %x (%d)" ), extendedFlag, extendedFlag);
351357 }
352358 else {
353- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM Write: Marker is 0xBE, flag is %x (%d)" ), flag, flag);
359+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Marker is 0xBE, flag is %x (%d)" ), flag, flag);
354360 }
355361 }
356362 switch (which) {
@@ -360,7 +366,7 @@ void Mount::writePersistentData(int which, long val)
360366 flag |= EEPROM_RA_STEPS_BIT;
361367 loByteLocation = 6 ;
362368 hiByteLocation = 7 ;
363- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating RA steps to %d" ), val);
369+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating RA steps to %d" ), ( int ) val);
364370 }
365371 break ;
366372
@@ -370,7 +376,7 @@ void Mount::writePersistentData(int which, long val)
370376 flag |= EEPROM_DEC_STEPS_BIT;
371377 loByteLocation = 8 ;
372378 hiByteLocation = 9 ;
373- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating DEC steps to %d" ), val);
379+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating DEC steps to %d" ), ( int ) val);
374380 }
375381 break ;
376382
@@ -380,7 +386,7 @@ void Mount::writePersistentData(int which, long val)
380386 flag |= EEPROM_SPEED_FACTOR_BIT;
381387 loByteLocation = 0 ;
382388 hiByteLocation = 3 ;
383- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Speed factor to %d" ), val);
389+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Speed factor to %d" ), ( int ) val);
384390 }
385391 break ;
386392
@@ -390,7 +396,7 @@ void Mount::writePersistentData(int which, long val)
390396 flag |= EEPROM_BACKLASH_STEPS_BIT;
391397 loByteLocation = 10 ;
392398 hiByteLocation = 11 ;
393- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Backlash to %d" ), val);
399+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Backlash to %d" ), ( int ) val);
394400 }
395401 break ;
396402
@@ -400,7 +406,7 @@ void Mount::writePersistentData(int which, long val)
400406 flag |= EEPROM_LATITUDE_BIT;
401407 loByteLocation = 12 ;
402408 hiByteLocation = 13 ;
403- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Latitude to %d" ), val);
409+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Latitude to %d" ), ( int ) val);
404410 }
405411 break ;
406412
@@ -410,7 +416,7 @@ void Mount::writePersistentData(int which, long val)
410416 flag |= EEPROM_LONGITUDE_BIT;
411417 loByteLocation = 14 ;
412418 hiByteLocation = 15 ;
413- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Longitude to %d" ), val);
419+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Longitude to %d" ), ( int ) val);
414420 }
415421 break ;
416422
@@ -420,7 +426,7 @@ void Mount::writePersistentData(int which, long val)
420426 flag |= EEPROM_PITCH_OFFSET_BIT;
421427 loByteLocation = 17 ;
422428 hiByteLocation = 18 ;
423- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Pitch Offset to %d" ), val);
429+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Pitch Offset to %d" ), ( int ) val);
424430 }
425431 break ;
426432
@@ -430,7 +436,7 @@ void Mount::writePersistentData(int which, long val)
430436 flag |= EEPROM_ROLL_OFFSET_BIT;
431437 loByteLocation = 19 ;
432438 hiByteLocation = 20 ;
433- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating Roll Offset to %d" ), val);
439+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating Roll Offset to %d" ), ( int ) val);
434440 }
435441 break ;
436442
@@ -442,30 +448,30 @@ void Mount::writePersistentData(int which, long val)
442448 extendedFlag |= EEPROM_PARKING_POS_MARKER_BIT;
443449 if (which == EEPROM_RA_PARKING_POS ){
444450 EPROMStore::updateInt32 (23 , val);
445- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating RA Parking Pos to %l at 23-26" ), val);
451+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating RA Parking Pos to %l at 23-26" ), val);
446452 }
447453 else {
448454 EPROMStore::updateInt32 (27 , val);
449- LOGV2 (DEBUG_INFO,F (" Mount: EEPROM Write: Updating DEC Parking Pos to %l at 27-30" ), val);
455+ LOGV2 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: Updating DEC Parking Pos to %l at 27-30" ), val);
450456 }
451457 }
452458 break ;
453459 }
454460
455461
456462 if (writeExtended) {
457- LOGV3 (DEBUG_INFO,F (" Mount: EEPROM Write: New Marker is 0xBF, extended flag is %x (%d)" ), extendedFlag, extendedFlag);
463+ LOGV3 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: New Marker is 0xBF, extended flag is %x (%d)" ), extendedFlag, extendedFlag);
458464 EPROMStore::update (5 , EEPROM_MAGIC_EXTENDED_MARKER >> 8 );
459465 EPROMStore::updateInt16 (21 , 22 , extendedFlag);
460466 }
461467 else {
462- LOGV4 (DEBUG_INFO,F (" Mount: EEPROM Write: New Marker is %d, flag is %x (%d)" ), magicMarker, flag, flag);
468+ LOGV4 (DEBUG_INFO|DEBUG_EEPROM ,F (" Mount: EEPROM Write: New Marker is %d, flag is %x (%d)" ), magicMarker, flag, flag);
463469 EPROMStore::update (4 , flag);
464470 EPROMStore::update (5 , magicMarker >> 8 );
465471
472+ LOGV5 (DEBUG_INFO|DEBUG_EEPROM,F (" Mount: EEPROM Write: Writing %x to %d and %x to %d" ), (int )(val & 0x00FF ), loByteLocation, (int )((val >> 8 ) & 0x00FF ), hiByteLocation);
466473 EPROMStore::update (loByteLocation, val & 0x00FF );
467474 EPROMStore::update (hiByteLocation, (val >> 8 ) & 0x00FF );
468- LOGV5 (DEBUG_INFO,F (" Mount: EEPROM Write: Wrote %x to %d and %x to %d" ), val & 0x00FF , loByteLocation, (val >> 8 ) & 0x00FF , hiByteLocation);
469475 }
470476}
471477
0 commit comments