This file contains parameters for Sonar.Ini relating to Serial Port
Devices.

;--------------------------------------------------------------------------
; [SerialN] : RS232 configuration options (Starts with Serial0..Serial7)
;--------------------------------------------------------------------------
; CREATE=0
;   Use 1 for standard serial port.  2 for DMU6.
; Network=1
;   1 to enable data on ethernet
; NetworkRaw=0
;   1 to enable unparsed (raw) data on ethernet
; Disk=0
;   1 to enable data on the disk
; DiskRaw=0
;   1 to enable unparsed (raw) data on disk
; DATA=
;   Default string to write to port on init
; Port=N
;   Specifies the actual hardware serial port number for the channel.  Default
;   is the channel number.
; Baud=9600
;   Baud rate of connection.
; Parity=2
;   Parity of port (0=>even, 1=>odd, 2=>none, 3=>mark, 4=>space
; StopBits=1
;   Stop bits for port.  Minimum of 1
; WetPortCheckInterval=100
;   Data polling interval in ms.
; ExtendedParsingInfo=0
;   Extended parsing info, reserved for future applications.
; DataBits=8
;   Data bits per character (maximum of 8).
; Priority=0
;   Set the thread priority for serial io.  A value of 0 is NORMAL, 1 is
;   above normal, and 2 is highest (real time).
; Parser=0
;   Parsing algorithm.  Choose from:
;   0: None - read and send up any data.
;   1: Pitch/Roll in Simrad EM1000 format - This consists of 5 16-bit words with values
;      (Header)(Roll)(Pitch)(Heave)(Heading) - Parser for MRU (records with gaps)
;   2: Paroscientific Pressure Meter
;   3: Pitch/Roll in Simrad EM1000 format - Parser for TSS unit (continuous xmission).
;   4: Parse NMEA and send specific messages.  Messages parsed are:
;     $SDDBT : Altitude from Simrad Mesotech 1007 or compatible
;     $PTNTHPR,x.x,a,x.x,a,x.x,a : Heading, Pitch, Roll from Honeywell HMR3000
;       Note the x.x in above must be setup in units of degrees
;   5: Parse and send generic NMEA Strings
;   6: RD Instruments Dopler Velocity Log (DVL) parsing (Model WH-N-nnnKHZ) .
;   7: Octans Motion Sensor
;   8: Applied Microsystems Smart CTD
; ParserParameters=
;   Special parameters for specific parsers.  See comments on each parser for
;   these optional parameters.
; VerifyChecksum=2
;   Effects how NMEA strings are validated.  0 returns any line of data.  1 Validates
;   that a string begins with a $ and has a * or *<CheckSum>.  2 also validates the
;   checksum.  If non-zero only valid strings are processed further.
; DiagnosticIOPort=0
;   Set to a VALID parallel port IO address IN HEX to enable latency testing.  The parallel
;   port data bits will then be asserted as soon as a serial record is received.  A
;   scope can then be attached to the port to detect latency between serial io and
;   time tag events.
; ReadIntervalTimeout=0
;   Read interval timeout in ms.  After the first character, if the next one does not
;   arrive within the interval then the read is aborted (end of packet).  A value of
;   0 disables.
; ReadTotalTimeout=0
;   Read total timeout in ms.  Waits this long for the first character (or all chars if
;   the interval timeout is 0).  A value of 0 results in a default of 1 ms.
; WriteTotalTimeout=0
;   Suspend up to this long in ms waiting for a write.  A value of 0 uses 1.5 times the
;   WetPortCheckInterval.
; TimeStampFirstChar=0
;   Set to 1 or 2 to timestamp the first character read in a buffer.  This will reduce the
;   jitter in the timestamp read, which can be as high as 20 ms otherwise.  Setting this
;   flag makes the code less efficient.
;   A value of 1 will read the port twice per loop: Once for the first character and then
;   for what is remaining in the buffer.
;   A value of 2 will read the port three times per loop: Once for the first character and
;   then once for what is remaining in the buffer and then once more.
;   Choose between a value of 1 or 2 by the size of the read fifo buffer and the size of each
;   expected record.  If the fifo buffer size is less than the amount of data per record then
;   the value 2 should be selected.  Otherwise the value 1 should be selected.
; TimestampBias=0
;   Bias of timestamp of each record in ms.  A negative value moves back in time.  Since
;   the data is buffered by the hardware, there is a fixed latency in receipt of data.
;   This parameter allows the timestamp to be biased (usually back in time) to compensate
;   for these latencies as well as internal device sampling latency.  A scope connected
;   to the parallel port with the DiagnosticIOPort option can be used to determine this
;   value.  For a receive buffer size of N and a baud rate M, the approximate value for
;   time stamp at first character receipt would be (assuming that TimestampFirstChar=1):
;   - (1000 * 10.0 / M) * (N + 2)
;   Value must be between +-500 or it is ignored.
; InitString=
;   Init string to send to unit on startup or other failure condition.  To insert non-printable
;   characters use \n (newline), \r (return) or \XX where XX represents the value to insert in
;   2 hex digits.  The value \b causes a break to be asserted.  The value \0 will mark the end
;   of the init string - this makes it possible to send no init string at all.  Note that some
;   parsers will insert a default init string if the init string is completely blank.  The value
;   \p will insert a 100 ms pause.  The value \P will insert a 1 second pause.
; InitTimeout=10000
;   Timeout for init string in ms.  The init string is sent after this period of inactivity
;   or upon startup.  A value of <= 0 disables the init string processing.
; BreakMilliseconds=300
;   Number of milliseconds to wait when a break is asserted (DEV_SERIAL_BREAK received)
; BreakPause=50
;   Number of milliseconds to wait AFTER a break is deasserted to allow the serial device
;   to recover before sending more characters.

;--------------------------------------------------------------------------
; [SerialN] : Built in support options.                        
;--------------------------------------------------------------------------
; In addition to generic devices, the sonar supports some industry standard
; devices.  This section describes the setup procedure and recommended
; configuration options for these devices.

;--------------------------------------------------------------------------
; Seatex MRU4
;--------------------------------------------------------------------------
; Setup: Using the Seatex provided configuration utility, set the following:
;   Baud:              9600
;   Data Format:       EM1000
;   Transmission Rate: 20 Hz
;   When properly set up, the device will transmit a fixed record of 10 char
;   at a 20 Hz rate.
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=1
; ReadIntervalTimeout=5
; ReadTotalTimeout=1000
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; TSS Pitch Roll
;--------------------------------------------------------------------------
; Setup: Using the Seatex provided configuration utility, set the following:
;   Baud:              2400
;   Data Format:       EM1000
;   Transmission Rate: 23 Hz (Implied)
;   When properly set up, the device will transmit a fixed record of 10 char
;   at a 23 Hz rate.  Note that the update rate is determined by the
;   baud rate, so too high a baud rate will result in excessive data.
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=3
; Baud=2400
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Paroscientific Pressure Meter
;--------------------------------------------------------------------------
; Setup: Using the vendor provided configuration utility, set the following:
;   Baud:              9600
;   Transmission Rate: 1 Hz
;   Reporting Units: PSI
;   Unit Number: 1
;   When properly set up, the device will transmit a fixed record of 12 char
;   at a 1 Hz rate.
; Notes:
;   The default init string is \r\n*9900P4\r\n
;   This causes the instrument to start sending pressure readings.  Please
;   refer to the paroscientific manuals for details.
;   The unit number of the sensor must be set to 01.  Other values will
;   result in a parsing error.
;   The default engineering units should be PSI.  The engineering units
;   are set with the command *0100EW*0100UN=n where n is 1-8.  The value
;   of n for PSI is 1.  If you wish to read in a non-standard scale, you
;   can specify the conversion to PSI with the ParserParameters keyword
;   which takes the format:
;   ParserParameters=N M
;     WHERE N is the floating point gain and M is the floating point offset
;     in this case, the conversion from paroscientific reading (READING) to
;     PSI would be:
;       PSI = READING * N + M
;--------------------------------------------------------------------------
; Setup For FSSB:
;   Attach a serial port to the unit and start hyperterm at 9600 baud
;   Set the device to mode 2 using the command:
;     *0100EW*0100MD=2
;   Set the pressure integration time constant (optional)
;     *0100EW*0100PR=333
;   Important NOTE: In above, terminate each line with the CONTROL-J character
;     if in hyperterminal.
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=2
; ReadIntervalTimeout=20
; ReadTotalTimeout=2000
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Applied Micro Smart CTD
;--------------------------------------------------------------------------
; Notes:
;   The default init string is \r\P\r\p\r\pr\pe\pa\pl\p\r\ps\pe\pt\p \ps\p \pc\po\pn\pt\pi\pn\pu\po\pu\ps\p\r\pm\p\r
;     The pauses are essential in the above.  If not present the instrument
;     may freeze up or not receive the commands !!!.
;   This causes the instrument to start sending pressure readings.  Please
;   refer to the Applied Micro manuals for details.
;   The parser adds 14696 to the pressure reading because the unit is
;   normally calibrated to read 0 at sea level.
;   If you wish to read in a non-standard scale, you
;   can specify the conversion to PSI with the ParserParameters keyword
;   which takes the format:
;   ParserParameters=N M
;     WHERE N is the floating point gain and M is the floating point offset
;     in this case, the conversion from paroscientific reading (READING) to
;     PSI would be:
;       PSI = READING * N + M
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=8
; Baud=9600
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Simrad Mesotech 1007 or compatible
;--------------------------------------------------------------------------
; Setup: Use the vendors default configuration (9600 baud)
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=4
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Honeywell HMR3000 Pitch Roll Heading
;--------------------------------------------------------------------------
; Setup: Use the vendors default configuration (19200 baud).  Specify
;   an update rate for the PTNTHPR.  Disable (0 for time period) all others
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=4
; Baud=19200
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; RD Instruments Dopler Velocity Log WH-N-nnnKHZ
;--------------------------------------------------------------------------
; Setup: Using the vendor provided configuration utility, set the following:
;   Baud:              9600
;   Triggering: Send command CX1 for external trigger, CX0 for internal trig
;   Review manual for other desired settings.  Use CK command to save settings.
;
; Notes:
;   If no init string is specified, then the instrument will be initialized
;   as follows: \bCF11110\rPD3\rCS\r
;   This string sets the output format to PD3 binary mode.  However, PD0 and
;   PD4 and PD5 binary modes are also support with appropriate init strings
;   Ascii modes are NOT supported.
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=6
; ReadIntervalTimeout=20
; ReadTotalTimeout=2000
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Octans Motion Sensor
;--------------------------------------------------------------------------
; Setup: Using the vendor provided configuration utility, set the following:
;   Baud:              57600
;   Sample Period:     100 MS
;   Output Format:     Motion Sensor 2 (Output NMEA 0183 Compatible)
; Notes:
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=1
; Parser=7
; Baud=57600
; ReadIntervalTimeout=10
; ReadTotalTimeout=2000
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
; Crossbow DMU6
;--------------------------------------------------------------------------
; Setup: The unit should be shipped from the factory set to 9600 baud
;--------------------------------------------------------------------------
; Ini File Section: The [SerialN] section should have the following
; Create=2
; DMUVersion=0
; Command_calibrate=1
;--------------------------------------------------------------------------
; Special ini file options for the Crossbow.
;--------------------------------------------------------------------------
;[SerialN]
; CREATE=0
;   Use 2 for DMU6.
; NETWORK=0
;   1 to enable data on ethernet
; DISK=0
;   1 to enable data on ethernet
; CALCONSTANT=200
;   Calibration constant for DMU6
; TIMECONSTANT=100
;   Time constant for DMU6
; HeaveTC=-1
;   Heave time constant.  Set to a value between 0 and 255 to send
;   this message on init.  0 => no heave, 1 => max roll off, 255=>lowest
;   roll off.
; SAMPLERATE=100
;   Sample rate for polled operation in ms.  Use -1 for continous mode
;   at maximum rate, and -N for decimated by N in continuous mode.
; COMMAND_CALIBRATE=0
;   Set to 1 to calibrate the device on init
; DMUVersion=1
;   DMU Version.  This is a bitmap with the following bits:
;   Bit 0: Heave estimation present if 1
;   Bit 1: New Temperature Sensor if 1
;   Bit 2: 4 G Range on Accelerometers if 1
;   Bit 3: DMU-VG has no temperature sensor - temp set to -32768 if 1
; HeaveScale=1000
;   Scale factor * 1000 for heave sensor input.  Used to convert
;   to Meters.
; Port=N
;   Actual serial port that supplies data.

