ew8bakandClaude Opus 4.7 e813ada6b2 fix TX clicks в TUN: 1 ProcessTXBlock на тик вместо 2-3
Причина щелчков (особенно слышных в TUN с непрерывной несущей):
TX-поток ждал FTXMicSem с таймаутом PeriodMs (auto-reset event), а
PushTXMicSamples* сигналили семафор каждый push. PullSoundCardMic
зовётся из самого TX-потока → сем сигналится → следующий WaitFor
возвращается немедленно. Плюс bottom-check всегда фигачил silence-блок,
если Avail<BufSize (а это всегда так после inner loop).

В итоге на один реальный период радио (≈21мс @ 1024/48k):
  Wake1 (timeout): pull → voice block + silence block
  Wake2 (immediate, sem был set): pull N=0 → silence block
= 3 блока IQ × 4096 пар = 12288 пар вместо 4096. На 192k DUC это
≈585k sps вместо 192k → FIFO радио переполняется → щелчки.

Фикс:
- PushTXMicSamples* больше не сигналят семафор (TX-поток сам себя
  будил через них). Сем оставлен только для будилки на shutdown.
- TX-поток тикает строго по таймеру, ProcessedAny-флаг гарантирует
  silence-блок только когда в этом тике ни одного реального не было.

Per-tick теперь: ровно 1 блок IQ — точно соответствует темпу радио.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 10:25:16 +03:00
2026-03-26 22:50:55 +03:00
2026-03-09 18:48:24 +03:00
2026-04-22 22:09:42 +03:00
2026-03-09 18:48:24 +03:00
2026-04-25 14:50:52 +03:00
2026-05-02 13:39:46 +03:00
2026-05-02 13:39:46 +03:00
2026-03-09 18:48:24 +03:00
2026-03-09 18:48:24 +03:00
2026-04-30 10:24:10 +03:00
2026-03-05 16:19:26 +03:00
2026-03-05 16:19:26 +03:00
2026-03-05 16:19:26 +03:00
2026-03-05 16:19:26 +03:00
2026-04-22 22:09:42 +03:00
2026-04-22 22:09:42 +03:00
2026-03-08 22:34:18 +03:00
2026-03-05 16:19:26 +03:00
2026-03-05 16:19:26 +03:00
S
Description
No description provided
Readme GPL-2.0
12 MiB
Languages
Pascal 96.4%
Python 2.9%
Shell 0.6%