diff --git a/photon-client/src/components/dashboard/tabs/InputTab.vue b/photon-client/src/components/dashboard/tabs/InputTab.vue index 52cfef129..d13ec97bd 100644 --- a/photon-client/src/components/dashboard/tabs/InputTab.vue +++ b/photon-client/src/components/dashboard/tabs/InputTab.vue @@ -12,7 +12,7 @@ const cameraRotations = computed(() => ["Normal", "90° CW", "180°", "90° CCW"].map((v, i) => ({ name: v, value: i, - disabled: useSettingsStore().gpuAccelerationEnabled ? [1, 3].includes(i) : false + disabled: useCameraSettingsStore().isCSICamera ? [1, 3].includes(i) : false })) ); diff --git a/photon-client/src/stores/settings/CameraSettingsStore.ts b/photon-client/src/stores/settings/CameraSettingsStore.ts index 861b192ec..4a703c64f 100644 --- a/photon-client/src/stores/settings/CameraSettingsStore.ts +++ b/photon-client/src/stores/settings/CameraSettingsStore.ts @@ -58,6 +58,9 @@ export const useCameraSettingsStore = defineStore("cameraSettings", { }, isCalibrationMode(): boolean { return this.currentCameraSettings.currentPipelineIndex == WebsocketPipelineType.Calib3d; + }, + isCSICamera(): boolean { + return this.currentCameraSettings.isCSICamera; } }, actions: { @@ -99,6 +102,7 @@ export const useCameraSettingsStore = defineStore("cameraSettings", { perViewErrors: calib.perViewErrors, intrinsics: calib.intrinsics })), + isCSICamera: d.isCSICamera, pipelineNicknames: d.pipelineNicknames, currentPipelineIndex: d.currentPipelineIndex, pipelineSettings: d.currentPipelineSettings diff --git a/photon-client/src/types/SettingTypes.ts b/photon-client/src/types/SettingTypes.ts index 83bff3cd0..5dd083724 100644 --- a/photon-client/src/types/SettingTypes.ts +++ b/photon-client/src/types/SettingTypes.ts @@ -112,6 +112,7 @@ export interface CameraSettings { currentPipelineIndex: number; pipelineNicknames: string[]; pipelineSettings: ActivePipelineSettings; + isCSICamera: boolean; } export const PlaceholderCameraSettings: CameraSettings = { @@ -145,7 +146,8 @@ export const PlaceholderCameraSettings: CameraSettings = { pipelineNicknames: ["Placeholder Pipeline"], lastPipelineIndex: 0, currentPipelineIndex: 0, - pipelineSettings: DefaultAprilTagPipelineSettings + pipelineSettings: DefaultAprilTagPipelineSettings, + isCSICamera: false }; export enum CalibrationBoardTypes { diff --git a/photon-client/src/types/WebsocketDataTypes.ts b/photon-client/src/types/WebsocketDataTypes.ts index 0114e19e7..c37c22ed4 100644 --- a/photon-client/src/types/WebsocketDataTypes.ts +++ b/photon-client/src/types/WebsocketDataTypes.ts @@ -52,6 +52,7 @@ export interface WebsocketCameraSettingsUpdate { fov: number; inputStreamPort: number; isFovConfigurable: boolean; + isCSICamera: boolean; nickname: string; outputStreamPort: number; pipelineNicknames: string[]; diff --git a/photon-core/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java b/photon-core/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java index cfd3b677a..d44d3e6cd 100644 --- a/photon-core/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java +++ b/photon-core/src/main/java/org/photonvision/common/configuration/PhotonConfiguration.java @@ -174,5 +174,6 @@ public class PhotonConfiguration { public int inputStreamPort; public List> calibrations; public boolean isFovConfigurable = true; + public boolean isCSICamera; } } 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 38becf922..a69f3af8d 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 @@ -41,6 +41,7 @@ import org.photonvision.common.logging.Logger; import org.photonvision.common.util.SerializationUtils; import org.photonvision.vision.calibration.CameraCalibrationCoefficients; import org.photonvision.vision.camera.CameraQuirk; +import org.photonvision.vision.camera.CameraType; import org.photonvision.vision.camera.LibcameraGpuSource; import org.photonvision.vision.camera.QuirkyCamera; import org.photonvision.vision.camera.USBCameraSource; @@ -498,6 +499,7 @@ public class VisionModule { var ret = new PhotonConfiguration.UICameraConfiguration(); ret.fov = visionSource.getSettables().getFOV(); + ret.isCSICamera = visionSource.getCameraConfiguration().cameraType == CameraType.ZeroCopyPicam; ret.nickname = visionSource.getSettables().getConfiguration().nickname; ret.currentPipelineSettings = SerializationUtils.objectToHashMap(pipelineManager.getCurrentPipelineSettings());