From 1a45c731eb6e982fac396757e106de5e35d66600 Mon Sep 17 00:00:00 2001 From: TheNetStriker Date: Wed, 31 Aug 2016 17:08:31 +0200 Subject: [PATCH] Support for newer kernels, fixed error in PCA9685Pwm - Added support for newer kernels - Fixed error in PCA9685Pwm (disable instead of enable) --- .../java/org/bulldog/beagleboneblack/sysfs/BBBSysFs.java | 8 +++++++- .../java/org/bulldog/devices/pwmdriver/PCA9685Pwm.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bulldog.board.beagleboneblack/src/main/java/org/bulldog/beagleboneblack/sysfs/BBBSysFs.java b/bulldog.board.beagleboneblack/src/main/java/org/bulldog/beagleboneblack/sysfs/BBBSysFs.java index 83e751f9..d80da53d 100644 --- a/bulldog.board.beagleboneblack/src/main/java/org/bulldog/beagleboneblack/sysfs/BBBSysFs.java +++ b/bulldog.board.beagleboneblack/src/main/java/org/bulldog/beagleboneblack/sysfs/BBBSysFs.java @@ -3,6 +3,8 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; @@ -16,7 +18,9 @@ public class BBBSysFs extends SysFs { private String SYSFS_DEVICES_PATH = "/sys/devices"; public BBBSysFs() { - + if (!Files.isDirectory(Paths.get(SYSFS_DEVICES_PATH))) { + SYSFS_DEVICES_PATH = "/sys/devices/platform"; + } } public File getCapeManager() { @@ -40,6 +44,8 @@ public int getSlotNumber(String namePattern) { } public boolean isSlotLoaded(int slotIndex) { + if (slotIndex == -1) + return false; String slot = readSlots().get(slotIndex); return slot.charAt(11) == 'L'; } diff --git a/bulldog.devices/src/main/java/org/bulldog/devices/pwmdriver/PCA9685Pwm.java b/bulldog.devices/src/main/java/org/bulldog/devices/pwmdriver/PCA9685Pwm.java index 778851a1..e479fca8 100644 --- a/bulldog.devices/src/main/java/org/bulldog/devices/pwmdriver/PCA9685Pwm.java +++ b/bulldog.devices/src/main/java/org/bulldog/devices/pwmdriver/PCA9685Pwm.java @@ -33,7 +33,7 @@ protected void enableImpl() { @Override protected void disableImpl() { - driver.enableChannel(getPin().getAddress()); + driver.disableChannel(getPin().getAddress()); } }