|
||||||||
| 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.core.AggregateInstrumentService
org.mbari.siam.devices.sbe37im.SeaBird37im
public class SeaBird37im
The Sea-Bird Inductive Modem MicroCAT is an autonomous CT /CTD logger that communicates with a base station (normally at sea level), the SIM (surface inductive modem). The base station can supervise up to 100 inductively coupled MicroCAT's. In practice no more than 30 are used to monitor the physical characteristics of a water column. The SIM unit in turn communicates upon request with the Sidearm instrument controller through a low speed RS232 channel. Pre deployment setup Instrument setup Since a MicroCAT's Id cannot be set with multiple units on the IM loop, each module to be deployed at a single site must be preconfigured with it's own unique id. Ideally the module's id also represents its position in the water column w/ 0 being closest to the surface and the highest representing the deepest module. In any event the modules id's should be consecutively numbered. It is expect that other relevant properties such as the reference pressure for modules without pressure sensors would be setup at this time. The service driver would not initialize such properties. Note: When deploying a chain of modules one of them can fail to respond during the pre deployment test. For such an eventuality a spare is taken along. This spare is programmed with the next logical id leaving an id discontinuity. The new id configuration should be added to the puck property idMicroCATs and the service reinitialized.
| Field Summary |
|---|
| Fields inherited from class org.mbari.siam.core.AggregateInstrumentService |
|---|
_numSensors |
| 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 | |
|---|---|
SeaBird37im()
Allocates a new SeaBird37im |
|
| Method Summary | |
|---|---|
protected ScheduleSpecifier |
createDefaultSampleSchedule()
Return specifier for default sampling schedule. |
protected byte[] |
getInstrumentMetadata()
Not implemented |
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 in increments of 120 mA upto 11880 mA. |
protected void |
initializeInstrument()
Called by the framework to initialize the instrument prior to sampling. |
protected PowerPolicy |
initInstrumentPowerPolicy()
Return initial value of 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 |
postSample()
Called by the framework after sampling. |
protected void |
prepareToSample()
Called by the framework before sampling. |
protected void |
printData(byte[] buf)
Print instrument data contained in input buffer. |
protected void |
requestSample(int moduleRef)
Called repetitively (once per sensor) by the framework at the scheduled interval. |
void |
setClock(long t)
Not implemented. |
protected void |
setNumSensors(int numSensors)
Override of abstract method which sets the number of sensors this driver has determined it needs to support. |
protected void |
validateSample(byte[] buffer,
int nBytes)
Validates the following records from MicroCATs:- |
| Methods inherited from class org.mbari.siam.core.AggregateInstrumentService |
|---|
acquire, incBadResponseCount, incInvalidDataCount, incRetryExceededCount, incSampleCount, incTimeoutCount, requestSample, resetCommStats, test |
| Methods inherited from class org.mbari.siam.core.PolledInstrumentService |
|---|
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, test |
| 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 |
|---|
public SeaBird37im()
throws java.rmi.RemoteException
SeaBird37im
java.rmi.RemoteException - .| Method Detail |
|---|
protected void setNumSensors(int numSensors)
setNumSensors in class AggregateInstrumentServicenumSensors - the number of slaved instruments supported by the driver.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
protected void prepareToSample()
throws java.lang.Exception
prepareToSample in class BaseInstrumentServicejava.lang.Exception
protected void requestSample(int moduleRef)
throws TimeoutException,
java.lang.Exception
requestSample in class AggregateInstrumentServicemoduleRef - Value between 0 and numSensors-1
TimeoutException
java.lang.Exception - see setNumSensors(..)
protected void validateSample(byte[] buffer,
int nBytes)
throws InvalidDataException
Validation is based on two parameters - sample length and number of fieldsTYPE1 = " 00820, 23.6730, 0.00010, 21 Jul 2003, 23:01:28" TYPE2 = " 00470, 24.3894, 0.00001, 07 Jan 1980, 08:18:24, 25075" TYPE3 = " 01247, 23.3810, 0.08525, -0.739, 21 Jul 2003, 23:02:50, 24941"
validateSample in class BaseInstrumentServicebuffer - sample datanBytes - Length of sample data
InvalidDataExceptionprotected void postSample()
postSample in class BaseInstrumentServiceprotected void printData(byte[] buf)
BaseInstrumentService
printData in class BaseInstrumentServiceprotected byte[] getInstrumentMetadata()
public void setClock(long t)
setClock in interface InstrumentsetClock in class BaseInstrumentServicet -
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||