Class OneWireContainer43

java.lang.Object
com.dalsemi.onewire.container.OneWireContainer
com.dalsemi.onewire.container.OneWireContainer43

public class OneWireContainer43 extends OneWireContainer

1-Wire® container for the '1K-Bit protected 1-Wire EEPROM family type 43 (hex), Maxim Integrated Products part number: DS28EC20.

Features

  • 20480 bits of 5V EEPROM memory partitioned into 80 pages of 256 bits
  • Individual 8-Page Groups of Memory Pages (Blocks) can be Permanently Write Protected or Put in OTP EPROM-Emulation Mode ("Write to 0")
  • 200k Write/Erase Cycle Endurance at +25C
  • 256-Bit Scratchpad with Strict Read/Write Protocols Ensures Integrity of Data Transfer
  • Unique Factory-Programmed 64-Bit Registration Number Ensures Error-Free Device Selection and Absolute Part Identity
  • Switchpoint Hysteresis and Filtering to Optimize Performance in the Presence of Noise
  • Communicates to Host at 15.4kbps or 125kbps Using 1-Wire Protocol
  • Reduces control, address, data and power to a single data pin
  • Low cost TO92 package or 6-pin TSOC package
  • Reads and writes at 5.0V + or - 5% from -40C to +85C.
  • IEC 1000-4-2 Level 4 ESD Protection (8kV Contact, 15kV Air, Typical) for I/O Pin

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

  • Field Details

    • WRITEONCE_FLAG

      public static final byte WRITEONCE_FLAG
      Page Lock Flag
      See Also:
  • Constructor Details

    • OneWireContainer43

      public OneWireContainer43()
      Default Constructor OneWireContainer43. Must call setupContainer before using.
    • OneWireContainer43

      public OneWireContainer43(DSPortAdapter sourceAdapter, byte[] newAddress)
      Create a container with a provided adapter object and the address of the iButton or 1-Wire device.
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
    • OneWireContainer43

      public OneWireContainer43(DSPortAdapter sourceAdapter, long newAddress)
      Create a container with a provided adapter object and the address of the iButton or 1-Wire device.
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
    • OneWireContainer43

      public OneWireContainer43(DSPortAdapter sourceAdapter, String newAddress)
      Create a container with a provided adapter object and the address of the iButton or 1-Wire device.
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
  • Method Details

    • setupContainer

      public void setupContainer(DSPortAdapter sourceAdapter, byte[] newAddress)
      Provide this container the adapter object used to access this device and provide the address of this iButton or 1-Wire device.
      Overrides:
      setupContainer in class OneWireContainer
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
      See Also:
    • setupContainer

      public void setupContainer(DSPortAdapter sourceAdapter, long newAddress)
      Provide this container the adapter object used to access this device and provide the address of this iButton or 1-Wire device.
      Overrides:
      setupContainer in class OneWireContainer
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
      See Also:
    • setupContainer

      public void setupContainer(DSPortAdapter sourceAdapter, String newAddress)
      Provide this container the adapter object used to access this device and provide the address of this iButton or 1-Wire device.
      Overrides:
      setupContainer in class OneWireContainer
      Parameters:
      sourceAdapter - adapter object required to communicate with this iButton.
      newAddress - address of this 1-Wire device
      See Also:
    • getName

      public String getName()
      Retrieve the Maxim Integrated Products part number of the iButton as a string. For example 'DS1992'.
      Overrides:
      getName in class OneWireContainer
      Returns:
      string representation of the iButton name.
    • getAlternateNames

      public String getAlternateNames()
      Retrieve the alternate Maxim Integrated Products part numbers or names. A 'family' of MicroLAN devices may have more than one part number depending on packaging.
      Overrides:
      getAlternateNames in class OneWireContainer
      Returns:
      the alternate names for this iButton or 1-Wire device
    • getDescription

      public String getDescription()
      Retrieve a short description of the function of the iButton type.
      Overrides:
      getDescription in class OneWireContainer
      Returns:
      string representation of the function description.
    • getMaxSpeed

      public int getMaxSpeed()
      Returns the maximum speed this iButton can communicate at.
      Overrides:
      getMaxSpeed in class OneWireContainer
      Returns:
      max. communication speed.
      See Also:
    • getMemoryBanks

      public Enumeration<MemoryBank> 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
      See Also:
    • isPageWriteOnce

      public boolean isPageWriteOnce(int page) throws OneWireIOException, OneWireException
      Query to see if current memory bank is write write once such as with EPROM technology.
      Returns:
      'true' if current memory bank can only be written once
      Throws:
      OneWireIOException
      OneWireException
    • setPageWriteOnce

      public void setPageWriteOnce(int page) throws OneWireIOException, OneWireException
      Lock the specified page in the current memory bank. Not supported by all devices. See the method 'canLockPage()'.
      Parameters:
      page - number of page to lock
      Throws:
      OneWireIOException
      OneWireException