Class OneWireContainer1D
1-Wire container for 512 byte memory with external counters, DS2423. This container encapsulates the functionality of the 1-Wire family type 1D (hex)
This 1-Wire device is primarily used as a counter with memory.
Each counter is associated with a memory page. The counters for pages 12 and
13 are incremented with a write to the memory on that page. The counters for
pages 14 and 15 are externally triggered. See the method
readCounter
to read a counter directly. Note that
the the counters may also be read with the PagedMemoryBank
interface as 'extra' information on a page read.
Features
- 4096 bits (512 bytes) of read/write nonvolatile memory
- 256-bit (32-byte) scratchpad ensures integrity of data transfer
- Memory partitioned into 256-bit (32-byte) pages for packetizing data
- Data integrity assured with strict read/write protocols
- Overdrive mode boosts communication to 142 kbits per second
- Four 32-bit read-only non rolling-over page write cycle counters
- Active-low external trigger inputs for two of the counters with on-chip debouncing compatible with reed and Wiegand switches
- 32 factory-preset tamper-detect bits to indicate physical intrusion
- On-chip 16-bit CRC generator for safeguarding data transfers
- Operating temperature range from -40 to +70
- Over 10 years of data retention
Memory
The memory can be accessed through the objects that are returned from the
getMemoryBanks
method.
- Scratchpad Ex
- Implements
MemoryBank
,PagedMemoryBank
- Size 32 starting at physical address 0
- Features Read/Write not-general-purpose volatile
- Pages 1 pages of length 32 bytes
- Extra information for each page Target address, offset, length 3
- Implements
- Main Memory
- Implements
MemoryBank
,PagedMemoryBank
- Size 384 starting at physical address 0
- Features Read/Write general-purpose non-volatile
- Pages 12 pages of length 32 bytes giving 29 bytes Packet data payload
- Page Features page-device-CRC
- Implements
- Memory with write cycle counter
- Implements
MemoryBank
,PagedMemoryBank
- Size 64 starting at physical address 384
- Features Read/Write general-purpose non-volatile
- Pages 2 pages of length 32 bytes giving 29 bytes Packet data payload
- Page Features page-device-CRC
- Extra information for each page Write cycle counter, length 8
- Implements
- Memory with externally triggered counter
- Implements
MemoryBank
,PagedMemoryBank
- Size 64 starting at physical address 448
- Features Read/Write general-purpose non-volatile
- Pages 2 pages of length 32 bytes giving 29 bytes Packet data payload
- Page Features page-device-CRC
- Extra information for each page Externally triggered counter, length 8
- Implements
Usage
-
Example
Read the two external counters of this containers instance 'owd':System.out.print("Counter on page 14: " + owd.readCounter(14)); System.out.print("Counter on page 15: " + owd.readCounter(15));
- See the usage example in
OneWireContainer
to enumerate the MemoryBanks.- See the usage examples in
MemoryBank
andPagedMemoryBank
for bank specific operations. - See the usage example in
DataSheet
- See Also:
-
Field Summary
Fields inherited from class com.dalsemi.onewire.container.OneWireContainer
adapter, address, speed, speedFallBackOK
-
Constructor Summary
ConstructorsConstructorDescriptionCreate an empty container that is not complete until after a call tosetupContainer
.OneWireContainer1D
(DSPortAdapter sourceAdapter, byte[] newAddress) Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.OneWireContainer1D
(DSPortAdapter sourceAdapter, long newAddress) Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.OneWireContainer1D
(DSPortAdapter sourceAdapter, String newAddress) Create a container with the provided adapter instance and the address of the iButton or 1-Wire device. -
Method Summary
Modifier and TypeMethodDescriptionGet a short description of the function of this iButton or 1-Wire Device type.int
Get the maximum speed this iButton or 1-Wire device can communicate at.Get an enumeration of memory bank instances that implement one or more of the following interfaces:MemoryBank
,PagedMemoryBank
, andOTPMemoryBank
.getName()
Get the Maxim Integrated Products part number of the iButton or 1-Wire Device as a string.long
readCounter
(int counterPage) Read the counter value associated with a page on this 1-Wire Device.Methods inherited from class com.dalsemi.onewire.container.OneWireContainer
doSpeed, equals, getAdapter, getAddress, getAddressAsLong, getAddressAsString, getAlternateNames, hashCode, isAlarming, isPresent, setSpeed, setupContainer, setupContainer, setupContainer, toString
-
Constructor Details
-
OneWireContainer1D
public OneWireContainer1D()Create an empty container that is not complete until after a call tosetupContainer
.This is one of the methods to construct a container. The others are through creating a OneWireContainer with parameters.
- See Also:
-
OneWireContainer1D
Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.
- Parameters:
sourceAdapter
- adapter instance used to communicate with this iButtonnewAddress
-Address
of this 1-Wire device- See Also:
-
OneWireContainer1D
Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.
- Parameters:
sourceAdapter
- adapter instance used to communicate with this 1-Wire devicenewAddress
-Address
of this 1-Wire device- See Also:
-
OneWireContainer1D
Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.
- Parameters:
sourceAdapter
- adapter instance used to communicate with this 1-Wire devicenewAddress
-Address
of this 1-Wire device- See Also:
-
-
Method Details
-
getName
Get the Maxim Integrated Products part number of the iButton or 1-Wire Device as a string. For example 'DS1992'.- Overrides:
getName
in classOneWireContainer
- Returns:
- iButton or 1-Wire device name
-
getDescription
Get a short description of the function of this iButton or 1-Wire Device type.- Overrides:
getDescription
in classOneWireContainer
- Returns:
- device description
-
getMaxSpeed
public int getMaxSpeed()Get the maximum speed this iButton or 1-Wire device can communicate at. Override this method if derived iButton type can go faster then SPEED_REGULAR(0).- Overrides:
getMaxSpeed
in classOneWireContainer
- Returns:
- maximum speed
- See Also:
-
getMemoryBanks
Get an enumeration of memory bank instances that implement one or more of the following interfaces:MemoryBank
,PagedMemoryBank
, andOTPMemoryBank
.- Overrides:
getMemoryBanks
in classOneWireContainer
- Returns:
Enumeration
of memory banks- See Also:
-
readCounter
Read the counter value associated with a page on this 1-Wire Device.- Parameters:
counterPage
- page number of the counter to read- Returns:
- 4 byte value counter stored in a long integer
- Throws:
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'.OneWireException
- on a communication or setup error with the 1-Wire adapter
-