MBARI OASIS3 Mooring Guide

Configuring an OASIS3 Can For Deployment

You configure OASIS3 for deployment by editing the OASIS.CFG file, and copying that file onto the root directory of the CFM card. Note that you can copy the file to the OASIS3 root directory using the OASIS3 user interface itself. In In Hyperterm or similar, simply issue the command capture OASIS.CFG, and then use your terminal emulator to send the file (in Hyperterm, Transfer->Send Text File).

In MotoCross, it's even easier. Simply use Transfer->Load. MotoCross does the capture command for you.

In either case, when done, exit by typing the system disconnect character, typically CTRL-D.

OASIS.CFG

General

Two types of lines are recognized: driver specifications and parm (general parameter) specifications.

Driver Specification

General Form:

Driver = <driver type> [driver name] [interval] [serial port] [baud] [serial setup] [power bit(s)] [log type] [tod mask] [timeout] [parm0] [parm1] [parm2]

Notice that only <driver type> is required.  Each driver type has a set of defaults for the remaining parameters.  Any parameter not specified will get the default value.  You may leave out a parameter but specify later parameters by using commas.  For example:

Driver = UserIF, UserIF10,,10

specifies the UserIF driver, names it “UserIF10”, using serial port 10.  It will use defaults for interval and all other parameters .

Parameter list for driver =

 

Parameter Name

Description

1

Driver Type

ASCII string specifying the driver.  A list of recognized strings is shown below.

2

Driver Name

The ASCII name for this instance of this driver.  This is what will be recognized and shown by ‘drvparm’, for example.

3

Interval

Number of seconds between samples.

4

Serial Port

Number, 0 to 31, or –1 for no serial port.

5

Baud

Number, <= 57600

6

Serial Setup

Either a hex number, specifying the bits as shown in file serial.h, OR <N|E|O><7|8><1|2>[_XON][_ECHO][_BIGBUF][_AUTOCR|_NEWCR|_NOLF]

E.g. N81 specifies standard no parity, 8 bits, 1 stop bit
        N81_XON_ECHO adds flow control and local echo

Meanings of above:

  • <N|E|O> is parity (None | Even | Odd)
  • <7|8> is number of data bits
  • <1|2> is number of stop bits
  • _XON specifies XON/XOFF flow control (default is none)
  • _ECHO specifies local echo (driver echoes what it receives). This is generally used only for UserIF.
  • _BIGBUF causes the Tx buffer to be 1024 bytes rather than 256. This is useful for radio links.
  • _AUTOCR = output a CR after every LF
  • _NEWCR = replace LF with CR
  • _NOLF = don’t output LF

7

Power Bit(s)

Hex value to use for power bit(s). E.g., for power bit 4, use 0x10 or 10H. Defaults to hex, so you can also just specify 10. Note that, unlike serial port, this is a bit vector and not the bit number. This is so you can specify more than one power bit (e.g. 11H for bits 4 and 0).

8

Log Sample Type

EITHER a string specifying the Sample Type field that is logged, or a decimal number.  The list of recognized strings and  their decimal representations is here.

9

TOD Mask

Number.  Time of Day mask.  Defaults to 0.  Any bit turned on specifies an hour of the day in which sampling will not take place.  Note that, as the others, this assumes decimal.  You’ll probably want to specify it in hex.  E.g., 0xfc003f turns off sampling from 1800 hours to 0600 hours local.

10

Timeout

Number, seconds of timeout for input.  It’s use may vary from driver to driver, but in general it’s the number of seconds the driver waits for data from the instrument.

11

PARM0

Number, driver-specific.

12

PARM1

Number, driver-specific.

13

PARM2

Number, driver-specific.

 

Parm (parameter) Specification

Lines that don't conform to the driver specification above are assumed to be parameter specification. The general form of parameter specification is
<parameter> = <value>
For example: pwrperm = 1234H

Four types of parameters are defined: decimal parameters, hexadecimal parameters, boolean parameters, and string parameters. The first two types are exactly as OASIS has historically used the parm command. Booleans were added for this release, and are set to TRUE if the included parameter is either a 1 or the string "true" (case insensitive). String parameters take the place of the old string command, which now is simply a synonym for parm. A cfg file line of
<parameter> = <value>
operates exactly as if you'd issued a command-line of parm <parameter> <value>. Note that the parm command now understands the hex notations of 0xnnnn and nnnnH, and hence the parm specification lines of the cfg file understand these notations also. They are unnecessary for hex parameters (e.g. the pwrperm example above doesn't need them), but not harmful.

In addition to the historical system parameters that parm has always recognized, we've now added parameters that take the place of a number of the #define's that used to exist in custom.h. This is to allow a single OASIS3 executable image to be used for any deployment that formerly needed customization via custom.h.

Parameters accepted
Historical "parm" parameters
Parameter
Type
Description
Values
DISCHR
Hex
Disconnect Character
CON command DISCONNECT Character (ends CON session)
BRKCHR
Hex
BREAK Character
Character to indicate that a BREAK should be sent during a CON session
con_tmout
Decimal
Connect Timeout
OASIS Login Timeout (Seconds)
TNCCHR
Hex
TNC Command Character
TNC Command Escape Character
radio_tmout
Decimal
Radio Silence Timeout
Hours of radio silence before can is reset
PwrPerm
Hex
Power Policy

Bitmask:

Bits 0-31
0: Powered by OASIS only when sampling (if power bit is defined for instrument)
1: Continuously Powered by OASIS

ASCII
Boolean
Send Data In ASCII Format
0: Binary 1: ASCII
xoff_tmout
Decimal
Default XOFF Timeout
Timeout for receipt of XOFF character (seconds)
sync_tmout
Decimal
Default Sync Timeout
Timeout for drvSync() function (seconds)
gmtOffset
Decimal
Deployment Location Offset Relative to GMT
hours
logStatus
Log power events

Bitfield:
Bit 0: Power On Events
Bit 1: Power Off Events

 

gpsAlt
Decimal
Initial GPS Altitude
meters
gpsVelAvg
Decimal
GPS Velocity Averaging time
seconds
maxUsedStack
Decimal
Largest stack size used by any task since OASIS started up.
Used for debugging
Historical "string" parameters
Parameter
Type
Description
Values
TNC
String
Name given to radio TNC
Defaults to "2003M2"
ADCP
String
ADCP Disconnect string
Obsolete, now empty string
pCO2
String
Command to collect data from pCO2
Defaults to "*1321,23,42,44"
Parameters to take place of custom.h #define's
Parameter
Type
Description
Values
logStatus
Hex
Create log entry at each power-on or power-off
Bitfield:
Bit 0: Power On Events
Bit 1: Power Off Events
syncAtMidnight
Boolean
Sync (restart) all drivers each midnight. Usually used for EQPACdeployments.
Defaults to "false"
deploymentMode
Boolean
Send ARGOS messages continuously until next local midnight. Used for EQPAC deployments
Defaults to "false"
diagnosticMode
Boolean
Start up in diagnostic mode (menu based program that allows testing, formatting, etc)
Defaults to "false"
wakeOnConsoleChar
Boolean
Wakeup from sleep when user hits a key at user console
True to wake up. Dangerous, only for debugging
ctdCmd
String
Command to collect data from CTD
Defaults to "TS"
ctdSync
String
Driver to "sync" to before collecting CTD data
Defaults to NULL (unused)
shutterSync0
String
Driver to sync to before collecting specPRR data
Defaults to "Shutter"
shutterSync1
String
Driver to "sync" to before collecting specPRRdata
Defaults to"SShutter"

Command-line Specification

If neither a driver specification is found nor a valid parm parameter, the cfg file parser will attempt to execute the line as if it were a command line to the user interface. This feature is currently unused, but there if needed in the future.