Package com.dalsemi.onewire.container
Interface MissionContainer
- All Superinterfaces:
ClockContainer
,OneWireSensor
- All Known Implementing Classes:
OneWireContainer41
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
extends OneWireSensor
, so the general
usage model applies to any ADContainer
:
- 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
Modifier and TypeFieldDescriptionstatic final int
Indicates the high alarm.static final int
Indicates the low alarm. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.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
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
Returnstrue
if a mission has rolled over.boolean
boolean
Returnstrue
if a rollover is enabled.boolean
Returnstrue
if a mission is currently running.void
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
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 Details
-
ALARM_HIGH
static final int ALARM_HIGHIndicates the high alarm.- See Also:
-
ALARM_LOW
static final int ALARM_LOWIndicates the low alarm.- See Also:
-
-
Method Details
-
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
Ends the currently running mission.- Throws:
OneWireException
OneWireIOException
-
isMissionRunning
Returnstrue
if a mission is currently running.- Returns:
true
if a mission is currently running.- Throws:
OneWireException
OneWireIOException
-
isMissionRolloverEnabled
Returnstrue
if a rollover is enabled.- Returns:
true
if a rollover is enabled.- Throws:
OneWireException
OneWireIOException
-
hasMissionRolloverOccurred
Returnstrue
if a mission has rolled over.- Returns:
true
if a mission has rolled over.- Throws:
OneWireException
OneWireIOException
-
loadMissionResults
Loads the results of the currently running mission. Must be called before all mission result/status methods.- Throws:
OneWireException
OneWireIOException
-
isMissionLoaded
boolean isMissionLoaded() -
clearMissionResults
Clears the mission results and erases the log memory from this missioning device.- Throws:
OneWireException
OneWireIOException
-
getNumberMissionChannels
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
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
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
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
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
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
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
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
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
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
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
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
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
-