001package com.pi4j.io.gpio; 002 003/* 004 * #%L 005 * ********************************************************************** 006 * ORGANIZATION : Pi4J 007 * PROJECT : Pi4J :: Java Library (Core) 008 * FILENAME : GpioProviderPinCache.java 009 * 010 * This file is part of the Pi4J project. More information about 011 * this project can be found here: http://www.pi4j.com/ 012 * ********************************************************************** 013 * %% 014 * Copyright (C) 2012 - 2016 Pi4J 015 * %% 016 * This program is free software: you can redistribute it and/or modify 017 * it under the terms of the GNU Lesser General Public License as 018 * published by the Free Software Foundation, either version 3 of the 019 * License, or (at your option) any later version. 020 * 021 * This program is distributed in the hope that it will be useful, 022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 024 * GNU General Lesser Public License for more details. 025 * 026 * You should have received a copy of the GNU General Lesser Public 027 * License along with this program. If not, see 028 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 029 * #L% 030 */ 031 032/** 033 * This class provides cache for gpio pin instances. 034 * 035 * @author Robert Savage (<a 036 * href="http://www.savagehomeautomation.com">http://www.savagehomeautomation.com</a>) 037 */ 038@SuppressWarnings("unused") 039public class GpioProviderPinCache { 040 041 private final Pin pin; 042 private PinMode mode; 043 private PinState state; 044 private PinPullResistance resistance; 045 private double analogValue = -1; 046 private int pwmValue = -1; 047 private boolean exported = false; 048 049 public GpioProviderPinCache(Pin pin) { 050 this.pin = pin; 051 } 052 053 @Override 054 public String toString() { 055 return "PIN [" + pin.getName() + "] CACHE :: mode=" + mode.getName() + "; state=" + state.getName(); 056 } 057 058 public PinMode getMode() { 059 return mode; 060 } 061 062 public void setMode(PinMode mode) { 063 this.mode = mode; 064 } 065 066 public PinState getState() { 067 return state; 068 } 069 070 public void setState(PinState state) { 071 this.state = state; 072 } 073 074 public PinPullResistance getResistance() { 075 return resistance; 076 } 077 078 public void setResistance(PinPullResistance resistance) { 079 this.resistance = resistance; 080 } 081 082 public double getAnalogValue() { 083 return analogValue; 084 } 085 086 public void setAnalogValue(double value) { 087 this.analogValue = value; 088 } 089 090 public int getPwmValue() { 091 return pwmValue; 092 } 093 094 public void setPwmValue(int value) { 095 this.pwmValue = value; 096 } 097 098 public boolean isExported() { 099 return exported; 100 } 101 102 public void setExported(boolean exported) { 103 this.exported = exported; 104 } 105}