Class OneWireContainer2C

java.lang.Object
com.dalsemi.onewire.container.OneWireContainer
com.dalsemi.onewire.container.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 invalid input: '&#176'C @endhtmlonly to +85@htmlonly invalid input: '&#176'C @endhtmlonly
  • 2.8V - 6.0V operating voltage range

Data sheet

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

    • 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, 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 Details

    • getName

      public 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 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 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
    • getMaxSpeed

      public int getMaxSpeed()
      Gets the maximum speed this 1-Wire device can communicate at.
      Overrides:
      getMaxSpeed in class OneWireContainer
      Returns:
      maximum speed this device can communicate at
      See Also:
    • 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())
    • getWiperPosition

      public int getWiperPosition() throws OneWireIOException, OneWireException
      Gets the current wiper position of this device. The wiper position is between 0 and 255, and describes the voltage output. The output lies between RH and RL.
      Specified by:
      getWiperPosition in interface PotentiometerContainer
      Returns:
      the wiper position between 0 and 255
      Throws:
      OneWireIOException - Data was not written correctly
      OneWireException - Could not find device
    • setWiperPosition

      public boolean setWiperPosition(int position) throws OneWireIOException, OneWireException
      Sets the wiper position for the potentiometer.
      Specified by:
      setWiperPosition in interface PotentiometerContainer
      Parameters:
      position - the position to set the wiper. This value will be cast to a byte, only the 8 least significant bits matter.
      Returns:
      true if the operation was successful; false otherwise
      Throws:
      OneWireIOException - Data was not written correctly
      OneWireException - Could not find device
    • 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
    • increment

      public int increment() throws OneWireIOException, OneWireException
      Increments the wiper position after selecting the part.
      Specified by:
      increment in interface PotentiometerContainer
      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() throws OneWireIOException, OneWireException
      Decrements the wiper position after selecting the part.
      Specified by:
      decrement in interface PotentiometerContainer
      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