Package jmri.jmrix.pi
Class RaspberryPiSensor
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.implementation.AbstractSensor
jmri.jmrix.pi.RaspberryPiSensor
- All Implemented Interfaces:
com.pi4j.io.gpio.event.GpioPinListener,com.pi4j.io.gpio.event.GpioPinListenerDigital,Comparable<NamedBean>,EventListener,PropertyChangeProvider,DigitalIO,NamedBean,Sensor
public class RaspberryPiSensor
extends AbstractSensor
implements com.pi4j.io.gpio.event.GpioPinListenerDigital
Sensor interface for RaspberryPi GPIO pins.
-
Nested Class Summary
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameExceptionNested classes/interfaces inherited from interface jmri.Sensor
Sensor.PullResistance -
Field Summary
Fields inherited from class jmri.implementation.AbstractSensor
_inverted, _knownState, _rawState, r, sensorDebounceGoingActive, sensorDebounceGoingInActive, thr, useDefaultTimerSettingsFields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, registerFields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_COMMENT, PROPERTY_ENABLED, PROPERTY_KNOWN_STATE, PROPERTY_STATE, PROPERTY_USERNAME, QUOTED_NAME_FORMAT, UNKNOWNFields inherited from interface jmri.Sensor
ACTIVE, INACTIVE, MAX_DEBOUNCE, PROPERTY_ACTIVE_TIMER, PROPERTY_GLOBAL_TIMER, PROPERTY_INACTIVE_TIMER, PROPERTY_SENSOR_INVERTED -
Constructor Summary
ConstructorsConstructorDescriptionRaspberryPiSensor(String systemName) RaspberryPiSensor(String systemName, com.pi4j.io.gpio.PinPullResistance p) RaspberryPiSensor(String systemName, String userName) RaspberryPiSensor(String systemName, String userName, com.pi4j.io.gpio.PinPullResistance p) -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Deactivate this object, so that it releases as many resources as possible and no longer effects others.Get the pull resistancevoidhandleGpioPinDigitalStateChangeEvent(com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent event) voidRequest an update on status by sending an Instruction to the Pi.voidSet the pull resistance.Methods inherited from class jmri.implementation.AbstractSensor
canInvert, describeState, getBeanType, getInverted, getKnownState, getRawState, getReporter, getSensorDebounceGoingActiveTimer, getSensorDebounceGoingInActiveTimer, getState, getUseDefaultTimerSettings, sensorDebounce, setInverted, setKnownState, setOwnState, setReporter, setSensorDebounceGoingActiveTimer, setSensorDebounceGoingInActiveTimer, setState, setUseDefaultTimerSettings, stateChangeCheckMethods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChangeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getRecommendedToolTip, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef, vetoableChangeMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from interface jmri.Sensor
getCommandedState, isConsistentState, setCommandedState
-
Constructor Details
-
RaspberryPiSensor
-
RaspberryPiSensor
-
RaspberryPiSensor
-
RaspberryPiSensor
-
-
Method Details
-
requestUpdateFromLayout
Request an update on status by sending an Instruction to the Pi.- Specified by:
requestUpdateFromLayoutin interfaceDigitalIO
-
handleGpioPinDigitalStateChangeEvent
public void handleGpioPinDigitalStateChangeEvent(com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent event) - Specified by:
handleGpioPinDigitalStateChangeEventin interfacecom.pi4j.io.gpio.event.GpioPinListenerDigital
-
setPullResistance
Set the pull resistance.In this default implementation, the input value is ignored.
- Specified by:
setPullResistancein interfaceSensor- Overrides:
setPullResistancein classAbstractSensor- Parameters:
r- PullResistance value to use.
-
getPullResistance
Get the pull resistance- Specified by:
getPullResistancein interfaceSensor- Overrides:
getPullResistancein classAbstractSensor- Returns:
- the currently set PullResistance value. In this default implementation, PullResistance.PULL_OFF is always returned.
-
dispose
Description copied from class:AbstractNamedBeanDeactivate this object, so that it releases as many resources as possible and no longer effects others.For example, if this object has listeners, after a call to this method it should no longer notify those listeners. Any native or system-wide resources it maintains should be released, including threads, files, etc.
It is an error to invoke any other methods on this object once dispose() has been called. Note, however, that there is no guarantee about behavior in that case.
Afterwards, references to this object may still exist elsewhere, preventing its garbage collection. But it's formally dead, and shouldn't be keeping any other objects alive. Therefore, this method should null out any references to other objects that this NamedBean contained.
-