public interface ADContainer extends OneWireSensor
Interface class for 1-Wire® devices that perform analog measuring operations. This class should be implemented for each A/D type 1-Wire device.
ADContainer
extends OneWireSensor
, so the general usage
model applies to any ADContainer
:
ADContainer
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);
}
OneWireSensor
,
ClockContainer
,
TemperatureContainer
,
PotentiometerContainer
,
SwitchContainer
Modifier and Type | Field and Description |
---|---|
static int |
ALARM_HIGH
Indicates the high AD alarm.
|
static int |
ALARM_LOW
Indicates the low AD alarm.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canADMultiChannelRead()
Checks to see if this A/D supports doing multiple voltage
conversions at the same time.
|
void |
doADConvert(boolean[] doConvert,
byte[] state)
Performs voltage conversion on one or more specified
channels.
|
void |
doADConvert(int channel,
byte[] state)
Performs a voltage conversion on one specified channel.
|
double |
getADAlarm(int channel,
int alarmType,
byte[] state)
Reads the value of the specified A/D alarm on the specified channel.
|
boolean |
getADAlarmEnable(int channel,
int alarmType,
byte[] state)
Checks to see if the specified alarm on the specified channel is enabled.
|
double |
getADRange(int channel,
byte[] state)
Returns the currently selected range for the specified
channel.
|
double[] |
getADRanges(int channel)
Gets an array of available ranges for the specified
A/D channel.
|
double |
getADResolution(int channel,
byte[] state)
Returns the currently selected resolution for the specified
channel.
|
double[] |
getADResolutions(int channel,
double range)
Gets an array of available resolutions based
on the specified range on the specified A/D channel.
|
double[] |
getADVoltage(byte[] state)
Reads the value of the voltages after a
doADConvert(boolean[],byte[])
method call. |
double |
getADVoltage(int channel,
byte[] state)
Reads the value of the voltages after a
doADConvert(int,byte[])
method call. |
int |
getNumberADChannels()
Gets the number of channels supported by this A/D.
|
boolean |
hasADAlarmed(int channel,
int alarmType,
byte[] state)
Checks the state of the specified alarm on the specified channel.
|
boolean |
hasADAlarms()
Checks to see if this A/D measuring device has high/low
alarms.
|
void |
setADAlarm(int channel,
int alarmType,
double alarm,
byte[] state)
Sets the voltage value of the specified alarm on the specified channel.
|
void |
setADAlarmEnable(int channel,
int alarmType,
boolean alarmEnable,
byte[] state)
Enables or disables the specified alarm on the specified channel.
|
void |
setADRange(int channel,
double range,
byte[] state)
Sets the input range for the specified channel.
|
void |
setADResolution(int channel,
double resolution,
byte[] state)
Sets the conversion resolution value for the specified channel.
|
readDevice, writeDevice
static final int ALARM_HIGH
static final int ALARM_LOW
int getNumberADChannels()
getNumberADChannels()
- 1)].boolean hasADAlarms()
double[] getADRanges(int channel)
channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]getNumberADChannels()
double[] getADResolutions(int channel, double range)
channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]range
- A/D range setting from the getADRanges(int)
methodchannel
for this range
getNumberADChannels()
,
getADRanges(int)
boolean canADMultiChannelRead()
doADConvert(boolean[],byte[])
void doADConvert(int channel, byte[] state) throws OneWireIOException, OneWireException
getADVoltage(int,byte[])
to read
the result of this conversion, using the same channel
argument as this method uses.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]state
- current state of the device returned from readDevice()
OneWireIOException
- on a 1-Wire communication error such as
no 1-Wire device present. This could be
caused by a physical interruption in the 1-Wire Network due to
shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
This is usually a recoverable error.OneWireException
- on a communication or setup error with the
1-Wire adapter. This is usually a non-recoverable error.OneWireSensor.readDevice()
,
getADVoltage(int,byte[])
void doADConvert(boolean[] doConvert, byte[] state) throws OneWireIOException, OneWireException
getADVoltage(byte[])
can be used to read the result
of the conversion(s). This A/D must support multi-channel read,
reported by canADMultiChannelRead()
, if more then 1 channel is specified.doConvert
- array of size getNumberADChannels()
representing
which channels should perform conversionsstate
- current state of the device returned from readDevice()
OneWireIOException
- on a 1-Wire communication error such as
no 1-Wire device present. This could be
caused by a physical interruption in the 1-Wire Network due to
shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
This is usually a recoverable error.OneWireException
- on a communication or setup error with the
1-Wire adapter. This is usually a non-recoverable error.OneWireSensor.readDevice()
,
getADVoltage(byte[])
,
canADMultiChannelRead()
double[] getADVoltage(byte[] state) throws OneWireIOException, OneWireException
doADConvert(boolean[],byte[])
method call. This A/D device must support multi-channel reading, reported by
canADMultiChannelRead()
, if more than 1 channel conversion was attempted
by doADConvert()
.state
- current state of the device returned from readDevice()
OneWireIOException
- on a 1-Wire communication error such as
no 1-Wire device present. This could be
caused by a physical interruption in the 1-Wire Network due to
shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
This is usually a recoverable error.OneWireException
- on a communication or setup error with the
1-Wire adapter. This is usually a non-recoverable error.doADConvert(boolean[],byte[])
double getADVoltage(int channel, byte[] state) throws OneWireIOException, OneWireException
doADConvert(int,byte[])
method call. If more than one channel has been read it is more
efficient to use the getADVoltage(byte[])
method that
returns all channel voltage values.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]state
- current state of the device returned from readDevice()
OneWireIOException
- on a 1-Wire communication error such as
no 1-Wire device present. This could be
caused by a physical interruption in the 1-Wire Network due to
shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
This is usually a recoverable error.OneWireException
- on a communication or setup error with the
1-Wire adapter. This is usually a non-recoverable error.doADConvert(int,byte[])
,
getADVoltage(byte[])
double getADAlarm(int channel, int alarmType, byte[] state) throws OneWireException
hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]alarmType
- the desired alarm, ALARM_HIGH
or ALARM_LOW
state
- current state of the device returned from readDevice()
OneWireException
- if this device does not have A/D alarmsOneWireSensor.readDevice()
,
hasADAlarms()
boolean getADAlarmEnable(int channel, int alarmType, byte[] state) throws OneWireException
hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]alarmType
- the desired alarm, ALARM_HIGH
or ALARM_LOW
state
- current state of the device returned from readDevice()
OneWireException
- if this device does not have A/D alarmsOneWireSensor.readDevice()
,
hasADAlarms()
boolean hasADAlarmed(int channel, int alarmType, byte[] state) throws OneWireException
hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]alarmType
- the desired alarm, ALARM_HIGH
or ALARM_LOW
state
- current state of the device returned from readDevice()
OneWireException
- if this device does not have A/D alarmsOneWireSensor.readDevice()
,
hasADAlarms()
,
getADAlarmEnable(int,int,byte[])
,
setADAlarmEnable(int,int,boolean,byte[])
double getADResolution(int channel, byte[] state)
channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]state
- current state of the device returned from readDevice()
channel
in voltsgetADResolutions(int,double)
,
setADResolution(int,double,byte[])
double getADRange(int channel, byte[] state)
channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]state
- current state of the device returned from readDevice()
getADRanges(int)
,
setADRange(int,double,byte[])
void setADAlarm(int channel, int alarmType, double alarm, byte[] state) throws OneWireException
writeDevice()
must be called to finalize
changes to the device. Note that multiple 'set' methods can
be called before one call to writeDevice()
. Also note that
not all A/D devices have alarms. Check to see if this device has
alarms first by calling the hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]alarmType
- the desired alarm, ALARM_HIGH
or ALARM_LOW
alarm
- new alarm valuestate
- current state of the device returned from readDevice()
OneWireException
- if this device does not have A/D alarmsOneWireSensor.writeDevice(byte[])
,
hasADAlarms()
,
getADAlarm(int,int,byte[])
,
getADAlarmEnable(int,int,byte[])
,
setADAlarmEnable(int,int,boolean,byte[])
,
hasADAlarmed(int,int,byte[])
void setADAlarmEnable(int channel, int alarmType, boolean alarmEnable, byte[] state) throws OneWireException
writeDevice()
must be called to finalize
changes to the device. Note that multiple 'set' methods can
be called before one call to writeDevice()
. Also note that
not all A/D devices have alarms. Check to see if this device has
alarms first by calling the hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]alarmType
- the desired alarm, ALARM_HIGH
or ALARM_LOW
alarmEnable
- true to enable the alarm, false to disablestate
- current state of the device returned from readDevice()
OneWireException
- if this device does not have A/D alarmsOneWireSensor.writeDevice(byte[])
,
hasADAlarms()
,
getADAlarm(int,int,byte[])
,
setADAlarm(int,int,double,byte[])
,
getADAlarmEnable(int,int,byte[])
,
hasADAlarmed(int,int,byte[])
void setADResolution(int channel, double resolution, byte[] state)
writeDevice()
must be called to finalize
changes to the device. Note that multiple 'set' methods can
be called before one call to writeDevice()
. Also note that
not all A/D devices have alarms. Check to see if this device has
alarms first by calling the hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]resolution
- one of the resolutions returned by getADResolutions(int,double)
state
- current state of the device returned from readDevice()
getADResolutions(int,double)
,
getADResolution(int,byte[])
void setADRange(int channel, double range, byte[] state)
writeDevice()
must be called to finalize
changes to the device. Note that multiple 'set' methods can
be called before one call to writeDevice()
. Also note that
not all A/D devices have alarms. Check to see if this device has
alarms first by calling the hasADAlarms()
method.channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]range
- one of the ranges returned by getADRanges(int)
state
- current state of the device returned from readDevice()
getADRanges(int)
,
getADRange(int,byte[])
Copyright © 1999-2012 Maxim Integrated Products. All Rights Reserved.