Skip to content

Instantly share code, notes, and snippets.

@kachurovskiy
kachurovskiy / PI4JRotaryEncoderReading.java
Last active November 16, 2021 17:05
Pi4j rotary encoder reading
// Pin pinA - CLK pin,
// Pin pinB - DT pin
// rotate(int i) - callback receiving -1 or 1
inputA = gpio.provisionDigitalInputPin(pinA, "PinA", PinPullResistance.PULL_UP);
inputB = gpio.provisionDigitalInputPin(pinB, "PinB", PinPullResistance.PULL_UP);
inputA.addListener(new GpioPinListenerDigital() {
int lastA;
@Override
@markadr
markadr / RotaryEncoder.java
Last active November 15, 2021 23:56
Example code to deal with a rotary encoder via the PI4J API on a RaspberryPi.
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.Pin;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;
import com.pi4j.io.gpio.event.GpioPinListenerDigital;
import java.util.logging.Level;
import java.util.logging.Logger;