# Interface ControlDefinitionV5

Control definition describing a radar control.

interface ControlDefinitionV5 {
category: "base" | "extended";
description: string;
id: string;
name: string;
type: "number" | "boolean" | "enum" | "compound";
default?: string | number | boolean | Record<string, unknown>;
defaultMode?: "auto" | "manual";
modes?: ("auto" | "manual")[];
properties?: Record<string, unknown>;
range?: { max: number; min: number; step?: number; unit?: string };
readOnly?: boolean;
values?: { label: string; value: string | number; description?: string }[];
}

- Defined in radarapi.ts:90

##### Index

### Properties

category
description
id
name
type
default?
defaultMode?
modes?
properties?
range?
readOnly?
values?

## Properties

### category

category: "base" | "extended"

Category: base controls all radars have, extended are model-specific

- Defined in radarapi.ts:98

### description

description: string

Description for tooltips

- Defined in radarapi.ts:96

### id

id: string

Semantic control ID (e.g., "gain", "beamSharpening")

- Defined in radarapi.ts:92

### name

name: string

Human-readable name

- Defined in radarapi.ts:94

### type

type: "number" | "boolean" | "enum" | "compound"

Control value type

- Defined in radarapi.ts:100

### `Optional` default

default?: string | number | boolean | Record<string, unknown>

Default value for this control. Type depends on the control type (boolean, number, enum value, or compound object).

- Defined in radarapi.ts:134

### `Optional` defaultMode

defaultMode?: "auto" | "manual"

Default mode

- Defined in radarapi.ts:126

### `Optional` modes

modes?: ("auto" | "manual")[]

Supported modes (auto/manual)

- Defined in radarapi.ts:124

### `Optional` properties

properties?: Record<string, unknown>

For type: "compound" - property definitions. Structure varies by control type (radar-specific).

- Defined in radarapi.ts:121

### `Optional` range

range?: { max: number; min: number; step?: number; unit?: string }

For type: "number" - value range constraints

- Defined in radarapi.ts:103

### `Optional` readOnly

readOnly?: boolean

Whether this control is read-only

- Defined in radarapi.ts:129

### `Optional` values

values?: { label: string; value: string | number; description?: string }[]

For type: "enum" - allowed values

- Defined in radarapi.ts:111