Radio Models - icom-lan
Description: Python library for controlling Icom transceivers over LAN

Skip to content

# Radio Models

Presets for known Icom radios with CI-V addresses and capabilities.

### `icom_lan.radios.RadioModel` `dataclass`

Radio model preset.

Attributes:

Name | Type | Description
--- | --- | ---
`name` | `str` | Human-readable model name.
`civ_addr` | `int` | Default CI-V address.
`receivers` | `int` | Number of independent receivers.
`has_lan` | `bool` | Whether the radio supports LAN control.
`has_wifi` | `bool` | Whether the radio has built-in WiFi.

### `icom_lan.radios.get_civ_addr(model)`

Look up CI-V address by model name.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`model` | `str` | Model name (e.g. "IC-705", case-insensitive). | required

Returns:

Type | Description
--- | ---
`int` | CI-V address byte.

Raises:

Type | Description
--- | ---
`KeyError` | If model not found.

## Supported Models

Model | CI-V Address | Receivers | LAN | WiFi
--- | --- | --- | --- | ---
IC-7610 | 0x98 | 2 | ✅ | ❌
IC-7300 | 0x94 | 1 | ✅ | ❌
IC-705 | 0xA4 | 1 | ✅ | ✅
IC-9700 | 0xA2 | 2 | ✅ | ❌
IC-R8600 | 0x96 | 1 | ✅ | ❌
IC-7851 | 0x8E | 2 | ✅ | ❌

## Usage

    from icom_lan import IcomRadio, get_civ_addr

    # Look up CI-V address by model name
    addr = get_civ_addr("IC-705")  # returns 0xA4

    # Use with IcomRadio
    radio = IcomRadio("192.168.1.100", radio_addr=addr)