Triton SB-Logger and TritonNav
incorporate a parser which enables decoding of almost any ASCII data being sent
to the programs from a third party device over a standard serial (COM) port. For example a navigation computer may
send the information from a number of different sensors in one string
(position, heading, speed, pitch, roll etc.). The data string can use
delimiters (commas, spaces) to seperate the variables
or be in fixed length (character count) format. The parser can handle either.
It could also be used to decode NMEA 0183 strings that are not handled
automatically by the NMEA0183 option.
Click on the Setup Serial Input to display the following dialog box:

Select the Com port
you will be using, choose the User
Defined Input system type, and then click on the User Defined Tab:

Click the Modify button:

Enter the actual string as text in the SAMPLE
& TEST STRING box as indicated. Include all
separators and non-numeric characters that may appear in the sample string.
Non-numeric characters are used as
delimiters, (multiple non-numerics are treated as one),
you will also need to add <CR><LF> at the end of your string
and specify <CR><LF> as a delimiter, be
sure to specify any other non-numeric characters from the original string also.
Here is a string as is would appear in Windows Notepad:

You can use the Copy / Paste functions (CTRL+C and CTRL +V) of
Windows to copy a line from Notepad and paste it into the Parser. Here’s the
first line of the nav text file entered in the
parser. Note the addition of <CR><LF>

Right Clicking in the lower panel allows the
addition of a new field:

Initially the Format column shows VOID
(delimited):

A left click will enable display of the Format
dropdown showing a table of available options:

In this example the first group of characters
to be parsed is a generic NUMBER (delimited) and this number is to have
an Assignment of FIX (integer):

Continue adding fields, selecting the correct
Format from the dropdown list, (see seperate list for
definitions)

In this example the Format of the Latitude
and Longitude is DD.DDDDDD or degrees and decimal degrees,
this format could also be applied to other angular values so it is necessary to
Assign the value to either LAT or LONG:

Once all values have been assigned, the
PARSER DECSRIPTION & TEST REPORT should be complete and error free,
indicating that the saved .PRS file will correctly decode the string. Note, in
the example the value for speed is KNOTS, the parser processes this value to
meters/Second internally, the speed being stored in the file as Meters/second:

Clicking the Save button saves all
settings to a .PRS file. Exiting will return you to the Serial port data
acquisition settings dialog box:

Checking the indicated box will synchronize
the time on the PC clock to be the same as the time in the decoded string. The
next time this string is encountered it will only be necessary to recall the
appropriate .PRS file.
Here is an example of a NMEA type string and its decode settings, (usually not required since NMEA0183 is automatically decoded by specifiying NMEA0183 as the Nav type)

Notes
Using the PATTERN option and assigning it as $PNTL
speeds the parsing of this type of string
Explanation of the LAT/LONG Format LAT/LON(d#m*?h?) in this example:
d = whole degrees (in this case 076)
# = number of characters defining degrees (in
the case of Longitude 3 characters)
m* = minutes, with any number of decimal places (in
this case 37.04656465)
? = any delimiter (in this case a comma)
h = The hemisphere,
E-W or N-S (in this case W).
? = any delimiter (in this case a comma)
The result in Deg.Decimal
is decoded correctly as -76.617442 in the Value column. Because E
was specified as being necessary to give a + Longitude (the last parameter
specified for Field 07), the parsed W in the original string gives the
correct negative Longitude value.