Commit graph

9 commits

Author SHA1 Message Date
Marcus Kida
c770693848 Fix: remove muted 'M' header icon that overlapped GPS text
With GPS enabled, the bold 'M' mute indicator in the status bar collided
with the GPS text. Drop the header icon; the flashing red LED already
indicates the muted state. Docs updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:27:43 +02:00
Marcus Kida
734b861917 7-segment frequency: inactive segments off, fix MHz colour, +1px RX/TX gap
- Inactive segments now render in the background colour (off) instead of dimmed.
- The 7-seg renderer left the foreground on the last segment drawn (now the
  background colour), which hid MHz; re-apply the frequency theme colour before
  drawing MHz so it reappears and matches the digits.
- Move the TX frequency line down 1px for a little more RX/TX separation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 15:30:23 +02:00
Marcus Kida
e9cf936661 Mute: remove the mode-text strike-through, keep the header "M"
Drop the built-in strike-through over the FM/DMR mode text when muted; the
header "M" (and red LED flash) are the mute indicators now.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 16:04:56 +02:00
Marcus Kida
9d50d78dc0 Mute: also show mute indicators when volume knob is fully down
Treat the volume control at its minimum (lastVolume == -99, the firmware's
'muted' position) as effectively muted, so the red LED flash, the header M
and the built-in strike-through appear without an explicit SK2 mute.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 15:54:25 +02:00
Marcus Kida
0caeeadd51 Layout: move private-call caller ID below the S-meter labels
The private-call caller ID was drawn at a hardcoded y=16, which now collides
with the S-meter label row. Use DISPLAY_Y_POS_CONTACT (same as the group-call
contact line) so it clears the labels.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 15:46:57 +02:00
Marcus Kida
f67bb2fade Mute: toggle audio mute with SK2 short-tap, with LED + header indicator
Add a one-tap audio mute on the VFO and Channel screens:

- SK2 short-tap toggles mute via the built-in audioAmpMute()/audioAmpIsMuted().
  The tap is only consumed by the existing "set TX TG to incoming" behaviour
  while a DMR QSO is on screen, so mute works everywhere else.
- Header: a bold "M" is shown just left of the battery while muted (the
  firmware's built-in strike-through over the mode text also still shows).
- LED: flashes red for 0.5s every 2s while muted (main loop), overriding the
  normal RX/TX LED.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 15:41:29 +02:00
Marcus Kida
70089d370f Frequency display: 7-segment "LED" font with dimmed inactive segments
Render the VFO/Channel frequency (and the SK1-held frequency view, which share
uiUtilityDisplayFrequency) as 7-segment "LED" digits instead of the normal font,
on colour displays.

- HX8353E_display.c: displayDrawFrequencySevenSeg() draws each digit's 7 segments
  as filled rectangles; lit segments use the theme frequency colour, inactive
  segments a dimmed (~3/8 intensity, same hue) version, giving the classic LED
  look with faintly-visible "off" segments. The decimal point takes half a cell.
- Digits are 12 px wide (wider than the 8 px font) to fill the space toward the
  "MHz" label; height follows the existing single/double-height frequency layout.
- Monochrome displays keep the normal font.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 13:34:35 +02:00
Marcus Kida
009d3f7bdf S-meter: segmented block bar with S-level labels (colour displays)
Rework the header RSSI bar (uiUtilityDrawRSSIBarGraph) from a solid two-stage
bar into discrete blocks, one per S-level, on colour displays:

- 9 green blocks for S1..S9 (4 dB per S-unit) plus 6 red blocks for the S9+
  region (10 dB per block, S9+10..S9+60), drawn with 2 px gaps so the header
  background shows between them.
- Proportional fill: full blocks below the level, leading block partially filled
  to reflect the exact signal.
- Bar height raised 4 -> 6 px; the FM/DMR mic-level bars follow the same height
  so nothing is left behind when switching RX <-> TX.
- Scale labels below the blocks: S1/S3/S5/S7/S9 under the green zone and
  +20/+40/+60 under the red, centred under their blocks (font_6x8). The label
  row is blanked while transmitting.

Monochrome displays keep the original solid bar. Existing analog S9+ RSSI
compression is preserved, so calibration is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 11:58:46 +02:00
Marcus Kida
01467e5913 Initial Commit 2026-07-06 08:45:33 +02:00