Remove XVTR RF checkbox; fix XVTR Enable bit to match Thetis

XVTR RF (xvtr_rf in Thetis) is dead code — GetXVTRRF() is never called.
Remove the field, UI column, save/load from TXvtrEntry. UseDDCIn is now
always True when in XVTR mode (previous default behaviour, XVTRRF=False).

Byte 1400 bit 0 (XVTR Enable / VHF T/R relay output) now follows Thetis:
  - XVTR mode: set only when DisablePA=True (external T/R relay needed)
  - HF mode:   set when Alex.EnableXvtrHf is checked (Antenna tab)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 22:05:08 +03:00
co-authored by Claude Sonnet 4.6
parent b00c0d02a0
commit 1368f249c4
4 changed files with 18 additions and 26 deletions
+15 -8
View File
@@ -145,9 +145,8 @@ type
FAlexConfig: TAlexSettings; // per-band antenna + routing config
FStepAtten: Byte; // ADC0 step attenuator 0-31 dB
// ---- XVTR (Transverter) state ----
// FXvtrEnable — устанавливает bit 0 байта 1400 HP-пакета: включает выход
// XVTR на трансивере (управляющий пин/реле). Обычно True, пока активный
// диапазон — трансвертер.
// FXvtrEnable — True когда активен XVTR-диапазон. Используется как
// XvtrActive в CalcAlex0 и для управления byte 1400 bit 0.
FXvtrEnable: Boolean;
// FXvtrRxAntOverride — если 1..3, использовать эту антенну вместо
// Alex.RxAnt[band] (per-XVTR RX antenna). 0 = не переопределять.
@@ -1417,12 +1416,20 @@ begin
Buf[1435] := Alex0 and $FF;
end;
// XVTR enable bit (byte 1400 bit 0)
// openHPSDR Ethernet Protocol v4.3: byte 1400 — Transverter/audio enable.
// bit 0 = XVTR enable, bit 1 = Audio Codec enable (на платах с поддержкой).
// Audio codec бит оставляем 0 — мы IQ-mic не используем.
// XVTR enable bit (byte 1400 bit 0) — управляет выходом VHF T/R relay платы.
// Логика как в Thetis:
// в XVTR-режиме: бит = DisablePA (внешний T/R relay нужен только если PA подавлен)
// в HF-режиме: бит = Alex.EnableXvtrHf (галочка "Enable XVTR HF" в Antenna tab)
if FXvtrEnable then
Buf[1400] := Buf[1400] or $01;
begin
if FXvtrDisablePA then
Buf[1400] := Buf[1400] or $01;
end
else
begin
if FAlexConfig.EnableXvtrHf then
Buf[1400] := Buf[1400] or $01;
end;
// Step attenuators ADC0/ADC1 (bytes 1443/1442)
// 0 dB = 0, max 31 dB