diff --git a/HPSDRNetwork.pas b/HPSDRNetwork.pas index 418f3e7..fa1731b 100644 --- a/HPSDRNetwork.pas +++ b/HPSDRNetwork.pas @@ -1134,7 +1134,8 @@ function CalcAlex0(RXFreqHz, TXFreqHz: Double; const Alex: TAlexSettings; XvtrRxAnt: Byte = 0; XvtrUseRxDDCIn: Boolean = False; - XvtrDisablePA: Boolean = False): LongWord; + XvtrDisablePA: Boolean = False; + XvtrActive: Boolean = False): LongWord; var txf: Double; BandIdx: Integer; @@ -1237,8 +1238,11 @@ begin or $00000800; // bit 11: Bypass relay 2: Result := Result or $00000400 // bit 10: Ext2 or $00000800; // bit 11: Bypass relay - 3: Result := Result or $00000100 // bit 8: XVTR DDC In - or $00000800; // bit 11: Bypass relay + // XVTR DDC In только когда трансвертер активен — иначе порт молчит + // (аналог Thetis Alex.cs: "do not use XVTR ant port if not using transverter") + 3: if XvtrActive then + Result := Result or $00000100 // bit 8: XVTR DDC In + or $00000800; // bit 11: Bypass relay end; end; end; @@ -1405,7 +1409,8 @@ begin begin Alex0 := CalcAlex0(FCurrentRXFreq, FCurrentTXFreq, FIsTransmitting, IsOrion2, FAlexConfig, - FXvtrRxAntOverride, FXvtrUseRxDDCIn, FXvtrDisablePA); + FXvtrRxAntOverride, FXvtrUseRxDDCIn, FXvtrDisablePA, + FXvtrEnable); Buf[1432] := (Alex0 shr 24) and $FF; Buf[1433] := (Alex0 shr 16) and $FF; Buf[1434] := (Alex0 shr 8) and $FF;