Package com.dalsemi.onewire.container
Interface MissionContainer
-
- All Superinterfaces:
ClockContainer
,OneWireSensor
- All Known Implementing Classes:
OneWireContainer41
public interface MissionContainer extends ClockContainer
Interface class for 1-Wire® devices that perform analog measuring operations. This class should be implemented for each A/D type 1-Wire device.
Features
- Allows multi-channel voltage readings
- Supports A/D Alarm enabling on devices with A/D Alarms
- Supports selectable A/D ranges on devices with selectable ranges
- Supports selectable A/D resolutions on devices with selectable resolutions
Usage
ADContainer
extendsOneWireSensor
, so the general usage model applies to anyADContainer
:- readDevice()
- perform operations on the
ADContainer
- writeDevice(byte[])
Consider this interaction with an
ADContainer
that reads from all of its A/D channels, then tries to set its high alarm on its first channel (channel 0)://adcontainer is a com.dalsemi.onewire.container.ADContainer byte[] state = adcontainer.readDevice(); double[] voltages = new double[adcontainer.getNumberADChannels()]; for (int i=0; i < adcontainer.getNumberADChannels(); i++) { adcontainer.doADConvert(i, state); voltages[i] = adc.getADVoltage(i, state); } if (adcontainer.hasADAlarms()) { double highalarm = adcontainer.getADAlarm(0, ADContainer.ALARM_HIGH, state); adcontainer.setADAlarm(0, ADContainer.ALARM_HIGH, highalarm + 1.0, state); adcontainer.writeDevice(state); }
-
-
Field Summary
Fields Modifier and Type Field Description static int
ALARM_HIGH
Indicates the high alarm.static int
ALARM_LOW
Indicates the low alarm.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
clearMissionResults()
Clears the mission results and erases the log memory from this missioning device.long
getFirstSampleOffset(int channel)
Returns the amount of time, in milliseconds, before the first sample occurred.double
getMissionAlarm(int channel, int alarmType)
Returns the threshold value which will trigger the alarm of the specified type on the specified channel.boolean
getMissionAlarmEnable(int channel, int alarmType)
Returns true if the alarm of the specified type has been enabled for the specified channel.boolean
getMissionChannelEnable(int channel)
Returns true if the specified mission channel is enabled, indicating that the channel's readings will be recorded in the mission log.java.lang.String
getMissionLabel(int channel)
Returns a default friendly label for each channel supported by this Missioning device.double
getMissionResolution(int channel)
Returns the currently selected resolution for the specified channel.double[]
getMissionResolutions(int channel)
Returns all available resolutions for the specified mission channel.double
getMissionSample(int channel, int sampleNum)
Returns the value of each sample taken by the current mission.int
getMissionSampleAsInteger(int channel, int sampleNum)
Returns the sample as an integer value.int
getMissionSampleCount(int channel)
Returns the number of samples taken for the specified channel during the current mission.int
getMissionSampleCountTotal(int channel)
Returns the total number of samples taken for the specified channel during the current mission.int
getMissionSampleRate(int channel)
Returns the amount of time, in seconds, between samples taken by this missioning device.long
getMissionSampleTimeStamp(int channel, int sampleNum)
Returns the time, in milliseconds, that each sample was taken by the current mission.long
getMissionTimeStamp(int channel)
Returns the time, in milliseconds, that the mission began.int
getNumberMissionChannels()
Gets the number of channels supported by this Missioning device.boolean
hasMissionAlarmed(int channel, int alarmType)
Returns true if the specified channel's alarm value of the specified type has been triggered during the mission.boolean
hasMissionAlarms(int channel)
Indicates whether or not the specified channel of this missioning device has mission alarm capabilities.boolean
hasMissionRolloverOccurred()
Returnstrue
if a mission has rolled over.boolean
isMissionLoaded()
boolean
isMissionRolloverEnabled()
Returnstrue
if a rollover is enabled.boolean
isMissionRunning()
Returnstrue
if a mission is currently running.void
loadMissionResults()
Loads the results of the currently running mission.void
setMissionAlarm(int channel, int alarmType, double threshold)
Sets the threshold value which will trigger the alarm of the specified type on the specified channel.void
setMissionAlarmEnable(int channel, int alarmType, boolean enable)
Enables/disables the alarm of the specified type for the specified channelvoid
setMissionChannelEnable(int channel, boolean enable)
Enables/disables the specified mission channel, indicating whether or not the channel's readings will be recorded in the mission log.void
setMissionResolution(int channel, double resolution)
Sets the selected resolution for the specified channel.void
startNewMission(int sampleRate, int missionStartDelay, boolean rolloverEnabled, boolean syncClock, boolean[] channelEnabled)
Begins a new mission on this missioning device.void
stopMission()
Ends the currently running mission.-
Methods inherited from interface com.dalsemi.onewire.container.ClockContainer
canDisableClock, getClock, getClockAlarm, getClockResolution, hasClockAlarm, isClockAlarmEnabled, isClockAlarming, isClockRunning, setClock, setClockAlarm, setClockAlarmEnable, setClockRunEnable
-
Methods inherited from interface com.dalsemi.onewire.container.OneWireSensor
readDevice, writeDevice
-
-
-
-
Field Detail
-
ALARM_HIGH
static final int ALARM_HIGH
Indicates the high alarm.- See Also:
- Constant Field Values
-
ALARM_LOW
static final int ALARM_LOW
Indicates the low alarm.- See Also:
- Constant Field Values
-
-
Method Detail
-
startNewMission
void startNewMission(int sampleRate, int missionStartDelay, boolean rolloverEnabled, boolean syncClock, boolean[] channelEnabled) throws OneWireException, OneWireIOException
Begins a new mission on this missioning device.- Parameters:
sampleRate
- indicates the sampling rate, in seconds, that this missioning device should log samples.missionStartDelay
- indicates the amount of time, in seconds, that should pass before the mission begins.rolloverEnabled
- iffalse
, this device will stop recording new samples after the data log is full. Otherwise, it will replace samples starting at the beginning.syncClock
- iftrue
, the real-time clock of this missioning device will be synchronized with the current time according to thisjava.util.Date
.- Throws:
OneWireException
OneWireIOException
-
stopMission
void stopMission() throws OneWireException, OneWireIOException
Ends the currently running mission.- Throws:
OneWireException
OneWireIOException
-
isMissionRunning
boolean isMissionRunning() throws OneWireException, OneWireIOException
Returnstrue
if a mission is currently running.- Returns:
true
if a mission is currently running.- Throws:
OneWireException
OneWireIOException
-
isMissionRolloverEnabled
boolean isMissionRolloverEnabled() throws OneWireException, OneWireIOException
Returnstrue
if a rollover is enabled.- Returns:
true
if a rollover is enabled.- Throws:
OneWireException
OneWireIOException
-
hasMissionRolloverOccurred
boolean hasMissionRolloverOccurred() throws OneWireException, OneWireIOException
Returnstrue
if a mission has rolled over.- Returns:
true
if a mission has rolled over.- Throws:
OneWireException
OneWireIOException
-
loadMissionResults
void loadMissionResults() throws OneWireException, OneWireIOException
Loads the results of the currently running mission. Must be called before all mission result/status methods.- Throws:
OneWireException
OneWireIOException
-
isMissionLoaded
boolean isMissionLoaded()
-
clearMissionResults
void clearMissionResults() throws OneWireException, OneWireIOException
Clears the mission results and erases the log memory from this missioning device.- Throws:
OneWireException
OneWireIOException
-
getNumberMissionChannels
int getNumberMissionChannels() throws OneWireException, OneWireIOException
Gets the number of channels supported by this Missioning device. Channel specific methods will use a channel number specified by an integer from [0 to (getNumberOfMissionChannels()
- 1)].- Returns:
- the number of channels
- Throws:
OneWireException
OneWireIOException
-
setMissionChannelEnable
void setMissionChannelEnable(int channel, boolean enable) throws OneWireException, OneWireIOException
Enables/disables the specified mission channel, indicating whether or not the channel's readings will be recorded in the mission log.- Parameters:
channel
- the channel to enable/disableenable
- if true, the channel is enabled- Throws:
OneWireException
OneWireIOException
-
getMissionChannelEnable
boolean getMissionChannelEnable(int channel) throws OneWireException, OneWireIOException
Returns true if the specified mission channel is enabled, indicating that the channel's readings will be recorded in the mission log.- Parameters:
channel
- the channel to enable/disable- Throws:
OneWireException
OneWireIOException
-
getMissionLabel
java.lang.String getMissionLabel(int channel) throws OneWireException, OneWireIOException
Returns a default friendly label for each channel supported by this Missioning device.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- friendly label for the specified channel
- Throws:
OneWireException
OneWireIOException
-
getMissionTimeStamp
long getMissionTimeStamp(int channel) throws OneWireException, OneWireIOException
Returns the time, in milliseconds, that the mission began.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- time, in milliseconds, that the mission began
- Throws:
OneWireException
OneWireIOException
-
getFirstSampleOffset
long getFirstSampleOffset(int channel) throws OneWireException, OneWireIOException
Returns the amount of time, in milliseconds, before the first sample occurred. If rollover disabled, or datalog didn't fill up, this will be 0.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- time, in milliseconds, before first sample occurred
- Throws:
OneWireException
OneWireIOException
-
getMissionSampleRate
int getMissionSampleRate(int channel) throws OneWireException, OneWireIOException
Returns the amount of time, in seconds, between samples taken by this missioning device.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- time, in seconds, between sampling
- Throws:
OneWireException
OneWireIOException
-
getMissionSampleCount
int getMissionSampleCount(int channel) throws OneWireException, OneWireIOException
Returns the number of samples taken for the specified channel during the current mission.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- number of samples taken for the specified channel
- Throws:
OneWireException
OneWireIOException
-
getMissionSampleCountTotal
int getMissionSampleCountTotal(int channel) throws OneWireException, OneWireIOException
Returns the total number of samples taken for the specified channel during the current mission. This number can be more than the actual sample count if rollover is enabled and the log has been filled.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- number of samples taken for the specified channel
- Throws:
OneWireException
OneWireIOException
-
getMissionSample
double getMissionSample(int channel, int sampleNum) throws OneWireException, OneWireIOException
Returns the value of each sample taken by the current mission.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
sampleNum
- the sample number to return, between0
and(getMissionSampleCount(channel)-1)
- Returns:
- the value of the specified sample on the specified channel
- Throws:
OneWireException
OneWireIOException
-
getMissionSampleAsInteger
int getMissionSampleAsInteger(int channel, int sampleNum) throws OneWireException, OneWireIOException
Returns the sample as an integer value. This value is not converted to degrees Celsius for temperature or to percent RH for Humidity. It is simply the 8 or 16 bits of digital data written in the mission log for this sample entry. It is up to the user to mask off the unused bits and convert this value to it's proper units. This method is primarily for users of the DS2422 who are using an input device which is not an A-D or have an A-D wholly dissimilar to the one specified in the datasheet.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
sampleNum
- the sample number to return, between0
and(getMissionSampleCount(channel)-1)
- Returns:
- the sample as a whole integer
- Throws:
OneWireException
OneWireIOException
-
getMissionSampleTimeStamp
long getMissionSampleTimeStamp(int channel, int sampleNum) throws OneWireException, OneWireIOException
Returns the time, in milliseconds, that each sample was taken by the current mission.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
sampleNum
- the sample number to return, between0
and(getMissionSampleCount(channel)-1)
- Returns:
- the sample's timestamp, in milliseconds
- Throws:
OneWireException
OneWireIOException
-
getMissionResolutions
double[] getMissionResolutions(int channel) throws OneWireException, OneWireIOException
Returns all available resolutions for the specified mission channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- all available resolutions for the specified mission channel.
- Throws:
OneWireException
OneWireIOException
-
getMissionResolution
double getMissionResolution(int channel) throws OneWireException, OneWireIOException
Returns the currently selected resolution for the specified channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- the currently selected resolution for the specified channel.
- Throws:
OneWireException
OneWireIOException
-
setMissionResolution
void setMissionResolution(int channel, double resolution) throws OneWireException, OneWireIOException
Sets the selected resolution for the specified channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
resolution
- the new resolution for the specified channel.- Throws:
OneWireException
OneWireIOException
-
hasMissionAlarms
boolean hasMissionAlarms(int channel)
Indicates whether or not the specified channel of this missioning device has mission alarm capabilities.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
- Returns:
- true if the device has mission alarms for the specified channel.
-
hasMissionAlarmed
boolean hasMissionAlarmed(int channel, int alarmType) throws OneWireException, OneWireIOException
Returns true if the specified channel's alarm value of the specified type has been triggered during the mission.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
- Returns:
- true if the alarm was triggered.
- Throws:
OneWireException
OneWireIOException
-
getMissionAlarmEnable
boolean getMissionAlarmEnable(int channel, int alarmType) throws OneWireException, OneWireIOException
Returns true if the alarm of the specified type has been enabled for the specified channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
- Returns:
- true if the alarm of the specified type has been enabled for the specified channel.
- Throws:
OneWireException
OneWireIOException
-
setMissionAlarmEnable
void setMissionAlarmEnable(int channel, int alarmType, boolean enable) throws OneWireException, OneWireIOException
Enables/disables the alarm of the specified type for the specified channel- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
enable
- if true, alarm is enabled.- Throws:
OneWireException
OneWireIOException
-
getMissionAlarm
double getMissionAlarm(int channel, int alarmType) throws OneWireException, OneWireIOException
Returns the threshold value which will trigger the alarm of the specified type on the specified channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
- Returns:
- the threshold value which will trigger the alarm
- Throws:
OneWireException
OneWireIOException
-
setMissionAlarm
void setMissionAlarm(int channel, int alarmType, double threshold) throws OneWireException, OneWireIOException
Sets the threshold value which will trigger the alarm of the specified type on the specified channel.- Parameters:
channel
- the mission channel, between0
and(getNumberOfMissionChannels()-1)
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
threshold
- the threshold value which will trigger the alarm- Throws:
OneWireException
OneWireIOException
-
-