REM constants/declarations for PsiNMEA REM Torsten Baumbach, 1999/2000 REM NMEA characters for unit specifications; REM also internally used CONST KUnitSymbolBars$ ="B" CONST KUnitSymbolCelcius$ ="C" CONST KUnitSymbolDegrees$ ="D" CONST KUnitSymbolFathoms$ ="F" CONST KUnitSymbolFeets$ ="f" CONST KUnitSymbolHertz$ ="H" CONST KUnitSymbolHours$ ="h" CONST KUnitSymbolInches$ ="I" CONST KUnitSymbolKilometers$ ="K" CONST KUnitSymbolKilometersPerHour$ ="K" CONST KUnitSymbolKilograms$ ="k" CONST KUnitSymbolLiters$ ="l" CONST KUnitSymbolLitersPerSecond$ ="l" CONST KUnitSymbolMeters$ ="M" CONST KUnitSymbolMetersPerSecond$ ="M" CONST KUnitSymbolCubicMeters$ ="M" CONST KUnitSymbolMinutes$ ="m" CONST KUnitSymbolNauticalMiles$ ="N" CONST KUnitSymbolKnots$ ="N" CONST KUnitSymbolNewtons$ ="N" CONST KUnitSymbolPercent$ ="P" CONST KUnitSymbolStatuteMilesPerHour$ ="S" CONST KUnitSymbolSeconds$ ="s" CONST KUnitSymbolMicroseconds$ ="i" : REM not defined in NMEA protocol ! CONST KUnitSymbolMicroseconds10$ ="j" : REM not defined in NMEA protocol ! CONST KUnitSymbolRevolutionsPerMinute$ ="R" : REM not defined in NMEA protocol ! CONST KUnitSymbolDegreesPerMinute$ ="D" : REM not defined in NMEA protocol ! CONST KUnitSymbolDecibel$ ="D" : REM not defined in NMEA protocol ! CONST KUnitSymbolKilohertz$ ="K" : REM not defined in NMEA protocol ! CONST KUnitSymbolInchesOfMercury$ ="I" : REM not defined in NMEA protocol ! REM Unit constants for PROC Convert: CONST KBars%= 1 CONST KCelcius%= 2 CONST KDegrees%= 3 CONST KFathoms%= 4 CONST KFeets%= 5 CONST KHertz%= 6 CONST KHours%= 7 CONST KInches%= 8 CONST KKilometers%= 9 CONST KKilometersPerHour%= 10 CONST KKilograms%= 11 CONST KLiters%= 12 CONST KLitersPerSecond%= 13 CONST KMeters%= 14 CONST KMetersPerSecond%= 15 CONST KCubicMeters%= 16 CONST KMinutes%= 17 CONST KNauticalMiles%= 18 CONST KKnots%= 19 CONST KNewtons%= 20 CONST KPercent%= 21 CONST KStatuteMilesPerHour%= 22 CONST KSeconds%= 23 CONST KMicroseconds%= 24 CONST KMicroseconds10%= 25 CONST KRevolutionsPerMinute%= 26 CONST KDegreesPerMinute%= 27 CONST KDecibel%= 28 CONST KKilohertz%= 29 CONST KInchesOfMercury%= 30 CONST KRadiant%= 31 CONST KGrad%= 32 CONST KKelvin%= 33 CONST KFahrenheit%= 34 CONST KReaumur%= 35 CONST KStatuteMiles%= 36 CONST KSidericalDays%= 37 CONST KDays%= 38 CONST KWrongSymbol% =1 CONST KWrongBoolSymbol% =2 CONST KWrongSyntaxDesc% =3 CONST KFieldAfterRepeat% =4 CONST KMissingDescr% =5 CONST KTooManyRepetitons% =6 CONST KFieldDontExist% =7 CONST KFieldBlank% =8 CONST KBadHeadingType% =9 CONST KascIgnore% =$01 CONST KascValid% =$0F CONST KascBlank% =$1F CONST KTypeUnknown$ =" " CONST KTypeHexvalue$ ="$" : REM next char=number of halfbytes CONST KTypeTime$ ="A" CONST KTypeDate$ ="B" CONST KTypeLatitude$ ="C" CONST KTypeLongitude$ ="D" CONST KTypeEarthDatum$ ="M" CONST KTypeBearMagnetic$ ="E" CONST KTypeBearTrue$ ="F" CONST KTypeMessageNumber$ ="G" CONST KTypeUnit$ ="H" : REM next char=unit group CONST KUnitGroupDistance$ ="D" CONST KUnitGroupVelocity$ ="V" CONST KUnitGroupTime$ ="T" CONST KUnitGroupDirection$ ="R" CONST KUnitGroupTemperature$ ="K" CONST KUnitGroupRevolution$ ="U" CONST KUnitGroupPressure$ ="P" CONST KUnitGroupSignal$ ="S" CONST KUnitGroupFrequency$ ="F" CONST KUnitGroupVolume$ ="v" CONST KUnitGroupHumidity$ ="H" CONST KUnknownNMEA% = 0 CONST KStandardNMEA% = 1 CONST KOldNMEA% = 2 CONST KModeDisconnected% = 0 CONST KModeNMEA% = 1 CONST KModeGRMN% = 2 CONST KSoFiRTypeIgnore% =0 CONST KSoFiRTypeLat% =1 CONST KSoFiRTypeLonN% =2 CONST KSoFiRTypeLonC% =3 CONST KSoFiRTypeLonS% =4 CONST KSoFiRTypeTimeN% =5 CONST KSoFiRTypeTimeC% =6 CONST KSoFiRTypeTimeS% =7 CONST KSoFiRTypeSunAlt% =8 CONST KSoFiRTypeSunAz% =9 CONST KSoFiRTypePWidth% =10 CONST KSoFiRTypeDuration% =11 CONST KSoFiRTypeLat$ ="LAT" CONST KSoFiRTypeLonN$ ="LONGN" CONST KSoFiRTypeLonC$ ="LONGC" CONST KSoFiRTypeLonS$ ="LONGS" CONST KSoFiRTypeTimeN$ ="TIMEN" CONST KSoFiRTypeTimeC$ ="TIMEC" CONST KSoFiRTypeTimeS$ ="TIMES" CONST KSoFiRTypeSunAlt$ ="ALT" CONST KSoFiRTypeSunAz$ ="AZIMUT" CONST KSoFiRTypePWidth$ ="PATHWIDTH" CONST KSoFiRTypeDuration$ ="DURATION" CONST KSoFiRTypeIgnore$ ="X" REM Constants for IOSEEK CONST KIoSeekModeFromStart% = 1 CONST KIoSeekModeFromEnd% = 2 CONST KIoSeekModeFromCurrent% = 3 CONST KIoSeekModeRewind% = 6 CONST KLock% = 1 CONST KUnlock% = 0 CONST KBusyOff$ = "_BUSY_OFF_" CONST KDots$ = "…" CONST KMeanEarthRadius = 6378135 EXTERNAL Lock:(mode%) EXTERNAL Busy:(str$,pos%) EXTERNAL Key%: EXTERNAL Get%:(locked%) EXTERNAL Input:(astr&,lstr%) EXTERNAL IEEEfloat_GRM32_2_OPL64:(abits&) EXTERNAL IEEEfloat_GRM64_2_OPL64:(abits&) EXTERNAL GetCursPos:(ax&,ay&) EXTERNAL StrVal:(str$) EXTERNAL PosInStr%:(char$,string$,pos%) EXTERNAL LPosInStr%:(char$,string$) EXTERNAL SubString$:(str$,num%) EXTERNAL NumFormat$:(val%,c%) EXTERNAL modulo%:(v1%,v2%) EXTERNAL modulo:(v1,v2%) EXTERNAL Hex2Dec%:(parseline$) EXTERNAL Dec2Hex$:(dec%,fix%) EXTERNAL ExtractFile$:(path$) EXTERNAL AddExtension$:(file$,ext$) EXTERNAL InitSettings%: EXTERNAL ResetSerialSettings: EXTERNAL GRMN_ResetSerialSettings: EXTERNAL WriteSettings: EXTERNAL AboutBox%:(wait%) EXTERNAL InitScreen: EXTERNAL ClearScreen: EXTERNAL RefreshScreen: EXTERNAL ReadSerialAsync%:(p3&,p4&,timeout%) EXTERNAL GetSentenceDirect$: EXTERNAL GetSentence: EXTERNAL SendSentence$:(send$,addcs%) EXTERNAL OpenSerial%: EXTERNAL CloseSerial: EXTERNAL SetSerial: EXTERNAL GRMN_SetSerial: EXTERNAL InputSerial: EXTERNAL GRMN_InputSerial: EXTERNAL ClearPortBuffer: EXTERNAL SysMenu%: EXTERNAL MenuProc_Ctrl_A: EXTERNAL MenuProc_Ctrl_B: EXTERNAL MenuProc_Ctrl_C: EXTERNAL MenuProc_Ctrl_D: EXTERNAL MenuProc_Ctrl_G: EXTERNAL MenuProc_Ctrl_I: EXTERNAL MenuProc_Ctrl_J: EXTERNAL MenuProc_Ctrl_K: EXTERNAL MenuProc_Ctrl_L: EXTERNAL MenuProc_Ctrl_M: EXTERNAL MenuProc_Ctrl_N: EXTERNAL MenuProc_Ctrl_O: EXTERNAL MenuProc_Ctrl_P: EXTERNAL MenuProc_Ctrl_R: EXTERNAL MenuProc_Ctrl_S: EXTERNAL MenuProc_Ctrl_T: EXTERNAL MenuProc_Ctrl_U: EXTERNAL MenuProc_Ctrl_W: EXTERNAL MenuProc_Ctrl_X: EXTERNAL MenuProc_Ctrl_Y: EXTERNAL MenuProc_ShiftCtrl_A: EXTERNAL MenuProc_ShiftCtrl_B: EXTERNAL MenuProc_ShiftCtrl_C: EXTERNAL MenuProc_ShiftCtrl_D: EXTERNAL MenuProc_ShiftCtrl_E: EXTERNAL MenuProc_ShiftCtrl_F: EXTERNAL MenuProc_ShiftCtrl_G: EXTERNAL MenuProc_ShiftCtrl_I: EXTERNAL MenuProc_ShiftCtrl_J: EXTERNAL MenuProc_ShiftCtrl_L: EXTERNAL MenuProc_ShiftCtrl_M: EXTERNAL MenuProc_ShiftCtrl_N: EXTERNAL MenuProc_ShiftCtrl_T: EXTERNAL MenuProc_ShiftCtrl_P: EXTERNAL MenuProc_ShiftCtrl_R: EXTERNAL MenuProc_ShiftCtrl_S: EXTERNAL MenuProc_ShiftCtrl_V: EXTERNAL MenuProc_ShiftCtrl_X: EXTERNAL MenuProc_ShiftCtrl_Y: EXTERNAL MenuProc_ShiftCtrl_Z: EXTERNAL ProgSettings_General: EXTERNAL ProgSettings_Units: EXTERNAL ProgSettings_NMEAparser: EXTERNAL ProgSettings_GRMNparser: EXTERNAL ShowMonitor: EXTERNAL SetMyDevice: EXTERNAL GetYourDevice$:(dialog%) EXTERNAL ComputeChecksum%:(parseline$) EXTERNAL GetChecksum%:(parseline$) EXTERNAL AddChecksum$:(parseline$) EXTERNAL Parse%:(sentence$) EXTERNAL SentenceType$:(STypes$,sentence$,as_number%,rec_lng%) EXTERNAL SentenceType_Standard$:(sentence$,as_number%) EXTERNAL SentenceType_GRM$:(sentence$,as_number%) EXTERNAL SentenceType_SLI$:(sentence$,as_number%) EXTERNAL ManufacturersType$:(mIDs$,as_number%) EXTERNAL NMEA_AAM%: EXTERNAL NMEA_ALM%: EXTERNAL NMEA_APA%: EXTERNAL NMEA_APB%: EXTERNAL NMEA_ASD%: EXTERNAL NMEA_BEC%: EXTERNAL NMEA_BER%: EXTERNAL NMEA_BOD%: EXTERNAL NMEA_BPI%: EXTERNAL NMEA_BWC%: EXTERNAL NMEA_BWR%: EXTERNAL NMEA_BWW%: EXTERNAL NMEA_DBK%: EXTERNAL NMEA_DBS%: EXTERNAL NMEA_DBT%: EXTERNAL NMEA_DCN%: EXTERNAL NMEA_DPT%: EXTERNAL NMEA_DRU%: EXTERNAL NMEA_DSC%: EXTERNAL NMEA_DSE%: EXTERNAL NMEA_DSI%: EXTERNAL NMEA_DSR%: EXTERNAL NMEA_DTM%: EXTERNAL NMEA_FSI%: EXTERNAL NMEA_GBS%: EXTERNAL NMEA_GDA%: EXTERNAL NMEA_GDF%: EXTERNAL NMEA_GDP%: EXTERNAL NMEA_GGA%: EXTERNAL NMEA_GLA%: EXTERNAL NMEA_GLC%: EXTERNAL NMEA_GLF%: EXTERNAL NMEA_GLL%: EXTERNAL NMEA_GLP%: EXTERNAL NMEA_GOA%: EXTERNAL NMEA_GOF%: EXTERNAL NMEA_GOP%: EXTERNAL NMEA_GRS%: EXTERNAL NMEA_GSA%: EXTERNAL NMEA_GST%: EXTERNAL NMEA_GSV%: EXTERNAL NMEA_GTD%: EXTERNAL NMEA_GXA%: EXTERNAL NMEA_GXF%: EXTERNAL NMEA_GXP%: EXTERNAL NMEA_HCC%: EXTERNAL NMEA_HCD%: EXTERNAL NMEA_HDG%: EXTERNAL NMEA_HDM%: EXTERNAL NMEA_HDT%: EXTERNAL NMEA_HSC%: EXTERNAL NMEA_HVD%: EXTERNAL NMEA_HVM%: EXTERNAL NMEA_IMA%: EXTERNAL NMEA_LCD%: EXTERNAL NMEA_MDA%: EXTERNAL NMEA_MSK%: EXTERNAL NMEA_MSS%: EXTERNAL NMEA_MTW%: EXTERNAL NMEA_MWD%: EXTERNAL NMEA_MWV%: EXTERNAL NMEA_OLN%: EXTERNAL NMEA_OSD%: EXTERNAL NMEA_Rxx%: EXTERNAL NMEA_RMA%: EXTERNAL NMEA_RMB%: EXTERNAL NMEA_RMC%: EXTERNAL NMEA_ROT%: EXTERNAL NMEA_RPM%: EXTERNAL NMEA_RSA%: EXTERNAL NMEA_RSD%: EXTERNAL NMEA_RTE%: EXTERNAL NMEA_SFI%: EXTERNAL NMEA_STN%: EXTERNAL NMEA_TLL%: EXTERNAL NMEA_TRF%: EXTERNAL NMEA_TTM%: EXTERNAL NMEA_VBW%: EXTERNAL NMEA_VDR%: EXTERNAL NMEA_VHW%: EXTERNAL NMEA_VLW%: EXTERNAL NMEA_VPW%: EXTERNAL NMEA_VTG%: EXTERNAL NMEA_VWR%: EXTERNAL NMEA_WCV%: EXTERNAL NMEA_WDC%: EXTERNAL NMEA_WDR%: EXTERNAL NMEA_WNC%: EXTERNAL NMEA_WPL%: EXTERNAL NMEA_XDR%: EXTERNAL NMEA_XTE%: EXTERNAL NMEA_XTR%: EXTERNAL NMEA_ZDA%: EXTERNAL NMEA_ZDL%: EXTERNAL NMEA_ZFO%: EXTERNAL NMEA_ZTG%: EXTERNAL NMEA_GRM_C%: EXTERNAL NMEA_GRM_E%: EXTERNAL NMEA_GRM_F%: EXTERNAL NMEA_GRM_I%: EXTERNAL NMEA_GRM_M%: EXTERNAL NMEA_GRM_O%: EXTERNAL NMEA_GRM_T%: EXTERNAL NMEA_GRM_V%: EXTERNAL NMEA_GRM_Z%: EXTERNAL NMEA_SLI_B%: EXTERNAL IsIgnoreField%:(c%) EXTERNAL IsNumField%:(c%) EXTERNAL ReadDatas%:(sentence$) EXTERNAL ReadData$:(sentence$,dpos%) EXTERNAL Query: EXTERNAL ChooseFormatDlg$:(title$) EXTERNAL ChooseMaskDlg$:(title$,ch_addr&,onlynums%,modi$) EXTERNAL Terminal: EXTERNAL Convert:(values,src_unit%,dest_unit%) EXTERNAL ErrorMessage%:(title$,err%,retry%) EXTERNAL ShortMessagePrompt:(title$,error$) EXTERNAL Error_Checksum:(sentence$,ist%,soll%) EXTERNAL Error_Syntax:(error%,sentence$,dpos%,value$,ddesc$,type$) EXTERNAL ParseLoop:(fromport%) EXTERNAL FormatValue_NoDirect$:(c%,value) EXTERNAL FormatValue$:(c%,value) EXTERNAL FormatValue_Intern$:(c%,value,lat_lon_direction%) EXTERNAL PrintField%:(c%,line%) EXTERNAL ParseMask: EXTERNAL Statistics: EXTERNAL ReadSunEclipseDataFormats%:(h%,artype&,artypes&) EXTERNAL ReadSunEclipseNextDataLine%:(h%,rtypes%,artype&,arec&,slen%) EXTERNAL SunEclipse:(enterpos%) EXTERNAL Alm:(msg$) EXTERNAL DistPointLine:(lat,lon,lat1,lon1,lat2,lon2,R) EXTERNAL SphericalDistance:(la1,lo1,la2,lo2,R) EXTERNAL SphAndDirectDistance:(la1,lo1,la2,lo2,Ra,Rb,R1,R2,Rm,al2&,al3&) EXTERNAL TestMap%:(maps%,alati&,alata&,aloni&,alona&,lat,lon,mapnew%,mapold%) EXTERNAL DrawMapCursor:(x%,y%,xsize%,ysize%) EXTERNAL RealMap:(enterpos%,tracking%,rnum%,rlati,rlata,rloni,rlona,arlat&,arlon&,artime&,arheight&,mlat,mlon,mheight) EXTERNAL GetMBMSize%:(file$,inum%,asx&,asy&) EXTERNAL RegisterMaps:(new%) EXTERNAL GetMapRecord%:(num%,calibfile$,afile&,adesc&,amap_sx&,amap_sy&,anum&,apx&,apy&,apla&,aplo&,apd&) EXTERNAL GetMapRecord2%:(num%,calibfile$,afile&,adesc&,amap_sx&,amap_sy&,anum&,apx&,apy&,apla&,aplo&,apd&) EXTERNAL _GetMapRecord%:(num%,calibfile$,afile&,adesc&,amap_sx&,amap_sy&,anum&,apx&,apy&,apla&,aplo&,apd&,dlg%) EXTERNAL AddStandardMap: EXTERNAL AddMapRecord%:(calibfile$,file$,mapdesc$,map_sx%,map_sy%,pnum%,appx&,appy&,aplat&,aplon&,apd&) EXTERNAL ReplaceMapRecord%:(num%,file$,mapdesc$,map_sx%,map_sy%,pnum%,appx&,appy&,aplat&,aplon&,apd&) EXTERNAL DelMapRecord%:(num%) EXTERNAL CheckMapRegistration:(calibfile$) EXTERNAL CalibrateMap%:(file$,amsx&,amsy&,apnum&,apx&,apy&,apla&,aplo&,apd&) EXTERNAL CalibDatasOK%:(map_sx%,map_sy%,pnum%,appx&,appy&,aplat&,aplon&) EXTERNAL ReadCurrentPosition%:(alat&,along&,aheight&,atime&,dlg%) EXTERNAL ReadCurrentDateTime%:(ayear&,amon&,aday&,ahour&,amin&,asec&) EXTERNAL WaitForSentence$:(aformats&,fnum%,dlg%) EXTERNAL SunEclPath2Map: EXTERNAL ConvPixel2Location%:(x%,y%,pnum%,apx&,apy&,apla&,aplo&,alat&,alon&) EXTERNAL ConvLocation2Pixel%:(lat,lon,map_sx%,map_sy%,pnum%,apx&,apy&,apla&,aplo&,ax&,ay&) EXTERNAL ShowCurrentPosition: EXTERNAL ShowCurrentDateTime: EXTERNAL AddAlarm%:(id&,msg$,snd$) EXTERNAL AlmNextFreeNo%: EXTERNAL AlmTotalFreeNo%: EXTERNAL AlmKillAll: EXTERNAL DTDublicate&:(id&) EXTERNAL DTAddSecs:(id&,add&) EXTERNAL FormatStr_Angle$:(a) EXTERNAL FormatStr_Temperature$:(t) EXTERNAL FormatStr_Distance$:(lng,alt%) EXTERNAL FormatStr_Velocity$:(spd) EXTERNAL FormatStr_Duration$:(time) EXTERNAL FormatStr_Time$:(time,offs&,adaydiff&) EXTERNAL FormatStr_Date$:(date,daydiff&) EXTERNAL FormatStr_Latitude$:(lat,dflag%) EXTERNAL FormatStr_Longitude$:(long,dflag%) EXTERNAL Val_LatLonStr:(_str$,lat%,giprnt%) EXTERNAL LocationFromDatabase%:(openlast%,acity&,acountry&,alat&,alon&) EXTERNAL ChooseCityDlg%:(acity&,acountry&,alat&,alon&) EXTERNAL gTriang:(x%,y1%,y2%,dx%,gmode%) EXTERNAL gCreateWindow%:(xi%,yi%,w%,h%,title$) EXTERNAL HomeCity%:(acity&,acountry&) EXTERNAL CutPointOfTrack%:(p1%,p2%,alat&,alon&,adist&) EXTERNAL CompressTrack%:(tonum%,num%,alat&,alon&,aheight&,atime&,dlg%) EXTERNAL DrawTrack:(map_sx%,map_sy%,lati,lata,loni,lona,num%,alat&,alon&,aheight&,atime&,apx&,apy&,thick%) EXTERNAL AnalyseTrack:(route%) EXTERNAL GetTime:(time,ahour&,amin&,asec&) EXTERNAL SetScreen:(num%) EXTERNAL UserScreen%: EXTERNAL PaintScreen:(num%) EXTERNAL ChooseWaypointDlg%:(afile&,aid&,adesc&,alat&,alon&,aalt&,awnum&) EXTERNAL GetWaypointFile$:(title$,uselast%,createnew%) EXTERNAL GenerateWaypointIndex%:(file$) EXTERNAL GetRouteFile$:(title$,uselast%,createnew%) EXTERNAL NewWaypoint:(la,lo,al) EXTERNAL EditWaypoint: EXTERNAL GetWaypoint%:(file$,num%,aname&,adesc&,alat&,alon&,aheight&) EXTERNAL GetNearestWaypoint$:(db$,clat,clon,adesc&,alat&,alon&,adist&) EXTERNAL GetNextCountry$:(country$) EXTERNAL GetPrevCountry$:(country$) EXTERNAL GetFirstCityOfCountry$:(country$) EXTERNAL GetNextCityOfCountry$:(city$,country$) EXTERNAL GetPrevCityOfCountry$:(city$,country$) EXTERNAL GetFullCountry$:(pre$) EXTERNAL GetFullCity$:(pre$,country$) EXTERNAL GetCityInfos%:(city$,country$,alat&,alon&,atd&,acap&) EXTERNAL GetNearestCity$:(clat,clon,acountry&,alat&,alon&,adist&) EXTERNAL TestOwnWldDatabase%: EXTERNAL CreateOwnWldDatabase%: EXTERNAL Callback_Cities2Database&:(cityName$, country$, lat&, lon&, area$, timediff&, dst&, natcode$, capital$, natpfx$, intpfx$) EXTERNAL GRMN_SendStr%:(cmd%, parm$) EXTERNAL GRMN_SendStrExt%:(cmd%,params$) EXTERNAL GRMN_GetStr%:(acmd&) EXTERNAL GRMN_SendAndGetStrExt%:(cmd_send%,params$,cmd_read%) EXTERNAL GRMN_Ack:(cmd%) EXTERNAL GRMN_Nak:(cmd%) EXTERNAL GRMN_Abort: EXTERNAL GetGarminDatatype%:(transnum%,d%) EXTERNAL GetGarminProductDatas$:(dlg%) EXTERNAL ReadAlmanacDatas: EXTERNAL UpdateAlmanac: EXTERNAL ReadPVTDatas: EXTERNAL ReadGarminDateAndTime: EXTERNAL ReadGarminPosition: EXTERNAL GarminPowerOff: EXTERNAL Waypoints2Garmin: EXTERNAL WaypointsFromGarmin: EXTERNAL Waypoints2Textfile: EXTERNAL WaypointsFromTextfile: EXTERNAL EditRoute: EXTERNAL Routes2Garmin: EXTERNAL RoutesFromGarmin: EXTERNAL Route2Textfile: EXTERNAL RouteFromTextfile: EXTERNAL DrawRoute: EXTERNAL Track2Route: EXTERNAL TrackFromGarmin: EXTERNAL FileDialog$:(title$,file$,save%,ext$,ar&) EXTERNAL DNavCallBackManager%:(item%, procedure$) EXTERNAL UnitConverter: EXTERNAL DistanceCalculator: