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) %}{% endmacro %}
+{% macro build_widget_watch_expr(param_group, widget) %}{% endmacro %}
+
+
{% macro build_widget_modulation_modcod(param_group, widget) %}