public static GpioProvider getGpioProvider(Platform platform) { // create the provider based on the PlatformManager's selected platform switch (PlatformManager.getPlatform()) { case RASPBERRYPI: { return new RaspiGpioProvider(); } case BANANAPI: { return new BananaPiGpioProvider(); } case BANANAPRO: { return new BananaProGpioProvider(); } case ODROID: { return new OdroidGpioProvider(); } default: { // if a platform cannot be determine, then assume it's the default RaspberryPi return new RaspiGpioProvider(); } } }
public Pi4jDeviceFactory() { GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING)); gpioController = GpioFactory.getInstance(); // Default mode is balanced, actually want mark-space which gives traditional PWM with // predictable PWM frequencies setHardwarePwmFrequency(DEFAULT_HARDWARE_PWM_FREQUENCY); }
GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING));
public void test(int gpio) { GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING)); GpioController gpio_controller = GpioFactory.getInstance(); Pin pin = RaspiBcmPin.getPinByAddress(gpio); GpioPinDigitalInput digitalInputPin = gpio_controller.provisionDigitalInputPin(pin, "Digital Input for BCM GPIO " + gpio, PinPullResistance.PULL_UP); GpioUtil.setEdgeDetection(pin.getAddress(), PinEdge.BOTH.getValue()); digitalInputPin.addListener(this); System.out.println("Waiting 20s for events..., thread name=" + Thread.currentThread().getName()); SleepUtil.sleepSeconds(20); gpio_controller.unprovisionPin(digitalInputPin); gpio_controller.shutdown(); }
return new RaspiGpioProvider(); return new RaspiGpioProvider();
GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING));