diff --git a/dependencies/control_system_client_tdma b/dependencies/control_system_client_tdma index 78694fd..4eefdaf 160000 --- a/dependencies/control_system_client_tdma +++ b/dependencies/control_system_client_tdma @@ -1 +1 @@ -Subproject commit 78694fd775841c6db96323d1d35c20f607f94daf +Subproject commit 4eefdaf82edd0ddca2e3a1f5843a7cb1a66eb5a0 diff --git a/front-generator/render-params.json b/front-generator/render-params.json index f72f7b8..40ce5a8 100644 --- a/front-generator/render-params.json +++ b/front-generator/render-params.json @@ -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} ] }, { diff --git a/src/api-driver/structs.cpp b/src/api-driver/structs.cpp index 87ef0d9..bb0a92c 100644 --- a/src/api-driver/structs.cpp +++ b/src/api-driver/structs.cpp @@ -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; diff --git a/static/main-tdma.html b/static/main-tdma.html index 93db9c1..2a0a826 100644 --- a/static/main-tdma.html +++ b/static/main-tdma.html @@ -132,6 +132,7 @@ +

Настройки приемника

@@ -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"]