diff --git a/front-generator/config/scpc.json b/front-generator/config/scpc.json new file mode 100644 index 0000000..fa22e11 --- /dev/null +++ b/front-generator/config/scpc.json @@ -0,0 +1,208 @@ +{ + "modem_name": "RSCM-201", + "modem_type": "scpc", + "dangerousParamGroups": { + "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", + "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" + }, + "params": { + "rxtx": [ + {"widget": "h2", "label": "Настройки приема/передачи"}, + { + "widget": "settings-container", + "childs": [ + { + "widget": "select", "label": "Режим работы", "name": "isCinC", + "values": [{"label": "SCPC", "value": "false"}, {"label": "CinC", "value": "true"}] + } + ] + }, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки передатчика"}, + {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, + {"widget": "checkbox", "label": "Автоматический запуск передатчика", "name": "txAutoStart"}, + { + "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", + "values": [{"label": "Нормальный", "value": "false"}, {"label": "Тест (CW)", "value": "true"}] + }, + { + "widget": "select", "label": "Входные данные", "name": "txIsTestInput", + "values": [{"label": "Ethernet", "value": "false"}, {"label": "Тест", "value": "true"}] + }, + {"widget": "h3", "label": "Параметры передачи"}, + {"widget": "number-int", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 100000, "max": 6000000, "step": 0.01}, + {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 200000, "max": 56000000}, + { + "widget": "select", "label": "Roll-off", "name": "txRolloff", + "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] + }, + { + "widget": "select", "label": "Номер последовательности Голда", "name": "txGoldan", + "values": [{"label": "0", "value": "0"}, {"label": "1", "value": "1"}] + }, + {"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -40, "step": 0.25} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Режим работы DVB-S2"}, + {"widget": "number", "label": "Период служебных пакетов, сек", "name": "dvbServicePacketPeriod", "min": 0, "step": 1, "max": 60}, + { + "widget": "select", "label": "Режим модуляции", "name": "dvbIsAcm", + "values": [{"label": "CCM", "value": "false"}, {"label": "ACM", "value": "true"}] + }, + { + "widget": "select", "label": "Размер кадра", "name": "txFrameSizeNormal", + "values": [{"label": "normal", "value": "true"}, {"label": "short", "value": "false"}] + }, + {"widget": "checkbox", "label": "Пилот-символы", "name": "txIsPilots"}, + {"widget": "modulation-modcod", "label": "Модуляция", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, + {"widget": "modulation-speed", "label": "Скорость кода", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, + {"widget": "watch-expr", "label": "Расчетная скорость", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbCcmModulation, paramRxtx.dvbCcmSpeed, paramRxtx.txFrameSizeNormal)", "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": "Расчетная скорость (мин. режим)", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMinModulation, paramRxtx.dvbAcmMinSpeed, paramRxtx.txFrameSizeNormal)", "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": "Расчетная скорость (макс. режим)", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMaxModulation, paramRxtx.dvbAcmMaxSpeed, paramRxtx.txFrameSizeNormal)", "v_show": "paramRxtx.dvbIsAcm === true"}, + {"widget": "number", "label": "Запас ОСШ, дБ", "name": "dvbSnrReserve", "min": 0, "step": 0.01, "max": 10} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Авто-регулировка мощности"}, + {"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "aupcEn"}, + {"widget": "number", "label": "Минимальное ослабление, дБ", "name": "aupcMinAttenuation", "min": 0, "step": 0.1, "max": 10}, + {"widget": "number", "label": "Максимальное ослабление, дБ", "name": "aupcMaxAttenuation", "min": 0, "step": 0.1, "max": 10}, + {"widget": "number", "label": "Требуемое ОСШ", "name": "aupcRequiredSnr", "min": 0, "step": 0.01, "max": 30} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки приемника"}, + { + "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", + "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-expr", "label": "Текущее усиление", "expr": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, + {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, + {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 100000, "max": 6000000, "step": 0.01}, + {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 200000, "max": 56000000}, + { + "widget": "select", "label": "Roll-off", "name": "rxRolloff", + "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] + }, + { + "widget": "select", "label": "Номер последовательности Голда", "name": "rxGoldan", + "values": [{"label": "0", "value": "0"}, {"label": "1", "value": "1"}] + } + ] + } + ] + } + ], + "dpdi": [ + {"widget": "h2", "label": "Настройки режима CinC", "v_show": "paramRxtx.isCinC"}, + { + "widget": "settings-container", "v_show": "paramRxtx.isCinC", + "childs": [ + { + "widget": "select", "label": "Метод расчета задержки", "name": "isPositional", + "values": [ + {"label": "Позиционированием", "value": "true"}, + {"label": "Окном задержки", "value": "false"} + ] + }, + {"widget": "number", "label": "Полоса поиска, КГц ±", "name": "searchBandwidth", "min": 0, "step": 1, "max": 100}, + {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"}, + {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "number", "label": "Долгота станции", "name": "positionStationLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "number", "label": "Подспутниковая точка", "name": "positionSatelliteLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "h2", "label": "Задержка до спутника", "v_show": "paramDpdi.isPositional === false"}, + {"widget": "number", "label": "от, мс", "name": "delayMin", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}, + {"widget": "number", "label": "до, мс", "name": "delayMax", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}] + }, + {"widget": "submit", "v_show": "paramRxtx.isCinC"} + ], + "buclnb": [ + {"widget": "h2", "label": "Настройки питания и опорного генератора"}, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки BUC"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, + { + "widget": "select", "label": "Питание BUC", "name": "bucPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "24В", "value": "24"}, + {"label": "48В", "value": "48"} + ] + } + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки LNB"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, + { + "widget": "select", "label": "Питание LNB", "name": "lnbPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "13В", "value": "13"}, + {"label": "18В", "value": "18"}, + {"label": "24В", "value": "24"} + ] + } + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Сервисные настройки"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, + {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} + ] + } + ] + } + ], + "network": [ + {"widget": "h2", "label": "Настройки сети"}, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки интерфейса управления"}, + {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, + { + "widget": "select", "label": "Режим сети", "name": "isL2", + "values": [{"label": "Маршрутизатор", "value": "false"}, {"label": "Коммутатор", "value": "true"}] + }, + {"widget": "ip-address", "label": "Интерфейс данных (/24)", "name": "dataIp", "v_show": "paramNetwork.isL2 === false"}, + {"widget": "number", "label": "MTU интерфейса данных", "name": "dataMtu", "min": 1500, "step": 1, "max": 2000}, + {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} + ] + } + ] + }, + "tabs": [ + {"name": "monitoring", "desc": "Мониторинг"}, + {"name": "setup", "desc": "Настройки"}, + {"name": "qos", "desc": "QoS"}, + {"name": "admin", "desc": "Администрирование"} + ] +} \ No newline at end of file diff --git a/front-generator/config/shps.json b/front-generator/config/shps.json new file mode 100644 index 0000000..3cb691a --- /dev/null +++ b/front-generator/config/shps.json @@ -0,0 +1,145 @@ +{ + "modem_name": "ШПС Модем", + "modem_type": "shps", + "dangerousParamGroups": { + "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", + "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" + }, + "params": { + "rxtx": [ + {"widget": "h2", "label": "Настройки приема/передачи"}, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки передатчика"}, + {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, + {"widget": "checkbox", "label": "Автоматический запуск передатчика", "name": "txAutoStart"}, + { + "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", + "values": [{"label": "Нормальный", "value": "false"}, {"label": "Тест (CW)", "value": "true"}] + }, + {"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -80, "step": 0.25}, + { + "widget": "select", "label": "Входные данные", "name": "txIsTestInput", + "values": [{"label": "Ethernet", "value": "false"}, {"label": "Тест", "value": "true"}] + }, + {"widget": "h3", "label": "Параметры передачи"}, + {"widget": "number-int", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 70000, "max": 6000000, "step": 0.01}, + {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 128000, "max": 30000000}, + { + "widget": "select", "label": "Roll-off", "name": "txRolloff", + "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}, {"label": "0.30", "value": "300"}, {"label": "0.35", "value": "350"}] + }, + {"widget": "number", "label": "Коэф. расширения", "name": "txSpreadCoef", "max": 1024, "min": 8, "step": 2}, + {"widget": "number", "label": "Кол-во пакетов на преамбулу", "name": "txFieldsDataPreamble", "max": 255, "min": 1, "step": 1} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Авто-регулировка мощности"}, + {"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "aupcEn"}, + {"widget": "number", "label": "Минимальное ослабление, дБ", "name": "aupcMinAttenuation", "min": 0, "step": 0.1, "max": 10}, + {"widget": "number", "label": "Максимальное ослабление, дБ", "name": "aupcMaxAttenuation", "min": 0, "step": 0.1, "max": 10}, + {"widget": "number", "label": "Требуемое ОСШ", "name": "aupcRequiredSnr", "min": 0, "step": 0.01, "max": 30} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки приемника"}, + { + "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", + "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-expr", "label": "Текущее усиление", "expr": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, + {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, + {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 70000, "max": 6000000, "step": 0.01}, + {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 128000, "max": 30000000}, + { + "widget": "select", "label": "Roll-off", "name": "rxRolloff", + "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}, {"label": "0.30", "value": "300"}, {"label": "0.35", "value": "350"}] + }, + {"widget": "number", "label": "Коэф. расширения", "name": "rxSpreadCoef", "max": 1024, "min": 8, "step": 2}, + {"widget": "number", "label": "Порог коррелятора", "name": "rxFftShift", "max": 10, "min": 1, "step": 0.125}, + {"widget": "number", "label": "Кол-во пакетов на преамбулу", "name": "rxFieldsDataPreamble", "max": 255, "min": 1, "step": 1} + ] + } + ] + } + ], + "buclnb": [ + {"widget": "h2", "label": "Настройки питания и опорного генератора"}, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки BUC"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, + { + "widget": "select", "label": "Питание BUC", "name": "bucPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "24В", "value": "24"}, + {"label": "48В", "value": "48"} + ] + } + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки LNB"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, + { + "widget": "select", "label": "Питание LNB", "name": "lnbPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "13В", "value": "13"}, + {"label": "18В", "value": "18"}, + {"label": "24В", "value": "24"} + ] + } + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Сервисные настройки"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, + {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} + ] + } + ] + } + ], + "network": [ + {"widget": "h2", "label": "Настройки сети"}, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки интерфейса управления"}, + {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, + { + "widget": "select", "label": "Режим сети", "name": "isL2", + "values": [{"label": "Маршрутизатор", "value": "false"}, {"label": "Коммутатор", "value": "true"}] + }, + {"widget": "ip-address", "label": "Интерфейс данных (/24)", "name": "dataIp", "v_show": "paramNetwork.isL2 === false"}, + {"widget": "number", "label": "MTU интерфейса данных", "name": "dataMtu", "min": 1500, "step": 1, "max": 2000}, + {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} + ] + } + ] + }, + "tabs": [ + {"name": "monitoring", "desc": "Мониторинг"}, + {"name": "setup", "desc": "Настройки"}, + {"name": "admin", "desc": "Администрирование"} + ] +} diff --git a/front-generator/config/tdma.json b/front-generator/config/tdma.json new file mode 100644 index 0000000..a610219 --- /dev/null +++ b/front-generator/config/tdma.json @@ -0,0 +1,139 @@ +{ + "modem_name": "VSAT Модем", + "modem_type": "tdma", + "dangerousParamGroups": { + "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", + "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" + }, + "params": { + "rxtx": [ + {"widget": "h2", "label": "Настройки приема/передачи"}, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки передатчика"}, + {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, + { + "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", + "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": "txAttenuationAck", "max": 0, "min": -90, "step": 1}, + {"widget": "number", "label": "Ограничение ослабления", "name": "txAttenuationLimit", "max": 0, "min": -40, "step": 0.25} + ] + }, + { + "widget": "settings-container", + "childs": [ + { "widget": "h3", "label": "Настройки приемника" }, + { + "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", + "values": [ + {"label": "АРУ", "value": "true"}, + {"label": "РРУ", "value": "false"} + ] + }, + {"widget": "number", "label": "Ручное усиление, дБ", "name": "rxManualGain", "v_show": "!paramRxtx.rxAgcEn", "min": -40}, + {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, + {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 0.01}, + {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 200000, "max": 54000000, "step": 1}, + { + "widget": "select", "label": "Roll-off", "name": "rxRolloff", + "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] + } + ] + } + ] + } + ], + "buclnb": [ + {"widget": "h2", "label": "Настройки питания и опорного генератора"}, + { + "widget": "flex-container", + "childs": [ + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки BUC"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, + { + "widget": "select", "label": "Питание BUC", "name": "bucPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "24В", "value": "24"} + ] + }, + {"widget": "number-int", "label": "Частота LO, кГц", "name": "bucLoKhz", "min": 0, "max": 40000000, "step": 1} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки LNB"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, + { + "widget": "select", "label": "Питание LNB", "name": "lnbPowering", + "values": [ + {"label": "Выкл", "value": "0"}, + {"label": "13В", "value": "13"}, + {"label": "18В", "value": "18"}, + {"label": "24В", "value": "24"} + ] + }, + {"widget": "number-int", "label": "Частота LO, кГц", "name": "lnbLoKhz", "min": 0, "max": 40000000, "step": 1} + ] + }, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Сервисные настройки"}, + {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, + {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} + ] + } + ] + } + ], + "dpdi": [ + {"widget": "h2", "label": "Настройки DPDI"}, + { + "widget": "settings-container", + "childs": [ + { + "widget": "select", "label": "Метод расчета задержки", "name": "isPositional", + "values": [ + {"label": "Позиционированием", "value": "true"}, + {"label": "Окном задержки", "value": "false"} + ] + }, + {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"}, + {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "number", "label": "Долгота станции", "name": "positionStationLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "number", "label": "Подспутниковая точка", "name": "positionSatelliteLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, + {"widget": "number", "label": "Задержка до спутника, мс", "name": "delay", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}] + }, + {"widget": "submit"} + ], + "network": [ + {"widget": "h2", "label": "Настройки сети"}, + { + "widget": "settings-container", + "childs": [ + {"widget": "h3", "label": "Настройки интерфейса управления"}, + {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, + {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} + ] + } + ] + }, + "tabs": [ + {"name": "monitoring", "desc": "Мониторинг"}, + {"name": "setup", "desc": "Настройки"}, + {"name": "admin", "desc": "Администрирование"}, + {"name": "logs", "desc": "Журнал"} + ] +} \ No newline at end of file diff --git a/front-generator/render-params.json b/front-generator/render-params.json deleted file mode 100644 index 6659bbd..0000000 --- a/front-generator/render-params.json +++ /dev/null @@ -1,493 +0,0 @@ -{ - "modem_types": { - "tdma": { - "modem_name": "VSAT Модем", - "dangerousParamGroups": { - "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", - "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" - }, - "params": { - "rxtx": [ - {"widget": "h2", "label": "Настройки приема/передачи"}, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки передатчика"}, - {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, - { - "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", - "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": "txAttenuationAck", "max": 0, "min": -90, "step": 1}, - {"widget": "number", "label": "Ограничение ослабления", "name": "txAttenuationLimit", "max": 0, "min": -40, "step": 0.25} - ] - }, - { - "widget": "settings-container", - "childs": [ - { "widget": "h3", "label": "Настройки приемника" }, - { - "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", - "values": [ - {"label": "АРУ", "value": "true"}, - {"label": "РРУ", "value": "false"} - ] - }, - {"widget": "number", "label": "Ручное усиление, дБ", "name": "rxManualGain", "v_show": "!paramRxtx.rxAgcEn", "min": -40}, - {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, - {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 0.01}, - {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 200000, "max": 54000000, "step": 1}, - { - "widget": "select", "label": "Roll-off", "name": "rxRolloff", - "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] - } - ] - } - ] - } - ], - "buclnb": [ - {"widget": "h2", "label": "Настройки питания и опорного генератора"}, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки BUC"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, - { - "widget": "select", "label": "Питание BUC", "name": "bucPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "24В", "value": "24"} - ] - }, - {"widget": "number-int", "label": "Частота LO, кГц", "name": "bucLoKhz", "min": 0, "max": 40000000, "step": 1} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки LNB"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, - { - "widget": "select", "label": "Питание LNB", "name": "lnbPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "13В", "value": "13"}, - {"label": "18В", "value": "18"}, - {"label": "24В", "value": "24"} - ] - }, - {"widget": "number-int", "label": "Частота LO, кГц", "name": "lnbLoKhz", "min": 0, "max": 40000000, "step": 1} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Сервисные настройки"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, - {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} - ] - } - ] - } - ], - "dpdi": [ - {"widget": "h2", "label": "Настройки DPDI"}, - { - "widget": "settings-container", - "childs": [ - { - "widget": "select", "label": "Метод расчета задержки", "name": "isPositional", - "values": [ - {"label": "Позиционированием", "value": "true"}, - {"label": "Окном задержки", "value": "false"} - ] - }, - {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"}, - {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "number", "label": "Долгота станции", "name": "positionStationLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "number", "label": "Подспутниковая точка", "name": "positionSatelliteLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "number", "label": "Задержка до спутника, мс", "name": "delay", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}] - }, - {"widget": "submit"} - ], - "network": [ - {"widget": "h2", "label": "Настройки сети"}, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки интерфейса управления"}, - {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, - {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} - ] - } - ] - }, - "tabs": [ - {"name": "monitoring", "desc": "Мониторинг"}, - {"name": "setup", "desc": "Настройки"}, - {"name": "admin", "desc": "Администрирование"}, - {"name": "logs", "desc": "Журнал"} - ] - }, - "scpc": { - "modem_name": "RSCM-201", - "dangerousParamGroups": { - "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", - "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" - }, - "params": { - "rxtx": [ - {"widget": "h2", "label": "Настройки приема/передачи"}, - { - "widget": "settings-container", - "childs": [ - { - "widget": "select", "label": "Режим работы", "name": "isCinC", - "values": [{"label": "SCPC", "value": "false"}, {"label": "CinC", "value": "true"}] - } - ] - }, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки передатчика"}, - {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, - {"widget": "checkbox", "label": "Автоматический запуск передатчика", "name": "txAutoStart"}, - { - "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", - "values": [{"label": "Нормальный", "value": "false"}, {"label": "Тест (CW)", "value": "true"}] - }, - { - "widget": "select", "label": "Входные данные", "name": "txIsTestInput", - "values": [{"label": "Ethernet", "value": "false"}, {"label": "Тест", "value": "true"}] - }, - {"widget": "h3", "label": "Параметры передачи"}, - {"widget": "number-int", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 100000, "max": 6000000, "step": 0.01}, - {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 200000, "max": 56000000}, - { - "widget": "select", "label": "Roll-off", "name": "txRolloff", - "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] - }, - { - "widget": "select", "label": "Номер последовательности Голда", "name": "txGoldan", - "values": [{"label": "0", "value": "0"}, {"label": "1", "value": "1"}] - }, - {"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -40, "step": 0.25} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Режим работы DVB-S2"}, - {"widget": "number", "label": "Период служебных пакетов, сек", "name": "dvbServicePacketPeriod", "min": 0, "step": 1, "max": 60}, - { - "widget": "select", "label": "Режим модуляции", "name": "dvbIsAcm", - "values": [{"label": "CCM", "value": "false"}, {"label": "ACM", "value": "true"}] - }, - { - "widget": "select", "label": "Размер кадра", "name": "txFrameSizeNormal", - "values": [{"label": "normal", "value": "true"}, {"label": "short", "value": "false"}] - }, - {"widget": "checkbox", "label": "Пилот-символы", "name": "txIsPilots"}, - {"widget": "modulation-modcod", "label": "Модуляция", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, - {"widget": "modulation-speed", "label": "Скорость кода", "name": "dvbCcm", "v_show": "paramRxtx.dvbIsAcm === false"}, - {"widget": "watch-expr", "label": "Расчетная скорость", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbCcmModulation, paramRxtx.dvbCcmSpeed, paramRxtx.txFrameSizeNormal)", "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": "Расчетная скорость (мин. режим)", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMinModulation, paramRxtx.dvbAcmMinSpeed, paramRxtx.txFrameSizeNormal)", "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": "Расчетная скорость (макс. режим)", "expr": "calcInterfaceSpeedKb(paramRxtx.txBaudrate, paramRxtx.dvbAcmMaxModulation, paramRxtx.dvbAcmMaxSpeed, paramRxtx.txFrameSizeNormal)", "v_show": "paramRxtx.dvbIsAcm === true"}, - {"widget": "number", "label": "Запас ОСШ, дБ", "name": "dvbSnrReserve", "min": 0, "step": 0.01, "max": 10} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Авто-регулировка мощности"}, - {"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "aupcEn"}, - {"widget": "number", "label": "Минимальное ослабление, дБ", "name": "aupcMinAttenuation", "min": 0, "step": 0.1, "max": 10}, - {"widget": "number", "label": "Максимальное ослабление, дБ", "name": "aupcMaxAttenuation", "min": 0, "step": 0.1, "max": 10}, - {"widget": "number", "label": "Требуемое ОСШ", "name": "aupcRequiredSnr", "min": 0, "step": 0.01, "max": 30} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки приемника"}, - { - "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", - "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-expr", "label": "Текущее усиление", "expr": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, - {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, - {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 100000, "max": 6000000, "step": 0.01}, - {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 200000, "max": 56000000}, - { - "widget": "select", "label": "Roll-off", "name": "rxRolloff", - "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}] - }, - { - "widget": "select", "label": "Номер последовательности Голда", "name": "rxGoldan", - "values": [{"label": "0", "value": "0"}, {"label": "1", "value": "1"}] - } - ] - } - ] - } - ], - "dpdi": [ - {"widget": "h2", "label": "Настройки режима CinC", "v_show": "paramRxtx.isCinC"}, - { - "widget": "settings-container", "v_show": "paramRxtx.isCinC", - "childs": [ - { - "widget": "select", "label": "Метод расчета задержки", "name": "isPositional", - "values": [ - {"label": "Позиционированием", "value": "true"}, - {"label": "Окном задержки", "value": "false"} - ] - }, - {"widget": "number", "label": "Полоса поиска, КГц ±", "name": "searchBandwidth", "min": 0, "step": 1, "max": 100}, - {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"}, - {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "number", "label": "Долгота станции", "name": "positionStationLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "number", "label": "Подспутниковая точка", "name": "positionSatelliteLongitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180}, - {"widget": "h2", "label": "Задержка до спутника", "v_show": "paramDpdi.isPositional === false"}, - {"widget": "number", "label": "от, мс", "name": "delayMin", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}, - {"widget": "number", "label": "до, мс", "name": "delayMax", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}] - }, - {"widget": "submit", "v_show": "paramRxtx.isCinC"} - ], - "buclnb": [ - {"widget": "h2", "label": "Настройки питания и опорного генератора"}, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки BUC"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, - { - "widget": "select", "label": "Питание BUC", "name": "bucPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "24В", "value": "24"}, - {"label": "48В", "value": "48"} - ] - } - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки LNB"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, - { - "widget": "select", "label": "Питание LNB", "name": "lnbPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "13В", "value": "13"}, - {"label": "18В", "value": "18"}, - {"label": "24В", "value": "24"} - ] - } - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Сервисные настройки"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, - {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} - ] - } - ] - } - ], - "network": [ - {"widget": "h2", "label": "Настройки сети"}, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки интерфейса управления"}, - {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, - { - "widget": "select", "label": "Режим сети", "name": "isL2", - "values": [{"label": "Маршрутизатор", "value": "false"}, {"label": "Коммутатор", "value": "true"}] - }, - {"widget": "ip-address", "label": "Интерфейс данных (/24)", "name": "dataIp", "v_show": "paramNetwork.isL2 === false"}, - {"widget": "number", "label": "MTU интерфейса данных", "name": "dataMtu", "min": 1500, "step": 1, "max": 2000}, - {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} - ] - } - ] - }, - "tabs": [ - {"name": "monitoring", "desc": "Мониторинг"}, - {"name": "setup", "desc": "Настройки"}, - {"name": "qos", "desc": "QoS"}, - {"name": "admin", "desc": "Администрирование"} - ] - }, - "shps": { - "modem_name": "ШПС Модем", - "dangerousParamGroups": { - "buclnb": "Применение неправильных настроек может вывести из строя оборудование! Продолжить?", - "network": "Применение этих настроек может сделать модем недоступным! Продолжить?" - }, - "params": { - "rxtx": [ - {"widget": "h2", "label": "Настройки приема/передачи"}, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки передатчика"}, - {"widget": "checkbox", "label": "Включить передатчик", "name": "txEn"}, - {"widget": "checkbox", "label": "Автоматический запуск передатчика", "name": "txAutoStart"}, - { - "widget": "select", "label": "Режим работы модулятора", "name": "txModulatorIsTest", - "values": [{"label": "Нормальный", "value": "false"}, {"label": "Тест (CW)", "value": "true"}] - }, - {"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "max": 0, "min": -80, "step": 0.25}, - { - "widget": "select", "label": "Входные данные", "name": "txIsTestInput", - "values": [{"label": "Ethernet", "value": "false"}, {"label": "Тест", "value": "true"}] - }, - {"widget": "h3", "label": "Параметры передачи"}, - {"widget": "number-int", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 70000, "max": 6000000, "step": 0.01}, - {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 128000, "max": 30000000}, - { - "widget": "select", "label": "Roll-off", "name": "txRolloff", - "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}, {"label": "0.30", "value": "300"}, {"label": "0.35", "value": "350"}] - }, - {"widget": "number", "label": "Коэф. расширения", "name": "txSpreadCoef", "max": 1024, "min": 8, "step": 2}, - {"widget": "number", "label": "Кол-во пакетов на преамбулу", "name": "txFieldsDataPreamble", "max": 255, "min": 1, "step": 1} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Авто-регулировка мощности"}, - {"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "aupcEn"}, - {"widget": "number", "label": "Минимальное ослабление, дБ", "name": "aupcMinAttenuation", "min": 0, "step": 0.1, "max": 10}, - {"widget": "number", "label": "Максимальное ослабление, дБ", "name": "aupcMaxAttenuation", "min": 0, "step": 0.1, "max": 10}, - {"widget": "number", "label": "Требуемое ОСШ", "name": "aupcRequiredSnr", "min": 0, "step": 0.01, "max": 30} - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки приемника"}, - { - "widget": "select", "label": "Режим управления усилением", "name": "rxAgcEn", - "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-expr", "label": "Текущее усиление", "expr": "paramRxtx.rxManualGain", "v_show": "paramRxtx.rxAgcEn === true"}, - {"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"}, - {"widget": "number-int", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 70000, "max": 6000000, "step": 0.01}, - {"widget": "number-int", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 128000, "max": 30000000}, - { - "widget": "select", "label": "Roll-off", "name": "rxRolloff", - "values": [{"label": "0.02", "value": "20"}, {"label": "0.05", "value": "50"}, {"label": "0.10", "value": "100"}, {"label": "0.15", "value": "150"}, {"label": "0.20", "value": "200"}, {"label": "0.25", "value": "250"}, {"label": "0.30", "value": "300"}, {"label": "0.35", "value": "350"}] - }, - {"widget": "number", "label": "Коэф. расширения", "name": "rxSpreadCoef", "max": 1024, "min": 8, "step": 2}, - {"widget": "number", "label": "Порог коррелятора", "name": "rxFftShift", "max": 10, "min": 1, "step": 0.125}, - {"widget": "number", "label": "Кол-во пакетов на преамбулу", "name": "rxFieldsDataPreamble", "max": 255, "min": 1, "step": 1} - ] - } - ] - } - ], - "buclnb": [ - {"widget": "h2", "label": "Настройки питания и опорного генератора"}, - { - "widget": "flex-container", - "childs": [ - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки BUC"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "bucRefClk10M"}, - { - "widget": "select", "label": "Питание BUC", "name": "bucPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "24В", "value": "24"}, - {"label": "48В", "value": "48"} - ] - } - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки LNB"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц", "name": "lnbRefClk10M"}, - { - "widget": "select", "label": "Питание LNB", "name": "lnbPowering", - "values": [ - {"label": "Выкл", "value": "0"}, - {"label": "13В", "value": "13"}, - {"label": "18В", "value": "18"}, - {"label": "24В", "value": "24"} - ] - } - ] - }, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Сервисные настройки"}, - {"widget": "checkbox", "label": "Подача опоры 10МГц на 'Выход 10МГц'", "name": "srvRefClk10M"}, - {"widget": "checkbox", "label": "Автозапуск BUC и LNB при включении", "name": "bucLnbAutoStart"} - ] - } - ] - } - ], - "network": [ - {"widget": "h2", "label": "Настройки сети"}, - { - "widget": "settings-container", - "childs": [ - {"widget": "h3", "label": "Настройки интерфейса управления"}, - {"widget": "ip-address-mask", "label": "Интерфейс управления (a.d.d.r/mask)", "name": "managementIp"}, - { - "widget": "select", "label": "Режим сети", "name": "isL2", - "values": [{"label": "Маршрутизатор", "value": "false"}, {"label": "Коммутатор", "value": "true"}] - }, - {"widget": "ip-address", "label": "Интерфейс данных (/24)", "name": "dataIp", "v_show": "paramNetwork.isL2 === false"}, - {"widget": "number", "label": "MTU интерфейса данных", "name": "dataMtu", "min": 1500, "step": 1, "max": 2000}, - {"widget": "text", "label": "Имя веб-сервера", "name": "serverName"} - ] - } - ] - }, - "tabs": [ - {"name": "monitoring", "desc": "Мониторинг"}, - {"name": "setup", "desc": "Настройки"}, - {"name": "admin", "desc": "Администрирование"} - ] - } - } -} \ No newline at end of file diff --git a/front-generator/render.py b/front-generator/render.py index 5512761..d851942 100644 --- a/front-generator/render.py +++ b/front-generator/render.py @@ -3,8 +3,30 @@ from jinja2 import Environment, FileSystemLoader import sys import os -with open('render-params.json') as f: - GLOBAL_CONFIG = json.load(f) + +CONFIG_DIR = "config" +MODEM_TYPES = {} + +for _fname in os.listdir(CONFIG_DIR): + if not _fname.endswith(".json"): + continue + + path = os.path.join(CONFIG_DIR, _fname) + + try: + with open(path, "r", encoding="utf-8") as f: + data = json.load(f) + except Exception as e: + print(f"[WARN] Failed to read {path}: {e}") + continue + + modem_type = data.get("modem_type") + if modem_type is None: + print(f"[WARN] {_fname} ignored: no 'modem_type' field") + continue + + MODEM_TYPES[modem_type] = data + def extract_param_names(mc): @@ -78,10 +100,10 @@ def extract_param_groups(mc): def build_modem_env(modem): - if modem not in GLOBAL_CONFIG['modem_types']: + if modem not in MODEM_TYPES: raise RuntimeError(f"Modem '{modem}' is not exist in config!") - mc = GLOBAL_CONFIG['modem_types'][modem] + mc = MODEM_TYPES[modem] add_submit_widgets(mc['params']) @@ -109,7 +131,7 @@ def render_modem(modem): if __name__ == '__main__': - for mt in GLOBAL_CONFIG['modem_types']: + for mt in MODEM_TYPES: print(f'Generating {mt} modem...') render_modem(mt) os.system(f'cp -u main-{mt}.html ../static') diff --git a/front-generator/template/common/admin-methods.js.j2 b/front-generator/template/common/admin-methods.js.j2 index b085236..a565556 100644 --- a/front-generator/template/common/admin-methods.js.j2 +++ b/front-generator/template/common/admin-methods.js.j2 @@ -63,22 +63,6 @@ async settingsPerformFirmwareUpgradeOta() { } this.submitStatus.firmwareUpgradeOta = false }, -async settingsPerformSetCesPassword() { - if (this.submitStatus.cesPassword) { return } - this.submitStatus.cesPassword = true - try { - await fetch('/api/set/cesPassword', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({'password': this.cesPasswordValue}) - }) - } catch (e) { - console.log("failed to perform set CES password: ", e) - } - this.submitStatus.cesPassword = false -}, {% endif %} doModemReboot() { diff --git a/front-generator/template/common/admin.html.j2 b/front-generator/template/common/admin.html.j2 index 9505230..11ccf0a 100644 --- a/front-generator/template/common/admin.html.j2 +++ b/front-generator/template/common/admin.html.j2 @@ -8,7 +8,8 @@
- + + @@ -23,16 +24,7 @@ - {% endraw %}{% if modem == 'tdma' %} - -

Вход в сеть ЦЗС

-
- - -
{% endif %}{% raw %} +

Обновление ПО

diff --git a/front-generator/template/main.html b/front-generator/template/main.html index 5ca3439..5628226 100644 --- a/front-generator/template/main.html +++ b/front-generator/template/main.html @@ -134,6 +134,7 @@ // эти "настройки" - read only about: { firmwareVersion: '?', + firmwareFpgaVersion: '?', modemUid: '?', modemSn: '?', macManagement: '?', @@ -241,6 +242,7 @@ const fr = await fetch("/api/get/aboutFirmware") const d = await fr.json() this.about.firmwareVersion = d["firmware"]["version"] + this.about.firmwareFpgaVersion = d["firmware"]["fpgaVersion"] this.about.modemUid = d["firmware"]["modemId"] this.about.modemSn = d["firmware"]["modemSn"] this.about.macManagement = d["firmware"]["macMang"] diff --git a/src/api-driver/structs.cpp b/src/api-driver/structs.cpp index cedf5a7..fc21e45 100644 --- a/src/api-driver/structs.cpp +++ b/src/api-driver/structs.cpp @@ -304,6 +304,7 @@ api_driver::obj::TerminalFirmwareVersion & api_driver::obj::TerminalFirmwareVers void api_driver::obj::TerminalFirmwareVersion::load(proxy::CpProxy &cp) { version = cp.getNetwork("version"); + fpgaVersion = cp.getNetwork("fpga_version"); modemId = cp.getNetwork("chip_id"); rtrim(modemId); modemSn = cp.getNetwork("serial"); diff --git a/src/api-driver/structs.h b/src/api-driver/structs.h index 6932ee0..93cc8d3 100644 --- a/src/api-driver/structs.h +++ b/src/api-driver/structs.h @@ -109,7 +109,7 @@ namespace api_driver::obj { class TerminalFirmwareVersion { public: - std::string version, modemId, modemSn, macMang, macData; + std::string version, fpgaVersion, modemId, modemSn, macMang, macData; TerminalFirmwareVersion(); TerminalFirmwareVersion(const TerminalFirmwareVersion& src); diff --git a/static/main-scpc.html b/static/main-scpc.html index 5a87cfd..7b9d2b0 100644 --- a/static/main-scpc.html +++ b/static/main-scpc.html @@ -519,7 +519,8 @@
Версия ПО{{ about.firmwareVersion }}
Версия прошивки {{ about.firmwareVersion }}
Версия FPGA{{ about.firmwareFpgaVersion }}
ID модема{{ about.modemUid }}
Серийный номер{{ about.modemSn }}
MAC интерфейса управления{{ about.macManagement }}
- + + @@ -725,6 +726,7 @@ // эти "настройки" - read only about: { firmwareVersion: '?', + firmwareFpgaVersion: '?', modemUid: '?', modemSn: '?', macManagement: '?', @@ -1542,6 +1544,7 @@ const fr = await fetch("/api/get/aboutFirmware") const d = await fr.json() this.about.firmwareVersion = d["firmware"]["version"] + this.about.firmwareFpgaVersion = d["firmware"]["fpgaVersion"] this.about.modemUid = d["firmware"]["modemId"] this.about.modemSn = d["firmware"]["modemSn"] this.about.macManagement = d["firmware"]["macMang"] diff --git a/static/main-shps.html b/static/main-shps.html index b38f15e..e49d903 100644 --- a/static/main-shps.html +++ b/static/main-shps.html @@ -280,7 +280,8 @@
Версия ПО{{ about.firmwareVersion }}
Версия прошивки {{ about.firmwareVersion }}
Версия FPGA{{ about.firmwareFpgaVersion }}
ID модема{{ about.modemUid }}
Серийный номер{{ about.modemSn }}
MAC интерфейса управления{{ about.macManagement }}
- + + @@ -449,6 +450,7 @@ // эти "настройки" - read only about: { firmwareVersion: '?', + firmwareFpgaVersion: '?', modemUid: '?', modemSn: '?', macManagement: '?', @@ -950,6 +952,7 @@ const fr = await fetch("/api/get/aboutFirmware") const d = await fr.json() this.about.firmwareVersion = d["firmware"]["version"] + this.about.firmwareFpgaVersion = d["firmware"]["fpgaVersion"] this.about.modemUid = d["firmware"]["modemId"] this.about.modemSn = d["firmware"]["modemSn"] this.about.macManagement = d["firmware"]["macMang"] diff --git a/static/main-tdma.html b/static/main-tdma.html index 4923f87..378de17 100644 --- a/static/main-tdma.html +++ b/static/main-tdma.html @@ -259,7 +259,8 @@
Версия ПО{{ about.firmwareVersion }}
Версия прошивки {{ about.firmwareVersion }}
Версия FPGA{{ about.firmwareFpgaVersion }}
ID модема{{ about.modemUid }}
Серийный номер{{ about.modemSn }}
MAC интерфейса управления{{ about.macManagement }}
- + + @@ -275,14 +276,6 @@ -

Вход в сеть ЦЗС

-
- - -

Обновление ПО

@@ -474,6 +467,7 @@ // эти "настройки" - read only about: { firmwareVersion: '?', + firmwareFpgaVersion: '?', modemUid: '?', modemSn: '?', macManagement: '?', @@ -808,22 +802,6 @@ } this.submitStatus.firmwareUpgradeOta = false }, - async settingsPerformSetCesPassword() { - if (this.submitStatus.cesPassword) { return } - this.submitStatus.cesPassword = true - try { - await fetch('/api/set/cesPassword', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({'password': this.cesPasswordValue}) - }) - } catch (e) { - console.log("failed to perform set CES password: ", e) - } - this.submitStatus.cesPassword = false - }, doModemReboot() { if (this.submitStatus.modemReboot !== null) { @@ -1020,6 +998,7 @@ const fr = await fetch("/api/get/aboutFirmware") const d = await fr.json() this.about.firmwareVersion = d["firmware"]["version"] + this.about.firmwareFpgaVersion = d["firmware"]["fpgaVersion"] this.about.modemUid = d["firmware"]["modemId"] this.about.modemSn = d["firmware"]["modemSn"] this.about.macManagement = d["firmware"]["macMang"]
Версия ПО{{ about.firmwareVersion }}
Версия прошивки {{ about.firmwareVersion }}
Версия FPGA{{ about.firmwareFpgaVersion }}
ID модема{{ about.modemUid }}
Серийный номер{{ about.modemSn }}
MAC интерфейса управления{{ about.macManagement }}