From e74f750fc0e0588253689f16a58028efc3d13d01 Mon Sep 17 00:00:00 2001 From: Chris Gerth Date: Wed, 11 Nov 2020 13:06:51 -0600 Subject: [PATCH] Leds active without vendor fov (#156) * Changed out LED logic to always manipulate them if configured (rather than requiring vendor FOV) --- .../common/configuration/PhotonConfiguration.java | 2 +- .../org/photonvision/vision/processes/VisionModule.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/photon-server/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java b/photon-server/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java index 293a63407..2cdf66096 100644 --- a/photon-server/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java +++ b/photon-server/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java @@ -102,7 +102,7 @@ public class PhotonConfiguration { var lightingConfig = new UILightingConfig(); lightingConfig.brightness = hardwareSettings.ledBrightnessPercentage; - lightingConfig.supported = Platform.isRaspberryPi(); // TODO check non pi?? + lightingConfig.supported = (hardwareConfig.ledPins.size() != 0); settingsSubmap.put("lighting", SerializationUtils.objectToHashMap(lightingConfig)); var generalSubmap = new HashMap(); diff --git a/photon-server/src/main/java/org/photonvision/vision/processes/VisionModule.java b/photon-server/src/main/java/org/photonvision/vision/processes/VisionModule.java index 5bf5b5941..c8f5da539 100644 --- a/photon-server/src/main/java/org/photonvision/vision/processes/VisionModule.java +++ b/photon-server/src/main/java/org/photonvision/vision/processes/VisionModule.java @@ -131,7 +131,10 @@ public class VisionModule { var fov = ConfigManager.getInstance().getConfig().getHardwareConfig().vendorFOV; logger.info("Setting FOV of vendor camera to " + fov); visionSource.getSettables().setFOV(fov); + } + // Configure LED's if supported by the underlying hardware + if (HardwareManager.getInstance().visionLED != null) { HardwareManager.getInstance() .visionLED .setPipelineModeSupplier(() -> pipelineManager.getCurrentPipelineSettings().ledMode); @@ -271,7 +274,8 @@ public class VisionModule { } private void setVisionLEDs(boolean on) { - if (isVendorCamera()) HardwareManager.getInstance().visionLED.setState(on); + if (HardwareManager.getInstance().visionLED != null) + HardwareManager.getInstance().visionLED.setState(on); } public void saveModule() {