changed general settings naming and added general settings save in ui

This commit is contained in:
ori agranat
2019-10-15 21:00:18 +03:00
parent 91a1338022
commit cd94c9f8c0
13 changed files with 72 additions and 43 deletions

View File

@@ -118,6 +118,7 @@ public class Camera {
cvSource = cs.putVideo(name, newVideoMode.width, newVideoMode.height);
}
ServerHandler.sendFullSettings();
}
}

View File

@@ -92,7 +92,7 @@ public class CameraManager {
public static Camera getCurrentCamera() throws CameraException {
if (AllCamerasByName.size() == 0) throw new CameraException(CameraException.CameraExceptionType.NO_CAMERA);
var curCam = AllCamerasByName.get(SettingsManager.GeneralSettings.curr_camera);
var curCam = AllCamerasByName.get(SettingsManager.GeneralSettings.currentCamera);
if (curCam == null) throw new CameraException(CameraException.CameraExceptionType.BAD_CAMERA);
return curCam;
}
@@ -100,7 +100,7 @@ public class CameraManager {
public static void setCurrentCamera(String cameraName) throws CameraException {
if (!AllCamerasByName.containsKey(cameraName))
throw new CameraException(CameraException.CameraExceptionType.BAD_CAMERA);
SettingsManager.GeneralSettings.curr_camera = cameraName;
SettingsManager.GeneralSettings.currentCamera = cameraName;
SettingsManager.updateCameraSetting(cameraName, getCurrentCamera().getCurrentPipelineIndex());
}
@@ -116,15 +116,15 @@ public class CameraManager {
}
public static List<String> getResolutionList() throws CameraException {
if (!SettingsManager.GeneralSettings.curr_camera.equals("")) {
return Arrays.stream(CameraManager.getCamera(SettingsManager.GeneralSettings.curr_camera).getAvailableVideoModes())
if (!SettingsManager.GeneralSettings.currentCamera.equals("")) {
return Arrays.stream(CameraManager.getCamera(SettingsManager.GeneralSettings.currentCamera).getAvailableVideoModes())
.map(res -> String.format("%s X %s at %s fps using %s ", res.width, res.height, res.fps, res.pixelFormat.toString())).collect(Collectors.toList());
}
throw new CameraException(CameraException.CameraExceptionType.NO_CAMERA);
}
public static VisionProcess getCurrentCameraProcess() throws CameraException{
if (!SettingsManager.GeneralSettings.curr_camera.equals("")){
return AllVisionProcessesByName.get(SettingsManager.GeneralSettings.curr_camera);
if (!SettingsManager.GeneralSettings.currentCamera.equals("")){
return AllVisionProcessesByName.get(SettingsManager.GeneralSettings.currentCamera);
}
throw new CameraException(CameraException.CameraExceptionType.NO_CAMERA);
}

View File

@@ -4,6 +4,7 @@ import com.chameleonvision.settings.SettingsManager;
import com.chameleonvision.vision.Orientation;
import com.chameleonvision.vision.Pipeline;
import com.chameleonvision.vision.camera.Camera;
import com.chameleonvision.vision.camera.CameraException;
import com.chameleonvision.web.ServerHandler;
import edu.wpi.cscore.VideoException;
import edu.wpi.first.networktables.*;
@@ -88,12 +89,13 @@ public class VisionProcess implements Runnable {
System.err.println(e.toString());
}
camera.setBrightness(pipeline.brightness);
if (SettingsManager.GeneralSettings.curr_camera.equals(cameraName)){
SettingsManager.GeneralSettings.curr_pipeline = ntPipelineIndex;
if (SettingsManager.GeneralSettings.currentCamera.equals(cameraName)){
SettingsManager.GeneralSettings.currentPipeline = ntPipelineIndex;
HashMap<String, Object> pipeChange = new HashMap<>();
pipeChange.put("curr_pipeline", ntPipelineIndex);
pipeChange.put("currentPipeline", ntPipelineIndex);
ServerHandler.broadcastMessage(pipeChange);
ServerHandler.sendFullSettings();
}
} else {
ntPipelineEntry.setNumber(camera.getCurrentPipelineIndex());
@@ -222,25 +224,27 @@ public class VisionProcess implements Runnable {
// get vision data
var pipelineResult = runVisionProcess(cameraInputMat, streamOutputMat);
updateNetworkTables(pipelineResult);
if (cameraName.equals(SettingsManager.GeneralSettings.curr_camera)) {
if (cameraName.equals(SettingsManager.GeneralSettings.currentCamera)) {
HashMap<String, Object> WebSend = new HashMap<>();
HashMap<String, Object> point = new HashMap<>();
HashMap<String, Object> calculated = new HashMap<>();
List<Double> center = new ArrayList<>();
if (pipelineResult.IsValid) {
center.add(pipelineResult.RawPoint.center.x);
center.add(pipelineResult.RawPoint.center.y);
point.put("pitch", pipelineResult.Pitch);
point.put("yaw", pipelineResult.Yaw);
calculated.put("pitch", pipelineResult.Pitch);
calculated.put("yaw", pipelineResult.Yaw);
} else {
center.add(0.0);
center.add(0.0);
point.put("pitch", 0);
point.put("yaw", 0);
calculated.put("pitch", 0);
calculated.put("yaw", 0);
}
point.put("fps", uiFps);
point.put("calculated",calculated);
point.put("rawPoint",center);
WebSend.put("point", point);
WebSend.put("raw_point", center);
// ServerHandler.broadcastMessage(WebSend);
ServerHandler.broadcastMessage(WebSend);
}
cameraProcess.updateFrame(streamOutputMat);