org.mbari.siam.devices.workhorse
Class DigiWorkhorseADCP

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.workhorse.WorkhorseADCP
                              extended by org.mbari.siam.devices.workhorse.DigiWorkhorseADCP
All Implemented Interfaces:
java.io.Serializable, java.rmi.Remote, ScheduleOwner, Device, DeviceServiceIF, Instrument, Safeable

public class DigiWorkhorseADCP
extends WorkhorseADCP
implements Instrument, Safeable

The DigiWorkhorseADCP class represents the InstrumentServices driver for controlling the RDI Workhorse ADCP as deployed on a DigiConnect virtual serial port. DigiWorkhorseADCP is sub-classed from WorkhorseADCP, and simply overrides the sendBreak() method.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.mbari.siam.devices.workhorse.WorkhorseADCP
WorkhorseADCP.Attributes, WorkhorseADCP.DataStructure, WorkhorseADCP.PD0DataStructure
 
Field Summary
 
Fields inherited from class org.mbari.siam.devices.workhorse.WorkhorseADCP
_ensembleIntervalSec, _initialInterval, _pd0Struct, _safed, devicePacketParser
 
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
DigiWorkhorseADCP()
          Allocates a new DigiWorkhorseADCP
 
Method Summary
protected  void initializeInstrument()
          Called by the framework to initialize the instrument prior to sampling.
protected  void sendBreak()
          sends a break longer than 350mS required by the Workhorse
protected  java.lang.String urlTransaction(java.net.URL url, java.lang.String cmd)
          Send a String to a OutputStream, get reply from InputStream
 
Methods inherited from class org.mbari.siam.devices.workhorse.WorkhorseADCP
createDefaultSampleSchedule, enterCommandMode, enterSafeMode, exitCommandMode, getDevicePacketParser, getInstrumentStateMetadata, getParser, getProperty, getSerialPortParameters, initCommunicationPowerPolicy, initCurrentLimit, initInstrumentPowerPolicy, initInstrumentStartDelay, initMaxSampleBytes, initPromptString, initSampleTerminator, mkCmd, mkInt, parseDataPacket, parseProperty, powerOnCallback, printData, readSample, readUntilDelay, requestSample, sendCommand, sendRequest, setClock, shutdownInstrument, test, validateSample
 
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, 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, prepareToRun, prepareToSample, processSample, removeAllSchedules, removeSchedule, resetPortDiagnostics, resume, resumeSchedule, running, setClock, setCommunicationPowerPolicy, setCurrentLimit, setDefaultSampleScheduleName, setInstrumentPowerPolicy, setInstrumentServiceBlock, setInstrumentStartDelay, setMaxSampleBytes, setMaxSampleTries, setPromptString, setProperty, setRecordType, setSampleTerminator, setSampleTimeout, shutdown, sleepingUntil, snooze, startDeviceAccess, summaryEnabled, suspend, suspendSchedule, sync, syncSchedule
 
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, 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, test
 
Methods inherited from interface org.mbari.siam.distributed.Safeable
enterSafeMode
 
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

DigiWorkhorseADCP

public DigiWorkhorseADCP()
                  throws java.rmi.RemoteException
Allocates a new DigiWorkhorseADCP

Throws:
java.rmi.RemoteException - .
Method Detail

initializeInstrument

protected void initializeInstrument()
                             throws InitializeException,
                                    java.lang.Exception
Called by the framework to initialize the instrument prior to sampling. Normally this method will use properties determined by the setProperties method.

Override base class initializeInstrument, because base class has a bug -- it sends some commands with _toDevice.write() rather than sendCommand(), and doesn't wait for a reply. This was causing exceptions in the UW deployment.

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

urlTransaction

protected java.lang.String urlTransaction(java.net.URL url,
                                          java.lang.String cmd)
                                   throws java.io.IOException
Send a String to a OutputStream, get reply from InputStream

Throws:
java.io.IOException

sendBreak

protected void sendBreak()
sends a break longer than 350mS required by the Workhorse

Overrides:
sendBreak in class WorkhorseADCP


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.