Compare commits
3 Commits
55fc322c13
...
4c555d5400
Author | SHA1 | Date | |
---|---|---|---|
4c555d5400 | |||
38a00173a2 | |||
e5e6878351 |
2
dependencies/control_system_client
vendored
2
dependencies/control_system_client
vendored
@ -1 +1 @@
|
||||
Subproject commit 76d6dcdb08d3602ad33f2236a60cc78841b5bdc5
|
||||
Subproject commit 92fcb8ab674eb592b6237a7b82af2dfb1a0ae00c
|
@ -316,16 +316,6 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"tcpaccel": [
|
||||
{"widget": "h2", "label": "Настройки TCP-акселерации"},
|
||||
{
|
||||
"widget": "settings-container",
|
||||
"childs": [
|
||||
{"widget": "checkbox", "label": "Активировать акселерацию", "name": "accelEn"},
|
||||
{"widget": "number", "label": "Максимальное количество соединений", "name": "accelMaxConnections", "min": 0, "step": 1, "max": 4000}
|
||||
]
|
||||
}
|
||||
],
|
||||
"network": [
|
||||
{"widget": "h2", "label": "Настройки сети"},
|
||||
{
|
||||
|
@ -24,7 +24,7 @@
|
||||
update{{ g['group'] | title }}Settings(vals) {
|
||||
this.submitStatus.{{ g['group'] }} = false
|
||||
{% for p in g['params'] %}
|
||||
{{ build_setter_js(g['group'], p, "vals[\"settings\"][\"" ~ p['name'] ~ "\"]") }}
|
||||
{{ build_setter_js(g['group'], p, "vals[\"settings\"][\"" ~ g['group'] ~ "\"][\"" ~ p['name'] ~ "\"]") }}
|
||||
{% endfor %}
|
||||
},
|
||||
{% endfor %}
|
@ -18,69 +18,68 @@
|
||||
}
|
||||
|
||||
this.lastUpdateTime = new Date();
|
||||
this.initState = vals["mainState"]["initState"]
|
||||
this.initState = vals["state"]["initState"]
|
||||
this.testState = vals["state"]["testState"]
|
||||
{% if modem == 'scpc' %}
|
||||
this.isCinC = vals["mainState"]["isCinC"]
|
||||
this.isCinC = vals["state"]["isCinC"]
|
||||
{% endif %}
|
||||
|
||||
this.statRx.state = vals["mainState"]["rx.state"]
|
||||
this.statRx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["mainState"]["rx.afc_lock"]
|
||||
this.statRx.pkt_sync = vals["mainState"]["rx.pkt_sync"]
|
||||
this.statRx.snr = vals["mainState"]["rx.snr"]
|
||||
this.statRx.rssi = vals["mainState"]["rx.rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
||||
this.statRx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["mainState"]["rx.isPilots"]
|
||||
this.statRx.symError = vals["mainState"]["rx.symError"]
|
||||
this.statRx.freqErr = vals["mainState"]["rx.freqErr"]
|
||||
this.statRx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"]
|
||||
this.statRx.pllError = vals["mainState"]["rx.pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["mainState"]["rx.packetsOk"]
|
||||
this.statRx.packetsBad = vals["mainState"]["rx.packetsBad"]
|
||||
this.statRx.packetsDummy = vals["mainState"]["rx.packetsDummy"]
|
||||
this.statRx.state = vals["state"]["rx"]["state"]
|
||||
this.statRx.sym_sync_lock = vals["state"]["rx"]["sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["state"]["rx"]["freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["state"]["rx"]["afc_lock"]
|
||||
this.statRx.pkt_sync = vals["state"]["rx"]["pkt_sync"]
|
||||
this.statRx.snr = vals["state"]["rx"]["snr"]
|
||||
this.statRx.rssi = vals["state"]["rx"]["rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["state"]["rx"]["modcod"])
|
||||
this.statRx.frameSizeNormal = vals["state"]["rx"]["frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["state"]["rx"]["isPilots"]
|
||||
this.statRx.symError = vals["state"]["rx"]["symError"]
|
||||
this.statRx.freqErr = vals["state"]["rx"]["freqErr"]
|
||||
this.statRx.freqErrAcc = vals["state"]["rx"]["freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["state"]["rx"]["inputSignalLevel"]
|
||||
this.statRx.pllError = vals["state"]["rx"]["pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["state"]["rx"]["speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["state"]["rx"]["speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["state"]["rx"]["packetsOk"]
|
||||
this.statRx.packetsBad = vals["state"]["rx"]["packetsBad"]
|
||||
this.statRx.packetsDummy = vals["state"]["rx"]["packetsDummy"]
|
||||
|
||||
{% if modem == 'scpc' %}
|
||||
this.statTx.state = vals["mainState"]["tx.state"]
|
||||
this.statTx.snr = vals["mainState"]["tx.snr"]
|
||||
this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||
this.statTx.frameSizeNormal = vals["mainState"]["tx.frameSizeNormal"]
|
||||
this.statTx.isPilots = vals["mainState"]["tx.isPilots"]
|
||||
this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||
this.statTx.state = vals["state"]["tx"]["state"]
|
||||
this.statTx.snr = vals["state"]["tx"]["snr"]
|
||||
this.statTx.modcod = modcodToStr(vals["state"]["tx"]["modcod"])
|
||||
this.statTx.frameSizeNormal = vals["state"]["tx"]["frameSizeNormal"]
|
||||
this.statTx.isPilots = vals["state"]["tx"]["isPilots"]
|
||||
this.statTx.speedOnTxKbit = vals["state"]["tx"]["speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["state"]["tx"]["speedOnIifKbit"]
|
||||
|
||||
this.statCinc.occ = vals["mainState"]["cinc.occ"]
|
||||
this.statCinc.correlator = vals["mainState"]["cinc.correlator"]
|
||||
this.statCinc.correlatorFails = vals["mainState"]["cinc.correlatorFails"]
|
||||
this.statCinc.freqErr = vals["mainState"]["cinc.freqErr"]
|
||||
this.statCinc.freqErrAcc = vals["mainState"]["cinc.freqErrAcc"]
|
||||
this.statCinc.channelDelay = vals["mainState"]["cinc.channelDelay"]
|
||||
this.statCinc.occ = vals["state"]["cinc"]["occ"]
|
||||
this.statCinc.correlator = vals["state"]["cinc"]["correlator"]
|
||||
this.statCinc.correlatorFails = vals["state"]["cinc"]["correlatorFails"]
|
||||
this.statCinc.freqErr = vals["state"]["cinc"]["freqErr"]
|
||||
this.statCinc.freqErrAcc = vals["state"]["cinc"]["freqErrAcc"]
|
||||
this.statCinc.channelDelay = vals["state"]["cinc"]["channelDelay"]
|
||||
{% else %}
|
||||
this.statTx.state = vals["mainState"]["tx.state"]
|
||||
this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["mainState"]["tx.centerFreq"]
|
||||
this.statTx.symSpeed = vals["mainState"]["tx.symSpeed"]
|
||||
this.statTx.state = vals["state"]["tx"]["state"]
|
||||
this.statTx.modcod = modcodToStr(vals["state"]["tx"]["modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["state"]["tx"]["speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["state"]["tx"]["speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["state"]["tx"]["centerFreq"]
|
||||
this.statTx.symSpeed = vals["state"]["tx"]["symSpeed"]
|
||||
{% endif %}
|
||||
|
||||
this.statDevice.adrv = vals["mainState"]["device.adrv"]
|
||||
this.statDevice.zynq = vals["mainState"]["device.zynq"]
|
||||
this.statDevice.fpga = vals["mainState"]["device.fpga"]
|
||||
this.statDevice.adrv = vals["state"]["device"]["adrv"]
|
||||
this.statDevice.zynq = vals["state"]["device"]["zynq"]
|
||||
this.statDevice.fpga = vals["state"]["device"]["fpga"]
|
||||
{% if modem == 'tdma' %}
|
||||
this.statDevice.upgradeStatus = vals["mainState"]["device.upgradeStatus"]
|
||||
this.statDevice.upgradePercent = vals["mainState"]["device.upgradePercent"]
|
||||
this.statDevice.upgradeImage = vals["mainState"]["device.upgradeImage"]
|
||||
this.statDevice.upgradeStatus = vals["state"]["device"]["upgradeStatus"]
|
||||
this.statDevice.upgradePercent = vals["state"]["device"]["upgradePercent"]
|
||||
this.statDevice.upgradeImage = vals["state"]["device"]["upgradeImage"]
|
||||
{% endif %}
|
||||
|
||||
this.testState = vals["mainState"]["testState"]
|
||||
|
||||
// аптайм приходит в секундах, надо преобразовать его в человеко-читаемый вид
|
||||
let uptime = vals["sysinfo"]["uptime"]
|
||||
let uptime = vals["state"]["device"]["uptime"]
|
||||
if (uptime) {
|
||||
let secs = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
let mins = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
@ -92,11 +91,11 @@
|
||||
} else {
|
||||
this.statOs.uptime = '?'
|
||||
}
|
||||
this.statOs.load1 = vals["sysinfo"]["load1min"]
|
||||
this.statOs.load5 = vals["sysinfo"]["load5min"]
|
||||
this.statOs.load15 = vals["sysinfo"]["load15min"]
|
||||
this.statOs.totalram = vals["sysinfo"]["totalram"]
|
||||
this.statOs.freeram = vals["sysinfo"]["freeram"]
|
||||
this.statOs.load1 = vals["state"]["device"]["load1min"]
|
||||
this.statOs.load5 = vals["state"]["device"]["load5min"]
|
||||
this.statOs.load15 = vals["state"]["device"]["load15min"]
|
||||
this.statOs.totalram = vals["state"]["device"]["totalram"]
|
||||
this.statOs.freeram = vals["state"]["device"]["freeram"]
|
||||
},
|
||||
|
||||
resetPacketsStatistics() {
|
||||
|
@ -44,15 +44,17 @@
|
||||
}
|
||||
let query = {
|
||||
"en": this.paramQos.en,
|
||||
"rt1": [],
|
||||
"rt2": [],
|
||||
"rt3": [],
|
||||
"cd": []
|
||||
"profile": {
|
||||
"rt1": [],
|
||||
"rt2": [],
|
||||
"rt3": [],
|
||||
"cd": []
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < this.paramQos.rt1.length; i++) { query.rt1.push(_translateQosClass('rt', this.paramQos.rt1[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt2.length; i++) { query.rt2.push(_translateQosClass('rt', this.paramQos.rt2[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt3.length; i++) { query.rt3.push(_translateQosClass('rt', this.paramQos.rt3[i])) }
|
||||
for (let i = 0; i < this.paramQos.cd.length; i++) { query.cd.push(_translateQosClass('rt', this.paramQos.cd[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt1.length; i++) { query.profile.rt1.push(_translateQosClass('rt', this.paramQos.rt1[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt2.length; i++) { query.profile.rt2.push(_translateQosClass('rt', this.paramQos.rt2[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt3.length; i++) { query.profile.rt3.push(_translateQosClass('rt', this.paramQos.rt3[i])) }
|
||||
for (let i = 0; i < this.paramQos.cd.length; i++) { query.profile.cd.push(_translateQosClass('rt', this.paramQos.cd[i])) }
|
||||
|
||||
//console.log(query)
|
||||
fetch('/api/set/qos', {
|
||||
@ -73,9 +75,9 @@
|
||||
|
||||
updateQosSettings(vals) {
|
||||
this.submitStatusQos = false
|
||||
this.paramQos.en = vals["settings"]["qosEnabled"]
|
||||
this.paramQos.en = vals["settings"]["qos"]["en"]
|
||||
|
||||
const qosProfile = vals["settings"]["qosProfile"]
|
||||
const qosProfile = vals["settings"]["qos"]["profile"]
|
||||
if (qosProfile !== null && qosProfile !== undefined) {
|
||||
this.paramQos.rt1 = [] // .splice(0, this.paramQos.rt1.length)
|
||||
this.paramQos.rt2 = [] // .splice(0, this.paramQos.rt2.length)
|
||||
|
@ -235,11 +235,11 @@
|
||||
try {
|
||||
const fr = await fetch("/api/get/aboutFirmware")
|
||||
const d = await fr.json()
|
||||
this.about.firmwareVersion = d["fw.version"]
|
||||
this.about.modemUid = d["fw.modemId"]
|
||||
this.about.modemSn = d["fw.modemSn"]
|
||||
this.about.macManagement = d["fw.macMang"]
|
||||
this.about.macData = d["fw.macData"]
|
||||
this.about.firmwareVersion = d["firmware"]["version"]
|
||||
this.about.modemUid = d["firmware"]["modemId"]
|
||||
this.about.modemSn = d["firmware"]["modemSn"]
|
||||
this.about.macManagement = d["firmware"]["macMang"]
|
||||
this.about.macData = d["firmware"]["macData"]
|
||||
} catch (e) {
|
||||
console.log('Ошибка загрузки версии ПО', e)
|
||||
}
|
||||
|
@ -105,9 +105,12 @@ void api_driver::TerminalApiDaemon::run() {
|
||||
#endif
|
||||
// обновление статистики
|
||||
{.uo = CpUpdatebleObject([this]() {
|
||||
std::shared_lock _slock1(this->settingsMutex);
|
||||
obj::TerminalState tmp(state);
|
||||
_slock1.release();
|
||||
|
||||
obj::TerminalState tmp;
|
||||
{
|
||||
std::shared_lock _slock1(this->settingsMutex);
|
||||
tmp = state;
|
||||
}
|
||||
|
||||
tmp.updateCallback(cp);
|
||||
std::lock_guard _slock2(this->settingsMutex);
|
||||
@ -128,9 +131,11 @@ void api_driver::TerminalApiDaemon::run() {
|
||||
}, CACHE_SETTINGS_UPDATE_MS), .updaterName = "updateRxTxSettings"},
|
||||
#ifdef API_OBJECT_NETWORK_SETTINGS_ENABLE
|
||||
{.uo = CpUpdatebleObject([this]() {
|
||||
std::shared_lock _slock1(this->settingsMutex);
|
||||
obj::TerminalNetworkSettings net(settingsNetwork);
|
||||
_slock1.release();
|
||||
obj::TerminalNetworkSettings net;
|
||||
{
|
||||
std::shared_lock _slock1(this->settingsMutex);
|
||||
net = settingsNetwork;
|
||||
}
|
||||
|
||||
net.updateCallback(cp);
|
||||
std::lock_guard _slock2(this->settingsMutex);
|
||||
@ -201,6 +206,51 @@ void api_driver::TerminalApiDaemon::getDeviceState(obj::TerminalDeviceState &des
|
||||
dest = stateDev;
|
||||
}
|
||||
|
||||
api_driver::obj::TerminalRxTxSettings api_driver::TerminalApiDaemon::getSettingsRxTx() {
|
||||
obj::TerminalRxTxSettings s;
|
||||
{
|
||||
std::shared_lock _olock(this->settingsMutex);
|
||||
s = settingsRxTx;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
void api_driver::TerminalApiDaemon::setSettingsRxTx(obj::TerminalRxTxSettings &s) {
|
||||
std::lock_guard _olock(settingsMutex);
|
||||
settingsRxTx = s;
|
||||
}
|
||||
|
||||
#ifdef API_OBJECT_NETWORK_SETTINGS_ENABLE
|
||||
api_driver::obj::TerminalNetworkSettings api_driver::TerminalApiDaemon::getNetworkSettings() {
|
||||
obj::TerminalNetworkSettings s;
|
||||
{
|
||||
std::shared_lock _olock(this->settingsMutex);
|
||||
s = settingsNetwork;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
void api_driver::TerminalApiDaemon::setNetworkSettings(obj::TerminalNetworkSettings &s) {
|
||||
std::lock_guard _olock(settingsMutex);
|
||||
settingsNetwork = s;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_QOS_SETTINGS_ENABLE
|
||||
api_driver::obj::TerminalQosSettings api_driver::TerminalApiDaemon::getQosSettings() {
|
||||
obj::TerminalQosSettings s;
|
||||
{
|
||||
std::shared_lock _olock(this->settingsMutex);
|
||||
s = settingsQos;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
void api_driver::TerminalApiDaemon::setQosSettings(obj::TerminalQosSettings &s) {
|
||||
std::lock_guard _olock(settingsMutex);
|
||||
settingsQos = s;
|
||||
}
|
||||
#endif
|
||||
|
||||
api_driver::obj::TerminalFirmwareVersion api_driver::TerminalApiDaemon::getFirmware() {
|
||||
obj::TerminalFirmwareVersion res;
|
||||
|
@ -52,17 +52,17 @@ namespace api_driver {
|
||||
// * Получение настроек, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
||||
// * Установка настроек просто копирует настройки и устанавливает их текущими
|
||||
// */
|
||||
obj::TerminalRxTxSettings getSettingsRxTx() const;
|
||||
obj::TerminalRxTxSettings getSettingsRxTx();
|
||||
void setSettingsRxTx(obj::TerminalRxTxSettings &s);
|
||||
|
||||
#ifdef API_OBJECT_NETWORK_SETTINGS_ENABLE
|
||||
obj::TerminalNetworkSettings getNetworkSettings() const;
|
||||
obj::TerminalNetworkSettings getNetworkSettings();
|
||||
void setNetworkSettings(obj::TerminalNetworkSettings &s);
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_QOS_SETTINGS_ENABLE
|
||||
obj::TerminalQosSettings getQosSettings() const;
|
||||
void setQosSettings(bool enabled, const std::string &str);
|
||||
obj::TerminalQosSettings getQosSettings();
|
||||
void setQosSettings(obj::TerminalQosSettings &s);
|
||||
#endif
|
||||
|
||||
obj::TerminalFirmwareVersion getFirmware();
|
||||
|
@ -67,6 +67,7 @@ void api_driver::proxy::CpProxy::setDemodSettings(demodulator_settings &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::setDemodSettings", CP_SetDemodulatorSettings, (sid, dest), "struct {...}");
|
||||
}
|
||||
|
||||
#ifdef API_STRUCT_ACM_ENABLE
|
||||
void api_driver::proxy::CpProxy::getAcmSettings(ACM_parameters_serv_ &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getAcmSettings", CP_GetAcmParams, (sid, &dest), "");
|
||||
}
|
||||
@ -74,11 +75,13 @@ void api_driver::proxy::CpProxy::getAcmSettings(ACM_parameters_serv_ &dest) {
|
||||
void api_driver::proxy::CpProxy::setAcmSettings(ACM_parameters_serv_ &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::setAcmSettings", CP_GetAcmParams, (sid, &dest), "struct {...}");
|
||||
}
|
||||
#endif
|
||||
|
||||
void api_driver::proxy::CpProxy::getDeviceState(device_state &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getDeviceState", CP_GetDeviceState, (sid, dest), "");
|
||||
}
|
||||
|
||||
#ifdef API_OBJECT_QOS_SETTINGS_ENABLE
|
||||
std::tuple<std::string, bool> api_driver::proxy::CpProxy::getQosSettings() {
|
||||
std::string rules;
|
||||
bool en;
|
||||
@ -89,7 +92,9 @@ std::tuple<std::string, bool> api_driver::proxy::CpProxy::getQosSettings() {
|
||||
void api_driver::proxy::CpProxy::setQosSettings(const std::string &rules, bool enable) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::setQosSettings", CP_SetQoSSettings, (sid, rules, enable), "`" << rules << "`, " << (enable ? "true" : "false"));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_DPDI_SETTINGS_ENABLE
|
||||
void api_driver::proxy::CpProxy::getDpdiSettings(DPDI_parmeters &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getDpdiSettings", CP_GetDpdiParams, (sid, &dest), "");
|
||||
}
|
||||
@ -97,7 +102,9 @@ void api_driver::proxy::CpProxy::getDpdiSettings(DPDI_parmeters &dest) {
|
||||
void api_driver::proxy::CpProxy::setDpdiSettings(DPDI_parmeters &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::setDpdiSettings", CP_SetDpdiParams, (sid, dest), "struct {...}");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_BUCLNB_SETTINGS_ENABLE
|
||||
void api_driver::proxy::CpProxy::getBuclnbSettings(buc_lnb_settings &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getBuclnbSettings", CP_GetBUC_LNB_settings, (sid, dest), "");
|
||||
}
|
||||
@ -105,14 +112,25 @@ void api_driver::proxy::CpProxy::getBuclnbSettings(buc_lnb_settings &dest) {
|
||||
void api_driver::proxy::CpProxy::setBuclnbSettings(buc_lnb_settings &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::setBuclnbSettings", CP_SetBUC_LNB_settings, (sid, dest), "struct {...}");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MODEM_IS_SCPC
|
||||
void api_driver::proxy::CpProxy::getCincState(CinC_state &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getCincState", CP_GetCinCState, (sid, dest), "");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_DEBUG_METRICS_ENABLE
|
||||
void api_driver::proxy::CpProxy::getDebugMetrics(debug_metrics &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getDebugMetrics", CP_GetDebugMetrics, (sid, dest), "");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MODEM_IS_TDMA
|
||||
void api_driver::proxy::CpProxy::getUpdateStatus(progress_msg &dest) {
|
||||
CPAPI_PROXY_CALL_HELPER("CpProxy::getUpdateStatus", CP_GetUpdateStatus, (sid, dest), "");
|
||||
}
|
||||
#endif
|
||||
|
||||
api_driver::proxy::CpProxy::~CpProxy() {
|
||||
disconnect();
|
||||
|
@ -217,7 +217,7 @@ void api_driver::obj::TerminalNetworkSettings::updateCallback(proxy::CpProxy &cp
|
||||
}
|
||||
}
|
||||
|
||||
void api_driver::obj::TerminalNetworkSettings::updateFromJson(nlohmann::json &data) {
|
||||
void api_driver::obj::TerminalNetworkSettings::updateFromJson(const nlohmann::json &data) {
|
||||
managementIp = data.value("managementIp", managementIp);
|
||||
isL2 = data.value("isL2", isL2);
|
||||
dataIp = data.value("dataIp", dataIp);
|
||||
@ -279,7 +279,7 @@ void api_driver::obj::TerminalQosSettings::updateCallback(proxy::CpProxy &cp) {
|
||||
}
|
||||
}
|
||||
|
||||
void api_driver::obj::TerminalQosSettings::updateFromJson(nlohmann::json &data) {
|
||||
void api_driver::obj::TerminalQosSettings::updateFromJson(const nlohmann::json &data) {
|
||||
qosEnabled = data.value("en", qosEnabled);
|
||||
qosSettingsJson = data.value("profile", qosSettingsJson);
|
||||
}
|
||||
@ -402,7 +402,6 @@ nlohmann::json api_driver::obj::TerminalState::asJson() {
|
||||
|
||||
res["initState"] = fInitState;
|
||||
res["testState"] = fIsTest;
|
||||
res["fTxState"] = fIsTest;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
res["isCinC"] = fIsCinC;
|
||||
#endif
|
||||
@ -431,6 +430,7 @@ nlohmann::json api_driver::obj::TerminalState::asJson() {
|
||||
res["rx"]["packetsDummy"] = fRxPacketsDummy;
|
||||
|
||||
res["tx"]["modcod"] = fTxModcod;
|
||||
res["tx"]["state"] = fTxState;
|
||||
res["tx"]["speedOnTxKbit"] = fTxSpeedOnTxKbit;
|
||||
res["tx"]["speedOnIifKbit"] = fTxSpeedOnIifKbit;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
@ -639,16 +639,16 @@ void api_driver::obj::TerminalRxTxSettings::updateMainSettings(const nlohmann::j
|
||||
mod.is_cinc = data.value("isCinC", mod.is_cinc);
|
||||
#endif
|
||||
mod.tx_is_on = data.value("txEn", mod.tx_is_on);
|
||||
#ifdef MODEM_IS_SCPC
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
mod.is_save_current_state = data.value("txAutoStart", mod.is_save_current_state);
|
||||
mod.is_test_data = data.value("txIsTestInput", mod.is_test_data);
|
||||
#endif
|
||||
mod.is_carrier = !data.value("txModulatorIsTest", !mod.is_carrier);
|
||||
mod.central_freq_in_kGz = data.value("txCentralFreq", mod.central_freq_in_kGz);
|
||||
#ifdef MODEM_IS_SCPC
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
mod.baudrate = data.value("txBaudrate", mod.baudrate);
|
||||
mod.rollof = data.value("txRolloff", mod.rollof);
|
||||
mod.gold_seq_is_active = data.value("txGoldan", mod.gold_seq_is_active);
|
||||
mod.gold_seq_is_active = data.value("txGoldan", mod.gold_seq_is_active ? 1 : 0);
|
||||
#endif
|
||||
mod.attenuation = data.value("txAttenuation", mod.attenuation);
|
||||
|
||||
@ -660,6 +660,9 @@ void api_driver::obj::TerminalRxTxSettings::updateMainSettings(const nlohmann::j
|
||||
acmIsPilots = data.value("txIsPilots", acmIsPilots);
|
||||
mod.modcod_tx = buildModcodFromJson(data, mod.modcod_tx, "dvbCcm", acmIsFrameSizeNormal, acmIsPilots);
|
||||
#endif
|
||||
#ifdef MODEM_IS_SHPS
|
||||
mod.koef_spread = data.value("txSpreadCoef", mod.koef_spread);
|
||||
#endif
|
||||
|
||||
// демодулятор
|
||||
dem.is_aru_on = data.value("rxAgcEn", dem.is_aru_on);
|
||||
@ -668,8 +671,11 @@ void api_driver::obj::TerminalRxTxSettings::updateMainSettings(const nlohmann::j
|
||||
dem.central_freq_in_kGz = data.value("rxCentralFreq", dem.central_freq_in_kGz);
|
||||
dem.baudrate = data.value("rxBaudrate", dem.baudrate);
|
||||
dem.rollof = data.value("rxRolloff", dem.rollof);
|
||||
#ifdef MODEM_IS_SCPC
|
||||
dem.gold_seq_is_active = data.value("rxGoldan", dem.gold_seq_is_active);
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
dem.gold_seq_is_active = data.value("rxGoldan", dem.gold_seq_is_active ? 1 : 0);
|
||||
#endif
|
||||
#ifdef MODEM_IS_SHPS
|
||||
dem.koef_spread = data.value("rxSpreadCoef", dem.koef_spread);
|
||||
#endif
|
||||
|
||||
#ifdef API_STRUCT_ACM_ENABLE
|
||||
@ -703,38 +709,38 @@ static std::tuple<uint8_t, uint8_t> translateCoordinates(double abs) {
|
||||
}
|
||||
|
||||
void api_driver::obj::TerminalRxTxSettings::updateDpdiSettings(const nlohmann::json &data) {
|
||||
dpdi.is_delay_window = !data.value("dpdiIsPositional", !dpdi.is_delay_window);
|
||||
dpdi.is_delay_window = !data.value("isPositional", !dpdi.is_delay_window);
|
||||
#ifdef MODEM_IS_SCPC
|
||||
dpdi.freq_offset = data.value("dpdiSearchBandwidth", dpdi.freq_offset);
|
||||
dpdi.freq_offset = data.value("searchBandwidth", dpdi.freq_offset);
|
||||
#endif
|
||||
|
||||
if (data["dpdiPositionStationLatitude"]) {
|
||||
const double pos = data["dpdiPositionStationLatitude"];
|
||||
if (data.contains("positionStationLatitude")) {
|
||||
const double pos = data["positionStationLatitude"];
|
||||
const auto [g, m] = translateCoordinates(pos);
|
||||
dpdi.latitude_station_grad = g;
|
||||
dpdi.latitude_station_minute = m;
|
||||
}
|
||||
|
||||
if (data["dpdiPositionStationLongitude"]) {
|
||||
const double pos = data["dpdiPositionStationLongitude"];
|
||||
if (data.contains("positionStationLongitude")) {
|
||||
const double pos = data["positionStationLongitude"];
|
||||
const auto [g, m] = translateCoordinates(pos);
|
||||
dpdi.longitude_station_grad = g;
|
||||
dpdi.longitude_station_minute = m;
|
||||
}
|
||||
|
||||
if (data["dpdiPositionSatelliteLongitude"]) {
|
||||
const double pos = data["dpdiPositionSatelliteLongitude"];
|
||||
if (data.contains("positionSatelliteLongitude")) {
|
||||
const double pos = data["positionSatelliteLongitude"];
|
||||
const auto [g, m] = translateCoordinates(pos);
|
||||
dpdi.longitude_sattelite_grad = g;
|
||||
dpdi.longitude_sattelite_minute = m;
|
||||
}
|
||||
|
||||
#ifdef MODEM_IS_SCPC
|
||||
dpdi.min_delay = data.value("dpdiDelayMin", dpdi.min_delay);
|
||||
dpdi.max_delay = data.value("dpdiDelayMax", dpdi.max_delay);
|
||||
dpdi.min_delay = data.value("delayMin", dpdi.min_delay);
|
||||
dpdi.max_delay = data.value("delayMax", dpdi.max_delay);
|
||||
#else
|
||||
s.min_delay = 0;
|
||||
s.max_delay = data.value("dpdiDelay", dpdi.max_delay);
|
||||
dpdi.min_delay = 0;
|
||||
dpdi.max_delay = data.value("dpdiDelay", dpdi.max_delay);
|
||||
#endif
|
||||
}
|
||||
void api_driver::obj::TerminalRxTxSettings::storeDpdiSettings(proxy::CpProxy &cp) {
|
||||
@ -817,18 +823,21 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
|
||||
rxtx["isCinC"] = mod.is_cinc;
|
||||
#endif
|
||||
rxtx["txEn"] = mod.tx_is_on;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
rxtx["txAutoStart"] = mod.is_save_current_state;
|
||||
rxtx["txIsTestInput"] = mod.is_test_data;
|
||||
#endif
|
||||
rxtx["txModulatorIsTest"] = !mod.is_carrier;
|
||||
rxtx["txCentralFreq"] = mod.central_freq_in_kGz;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
rxtx["txBaudrate"] = mod.baudrate;
|
||||
rxtx["txRolloff"] = mod.rollof;
|
||||
rxtx["txGoldan"] = mod.gold_seq_is_active;
|
||||
rxtx["txGoldan"] = mod.gold_seq_is_active ? 1 : 0;
|
||||
#endif
|
||||
rxtx["txAttenuation"] = mod.attenuation;
|
||||
#ifdef MODEM_IS_SHPS
|
||||
rxtx["txSpreadCoef"] = mod.koef_spread;
|
||||
#endif
|
||||
|
||||
#if defined(MODEM_IS_SCPC) || defined(MODEM_IS_SHPS)
|
||||
const bool acmIsFrameSizeNormal = extractModcodFrameSizeNormal(mod.modcod_tx);
|
||||
@ -848,8 +857,12 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
|
||||
rxtx["rxCentralFreq"] = dem.central_freq_in_kGz;
|
||||
rxtx["rxBaudrate"] = dem.baudrate;
|
||||
rxtx["rxRolloff"] = dem.rollof;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
rxtx["rxGoldan"] = dem.gold_seq_is_active;
|
||||
#if defined(MODEM_IS_SCPC) || defined (MODEM_IS_SHPS)
|
||||
rxtx["rxGoldan"] = dem.gold_seq_is_active ? 1 : 0;
|
||||
#endif
|
||||
#ifdef MODEM_IS_SHPS
|
||||
rxtx["txSpreadCoef"] = mod.koef_spread;
|
||||
rxtx["rxSpreadCoef"] = dem.koef_spread;
|
||||
#endif
|
||||
|
||||
#ifdef API_STRUCT_ACM_ENABLE
|
||||
@ -879,20 +892,20 @@ nlohmann::json api_driver::obj::TerminalRxTxSettings::asJson() const {
|
||||
{
|
||||
auto& dp = res["dpdi"];
|
||||
|
||||
dp["dpdiIsPositional"] = !dpdi.is_delay_window;
|
||||
dp["isPositional"] = !dpdi.is_delay_window;
|
||||
#ifdef MODEM_IS_SCPC
|
||||
dp["dpdiSearchBandwidth"] = dpdi.freq_offset;
|
||||
dp["searchBandwidth"] = dpdi.freq_offset;
|
||||
#endif
|
||||
|
||||
dp["dpdiPositionStationLatitude"] = translateCoordinates(dpdi.latitude_station_grad, dpdi.latitude_station_minute);
|
||||
dp["dpdiPositionStationLongitude"] = translateCoordinates(dpdi.longitude_station_grad, dpdi.longitude_station_minute);
|
||||
dp["dpdiPositionSatelliteLongitude"] = translateCoordinates(dpdi.longitude_sattelite_grad, dpdi.longitude_sattelite_minute);
|
||||
dp["positionStationLatitude"] = translateCoordinates(dpdi.latitude_station_grad, dpdi.latitude_station_minute);
|
||||
dp["positionStationLongitude"] = translateCoordinates(dpdi.longitude_station_grad, dpdi.longitude_station_minute);
|
||||
dp["positionSatelliteLongitude"] = translateCoordinates(dpdi.longitude_sattelite_grad, dpdi.longitude_sattelite_minute);
|
||||
|
||||
#ifdef MODEM_IS_SCPC
|
||||
dp["dpdiDelayMin"] = dpdi.min_delay;
|
||||
dp["dpdiDelayMax"] = dpdi.max_delay;
|
||||
dp["delayMin"] = dpdi.min_delay;
|
||||
dp["delayMax"] = dpdi.max_delay;
|
||||
#else
|
||||
dp["dpdiDelay"] = dpdi.max_delay;
|
||||
dp["delay"] = dpdi.max_delay;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
@ -79,7 +79,7 @@ namespace api_driver::obj {
|
||||
void loadDefaults();
|
||||
|
||||
void updateCallback(proxy::CpProxy& cp);
|
||||
void updateFromJson(nlohmann::json& data);
|
||||
void updateFromJson(const nlohmann::json& data);
|
||||
void store(proxy::CpProxy& cp);
|
||||
nlohmann::json asJson();
|
||||
|
||||
@ -101,7 +101,7 @@ namespace api_driver::obj {
|
||||
void loadDefaults();
|
||||
|
||||
void updateCallback(proxy::CpProxy& cp);
|
||||
void updateFromJson(nlohmann::json& data);
|
||||
void updateFromJson(const nlohmann::json& data);
|
||||
void store(proxy::CpProxy& cp);
|
||||
nlohmann::json asJson();
|
||||
|
||||
|
152
src/main.cpp
152
src/main.cpp
@ -104,6 +104,8 @@ public:
|
||||
static constexpr const char* INDEX_HTML = "/main-tdma.html";
|
||||
#elif defined(MODEM_IS_SCPC)
|
||||
static constexpr const char* INDEX_HTML = "/main-scpc.html";
|
||||
#elif defined(MODEM_IS_SHPS)
|
||||
static constexpr const char* INDEX_HTML = "/main-shps.html";
|
||||
#else
|
||||
#error "Modem type not defined!"
|
||||
#endif
|
||||
@ -179,7 +181,7 @@ public:
|
||||
try {
|
||||
auto reqJson = nlohmann::json::parse(std::string(req.payload.begin(), req.payload.end()));
|
||||
|
||||
auto u = auth.doAuth(reqJson["username"], reqJson["username"], req, rep);
|
||||
auto u = auth.doAuth(reqJson["username"], reqJson["password"], req, rep);
|
||||
if (u == nullptr) {
|
||||
throw std::runtime_error("invalid session");
|
||||
}
|
||||
@ -217,10 +219,21 @@ public:
|
||||
http::server::stockReply(http::server::bad_request, rep);
|
||||
return;
|
||||
}
|
||||
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
const auto result = api->loadTerminalState();
|
||||
nlohmann::json resultJson;
|
||||
|
||||
try {
|
||||
resultJson["status"] = "ok";
|
||||
resultJson["state"] = api->loadTerminalState();
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "WebHandle(/api/set/qos): Can't set QoS settings: " << e.what();
|
||||
resultJson.clear();
|
||||
resultJson["status"] = "error";
|
||||
resultJson["error"] = e.what();
|
||||
}
|
||||
|
||||
auto result = resultJson.dump();
|
||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||
}));
|
||||
|
||||
@ -229,12 +242,22 @@ public:
|
||||
http::server::stockReply(http::server::bad_request, rep);
|
||||
return;
|
||||
}
|
||||
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
std::string result = R"({"settings":)";
|
||||
result += api->loadSettings();
|
||||
result += "}";
|
||||
nlohmann::json resultJson;
|
||||
|
||||
try {
|
||||
resultJson["status"] = "ok";
|
||||
resultJson["settings"] = api->loadSettings();
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "WebHandle(/api/get/settings): Can't get object: " << e.what();
|
||||
resultJson.clear();
|
||||
rep.status = http::server::internal_server_error;
|
||||
resultJson["status"] = "error";
|
||||
resultJson["error"] = e.what();
|
||||
}
|
||||
|
||||
auto result = resultJson.dump();
|
||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||
}));
|
||||
|
||||
@ -246,7 +269,20 @@ public:
|
||||
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
const auto result = api->loadFirmwareVersion();
|
||||
nlohmann::json resultJson;
|
||||
|
||||
try {
|
||||
resultJson["status"] = "ok";
|
||||
resultJson["firmware"] = api->loadFirmwareVersion();
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "WebHandle(/api/get/aboutFirmware): Can't get object: " << e.what();
|
||||
resultJson.clear();
|
||||
rep.status = http::server::internal_server_error;
|
||||
resultJson["status"] = "error";
|
||||
resultJson["error"] = e.what();
|
||||
}
|
||||
|
||||
auto result = resultJson.dump();
|
||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||
}));
|
||||
|
||||
@ -451,7 +487,13 @@ public:
|
||||
http::server::stockReply(http::server::bad_request, rep);
|
||||
return;
|
||||
}
|
||||
this->upgradeOrRebootRunning = true;
|
||||
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
nlohmann::json resultJson;
|
||||
|
||||
try {
|
||||
this->upgradeOrRebootRunning = true;
|
||||
#ifdef MODEM_IS_TDMA
|
||||
if (req.url->params.find("ota") != req.url->params.end()) {
|
||||
doTerminalUpgradeOta();
|
||||
@ -461,10 +503,15 @@ public:
|
||||
#else
|
||||
doTerminalUpgrade();
|
||||
#endif
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.clear();
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
const auto result = api->loadFirmwareVersion();
|
||||
resultJson["status"] = "ok";
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "WebHandle(/api/doFirmwareUpgrade): Error: " << e.what();
|
||||
resultJson.clear();
|
||||
resultJson["status"] = "error";
|
||||
resultJson["error"] = e.what();
|
||||
}
|
||||
|
||||
auto result = resultJson.dump();
|
||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||
}));
|
||||
|
||||
@ -483,28 +530,67 @@ public:
|
||||
return;
|
||||
}
|
||||
const auto func = req.url->params["f"];
|
||||
std::string result = R"({"status":"ok"})";
|
||||
if (func == "SetDmaDebug") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) { http::server::stockReply(http::server::bad_request, rep); return; }
|
||||
if (req.url->params.find("value") == req.url->params.end()) { http::server::stockReply(http::server::bad_request, rep); return; }
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
cp.setDmaDebug(req.url->params["param"], req.url->params["value"]);
|
||||
});
|
||||
} else if (func == "GetDmaDebug") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) { http::server::stockReply(http::server::bad_request, rep); return; }
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
nlohmann::json tmp;
|
||||
tmp["status"] = "ok";
|
||||
tmp["result"] = cp.getDmaDebug(req.url->params["param"]);
|
||||
result = tmp.dump();
|
||||
});
|
||||
} else {
|
||||
http::server::stockReply(http::server::not_implemented, rep);
|
||||
return;
|
||||
}
|
||||
|
||||
rep.status = http::server::ok;
|
||||
rep.headers.push_back({.name = "Content-Type", .value = toString(mime_types::json)});
|
||||
nlohmann::json resultJson;
|
||||
|
||||
try {
|
||||
resultJson["status"] = "error";
|
||||
if (func == "SetDmaDebug") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `param`";
|
||||
} else if (req.url->params.find("value") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `value`";
|
||||
} else {
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
cp.setDmaDebug(req.url->params["param"], req.url->params["value"]);
|
||||
});
|
||||
}
|
||||
} else if (func == "GetDmaDebug") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `param`";
|
||||
} else {
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
resultJson["status"] = "ok";
|
||||
resultJson["result"] = cp.getDmaDebug(req.url->params["param"]);
|
||||
});
|
||||
}
|
||||
} else if (func == "SetNetwork") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `param`";
|
||||
} else if (req.url->params.find("value") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `value`";
|
||||
} else {
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
cp.setNetwork(req.url->params["param"], req.url->params["value"]);
|
||||
});
|
||||
}
|
||||
} else if (func == "GetNetwork") {
|
||||
if (req.url->params.find("param") == req.url->params.end()) {
|
||||
rep.status = http::server::bad_request;
|
||||
resultJson["error"] = "missing required adgument: `param`";
|
||||
} else {
|
||||
this->api->executeInApi([&](auto& cp) {
|
||||
resultJson["status"] = "ok";
|
||||
resultJson["result"] = cp.getNetwork(req.url->params["param"]);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
resultJson["error"] = "function not supported";
|
||||
}
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "WebHandle(/api/set/qos): Can't set QoS settings: " << e.what();
|
||||
resultJson.clear();
|
||||
resultJson["status"] = "error";
|
||||
resultJson["error"] = e.what();
|
||||
}
|
||||
|
||||
auto result = resultJson.dump();
|
||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||
}));
|
||||
#ifdef API_OBJECT_DEBUG_METRICS_ENABLE
|
||||
|
@ -71,10 +71,10 @@ nlohmann::json api_driver::ApiDriver::loadSettings() const {
|
||||
|
||||
nlohmann::json res = daemon->getSettingsRxTx().asJson();
|
||||
#ifdef API_OBJECT_QOS_SETTINGS_ENABLE
|
||||
res.update(daemon->getQosSettings().asJson());
|
||||
res["qos"] = (daemon->getQosSettings().asJson());
|
||||
#endif
|
||||
#ifdef API_OBJECT_NETWORK_SETTINGS_ENABLE
|
||||
res.update(daemon->getNetworkSettings().asJson());
|
||||
res["network"] = (daemon->getNetworkSettings().asJson());
|
||||
#endif
|
||||
return res;
|
||||
}
|
||||
@ -116,17 +116,53 @@ void api_driver::ApiDriver::setDpdiSettings(const nlohmann::json& data) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_BUCLNB_SETTINGS_ENABLE
|
||||
void api_driver::ApiDriver::setBucLnbSettings(const nlohmann::json& data) {
|
||||
// TODO
|
||||
}
|
||||
auto rxtx = daemon->getSettingsRxTx();
|
||||
rxtx.updateBuclnbSettings(data);
|
||||
|
||||
std::lock_guard _lapi(this->daemon->cpApiMutex);
|
||||
this->daemon->cp.setDmaDebug("begin_save_config", "");
|
||||
rxtx.storeBuclnbSettings(this->daemon->cp);
|
||||
this->daemon->cp.setDmaDebug("save_config", "");
|
||||
rxtx.updateCallback(this->daemon->cp);
|
||||
{
|
||||
daemon->setSettingsRxTx(rxtx);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_QOS_SETTINGS_ENABLE
|
||||
void api_driver::ApiDriver::setQosSettings(const nlohmann::json& data) {
|
||||
// TODO
|
||||
}
|
||||
auto qos = daemon->getQosSettings();
|
||||
qos.updateFromJson(data);
|
||||
|
||||
void api_driver::ApiDriver::setNetworkSettings(const nlohmann::json& data) {
|
||||
// TODO
|
||||
std::lock_guard _lapi(this->daemon->cpApiMutex);
|
||||
this->daemon->cp.setDmaDebug("begin_save_config", "");
|
||||
qos.store(this->daemon->cp);
|
||||
this->daemon->cp.setDmaDebug("save_config", "");
|
||||
qos.updateCallback(this->daemon->cp);
|
||||
{
|
||||
daemon->setQosSettings(qos);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef API_OBJECT_NETWORK_SETTINGS_ENABLE
|
||||
void api_driver::ApiDriver::setNetworkSettings(const nlohmann::json& data) {
|
||||
auto net = daemon->getNetworkSettings();
|
||||
net.updateFromJson(data);
|
||||
|
||||
std::lock_guard _lapi(this->daemon->cpApiMutex);
|
||||
this->daemon->cp.setDmaDebug("begin_save_config", "");
|
||||
net.store(this->daemon->cp);
|
||||
this->daemon->cp.setDmaDebug("save_config", "");
|
||||
net.updateCallback(this->daemon->cp);
|
||||
{
|
||||
daemon->setNetworkSettings(net);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void api_driver::ApiDriver::resetDefaultSettings() {
|
||||
daemon->resetDefaultSettings();
|
||||
|
@ -489,15 +489,6 @@
|
||||
</div>
|
||||
<button class="action-button" @click="settingsSubmitQoS()">Применить <span class="submit-spinner" v-show="submitStatusQos"></span></button>
|
||||
|
||||
<h2>Настройки TCP-акселерации</h2>
|
||||
<div class="settings-set-container">
|
||||
<label>
|
||||
<span>Активировать акселерацию</span>
|
||||
<span class="toggle-input"><input type="checkbox" v-model="paramTcpaccel.accelEn" /><span class="slider"></span></span>
|
||||
</label>
|
||||
<label><span>Максимальное количество соединений</span><input type="number" v-model="paramTcpaccel.accelMaxConnections" max="4000" step="1"/></label>
|
||||
</div>
|
||||
<button class="action-button" @click="settingsSubmitTcpaccel()">Сохранить <span class="submit-spinner" v-show="submitStatus.tcpaccel"></span></button>
|
||||
</div> <div class="tabs-body-item" v-if="activeTab === 'admin' && settingFetchComplete">
|
||||
<h2>Настройки сети</h2>
|
||||
<div class="settings-set-container">
|
||||
@ -595,7 +586,6 @@
|
||||
rxtx: false,
|
||||
dpdi: false,
|
||||
buclnb: false,
|
||||
tcpaccel: false,
|
||||
network: false,
|
||||
firmwareUpload: false,
|
||||
firmwareUpgrade: false,
|
||||
@ -655,10 +645,6 @@
|
||||
srvRefClk10M: false,
|
||||
bucLnbAutoStart: false,
|
||||
},
|
||||
paramTcpaccel: {
|
||||
accelEn: false,
|
||||
accelMaxConnections: 0,
|
||||
},
|
||||
paramNetwork: {
|
||||
netManagementIp: null,
|
||||
netIsL2: false,
|
||||
@ -875,20 +861,6 @@
|
||||
.catch((reason) => { alert(`Ошибка при применении настроек: ${reason}`) })
|
||||
.finally(() => { this.submitStatus.buclnb = false })
|
||||
},
|
||||
settingsSubmitTcpaccel() {
|
||||
if (this.submitStatus.tcpaccel) { return }
|
||||
|
||||
let query = {
|
||||
"accelEn": this.paramTcpaccel.accelEn,
|
||||
"accelMaxConnections": this.paramTcpaccel.accelMaxConnections,
|
||||
}
|
||||
|
||||
this.submitStatus.tcpaccel = true
|
||||
fetch('/api/set/tcpaccel', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(query), credentials: 'same-origin' })
|
||||
.then(async (resp) => { let vals = await resp.json(); if (vals['status'] !== 'ok') { throw new Error(vals['error'] ? vals['error'] : "Server returns undefined error") } this.updateTcpaccelSettings(vals) })
|
||||
.catch((reason) => { alert(`Ошибка при применении настроек: ${reason}`) })
|
||||
.finally(() => { this.submitStatus.tcpaccel = false })
|
||||
},
|
||||
settingsSubmitNetwork() {
|
||||
if (this.submitStatus.network) { return }
|
||||
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
|
||||
@ -910,70 +882,65 @@
|
||||
|
||||
updateRxtxSettings(vals) {
|
||||
this.submitStatus.rxtx = false
|
||||
this.paramRxtx.isCinC = vals["settings"]["isCinC"]
|
||||
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
||||
this.paramRxtx.txAutoStart = vals["settings"]["txAutoStart"]
|
||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["txModulatorIsTest"]
|
||||
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
||||
this.paramRxtx.txCentralFreq = this.inputFormatNumber(vals["settings"]["txCentralFreq"], {min:950000,max:6000000,step:0.01})
|
||||
this.paramRxtx.txBaudrate = this.inputFormatNumber(vals["settings"]["txBaudrate"], {min:200000,max:54000000,})
|
||||
this.paramRxtx.txRolloff = vals["settings"]["txRolloff"]
|
||||
this.paramRxtx.txGoldan = vals["settings"]["txGoldan"]
|
||||
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
||||
this.paramRxtx.dvbServicePacketPeriod = vals["settings"]["dvbServicePacketPeriod"]
|
||||
this.paramRxtx.dvbIsAcm = vals["settings"]["dvbIsAcm"]
|
||||
this.paramRxtx.txFrameSizeNormal = vals["settings"]["txFrameSizeNormal"]
|
||||
this.paramRxtx.txIsPilots = vals["settings"]["txIsPilots"]
|
||||
this.paramRxtx.dvbCcmModulation = vals["settings"]["dvbCcmModulation"]
|
||||
this.paramRxtx.dvbCcmSpeed = vals["settings"]["dvbCcmSpeed"]
|
||||
this.paramRxtx.dvbAcmMinModulation = vals["settings"]["dvbAcmMinModulation"]
|
||||
this.paramRxtx.dvbAcmMinSpeed = vals["settings"]["dvbAcmMinSpeed"]
|
||||
this.paramRxtx.dvbAcmMaxModulation = vals["settings"]["dvbAcmMaxModulation"]
|
||||
this.paramRxtx.dvbAcmMaxSpeed = vals["settings"]["dvbAcmMaxSpeed"]
|
||||
this.paramRxtx.dvbSnrReserve = vals["settings"]["dvbSnrReserve"]
|
||||
this.paramRxtx.aupcEn = vals["settings"]["aupcEn"]
|
||||
this.paramRxtx.aupcMinAttenuation = vals["settings"]["aupcMinAttenuation"]
|
||||
this.paramRxtx.aupcMaxAttenuation = vals["settings"]["aupcMaxAttenuation"]
|
||||
this.paramRxtx.aupcRequiredSnr = vals["settings"]["aupcRequiredSnr"]
|
||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = this.inputFormatNumber(vals["settings"]["rxCentralFreq"], {min:950000,max:6000000,step:0.01})
|
||||
this.paramRxtx.rxBaudrate = this.inputFormatNumber(vals["settings"]["rxBaudrate"], {min:200000,max:54000000,})
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
||||
this.paramRxtx.rxGoldan = vals["settings"]["rxGoldan"]
|
||||
this.paramRxtx.isCinC = vals["settings"]["rxtx"]["isCinC"]
|
||||
this.paramRxtx.txEn = vals["settings"]["rxtx"]["txEn"]
|
||||
this.paramRxtx.txAutoStart = vals["settings"]["rxtx"]["txAutoStart"]
|
||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["rxtx"]["txModulatorIsTest"]
|
||||
this.paramRxtx.txIsTestInput = vals["settings"]["rxtx"]["txIsTestInput"]
|
||||
this.paramRxtx.txCentralFreq = this.inputFormatNumber(vals["settings"]["rxtx"]["txCentralFreq"], {min:950000,max:6000000,step:0.01})
|
||||
this.paramRxtx.txBaudrate = this.inputFormatNumber(vals["settings"]["rxtx"]["txBaudrate"], {min:200000,max:54000000,})
|
||||
this.paramRxtx.txRolloff = vals["settings"]["rxtx"]["txRolloff"]
|
||||
this.paramRxtx.txGoldan = vals["settings"]["rxtx"]["txGoldan"]
|
||||
this.paramRxtx.txAttenuation = vals["settings"]["rxtx"]["txAttenuation"]
|
||||
this.paramRxtx.dvbServicePacketPeriod = vals["settings"]["rxtx"]["dvbServicePacketPeriod"]
|
||||
this.paramRxtx.dvbIsAcm = vals["settings"]["rxtx"]["dvbIsAcm"]
|
||||
this.paramRxtx.txFrameSizeNormal = vals["settings"]["rxtx"]["txFrameSizeNormal"]
|
||||
this.paramRxtx.txIsPilots = vals["settings"]["rxtx"]["txIsPilots"]
|
||||
this.paramRxtx.dvbCcmModulation = vals["settings"]["rxtx"]["dvbCcmModulation"]
|
||||
this.paramRxtx.dvbCcmSpeed = vals["settings"]["rxtx"]["dvbCcmSpeed"]
|
||||
this.paramRxtx.dvbAcmMinModulation = vals["settings"]["rxtx"]["dvbAcmMinModulation"]
|
||||
this.paramRxtx.dvbAcmMinSpeed = vals["settings"]["rxtx"]["dvbAcmMinSpeed"]
|
||||
this.paramRxtx.dvbAcmMaxModulation = vals["settings"]["rxtx"]["dvbAcmMaxModulation"]
|
||||
this.paramRxtx.dvbAcmMaxSpeed = vals["settings"]["rxtx"]["dvbAcmMaxSpeed"]
|
||||
this.paramRxtx.dvbSnrReserve = vals["settings"]["rxtx"]["dvbSnrReserve"]
|
||||
this.paramRxtx.aupcEn = vals["settings"]["rxtx"]["aupcEn"]
|
||||
this.paramRxtx.aupcMinAttenuation = vals["settings"]["rxtx"]["aupcMinAttenuation"]
|
||||
this.paramRxtx.aupcMaxAttenuation = vals["settings"]["rxtx"]["aupcMaxAttenuation"]
|
||||
this.paramRxtx.aupcRequiredSnr = vals["settings"]["rxtx"]["aupcRequiredSnr"]
|
||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxtx"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxtx"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxtx"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = this.inputFormatNumber(vals["settings"]["rxtx"]["rxCentralFreq"], {min:950000,max:6000000,step:0.01})
|
||||
this.paramRxtx.rxBaudrate = this.inputFormatNumber(vals["settings"]["rxtx"]["rxBaudrate"], {min:200000,max:54000000,})
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxtx"]["rxRolloff"]
|
||||
this.paramRxtx.rxGoldan = vals["settings"]["rxtx"]["rxGoldan"]
|
||||
},
|
||||
updateDpdiSettings(vals) {
|
||||
this.submitStatus.dpdi = false
|
||||
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdiIsPositional"]
|
||||
this.paramDpdi.dpdiSearchBandwidth = vals["settings"]["dpdiSearchBandwidth"]
|
||||
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdiPositionStationLatitude"]
|
||||
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdiPositionStationLongitude"]
|
||||
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdiPositionSatelliteLongitude"]
|
||||
this.paramDpdi.dpdiDelayMin = vals["settings"]["dpdiDelayMin"]
|
||||
this.paramDpdi.dpdiDelayMax = vals["settings"]["dpdiDelayMax"]
|
||||
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdi"]["dpdiIsPositional"]
|
||||
this.paramDpdi.dpdiSearchBandwidth = vals["settings"]["dpdi"]["dpdiSearchBandwidth"]
|
||||
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdi"]["dpdiPositionStationLatitude"]
|
||||
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdi"]["dpdiPositionStationLongitude"]
|
||||
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdi"]["dpdiPositionSatelliteLongitude"]
|
||||
this.paramDpdi.dpdiDelayMin = vals["settings"]["dpdi"]["dpdiDelayMin"]
|
||||
this.paramDpdi.dpdiDelayMax = vals["settings"]["dpdi"]["dpdiDelayMax"]
|
||||
},
|
||||
updateBuclnbSettings(vals) {
|
||||
this.submitStatus.buclnb = false
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
||||
},
|
||||
updateTcpaccelSettings(vals) {
|
||||
this.submitStatus.tcpaccel = false
|
||||
this.paramTcpaccel.accelEn = vals["settings"]["accelEn"]
|
||||
this.paramTcpaccel.accelMaxConnections = vals["settings"]["accelMaxConnections"]
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["buclnb"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["buclnb"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["buclnb"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["buclnb"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["buclnb"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["buclnb"]["bucLnbAutoStart"]
|
||||
},
|
||||
updateNetworkSettings(vals) {
|
||||
this.submitStatus.network = false
|
||||
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
||||
this.paramNetwork.netIsL2 = vals["settings"]["netIsL2"]
|
||||
this.paramNetwork.netDataIp = vals["settings"]["netDataIp"]
|
||||
this.paramNetwork.netDataMtu = vals["settings"]["netDataMtu"]
|
||||
this.paramNetwork.netServerName = vals["settings"]["netServerName"]
|
||||
this.paramNetwork.netManagementIp = vals["settings"]["network"]["netManagementIp"]
|
||||
this.paramNetwork.netIsL2 = vals["settings"]["network"]["netIsL2"]
|
||||
this.paramNetwork.netDataIp = vals["settings"]["network"]["netDataIp"]
|
||||
this.paramNetwork.netDataMtu = vals["settings"]["network"]["netDataMtu"]
|
||||
this.paramNetwork.netServerName = vals["settings"]["network"]["netServerName"]
|
||||
},
|
||||
// ========== include end from 'common/all-params-methods.js.j2'
|
||||
|
||||
@ -998,53 +965,52 @@
|
||||
}
|
||||
|
||||
this.lastUpdateTime = new Date();
|
||||
this.initState = vals["mainState"]["initState"]
|
||||
this.isCinC = vals["mainState"]["isCinC"]
|
||||
this.initState = vals["state"]["initState"]
|
||||
this.testState = vals["state"]["testState"]
|
||||
this.isCinC = vals["state"]["isCinC"]
|
||||
|
||||
this.statRx.state = vals["mainState"]["rx.state"]
|
||||
this.statRx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["mainState"]["rx.afc_lock"]
|
||||
this.statRx.pkt_sync = vals["mainState"]["rx.pkt_sync"]
|
||||
this.statRx.snr = vals["mainState"]["rx.snr"]
|
||||
this.statRx.rssi = vals["mainState"]["rx.rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
||||
this.statRx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["mainState"]["rx.isPilots"]
|
||||
this.statRx.symError = vals["mainState"]["rx.symError"]
|
||||
this.statRx.freqErr = vals["mainState"]["rx.freqErr"]
|
||||
this.statRx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"]
|
||||
this.statRx.pllError = vals["mainState"]["rx.pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["mainState"]["rx.packetsOk"]
|
||||
this.statRx.packetsBad = vals["mainState"]["rx.packetsBad"]
|
||||
this.statRx.packetsDummy = vals["mainState"]["rx.packetsDummy"]
|
||||
this.statRx.state = vals["state"]["rx"]["state"]
|
||||
this.statRx.sym_sync_lock = vals["state"]["rx"]["sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["state"]["rx"]["freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["state"]["rx"]["afc_lock"]
|
||||
this.statRx.pkt_sync = vals["state"]["rx"]["pkt_sync"]
|
||||
this.statRx.snr = vals["state"]["rx"]["snr"]
|
||||
this.statRx.rssi = vals["state"]["rx"]["rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["state"]["rx"]["modcod"])
|
||||
this.statRx.frameSizeNormal = vals["state"]["rx"]["frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["state"]["rx"]["isPilots"]
|
||||
this.statRx.symError = vals["state"]["rx"]["symError"]
|
||||
this.statRx.freqErr = vals["state"]["rx"]["freqErr"]
|
||||
this.statRx.freqErrAcc = vals["state"]["rx"]["freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["state"]["rx"]["inputSignalLevel"]
|
||||
this.statRx.pllError = vals["state"]["rx"]["pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["state"]["rx"]["speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["state"]["rx"]["speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["state"]["rx"]["packetsOk"]
|
||||
this.statRx.packetsBad = vals["state"]["rx"]["packetsBad"]
|
||||
this.statRx.packetsDummy = vals["state"]["rx"]["packetsDummy"]
|
||||
|
||||
this.statTx.state = vals["mainState"]["tx.state"]
|
||||
this.statTx.snr = vals["mainState"]["tx.snr"]
|
||||
this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||
this.statTx.frameSizeNormal = vals["mainState"]["tx.frameSizeNormal"]
|
||||
this.statTx.isPilots = vals["mainState"]["tx.isPilots"]
|
||||
this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||
this.statTx.state = vals["state"]["tx"]["state"]
|
||||
this.statTx.snr = vals["state"]["tx"]["snr"]
|
||||
this.statTx.modcod = modcodToStr(vals["state"]["tx"]["modcod"])
|
||||
this.statTx.frameSizeNormal = vals["state"]["tx"]["frameSizeNormal"]
|
||||
this.statTx.isPilots = vals["state"]["tx"]["isPilots"]
|
||||
this.statTx.speedOnTxKbit = vals["state"]["tx"]["speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["state"]["tx"]["speedOnIifKbit"]
|
||||
|
||||
this.statCinc.occ = vals["mainState"]["cinc.occ"]
|
||||
this.statCinc.correlator = vals["mainState"]["cinc.correlator"]
|
||||
this.statCinc.correlatorFails = vals["mainState"]["cinc.correlatorFails"]
|
||||
this.statCinc.freqErr = vals["mainState"]["cinc.freqErr"]
|
||||
this.statCinc.freqErrAcc = vals["mainState"]["cinc.freqErrAcc"]
|
||||
this.statCinc.channelDelay = vals["mainState"]["cinc.channelDelay"]
|
||||
this.statCinc.occ = vals["state"]["cinc"]["occ"]
|
||||
this.statCinc.correlator = vals["state"]["cinc"]["correlator"]
|
||||
this.statCinc.correlatorFails = vals["state"]["cinc"]["correlatorFails"]
|
||||
this.statCinc.freqErr = vals["state"]["cinc"]["freqErr"]
|
||||
this.statCinc.freqErrAcc = vals["state"]["cinc"]["freqErrAcc"]
|
||||
this.statCinc.channelDelay = vals["state"]["cinc"]["channelDelay"]
|
||||
|
||||
this.statDevice.adrv = vals["mainState"]["device.adrv"]
|
||||
this.statDevice.zynq = vals["mainState"]["device.zynq"]
|
||||
this.statDevice.fpga = vals["mainState"]["device.fpga"]
|
||||
|
||||
this.testState = vals["mainState"]["testState"]
|
||||
this.statDevice.adrv = vals["state"]["device"]["adrv"]
|
||||
this.statDevice.zynq = vals["state"]["device"]["zynq"]
|
||||
this.statDevice.fpga = vals["state"]["device"]["fpga"]
|
||||
|
||||
// аптайм приходит в секундах, надо преобразовать его в человеко-читаемый вид
|
||||
let uptime = vals["sysinfo"]["uptime"]
|
||||
let uptime = vals["state"]["device"]["uptime"]
|
||||
if (uptime) {
|
||||
let secs = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
let mins = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
@ -1056,11 +1022,11 @@
|
||||
} else {
|
||||
this.statOs.uptime = '?'
|
||||
}
|
||||
this.statOs.load1 = vals["sysinfo"]["load1min"]
|
||||
this.statOs.load5 = vals["sysinfo"]["load5min"]
|
||||
this.statOs.load15 = vals["sysinfo"]["load15min"]
|
||||
this.statOs.totalram = vals["sysinfo"]["totalram"]
|
||||
this.statOs.freeram = vals["sysinfo"]["freeram"]
|
||||
this.statOs.load1 = vals["state"]["device"]["load1min"]
|
||||
this.statOs.load5 = vals["state"]["device"]["load5min"]
|
||||
this.statOs.load15 = vals["state"]["device"]["load15min"]
|
||||
this.statOs.totalram = vals["state"]["device"]["totalram"]
|
||||
this.statOs.freeram = vals["state"]["device"]["freeram"]
|
||||
},
|
||||
|
||||
resetPacketsStatistics() {
|
||||
@ -1156,15 +1122,17 @@
|
||||
}
|
||||
let query = {
|
||||
"en": this.paramQos.en,
|
||||
"rt1": [],
|
||||
"rt2": [],
|
||||
"rt3": [],
|
||||
"cd": []
|
||||
"profile": {
|
||||
"rt1": [],
|
||||
"rt2": [],
|
||||
"rt3": [],
|
||||
"cd": []
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < this.paramQos.rt1.length; i++) { query.rt1.push(_translateQosClass('rt', this.paramQos.rt1[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt2.length; i++) { query.rt2.push(_translateQosClass('rt', this.paramQos.rt2[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt3.length; i++) { query.rt3.push(_translateQosClass('rt', this.paramQos.rt3[i])) }
|
||||
for (let i = 0; i < this.paramQos.cd.length; i++) { query.cd.push(_translateQosClass('rt', this.paramQos.cd[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt1.length; i++) { query.profile.rt1.push(_translateQosClass('rt', this.paramQos.rt1[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt2.length; i++) { query.profile.rt2.push(_translateQosClass('rt', this.paramQos.rt2[i])) }
|
||||
for (let i = 0; i < this.paramQos.rt3.length; i++) { query.profile.rt3.push(_translateQosClass('rt', this.paramQos.rt3[i])) }
|
||||
for (let i = 0; i < this.paramQos.cd.length; i++) { query.profile.cd.push(_translateQosClass('rt', this.paramQos.cd[i])) }
|
||||
|
||||
//console.log(query)
|
||||
fetch('/api/set/qos', {
|
||||
@ -1185,9 +1153,9 @@
|
||||
|
||||
updateQosSettings(vals) {
|
||||
this.submitStatusQos = false
|
||||
this.paramQos.en = vals["settings"]["qosEnabled"]
|
||||
this.paramQos.en = vals["settings"]["qos"]["en"]
|
||||
|
||||
const qosProfile = vals["settings"]["qosProfile"]
|
||||
const qosProfile = vals["settings"]["qos"]["profile"]
|
||||
if (qosProfile !== null && qosProfile !== undefined) {
|
||||
this.paramQos.rt1 = [] // .splice(0, this.paramQos.rt1.length)
|
||||
this.paramQos.rt2 = [] // .splice(0, this.paramQos.rt2.length)
|
||||
@ -1406,7 +1374,6 @@
|
||||
this.updateRxtxSettings(vals)
|
||||
this.updateDpdiSettings(vals)
|
||||
this.updateBuclnbSettings(vals)
|
||||
this.updateTcpaccelSettings(vals)
|
||||
this.updateNetworkSettings(vals)
|
||||
this.updateQosSettings(vals)
|
||||
|
||||
@ -1443,11 +1410,11 @@
|
||||
try {
|
||||
const fr = await fetch("/api/get/aboutFirmware")
|
||||
const d = await fr.json()
|
||||
this.about.firmwareVersion = d["fw.version"]
|
||||
this.about.modemUid = d["fw.modemId"]
|
||||
this.about.modemSn = d["fw.modemSn"]
|
||||
this.about.macManagement = d["fw.macMang"]
|
||||
this.about.macData = d["fw.macData"]
|
||||
this.about.firmwareVersion = d["firmware"]["version"]
|
||||
this.about.modemUid = d["firmware"]["modemId"]
|
||||
this.about.modemSn = d["firmware"]["modemSn"]
|
||||
this.about.macManagement = d["firmware"]["macMang"]
|
||||
this.about.macData = d["firmware"]["macData"]
|
||||
} catch (e) {
|
||||
console.log('Ошибка загрузки версии ПО', e)
|
||||
}
|
||||
|
@ -513,33 +513,33 @@
|
||||
|
||||
updateRxtxSettings(vals) {
|
||||
this.submitStatus.rxtx = false
|
||||
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
||||
this.paramRxtx.txAutoStart = vals["settings"]["txAutoStart"]
|
||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["txModulatorIsTest"]
|
||||
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
||||
this.paramRxtx.txCentralFreq = vals["settings"]["txCentralFreq"]
|
||||
this.paramRxtx.txBaudrate = vals["settings"]["txBaudrate"]
|
||||
this.paramRxtx.txRolloff = vals["settings"]["txRolloff"]
|
||||
this.paramRxtx.txSpreadCoef = vals["settings"]["txSpreadCoef"]
|
||||
this.paramRxtx.txGoldan = vals["settings"]["txGoldan"]
|
||||
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = vals["settings"]["rxCentralFreq"]
|
||||
this.paramRxtx.rxBaudrate = vals["settings"]["rxBaudrate"]
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
||||
this.paramRxtx.rxSpreadCoef = vals["settings"]["rxSpreadCoef"]
|
||||
this.paramRxtx.rxGoldan = vals["settings"]["rxGoldan"]
|
||||
this.paramRxtx.txEn = vals["settings"]["rxtx"]["txEn"]
|
||||
this.paramRxtx.txAutoStart = vals["settings"]["rxtx"]["txAutoStart"]
|
||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["rxtx"]["txModulatorIsTest"]
|
||||
this.paramRxtx.txIsTestInput = vals["settings"]["rxtx"]["txIsTestInput"]
|
||||
this.paramRxtx.txCentralFreq = vals["settings"]["rxtx"]["txCentralFreq"]
|
||||
this.paramRxtx.txBaudrate = vals["settings"]["rxtx"]["txBaudrate"]
|
||||
this.paramRxtx.txRolloff = vals["settings"]["rxtx"]["txRolloff"]
|
||||
this.paramRxtx.txSpreadCoef = vals["settings"]["rxtx"]["txSpreadCoef"]
|
||||
this.paramRxtx.txGoldan = vals["settings"]["rxtx"]["txGoldan"]
|
||||
this.paramRxtx.txAttenuation = vals["settings"]["rxtx"]["txAttenuation"]
|
||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxtx"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxtx"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxtx"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = vals["settings"]["rxtx"]["rxCentralFreq"]
|
||||
this.paramRxtx.rxBaudrate = vals["settings"]["rxtx"]["rxBaudrate"]
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxtx"]["rxRolloff"]
|
||||
this.paramRxtx.rxSpreadCoef = vals["settings"]["rxtx"]["rxSpreadCoef"]
|
||||
this.paramRxtx.rxGoldan = vals["settings"]["rxtx"]["rxGoldan"]
|
||||
},
|
||||
updateBuclnbSettings(vals) {
|
||||
this.submitStatus.buclnb = false
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["buclnb"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["buclnb"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["buclnb"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["buclnb"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["buclnb"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["buclnb"]["bucLnbAutoStart"]
|
||||
},
|
||||
// ========== include end from 'common/all-params-methods.js.j2'
|
||||
|
||||
@ -564,44 +564,43 @@
|
||||
}
|
||||
|
||||
this.lastUpdateTime = new Date();
|
||||
this.initState = vals["mainState"]["initState"]
|
||||
this.initState = vals["state"]["initState"]
|
||||
this.testState = vals["state"]["testState"]
|
||||
|
||||
this.statRx.state = vals["mainState"]["rx.state"]
|
||||
this.statRx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["mainState"]["rx.afc_lock"]
|
||||
this.statRx.pkt_sync = vals["mainState"]["rx.pkt_sync"]
|
||||
this.statRx.snr = vals["mainState"]["rx.snr"]
|
||||
this.statRx.rssi = vals["mainState"]["rx.rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
||||
this.statRx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["mainState"]["rx.isPilots"]
|
||||
this.statRx.symError = vals["mainState"]["rx.symError"]
|
||||
this.statRx.freqErr = vals["mainState"]["rx.freqErr"]
|
||||
this.statRx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"]
|
||||
this.statRx.pllError = vals["mainState"]["rx.pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["mainState"]["rx.packetsOk"]
|
||||
this.statRx.packetsBad = vals["mainState"]["rx.packetsBad"]
|
||||
this.statRx.packetsDummy = vals["mainState"]["rx.packetsDummy"]
|
||||
this.statRx.state = vals["state"]["rx"]["state"]
|
||||
this.statRx.sym_sync_lock = vals["state"]["rx"]["sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["state"]["rx"]["freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["state"]["rx"]["afc_lock"]
|
||||
this.statRx.pkt_sync = vals["state"]["rx"]["pkt_sync"]
|
||||
this.statRx.snr = vals["state"]["rx"]["snr"]
|
||||
this.statRx.rssi = vals["state"]["rx"]["rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["state"]["rx"]["modcod"])
|
||||
this.statRx.frameSizeNormal = vals["state"]["rx"]["frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["state"]["rx"]["isPilots"]
|
||||
this.statRx.symError = vals["state"]["rx"]["symError"]
|
||||
this.statRx.freqErr = vals["state"]["rx"]["freqErr"]
|
||||
this.statRx.freqErrAcc = vals["state"]["rx"]["freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["state"]["rx"]["inputSignalLevel"]
|
||||
this.statRx.pllError = vals["state"]["rx"]["pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["state"]["rx"]["speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["state"]["rx"]["speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["state"]["rx"]["packetsOk"]
|
||||
this.statRx.packetsBad = vals["state"]["rx"]["packetsBad"]
|
||||
this.statRx.packetsDummy = vals["state"]["rx"]["packetsDummy"]
|
||||
|
||||
this.statTx.state = vals["mainState"]["tx.state"]
|
||||
this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["mainState"]["tx.centerFreq"]
|
||||
this.statTx.symSpeed = vals["mainState"]["tx.symSpeed"]
|
||||
this.statTx.state = vals["state"]["tx"]["state"]
|
||||
this.statTx.modcod = modcodToStr(vals["state"]["tx"]["modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["state"]["tx"]["speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["state"]["tx"]["speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["state"]["tx"]["centerFreq"]
|
||||
this.statTx.symSpeed = vals["state"]["tx"]["symSpeed"]
|
||||
|
||||
this.statDevice.adrv = vals["mainState"]["device.adrv"]
|
||||
this.statDevice.zynq = vals["mainState"]["device.zynq"]
|
||||
this.statDevice.fpga = vals["mainState"]["device.fpga"]
|
||||
|
||||
this.testState = vals["mainState"]["testState"]
|
||||
this.statDevice.adrv = vals["state"]["device"]["adrv"]
|
||||
this.statDevice.zynq = vals["state"]["device"]["zynq"]
|
||||
this.statDevice.fpga = vals["state"]["device"]["fpga"]
|
||||
|
||||
// аптайм приходит в секундах, надо преобразовать его в человеко-читаемый вид
|
||||
let uptime = vals["sysinfo"]["uptime"]
|
||||
let uptime = vals["state"]["device"]["uptime"]
|
||||
if (uptime) {
|
||||
let secs = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
let mins = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
@ -613,11 +612,11 @@
|
||||
} else {
|
||||
this.statOs.uptime = '?'
|
||||
}
|
||||
this.statOs.load1 = vals["sysinfo"]["load1min"]
|
||||
this.statOs.load5 = vals["sysinfo"]["load5min"]
|
||||
this.statOs.load15 = vals["sysinfo"]["load15min"]
|
||||
this.statOs.totalram = vals["sysinfo"]["totalram"]
|
||||
this.statOs.freeram = vals["sysinfo"]["freeram"]
|
||||
this.statOs.load1 = vals["state"]["device"]["load1min"]
|
||||
this.statOs.load5 = vals["state"]["device"]["load5min"]
|
||||
this.statOs.load15 = vals["state"]["device"]["load15min"]
|
||||
this.statOs.totalram = vals["state"]["device"]["totalram"]
|
||||
this.statOs.freeram = vals["state"]["device"]["freeram"]
|
||||
},
|
||||
|
||||
resetPacketsStatistics() {
|
||||
@ -740,11 +739,11 @@
|
||||
try {
|
||||
const fr = await fetch("/api/get/aboutFirmware")
|
||||
const d = await fr.json()
|
||||
this.about.firmwareVersion = d["fw.version"]
|
||||
this.about.modemUid = d["fw.modemId"]
|
||||
this.about.modemSn = d["fw.modemSn"]
|
||||
this.about.macManagement = d["fw.macMang"]
|
||||
this.about.macData = d["fw.macData"]
|
||||
this.about.firmwareVersion = d["firmware"]["version"]
|
||||
this.about.modemUid = d["firmware"]["modemId"]
|
||||
this.about.modemSn = d["firmware"]["modemSn"]
|
||||
this.about.macManagement = d["firmware"]["macMang"]
|
||||
this.about.macData = d["firmware"]["macData"]
|
||||
} catch (e) {
|
||||
console.log('Ошибка загрузки версии ПО', e)
|
||||
}
|
||||
|
@ -551,39 +551,39 @@
|
||||
|
||||
updateRxtxSettings(vals) {
|
||||
this.submitStatus.rxtx = false
|
||||
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["txModulatorIsTest"]
|
||||
this.paramRxtx.txCentralFreq = this.inputFormatNumber(vals["settings"]["txCentralFreq"], {min:900000,step:0.01})
|
||||
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = this.inputFormatNumber(vals["settings"]["rxCentralFreq"], {min:900000,step:0.01})
|
||||
this.paramRxtx.rxBaudrate = this.inputFormatNumber(vals["settings"]["rxBaudrate"], {min:200000,max:54000000,step:1})
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
||||
this.paramRxtx.txEn = vals["settings"]["rxtx"]["txEn"]
|
||||
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.rxAgcEn = vals["settings"]["rxtx"]["rxAgcEn"]
|
||||
this.paramRxtx.rxManualGain = vals["settings"]["rxtx"]["rxManualGain"]
|
||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxtx"]["rxSpectrumInversion"]
|
||||
this.paramRxtx.rxCentralFreq = this.inputFormatNumber(vals["settings"]["rxtx"]["rxCentralFreq"], {min:900000,step:0.01})
|
||||
this.paramRxtx.rxBaudrate = this.inputFormatNumber(vals["settings"]["rxtx"]["rxBaudrate"], {min:200000,max:54000000,step:1})
|
||||
this.paramRxtx.rxRolloff = vals["settings"]["rxtx"]["rxRolloff"]
|
||||
},
|
||||
updateBuclnbSettings(vals) {
|
||||
this.submitStatus.buclnb = false
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["buclnb"]["bucRefClk10M"]
|
||||
this.paramBuclnb.bucPowering = vals["settings"]["buclnb"]["bucPowering"]
|
||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["buclnb"]["lnbRefClk10M"]
|
||||
this.paramBuclnb.lnbPowering = vals["settings"]["buclnb"]["lnbPowering"]
|
||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["buclnb"]["srvRefClk10M"]
|
||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["buclnb"]["bucLnbAutoStart"]
|
||||
},
|
||||
updateDpdiSettings(vals) {
|
||||
this.submitStatus.dpdi = false
|
||||
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdiIsPositional"]
|
||||
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdiPositionStationLatitude"]
|
||||
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdiPositionStationLongitude"]
|
||||
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdiPositionSatelliteLongitude"]
|
||||
this.paramDpdi.dpdiDelay = vals["settings"]["dpdiDelay"]
|
||||
this.paramDpdi.dpdiIsPositional = vals["settings"]["dpdi"]["dpdiIsPositional"]
|
||||
this.paramDpdi.dpdiPositionStationLatitude = vals["settings"]["dpdi"]["dpdiPositionStationLatitude"]
|
||||
this.paramDpdi.dpdiPositionStationLongitude = vals["settings"]["dpdi"]["dpdiPositionStationLongitude"]
|
||||
this.paramDpdi.dpdiPositionSatelliteLongitude = vals["settings"]["dpdi"]["dpdiPositionSatelliteLongitude"]
|
||||
this.paramDpdi.dpdiDelay = vals["settings"]["dpdi"]["dpdiDelay"]
|
||||
},
|
||||
updateNetworkSettings(vals) {
|
||||
this.submitStatus.network = false
|
||||
this.paramNetwork.netCesPassword = vals["settings"]["netCesPassword"]
|
||||
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
||||
this.paramNetwork.netServerName = vals["settings"]["netServerName"]
|
||||
this.paramNetwork.netCesPassword = vals["settings"]["network"]["netCesPassword"]
|
||||
this.paramNetwork.netManagementIp = vals["settings"]["network"]["netManagementIp"]
|
||||
this.paramNetwork.netServerName = vals["settings"]["network"]["netServerName"]
|
||||
},
|
||||
// ========== include end from 'common/all-params-methods.js.j2'
|
||||
|
||||
@ -608,47 +608,46 @@
|
||||
}
|
||||
|
||||
this.lastUpdateTime = new Date();
|
||||
this.initState = vals["mainState"]["initState"]
|
||||
this.initState = vals["state"]["initState"]
|
||||
this.testState = vals["state"]["testState"]
|
||||
|
||||
this.statRx.state = vals["mainState"]["rx.state"]
|
||||
this.statRx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["mainState"]["rx.afc_lock"]
|
||||
this.statRx.pkt_sync = vals["mainState"]["rx.pkt_sync"]
|
||||
this.statRx.snr = vals["mainState"]["rx.snr"]
|
||||
this.statRx.rssi = vals["mainState"]["rx.rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
||||
this.statRx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["mainState"]["rx.isPilots"]
|
||||
this.statRx.symError = vals["mainState"]["rx.symError"]
|
||||
this.statRx.freqErr = vals["mainState"]["rx.freqErr"]
|
||||
this.statRx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"]
|
||||
this.statRx.pllError = vals["mainState"]["rx.pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["mainState"]["rx.packetsOk"]
|
||||
this.statRx.packetsBad = vals["mainState"]["rx.packetsBad"]
|
||||
this.statRx.packetsDummy = vals["mainState"]["rx.packetsDummy"]
|
||||
this.statRx.state = vals["state"]["rx"]["state"]
|
||||
this.statRx.sym_sync_lock = vals["state"]["rx"]["sym_sync_lock"]
|
||||
this.statRx.freq_search_lock = vals["state"]["rx"]["freq_search_lock"]
|
||||
this.statRx.afc_lock = vals["state"]["rx"]["afc_lock"]
|
||||
this.statRx.pkt_sync = vals["state"]["rx"]["pkt_sync"]
|
||||
this.statRx.snr = vals["state"]["rx"]["snr"]
|
||||
this.statRx.rssi = vals["state"]["rx"]["rssi"]
|
||||
this.statRx.modcod = modcodToStr(vals["state"]["rx"]["modcod"])
|
||||
this.statRx.frameSizeNormal = vals["state"]["rx"]["frameSizeNormal"]
|
||||
this.statRx.isPilots = vals["state"]["rx"]["isPilots"]
|
||||
this.statRx.symError = vals["state"]["rx"]["symError"]
|
||||
this.statRx.freqErr = vals["state"]["rx"]["freqErr"]
|
||||
this.statRx.freqErrAcc = vals["state"]["rx"]["freqErrAcc"]
|
||||
this.statRx.inputSignalLevel = vals["state"]["rx"]["inputSignalLevel"]
|
||||
this.statRx.pllError = vals["state"]["rx"]["pllError"]
|
||||
this.statRx.speedOnRxKbit = vals["state"]["rx"]["speedOnRxKbit"]
|
||||
this.statRx.speedOnIifKbit = vals["state"]["rx"]["speedOnIifKbit"]
|
||||
this.statRx.packetsOk = vals["state"]["rx"]["packetsOk"]
|
||||
this.statRx.packetsBad = vals["state"]["rx"]["packetsBad"]
|
||||
this.statRx.packetsDummy = vals["state"]["rx"]["packetsDummy"]
|
||||
|
||||
this.statTx.state = vals["mainState"]["tx.state"]
|
||||
this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["mainState"]["tx.centerFreq"]
|
||||
this.statTx.symSpeed = vals["mainState"]["tx.symSpeed"]
|
||||
this.statTx.state = vals["state"]["tx"]["state"]
|
||||
this.statTx.modcod = modcodToStr(vals["state"]["tx"]["modcod"])
|
||||
this.statTx.speedOnTxKbit = vals["state"]["tx"]["speedOnTxKbit"]
|
||||
this.statTx.speedOnIifKbit = vals["state"]["tx"]["speedOnIifKbit"]
|
||||
this.statTx.centerFreq = vals["state"]["tx"]["centerFreq"]
|
||||
this.statTx.symSpeed = vals["state"]["tx"]["symSpeed"]
|
||||
|
||||
this.statDevice.adrv = vals["mainState"]["device.adrv"]
|
||||
this.statDevice.zynq = vals["mainState"]["device.zynq"]
|
||||
this.statDevice.fpga = vals["mainState"]["device.fpga"]
|
||||
this.statDevice.upgradeStatus = vals["mainState"]["device.upgradeStatus"]
|
||||
this.statDevice.upgradePercent = vals["mainState"]["device.upgradePercent"]
|
||||
this.statDevice.upgradeImage = vals["mainState"]["device.upgradeImage"]
|
||||
|
||||
this.testState = vals["mainState"]["testState"]
|
||||
this.statDevice.adrv = vals["state"]["device"]["adrv"]
|
||||
this.statDevice.zynq = vals["state"]["device"]["zynq"]
|
||||
this.statDevice.fpga = vals["state"]["device"]["fpga"]
|
||||
this.statDevice.upgradeStatus = vals["state"]["device"]["upgradeStatus"]
|
||||
this.statDevice.upgradePercent = vals["state"]["device"]["upgradePercent"]
|
||||
this.statDevice.upgradeImage = vals["state"]["device"]["upgradeImage"]
|
||||
|
||||
// аптайм приходит в секундах, надо преобразовать его в человеко-читаемый вид
|
||||
let uptime = vals["sysinfo"]["uptime"]
|
||||
let uptime = vals["state"]["device"]["uptime"]
|
||||
if (uptime) {
|
||||
let secs = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
let mins = uptime % 60; uptime = Math.floor(uptime / 60)
|
||||
@ -660,11 +659,11 @@
|
||||
} else {
|
||||
this.statOs.uptime = '?'
|
||||
}
|
||||
this.statOs.load1 = vals["sysinfo"]["load1min"]
|
||||
this.statOs.load5 = vals["sysinfo"]["load5min"]
|
||||
this.statOs.load15 = vals["sysinfo"]["load15min"]
|
||||
this.statOs.totalram = vals["sysinfo"]["totalram"]
|
||||
this.statOs.freeram = vals["sysinfo"]["freeram"]
|
||||
this.statOs.load1 = vals["state"]["device"]["load1min"]
|
||||
this.statOs.load5 = vals["state"]["device"]["load5min"]
|
||||
this.statOs.load15 = vals["state"]["device"]["load15min"]
|
||||
this.statOs.totalram = vals["state"]["device"]["totalram"]
|
||||
this.statOs.freeram = vals["state"]["device"]["freeram"]
|
||||
},
|
||||
|
||||
resetPacketsStatistics() {
|
||||
@ -799,11 +798,11 @@
|
||||
try {
|
||||
const fr = await fetch("/api/get/aboutFirmware")
|
||||
const d = await fr.json()
|
||||
this.about.firmwareVersion = d["fw.version"]
|
||||
this.about.modemUid = d["fw.modemId"]
|
||||
this.about.modemSn = d["fw.modemSn"]
|
||||
this.about.macManagement = d["fw.macMang"]
|
||||
this.about.macData = d["fw.macData"]
|
||||
this.about.firmwareVersion = d["firmware"]["version"]
|
||||
this.about.modemUid = d["firmware"]["modemId"]
|
||||
this.about.modemSn = d["firmware"]["modemSn"]
|
||||
this.about.macManagement = d["firmware"]["macMang"]
|
||||
this.about.macData = d["firmware"]["macData"]
|
||||
} catch (e) {
|
||||
console.log('Ошибка загрузки версии ПО', e)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user