first var byte second var byte third var byte fourth var byte fifth var byte sixth var byte alt var long 'altitude var long baroadc var word baroadc1 var word baroadc2 var word baroadc3 var word baroadc4 var word baroadc5 var word baroav var word baroav2 var word groundlevel1 var word groundlevel2 var word groundlevel3 var word groundlevel var word boostalt var word peakalt var word peakdisplay var word grounddisplay var word boostalt = 1023 Pause 1000 adin AX0, 3, AD_RON, groundlevel1 pause 200 adin AX0, 3, AD_RON, groundlevel2 pause 200 adin AX0, 3, AD_RON, groundlevel3 groundlevel = (groundlevel1 + groundlevel2 + groundlevel3) / 3 'WRITE 0, groundlevel.lowbyte 'write 1, groundlevel.highbyte goto Start Start: repeat Pause 1000 If (IN12 = 1) then sound p8, [500\8000]: pause 250 elseif (IN12 = 0) Pause 250 endif If (IN13 = 1) then : pause 250 sound p8, [500\8000] elseif (IN13 = 0) Pause 250 endif If (IN14 = 1) then : pause 250 sound p8, [500\8000] elseif (IN14 = 0) Pause 250 endif adin AX0, 3, AD_RON, baroadc1 adin AX0, 3, AD_RON, baroadc2 adin AX0, 3, AD_RON, baroadc3 adin AX0, 3, AD_RON, baroadc4 adin AX0, 3, AD_RON, baroadc5 baroav = (baroadc1 + baroadc2 + baroadc3 + baroadc4 + baroadc5) / 5 until baroav < (groundlevel - 20) goto boost Boost: pause 5000 'mach delay repeat 'read 1, boostalt adin AX0, 3, AD_RON, baroadc1 adin AX0, 3, AD_RON, baroadc2 adin AX0, 3, AD_RON, baroadc3 adin AX0, 3, AD_RON, baroadc4 adin AX0, 3, AD_RON, baroadc5 baroav = (baroadc1 + baroadc2 + baroadc3 + baroadc4 + baroadc5) / 5 if baroav < boostalt then boostalt = baroav : write 2, baroav.lowbyte : write 3, baroav.highbyte endif until (baroav -3) > boostalt high P9 : pause 1000 : low 9 : goto Main Main: repeat adin AX0, 3, AD_RON, baroadc1 adin AX0, 3, AD_RON, baroadc2 adin AX0, 3, AD_RON, baroadc3 adin AX0, 3, AD_RON, baroadc4 adin AX0, 3, AD_RON, baroadc5 baroav = (baroadc1 + baroadc2 + baroadc3 + baroadc4 + baroadc5) / 5 until baroav > (groundlevel - 50) high P10 : pause 1000 : low 10 : goto Display Display: read 2, peakdisplay.lowbyte read 3, peakdisplay.highbyte baroadc = peakdisplay If (baroadc >= 861) and (baroadc <= 1023) then alt = (((1023-baroadc) * 1000000)/115710) elseif (baroadc >= 792) and (baroadc <=860) alt = 1400+((((860-baroadc)* 1000000))/20609) elseif (baroadc >= 761) and (baroadc <=791) alt = 4748+((((791-baroadc)* 1000000))/75757) elseif (baroadc >= 727) and (baroadc <=760) alt = 5144+((((760-baroadc)* 1000000))/20121) elseif (baroadc >= 717) and (baroadc <=726) alt = 6784+((((726-baroadc)* 1000000))/16071) elseif (baroadc >= 688) and (baroadc <=716) alt = 7344+((((716-baroadc)* 1000000))/27559) elseif (baroadc >= 637) and (baroadc <=687) alt = 8360+((((687-baroadc)* 1000000))/13100) elseif (baroadc >= 591) and (baroadc <=636) alt = 10650+((((636-baroadc)* 1000000))/18579) elseif (baroadc >= 531) and (baroadc <=590) alt = 13072+((((590-baroadc)* 1000000))/16195) elseif (baroadc >= 464) and (baroadc <=530) alt = 16715+((((530-baroadc)* 1000000))/16875) elseif (baroadc >= 395) and (baroadc <=463) alt = 20626+((((463-baroadc)* 1000000))/12307) elseif (baroadc >= 348) and (baroadc <=394) alt = 26151+((((394-baroadc)* 1000000))/12934) elseif (baroadc >= 332) and (baroadc <=347) alt = 29862+((((347-baroadc)* 1000000))/12057) elseif (baroadc >= 315) and (baroadc <=331) alt = 31106+((((331-baroadc)* 1000000))/9762) elseif (baroadc >= 265) and (baroadc <=314) alt = 34239+((((314-baroadc)* 1000000))/10315) elseif baroadc > 265 alt = 38989+((((265-baroadc)* 1000000))/10315) endif loop: If alt <=999 then goto threedigits elseif (alt > 999) and (alt < 9999) goto fourdigits elseif (alt > 10000) and (alt < 99999) goto fivedigits 'elseif alt > 100000 'goto sixdigits endif 'ixdigits: 'first = alt dig 5 'second = alt dig 4 'third = alt dig 3 'fourth = alt dig 2 'fifth = alt dig 1 'sixth = alt dig 0 'goto Toneout fivedigits: first = alt dig 4 second = alt dig 3 third = alt dig 2 fourth = alt dig 1 fifth = alt dig 0 sixth = z goto toneout fourdigits: first = alt dig 3 second = alt dig 2 third = alt dig 1 fourth = alt dig 0 fifth = z sixth = z goto toneout Threedigits: first = alt dig 2 second = alt dig 1 third = alt dig 0 fourth = z fifth = z sixth =z goto toneout ToneOut: Pause 1500 if first = 1 then sound p8, [100\8000]:low p8:pause 400 elseif first = 2 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first =3 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 4 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 5 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 6 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 7 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 8 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 9 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif first = 0 sound p8, [500\8000]:low p8: pause 400 endif Pause 1000 if second = 1 then sound p8, [100\8000]:low p8:pause 400 elseif second = 2 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second =3 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 4 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 5 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 6 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 7 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 8 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 9 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif second = 0 sound p8, [500\8000]:low p8: pause 400 endif pause 1000 if third = 1 then sound p8, [100\8000]:low p8:pause 400 elseif third = 2 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third =3 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 4 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 5 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 6 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 7 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 8 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 9 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif third = 0 sound p8, [500\8000]:low p8: pause 400 endif pause 1000 if fourth =z then goto loop elseif fourth = 1 sound p8, [100\8000]:low p8:pause 400 elseif fourth = 2 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth =3 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 4 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 5 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 6 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 7 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 8 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 9 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fourth = 0 sound p8, [500\8000]:low p8: pause 400 endif Pause 1000 if fifth = z then goto loop elseif fifth = 1 sound p8, [100\8000]:low p8:pause 400 elseif fifth = 2 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth =3 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 4 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 5 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 6 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 7 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 8 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 9 sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 elseif fifth = 0 sound p8, [500\8000]:low p8: pause 400 endif Pause 1000 'if sixth = z then 'goto loop 'elseif sixth = 1 'sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 2 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth =3 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 4 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 5 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 6 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 7 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 8 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 9 'sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 250:sound p8, [100\8000]:low p8:pause 400 'elseif sixth = 0 'sound p8, [500\8000]:low p8: pause 400 'endif 'Pause 1000 goto loop