diff --git a/photon-client/src/stores/settings/CameraSettingsStore.ts b/photon-client/src/stores/settings/CameraSettingsStore.ts index e180ce4fb6..ea7ec1a8c2 100644 --- a/photon-client/src/stores/settings/CameraSettingsStore.ts +++ b/photon-client/src/stores/settings/CameraSettingsStore.ts @@ -107,23 +107,25 @@ export const useCameraSettingsStore = defineStore("cameraSettings", { inputPort: d.inputStreamPort, outputPort: d.outputStreamPort }, - validVideoFormats: Object.entries(d.videoFormatList) - .sort(([firstKey], [secondKey]) => parseInt(firstKey) - parseInt(secondKey)) - // eslint-disable-next-line @typescript-eslint/no-unused-vars - .map(([k, v], i) => ({ - resolution: { - width: v.width, - height: v.height - }, - fps: v.fps, - pixelFormat: v.pixelFormat, - index: v.index || i, - diagonalFOV: v.diagonalFOV, - horizontalFOV: v.horizontalFOV, - verticalFOV: v.verticalFOV, - standardDeviation: v.standardDeviation, - mean: v.mean - })), + validVideoFormats: d.videoFormatList + ? Object.entries(d.videoFormatList) + .sort(([firstKey], [secondKey]) => parseInt(firstKey) - parseInt(secondKey)) + // eslint-disable-next-line @typescript-eslint/no-unused-vars + .map(([k, v], i) => ({ + resolution: { + width: v.width, + height: v.height + }, + fps: v.fps, + pixelFormat: v.pixelFormat, + index: v.index || i, + diagonalFOV: v.diagonalFOV, + horizontalFOV: v.horizontalFOV, + verticalFOV: v.verticalFOV, + standardDeviation: v.standardDeviation, + mean: v.mean + })) + : [], completeCalibrations: d.calibrations, isCSICamera: d.isCSICamera, minExposureRaw: d.minExposureRaw, diff --git a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java index dcfea72c5f..c76af18179 100644 --- a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java +++ b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java @@ -293,6 +293,9 @@ private void cacheVideoModes() { videoModesList.add(videoMode); } + if (videoModesList.isEmpty()) { + logger.error("No video modes found for camera " + camera.getName()); + } } catch (Exception e) { logger.error("Exception while enumerating video modes!", e); videoModesList = List.of(); diff --git a/photon-core/src/main/java/org/photonvision/vision/processes/VisionModule.java b/photon-core/src/main/java/org/photonvision/vision/processes/VisionModule.java index 34e9976ec7..1bd0d37ab6 100644 --- a/photon-core/src/main/java/org/photonvision/vision/processes/VisionModule.java +++ b/photon-core/src/main/java/org/photonvision/vision/processes/VisionModule.java @@ -587,11 +587,9 @@ public UICameraConfiguration toUICameraConfig() { temp.put(k, internalMap); } - if (videoModes.size() == 0) { - logger.error("no video modes, guhhhhh"); + if (videoModes.size() > 0) { + ret.videoFormatList = temp; } - - ret.videoFormatList = temp; ret.outputStreamPort = this.outputStreamPort; ret.inputStreamPort = this.inputStreamPort; diff --git a/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java b/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java index 000c8bcbfd..d8b42d0eeb 100644 --- a/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java +++ b/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java @@ -82,6 +82,10 @@ public void setVideoModeInternal(int index) { } public void setVideoMode(VideoMode mode) { + if (mode == null) { + logger.error("Tried to set video mode to null"); + return; + } logger.info( "Setting video mode to " + "FPS: "