# Interface RadarProviderMethods

interface RadarProviderMethods {
getRadarInfo: (radarId: string) => Promise<RadarInfo | null>;
getRadars: () => Promise<string[]>;
acquireTarget?: (
radarId: string,
bearing: number,
distance: number,
) => Promise<{ success: boolean; error?: string; targetId?: number }>;
cancelTarget?: (radarId: string, targetId: number) => Promise<boolean>;
getArpaSettings?: (radarId: string) => Promise<ArpaSettings | null>;
getCapabilities?: (radarId: string) => Promise<CapabilityManifest | null>;
getControl?: (radarId: string, controlId: string) => Promise<unknown>;
getState?: (radarId: string) => Promise<RadarState | null>;
getTargets?: (radarId: string) => Promise<TargetListResponse | null>;
handleStreamConnection?: (radarId: string, ws: WebSocket) => void;
handleTargetStreamConnection?: (radarId: string, ws: WebSocket) => void;
pluginId?: string;
setArpaSettings?: (
radarId: string,
settings: Partial<ArpaSettings>,
) => Promise<{ success: boolean; error?: string }>;
setControl?: (
radarId: string,
controlId: string,
value: unknown,
) => Promise<{ success: boolean; error?: string }>;
setControls?: (
radarId: string,
controls: Partial<RadarControls>,
) => Promise<boolean>;
setGain?: (
radarId: string,
gain: { auto: boolean; value?: number },
) => Promise<boolean>;
setPower?: (radarId: string, state: RadarStatus) => Promise<boolean>;
setRain?: (
radarId: string,
rain: { auto: boolean; value?: number },
) => Promise<boolean>;
setRange?: (radarId: string, range: number) => Promise<boolean>;
setSea?: (
radarId: string,
sea: { auto: boolean; value?: number },
) => Promise<boolean>;
}

- Defined in radarapi.ts:537

##### Index

### Properties

getRadarInfo
getRadars
acquireTarget?
cancelTarget?
getArpaSettings?
getCapabilities?
getControl?
getState?
getTargets?
handleStreamConnection?
handleTargetStreamConnection?
pluginId?
setArpaSettings?
setControl?
setControls?
setGain?
setPower?
setRain?
setRange?
setSea?

## Properties

### getRadarInfo

getRadarInfo: (radarId: string) => Promise<RadarInfo | null>

Get detailed info for a specific radar.

#### Type Declaration

- - (radarId: string): Promise<RadarInfo | null>

  - #### Parameters

    - radarId: string

      The radar ID

    #### Returns Promise<RadarInfo | null>

    Radar info or null if not found

- Defined in radarapi.ts:552

### getRadars

getRadars: () => Promise<string[]>

Get list of radar IDs this provider manages.

#### Type Declaration

- - (): Promise<string[]>

  - #### Returns Promise<string[]>

    Array of radar IDs

- Defined in radarapi.ts:545

### `Optional` acquireTarget

acquireTarget?: (
radarId: string,
bearing: number,
distance: number,
) => Promise<{ success: boolean; error?: string; targetId?: number }>

Manually acquire a target at the specified position.

#### Type Declaration

- - (
    radarId: string,
    bearing: number,
    distance: number,
    ): Promise<{ success: boolean; error?: string; targetId?: number }>

  - #### Parameters

    - radarId: string

      The radar ID

    - bearing: number

      Bearing in degrees (0-360, true north)

    - distance: number

      Distance in meters

    #### Returns Promise<{ success: boolean; error?: string; targetId?: number }>

    Result with success flag and optional target ID

- Defined in radarapi.ts:681

### `Optional` cancelTarget

cancelTarget?: (radarId: string, targetId: number) => Promise<boolean>

Cancel tracking of a target.

#### Type Declaration

- - (radarId: string, targetId: number): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - targetId: number

      The target ID to cancel

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:693

### `Optional` getArpaSettings

getArpaSettings?: (radarId: string) => Promise<ArpaSettings | null>

Get ARPA settings.

#### Type Declaration

- - (radarId: string): Promise<ArpaSettings | null>

  - #### Parameters

    - radarId: string

      The radar ID

    #### Returns Promise<ArpaSettings | null>

    ARPA settings or null if not supported

- Defined in radarapi.ts:708

### `Optional` getCapabilities

getCapabilities?: (radarId: string) => Promise<CapabilityManifest | null>

Get capability manifest for a radar. Returns detailed capabilities including supported controls, ranges, features.

#### Type Declaration

- - (radarId: string): Promise<CapabilityManifest | null>

  - #### Parameters

    - radarId: string

      The radar ID

    #### Returns Promise<CapabilityManifest | null>

    CapabilityManifest or null if not found

- Defined in radarapi.ts:632

### `Optional` getControl

getControl?: (radarId: string, controlId: string) => Promise<unknown>

Get a single control value.

#### Type Declaration

- - (radarId: string, controlId: string): Promise<unknown>

  - #### Parameters

    - radarId: string

      The radar ID

    - controlId: string

      The semantic control ID (e.g., "gain", "beamSharpening")

    #### Returns Promise<unknown>

    Control value or null if not found. Type depends on control definition.

- Defined in radarapi.ts:648

### `Optional` getState

getState?: (radarId: string) => Promise<RadarState | null>

Get current radar state. Returns status and all current control values.

#### Type Declaration

- - (radarId: string): Promise<RadarState | null>

  - #### Parameters

    - radarId: string

      The radar ID

    #### Returns Promise<RadarState | null>

    RadarState or null if not found

- Defined in radarapi.ts:640

### `Optional` getTargets

getTargets?: (radarId: string) => Promise<TargetListResponse | null>

Get all tracked ARPA targets.

#### Type Declaration

- - (radarId: string): Promise<TargetListResponse | null>

  - #### Parameters

    - radarId: string

      The radar ID

    #### Returns Promise<TargetListResponse | null>

    Target list response or null if not supported

- Defined in radarapi.ts:672

### `Optional` handleStreamConnection

handleStreamConnection?: (radarId: string, ws: WebSocket) => void

Handle WebSocket stream connection (optional). Only needed if provider doesn't expose external streamUrl.

#### Type Declaration

- - (radarId: string, ws: WebSocket): void

  - #### Parameters

    - radarId: string

      The radar ID

    - ws: WebSocket

      WebSocket connection to send spoke data to

    #### Returns void

- Defined in radarapi.ts:620

### `Optional` handleTargetStreamConnection

handleTargetStreamConnection?: (radarId: string, ws: WebSocket) => void

Handle WebSocket target stream connection. Streams target updates in real-time.

#### Type Declaration

- - (radarId: string, ws: WebSocket): void

  - #### Parameters

    - radarId: string

      The radar ID

    - ws: WebSocket

      WebSocket connection to send target updates to

    #### Returns void

- Defined in radarapi.ts:701

### `Optional` pluginId

pluginId?: string

Plugin ID (set automatically on registration)

- Defined in radarapi.ts:539

### `Optional` setArpaSettings

setArpaSettings?: (
radarId: string,
settings: Partial<ArpaSettings>,
) => Promise<{ success: boolean; error?: string }>

Update ARPA settings.

#### Type Declaration

- - (
    radarId: string,
    settings: Partial<ArpaSettings>,
    ): Promise<{ success: boolean; error?: string }>

  - #### Parameters

    - radarId: string

      The radar ID

    - settings: Partial<ArpaSettings>

      Partial settings to update

    #### Returns Promise<{ success: boolean; error?: string }>

    Result with success flag and optional error

- Defined in radarapi.ts:716

### `Optional` setControl

setControl?: (
radarId: string,
controlId: string,
value: unknown,
) => Promise<{ success: boolean; error?: string }>

Set a single control value.

#### Type Declaration

- - (
    radarId: string,
    controlId: string,
    value: unknown,
    ): Promise<{ success: boolean; error?: string }>

  - #### Parameters

    - radarId: string

      The radar ID

    - controlId: string

      The semantic control ID (e.g., "gain", "beamSharpening")

    - value: unknown

      The value to set. Type depends on control definition.

    #### Returns Promise<{ success: boolean; error?: string }>

    Result with success flag and optional error

- Defined in radarapi.ts:657

### `Optional` setControls

setControls?: (
radarId: string,
controls: Partial<RadarControls>,
) => Promise<boolean>

Set multiple radar controls at once.

#### Type Declaration

- - (radarId: string, controls: Partial<RadarControls>): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - controls: Partial<RadarControls>

      Partial controls to update

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:609

### `Optional` setGain

setGain?: (
radarId: string,
gain: { auto: boolean; value?: number },
) => Promise<boolean>

Set radar gain.

#### Type Declaration

- - (radarId: string, gain: { auto: boolean; value?: number }): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - gain: { auto: boolean; value?: number }

      Gain settings

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:576

### `Optional` setPower

setPower?: (radarId: string, state: RadarStatus) => Promise<boolean>

Set radar power state.

#### Type Declaration

- - (radarId: string, state: RadarStatus): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - state: RadarStatus

      Target power state

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:560

### `Optional` setRain

setRain?: (
radarId: string,
rain: { auto: boolean; value?: number },
) => Promise<boolean>

Set radar rain clutter.

#### Type Declaration

- - (radarId: string, rain: { auto: boolean; value?: number }): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - rain: { auto: boolean; value?: number }

      Rain clutter settings

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:598

### `Optional` setRange

setRange?: (radarId: string, range: number) => Promise<boolean>

Set radar range in meters.

#### Type Declaration

- - (radarId: string, range: number): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - range: number

      Range in meters

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:568

### `Optional` setSea

setSea?: (
radarId: string,
sea: { auto: boolean; value?: number },
) => Promise<boolean>

Set radar sea clutter.

#### Type Declaration

- - (radarId: string, sea: { auto: boolean; value?: number }): Promise<boolean>

  - #### Parameters

    - radarId: string

      The radar ID

    - sea: { auto: boolean; value?: number }

      Sea clutter settings

    #### Returns Promise<boolean>

    true on success

- Defined in radarapi.ts:587