' {$STAMP BS2p} ' {$PBASIC 2.5} 'This program is used to retrieve the recorded values from all program slots and DEBUGs them to a 'monitor. The raw data is then copied/pasted into a spreadsheet for conversions and graphing. STORE 1 'must manually change to read each slot 'Pins/Constants MEMORYSIZE CON 2020 'must be made divisible by 20 + extra (20B per block + 6b Header/Footer) 'Variables address VAR Word dayMonth VAR Word year VAR Byte hrs VAR Byte mins VAR Byte secs VAR Byte latLeft VAR Word latRight VAR Word longLeft VAR Word longRight VAR Word speed1 VAR Word speed2 VAR Nib course1 VAR Word course2 VAR Nib numSats VAR Nib alt1 VAR Word 'Initialize dayMonth = 0 year = 0 hrs = 0 mins = 0 secs = 0 latLeft = 0 latRight = 0 longLeft = 0 longRight = 0 speed1 = 0 speed2 = 0 course1 = 0 course2 = 0 numSats = 0 alt1 = 0 main: address = 0 READ address, dayMonth.HIGHBYTE address = address + 1 READ address, dayMonth.LOWBYTE address = address + 1 DEBUG "dayMonth: ", DEC dayMonth, CR READ address, year address = address + 1 DEBUG "year: ", DEC year, CR 'end 3 byte header for slotX dataBlock DO READ address, hrs address = address + 1 READ address, mins address = address + 1 READ address, secs address = address + 1 DEBUG "HHMMSS: ", DEC hrs, ":", DEC mins, ":", DEC secs, CR READ address, latLeft.HIGHBYTE address = address + 1 READ address, latLeft.LOWBYTE address = address + 1 READ address, latRight.HIGHBYTE address = address + 1 READ address, latRight.LOWBYTE address = address + 1 DEBUG "latitude: ", DEC latLeft, ".", DEC latRight, " N", CR READ address, longLeft.HIGHBYTE address = address + 1 READ address, longLeft.LOWBYTE address = address + 1 READ address, longRight.HIGHBYTE address = address + 1 READ address, longRight.LOWBYTE address = address + 1 DEBUG "longitude: ", DEC longLeft, ".", DEC longRight, " W", CR READ address, speed1.HIGHBYTE address = address + 1 READ address, speed1.LOWBYTE address = address + 1 READ address, speed2 address = address + 1 DEBUG "knots: ", DEC speed1, ".", DEC speed2, CR READ address, course1.HIGHBYTE address = address + 1 READ address, course1.LOWBYTE address = address + 1 READ address, course2 address = address + 1 DEBUG "heading in degrees: ", DEC course1, ".", DEC course2, CR READ address, numSats address = address + 1 DEBUG "number of satellites: ", DEC numSats, CR READ address, alt1.HIGHBYTE address = address + 1 READ address, alt1.LOWBYTE address = address + 1 DEBUG "altitude: ", DEC alt1, CR LOOP WHILE address < MEMORYSIZE 'start 3 byte footer for slotX dataBlock READ address, dayMonth.HIGHBYTE address = address + 1 READ address, dayMonth.LOWBYTE address = address + 1 DEBUG "dayMonthFooter: ", DEC dayMonth, CR READ address, year address = address + 1 DEBUG "yearFooter: ", DEC year, CR END