File inventory¶
Every .py file under src/icom_lan/, ordered by current location, with
a one-line responsibility summary derived from the module docstring (or
the top-level class/function names where no docstring is present).
Rendered from file-inventory.json by
build_orphan_report.py.
top-level (src/icom_lan/) — 57 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/__init__.py |
icom_lan |
icom-lan: Python library for controlling Icom transceivers over LAN. |
src/icom_lan/__main__.py |
icom_lan.__main__ |
Allow running as: python -m icom_lan |
src/icom_lan/_audio_codecs.py |
icom_lan._audio_codecs |
Pure-Python audio codec utilities. |
src/icom_lan/_audio_recovery.py |
icom_lan._audio_recovery |
Audio snapshot/resume logic for IcomRadio reconnect scenarios. |
src/icom_lan/_audio_runtime_mixin.py |
icom_lan._audio_runtime_mixin |
AudioRuntimeMixin — audio streaming methods extracted from CoreRadio. |
src/icom_lan/_audio_transcoder.py |
icom_lan._audio_transcoder |
Internal PCM <-> Opus transcoder utilities. |
src/icom_lan/_bounded_queue.py |
icom_lan._bounded_queue |
Minimal bounded async queue helper used by inter-task buffers. |
src/icom_lan/_bridge_metrics.py |
icom_lan._bridge_metrics |
BridgeMetrics — structured audio bridge telemetry. |
src/icom_lan/_bridge_state.py |
icom_lan._bridge_state |
Bridge connection state machine. |
src/icom_lan/_civ_rx.py |
icom_lan._civ_rx |
CI-V receive pump and event dispatch for IcomRadio. |
src/icom_lan/_connection_state.py |
icom_lan._connection_state |
Radio-level connection state machine. |
src/icom_lan/_control_phase.py |
icom_lan._control_phase |
Auth/login FSM, token renewal, watchdog, and reconnect for IcomRadio. |
src/icom_lan/_dual_rx_runtime.py |
icom_lan._dual_rx_runtime |
DualRxRuntimeMixin — dual-receiver routing methods extracted from CoreRadio. |
src/icom_lan/_optional_deps.py |
icom_lan._optional_deps |
Helpers for optional / heavy dependencies. |
src/icom_lan/_poller_types.py |
icom_lan._poller_types |
Shared command types and CommandQueue for radio pollers. |
src/icom_lan/_queue_pressure.py |
icom_lan._queue_pressure |
Queue pressure threshold for transport and poller coordination. |
src/icom_lan/_runtime_protocols.py |
icom_lan._runtime_protocols |
Internal runtime host Protocols (P0 decomposition). |
src/icom_lan/_scope_runtime.py |
icom_lan._scope_runtime |
ScopeRuntimeMixin — scope/waterfall methods extracted from CoreRadio. |
src/icom_lan/_shared_state_runtime.py |
icom_lan._shared_state_runtime |
Shared state polling/cache helpers used by web and rigctld. |
src/icom_lan/_state_cache.py |
icom_lan._state_cache |
Shared radio state cache. |
src/icom_lan/_state_queries.py |
icom_lan._state_queries |
Shared state query list for populating RadioState. |
src/icom_lan/audio_analyzer.py |
icom_lan.audio_analyzer |
Lightweight audio analyzer — realtime SNR estimation from PCM stream. |
src/icom_lan/audio_bridge.py |
icom_lan.audio_bridge |
Audio bridge — bidirectional PCM bridge between radio and a system audio device. |
src/icom_lan/audio_bus.py |
icom_lan.audio_bus |
AudioBus — pub/sub distribution for radio audio streams. |
src/icom_lan/audio_fft_scope.py |
icom_lan.audio_fft_scope |
Audio FFT Scope — derive IF panadapter from RX audio PCM stream. |
src/icom_lan/auth.py |
icom_lan.auth |
Authentication logic for the Icom LAN protocol. |
src/icom_lan/capabilities.py |
icom_lan.capabilities |
Unified capability constants and known-capability registry. |
src/icom_lan/civ.py |
icom_lan.civ |
CI-V event routing and request tracking utilities. |
src/icom_lan/cli.py |
icom_lan.cli |
icom-lan CLI — command-line interface for Icom LAN control. |
src/icom_lan/command_map.py |
icom_lan.command_map |
CommandMap — frozen lookup for CI-V wire bytes by command name. |
src/icom_lan/command_spec.py |
icom_lan.command_spec |
Command specification types for multi-protocol radio control. |
src/icom_lan/commander.py |
icom_lan.commander |
classes: Priority, _QueueItem, IcomCommander |
src/icom_lan/cw_auto_tuner.py |
icom_lan.cw_auto_tuner |
CW Auto Tuner — FFT-based CW tone frequency detection. |
src/icom_lan/discovery.py |
icom_lan.discovery |
Serial port enumeration, candidate filtering, and multi-protocol radio discovery. |
src/icom_lan/env_config.py |
icom_lan.env_config |
Environment variable configuration helpers for icom-lan. |
src/icom_lan/exceptions.py |
icom_lan.exceptions |
Custom exception hierarchy for icom-lan. |
src/icom_lan/ic705.py |
icom_lan.ic705 |
IC-705 convenience helpers for data and packet-mode workflows. |
src/icom_lan/meter_cal.py |
icom_lan.meter_cal |
Shared meter calibration helpers. |
src/icom_lan/profiles.py |
icom_lan.profiles |
Radio profile and capability matrix for runtime routing and guards. |
src/icom_lan/profiles_runtime.py |
icom_lan.profiles_runtime |
Generic capability-aware radio profile system. |
src/icom_lan/protocol.py |
icom_lan.protocol |
Packet parsing and serialization for the Icom LAN UDP protocol. |
src/icom_lan/proxy.py |
icom_lan.proxy |
Transparent UDP relay proxy for Icom LAN protocol. |
src/icom_lan/radio.py |
icom_lan.radio |
IcomRadio — high-level async API for Icom transceivers over LAN. |
src/icom_lan/radio_initial_state.py |
icom_lan.radio_initial_state |
Initial-state fetch orchestration for :class:IcomRadio. |
src/icom_lan/radio_protocol.py |
icom_lan.radio_protocol |
Abstract Radio Protocol — multi-backend radio control interface. |
src/icom_lan/radio_reconnect.py |
icom_lan.radio_reconnect |
Watchdog and reconnect loops for :class:IcomRadio. |
src/icom_lan/radio_state.py |
icom_lan.radio_state |
RadioState — dual-receiver radio state model. |
src/icom_lan/radio_state_snapshot.py |
icom_lan.radio_state_snapshot |
Snapshot/restore helpers for :class:IcomRadio state. |
src/icom_lan/radios.py |
icom_lan.radios |
Radio model presets with CI-V addresses and capabilities. |
src/icom_lan/rig_loader.py |
icom_lan.rig_loader |
TOML rig config loader — parse, validate, and build runtime objects. |
src/icom_lan/scope.py |
icom_lan.scope |
Scope/waterfall frame assembly for Icom transceivers. |
src/icom_lan/scope_render.py |
icom_lan.scope_render |
Scope/waterfall frame rendering for Icom transceivers. |
src/icom_lan/startup_checks.py |
icom_lan.startup_checks |
functions: assert_radio_startup_ready, wait_for_radio_startup_ready |
src/icom_lan/sync.py |
icom_lan.sync |
Synchronous (blocking) wrapper around :class:~icom_lan.radio.IcomRadio. |
src/icom_lan/transport.py |
icom_lan.transport |
Async UDP transport for the Icom LAN protocol. |
src/icom_lan/types.py |
icom_lan.types |
Enums, dataclasses, and helper functions for the Icom LAN protocol. |
src/icom_lan/usb_audio_resolve.py |
icom_lan.usb_audio_resolve |
Resolve USB Audio devices associated with a serial CI-V port. |
src/icom_lan/audio/ (and below) — 8 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/audio/__init__.py |
icom_lan.audio |
Universal audio subsystem for icom-lan. |
src/icom_lan/audio/_macos_uid.py |
icom_lan.audio._macos_uid |
macOS CoreAudio device UID lookup via ctypes. |
src/icom_lan/audio/backend.py |
icom_lan.audio.backend |
AudioBackend protocol and implementations. |
src/icom_lan/audio/config.py |
icom_lan.audio.config |
Optional audio.toml configuration — persists device selection across runs. |
src/icom_lan/audio/dsp.py |
icom_lan.audio.dsp |
Optional DSP pipeline for audio bridge — noise gate, RMS normalization, limiter. |
src/icom_lan/audio/lan_stream.py |
icom_lan.audio.lan_stream |
Audio streaming for Icom transceivers over LAN (UDP). |
src/icom_lan/audio/resample.py |
icom_lan.audio.resample |
Optional PCM resampling using numpy linear interpolation. |
src/icom_lan/audio/usb_driver.py |
icom_lan.audio.usb_driver |
Universal USB audio driver for all serial-connected radios (macOS-first). |
src/icom_lan/backends/ (and below) — 27 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/backends/__init__.py |
icom_lan.backends |
Backend-specific radio implementations and assembly helpers. |
src/icom_lan/backends/_icom_serial_base.py |
icom_lan.backends._icom_serial_base |
Shared base class for Icom serial (USB CI-V) radio backends. |
src/icom_lan/backends/config.py |
icom_lan.backends.config |
Typed backend configuration models for radio assembly. |
src/icom_lan/backends/factory.py |
icom_lan.backends.factory |
Backend factory for assembling radio implementations from typed config. |
src/icom_lan/backends/ic705/__init__.py |
icom_lan.backends.ic705 |
IC-705 backend implementations (serial). |
src/icom_lan/backends/ic705/core.py |
icom_lan.backends.ic705.core |
Shared executable core for IC-705 behavior. |
src/icom_lan/backends/ic705/serial.py |
icom_lan.backends.ic705.serial |
Serial adaptation layer for the IC-705 backend. |
src/icom_lan/backends/ic7300/__init__.py |
icom_lan.backends.ic7300 |
IC-7300 backend implementations (serial). |
src/icom_lan/backends/ic7300/core.py |
icom_lan.backends.ic7300.core |
Shared executable core for IC-7300 behavior. |
src/icom_lan/backends/ic7300/serial.py |
icom_lan.backends.ic7300.serial |
Serial adaptation layer for the IC-7300 backend. |
src/icom_lan/backends/ic9700/__init__.py |
icom_lan.backends.ic9700 |
IC-9700 backend implementations (serial and LAN). |
src/icom_lan/backends/ic9700/core.py |
icom_lan.backends.ic9700.core |
Shared executable core for IC-9700 behavior. |
src/icom_lan/backends/ic9700/serial.py |
icom_lan.backends.ic9700.serial |
Serial adaptation layer for the IC-9700 backend. |
src/icom_lan/backends/icom7610/__init__.py |
icom_lan.backends.icom7610 |
IC-7610 backend exports. |
src/icom_lan/backends/icom7610/drivers/__init__.py |
icom_lan.backends.icom7610.drivers |
Internal driver contracts for IC-7610 backend. |
src/icom_lan/backends/icom7610/drivers/contracts.py |
icom_lan.backends.icom7610.drivers.contracts |
Internal backend driver contracts for IC-7610 core orchestration. |
src/icom_lan/backends/icom7610/drivers/serial_civ_link.py |
icom_lan.backends.icom7610.drivers.serial_civ_link |
Production Serial CI-V link for IC-7610 USB serial backend. |
src/icom_lan/backends/icom7610/drivers/serial_session.py |
icom_lan.backends.icom7610.drivers.serial_session |
Serial session driver and transport adapters for IC-7610 shared core. |
src/icom_lan/backends/icom7610/drivers/serial_stub.py |
icom_lan.backends.icom7610.drivers.serial_stub |
Deterministic serial-ready test doubles for backend regression gates. |
src/icom_lan/backends/icom7610/drivers/usb_audio.py |
icom_lan.backends.icom7610.drivers.usb_audio |
Backward-compatible re-export — driver moved to icom_lan.audio.usb_driver. |
src/icom_lan/backends/icom7610/lan.py |
icom_lan.backends.icom7610.lan |
LAN adaptation layer for the IC-7610 backend. |
src/icom_lan/backends/icom7610/serial.py |
icom_lan.backends.icom7610.serial |
Serial adaptation layer for the IC-7610 backend. |
src/icom_lan/backends/yaesu_cat/__init__.py |
icom_lan.backends.yaesu_cat |
Yaesu CAT backend for icom-lan. |
src/icom_lan/backends/yaesu_cat/parser.py |
icom_lan.backends.yaesu_cat.parser |
Yaesu CAT command formatter and parser. |
src/icom_lan/backends/yaesu_cat/poller.py |
icom_lan.backends.yaesu_cat.poller |
YaesuCatPoller — polling scheduler for YaesuCatRadio. |
src/icom_lan/backends/yaesu_cat/radio.py |
icom_lan.backends.yaesu_cat.radio |
Yaesu CAT radio backend — FTX-1 and compatible transceivers. |
src/icom_lan/backends/yaesu_cat/transport.py |
icom_lan.backends.yaesu_cat.transport |
Yaesu CAT serial transport — bulletproof async line protocol. |
src/icom_lan/commands/ (and below) — 21 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/commands/__init__.py |
icom_lan.commands |
CI-V command encoding and decoding for Icom transceivers. |
src/icom_lan/commands/_builders.py |
icom_lan.commands._builders |
Shared builder templates used by multiple leaf modules. |
src/icom_lan/commands/_codec.py |
icom_lan.commands._codec |
BCD and level encode/decode helpers. |
src/icom_lan/commands/_frame.py |
icom_lan.commands._frame |
CI-V frame builders, parser, and all command/sub-command constants. |
src/icom_lan/commands/antenna.py |
icom_lan.commands.antenna |
Antenna selection / RX-ANT commands (0x12). |
src/icom_lan/commands/config.py |
icom_lan.commands.config |
Configuration commands: mod levels, mod input routing, CI-V options. |
src/icom_lan/commands/cw.py |
icom_lan.commands.cw |
CW keying commands (send_cw, stop_cw). |
src/icom_lan/commands/dsp.py |
icom_lan.commands.dsp |
DSP commands: ATT, preamp, NB, NR, IP+, AGC, notch, compressor, VOX, break-in, etc. |
src/icom_lan/commands/freq.py |
icom_lan.commands.freq |
Frequency commands (0x03/0x05/0x25/0x26). |
src/icom_lan/commands/levels.py |
icom_lan.commands.levels |
All 0x14-family level get/set commands + parse_level_response. |
src/icom_lan/commands/memory.py |
icom_lan.commands.memory |
Memory mode/write/clear/contents and band stacking register commands. |
src/icom_lan/commands/meters.py |
icom_lan.commands.meters |
All 0x15-family meter read commands. |
src/icom_lan/commands/mode.py |
icom_lan.commands.mode |
Mode commands (0x04/0x06), data mode, filter shape/width, SSB BW, AGC time constant. |
src/icom_lan/commands/power.py |
icom_lan.commands.power |
Power on/off and powerstat commands. |
src/icom_lan/commands/ptt.py |
icom_lan.commands.ptt |
PTT on/off commands. |
src/icom_lan/commands/scope.py |
icom_lan.commands.scope |
Spectrum / waterfall scope commands (0x27 family). |
src/icom_lan/commands/speech.py |
icom_lan.commands.speech |
Speech announcement command (0x13). |
src/icom_lan/commands/system.py |
icom_lan.commands.system |
System commands: transceiver ID, band edge, tuner, XFC, TX freq monitor, RIT/XIT. |
src/icom_lan/commands/tone.py |
icom_lan.commands.tone |
Repeater tone/TSQL commands (0x1B family, 0x16 0x42/0x43). |
src/icom_lan/commands/tx_band.py |
icom_lan.commands.tx_band |
TX band edge commands (0x1E). |
src/icom_lan/commands/vfo.py |
icom_lan.commands.vfo |
VFO, scan, dual watch, split, tuning step commands. |
src/icom_lan/dsp/ (and below) — 8 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/dsp/__init__.py |
icom_lan.dsp |
DSP pipeline core abstractions for real-time audio processing. |
src/icom_lan/dsp/exceptions.py |
icom_lan.dsp.exceptions |
DSP pipeline exceptions. |
src/icom_lan/dsp/nodes/__init__.py |
icom_lan.dsp.nodes |
Concrete DSP nodes for audio processing pipelines. |
src/icom_lan/dsp/nodes/base.py |
icom_lan.dsp.nodes.base |
Base DSP nodes: PassthroughNode and GainNode. |
src/icom_lan/dsp/nodes/nr_scipy.py |
icom_lan.dsp.nodes.nr_scipy |
NRScipyNode — spectral subtraction noise reduction. |
src/icom_lan/dsp/pipeline.py |
icom_lan.dsp.pipeline |
DSP pipeline core: DSPNode protocol and DSPPipeline orchestrator. |
src/icom_lan/dsp/resample.py |
icom_lan.dsp.resample |
Inter-node resample utility for the DSP pipeline. |
src/icom_lan/dsp/tap_registry.py |
icom_lan.dsp.tap_registry |
Multi-consumer PCM audio tap registry. |
src/icom_lan/rigctld/ (and below) — 11 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/rigctld/__init__.py |
icom_lan.rigctld |
Hamlib NET rigctld-compatible TCP server for icom-lan. |
src/icom_lan/rigctld/audit.py |
icom_lan.rigctld.audit |
Structured per-command audit logging for the rigctld server. |
src/icom_lan/rigctld/circuit_breaker.py |
icom_lan.rigctld.circuit_breaker |
Circuit breaker for CI-V command resilience. |
src/icom_lan/rigctld/contract.py |
icom_lan.rigctld.contract |
Shared contracts between rigctld modules. |
src/icom_lan/rigctld/handler.py |
icom_lan.rigctld.handler |
Rigctld command handler — dispatches parsed commands to IcomRadio. |
src/icom_lan/rigctld/poller.py |
icom_lan.rigctld.poller |
Autonomous radio state poller for the rigctld server. |
src/icom_lan/rigctld/protocol.py |
icom_lan.rigctld.protocol |
Rigctld wire protocol parser and formatter. |
src/icom_lan/rigctld/routing.py |
icom_lan.rigctld.routing |
Rigctld vendor-specific routing strategies. |
src/icom_lan/rigctld/server.py |
icom_lan.rigctld.server |
Rigctld TCP server — asyncio.start_server transport layer. |
src/icom_lan/rigctld/state_cache.py |
icom_lan.rigctld.state_cache |
(no docstring; no public top-level defs) |
src/icom_lan/rigctld/utils.py |
icom_lan.rigctld.utils |
functions: get_mode_reader |
src/icom_lan/web/ (and below) — 19 files¶
| Path | Module | Summary |
|---|---|---|
src/icom_lan/web/__init__.py |
icom_lan.web |
icom-lan Web UI — WebSocket + HTTP server package. |
src/icom_lan/web/_delta_encoder.py |
icom_lan.web._delta_encoder |
Delta encoding for web state updates — reduce payload for frequent broadcasts. |
src/icom_lan/web/band_plan.py |
icom_lan.web.band_plan |
Band plan registry — load TOML files and serve via REST. |
src/icom_lan/web/discovery.py |
icom_lan.web.discovery |
UDP Discovery Responder for icom-lan. |
src/icom_lan/web/dx_cluster.py |
icom_lan.web.dx_cluster |
DX cluster client: spot parsing, telnet client, spot buffer. |
src/icom_lan/web/eibi.py |
icom_lan.web.eibi |
EiBi broadcast station database — fetch, parse, cache, query. |
src/icom_lan/web/handlers/__init__.py |
icom_lan.web.handlers |
Route handlers for WebSocket channels and HTTP endpoints. |
src/icom_lan/web/handlers/audio.py |
icom_lan.web.handlers.audio |
Audio WebSocket handlers — broadcaster + per-client handler. |
src/icom_lan/web/handlers/control.py |
icom_lan.web.handlers.control |
Control WebSocket handler — JSON commands, events, state. |
src/icom_lan/web/handlers/scope.py |
icom_lan.web.handlers.scope |
Scope WebSocket handler — binary scope frame channel with backpressure. |
src/icom_lan/web/protocol.py |
icom_lan.web.protocol |
Web UI binary frame protocol for scope and audio data. |
src/icom_lan/web/radio_poller.py |
icom_lan.web.radio_poller |
RadioPoller — fire-and-forget CI-V serialiser. |
src/icom_lan/web/rtc.py |
icom_lan.web.rtc |
WebRTC signaling support for icom-lan. |
src/icom_lan/web/runtime_helpers.py |
icom_lan.web.runtime_helpers |
functions: runtime_capabilities, radio_ready, build_public_state_payload |
src/icom_lan/web/server.py |
icom_lan.web.server |
WebSocket + HTTP server for the icom-lan Web UI. |
src/icom_lan/web/tls.py |
icom_lan.web.tls |
TLS certificate management for the web server. |
src/icom_lan/web/web_routing.py |
icom_lan.web.web_routing |
HTTP method/path dispatch for :class:icom_lan.web.server.WebServer. |
src/icom_lan/web/web_startup.py |
icom_lan.web.web_startup |
Startup/shutdown orchestration for :class:icom_lan.web.server.WebServer. |
src/icom_lan/web/websocket.py |
icom_lan.web.websocket |
RFC 6455 WebSocket + RFC 7692 permessage-deflate (stdlib only). |