mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feature(tx): слайс в FM RAW можно назначать источником передачи
TX-бейдж на флаге слайса был заблокирован и для DMR, и для FM RAW, хотя тракт FM RAW передавать умеет: SetTxSlice отбрасывает только DMR, а SetTXMode уводит FM RAW в WFM с плоской девиацией. RX-only остаётся один DMR (нет AMBE-кодера). - VfoOverlay.TxSelectionAllowed: запрет сузился до DMR. - RadioController.SetSliceMode: если режим меняют у слайса, который сейчас источник TX, передающий тракт перестраивается под новый режим. Без этого выбор FM RAW на уже выбранном TX-слайсе оставлял в эфире прежнюю модуляцию до следующего клика по бейджу. На переходах в/из FM RAW заодно пересматривается источник модуляции (внешний PCM) со сбросом кольца входа — как в главном SetMode. Заодно снята временная диагностика [MIC] (MicDbg и её вызовы) из mic-пула: зависание при выборе на слайсе входа из настроек больше не воспроизводится. Проверено на железе: TX со слайса в FM RAW работает. Подробное тестирование — следующим шагом. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+4
-2
@@ -463,8 +463,10 @@ end;
|
||||
|
||||
function TVfoOverlay.TxSelectionAllowed: Boolean;
|
||||
begin
|
||||
// Main A remains the normal TX source. Additional DMR slices are RX-only.
|
||||
Result := FIsMain or not (FMode in [OVL_MODE_DMR, OVL_MODE_FMRAW]);
|
||||
// Main A remains the normal TX source. DMR slices stay RX-only (no AMBE
|
||||
// encoder). FM RAW transmits external PCM from its own input, so it is a
|
||||
// valid TX source.
|
||||
Result := FIsMain or (FMode <> OVL_MODE_DMR);
|
||||
end;
|
||||
|
||||
{ ---- Lifecycle ---- }
|
||||
|
||||
Reference in New Issue
Block a user