Add AWB slider/toggle (#1477)

Also reworks OV9782 defaults. Probably doesn't work on windows. We should hide these sliders probably. 

Co-authored-by: Cameron (3539) <theforgelover@gmail.com>
This commit is contained in:
Matt
2024-10-25 00:27:40 -07:00
committed by GitHub
parent 385059c233
commit aee432127a
21 changed files with 288 additions and 30 deletions

View File

@@ -77,6 +77,9 @@ export interface PipelineSettings {
hsvSaturation: WebsocketNumberPair | [number, number];
pipelineType: PipelineType;
contourIntersection: number;
cameraAutoWhiteBalance: boolean;
cameraWhiteBalanceTemp: number;
}
export type ConfigurablePipelineSettings = Partial<
Omit<
@@ -137,7 +140,9 @@ export const DefaultPipelineSettings: Omit<
cornerDetectionStrategy: 0,
cornerDetectionAccuracyPercentage: 10,
hsvSaturation: { first: 50, second: 255 },
contourIntersection: 1
contourIntersection: 1,
cameraAutoWhiteBalance: false,
cameraWhiteBalanceTemp: 4000
};
export interface ReflectivePipelineSettings extends PipelineSettings {

View File

@@ -198,6 +198,9 @@ export interface CameraSettings {
minExposureRaw: number;
maxExposureRaw: number;
minWhiteBalanceTemp: number;
maxWhiteBalanceTemp: number;
}
export interface CameraSettingsChangeRequest {
@@ -286,20 +289,25 @@ export const PlaceholderCameraSettings: CameraSettings = {
quirks: {
AWBGain: false,
AdjustableFocus: false,
ArduOV9281: false,
ArduOV2311: false,
ArduOV9782: false,
ArduOV9281Controls: false,
ArduOV2311Controls: false,
ArduOV9782Controls: false,
ArduCamCamera: false,
CompletelyBroken: false,
FPSCap100: false,
Gain: false,
PiCam: false,
StickyFPS: false
StickyFPS: false,
InnoOV9281Controls: false,
LifeCamControls: false,
PsEyeControls: false
}
},
isCSICamera: false,
minExposureRaw: 1,
maxExposureRaw: 100
maxExposureRaw: 100,
minWhiteBalanceTemp: 2000,
maxWhiteBalanceTemp: 10000
};
export enum CalibrationBoardTypes {

View File

@@ -60,6 +60,8 @@ export interface WebsocketCameraSettingsUpdate {
cameraQuirks: QuirkyCamera;
minExposureRaw: number;
maxExposureRaw: number;
minWhiteBalanceTemp: number;
maxWhiteBalanceTemp: number;
}
export interface WebsocketNTUpdate {
connected: boolean;