org.mbari.siam.devices.shmoo
Class ShmooInstrumentService

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

public class ShmooInstrumentService
extends InstrumentService
implements Instrument

Performs some internal tests of MMC and DPAs. The Smha instrument for testing purposes.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.mbari.siam.core.InstrumentService
_defaultSampleScheduleName, _instrumentAttributes, _lastPacket, _lastSensorDataPacket, _messagePacket, _packetLog, _recordType, _schedules, _sensorDataPacket, 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
ShmooInstrumentService()
           
 
Method Summary
protected  ScheduleSpecifier createDefaultSampleSchedule()
          Return specifier for default sampling schedule.
protected  void getAttention(int maxTries)
          Get attention of the instrument.
protected  byte[] getInstrumentMetadata()
          Return metadata.
 SerialPortParameters getSerialPortParameters()
          Return parameters to use on serial port.
protected  PowerPolicy initCommunicationPowerPolicy()
          Return initial value of communication power policy.
protected  int initCurrentLimit()
          Specify current limit.
protected  void initializeInstrument()
          Do instrument- and service-specific initialization.
protected  PowerPolicy initInstrumentPowerPolicy()
          Return initial value of instrument power policy.
protected  int initInstrumentStartDelay()
          Specify compass device startup delay (millisec)
protected  int initMaxSampleBytes()
          Specify maximum bytes in raw compass sample.
protected  byte[] initPromptString()
          Specify compass prompt string.
protected  byte[] initSampleTerminator()
          Specify sample terminator.
protected  SensorDataPacket processSample(byte[] sample, int total_bytes)
          Make sure the loop back test worked OK and - check the RTS to CTS loopback - measures the PowerPort's voltage - measures the PowerPort's current wrap the results up in a SensorPacket hand hand it off
protected  int readSample(byte[] sample)
          Read until you time out or get the terminator.
protected  void requestSample()
          Request a data sample from the compass.
 void setClock(long t)
          No internal clock.
 int test()
          Self-test not implemented.
 
Methods inherited from class org.mbari.siam.core.InstrumentService
acquire, acquireSample, addDefaultPacketFilters, addSchedule, addSchedule, annotate, cacheProperties, checkInputProperties, cleanupServiceState, clearDefaultPacketFilters, clearPropertiesCache, createTask, disableSamplingDiagnostics, disableSummary, doScheduledTask, enableSamplingDiagnostics, enableSummary, getAllSchedules, getChildren, getCommunicationPowerPolicy, getCurrentLimit, getDefaultPacketFilters, getDefaultSampleSchedule, getDefaultSampleScheduleName, getDevicePacketParser, getFileBytes, getInstrumentBlock, getInstrumentPowerPolicy, getInstrumentStartDelay, getInstrumentStateMetadata, getLastSample, getLocation, getMaxSampleBytes, getMaxSampleTries, getMetadata, getMetadata, getMetadataPayload, getPackets, getPackets, getParent, getParser, getPortDiagnostics, getPortDiagnosticsSummary, getPromptString, getProperties, getProperty, getSampleBuf, getSampleSchedule, getSampleTerminator, getSampleTimeout, getSchedule, getScheduleKey, getSchedules, getServiceCacheBytes, getServicePropertiesBytes, getServiceXMLBytes, initialize, initializeDriverDefaults, initServiceState, interruptSampling, logPacket, managePowerSleep, managePowerWake, parseDataPacket, postSample, powerOff, powerOffCallback, powerOn, powerOnCallback, prepareToRun, prepareToSample, printData, removeAllSchedules, removeSchedule, resetPortDiagnostics, resumeSchedule, running, setAttributes, setClock, setCommunicationPowerPolicy, setCurrentLimit, setDefaultSampleScheduleName, setInstrumentBlock, setInstrumentPowerPolicy, setInstrumentStartDelay, setMaxSampleBytes, setMaxSampleTries, setPromptString, setProperty, setRecordType, setSampleTerminator, setSampleTimeout, shutdown, shutdownInstrument, sleepingUntil, summaryEnabled, suspend, suspendSchedule, sync, syncSchedule, validateSample
 
Methods inherited from class org.mbari.siam.core.DeviceService
addDataListener, advertiseService, createRegistryEntry, getAttributes, getCommPortName, getFrameworkVersion, getId, getInstrumentPort, getName, getRemoteSerialPort, getRemoteSerialPort, getSamplingCount, getSamplingErrorCount, getSamplingRetryCount, getStatus, host, incRetryCount, initializePropertyDefaults, registryEntry, registryName, removeDataListener, resume, 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
 

Constructor Detail

ShmooInstrumentService

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

initializeInstrument

protected void initializeInstrument()
                             throws InitializeException,
                                    java.lang.Exception
Description copied from class: InstrumentService
Do instrument- and service-specific initialization. By default, this method does nothing, and may be overridden.

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

initInstrumentStartDelay

protected int initInstrumentStartDelay()
Specify compass device startup delay (millisec)

Specified by:
initInstrumentStartDelay in class InstrumentService

initPromptString

protected byte[] initPromptString()
Specify compass prompt string.

Specified by:
initPromptString in class InstrumentService

initSampleTerminator

protected byte[] initSampleTerminator()
Specify sample terminator.

Specified by:
initSampleTerminator in class InstrumentService

initMaxSampleBytes

protected int initMaxSampleBytes()
Specify maximum bytes in raw compass sample.

Specified by:
initMaxSampleBytes in class InstrumentService

initCurrentLimit

protected int initCurrentLimit()
Specify current limit.

Specified by:
initCurrentLimit in class InstrumentService

initInstrumentPowerPolicy

protected PowerPolicy initInstrumentPowerPolicy()
Return initial value of instrument power policy.

Specified by:
initInstrumentPowerPolicy in class InstrumentService

initCommunicationPowerPolicy

protected PowerPolicy initCommunicationPowerPolicy()
Return initial value of communication power policy.

Specified by:
initCommunicationPowerPolicy in class InstrumentService

requestSample

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

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

getAttention

protected void getAttention(int maxTries)
                     throws java.lang.Exception
Get attention of the instrument.

Throws:
java.lang.Exception

getInstrumentMetadata

protected byte[] getInstrumentMetadata()
Return metadata.


processSample

protected SensorDataPacket processSample(byte[] sample,
                                         int total_bytes)
Make sure the loop back test worked OK and - check the RTS to CTS loopback - measures the PowerPort's voltage - measures the PowerPort's current wrap the results up in a SensorPacket hand hand it off

Overrides:
processSample in class InstrumentService
Parameters:
sample - raw sample
total_bytes - number of bytes in raw sample

readSample

protected int readSample(byte[] sample)
                  throws TimeoutException,
                         java.io.IOException,
                         java.lang.Exception
Read until you time out or get the terminator. ShmooInstrumentService catches the TimeOutException and returns to allow the testing of RTS-CTS loopback, current measurement, and voltage measurement.

Overrides:
readSample in class InstrumentService
Parameters:
sample - output buffer
Throws:
TimeoutException
java.io.IOException
java.lang.Exception

setClock

public void setClock(long t)
No internal clock.

Specified by:
setClock in interface Instrument
Specified by:
setClock in class InstrumentService

test

public int test()
Self-test not implemented.

Specified by:
test in interface Device

getSerialPortParameters

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

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

createDefaultSampleSchedule

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

Specified by:
createDefaultSampleSchedule in class InstrumentService
Throws:
ScheduleParseException


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.