Files
mayhem-firmware/firmware/baseband
Mo b8ad44c431 Opt-in channel-power squelch for AM audio RX (#3315)
* AM: add opt-in channel-power squelch for AM audio RX

Add an SDR++-style power squelch on the complex channel signal for the
Analog Audio RX app in AM modes (DSB/SSB/CW). The squelch measures the
mean channel power, converts it to dBFS, and mutes the demodulated audio
when the signal is below a user-set threshold. Being carrier-based it
keys on the AM carrier (e.g. airband/ATC) rather than on audio-band
noise, which the existing FM squelch could not do for AM.

A new 'SQ' field (0-99, 0 = off) is added to the AM options view and is
persisted per app via app_settings. Default is 0, so existing AM
behaviour is unchanged unless the user enables it. Threshold maps 1..99
to -80..-20 dBFS.

Touches: message (AMConfigureMessage.squelch_level), baseband_api
(AMConfig::apply), receiver_model (am_squelch_level get/set),
app_settings (persistence), proc_am_audio (DSP), analog_audio_app (UI).

* Refactor audio power calculation to use magnitude squared

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-09-14 20:54:54 +02:00
..
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 15:30:05 -05:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2025-05-11 20:24:52 +02:00
2025-05-11 20:24:52 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-05-12 12:45:02 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-08-21 19:56:54 +02:00
2025-12-14 11:26:21 +01:00
2023-05-19 08:16:05 +12:00
2023-06-07 11:25:35 +02:00
2024-07-08 11:11:12 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-24 11:23:41 +01:00
2025-08-11 07:42:58 +02:00
2026-07-09 10:36:26 +02:00
2026-07-09 10:36:26 +02:00
2026-06-11 11:01:54 +02:00
2026-06-11 11:01:54 +02:00
2025-08-27 06:37:57 +00:00
2023-05-19 08:16:05 +12:00
2023-08-02 21:59:26 +02:00
2023-08-02 21:59:26 +02:00
2025-08-27 06:37:57 +00:00
2025-05-19 19:16:28 +02:00
2026-02-24 11:23:41 +01:00
2026-01-30 17:18:13 +01:00
2026-01-30 17:18:13 +01:00
2025-05-11 20:24:52 +02:00
2025-12-21 11:21:55 +01:00
2025-12-21 11:21:55 +01:00
2023-05-19 08:16:05 +12:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-06 17:20:14 +01:00
2026-02-06 17:20:14 +01:00
2024-10-17 10:22:01 +02:00
2025-12-21 11:21:55 +01:00
2026-07-09 09:10:08 +02:00
2026-07-09 09:10:08 +02:00
2024-10-17 10:22:01 +02:00
2024-10-17 10:22:01 +02:00
2025-03-18 18:31:40 -05:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2026-04-07 19:42:21 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 10:53:55 +01:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00