org.mbari.siam.devices.aanderaa
Class AanderaaO2

java.lang.Object
  extended by java.rmi.server.RemoteObject
      extended by java.rmi.server.RemoteServer
          extended by java.rmi.server.UnicastRemoteObject
              extended by org.mbari.siam.core.DeviceService
                  extended by org.mbari.siam.core.BaseInstrumentService
                      extended by org.mbari.siam.core.PolledInstrumentService
                          extended by org.mbari.siam.devices.aanderaa.AanderaaO2
All Implemented Interfaces:
java.io.Serializable, java.rmi.Remote, ScheduleOwner, Device, DeviceServiceIF, Instrument

public class AanderaaO2
extends PolledInstrumentService
implements Instrument

See Also:
Serialized Form

Field Summary
 
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
AanderaaO2()
           
 
Method Summary
protected  ScheduleSpecifier createDefaultSampleSchedule()
          Return specifier for default sampling schedule.
 DevicePacketParser getDevicePacketParser()
          Get instruments' DevicePacketParser, which returns JDDAC records.
protected  byte[] getInstrumentStateMetadata()
          Get Instrument State Metadata.
 SerialPortParameters getSerialPortParameters()
          Return parameters to use on serial port.
protected  PowerPolicy initCommunicationPowerPolicy()
          Sets AanderaaO2 communications power policy
protected  int initCurrentLimit()
          Sets AanderaaO2 current limit.
protected  void initializeInstrument()
          Initialize the Instrument This means to set all initial settings - This section for one time only instrument settings
protected  PowerPolicy initInstrumentPowerPolicy()
          Sets AanderaaO2 power policy
protected  int initInstrumentStartDelay()
          Set AanderaaO2 startup delay time.
protected  int initMaxSampleBytes()
          Sets the AanderaaO2 maximum number of bytes in a instrument data sample
protected  byte[] initPromptString()
          Sets the AanderaaO2 command prompt.
protected  byte[] initSampleTerminator()
          Sets the AanderaaO2 sample terminator.
protected  void prepareToSample()
          Prepare the device for sampling; called before requestSample().
protected  SensorDataPacket processSample(byte[] sample, int nBytes)
          Remove leading control characters from raw data byte array
protected  void requestSample()
          Request a sample from the instrument
 void setClock(long t)
          Set the AanderaaO2's clock.
 int test()
          Self-test routine; This does nothing in the AanderaaO2 driver
 
Methods inherited from class org.mbari.siam.core.PolledInstrumentService
acquire, doScheduledTask, setAttributes
 
Methods inherited from class org.mbari.siam.core.BaseInstrumentService
acquireSample, addDefaultPacketFilters, addSchedule, addSchedule, annotate, assertSamplingState, cacheProperties, callDataListeners, canSummarize, checkInputProperties, cleanupServiceState, clearDefaultPacketFilters, clearPropertiesCache, createPacketLog, createTask, createTurbinators, disableSummary, enableSummary, endDeviceAccess, getAllSchedules, getChildren, getCommunicationPowerPolicy, getCurrentLimit, getDefaultPacketFilters, getDefaultSampleSchedule, getDefaultSampleScheduleName, getFileBytes, getInstrumentPowerPolicy, getInstrumentServiceBlock, getInstrumentStartDelay, getLastSample, getMaxSampleBytes, getMaxSampleTries, getMetadata, getMetadata, getMetadataPayload, getPackets, getPackets, getParent, getParser, getPortDiagnostics, getPortDiagnosticsSummary, getPromptString, getProperties, getProperty, getSampleBuf, getSampleSchedule, getSampleTerminator, getSampleTimeout, getSchedule, getScheduleKey, getSchedules, getServicePropertiesBytes, initialize, initializeDriverDefaults, initializePooledResources, interruptDeviceAccess, logPacket, managePowerSleep, managePowerWake, nPowerRequests, postSample, powerOff, powerOffCallback, powerOn, powerOnCallback, prepareToRun, printData, readSample, removeAllSchedules, removeSchedule, resetPortDiagnostics, resume, resumeSchedule, running, setClock, setCommunicationPowerPolicy, setCurrentLimit, setDefaultSampleScheduleName, setInstrumentPowerPolicy, setInstrumentServiceBlock, setInstrumentStartDelay, setMaxSampleBytes, setMaxSampleTries, setPromptString, setProperty, setRecordType, setSampleTerminator, setSampleTimeout, shutdown, shutdownInstrument, sleepingUntil, snooze, startDeviceAccess, summaryEnabled, suspend, suspendSchedule, sync, syncSchedule, validateSample
 
Methods inherited from class org.mbari.siam.core.DeviceService
addDataListener, advertiseService, createRegistryEntry, getAttributes, getCommPortName, getFrameworkVersion, getId, getInstrumentPort, getLocation, getName, getRemoteSerialPort, getRemoteSerialPort, getSamplingCount, getSamplingErrorCount, getSamplingRetryCount, getStatus, host, incRetryCount, initializePropertyDefaults, registryEntry, registryName, removeDataListener, setInstrumentPort, setNodeProperties, setParent, setSerialPort, setStatusError, setStatusInitial, setStatusOk, setStatusSafe, setStatusSampling, setStatusShutdown, setStatusSuspend
 
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
 

Constructor Detail

AanderaaO2

public AanderaaO2()
           throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException
Method Detail

initInstrumentPowerPolicy

protected PowerPolicy initInstrumentPowerPolicy()
Sets AanderaaO2 power policy

Specified by:
initInstrumentPowerPolicy in class BaseInstrumentService

initCommunicationPowerPolicy

protected PowerPolicy initCommunicationPowerPolicy()
Sets AanderaaO2 communications power policy

Specified by:
initCommunicationPowerPolicy in class BaseInstrumentService

initInstrumentStartDelay

protected int initInstrumentStartDelay()
Set AanderaaO2 startup delay time. Set to 0 above.

Specified by:
initInstrumentStartDelay in class BaseInstrumentService

initCurrentLimit

protected int initCurrentLimit()
Sets AanderaaO2 current limit. Set to 1000 above.

Specified by:
initCurrentLimit in class BaseInstrumentService

initSampleTerminator

protected byte[] initSampleTerminator()
Sets the AanderaaO2 sample terminator. The string is terminated by CR (\r) and LF (\n).

Specified by:
initSampleTerminator in class BaseInstrumentService

initPromptString

protected byte[] initPromptString()
Sets the AanderaaO2 command prompt. There is no command prompt.

Specified by:
initPromptString in class BaseInstrumentService

initMaxSampleBytes

protected int initMaxSampleBytes()
Sets the AanderaaO2 maximum number of bytes in a instrument data sample

Specified by:
initMaxSampleBytes in class BaseInstrumentService

initializeInstrument

protected void initializeInstrument()
                             throws InitializeException,
                                    java.lang.Exception
Initialize the Instrument This means to set all initial settings - This section for one time only instrument settings

Overrides:
initializeInstrument in class BaseInstrumentService
Throws:
InitializeException
java.lang.Exception

getSerialPortParameters

public SerialPortParameters getSerialPortParameters()
                                             throws gnu.io.UnsupportedCommOperationException
Return parameters to use on serial port.

Overrides:
getSerialPortParameters in class DeviceService
Throws:
gnu.io.UnsupportedCommOperationException

prepareToSample

protected void prepareToSample()
                        throws java.lang.Exception
Description copied from class: BaseInstrumentService
Prepare the device for sampling; called before requestSample(). By default this method does nothing, and may be overridden in the subclass.

Overrides:
prepareToSample in class BaseInstrumentService
Throws:
java.lang.Exception

requestSample

protected void requestSample()
                      throws java.io.IOException
Request a sample from the instrument

Specified by:
requestSample in class PolledInstrumentService
Throws:
java.io.IOException

getInstrumentStateMetadata

protected byte[] getInstrumentStateMetadata()
Get Instrument State Metadata. Currently filled in space until later. TRUE STATE OF DEVICE.

Overrides:
getInstrumentStateMetadata in class BaseInstrumentService

setClock

public void setClock(long t)
Set the AanderaaO2's clock. This does nothing in the AanderaaO2 driver

Specified by:
setClock in interface Instrument
Overrides:
setClock in class BaseInstrumentService

test

public int test()
Self-test routine; This does nothing in the AanderaaO2 driver

Specified by:
test in interface Device

getDevicePacketParser

public DevicePacketParser getDevicePacketParser()
Description copied from class: BaseInstrumentService
Get instruments' DevicePacketParser, which returns JDDAC records. Not supported by default

Overrides:
getDevicePacketParser in class BaseInstrumentService

createDefaultSampleSchedule

protected ScheduleSpecifier createDefaultSampleSchedule()
                                                 throws ScheduleParseException
Return specifier for default sampling schedule.

Specified by:
createDefaultSampleSchedule in class PolledInstrumentService
Throws:
ScheduleParseException

processSample

protected SensorDataPacket processSample(byte[] sample,
                                         int nBytes)
                                  throws java.lang.Exception
Remove leading control characters from raw data byte array

Overrides:
processSample in class BaseInstrumentService
Parameters:
sample - raw sample
nBytes - number of bytes in raw sample
Throws:
java.lang.Exception


Copyright © 2003 MBARI.

The Monterey Bay Aquarium Research Institute (MBARI) provides this documentation and code "as is", with no warranty, express or implied, of its quality or consistency. It is provided without support and without obligation on the part of MBARI to assist in its use, correction, modification, or enhancement.