⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 potentiometercontainer.java

📁 这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统
💻 JAVA
字号:
/*--------------------------------------------------------------------------- * Copyright (C) 1999,2000 Dallas Semiconductor Corporation, All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Dallas Semiconductor * shall not be used except as stated in the Dallas Semiconductor * Branding Policy. *--------------------------------------------------------------------------- */package com.dalsemi.onewire.container;// importsimport com.dalsemi.onewire.OneWireException;import com.dalsemi.onewire.adapter.OneWireIOException;/** * 1-Wire&#174 Potentiometer interface class for basic potentiometer operations. * This class should be implemented for each potentiometer type * 1-Wire device. * * Currently there is only the DS2890, but it appears that plans have * been made for more complex parts with more wipers, different * possible number of wiper positions, etc. * * <P>The PotentiometerContainer methods can be organized into the following categories: </P> * <UL> *   <LI> <B> Information </B> *     <UL> *       <LI> {@link #isLinear                  isLinear} *       <LI> {@link #wiperSettingsAreVolatile  wiperSettingsAreVolatile} *       <LI> {@link #numberOfPotentiometers    numberOfPotentiometers} *       <LI> {@link #numberOfWiperSettings     numberOfWiperSettings} *       <LI> {@link #potentiometerResistance   potentiometerResistance} *       <LI> {@link #getCurrentWiperNumber     getCurrentWiperNumber} *       <LI> {@link #getWiperPosition          getWiperPosition} *       <LI> {@link #isChargePumpOn            isChargePumpOn} *     </UL> *   <LI> <B> Options </B> *     <UL> *       <LI> {@link #setCurrentWiperNumber     setCurrentWiperNumber} *       <LI> {@link #setChargePump             setChargePump} *       <LI> {@link #setWiperPosition          setWiperPosition} *       <LI> {@link #increment                 increment}, {@link #increment() increment} *       <LI> {@link #decrement                 decrement}, {@link #decrement() decrement} *     </UL> *   <LI> <B> I/O </B> *     <UL> *       <LI> {@link #readDevice  readDevice} *       <LI> {@link #writeDevice writeDevice} *     </UL> *  </UL> * * <H3> Usage </H3> * * Display some features of PotentiometerContainer instance '<code>pc</code>': * <PRE> <CODE> *      byte[] state = pc.readDevice(); *      if (!(pc.isChargePumpOn())) *          pc.setChargePump(true, state); *      pc.writeDevice(state); *      pc.setWiperPosition(127); *      pc.increment(); *      pc.decrement(); * </CODE> </PRE> * * @see com.dalsemi.onewire.container.OneWireContainer2C * @see OneWireSensor * @see ClockContainer * @see TemperatureContainer * @see SwitchContainer * * @version    0.00, 31 August 2000 * @author     KLA * */public interface PotentiometerContainer   extends OneWireSensor{   //--------   //-------- Potentiometer Feature methods   //--------      /**    * Querys to see if this Potentiometer 1-Wire Device    * has linear potentiometer element(s) or logarithmic    * potentiometer element(s).    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return <CODE>true</CODE> if this device has linear potentiometer element(s),    * <CODE>false</CODE> if this device has logarithmic potentiometer element(s)    */   public boolean isLinear (byte[] state);   /**    * Querys to see if this Potentiometer 1-Wire Device's    * wiper settings are volatile or non-volatile.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return <CODE>true</CODE> if the wiper settings are volatile,    * <CODE>false</CODE> if the wiper settings are non-volatile.    */   public boolean wiperSettingsAreVolatile (byte[] state);   /**    * Querys to see how many potentiometers this    * Potentiometer 1-Wire Device has.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return number of potentiometers on this device    */   public int numberOfPotentiometers (byte[] state);   /**    * Querys to find the number of wiper settings    * that any wiper on this Potentiometer 1-Wire    * Device can have.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return number of wiper positions available    */   public int numberOfWiperSettings (byte[] state);   /**    * Querys to find the resistance value of the potentiometer.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return resistance value in k-Ohms    */   public int potentiometerResistance (byte[] state);   //--------   //-------- Potentiometer State methods   //--------      /**    * Gets the currently selected wiper number.  All wiper actions    * affect this wiper.  The number of wipers is the same as    * <CODE>numberOfPotentiometers()</CODE>.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return current wiper number    */   public int getCurrentWiperNumber (byte[] state);   /**    * Sets the currently selected wiper number.  All wiper actions will    * then affect this wiper.  The number of wipers is the same as    * <CODE>numberOfPotentiometers()</CODE>.    *    * @param wiper_number wiper number to select for communication    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    */   public void setCurrentWiperNumber (int wiper_number, byte[] state);   /**    * Determines if the Potentiometer's charge pump is enabled.    *    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return <CODE>true</CODE> if enabled, <CODE>false</CODE> if not    *    */   public boolean isChargePumpOn (byte[] state);   /**    * Sets the state of the Potentiometer'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.    *    * @param charge_pump_on <CODE>true</CODE> to enable the charge pump, <CODE>false</CODE> to disable charge pump    * @param state state buffer of the Potentiometer 1-Wire Device (returned by <CODE>readDevice()</CODE>)    * @return <CODE>true</CODE> if the operation was successful, <CODE>false</CODE> if there was an error    */   public void setChargePump (boolean charge_pump_on, byte[] state);   //--------   //-------- Potentiometer Wiper access methods   //--------   /**    * Gets the current wiper position of the Potentiometer.  The wiper position    * is between 0 and <CODE>numberOfWiperPositions()</CODE>, and describes the voltage output.    *    * @return wiper position between 0 and <CODE>numberOfWiperPositions()</CODE>    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not read correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public int getWiperPosition ()      throws OneWireIOException, OneWireException;   /**    * Sets the wiper position of the potentiometer.    *    * @param position position to set the wiper to    * @return <CODE>true</CODE> if the operation was successful, <CODE>false</CODE> otherwise    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not written correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public boolean setWiperPosition (int position)      throws OneWireIOException, OneWireException;   /**    * Increments the wiper position by one.    *    * @param reselect <CODE>increment()</CODE> can be called without resetting    * the part if the last call was an <CODE>increment()</CODE> or <CODE>decrement()</CODE>.    * <CODE>true</CODE> if device is to be selected (must be called with <CODE>true</CODE>    * after any other 1-wire method)    *    * @return new position of wiper (0 to <CODE>numberOfWiperPositions()</CODE>)    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not written correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public int increment (boolean reselect)      throws OneWireIOException, OneWireException;   /**    * Decrements the wiper position.    *    * @param reselect <CODE>decrement()</CODE> can be called without resetting    * the part if the last call was an <CODE>increment()</CODE> or <CODE>decrement()</CODE>.    * <CODE>true</CODE> if device is to be selected (must be called with <CODE>true</CODE>    * after any other 1-wire method)    *    * @return new position of wiper (0 to <CODE>numberOfWiperPositions()</CODE>).    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not written correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public int decrement (boolean reselect)      throws OneWireIOException, OneWireException;   /**    * Increments the wiper position after selecting the part.    *    * @return new position of wiper (0 to <CODE>numberOfWiperPositions()</CODE>)    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not written correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public int increment ()      throws OneWireIOException, OneWireException;   /**    * Decrements the wiper position after selecting the part.    *    * @return new position of wiper (0 to <CODE>numberOfWiperPositions()</CODE>)    *    * @exception com.dalsemi.onewire.adapter.OneWireIOException Data was not written correctly    * @exception com.dalsemi.onewire.OneWireException Could not find device    */   public int decrement ()      throws OneWireIOException, OneWireException;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -