|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectjava.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.mbari.siam.core.DeviceService
org.mbari.siam.core.BaseInstrumentService
org.mbari.siam.core.PolledInstrumentService
org.mbari.siam.devices.soon.SOON
public class SOON
An embedded microprocessor based datalogger (Onset TattleTale) coordinates the SOON sensors and associated pump and gas valves. The embedded system also provides serial communications to the host system so the sampled data can also be transmitted to a PC or mooring controller. The subsystem is preconfigured to take a sample set of all channels on the hour every hour. The sampling cycle can take up to 10 minutes to perform during which time no serial communication with the instrument should NOT be attempted, as this causes errors in the instrument's operation. The instrument has three distinct operating modes "awake" (or command mode), "asleep" - a low power mode but able to wake itself up automatically at sampling time and "off" - powered down completely. This last operating mode is not a deployment option. To wake the instrument, a single character is sent to the communications port. Provided the unit isn't in the sampling cycle, a response in the form of scheduling information is transmiited to the host. Then sending a carriage return ('\r') to the unit causes the unit to enter command mode. The instrument responds with the prompt "SOON>". When in command mode the unit can be interrogated and the last sample retrieved. To exit command mode a "quit" command is sent and the unit returns to the low power sleep mode.
Device,
Instrument,
PowerPort,
PolledInstrumentService,
Serialized Form| Field Summary | |
|---|---|
protected org.mbari.siam.devices.soon.SOON.Attributes |
_attributes
|
protected boolean |
_initialized
|
protected static org.apache.log4j.Logger |
_log4j
|
| Fields inherited from class org.mbari.siam.core.BaseInstrumentService |
|---|
_defaultSamplerTask, _defaultSampleScheduleName, _errorCache, _instrumentAttributes, _lastPacket, _lastSensorDataPacket, _maxSampleBytes, _messagePacket, _nPowerRequests, _nWakeRequests, _packetLog, _recordType, _running, _samplerWakeupTime, _scheduleKey, _schedules, _sensorDataPacket, _turbinator, MAX_BASE_RECORDTYPE, RECORDTYPE_DEFAULT, RECORDTYPE_METADATA, RECORDTYPE_UNDEFINED |
| Fields inherited from class org.mbari.siam.core.DeviceService |
|---|
_fromDevice, _instrumentPort, _nodeProperties, _parentNode, _regEntry, _sandBox, _serviceCachePath, _serviceName, _servicePropertiesPath, _serviceXMLPath, _toDevice, CACHED_PROPERTIES_FILENAME, PROPERTIES_FILENAME, XML_FILENAME |
| Fields inherited from class java.rmi.server.RemoteObject |
|---|
ref |
| Fields inherited from interface org.mbari.siam.distributed.Device |
|---|
ERROR, INITIAL, INSTRUMENT_STATE, MDATA_ALL, OK, SAFE, SAMPLING, SERVICE_ATTRIBUTES, SERVICE_CACHE, SERVICE_PROPERTIES, SERVICE_XML, SHUTDOWN, SLEEPING, SUSPEND, UNKNOWN |
| Constructor Summary | |
|---|---|
SOON()
|
|
| Method Summary | |
|---|---|
protected ScheduleSpecifier |
createDefaultSampleSchedule()
Return specifier for default sampling schedule. |
protected byte[] |
getInstrumentStateMetadata()
Not implemented |
SerialPortParameters |
getSerialPortParameters()
Return parameters to use on serial port. |
protected PowerPolicy |
initCommunicationPowerPolicy()
Return communications interface power policy. |
protected int |
initCurrentLimit()
Specify current limit in increments of 120 mA upto 11880 mA. |
protected void |
initializeDevice()
Initialize the device. |
protected void |
initializeInstrument()
Called by the framework to initialize the instrument prior to sampling. |
protected PowerPolicy |
initInstrumentPowerPolicy()
Return instrument power policy. |
protected int |
initInstrumentStartDelay()
Specify startup delay (millisec) |
protected int |
initMaxSampleBytes()
Specify maximum bytes in raw sample. |
protected byte[] |
initPromptString()
Specify prompt string. |
protected byte[] |
initSampleTerminator()
Specify sample terminator. |
protected void |
prepareToSample()
Prepare the device for sampling; called before requestSample(). |
protected void |
requestSample()
Issue command to SOON to acquire last sampled data and wait until the data sync characters have been received. |
protected int |
secondsUntilSafeComms()
Return number of seconds before it is safe to communicate with device |
void |
setClock(long t)
Set the SOON date and time to current date and time. |
int |
test()
Run device's self-test routine. |
protected void |
waitForInstrument()
Waits until it is safe to communicate with instrument. |
| Methods inherited from class org.mbari.siam.core.PolledInstrumentService |
|---|
acquire, doScheduledTask, setAttributes |
| Methods inherited from class java.rmi.server.UnicastRemoteObject |
|---|
clone, exportObject, exportObject, exportObject, unexportObject |
| Methods inherited from class java.rmi.server.RemoteServer |
|---|
getClientHost, getLog, setLog |
| Methods inherited from class java.rmi.server.RemoteObject |
|---|
equals, getRef, hashCode, toString, toStub |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.mbari.siam.distributed.Instrument |
|---|
acquireSample, addDefaultPacketFilters, annotate, cacheProperties, clearDefaultPacketFilters, clearPropertiesCache, disableSummary, enableSummary, getDefaultPacketFilters, getLastSample, getPackets, getPackets, getParser, getPortDiagnostics, getPortDiagnosticsSummary, getProperties, getProperty, getSampleSchedule, getSchedules, resetPortDiagnostics, setClock, setProperty, summaryEnabled |
| Methods inherited from interface org.mbari.siam.distributed.Device |
|---|
getChildren, getCommPortName, getFrameworkVersion, getId, getLocation, getMetadata, getName, getParent, getSamplingCount, getSamplingErrorCount, getSamplingRetryCount, getStatus, host, powerOff, powerOn, prepareToRun, resume, shutdown, suspend |
| Methods inherited from interface org.mbari.siam.distributed.DeviceServiceIF |
|---|
getName |
| Methods inherited from interface org.mbari.siam.core.ScheduleOwner |
|---|
addSchedule, getAllSchedules, getScheduleKey, removeAllSchedules, removeSchedule, resumeSchedule, sleepingUntil, suspendSchedule, syncSchedule |
| Field Detail |
|---|
protected org.mbari.siam.devices.soon.SOON.Attributes _attributes
protected boolean _initialized
protected static org.apache.log4j.Logger _log4j
| Constructor Detail |
|---|
public SOON()
throws java.rmi.RemoteException
java.rmi.RemoteException - .| Method Detail |
|---|
protected int initInstrumentStartDelay()
initInstrumentStartDelay in class BaseInstrumentServiceprotected byte[] initPromptString()
initPromptString in class BaseInstrumentServiceprotected byte[] initSampleTerminator()
initSampleTerminator in class BaseInstrumentServiceprotected int initMaxSampleBytes()
initMaxSampleBytes in class BaseInstrumentServiceprotected int initCurrentLimit()
initCurrentLimit in class BaseInstrumentServiceprotected PowerPolicy initInstrumentPowerPolicy()
initInstrumentPowerPolicy in class BaseInstrumentServiceprotected PowerPolicy initCommunicationPowerPolicy()
initCommunicationPowerPolicy in class BaseInstrumentService
protected ScheduleSpecifier createDefaultSampleSchedule()
throws ScheduleParseException
createDefaultSampleSchedule in class PolledInstrumentServiceScheduleParseException
public SerialPortParameters getSerialPortParameters()
throws gnu.io.UnsupportedCommOperationException
getSerialPortParameters in class DeviceServicegnu.io.UnsupportedCommOperationException
protected void initializeInstrument()
throws InitializeException,
java.lang.Exception
initializeInstrument in class BaseInstrumentServiceInitializeException
java.lang.Exception
public void setClock(long t)
throws NotSupportedException
setClock in interface InstrumentsetClock in class BaseInstrumentServiceNotSupportedException
protected void prepareToSample()
throws java.lang.Exception
prepareToSample in class BaseInstrumentServicejava.lang.Exception
protected void requestSample()
throws TimeoutException,
java.lang.Exception
requestSample in class PolledInstrumentServiceTimeoutException
java.lang.Exception - not thrownprotected byte[] getInstrumentStateMetadata()
getInstrumentStateMetadata in class BaseInstrumentServicepublic int test()
Device
test in interface Device
protected void waitForInstrument()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected int secondsUntilSafeComms()
protected void initializeDevice()
throws InitializeException
InitializeException
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||