|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
Field Summary | |
static int |
ALARM_HIGH
Indicates the high AD alarm. |
static int |
ALARM_LOW
Indicates the low AD alarm. |
Method Summary | |
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. |
Methods inherited from interface com.dalsemi.onewire.container.OneWireSensor |
readDevice, writeDevice |
Field Detail |
public static final int ALARM_HIGH
public static final int ALARM_LOW
Method Detail |
public int getNumberADChannels()
getNumberADChannels()
- 1)].public boolean hasADAlarms()
public double[] getADRanges(int channel)
channel
- channel number in the range [0 to (getNumberADChannels()
- 1)]getNumberADChannels()
public 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)
public boolean canADMultiChannelRead()
doADConvert(boolean[],byte[])
public 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[])
public 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()
public 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[])
public 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[])
public 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()
public 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()
public 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[])
public 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[])
public 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[])
public 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[])
public 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[])
public 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[])
public 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[])
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |