Package com.dalsemi.onewire.container
Class OneWireContainer10
java.lang.Object
com.dalsemi.onewire.container.OneWireContainer
com.dalsemi.onewire.container.OneWireContainer10
- All Implemented Interfaces:
OneWireSensor
,TemperatureContainer
1-Wire container for temperature iButton which measures temperatures from -55@htmlonly °C @endhtmlonly to +100@htmlonly °C @endhtmlonly, DS1920 or DS18S20. This container encapsulates the functionality of the iButton family type 10 (hex)
Features
- Measures temperatures from -55@htmlonly °C @endhtmlonly to +100@htmlonly °C @endhtmlonly in typically 0.2 seconds
- Zero standby power
- 0.5@htmlonly °C @endhtmlonly resolution, digital temperature reading in two's complement
- Increased resolution through interpolation in internal counters
- 8-bit device-generated CRC for data integrity
- Special command set allows user to skip ROM section and do temperature measurements simultaneously for all devices on the bus
- 2 bytes of EEPROM to be used either as alarm triggers or user memory
- Alarm search directly indicates which device senses alarming temperatures
Usage
- See the usage example in
TemperatureContainer
for temperature specific operations.
DataSheet
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
maximum temperature resolution for thisOneWireContainer10
device.static final double
default temperature resolution for thisOneWireContainer10
device.Fields inherited from class com.dalsemi.onewire.container.OneWireContainer
adapter, address, speed, speedFallBackOK
Fields inherited from interface com.dalsemi.onewire.container.TemperatureContainer
ALARM_HIGH, ALARM_LOW
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an emptyOneWireContainer10
.OneWireContainer10
(DSPortAdapter sourceAdapter, byte[] newAddress) Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device.OneWireContainer10
(DSPortAdapter sourceAdapter, long newAddress) Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device.OneWireContainer10
(DSPortAdapter sourceAdapter, String newAddress) Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device. -
Method Summary
Modifier and TypeMethodDescriptionvoid
doTemperatureConvert
(byte[] state) Performs a temperature conversion onstate
information.Retrieves the alternate Maxim Integrated Products part numbers or names.Retrieves a short description of the function of thisOneWireContainer10
type.double
Gets the maximum temperature in Celsius.double
Gets the minimum temperature in Celsius.getName()
Retrieves the Maxim Integrated Products part number of thisOneWireContainer10
as aString
.double
getTemperature
(byte[] state) Gets the temperature value in Celsius from thestate
data retrieved from thereadDevice()
method.double
getTemperatureAlarm
(int alarmType, byte[] state) Gets the specified temperature alarm value in Celsius from thestate
data retrieved from thereadDevice()
method.double
Gets the temperature alarm resolution in Celsius.double
getTemperatureResolution
(byte[] state) Gets the current temperature resolution in Celsius from thestate
data retrieved from thereadDevice()
method.double[]
Gets an array of available temperature resolutions in Celsius.boolean
Checks to see if this device has selectable temperature resolution.boolean
Checks to see if this temperature measuring device has high/low trip alarms.byte[]
Retrieves thisOneWireContainer10
state information.void
setTemperatureAlarm
(int alarmType, double alarmValue, byte[] state) Sets the temperature alarm value in Celsius in the providedstate
data.void
setTemperatureResolution
(double resolution, byte[] state) Sets the current temperature resolution in Celsius in the providedstate
data.void
writeDevice
(byte[] state) Writes to thisOneWireContainer10
state
information that have been changed by 'set
' methods.Methods inherited from class com.dalsemi.onewire.container.OneWireContainer
doSpeed, equals, getAdapter, getAddress, getAddressAsLong, getAddressAsString, getMaxSpeed, getMemoryBanks, hashCode, isAlarming, isPresent, setSpeed, setupContainer, setupContainer, setupContainer, toString
-
Field Details
-
RESOLUTION_NORMAL
public static final double RESOLUTION_NORMALdefault temperature resolution for thisOneWireContainer10
device.- See Also:
-
RESOLUTION_MAXIMUM
public static final double RESOLUTION_MAXIMUMmaximum temperature resolution for thisOneWireContainer10
device. UseRESOLUTION_MAXIMUM
insetResolution()
if higher resolution is desired.- See Also:
-
-
Constructor Details
-
OneWireContainer10
public OneWireContainer10()Creates an emptyOneWireContainer10
. Must callsetupContainer()
before using this new container.This is one of the methods to construct a
OneWireContainer10
. The others are through creating aOneWireContainer10
with parameters. -
OneWireContainer10
Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device. This is one of the methods to construct aOneWireContainer10
. The others are through creating aOneWireContainer10
with different parameters types.- Parameters:
sourceAdapter
- adapter object required to communicate with this One-Wire devicenewAddress
- address of this One-Wire device- See Also:
-
OneWireContainer10
Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device. This is one of the methods to construct aOneWireContainer10
. The others are through creating aOneWireContainer10
with different parameters types.- Parameters:
sourceAdapter
- adapter object required to communicate with this One-Wire devicenewAddress
- address of this One-Wire device- See Also:
-
OneWireContainer10
Creates aOneWireContainer10
with the provided adapter object and the address of this One-Wire device. This is one of the methods to construct aOneWireContainer10
. The others are through creating aOneWireContainer10
with different parameters types.- Parameters:
sourceAdapter
- adapter object required to communicate with this One-Wire devicenewAddress
- address of this One-Wire device- See Also:
-
-
Method Details
-
getName
Retrieves the Maxim Integrated Products part number of thisOneWireContainer10
as aString
. For example 'DS1920'.- Overrides:
getName
in classOneWireContainer
- Returns:
- this
OneWireContainer10
name
-
getAlternateNames
Retrieves the alternate Maxim Integrated Products part numbers or names. A 'family' of 1-Wire Network devices may have more than one part number depending on packaging. There can also be nicknames such as 'Crypto iButton'.- Overrides:
getAlternateNames
in classOneWireContainer
- Returns:
- this
OneWireContainer10
alternate names
-
getDescription
Retrieves a short description of the function of thisOneWireContainer10
type.- Overrides:
getDescription
in classOneWireContainer
- Returns:
OneWireContainer10
functional description
-
hasTemperatureAlarms
public boolean hasTemperatureAlarms()Checks to see if this temperature measuring device has high/low trip alarms.- Specified by:
hasTemperatureAlarms
in interfaceTemperatureContainer
- Returns:
true
if thisOneWireContainer10
has high/low trip alarms- See Also:
-
hasSelectableTemperatureResolution
public boolean hasSelectableTemperatureResolution()Checks to see if this device has selectable temperature resolution.- Specified by:
hasSelectableTemperatureResolution
in interfaceTemperatureContainer
- Returns:
true
if thisOneWireContainer10
has selectable temperature resolution- See Also:
-
getTemperatureResolutions
public double[] getTemperatureResolutions()Gets an array of available temperature resolutions in Celsius.- Specified by:
getTemperatureResolutions
in interfaceTemperatureContainer
- Returns:
- byte array of available temperature resolutions in Celsius for this
OneWireContainer10
. The minimum resolution is returned as the first element and maximum resolution as the last element. - See Also:
-
getTemperatureAlarmResolution
public double getTemperatureAlarmResolution()Gets the temperature alarm resolution in Celsius.- Specified by:
getTemperatureAlarmResolution
in interfaceTemperatureContainer
- Returns:
- temperature alarm resolution in Celsius for this
OneWireContainer10
- See Also:
-
getMaxTemperature
public double getMaxTemperature()Gets the maximum temperature in Celsius.- Specified by:
getMaxTemperature
in interfaceTemperatureContainer
- Returns:
- maximum temperature in Celsius for this
OneWireContainer10
- See Also:
-
getMinTemperature
public double getMinTemperature()Gets the minimum temperature in Celsius.- Specified by:
getMinTemperature
in interfaceTemperatureContainer
- Returns:
- minimum temperature in Celsius for this
OneWireContainer10
- See Also:
-
doTemperatureConvert
Performs a temperature conversion onstate
information.- Specified by:
doTemperatureConvert
in interfaceTemperatureContainer
- Parameters:
state
- byte array with device state information- Throws:
OneWireIOException
- on a 1-Wire communication error such as reading an incorrect CRC from thisOneWireContainer10
. 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'.OneWireException
- on a communication or setup error with the 1-Wire adapter- See Also:
-
getTemperature
Gets the temperature value in Celsius from thestate
data retrieved from thereadDevice()
method.- Specified by:
getTemperature
in interfaceTemperatureContainer
- Parameters:
state
- byte array with device state information for thisOneWireContainer10
- Returns:
- temperature in Celsius from the last
doTemperatureConvert()
- Throws:
OneWireIOException
- on a 1-Wire communication error such as reading an incorrect CRC from thisOneWireContainer10
. 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'.- See Also:
-
getTemperatureAlarm
public double getTemperatureAlarm(int alarmType, byte[] state) Gets the specified temperature alarm value in Celsius from thestate
data retrieved from thereadDevice()
method.- Specified by:
getTemperatureAlarm
in interfaceTemperatureContainer
- Parameters:
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
state
- byte array with device state information- Returns:
- temperature alarm trip values in Celsius for this
OneWireContainer10
- See Also:
-
getTemperatureResolution
public double getTemperatureResolution(byte[] state) Gets the current temperature resolution in Celsius from thestate
data retrieved from thereadDevice()
method.- Specified by:
getTemperatureResolution
in interfaceTemperatureContainer
- Parameters:
state
- byte array with device state information- Returns:
- temperature resolution in Celsius for this
OneWireContainer10
- See Also:
-
setTemperatureAlarm
public void setTemperatureAlarm(int alarmType, double alarmValue, byte[] state) Sets the temperature alarm value in Celsius in the providedstate
data. Use the methodwriteDevice()
with this data to finalize the change to the device.- Specified by:
setTemperatureAlarm
in interfaceTemperatureContainer
- Parameters:
alarmType
- valid value:ALARM_HIGH
orALARM_LOW
alarmValue
- alarm trip value in Celsiusstate
- byte array with device state information- See Also:
-
setTemperatureResolution
public void setTemperatureResolution(double resolution, byte[] state) Sets the current temperature resolution in Celsius in the providedstate
data. Use the methodwriteDevice()
with this data to finalize the change to the device.- Specified by:
setTemperatureResolution
in interfaceTemperatureContainer
- Parameters:
resolution
- temperature resolution in Celsius. Valid values areRESOLUTION_NORMAL
andRESOLUTION_MAXIMUM
.state
- byte array with device state information- See Also:
-
readDevice
Retrieves thisOneWireContainer10
state information. The state information is returned as a byte array. Pass this byte array to the 'get
' and 'set
' methods. If the device state needs to be changed, then call thewriteDevice()
to finalize the changes.- Specified by:
readDevice
in interfaceOneWireSensor
- Returns:
OneWireContainer10
state information. Device state looks like this:0 : temperature LSB 1 : temperature MSB 2 : trip high 3 : trip low 4 : reserved (put the resolution here, 0 for normal, 1 for max) 5 : reserved 6 : count remain 7 : count per degree Celsius 8 : an 8 bit CRC over the previous 8 bytes of data
- Throws:
OneWireIOException
- on a 1-Wire communication error such as reading an incorrect CRC from thisOneWireContainer10
. 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'.OneWireException
- on a communication or setup error with the 1-Wire adapter- See Also:
-
writeDevice
Writes to thisOneWireContainer10
state
information that have been changed by 'set
' methods. Only the state registers that changed are updated. This is done by referencing a field information appended to the state data.- Specified by:
writeDevice
in interfaceOneWireSensor
- Parameters:
state
- byte array with device state information- Throws:
OneWireIOException
- on a 1-Wire communication error such as reading an incorrect CRC from thisOneWireContainer10
. 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'.OneWireException
- on a communication or setup error with the 1-Wire adapter- See Also:
-