From bafef9c51c5ecf76aaeb8dd33d68497bb3178d07 Mon Sep 17 00:00:00 2001 From: Vladislav Ostapov Date: Mon, 20 Jan 2025 14:14:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D1=81=D0=BC=D0=BE=D1=82?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=81=D0=BA=D0=BE=D1=80=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9?= =?UTF-8?q?=D1=81=D0=B5=20=D0=B2=20SCPC=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front-generator/render-params.json | 7 +++-- .../template/common/monitoring-methods.js.j2 | 3 +- .../template/common/setup-methods.js.j2 | 8 ++++++ front-generator/template/common/widgets.j2 | 6 ++++ front-generator/template/main.html | 2 +- static/main-scpc.html | 28 ++++++++++++++++--- static/main-tdma.html | 5 ++-- 7 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 front-generator/template/common/setup-methods.js.j2 diff --git a/front-generator/render-params.json b/front-generator/render-params.json index 624fa47..d014bd5 100644 --- a/front-generator/render-params.json +++ b/front-generator/render-params.json @@ -182,11 +182,14 @@ }, {"widget": "modulation-modcod", "label": "Модуляция", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, {"widget": "modulation-speed", "label": "Скорость кода", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, - {"widget": "watch", "label": "Текущий модкод", "model": "statTx.modcod", "v_show": "paramRxtx.dvbIsAcm === true"}, + {"widget": "watch-expr", "label": "Расчетная скорость, kbit", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbCcmModulation, paramRxtx.dvbCcmSpeed)", "v_show": "paramRxtx.dvbIsAcm === false"}, + {"widget": "watch-expr", "label": "Текущий модкод", "expr": "statTx.modcod", "v_show": "paramRxtx.dvbIsAcm === true"}, {"widget": "modulation-modcod", "label": "Модуляция (мин. режим)", "name": "dvbAcmMin", "v_show": "paramRxtx.dvbIsAcm === true"}, {"widget": "modulation-speed", "label": "Скорость кода (мин. режим)", "name": "dvbAcmMin", "v_show": "paramRxtx.dvbIsAcm === true"}, + {"widget": "watch-expr", "label": "Расчетная скорость (мин. режим), kbit", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMinModulation, paramRxtx.dvbAcmMinSpeed)", "v_show": "paramRxtx.dvbIsAcm === true"}, {"widget": "modulation-modcod", "label": "Модуляция (макс. режим)", "name": "dvbAcmMax", "v_show": "paramRxtx.dvbIsAcm === true"}, {"widget": "modulation-speed", "label": "Скорость кода (макс. режим)", "name": "dvbAcmMax", "v_show": "paramRxtx.dvbIsAcm === true"}, + {"widget": "watch-expr", "label": "Расчетная скорость (макс. режим), kbit", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMaxModulation, paramRxtx.dvbAcmMaxSpeed)", "v_show": "paramRxtx.dvbIsAcm === true"}, {"widget": "number", "label": "Запас ОСШ, дБ", "name": "dvbSnrReserve", "min": 0, "step": 0.01, "max": 10} ] }, @@ -209,7 +212,7 @@ "values": [{"label": "РРУ", "value": "false"}, {"label": "АРУ", "value": "true"}] }, {"widget": "number", "label": "Усиление, дБ", "name": "rxManualGain", "min": -40, "step": 0.01, "max": 40, "v_show": "paramRxtx.rxAgcEn === false"}, - {"widget": "watch", "label": "Текущее усиление", "model": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, + {"widget": "watch-expr", "label": "Текущее усиление", "expr": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, {"widget": "number", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 0.01}, {"widget": "number", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 0, "step": 1}, diff --git a/front-generator/template/common/monitoring-methods.js.j2 b/front-generator/template/common/monitoring-methods.js.j2 index e4e4ac4..b33da4b 100644 --- a/front-generator/template/common/monitoring-methods.js.j2 +++ b/front-generator/template/common/monitoring-methods.js.j2 @@ -99,4 +99,5 @@ this.statRx.packetsBad = 0 this.statRx.packetsDummy = 0 }) - }, \ No newline at end of file + }, + diff --git a/front-generator/template/common/setup-methods.js.j2 b/front-generator/template/common/setup-methods.js.j2 new file mode 100644 index 0000000..22fb6c3 --- /dev/null +++ b/front-generator/template/common/setup-methods.js.j2 @@ -0,0 +1,8 @@ +{% if 'rxtx' in params and modem == 'scpc' %} + calcInterfaceSpeedKb(baud, modulation, speed) { + const mMod = Math.max(2, ['', '', 'qpsk', '8psk', '16apsk', '32apsk'].indexOf(modulation)) + const speedVals = {'1/4': 0.25, '1/3': 0.333, '2/5': 0.4, '1/2': 0.5, '3/5': 0.6, '2/3': 0.666, '3/4': 0.75, '4/5': 0.8, '5/6': 0.833, '8/9': 0.888, '9/10': 0.9} + const mSpeed = speed in speedVals ? speedVals[speed] : 1 + return ((baud * mMod * mSpeed) / 1024).toLocaleString() + }, +{% endif %} diff --git a/front-generator/template/common/widgets.j2 b/front-generator/template/common/widgets.j2 index c481d71..0ca655a 100644 --- a/front-generator/template/common/widgets.j2 +++ b/front-generator/template/common/widgets.j2 @@ -16,6 +16,11 @@ {% macro build_widget_watch(param_group, widget) %}{{ widget.label }}{% endmacro %} +{% macro build_widget_watch_expr(param_group, widget) %} + {{ widget.label }}{{ '{{ ' ~ widget.expr ~ ' }}' }} +{% endmacro %} + + {% macro build_widget_modulation_modcod(param_group, widget) %} {{ widget.label }}