Class OneWireContainer2C

  • All Implemented Interfaces:
    OneWireSensor, PotentiometerContainer

    public class OneWireContainer2C
    extends OneWireContainer
    implements PotentiometerContainer

    1-Wire® container that encapsulates the functionality of the 1-Wire family type 2C (hex), Maxim Integrated Products part number: DS2890, 1-Wire Digital Potentiometer.

    Features

    • Single element 256-position linear taper potentiometer
    • Supports potentiometer terminal working voltages up to 11V
    • Potentiometer terminal voltage independent of supply voltage
    • 100k Ohm resistor element value
    • Operating temperature range from -40@htmlonly °C @endhtmlonly to +85@htmlonly °C @endhtmlonly
    • 2.8V - 6.0V operating voltage range

    Data sheet

    http://pdfserv.maxim-ic.com/arpdf/DS2890.pdf
    • Constructor Detail

      • OneWireContainer2C

        public OneWireContainer2C()
        Default constructor
      • OneWireContainer2C

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

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

        public OneWireContainer2C​(DSPortAdapter sourceAdapter,
                                  java.lang.String newAddress)
        Creates a container with a provided adapter object and the address of this 1-Wire device.
        Parameters:
        sourceAdapter - adapter object required to communicate with this 1-Wire device
        newAddress - address of this 1-Wire device
    • Method Detail

      • getName

        public java.lang.String getName()
        Retrieves the Maxim Integrated Products part number of this 1-Wire device as a string. For example 'DS2890'.
        Overrides:
        getName in class OneWireContainer
        Returns:
        representation of this 1-Wire devices name
      • getAlternateNames

        public java.lang.String getAlternateNames()
        Retrieves 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:
        representation of the alternate names
      • getDescription

        public java.lang.String getDescription()
        Retrieves a short description of the function of this 1-Wire Device.
        Overrides:
        getDescription in class OneWireContainer
        Returns:
        representation of the function description
      • isLinear

        public boolean isLinear​(byte[] state)
        Queries to see if this Potentiometer One Wire Device has linear potentiometer element(s) or logarithmic potentiometer element(s).
        Specified by:
        isLinear in interface PotentiometerContainer
        Parameters:
        state - state buffer of the Potentiometer One Wire Device (returned by readDevice())
        Returns:
        true if this device has linear potentiometer element(s); false if this device has logarithmic potentiometer element(s)
      • wiperSettingsAreVolatile

        public boolean wiperSettingsAreVolatile​(byte[] state)
        Queries to see if this 1-Wire Potentiometer device's wiper settings are volatile or non-volatile.
        Specified by:
        wiperSettingsAreVolatile in interface PotentiometerContainer
        Parameters:
        state - state buffer of the 1-Wire Potentiometer device (returned by readDevice())
        Returns:
        true if the wiper settings are volatile; false if the wiper settings are non-volatile
      • numberOfPotentiometers

        public int numberOfPotentiometers​(byte[] state)
        Queries to see how many potentiometers this Potentiometer One Wire Device has.
        Specified by:
        numberOfPotentiometers in interface PotentiometerContainer
        Parameters:
        state - state buffer of this 1-Wire Potentiometer device (returned by readDevice())
        Returns:
        the number of potentiometers on this device
      • numberOfWiperSettings

        public int numberOfWiperSettings​(byte[] state)
        Queries to find the number of wiper settings that any wiper on this Potentiometer One Wire Device can have.
        Specified by:
        numberOfWiperSettings in interface PotentiometerContainer
        Parameters:
        state - state buffer of this 1-Wire Potentiometer device (returned by readDevice())
        Returns:
        number of wiper positions available
      • potentiometerResistance

        public int potentiometerResistance​(byte[] state)
        Queries to find the resistance value of the potentiometer.
        Specified by:
        potentiometerResistance in interface PotentiometerContainer
        Parameters:
        state - state buffer of this 1-Wire Potentiometer device (returned by readDevice())
        Returns:
        the resistance value in k-Ohms
      • getCurrentWiperNumber

        public int getCurrentWiperNumber​(byte[] state)
        Gets the currently selected wiper number. All wiper actions affect this wiper. The number of wipers is the same as numberOfPotentiometers().
        Specified by:
        getCurrentWiperNumber in interface PotentiometerContainer
        Parameters:
        state - state buffer of this 1-Wire Potentiometer device (returned by readDevice())
        Returns:
        the current wiper number
      • setCurrentWiperNumber

        public void setCurrentWiperNumber​(int wiper_number,
                                          byte[] state)
        Sets the currently selected wiper number. All wiper actions affect this wiper. The number of wipers is the same as numberOfPotentiometers().
        Specified by:
        setCurrentWiperNumber in interface PotentiometerContainer
        Parameters:
        wiper_number - wiper number to select for communication. Valid choices are 0 to 3
        state - state buffer of this 1-Wire Potentiometer device (returned by readDevice())
      • isChargePumpOn

        public boolean isChargePumpOn​(byte[] state)
        Determines if this device's charge pump is enabled.
        Specified by:
        isChargePumpOn in interface PotentiometerContainer
        Parameters:
        state - state buffer of this Potentiometer One Wire Device (returned by readDevice())
        Returns:
        true if it is enabled; false if not
      • setChargePump

        public void setChargePump​(boolean charge_pump_on,
                                  byte[] state)
        Sets this device's charge pump. This decreases the wiper's resistance, but increases the power consumption by the part. Vdd must be connected to use the charge pump (see the DS2890 datasheet for more information at www.dalsemi.com)
        Specified by:
        setChargePump in interface PotentiometerContainer
        Parameters:
        charge_pump_on - true if you want to enable the charge pump
        state - state buffer of this Potentiometer One Wire Device (returned by readDevice())
      • increment

        public int increment​(boolean reselect)
                      throws OneWireIOException,
                             OneWireException
        Increments the wiper position.
        Specified by:
        increment in interface PotentiometerContainer
        Parameters:
        reselect - increment/decrement can be called without resetting the part if the last call was an increment/decrement. true if you want to select the part (you must call with true after any other one-wire method)
        Returns:
        the new position of the wiper (0-255)
        Throws:
        OneWireIOException - Data was not written correctly
        OneWireException - Could not find device
      • decrement

        public int decrement​(boolean reselect)
                      throws OneWireIOException,
                             OneWireException
        Decrements the wiper position.
        Specified by:
        decrement in interface PotentiometerContainer
        Parameters:
        reselect - increment/decrement can be called without resetting the part if the last call was an increment/decrement. true if you want to select the part (you must call with true after any other one-wire method)
        Returns:
        the new position of the wiper (0-255)
        Throws:
        OneWireIOException - Data was not written correctly
        OneWireException - Could not find device
      • readDevice

        public byte[] readDevice()
                          throws OneWireIOException,
                                 OneWireException
        Retrieves the 1-Wire device sensor state. This state is returned as a byte array. Pass this byte array to the static query and set methods. If the device state needs to be changed then call the writeDevice to finalize the one or more change.
        Specified by:
        readDevice in interface OneWireSensor
        Returns:
        1-Wire device sensor state
        Throws:
        OneWireIOException - Data was not read correctly
        OneWireException - Could not find device
      • writeDevice

        public void writeDevice​(byte[] state)
                         throws OneWireIOException,
                                OneWireException
        Writes the 1-Wire device sensor state that have been changed by the 'set' methods. It knows which registers have changed by looking at the bitmap fields appended to the state data.
        Specified by:
        writeDevice in interface OneWireSensor
        Parameters:
        state - byte array of clock register page contents
        Throws:
        OneWireIOException - Data was not written correctly
        OneWireException - Could not find device