kenwood_thd75/mmdvm/mod.rs
1//! D-STAR gateway client for the TH-D75.
2//!
3//! The TH-D75 in Reflector Terminal Mode speaks the MMDVM binary
4//! framing protocol on its serial link. This module owns the radio-facing
5//! side of that interface: a [`DStarGateway`] wraps an
6//! [`mmdvm::AsyncModem`] and translates its [`mmdvm::Event`] stream into
7//! the higher-level [`DStarEvent`]s that TH-D75 consumers care about
8//! (slow-data text messages, URCALL commands, last-heard tracking,
9//! echo record/playback).
10//!
11//! The raw MMDVM framing codec lives in the [`mmdvm_core`] crate; the
12//! async event loop, TX-queue buffer gating, and 250 ms status polling
13//! live in the [`mmdvm`] crate.
14//!
15//! D-STAR protocol types (headers, voice frames, slow-data codecs,
16//! reflector protocols, host file parser) live in the
17//! [`dstar-gateway-core`](dstar_gateway_core) crate.
18
19pub mod gateway;
20
21// Re-export the most commonly used types from mmdvm-core so thd75
22// consumers don't need to depend on it directly.
23pub use mmdvm_core::{MmdvmError, ModemMode, ModemStatus, NakReason};
24
25pub use gateway::{DStarEvent, DStarGateway, DStarGatewayConfig, LastHeardEntry, ReconnectPolicy};