обновление TDMA вебки: добавил лимит ослабления

This commit is contained in:
2025-09-09 13:56:16 +03:00
parent eb1e4609bb
commit 483c174cd5
4 changed files with 15 additions and 2 deletions

View File

@@ -22,7 +22,8 @@
"values": [{"label": "Нормальный", "value": "false"}, {"label": "Тест (CW)", "value": "true"}]
},
{"widget": "number-int", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 900000, "step": 0.01, "v_show": "paramRxtx.txModulatorIsTest"},
{"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -90, "step": 1}
{"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -90, "step": 1},
{"widget": "number", "label": "Ограничение ослабления", "name": "txAttenuationLimit", "max": 0, "min": -40, "step": 0.25}
]
},
{

View File

@@ -670,6 +670,10 @@ void api_driver::obj::TerminalRxTxSettings::updateMainSettings(const nlohmann::j
mod.txFieldsDataPreamble = data.value("txFieldsDataPreamble", mod.txFieldsDataPreamble);
#endif
#ifdef MODEM_IS_TDMA
mod.limitation_attenuation = data.value("txAttenuationLimit", mod.limitation_attenuation);
#endif
// демодулятор
dem.is_aru_on = data.value("rxAgcEn", dem.is_aru_on);
dem.gain = data.value("rxManualGain", dem.gain);
@@ -864,6 +868,10 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
rxtx["dvbCcmSpeed"] = extractModcodSpeed(mod.modcod_tx);
#endif
#ifdef MODEM_IS_TDMA
rxtx["txAttenuationLimit"] = mod.limitation_attenuation;
#endif
// демодулятор
rxtx["rxAgcEn"] = dem.is_aru_on;
rxtx["rxManualGain"] = dem.gain;

View File

@@ -132,6 +132,7 @@
<input type="text" v-model.lazy="paramRxtx.txCentralFreq" @change="e => paramRxtx.txCentralFreq = inputFormatNumber(inputFormatNumber(e.target.value, {min:900000,step:0.01}), {min:900000,step:0.01})"/>
</label>
<label><span>Ослабление, дБ</span><input type="number" v-model="paramRxtx.txAttenuation" min="-90" step="1"/></label>
<label><span>Ограничение ослабления</span><input type="number" v-model="paramRxtx.txAttenuationLimit" min="-40" step="0.25"/></label>
</div>
<div class="settings-set-container">
<h3>Настройки приемника</h3>
@@ -351,6 +352,7 @@
txModulatorIsTest: false,
txCentralFreq: 0,
txAttenuation: -90,
txAttenuationLimit: -40,
rxAgcEn: true,
rxManualGain: -40,
rxSpectrumInversion: false,
@@ -499,6 +501,7 @@
"txModulatorIsTest": this.paramRxtx.txModulatorIsTest,
"txCentralFreq": parseFloat(this.paramRxtx.txCentralFreq.replace(/[^0-9,.]/g, '').replace(',', '.')),
"txAttenuation": this.paramRxtx.txAttenuation,
"txAttenuationLimit": this.paramRxtx.txAttenuationLimit,
"rxAgcEn": this.paramRxtx.rxAgcEn,
"rxManualGain": this.paramRxtx.rxManualGain,
"rxSpectrumInversion": this.paramRxtx.rxSpectrumInversion,
@@ -573,6 +576,7 @@
this.paramRxtx.txModulatorIsTest = vals["settings"]["rxtx"]["txModulatorIsTest"]
this.paramRxtx.txCentralFreq = this.inputFormatNumber(vals["settings"]["rxtx"]["txCentralFreq"], {min:900000,step:0.01})
this.paramRxtx.txAttenuation = vals["settings"]["rxtx"]["txAttenuation"]
this.paramRxtx.txAttenuationLimit = vals["settings"]["rxtx"]["txAttenuationLimit"]
this.paramRxtx.rxAgcEn = vals["settings"]["rxtx"]["rxAgcEn"]
this.paramRxtx.rxManualGain = vals["settings"]["rxtx"]["rxManualGain"]
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxtx"]["rxSpectrumInversion"]