Class OneWireContainer27

All Implemented Interfaces:
ClockContainer, OneWireSensor

public class OneWireContainer27 extends OneWireContainer24 implements ClockContainer

1-Wire container for Real-Time Clock with Interrupt, DS2417. The DS2417 is similar to the DS2415 with the addition of a hardware interrupt pin. This container encapsulates the functionality of the iButton family type 27 (hex)

Features

  • Real-Time Clock with fully compatible 1-Wire MicroLAN interface
  • Programmable interrupt output for system wakeup
  • Uses the same binary time/date representation as the DS2404 but with 1 second resolution
  • Clock accuracy @htmlonly &#177 @endhtmlonly 2 minutes per month at 25@htmlonly &#176C @endhtmlonly
  • Operating temperature range from -40@htmlonly &#176C @endhtmlonly to +85@htmlonly &#176C @endhtmlonly
  • Low power, 200 nA typical with oscillator running

Clock

The clock methods can be organized into the following categories. Note that methods that are implemented for the ClockContainer interface are marked with (*):

Usage

See the usage example in ClockContainer for clock specific operations.

DataSheet

http://pdfserv.maxim-ic.com/arpdf/DS2417.pdf
See Also:
  • Field Details

    • INTERRUPT_INTERVAL_1

      public static final byte INTERRUPT_INTERVAL_1
      Passed to setInterruptInterval to set the interrupt interval to 1 second.
      See Also:
    • INTERRUPT_INTERVAL_4

      public static final byte INTERRUPT_INTERVAL_4
      Passed to setInterruptInterval to set the interrupt interval to 4 seconds.
      See Also:
    • INTERRUPT_INTERVAL_32

      public static final byte INTERRUPT_INTERVAL_32
      Passed to setInterruptInterval to set the interrupt interval to 32 seconds.
      See Also:
    • INTERRUPT_INTERVAL_64

      public static final byte INTERRUPT_INTERVAL_64
      Passed to setInterruptInterval to set the interrupt interval to 64 seconds.
      See Also:
    • INTERRUPT_INTERVAL_2048

      public static final byte INTERRUPT_INTERVAL_2048
      Passed to setInterruptInterval to set the interrupt interval to 2048 seconds.
      See Also:
    • INTERRUPT_INTERVAL_4096

      public static final byte INTERRUPT_INTERVAL_4096
      Passed to setInterruptInterval to set the interrupt interval to 1 seconds.
      See Also:
    • INTERRUPT_INTERVAL_65536

      public static final byte INTERRUPT_INTERVAL_65536
      Passed to setInterruptInterval to set the interrupt interval to 65536 seconds.
      See Also:
    • INTERRUPT_INTERVAL_131072

      public static final byte INTERRUPT_INTERVAL_131072
      Passed to setInterruptInterval to set the interrupt interval to 131072 seconds.
      See Also:
  • Constructor Details

    • OneWireContainer27

      public OneWireContainer27()
      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:
    • OneWireContainer27

      public OneWireContainer27(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:
    • OneWireContainer27

      public OneWireContainer27(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:
    • OneWireContainer27

      public OneWireContainer27(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:
  • Method Details

    • getName

      public String getName()
      Get the Maxim Integrated Products part number of the iButton or 1-Wire Device as a string. For example 'DS1992'.
      Overrides:
      getName in class OneWireContainer24
      Returns:
      iButton or 1-Wire device name
    • getAlternateNames

      public String getAlternateNames()
      Get 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 class OneWireContainer24
      Returns:
      1-Wire device alternate names
    • getDescription

      public String getDescription()
      Get a short description of the function of this iButton or 1-Wire Device type.
      Overrides:
      getDescription in class OneWireContainer24
      Returns:
      device description
    • getInterruptInterval

      public long getInterruptInterval(byte[] state)
      Returns the interval, in seconds, that the device will interrupt on.
      Parameters:
      state - current state of the device returned from readDevice()
      Returns:
      number of seconds in between interrupts.
      See Also:
    • isInterruptEnabled

      public boolean isInterruptEnabled(byte[] state)
      Checks to see if interrupt mode is turned on. If so, pulses will be generated at an interval selected by setInterruptInterval.
      Parameters:
      state - current state of the device returned from readDevice()
      Returns:
      true if interrupts are enabled
      See Also:
    • setInterruptInterval

      public void setInterruptInterval(byte intervalValue, byte[] state)
      Sets the interval at which interrupting will occur. Note that this feature must be enabled first using setInterruptEnable(true,state). The method writeDevice(byte[]) must be called to finalize changes to the device. Note that multiple 'set' methods can be called before one call to writeDevice(byte[]).
      Parameters:
      intervalValue - One of the following variables should be passed, representing different time intervals to interrupt at: INTERRUPT_INTERVAL_1 1 second INTERRUPT_INTERVAL_4 4 seconds INTERRUPT_INTERVAL_32 32 seconds INTERRUPT_INTERVAL_32 64 seconds INTERRUPT_INTERVAL_64 2048 seconds INTERRUPT_INTERVAL_2048 4096 seconds INTERRUPT_INTERVAL_4096 65536 seconds INTERRUPT_INTERVAL_131072 131072 seconds
      state - current state of the device returned from readDevice()
      See Also:
    • setInterruptEnable

      public void setInterruptEnable(boolean iEnable, byte[] state)
      Enables or disables hardware interrupting. If enabled, the device sends an interrupt at intervals defined by using the setInterruptInterval function.
      Parameters:
      runEnable - true to enable interval interrupts.
      state - current state of the device returned from readDevice()
      See Also: