mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
fix(xvtr): TUN идёт от глобального уровня, мощность слота — множитель
При включённой опции TUN в трансвертере брал мощность слота ВМЕСТО глобального TUN Level, из-за чего ручка «Tune level» на вкладке Transmit в трансвертере была мёртвой, а настройка уходила в эфир на мощности слота (у 70cm и QO-100 — все 100 %). Теперь уровень всегда от TUN Level, а слотовая TX Power работает множителем: Pos = TUNLevel * слот/100 — та же формула, по которой в трансвертере уже масштабировался обычный drive. Смысл поля становится единым: «сколько мощности трансивера разрешено этому трансвертеру», и к настройке это относится так же, как к передаче. Галка сохранена (кому нужен неотмасштабированный TUN), но переименована в «Scale TUN by XVTR power» — прежнее название описывало снятое поведение. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+8
-3
@@ -3385,10 +3385,15 @@ begin
|
||||
|
||||
if FTuning then
|
||||
begin
|
||||
// Уровень настройки всегда идёт от глобального TUN Level — иначе ручка в
|
||||
// Transmit в трансвертере оказывалась мёртвой. Мощность слота (если
|
||||
// включена галка) работает МНОЖИТЕЛЕМ, ровно как для обычного drive ниже:
|
||||
// это «сколько мощности трансиверa разрешено этому трансвертеру», и к
|
||||
// настройке оно относится так же, как к передаче.
|
||||
Pos := EnsureRange(FTXSettings.TUNLevel, 0, 100);
|
||||
if XvtrActive and FXvtrSettings.UseXVTRTunePower then
|
||||
Pos := EnsureRange(FXvtrSettings.Entries[FCurrentXvtr].TXPower, 0, 100)
|
||||
else
|
||||
Pos := EnsureRange(FTXSettings.TUNLevel, 0, 100);
|
||||
Pos := Round(Pos * EnsureRange(FXvtrSettings.Entries[FCurrentXvtr].TXPower,
|
||||
0, 100) / 100.0);
|
||||
end
|
||||
else
|
||||
begin
|
||||
|
||||
+2
-2
@@ -4896,8 +4896,8 @@ begin
|
||||
MARGIN, GrpY, GRP_W, GRP_TITLE_H + 36);
|
||||
FChkXvtrTunPwr := TFlatCheckBox.Create(Self);
|
||||
FChkXvtrTunPwr.Parent := GrpOpts;
|
||||
FChkXvtrTunPwr.Caption := 'Use XVTR power for TUN '
|
||||
+ '(TUN button uses the per-slot TX Power instead of the global TUN Level)';
|
||||
FChkXvtrTunPwr.Caption := 'Scale TUN by XVTR power '
|
||||
+ '(TUN level from Transmit is multiplied by the per-slot TX Power)';
|
||||
FChkXvtrTunPwr.SetBounds(DpiScale(14), DpiScale(GRP_TITLE_H + 8), DpiScale(GRP_W - 28), DpiScale(20));
|
||||
FChkXvtrTunPwr.Font.Color := CLR_TEXT;
|
||||
FChkXvtrTunPwr.Font.Name := UI_FONT;
|
||||
|
||||
Reference in New Issue
Block a user