mirror of
https://github.com/PhotonVision/photonvision
synced 2026-07-02 02:51:40 +00:00
start on ui reintegration
This commit is contained in:
@@ -214,10 +214,10 @@ public class VisionProcess {
|
|||||||
ntValidEntry.setBoolean(data.hasTarget);
|
ntValidEntry.setBoolean(data.hasTarget);
|
||||||
if(data.hasTarget && !(data instanceof DriverVisionPipeline.DriverPipelineResult)) {
|
if(data.hasTarget && !(data instanceof DriverVisionPipeline.DriverPipelineResult)) {
|
||||||
if(data instanceof CVPipeline2d.CVPipeline2dResult) {
|
if(data instanceof CVPipeline2d.CVPipeline2dResult) {
|
||||||
ntTimeStampEntry.setDouble(data.processTime);
|
|
||||||
|
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
List<CVPipeline2d.Target2d> targets = (List<CVPipeline2d.Target2d>) data.targets;
|
List<CVPipeline2d.Target2d> targets = (List<CVPipeline2d.Target2d>) data.targets;
|
||||||
|
ntTimeStampEntry.setDouble(data.processTime);
|
||||||
ntPitchEntry.setDouble(targets.get(0).pitch);
|
ntPitchEntry.setDouble(targets.get(0).pitch);
|
||||||
ntYawEntry.setDouble(targets.get(0).yaw);
|
ntYawEntry.setDouble(targets.get(0).yaw);
|
||||||
ntAreaEntry.setDouble(targets.get(0).area);
|
ntAreaEntry.setDouble(targets.get(0).area);
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package com.chameleonvision.web;
|
package com.chameleonvision.web;
|
||||||
|
|
||||||
|
import com.chameleonvision.config.GeneralSettings;
|
||||||
import com.chameleonvision.vision.VisionManager;
|
import com.chameleonvision.vision.VisionManager;
|
||||||
import com.chameleonvision.vision.VisionProcess;
|
import com.chameleonvision.vision.VisionProcess;
|
||||||
import com.chameleonvision.vision.camera.CameraProcess;
|
import com.chameleonvision.vision.camera.CameraProcess;
|
||||||
import com.chameleonvision.config.ConfigManager;
|
import com.chameleonvision.config.ConfigManager;
|
||||||
|
import com.chameleonvision.vision.enums.CalibrationMode;
|
||||||
import com.chameleonvision.vision.pipeline.CVPipeline;
|
import com.chameleonvision.vision.pipeline.CVPipeline;
|
||||||
|
import com.chameleonvision.vision.pipeline.CVPipeline2dSettings;
|
||||||
import com.chameleonvision.vision.pipeline.CVPipelineSettings;
|
import com.chameleonvision.vision.pipeline.CVPipelineSettings;
|
||||||
import com.chameleonvision.vision.enums.StreamDivisor;
|
import com.chameleonvision.vision.enums.StreamDivisor;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
@@ -269,19 +272,45 @@ public class ServerHandler {
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<String, Object> allFieldsToMap(Object obj) {
|
private static Map<String, Object> settingsToMap(GeneralSettings settings) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
try {
|
map.put("team_number", settings.teamNumber);
|
||||||
Field[] fields = obj.getClass().getFields();
|
map.put("connection_type", settings.connectionType);
|
||||||
for (Field field : fields) {
|
map.put("ip", settings.ip);
|
||||||
map.put(field.getName(), field.get(obj));
|
map.put("gateway", settings.gateway);
|
||||||
}
|
map.put("netmask", settings.netmask);
|
||||||
} catch (IllegalAccessException e) {
|
map.put("hostname", settings.hostname);
|
||||||
System.err.println("Illegal Access error:" + Arrays.toString(e.getStackTrace()));
|
map.put("curr_camera", settings.currentCamera);
|
||||||
}
|
map.put("curr_pipeline", settings.currentPipeline);
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Map<String, Object> pipelineToMap(CVPipelineSettings s) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("exposure", s.exposure);
|
||||||
|
map.put("brightness", s.brightness);
|
||||||
|
if(s instanceof CVPipeline2dSettings) {
|
||||||
|
var s_ = (CVPipeline2dSettings) s;
|
||||||
|
map.put("orientation", s.flipMode.name());
|
||||||
|
map.put("hue", s_.hue);
|
||||||
|
map.put("saturation", s_.saturation);
|
||||||
|
map.put("value", s_.value);
|
||||||
|
map.put("erode", s_.erode);
|
||||||
|
map.put("dilate", s_.dilate);
|
||||||
|
map.put("area", s_.area);
|
||||||
|
map.put("ratio", s_.ratio);
|
||||||
|
map.put("extent", s_.extent);
|
||||||
|
map.put("is_binary", s_.isBinary);
|
||||||
|
map.put("sort_mode", s_.sortMode.name());
|
||||||
|
map.put("target_group", s_.targetGroup.name());
|
||||||
|
map.put("target_intersection", s_.targetIntersection.name());
|
||||||
|
map.put("M", s_.dualTargetCalibrationM);
|
||||||
|
map.put("B", s_.dualTargetCalibrationB);
|
||||||
|
map.put("is_calibrated", !s_.calibrationMode.equals(CalibrationMode.None));
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
public static void sendFullSettings() {
|
public static void sendFullSettings() {
|
||||||
//General settings
|
//General settings
|
||||||
Map<String, Object> fullSettings = new HashMap<>();
|
Map<String, Object> fullSettings = new HashMap<>();
|
||||||
@@ -291,8 +320,8 @@ public class ServerHandler {
|
|||||||
CVPipeline currentPipeline = currentProcess.getCurrentPipeline();
|
CVPipeline currentPipeline = currentProcess.getCurrentPipeline();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
fullSettings.putAll(allFieldsToMap(ConfigManager.settings));
|
fullSettings.putAll(settingsToMap(ConfigManager.settings));
|
||||||
fullSettings.putAll(allFieldsToMap(currentPipeline));
|
fullSettings.putAll(pipelineToMap(currentPipeline.settings));
|
||||||
fullSettings.put("settings", getOrdinalSettings());
|
fullSettings.put("settings", getOrdinalSettings());
|
||||||
fullSettings.put("cameraSettings", getOrdinalCameraSettings());
|
fullSettings.put("cameraSettings", getOrdinalCameraSettings());
|
||||||
fullSettings.put("cameraList", VisionManager.getAllCameraNicknames());
|
fullSettings.put("cameraList", VisionManager.getAllCameraNicknames());
|
||||||
|
|||||||
Reference in New Issue
Block a user