diff --git a/Main/pom.xml b/Main/pom.xml
index 78a85b50a..0e088f7c3 100644
--- a/Main/pom.xml
+++ b/Main/pom.xml
@@ -44,15 +44,15 @@
+
+
+
+
+
WPI
- WPI Maven repo
- https://first.wpi.edu/FRC/roborio/maven/release
-
-
- WPIArtifactory
WPILib Artifactory Server-releases
- https://frcmaven.wpi.edu:443/artifactory/release
+ https://frcmaven.wpi.edu:443/artifactory/development
@@ -116,31 +116,37 @@
edu.wpi.first.cscore
cscore-java
- 2019.4.1
+ 2019.4.1-176-ga5650b9
edu.wpi.first.cscore
cscore-jni
- 2019.4.1
- linuxathena
+ 2019.4.1-176-ga5650b9
+ linuxaarch64bionic
edu.wpi.first.cscore
cscore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
linuxraspbian
edu.wpi.first.cscore
cscore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
linuxx86-64
edu.wpi.first.cscore
cscore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
+ osxx86-64
+
+
+ edu.wpi.first.cscore
+ cscore-jni
+ 2019.4.1-176-ga5650b9
windowsx86-64
@@ -148,39 +154,39 @@
edu.wpi.first.cameraserver
cameraserver-java
- 2019.4.1
+ 2019.4.1-176-ga5650b9
edu.wpi.first.ntcore
ntcore-java
- 2019.4.1
+ 2019.4.1-176-ga5650b9
edu.wpi.first.ntcore
ntcore-jni
- 2019.4.1
- linuxathena
+ 2019.4.1-176-ga5650b9
+ osxx86-64
edu.wpi.first.ntcore
ntcore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
linuxraspbian
edu.wpi.first.ntcore
ntcore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
linuxx86-64
edu.wpi.first.ntcore
ntcore-jni
- 2019.4.1
+ 2019.4.1-176-ga5650b9
windowsx86-64
@@ -188,11 +194,10 @@
edu.wpi.first.wpiutil
wpiutil-java
- 2019.4.1
+ 2019.4.1-176-ga5650b9
-
edu.wpi.first.thirdparty.frc2020.opencv
opencv-java
@@ -228,36 +233,5 @@
3.4.7-1
windowsx86-64
-
diff --git a/Main/src/main/java/com/chameleonvision/Main.java b/Main/src/main/java/com/chameleonvision/Main.java
index 5f1ba3330..ea276512e 100644
--- a/Main/src/main/java/com/chameleonvision/Main.java
+++ b/Main/src/main/java/com/chameleonvision/Main.java
@@ -4,15 +4,29 @@ import com.chameleonvision.settings.SettingsManager;
import com.chameleonvision.vision.camera.CameraManager;
import com.chameleonvision.vision.process.VisionProcess;
import com.chameleonvision.web.Server;
+import edu.wpi.cscore.CameraServerCvJNI;
+import edu.wpi.cscore.CameraServerJNI;
import edu.wpi.first.networktables.NetworkTableInstance;
+import java.io.IOException;
+
public class Main {
public static void main(String[] args) {
+ // Attempt to load the JNI Libraries
+ try {
+ CameraServerJNI.forceLoad();
+ CameraServerCvJNI.forceLoad();
+ } catch (IOException e) {
+ var errorStr = SettingsManager.getCurrentPlatform().equals(SettingsManager.Platform.UNSUPPORTED) ? "Unsupported platform!" : "Failed to load JNI Libraries!";
+ throw new RuntimeException(errorStr);
+ }
+
if (CameraManager.initializeCameras()) {
SettingsManager.initialize();
for (var camSet : CameraManager.getAllCamerasByName().entrySet()) {
new Thread(new VisionProcess(camSet.getValue())).start();
}
+
NetworkTableInstance.getDefault().startClientTeam(SettingsManager.GeneralSettings.team_number);
// NetworkTableInstance.getDefault().startClient("localhost");
Server.main(8888);
diff --git a/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java b/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java
index 709f07a18..fd9fd3105 100644
--- a/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java
+++ b/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java
@@ -36,8 +36,6 @@ public class Camera {
private CamVideoMode camVideoMode;
private int currentPipelineIndex;
private HashMap pipelines;
- private long initTimeout;
-
public Camera(String cameraName) {
this(cameraName, DEFAULT_FOV);
@@ -71,7 +69,7 @@ public class Camera {
// set up video modes according to minimums
if (SettingsManager.getCurrentPlatform() == SettingsManager.Platform.WINDOWS_64 && !UsbCam.isConnected()) {
System.out.print("Waiting on camera... ");
- initTimeout = System.nanoTime();
+ long initTimeout = System.nanoTime();
while(!UsbCam.isConnected())
{
//TODO add a time sleep, can wait only so long before giving up
@@ -96,8 +94,6 @@ public class Camera {
cvSink = cs.getVideo(UsbCam);
cvSource = cs.putVideo(name, camVals.ImageWidth, camVals.ImageHeight);
- var s = (MjpegServer) cs.getServer("serve_" + name);
- CameraManager.CameraPorts.put(name, s.getPort());
}
VideoMode[] getAvailableVideoModes() {
diff --git a/Main/src/main/java/com/chameleonvision/vision/camera/CameraManager.java b/Main/src/main/java/com/chameleonvision/vision/camera/CameraManager.java
index 1ea46c803..03f1a8f53 100644
--- a/Main/src/main/java/com/chameleonvision/vision/camera/CameraManager.java
+++ b/Main/src/main/java/com/chameleonvision/vision/camera/CameraManager.java
@@ -20,7 +20,6 @@ import java.util.List;
public class CameraManager {
private static final Path CamConfigPath = Paths.get(SettingsManager.SettingsPath.toString(), "Cams");
- public static HashMap CameraPorts = new HashMap<>();
private static HashMap AllCamerasByName = new HashMap<>();