Compare commits

...

5 Commits

10 changed files with 120 additions and 82 deletions

6
.gitmodules vendored
View File

@@ -1,3 +1,9 @@
[submodule "dependencies/control_system_client"] [submodule "dependencies/control_system_client"]
path = dependencies/control_system_client path = dependencies/control_system_client
url = http://gitlab.devrss.vg/mf-tdma/protocol_processing/control_system_client.git url = http://gitlab.devrss.vg/mf-tdma/protocol_processing/control_system_client.git
[submodule "dependencies/control_system_client_tdma"]
path = dependencies/control_system_client_tdma
url = http://gitlab.devrss.vg/mf-tdma/protocol_processing/control_system_client.git
[submodule "dependencies/control_system_client_shps"]
path = dependencies/control_system_client_shps
url = http://gitlab.devrss.vg/mf-tdma/protocol_processing/control_system_client.git

View File

@@ -18,12 +18,15 @@ endif()
if("${MODEM_TYPE}" STREQUAL "SCPC") if("${MODEM_TYPE}" STREQUAL "SCPC")
add_definitions(-DMODEM_IS_SCPC) add_definitions(-DMODEM_IS_SCPC)
message(STATUS "Selected SCPC modem") message(STATUS "Selected SCPC modem")
add_subdirectory(dependencies/control_system_client) # подключение правильного control system client SCPC, ветка main
elseif ("${MODEM_TYPE}" STREQUAL "TDMA") elseif ("${MODEM_TYPE}" STREQUAL "TDMA")
add_definitions(-DMODEM_IS_TDMA) add_definitions(-DMODEM_IS_TDMA)
message(STATUS "Selected TDMA modem") message(STATUS "Selected TDMA modem")
add_subdirectory(dependencies/control_system_client_tdma) # подключение правильного control system client TDMA, ветка terminal-tdma
elseif ("${MODEM_TYPE}" STREQUAL "SHPS") elseif ("${MODEM_TYPE}" STREQUAL "SHPS")
add_definitions(-DMODEM_IS_SHPS) add_definitions(-DMODEM_IS_SHPS)
message(STATUS "Selected SHPS modem") message(STATUS "Selected SHPS modem")
add_subdirectory(dependencies/control_system_client_shps) # подключение правильного control system client SHPS, ветка shps
else() else()
message(FATAL_ERROR "You must set `MODEM_TYPE` \"SCPC\" or \"TDMA\" or \"SHPS\"!") message(FATAL_ERROR "You must set `MODEM_TYPE` \"SCPC\" or \"TDMA\" or \"SHPS\"!")
endif() endif()
@@ -52,7 +55,6 @@ add_compile_options(-Wall -Wextra -Wsign-conversion -DPROJECT_GIT_REVISION="${PR
# максимальный размер тела запроса 200mb # максимальный размер тела запроса 200mb
add_definitions(-DHTTP_MAX_PAYLOAD=200000000) add_definitions(-DHTTP_MAX_PAYLOAD=200000000)
add_subdirectory(dependencies/control_system_client)
include_directories(src/) include_directories(src/)

View File

@@ -65,7 +65,8 @@
{"label": "Выкл", "value": "0"}, {"label": "Выкл", "value": "0"},
{"label": "24В", "value": "24"} {"label": "24В", "value": "24"}
] ]
} },
{"widget": "number-int", "label": "Частота LO, кГц", "name": "bucLoKhz", "min": 0, "max": 40000000, "step": 1}
] ]
}, },
{ {
@@ -81,7 +82,8 @@
{"label": "18В", "value": "18"}, {"label": "18В", "value": "18"},
{"label": "24В", "value": "24"} {"label": "24В", "value": "24"}
] ]
} },
{"widget": "number-int", "label": "Частота LO, кГц", "name": "lnbLoKhz", "min": 0, "max": 40000000, "step": 1}
] ]
}, },
{ {
@@ -101,17 +103,17 @@
"widget": "settings-container", "widget": "settings-container",
"childs": [ "childs": [
{ {
"widget": "select", "label": "Метод расчета задержки", "name": "dpdiIsPositional", "widget": "select", "label": "Метод расчета задержки", "name": "isPositional",
"values": [ "values": [
{"label": "Позиционированием", "value": "true"}, {"label": "Позиционированием", "value": "true"},
{"label": "Окном задержки", "value": "false"} {"label": "Окном задержки", "value": "false"}
] ]
}, },
{"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.dpdiIsPositional === true"}, {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"},
{"widget": "number", "label": "Широта станции", "name": "dpdiPositionStationLatitude", "v_show": "paramDpdi.dpdiIsPositional === true", "min": -180, "step": 0.000001, "max": 180}, {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180},
{"widget": "number", "label": "Долгота станции", "name": "dpdiPositionStationLongitude", "v_show": "paramDpdi.dpdiIsPositional === 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": "dpdiPositionSatelliteLongitude", "v_show": "paramDpdi.dpdiIsPositional === 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": "dpdiDelay", "v_show": "paramDpdi.dpdiIsPositional === false", "min": 0, "step": 0.1, "max": 400}] {"widget": "number", "label": "Задержка до спутника, мс", "name": "delay", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400}]
}, },
{"widget": "submit"} {"widget": "submit"}
], ],
@@ -252,20 +254,20 @@
"widget": "settings-container", "v_show": "paramRxtx.isCinC", "widget": "settings-container", "v_show": "paramRxtx.isCinC",
"childs": [ "childs": [
{ {
"widget": "select", "label": "Метод расчета задержки", "name": "dpdiIsPositional", "widget": "select", "label": "Метод расчета задержки", "name": "isPositional",
"values": [ "values": [
{"label": "Позиционированием", "value": "true"}, {"label": "Позиционированием", "value": "true"},
{"label": "Окном задержки", "value": "false"} {"label": "Окном задержки", "value": "false"}
] ]
}, },
{"widget": "number", "label": "Полоса поиска, КГц ±", "name": "dpdiSearchBandwidth", "min": 0, "step": 1, "max": 100}, {"widget": "number", "label": "Полоса поиска, КГц ±", "name": "searchBandwidth", "min": 0, "step": 1, "max": 100},
{"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.dpdiIsPositional === true"}, {"widget": "h2", "label": "Настройки позиционирования", "v_show": "paramDpdi.isPositional === true"},
{"widget": "number", "label": "Широта станции", "name": "dpdiPositionStationLatitude", "v_show": "paramDpdi.dpdiIsPositional === true", "min": -180, "step": 0.000001, "max": 180}, {"widget": "number", "label": "Широта станции", "name": "positionStationLatitude", "v_show": "paramDpdi.isPositional === true", "min": -180, "step": 0.000001, "max": 180},
{"widget": "number", "label": "Долгота станции", "name": "dpdiPositionStationLongitude", "v_show": "paramDpdi.dpdiIsPositional === 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": "dpdiPositionSatelliteLongitude", "v_show": "paramDpdi.dpdiIsPositional === 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.dpdiIsPositional === false"}, {"widget": "h2", "label": "Задержка до спутника", "v_show": "paramDpdi.isPositional === false"},
{"widget": "number", "label": "от, мс", "name": "dpdiDelayMin", "v_show": "paramDpdi.dpdiIsPositional === false", "min": 0, "step": 0.1, "max": 400}, {"widget": "number", "label": "от, мс", "name": "delayMin", "v_show": "paramDpdi.isPositional === false", "min": 0, "step": 0.1, "max": 400},
{"widget": "number", "label": "до, мс", "name": "dpdiDelayMax", "v_show": "paramDpdi.dpdiIsPositional === 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"} {"widget": "submit", "v_show": "paramRxtx.isCinC"}
], ],

View File

@@ -472,15 +472,16 @@ void api_driver::obj::TerminalDeviceState::updateCallback(proxy::CpProxy &cp) {
fTempZynq = ds.pl_temp; fTempZynq = ds.pl_temp;
fTempFpga = ds.zynq_temp; fTempFpga = ds.zynq_temp;
} }
#ifdef MODEM_IS_TDMA // FIXME: тут происходит зависание по неизвестной причине
{ // #ifdef MODEM_IS_TDMA
progress_msg ds{}; // {
cp.getUpdateStatus(ds); // progress_msg ds{};
fUpgradeStatus = ds.status; // cp.getUpdateStatus(ds);
fUpgradePercent = ds.dwl_percent; // fUpgradeStatus = ds.status;
fUpgradeImage = ds.cur_image; // fUpgradePercent = ds.dwl_percent;
} // fUpgradeImage = ds.cur_image;
#endif // }
// #endif
struct sysinfo info{}; struct sysinfo info{};
sysinfo(&info); sysinfo(&info);
@@ -735,7 +736,7 @@ void api_driver::obj::TerminalRxTxSettings::updateDpdiSettings(const nlohmann::j
dpdi.max_delay = data.value("delayMax", dpdi.max_delay); dpdi.max_delay = data.value("delayMax", dpdi.max_delay);
#else #else
dpdi.min_delay = 0; dpdi.min_delay = 0;
dpdi.max_delay = data.value("dpdiDelay", dpdi.max_delay); dpdi.max_delay = data.value("delay", dpdi.max_delay);
#endif #endif
} }
void api_driver::obj::TerminalRxTxSettings::storeDpdiSettings(proxy::CpProxy &cp) { void api_driver::obj::TerminalRxTxSettings::storeDpdiSettings(proxy::CpProxy &cp) {
@@ -765,6 +766,9 @@ void api_driver::obj::TerminalRxTxSettings::updateBuclnbSettings(const nlohmann:
} }
} }
buclnb.is_ref_10MHz_buc = data.value("bucRefClk10M", buclnb.is_ref_10MHz_buc); buclnb.is_ref_10MHz_buc = data.value("bucRefClk10M", buclnb.is_ref_10MHz_buc);
#ifdef MODEM_IS_TDMA
buclnb.lo_buc_inkHz = data.value("bucLoKhz", buclnb.lo_buc_inkHz);
#endif
{ {
// напряжение lnb // напряжение lnb
@@ -784,8 +788,10 @@ void api_driver::obj::TerminalRxTxSettings::updateBuclnbSettings(const nlohmann:
default: buclnb.lnb = voltage_lnb::DISABLE; default: buclnb.lnb = voltage_lnb::DISABLE;
} }
} }
buclnb.is_ref_10MHz_lnb = data.value("lnbRefClk10M", buclnb.is_ref_10MHz_lnb); buclnb.is_ref_10MHz_lnb = data.value("lnbRefClk10M", buclnb.is_ref_10MHz_lnb);
#ifdef MODEM_IS_TDMA
buclnb.lo_lnb_inkHz = data.value("lnbLoKhz", buclnb.lo_lnb_inkHz);
#endif
buclnb.is_ref_10MHz_output = data.value("srvRefClk10M", buclnb.is_ref_10MHz_output); buclnb.is_ref_10MHz_output = data.value("srvRefClk10M", buclnb.is_ref_10MHz_output);
buclnb.is_save_current_state = data.value("bucLnbAutoStart", buclnb.is_save_current_state); buclnb.is_save_current_state = data.value("bucLnbAutoStart", buclnb.is_save_current_state);
@@ -916,6 +922,9 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
#endif #endif
default: bl["bucPowering"] = 0; default: bl["bucPowering"] = 0;
} }
#ifdef MODEM_IS_TDMA
bl["bucLoKhz"] = buclnb.lo_buc_inkHz;
#endif
bl["bucRefClk10M"] = buclnb.is_ref_10MHz_buc; bl["bucRefClk10M"] = buclnb.is_ref_10MHz_buc;
switch (buclnb.lnb) { switch (buclnb.lnb) {
@@ -925,6 +934,9 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
default: bl["lnbPowering"] = 0; default: bl["lnbPowering"] = 0;
} }
bl["lnbRefClk10M"] = buclnb.is_ref_10MHz_lnb; bl["lnbRefClk10M"] = buclnb.is_ref_10MHz_lnb;
#ifdef MODEM_IS_TDMA
bl["lnbLoKhz"] = buclnb.lo_lnb_inkHz;
#endif
bl["srvRefClk10M"] = buclnb.is_ref_10MHz_output; bl["srvRefClk10M"] = buclnb.is_ref_10MHz_output;
bl["bucLnbAutoStart"] = buclnb.is_save_current_state; bl["bucLnbAutoStart"] = buclnb.is_save_current_state;

View File

@@ -107,7 +107,7 @@ void api_driver::ApiDriver::setDpdiSettings(const nlohmann::json& data) {
std::lock_guard _lapi(this->daemon->cpApiMutex); std::lock_guard _lapi(this->daemon->cpApiMutex);
this->daemon->cp.setDmaDebug("begin_save_config", ""); this->daemon->cp.setDmaDebug("begin_save_config", "");
rxtx.storeMainSettings(this->daemon->cp); rxtx.storeDpdiSettings(this->daemon->cp);
this->daemon->cp.setDmaDebug("save_config", ""); this->daemon->cp.setDmaDebug("save_config", "");
rxtx.updateCallback(this->daemon->cp); rxtx.updateCallback(this->daemon->cp);
{ {

View File

@@ -326,19 +326,19 @@
<div class="settings-set-container" v-show="paramRxtx.isCinC"> <div class="settings-set-container" v-show="paramRxtx.isCinC">
<label> <label>
<span>Метод расчета задержки</span> <span>Метод расчета задержки</span>
<select v-model="paramDpdi.dpdiIsPositional"> <select v-model="paramDpdi.isPositional">
<option :value="true">Позиционированием</option> <option :value="true">Позиционированием</option>
<option :value="false">Окном задержки</option> <option :value="false">Окном задержки</option>
</select> </select>
</label> </label>
<label><span>Полоса поиска, КГц ±</span><input type="number" v-model="paramDpdi.dpdiSearchBandwidth" max="100" step="1"/></label> <label><span>Полоса поиска, КГц ±</span><input type="number" v-model="paramDpdi.searchBandwidth" max="100" step="1"/></label>
<h2 v-show="paramDpdi.dpdiIsPositional === true">Настройки позиционирования</h2> <h2 v-show="paramDpdi.isPositional === true">Настройки позиционирования</h2>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Широта станции</span><input type="number" v-model="paramDpdi.dpdiPositionStationLatitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Широта станции</span><input type="number" v-model="paramDpdi.positionStationLatitude" min="-180" max="180" step="1e-06"/></label>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Долгота станции</span><input type="number" v-model="paramDpdi.dpdiPositionStationLongitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Долгота станции</span><input type="number" v-model="paramDpdi.positionStationLongitude" min="-180" max="180" step="1e-06"/></label>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Подспутниковая точка</span><input type="number" v-model="paramDpdi.dpdiPositionSatelliteLongitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Подспутниковая точка</span><input type="number" v-model="paramDpdi.positionSatelliteLongitude" min="-180" max="180" step="1e-06"/></label>
<h2 v-show="paramDpdi.dpdiIsPositional === false">Задержка до спутника</h2> <h2 v-show="paramDpdi.isPositional === false">Задержка до спутника</h2>
<label v-show="paramDpdi.dpdiIsPositional === false"><span>от, мс</span><input type="number" v-model="paramDpdi.dpdiDelayMin" max="400" step="0.1"/></label> <label v-show="paramDpdi.isPositional === false"><span>от, мс</span><input type="number" v-model="paramDpdi.delayMin" max="400" step="0.1"/></label>
<label v-show="paramDpdi.dpdiIsPositional === false"><span>до, мс</span><input type="number" v-model="paramDpdi.dpdiDelayMax" max="400" step="0.1"/></label> <label v-show="paramDpdi.isPositional === false"><span>до, мс</span><input type="number" v-model="paramDpdi.delayMax" max="400" step="0.1"/></label>
</div> </div>
<button class="action-button" @click="settingsSubmitDpdi()" v-show="paramRxtx.isCinC">Сохранить <span class="submit-spinner" v-show="submitStatus.dpdi"></span></button> <button class="action-button" @click="settingsSubmitDpdi()" v-show="paramRxtx.isCinC">Сохранить <span class="submit-spinner" v-show="submitStatus.dpdi"></span></button>
<h2>Настройки питания и опорного генератора</h2> <h2>Настройки питания и опорного генератора</h2>
@@ -631,13 +631,13 @@
rxGoldan: 0, rxGoldan: 0,
}, },
paramDpdi: { paramDpdi: {
dpdiIsPositional: true, isPositional: true,
dpdiSearchBandwidth: 0, searchBandwidth: 0,
dpdiPositionStationLatitude: -180, positionStationLatitude: -180,
dpdiPositionStationLongitude: -180, positionStationLongitude: -180,
dpdiPositionSatelliteLongitude: -180, positionSatelliteLongitude: -180,
dpdiDelayMin: 0, delayMin: 0,
dpdiDelayMax: 0, delayMax: 0,
}, },
paramBuclnb: { paramBuclnb: {
bucRefClk10M: false, bucRefClk10M: false,
@@ -829,13 +829,13 @@
if (this.submitStatus.dpdi) { return } if (this.submitStatus.dpdi) { return }
let query = { let query = {
"dpdiIsPositional": this.paramDpdi.dpdiIsPositional, "isPositional": this.paramDpdi.isPositional,
"dpdiSearchBandwidth": this.paramDpdi.dpdiSearchBandwidth, "searchBandwidth": this.paramDpdi.searchBandwidth,
"dpdiPositionStationLatitude": this.paramDpdi.dpdiPositionStationLatitude, "positionStationLatitude": this.paramDpdi.positionStationLatitude,
"dpdiPositionStationLongitude": this.paramDpdi.dpdiPositionStationLongitude, "positionStationLongitude": this.paramDpdi.positionStationLongitude,
"dpdiPositionSatelliteLongitude": this.paramDpdi.dpdiPositionSatelliteLongitude, "positionSatelliteLongitude": this.paramDpdi.positionSatelliteLongitude,
"dpdiDelayMin": this.paramDpdi.dpdiDelayMin, "delayMin": this.paramDpdi.delayMin,
"dpdiDelayMax": this.paramDpdi.dpdiDelayMax, "delayMax": this.paramDpdi.delayMax,
} }
this.submitStatus.dpdi = true this.submitStatus.dpdi = true
@@ -919,13 +919,13 @@
}, },
updateDpdiSettings(vals) { updateDpdiSettings(vals) {
this.submitStatus.dpdi = false this.submitStatus.dpdi = false
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdi"]["dpdiIsPositional"] this.paramDpdi.isPositional = vals["settings"]["dpdi"]["isPositional"]
this.paramDpdi.dpdiSearchBandwidth = vals["settings"]["dpdi"]["dpdiSearchBandwidth"] this.paramDpdi.searchBandwidth = vals["settings"]["dpdi"]["searchBandwidth"]
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdi"]["dpdiPositionStationLatitude"] this.paramDpdi.positionStationLatitude = vals["settings"]["dpdi"]["positionStationLatitude"]
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdi"]["dpdiPositionStationLongitude"] this.paramDpdi.positionStationLongitude = vals["settings"]["dpdi"]["positionStationLongitude"]
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdi"]["dpdiPositionSatelliteLongitude"] this.paramDpdi.positionSatelliteLongitude = vals["settings"]["dpdi"]["positionSatelliteLongitude"]
this.paramDpdi.dpdiDelayMin = vals["settings"]["dpdi"]["dpdiDelayMin"] this.paramDpdi.delayMin = vals["settings"]["dpdi"]["delayMin"]
this.paramDpdi.dpdiDelayMax = vals["settings"]["dpdi"]["dpdiDelayMax"] this.paramDpdi.delayMax = vals["settings"]["dpdi"]["delayMax"]
}, },
updateBuclnbSettings(vals) { updateBuclnbSettings(vals) {
this.submitStatus.buclnb = false this.submitStatus.buclnb = false

View File

@@ -173,16 +173,16 @@
<div class="settings-set-container"> <div class="settings-set-container">
<label> <label>
<span>Метод расчета задержки</span> <span>Метод расчета задержки</span>
<select v-model="paramDpdi.dpdiIsPositional"> <select v-model="paramDpdi.isPositional">
<option :value="true">Позиционированием</option> <option :value="true">Позиционированием</option>
<option :value="false">Окном задержки</option> <option :value="false">Окном задержки</option>
</select> </select>
</label> </label>
<h2 v-show="paramDpdi.dpdiIsPositional === true">Настройки позиционирования</h2> <h2 v-show="paramDpdi.isPositional === true">Настройки позиционирования</h2>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Широта станции</span><input type="number" v-model="paramDpdi.dpdiPositionStationLatitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Широта станции</span><input type="number" v-model="paramDpdi.positionStationLatitude" min="-180" max="180" step="1e-06"/></label>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Долгота станции</span><input type="number" v-model="paramDpdi.dpdiPositionStationLongitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Долгота станции</span><input type="number" v-model="paramDpdi.positionStationLongitude" min="-180" max="180" step="1e-06"/></label>
<label v-show="paramDpdi.dpdiIsPositional === true"><span>Подспутниковая точка</span><input type="number" v-model="paramDpdi.dpdiPositionSatelliteLongitude" min="-180" max="180" step="1e-06"/></label> <label v-show="paramDpdi.isPositional === true"><span>Подспутниковая точка</span><input type="number" v-model="paramDpdi.positionSatelliteLongitude" min="-180" max="180" step="1e-06"/></label>
<label v-show="paramDpdi.dpdiIsPositional === false"><span>Задержка до спутника, мс</span><input type="number" v-model="paramDpdi.dpdiDelay" max="400" step="0.1"/></label> <label v-show="paramDpdi.isPositional === false"><span>Задержка до спутника, мс</span><input type="number" v-model="paramDpdi.delay" max="400" step="0.1"/></label>
</div> </div>
<button class="action-button" @click="settingsSubmitDpdi()">Сохранить <span class="submit-spinner" v-show="submitStatus.dpdi"></span></button> <button class="action-button" @click="settingsSubmitDpdi()">Сохранить <span class="submit-spinner" v-show="submitStatus.dpdi"></span></button>
<h2>Настройки питания и опорного генератора</h2> <h2>Настройки питания и опорного генератора</h2>
@@ -200,6 +200,10 @@
<option :value="24">24В</option> <option :value="24">24В</option>
</select> </select>
</label> </label>
<label>
<span>Частота LO, кГц</span>
<input type="text" v-model.lazy="paramBuclnb.bucLoKhz" @change="e => paramBuclnb.bucLoKhz = inputFormatNumber(inputFormatNumber(e.target.value, {max:40000000,step:1}), {max:40000000,step:1})"/>
</label>
</div> </div>
<div class="settings-set-container"> <div class="settings-set-container">
<h3>Настройки LNB</h3> <h3>Настройки LNB</h3>
@@ -216,6 +220,10 @@
<option :value="24">24В</option> <option :value="24">24В</option>
</select> </select>
</label> </label>
<label>
<span>Частота LO, кГц</span>
<input type="text" v-model.lazy="paramBuclnb.lnbLoKhz" @change="e => paramBuclnb.lnbLoKhz = inputFormatNumber(inputFormatNumber(e.target.value, {max:40000000,step:1}), {max:40000000,step:1})"/>
</label>
</div> </div>
<div class="settings-set-container"> <div class="settings-set-container">
<h3>Сервисные настройки</h3> <h3>Сервисные настройки</h3>
@@ -347,17 +355,19 @@
paramBuclnb: { paramBuclnb: {
bucRefClk10M: false, bucRefClk10M: false,
bucPowering: 0, bucPowering: 0,
bucLoKhz: 0,
lnbRefClk10M: false, lnbRefClk10M: false,
lnbPowering: 0, lnbPowering: 0,
lnbLoKhz: 0,
srvRefClk10M: false, srvRefClk10M: false,
bucLnbAutoStart: false, bucLnbAutoStart: false,
}, },
paramDpdi: { paramDpdi: {
dpdiIsPositional: true, isPositional: true,
dpdiPositionStationLatitude: -180, positionStationLatitude: -180,
dpdiPositionStationLongitude: -180, positionStationLongitude: -180,
dpdiPositionSatelliteLongitude: -180, positionSatelliteLongitude: -180,
dpdiDelay: 0, delay: 0,
}, },
paramNetwork: { paramNetwork: {
cesPassword: null, cesPassword: null,
@@ -505,8 +515,10 @@
let query = { let query = {
"bucRefClk10M": this.paramBuclnb.bucRefClk10M, "bucRefClk10M": this.paramBuclnb.bucRefClk10M,
"bucPowering": this.paramBuclnb.bucPowering, "bucPowering": this.paramBuclnb.bucPowering,
"bucLoKhz": parseFloat(this.paramBuclnb.bucLoKhz.replace(/[^0-9,.]/g, '').replace(',', '.')),
"lnbRefClk10M": this.paramBuclnb.lnbRefClk10M, "lnbRefClk10M": this.paramBuclnb.lnbRefClk10M,
"lnbPowering": this.paramBuclnb.lnbPowering, "lnbPowering": this.paramBuclnb.lnbPowering,
"lnbLoKhz": parseFloat(this.paramBuclnb.lnbLoKhz.replace(/[^0-9,.]/g, '').replace(',', '.')),
"srvRefClk10M": this.paramBuclnb.srvRefClk10M, "srvRefClk10M": this.paramBuclnb.srvRefClk10M,
"bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart, "bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart,
} }
@@ -521,11 +533,11 @@
if (this.submitStatus.dpdi) { return } if (this.submitStatus.dpdi) { return }
let query = { let query = {
"dpdiIsPositional": this.paramDpdi.dpdiIsPositional, "isPositional": this.paramDpdi.isPositional,
"dpdiPositionStationLatitude": this.paramDpdi.dpdiPositionStationLatitude, "positionStationLatitude": this.paramDpdi.positionStationLatitude,
"dpdiPositionStationLongitude": this.paramDpdi.dpdiPositionStationLongitude, "positionStationLongitude": this.paramDpdi.positionStationLongitude,
"dpdiPositionSatelliteLongitude": this.paramDpdi.dpdiPositionSatelliteLongitude, "positionSatelliteLongitude": this.paramDpdi.positionSatelliteLongitude,
"dpdiDelay": this.paramDpdi.dpdiDelay, "delay": this.paramDpdi.delay,
} }
this.submitStatus.dpdi = true this.submitStatus.dpdi = true
@@ -568,18 +580,20 @@
this.submitStatus.buclnb = false this.submitStatus.buclnb = false
this.paramBuclnb.bucRefClk10M = vals["settings"]["buclnb"]["bucRefClk10M"] this.paramBuclnb.bucRefClk10M = vals["settings"]["buclnb"]["bucRefClk10M"]
this.paramBuclnb.bucPowering = vals["settings"]["buclnb"]["bucPowering"] this.paramBuclnb.bucPowering = vals["settings"]["buclnb"]["bucPowering"]
this.paramBuclnb.bucLoKhz = this.inputFormatNumber(vals["settings"]["buclnb"]["bucLoKhz"], {max:40000000,step:1})
this.paramBuclnb.lnbRefClk10M = vals["settings"]["buclnb"]["lnbRefClk10M"] this.paramBuclnb.lnbRefClk10M = vals["settings"]["buclnb"]["lnbRefClk10M"]
this.paramBuclnb.lnbPowering = vals["settings"]["buclnb"]["lnbPowering"] this.paramBuclnb.lnbPowering = vals["settings"]["buclnb"]["lnbPowering"]
this.paramBuclnb.lnbLoKhz = this.inputFormatNumber(vals["settings"]["buclnb"]["lnbLoKhz"], {max:40000000,step:1})
this.paramBuclnb.srvRefClk10M = vals["settings"]["buclnb"]["srvRefClk10M"] this.paramBuclnb.srvRefClk10M = vals["settings"]["buclnb"]["srvRefClk10M"]
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["buclnb"]["bucLnbAutoStart"] this.paramBuclnb.bucLnbAutoStart = vals["settings"]["buclnb"]["bucLnbAutoStart"]
}, },
updateDpdiSettings(vals) { updateDpdiSettings(vals) {
this.submitStatus.dpdi = false this.submitStatus.dpdi = false
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdi"]["dpdiIsPositional"] this.paramDpdi.isPositional = vals["settings"]["dpdi"]["isPositional"]
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdi"]["dpdiPositionStationLatitude"] this.paramDpdi.positionStationLatitude = vals["settings"]["dpdi"]["positionStationLatitude"]
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdi"]["dpdiPositionStationLongitude"] this.paramDpdi.positionStationLongitude = vals["settings"]["dpdi"]["positionStationLongitude"]
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdi"]["dpdiPositionSatelliteLongitude"] this.paramDpdi.positionSatelliteLongitude = vals["settings"]["dpdi"]["positionSatelliteLongitude"]
this.paramDpdi.dpdiDelay = vals["settings"]["dpdi"]["dpdiDelay"] this.paramDpdi.delay = vals["settings"]["dpdi"]["delay"]
}, },
updateNetworkSettings(vals) { updateNetworkSettings(vals) {
this.submitStatus.network = false this.submitStatus.network = false