Themes: add 'Vertexic' orange preset

New theme preset: orange (#FF6A00) background with black text by day, inverted
(orange on black) at night. Vertex-style amber/orange look. Documented in
MANUAL.md and the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marcus Kida 2026-07-13 10:02:16 +02:00
parent 8c9828e386
commit 23fd4df110
6 changed files with 12 additions and 4 deletions

View file

@ -9,7 +9,8 @@ single running list until the first versioned release.
- **Theme presets** — selectable on the radio in Display Options → "Theme":
**Custom** (CPS-editable, default), **BASIC 80s** (Commodore 64 blue/light-blue),
and **Terminal** (green-on-black night / black-on-green day). The choice is stored
**Terminal** (green-on-black night / black-on-green day), and **Vertexic**
(amber/orange, black-on-amber day / amber-on-black night). The choice is stored
in the codeplug custom-data area (migration-safe; defaults to Custom), and CPS
theme edits only ever change Custom.
- **Fix:** green LED **flickering** between the red flashes while muted during a DMR

View file

@ -65,6 +65,7 @@ Pick a colour theme on the radio at **Menu → Options → Display Options → "
- **Custom** — the theme edited via the CPS or the on-radio colour editor (default).
- **BASIC 80s** — a Commodore-64 look (light blue on blue).
- **Terminal** — a green terminal (green-on-black at night, black-on-green by day).
- **Vertexic** — amber/orange (black-on-amber by day, amber-on-black at night).
Editing colours in the CPS only affects **Custom**; the two built-in presets are
fixed. Every element (S-meter, frequencies, menus) follows the selected theme.

View file

@ -276,6 +276,7 @@ typedef enum
THEME_PRESET_CUSTOM = 0, // editable via CPS / on-device colour editor
THEME_PRESET_BASIC80S, // Commodore 64 BASIC (light blue on blue)
THEME_PRESET_TERMINAL, // green terminal (green-on-black night / black-on-green day)
THEME_PRESET_VERTEXIC, // amber/orange (black-on-amber day / amber-on-black night)
NUM_THEME_PRESETS
} themePreset_t;

View file

@ -1548,6 +1548,11 @@ void themeApplyPreset(uint8_t preset)
themeSetAllItems(NIGHT, 0x00E000, 0x000000); // green on black
break;
case THEME_PRESET_VERTEXIC: // orange (Vertex-style)
themeSetAllItems(DAY, 0x000000, 0xFF6A00); // black on orange
themeSetAllItems(NIGHT, 0xFF6A00, 0x000000); // orange on black
break;
case THEME_PRESET_CUSTOM:
default:
// Overlay the user's Custom theme from the codeplug, if present (CPS edits

View file

@ -276,7 +276,7 @@ static void updateScreen(bool isFirstRun)
case DISPLAY_THEME_PRESET:
{
// Preset names are plain literals -> rightSideVar (voice-safe).
const char *presetNames[] = { "Custom", "BASIC 80s", "Terminal" };
const char *presetNames[] = { "Custom", "BASIC 80s", "Terminal", "Vertexic" };
uint8_t p = themeGetPreset();
leftSide = "Theme";
snprintf(rightSideVar, SCREEN_LINE_BUFFER_SIZE, "%s", presetNames[(p < NUM_THEME_PRESETS) ? p : 0]);

View file

@ -36,8 +36,8 @@ FreeTRX keeps OpenGD77's core (DMR/FM, hotspot, CPS compatibility) and adds:
- **Screen dimming** — optionally dim the backlight to 100 / 50 / 30 / 15 % after
inactivity (Auto backlight mode); new setting in Display Options.
- **Theme presets** — pick a colour theme on the radio: **Custom** (CPS-editable,
default), **BASIC 80s** (Commodore 64), or **Terminal** (green-on-black). CPS edits
only affect Custom.
default), **BASIC 80s** (Commodore 64), **Terminal** (green-on-black), or
**Vertexic** (amber/orange). CPS edits only affect Custom.
- **On-radio channel management** — create and delete channels directly from the
Channel quick menu, no PC/CPS required (see [Managing channels](#managing-channels-on-the-radio)).
- **Main-menu icons** next to each top-level entry.