DATA FORMATS MEANING ----------------------------------------------------------------------------------- C -> data field contains a character C(m=str1)(n=str2)... -> data field contains a character =m means str1 =n means str2 ... Don't use ',' '(' or ')' in strings str1 and str2 ! CD -> character is a direction indicator N north S south W west E east L left R right CC -> communications mode d F3E G3E SimplexTelephone e F3E G3E DuplexTelephone m J3E Telephone o H3E Telephone q F1B J2B FEC NBDP TelexTeleprinter s F1B J2B ARQ NBDP TelexTeleprinter w F1B J2B Receive Only Teleprinter DSC x A1A Morse Tape Recorder { A1A Morse Tape Recorder | F1C F2C F3C Fax Machine CR -> Reference indicator B Bottom Tracking Log M Manually Entered W Water Referenced R Radar Tracking Of Fixed Target P Positioning System Ground Reference CT -> Transducer indicator A Angular Displacement Transducer D Linear Displacement Transducer C Temperature Transducer F Frequency Transducer N Force Transducer P Pressure Transducer R FlowRate Transducer T Tachometer Transducer H Humidity Transducer V Volume Transducer CL -> Loran time difference indicator B Loran Blink Warning C Loran Cycle Warning S Loran SNR Warning A Loran Valid B -> data field contains a boolean value (character) =A -> true =V -> false same as C(A=true)(V=false) B(str1)(str2) -> =A -> str1 =V -> str2 same as C(A=str1)(V=str2) S -> String S(x) -> undefined length, but expand with leading spaces to length x X -> floating point number X(x) -> floating point number, expand string representation with leading spaces to length x X(0x) -> floating point number, expand string representation with leading '0's to length x H(x) -> hexvalue expand string representation with leading '0's to length x E -> Earth datum index (Garmin propietary) T -> time (hhmmss or hhmmss.sss) D -> date (ddmmyy) A -> latitude (includes following data field N/S) O -> longitude (includes following data field E/W) N -> pair of data fields; the 1st contains a total message number and the 2nd contains the number of the received message Mm -> bearing in degrees (magnetic) Mt -> bearing in degrees (true) MM,MT -> like Mm and Mt, but the next field will be ignored. (This contains the redundant character M or T.) - -> ignore data field Only for X-flags you can specify the units: Adding [u=c] means the units c of the units-group u. Following characters are allowed for u: Symbol Measurement Internal units of stored datas D Distance m V Velocity m/s T Time s R Direction ° K Temperature °C U Revolution RPM P Pressure bar S Signal dB F Frequency Hz v Volume l H Humidity % Following characters are allowed for c: (Symbols like in the NMEA protocol; only (*)-units are not defined in NMEA standard) B Bars; Degrees/Minute (*) ; Decibel (*) C Celcius D Degrees F Fathoms f Feets H Hertz h Hours I Inches; Inches of Mercury (*) i Microseconds (*) j Microseconds/10 (*) K Kilometers; Kilometers/Hour; Kilohertz (*) k Kilograms (**) l Liters; Liters/Second (**) M Meters; Meters/Second; Cubic Meters m Minutes N Nautical Miles; Knots; Newtons (**) P Percent (***) S Statute Miles/Hour s Seconds R Revolutions/Minute (*) (**) Not assigned to any unit group; not used in program (***) Allowed in all unit groups Additional in all cases: c=# : read units from next field c=x : read units from data field number x If you use c=x and the data field x will not be ignored automatically by a preceeding field with c=#, you have to declare this data field as an ignorable parse field (symbol '-'). REPEATING GROUP OF PARSE FIELDS ------------------------------- You can add a '*' at the end of a parse field descriptor. This means: here starts a group of parse fields, which describes a group of data fields, they can occur repeatedly in the sentence. The group reaches until the end of the descriptor list. So, after such a list no other parse field outside of the list is allowed. Example: $--SFI,x.x,x.x,xxxxxx,c .......... xxxxxx,c*hh 1.) Total Number Of Messages 2.) Message Number 3.) Frequency 1 4.) Mode 1 x.) Checksum Parse fields: "Message number,N" "Frequency,X*" "Mode,C" (c) Torsten Baumbach, 05.08.1999