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.
Two types of lines are recognized: driver specifications and parm (general parameter) specifications.
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 Meanings of above:
|
|
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. |
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.
|
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 |
|
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:
|
|
|
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 |
|
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" |
|
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" |
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.