org.mbari.siam.devices.microStrain
Class M3dmGx1

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

public class M3dmGx1
extends StreamingInstrumentService
implements Instrument

Instrument driver/service for MicroStrain 3DM-GX1 AHRS

See Also:
Serialized Form

Nested Class Summary
 class M3dmGx1.Attributes
          Service attributes.
 
Field Summary
 
Fields inherited from class org.mbari.siam.core.StreamingInstrumentService
_shutdown, _subsampleInterval, _suspend
 
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
M3dmGx1()
           
 
Method Summary
protected  ScheduleSpecifier createDefaultSampleSchedule()
          Return specifier for default sampling schedule.
 SerialPortParameters getSerialPortParameters()
          Return parameters to use on serial port.
protected  PowerPolicy initCommunicationPowerPolicy()
          Sets AHRS communications power policy
protected  int initCurrentLimit()
          Sets AHRS current limit.
protected  void initializeInstrument()
          Initialize the instrument
protected  PowerPolicy initInstrumentPowerPolicy()
          Sets AHRS power policy
protected  int initInstrumentStartDelay()
          Set AHRS startup delay time.
protected  int initMaxSampleBytes()
          Sets the AHRS maximum number of bytes in an instrument data sample
protected  byte[] initPromptString()
          Sets the AHRS command prompt.
protected  byte[] initSampleTerminator()
          Sets the AHRS sample terminator.
protected  boolean isStreaming()
          Return true if device currently in streaming mode, else return false.
protected  void startStreaming()
          Put instrument into streaming mode.
protected  void stopStreaming()
          Take instrument out of streaming mode.
 int test()
          Self-test routine; This does nothing in the AHRS driver
 
Methods inherited from class org.mbari.siam.core.StreamingInstrumentService
acquire, acquireFromStream, doneAcquiring, doScheduledTask, resume, setAttributes, shutdown, suspend
 
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, getDevicePacketParser, getFileBytes, getInstrumentPowerPolicy, getInstrumentServiceBlock, getInstrumentStartDelay, getInstrumentStateMetadata, 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, prepareToSample, printData, processSample, readSample, removeAllSchedules, removeSchedule, resetPortDiagnostics, resumeSchedule, running, setClock, setClock, setCommunicationPowerPolicy, setCurrentLimit, setDefaultSampleScheduleName, setInstrumentPowerPolicy, setInstrumentServiceBlock, setInstrumentStartDelay, setMaxSampleBytes, setMaxSampleTries, setPromptString, setProperty, setRecordType, setSampleTerminator, setSampleTimeout, shutdownInstrument, sleepingUntil, snooze, startDeviceAccess, summaryEnabled, 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, 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

M3dmGx1

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

initializeInstrument

protected void initializeInstrument()
                             throws InitializeException,
                                    java.lang.Exception
Initialize the instrument

Overrides:
initializeInstrument in class StreamingInstrumentService
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

startStreaming

protected void startStreaming()
                       throws java.lang.Exception
Put instrument into streaming mode.

Specified by:
startStreaming in class StreamingInstrumentService
Throws:
java.lang.Exception

stopStreaming

protected void stopStreaming()
                      throws java.lang.Exception
Take instrument out of streaming mode.

Specified by:
stopStreaming in class StreamingInstrumentService
Throws:
java.lang.Exception

isStreaming

protected boolean isStreaming()
Return true if device currently in streaming mode, else return false.

Specified by:
isStreaming in class StreamingInstrumentService

createDefaultSampleSchedule

protected ScheduleSpecifier createDefaultSampleSchedule()
                                                 throws ScheduleParseException
Return specifier for default sampling schedule. Subclasses MUST provide the default sample schedule.

Specified by:
createDefaultSampleSchedule in class BaseInstrumentService
Throws:
ScheduleParseException

initInstrumentPowerPolicy

protected PowerPolicy initInstrumentPowerPolicy()
Sets AHRS power policy

Specified by:
initInstrumentPowerPolicy in class BaseInstrumentService

initCommunicationPowerPolicy

protected PowerPolicy initCommunicationPowerPolicy()
Sets AHRS communications power policy

Specified by:
initCommunicationPowerPolicy in class BaseInstrumentService

initInstrumentStartDelay

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

Specified by:
initInstrumentStartDelay in class BaseInstrumentService

initCurrentLimit

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

Specified by:
initCurrentLimit in class BaseInstrumentService

initSampleTerminator

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

Specified by:
initSampleTerminator in class BaseInstrumentService

initPromptString

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

Specified by:
initPromptString in class BaseInstrumentService

initMaxSampleBytes

protected int initMaxSampleBytes()
Sets the AHRS maximum number of bytes in an instrument data sample

Specified by:
initMaxSampleBytes in class BaseInstrumentService

test

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

Specified by:
test in interface Device


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.