com.dalsemi.onewire.container
Class OneWireContainer1D

java.lang.Object
  |
  +--com.dalsemi.onewire.container.OneWireContainer
        |
        +--com.dalsemi.onewire.container.OneWireContainer1D

public class OneWireContainer1D
extends OneWireContainer

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 assosciated 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

Memory

The memory can be accessed through the objects that are returned from the getMemoryBanks method.

The following is a list of the MemoryBank instances that are returned:

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 and PagedMemoryBank for bank specific operations.

DataSheet

http://pdfserv.maxim-ic.com/arpdf/DS2422-DS2423.pdf

Version:
0.00, 28 Aug 2000
See Also:
MemoryBank, PagedMemoryBank

Constructor Summary
OneWireContainer1D()
          Create an empty container that is not complete until after a call to setupContainer.
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
 String getDescription()
          Get a short description of the function of this iButton or 1-Wire Device type.
 int getMaxSpeed()
          Get the maximum speed this iButton or 1-Wire device can communicate at.
 Enumeration getMemoryBanks()
          Get an enumeration of memory bank instances that implement one or more of the following interfaces: MemoryBank, PagedMemoryBank, and OTPMemoryBank.
 String getName()
          Get the Dallas Semiconductor 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, getAdapter, getAddress, getAddressAsLong, getAddressAsString, getAlternateNames, isAlarming, isPresent, setSpeed, setupContainer, setupContainer, setupContainer
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OneWireContainer1D

public OneWireContainer1D()
Create an empty container that is not complete until after a call to setupContainer.

This is one of the methods to construct a container. The others are through creating a OneWireContainer with parameters.

See Also:
super.setupContainer()

OneWireContainer1D

public OneWireContainer1D(DSPortAdapter sourceAdapter,
                          byte[] newAddress)
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 iButton
newAddress - Address of this 1-Wire device
See Also:
OneWireContainer1D, utils.Address

OneWireContainer1D

public OneWireContainer1D(DSPortAdapter sourceAdapter,
                          long newAddress)
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 device
newAddress - Address of this 1-Wire device
See Also:
OneWireContainer1D, utils.Address

OneWireContainer1D

public OneWireContainer1D(DSPortAdapter sourceAdapter,
                          String newAddress)
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 device
newAddress - Address of this 1-Wire device
See Also:
OneWireContainer1D, utils.Address
Method Detail

getName

public String getName()
Get the Dallas Semiconductor part number of the iButton or 1-Wire Device as a string. For example 'DS1992'.
Overrides:
getName in class OneWireContainer
Returns:
iButton or 1-Wire device name

getDescription

public String getDescription()
Get a short description of the function of this iButton or 1-Wire Device type.
Overrides:
getDescription in class OneWireContainer
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 class OneWireContainer
Returns:
maximum speed
See Also:
super.setSpeed, DSPortAdapter.SPEED_REGULAR, DSPortAdapter.SPEED_OVERDRIVE, DSPortAdapter.SPEED_FLEX

getMemoryBanks

public Enumeration getMemoryBanks()
Get an enumeration of memory bank instances that implement one or more of the following interfaces: MemoryBank, PagedMemoryBank, and OTPMemoryBank.
Overrides:
getMemoryBanks in class OneWireContainer
Returns:
Enumeration of memory banks

readCounter

public long readCounter(int counterPage)
                 throws OneWireIOException,
                        OneWireException
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