diff --git a/CHANGELOG.md b/CHANGELOG.md index eb34c0f..4972e8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,10 @@ single running list until the first versioned release. ## Unreleased -_Nothing yet._ +- **`MANUAL.md`** β€” a user-facing feature & usage guide covering both inherited + OpenGD77 features and FreeTRX additions, each tagged 🟒 [FreeTRX] or βšͺ + [OpenGD77]. Includes the spectrum scope (VFO sweep, hold `#`), channel add/delete, + mute, dimming, and a button reference. ## 0.4.0 diff --git a/MANUAL.md b/MANUAL.md new file mode 100644 index 0000000..7e3924e --- /dev/null +++ b/MANUAL.md @@ -0,0 +1,160 @@ +# FreeTRX β€” User Manual + +Feature and usage guide for **FreeTRX** (a fork of [OpenGD77](https://opengd77.org)) +on the **TYT MD-UV380 / Retevis RT-3S** and **Baofeng DM-1701 / Retevis RT-84**. + +## How to read this manual + +Each feature is tagged so you can tell what is unique to FreeTRX and what is +inherited from upstream OpenGD77: + +- 🟒 **[FreeTRX]** β€” new or noticeably changed in FreeTRX. +- βšͺ **[OpenGD77]** β€” inherited from upstream OpenGD77, documented here for + convenience. For exhaustive coverage of upstream behaviour, see the official + OpenGD77 user guide. + +> Most day-to-day operation (VFO/Channel, FM, DMR, scanning, hotspot, CPS sync) is +> standard OpenGD77. This manual focuses on **how to reach each feature** and marks +> clearly what FreeTRX adds or changes. + +--- + +## Buttons at a glance + +The MD-UV380 / RT-3S has **PTT**, **SK1** (upper side key), **SK2** (lower side +key), the **top / orange** button, and a keypad with **green** (βœ“ / menu), **red** +(βœ— / back), arrows, `0`–`9`, `*` and `#`. + +| Control | Action | +| --- | --- | +| **Green** | Menu / confirm | +| **Red** | Back / exit | +| **Top / orange** button | Open the **quick menu** (VFO or Channel) β€” βšͺ [OpenGD77] | +| **SK1** (hold) | Show frequency / secondary info | +| **SK2** (hold) | Modifier for other keys | +| **SK2** (short tap) | **Toggle mute** on VFO/Channel β€” 🟒 [FreeTRX] | +| **SK2** (extra-long) | Monitor / open squelch β€” βšͺ [OpenGD77] | +| **SK1 + SK2** | Reverse repeater β€” βšͺ [OpenGD77] | +| **`#`** (hold, VFO) | Toggle the **spectrum scope** β€” βšͺ [OpenGD77] | +| **SK2 + green** (Channel) | Open **Channel Details** editor β€” βšͺ [OpenGD77] | + +--- + +## Display & UI + +### Segmented S-meter β€” 🟒 [FreeTRX] +The signal meter under the top status bar is drawn as discrete blocks: **9 green** +blocks for S1–S9 (4 dB each) and **6 red** blocks for S9+10…+60 (10 dB each), with +a scale-label row beneath (`S1 S3 S5 S7 S9 / +20 +40 +60`). The leading block fills +proportionally. + +### 7-segment "LED" frequency font β€” 🟒 [FreeTRX] +On the VFO and the SK1-held frequency view, the frequency is rendered in a +7-segment "LED" style (lit segments only). "MHz" matches the frequency colour +(green on RX, red on TX). + +### Screen dimming β€” 🟒 [FreeTRX] +Optionally dims the backlight after inactivity to **100 / 50 / 30 / 15 %** of the +configured brightness (only in **Auto** backlight mode). Any activity restores full +brightness. Set it in **Menu β†’ Options β†’ Display Options β†’ Screen Dim**. + +### Main-menu icons β€” 🟒 [FreeTRX] +Each top-level menu entry has a small icon next to it. + +### Mute indicator β€” 🟒 [FreeTRX] +While muted, a bold **"M"** appears in the status bar (just left of the battery) +and the **red LED flashes** (0.5 s every 2 s). See *Mute* below. + +--- + +## Audio + +### One-tap mute β€” 🟒 [FreeTRX] +- A **short tap of SK2** on the VFO/Channel screen toggles the speaker mute on/off. + (Exception: while a DMR QSO is on screen, SK2 keeps its "set TX talkgroup to the + incoming one" role.) +- Turning the **volume knob fully down** also counts as muted. +- Mute is shown by the **"M"** indicator and the flashing red LED (above). +- Mute is also available in the Channel/VFO **quick menu**. + +--- + +## Operating + +### VFO & Channel modes β€” βšͺ [OpenGD77] +Switch between direct-frequency **VFO** mode and stored **Channel** mode with the +mode toggle. Most operating happens here. + +### Spectrum scope (VFO sweep) β€” βšͺ [OpenGD77] +A real-time signal-strength-vs-frequency graph centred on the VFO frequency. +- **Enter/exit:** in **VFO mode**, **hold `#`** (long press). Hold `#` again to leave. +- **Left / Right:** move the centre frequency across the band. +- **Up / Down:** change the sweep **span / step** (zoom in / out). +- **SK2 + Up/Down:** adjust **gain**; **SK2 + Left/Right:** adjust the + **noise-floor** reference (how the trace fills the screen). +- The gain / noise-floor / step settings are remembered. +- The scope is **VFO-only** (not available in Channel mode). + +### Scanning β€” βšͺ [OpenGD77] +Channel and VFO scanning with hold/pause behaviour, per the upstream OpenGD77 +controls. + +### Quick menu β€” βšͺ [OpenGD77] (with 🟒 [FreeTRX] additions) +Press the **top / orange** button to open the quick menu for the current screen +(VFO or Channel). It holds filters (FM/DMR), Talkaround, Roaming, Mute, VFO↔Channel +copy, and β€” on the Channel screen β€” the FreeTRX **new channel** / **Delete Channel** +items (see below). + +--- + +## Channels & zones + +### Channel Details editor β€” βšͺ [OpenGD77] +Edit an existing channel's parameters (name, frequencies, tones, power, bandwidth, +timeslot, colour code, groups, …). From the Channel screen, press **SK2 + green**. +Press **green** to save. + +### Create & delete channels on the radio β€” 🟒 [FreeTRX] +No PC/CPS required. Open the **Channel quick menu** (top/orange button) and scroll +to the bottom: +- **New channel** β€” creates a blank **145.500 MHz FM** channel in the first free + slot, adds it to the current zone, and opens **Channel Details** to edit it. The + new channel is immediately selectable in the zone. +- **Delete Channel** β€” deletes the selected channel after a confirmation (**green** + confirms, **red** cancels). It is also removed from every zone that referenced it. + The last remaining channel can't be deleted, and read-only/APRS channels are + protected. + +> **Back up your codeplug** (via the CPS) before bulk edits β€” changes are written +> straight to the radio and there is no on-device undo. + +### Zones β€” βšͺ [OpenGD77] +Select zones from **Menu β†’ Zone**. The virtual **All Channels** zone lists every +channel. (On-radio *zone* editing is planned for a future FreeTRX release.) + +--- + +## DMR + +### DMR operation β€” βšͺ [OpenGD77] +Talkgroups/contacts, timeslots, colour codes, RX groups, and hotspot mode, all per +upstream OpenGD77. The AMBE voice codec is merged in at flash time (see +[`TOOLS.md`](TOOLS.md)). + +### DMR reliability fix β€” 🟒 [FreeTRX] +FreeTRX resolves a hard-fault (freeze needing a battery pull) on the DMR path that +affected recent self-built OpenGD77 revisions β€” the codec is called through C +function pointers instead of inline assembler that modern GCC miscompiled. + +--- + +## About & versioning β€” 🟒 [FreeTRX] + +**Menu β†’ Firmware info** shows the **FreeTRX version** (semantic versioning, e.g. +`FreeTRX v0.4.0`) alongside the git commit ID. Pre-1.0 builds are published as +pre-releases. See [`CHANGELOG.md`](CHANGELOG.md) for the full history. + +--- + +*Building, flashing and tools are covered in [`TOOLS.md`](TOOLS.md); the project +overview is in [`README.md`](README.md).* diff --git a/README.md b/README.md index b35f5d2..5c5eb3b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,11 @@ RT-84**. It adds a number of UI and quality-of-life changes on top of OpenGD77 (segmented S-meter, 7-segment frequency font, screen dimming, an audio-mute function, menu -icons, and more). See [`CHANGELOG.md`](CHANGELOG.md) for the full list. +icons, on-radio channel editing, and more). + +πŸ“– **[`MANUAL.md`](MANUAL.md)** is the full feature & usage guide β€” every feature is +tagged 🟒 **[FreeTRX]** (new/changed here) or βšͺ **[OpenGD77]** (inherited). See +[`CHANGELOG.md`](CHANGELOG.md) for the version history. ## Screenshots