From 2097778461736cdeef7f451e196a7602ddbb3292 Mon Sep 17 00:00:00 2001 From: Banks Troutman Date: Tue, 1 Oct 2019 03:00:42 -0400 Subject: [PATCH] Temp fix for port setting, add `flush` to NetworkTables, add `--manage-network` argument --- .../main/java/com/chameleonvision/Main.java | 23 ++++++++++++------- .../settings/SettingsManager.java | 19 +++++++-------- .../vision/process/VisionProcess.java | 1 + 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/Main/src/main/java/com/chameleonvision/Main.java b/Main/src/main/java/com/chameleonvision/Main.java index e01a5eb72..dc0ebc7cb 100644 --- a/Main/src/main/java/com/chameleonvision/Main.java +++ b/Main/src/main/java/com/chameleonvision/Main.java @@ -14,13 +14,15 @@ import java.io.IOException; public class Main { private static final String PORT_KEY = "--port"; // expects integer - private static final String NT_SERVERMODE_KEY = "--ntservermode"; // no args for this setting - private static final String NT_CLIENTMODESERVER_KEY = "--ntclientserver"; // expects String representing an IP address (hostnames will be rejected!) + private static final String NT_SERVERMODE_KEY = "--nt-servermode"; // no args for this setting + private static final String NT_CLIENTMODESERVER_KEY = "--nt-client-server"; // expects String representing an IP address (hostnames will be rejected!) + private static final String NETWORK_MANAGE_KEY = "--manage-network"; // no args for this setting private static final int DEFAULT_PORT = 8888; private static int webserverPort = DEFAULT_PORT; private static boolean ntServerMode = false; + private static boolean manageNetwork = false; private static String ntClientModeServer = null; private static void handleArgs(String[] args) { @@ -40,18 +42,20 @@ public class Main { i++; // increment to skip an 'arg' next go-around of for loop, as that would be this value break; case NT_SERVERMODE_KEY: + case NETWORK_MANAGE_KEY: // nothing } // this switch actually handles the arguments. switch (key) { case PORT_KEY: - try { - if (value == null) throw new Exception("Bad or No argument value"); - webserverPort = Integer.parseInt(value); - } catch (Exception ex) { - System.err.printf("Argument for port was invalid, starting server at port %d\n", DEFAULT_PORT); - } + System.out.println("INFO - The \"--port\" argument is currently disabled."); +// try { +// if (value == null) throw new Exception("Bad or No argument value"); +// webserverPort = Integer.parseInt(value); +// } catch (Exception ex) { +// System.err.printf("Argument for port was invalid, starting server at port %d\n", DEFAULT_PORT); +// } break; case NT_SERVERMODE_KEY: ntServerMode = true; @@ -70,6 +74,9 @@ public class Main { } System.err.println("Argument for NT Server Host was invalid, defaulting to team number host"); break; + case NETWORK_MANAGE_KEY: + manageNetwork = true; + break; } } } diff --git a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java index 95840fe10..221b2974e 100644 --- a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java +++ b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java @@ -19,16 +19,17 @@ public class SettingsManager { private SettingsManager() {} - public static void initialize() { + public static void initialize(boolean manageNetwork) { initGeneralSettings(); - NetworkSettings netSettings = new NetworkSettings(); - netSettings.hostname = GeneralSettings.hostname; - netSettings.gateway = GeneralSettings.gateway; - netSettings.netmask = GeneralSettings.netmask; - netSettings.connectionType = GeneralSettings.connection_type; - netSettings.ip = GeneralSettings.ip; - netSettings.run(); - + if (manageNetwork) { + NetworkSettings netSettings = new NetworkSettings(); + netSettings.hostname = GeneralSettings.hostname; + netSettings.gateway = GeneralSettings.gateway; + netSettings.netmask = GeneralSettings.netmask; + netSettings.connectionType = GeneralSettings.connection_type; + netSettings.ip = GeneralSettings.ip; + netSettings.run(); + } var allCameras = CameraManager.getAllCamerasByName(); if (!allCameras.containsKey(GeneralSettings.curr_camera) && allCameras.size() > 0) { var cam = allCameras.entrySet().stream().findFirst().get().getValue(); diff --git a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java index ebe8cc58b..96c95fcf0 100644 --- a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java @@ -115,6 +115,7 @@ public class VisionProcess implements Runnable { ntYawEntry.setNumber(pipelineResult.Yaw); ntPitchEntry.setNumber(pipelineResult.Pitch); ntDistanceEntry.setNumber(pipelineResult.Area); + NetworkTableInstance.getDefault().flush(); } ntTimeStampEntry.setNumber(TimeStamp); }