работает получение параметров от бекенда (проверено SCPC и TDMA)
This commit is contained in:
parent
0982544c2e
commit
46497bfda0
@ -24,7 +24,7 @@
|
|||||||
{"label": "Тест", "value": "true"}
|
{"label": "Тест", "value": "true"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{"widget": "number", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 900000, "step": 1},
|
{"widget": "number", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 900000, "step": 0.01},
|
||||||
{"widget": "number", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 0, "step": 1},
|
{"widget": "number", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 0, "step": 1},
|
||||||
{"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "min": 0, "step": 1}
|
{"widget": "number", "label": "Ослабление, дБ", "name": "txAttenuation", "min": 0, "step": 1}
|
||||||
]
|
]
|
||||||
@ -42,7 +42,7 @@
|
|||||||
},
|
},
|
||||||
{"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"},
|
{"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"},
|
||||||
{"widget": "number", "label": "Ручное усиление, дБ", "name": "rxManualGain", "v_show": "!paramRxtx.rxAgcEn", "min": -40},
|
{"widget": "number", "label": "Ручное усиление, дБ", "name": "rxManualGain", "v_show": "!paramRxtx.rxAgcEn", "min": -40},
|
||||||
{"widget": "number", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 1},
|
{"widget": "number", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 0.01},
|
||||||
{"widget": "number", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 0, "step": 1},
|
{"widget": "number", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 0, "step": 1},
|
||||||
{
|
{
|
||||||
"widget": "select", "label": "Roll-off", "name": "rxRolloff",
|
"widget": "select", "label": "Roll-off", "name": "rxRolloff",
|
||||||
@ -158,7 +158,7 @@
|
|||||||
"values": [{"label": "SCPC", "value": "false"}, {"label": "Тест", "value": "true"}]
|
"values": [{"label": "SCPC", "value": "false"}, {"label": "Тест", "value": "true"}]
|
||||||
},
|
},
|
||||||
{"widget": "h3", "label": "Параметры передачи"},
|
{"widget": "h3", "label": "Параметры передачи"},
|
||||||
{"widget": "number", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 900000, "step": 1},
|
{"widget": "number", "label": "Центральная частота, КГц", "name": "txCentralFreq", "min": 900000, "step": 0.01},
|
||||||
{"widget": "number", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 0, "step": 1},
|
{"widget": "number", "label": "Символьная скорость, Бод", "name": "txBaudrate", "min": 0, "step": 1},
|
||||||
{
|
{
|
||||||
"widget": "select", "label": "Roll-off", "name": "txRolloff",
|
"widget": "select", "label": "Roll-off", "name": "txRolloff",
|
||||||
@ -198,10 +198,10 @@
|
|||||||
"widget": "settings-container",
|
"widget": "settings-container",
|
||||||
"childs": [
|
"childs": [
|
||||||
{"widget": "h3", "label": "Авто-регулировка мощности"},
|
{"widget": "h3", "label": "Авто-регулировка мощности"},
|
||||||
{"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "acmEn"},
|
{"widget": "checkbox", "label": "Авто-регулировка мощности", "name": "aupcEn"},
|
||||||
{"widget": "number", "label": "Минимальное ослабление, дБ", "name": "acmMinAttenuation", "min": 0, "step": 0.01, "max": 10},
|
{"widget": "number", "label": "Минимальное ослабление, дБ", "name": "aupcMinAttenuation", "min": 0, "step": 0.01, "max": 10},
|
||||||
{"widget": "number", "label": "Максимальное ослабление, дБ", "name": "acmMaxAttenuation", "min": 0, "step": 0.01, "max": 10},
|
{"widget": "number", "label": "Максимальное ослабление, дБ", "name": "aupcMaxAttenuation", "min": 0, "step": 0.01, "max": 10},
|
||||||
{"widget": "number", "label": "Требуемое ОСШ", "name": "acmRequiredSnr", "min": 0, "step": 0.01, "max": 10}
|
{"widget": "number", "label": "Требуемое ОСШ", "name": "aupcRequiredSnr", "min": 0, "step": 0.01, "max": 10}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -214,7 +214,7 @@
|
|||||||
},
|
},
|
||||||
{"widget": "number", "label": "Усиление, дБ", "name": "rxManualGain", "min": -40, "step": 0.01, "max": 40, "v_show": "paramRxtx.rxAgcEn === false"},
|
{"widget": "number", "label": "Усиление, дБ", "name": "rxManualGain", "min": -40, "step": 0.01, "max": 40, "v_show": "paramRxtx.rxAgcEn === false"},
|
||||||
{"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"},
|
{"widget": "checkbox", "label": "Инверсия спектра", "name": "rxSpectrumInversion"},
|
||||||
{"widget": "number", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 1},
|
{"widget": "number", "label": "Центральная частота, КГц", "name": "rxCentralFreq", "min": 900000, "step": 0.01},
|
||||||
{"widget": "number", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 0, "step": 1},
|
{"widget": "number", "label": "Символьная скорость, Бод", "name": "rxBaudrate", "min": 0, "step": 1},
|
||||||
{
|
{
|
||||||
"widget": "select", "label": "Roll-off", "name": "rxRolloff",
|
"widget": "select", "label": "Roll-off", "name": "rxRolloff",
|
||||||
|
@ -29,7 +29,7 @@ def extract_param_names(mc):
|
|||||||
ws = []
|
ws = []
|
||||||
for w in mc['params'][cat]:
|
for w in mc['params'][cat]:
|
||||||
ws += helper_extract(w)
|
ws += helper_extract(w)
|
||||||
ws.sort(key=lambda k: k['name'])
|
# ws.sort(key=lambda k: k['name'])
|
||||||
result.append({
|
result.append({
|
||||||
"group": cat,
|
"group": cat,
|
||||||
"params": ws
|
"params": ws
|
||||||
|
@ -16,48 +16,48 @@ typedef boost::property_tree::ptree::path_type json_path;
|
|||||||
|
|
||||||
static constexpr const char* DEFAULT_QOS_CLASSES = R"({"rt1":[],"rt2":[],"rt3":[],"cd":[]})";
|
static constexpr const char* DEFAULT_QOS_CLASSES = R"({"rt1":[],"rt2":[],"rt3":[],"cd":[]})";
|
||||||
|
|
||||||
static int calculateSubnetMask(const std::string& subnet_mask) {
|
// static int calculateSubnetMask(const std::string& subnet_mask) {
|
||||||
int mask = 0;
|
// int mask = 0;
|
||||||
std::istringstream iss(subnet_mask);
|
// std::istringstream iss(subnet_mask);
|
||||||
std::string octet;
|
// std::string octet;
|
||||||
while (std::getline(iss, octet, '.')) {
|
// while (std::getline(iss, octet, '.')) {
|
||||||
int octet_value = std::stoi(octet);
|
// int octet_value = std::stoi(octet);
|
||||||
for (int i = 7; i >= 0; i--) {
|
// for (int i = 7; i >= 0; i--) {
|
||||||
if (octet_value & (1 << i)) {
|
// if (octet_value & (1 << i)) {
|
||||||
mask++;
|
// mask++;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return mask;
|
// return mask;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Преобразует строку вида `1.2.3.4/24` в пару строк вида `1.2.3.4` `255.255.255.0`
|
* Преобразует строку вида `1.2.3.4/24` в пару строк вида `1.2.3.4` `255.255.255.0`
|
||||||
*/
|
*/
|
||||||
std::pair<std::string, std::string> splitIpAndMask(const std::string& input) {
|
// std::pair<std::string, std::string> splitIpAndMask(const std::string& input) {
|
||||||
auto pos = input.find('/');
|
// auto pos = input.find('/');
|
||||||
if (pos == std::string::npos) {
|
// if (pos == std::string::npos) {
|
||||||
// Обработка ошибки: нет символа '/'
|
// // Обработка ошибки: нет символа '/'
|
||||||
throw std::runtime_error("address not contains mask");
|
// throw std::runtime_error("address not contains mask");
|
||||||
}
|
// }
|
||||||
std::string ip = input.substr(0, pos);
|
// std::string ip = input.substr(0, pos);
|
||||||
const unsigned int mask_int = std::stoul(input.substr(pos + 1));
|
// const unsigned int mask_int = std::stoul(input.substr(pos + 1));
|
||||||
|
//
|
||||||
if (mask_int > 32) {
|
// if (mask_int > 32) {
|
||||||
throw std::runtime_error("invalid mask");
|
// throw std::runtime_error("invalid mask");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
std::string mask_binary = std::string(mask_int, '1') + std::string(32 - mask_int, '0');
|
// std::string mask_binary = std::string(mask_int, '1') + std::string(32 - mask_int, '0');
|
||||||
std::string mask_str;
|
// std::string mask_str;
|
||||||
|
//
|
||||||
for (unsigned int i = 0; i < 4; ++i) {
|
// for (unsigned int i = 0; i < 4; ++i) {
|
||||||
std::string octet = mask_binary.substr(i * 8u, 8);
|
// std::string octet = mask_binary.substr(i * 8u, 8);
|
||||||
int octet_value = std::stoi(octet, nullptr, 2);
|
// int octet_value = std::stoi(octet, nullptr, 2);
|
||||||
mask_str += std::to_string(octet_value) + (i < 3 ? "." : "");
|
// mask_str += std::to_string(octet_value) + (i < 3 ? "." : "");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
return std::make_pair(ip, mask_str);
|
// return std::make_pair(ip, mask_str);
|
||||||
}
|
// }
|
||||||
|
|
||||||
static inline void rtrim(std::string &s) {
|
static inline void rtrim(std::string &s) {
|
||||||
s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) {
|
s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) {
|
||||||
@ -67,7 +67,8 @@ static inline void rtrim(std::string &s) {
|
|||||||
|
|
||||||
class TerminalNetworkSettings {
|
class TerminalNetworkSettings {
|
||||||
public:
|
public:
|
||||||
std::string managementIp, managementGateway, mode, dataIp;
|
std::string managementIp, managementGateway, dataIp;
|
||||||
|
bool isL2 = true;
|
||||||
unsigned int dataMtu = 1500;
|
unsigned int dataMtu = 1500;
|
||||||
|
|
||||||
TerminalNetworkSettings() = default;
|
TerminalNetworkSettings() = default;
|
||||||
@ -79,7 +80,7 @@ public:
|
|||||||
void loadDefaults() {
|
void loadDefaults() {
|
||||||
managementIp = "0.0.0.0";
|
managementIp = "0.0.0.0";
|
||||||
managementGateway = "";
|
managementGateway = "";
|
||||||
mode = "l2";
|
isL2 = true;
|
||||||
dataIp = "0.0.0.0";
|
dataIp = "0.0.0.0";
|
||||||
dataMtu = 1500;
|
dataMtu = 1500;
|
||||||
}
|
}
|
||||||
@ -193,21 +194,22 @@ private:
|
|||||||
|
|
||||||
void updateNetworkSettings() {
|
void updateNetworkSettings() {
|
||||||
TerminalNetworkSettings s;
|
TerminalNetworkSettings s;
|
||||||
std::string tmp;
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &tmp));
|
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &s.managementIp));
|
||||||
s.managementIp = tmp + "/";
|
// s.managementIp = tmp + "/";
|
||||||
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
// tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
||||||
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
// s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
||||||
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway)); s.managementGateway = tmp;
|
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway));
|
||||||
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &tmp));
|
std::string nm; logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &nm));
|
||||||
if (tmp == "tun") {
|
if (nm == "tun") {
|
||||||
s.mode = "l3";
|
s.isL2 = false;
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
||||||
s.dataIp += "/24";
|
// s.dataIp += "/24";
|
||||||
} else {
|
} else {
|
||||||
s.mode = "l2";
|
s.isL2 = true;
|
||||||
s.dataIp = "0.0.0.0/24";
|
// s.dataIp = "0.0.0.0/24";
|
||||||
|
s.dataIp = "0.0.0.0";
|
||||||
}
|
}
|
||||||
s.dataMtu = 1500;
|
s.dataMtu = 1500;
|
||||||
|
|
||||||
@ -564,41 +566,39 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
|
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
|
||||||
const auto mang = splitIpAndMask(s.managementIp);
|
// const auto mang = splitIpAndMask();
|
||||||
std::pair<std::string, std::string> data;
|
// std::pair<std::string, std::string> data;
|
||||||
bool isL2;
|
// if (!s.isL2) {
|
||||||
if (s.mode == "l2") { isL2 = true; }
|
// data = splitIpAndMask(s.dataIp);
|
||||||
else if (s.mode == "l3") { isL2 = false; data = splitIpAndMask(s.dataIp); }
|
// }
|
||||||
else { throw std::runtime_error("invalid mode"); }
|
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mode)", CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun"));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mode)", CP_SetNetwork(sid, "mode", s.isL2 ? "tap" : "tun"));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(addr)", CP_SetNetwork(sid, "addr", mang.first.c_str()));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(addr)", CP_SetNetwork(sid, "addr", s.managementIp.c_str()));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mask)", CP_SetNetwork(sid, "mask", mang.second.c_str()));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mask)", CP_SetNetwork(sid, "mask", "255.255.255.0"));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(gateway)", CP_SetNetwork(sid, "gateway", s.managementGateway.c_str()));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(gateway)", CP_SetNetwork(sid, "gateway", s.managementGateway.c_str()));
|
||||||
if (!isL2) {
|
if (!s.isL2) {
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(data_addr)", CP_SetNetwork(sid, "data_addr", data.first.c_str()));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(data_addr)", CP_SetNetwork(sid, "data_addr", s.dataIp.c_str()));
|
||||||
// TODO маска не устанавливается, потому что в API этого нет
|
// TODO маска не устанавливается, потому что в API этого нет
|
||||||
}
|
}
|
||||||
// TODO MTU не устанавливается, потому что в API этого нет
|
// TODO MTU не устанавливается, потому что в API этого нет
|
||||||
|
|
||||||
if (readback) {
|
if (readback) {
|
||||||
std::string tmp;
|
|
||||||
s.loadDefaults();
|
s.loadDefaults();
|
||||||
s.managementIp.clear();
|
s.managementIp.clear();
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &s.managementIp));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &s.managementIp));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
// logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
||||||
s.managementIp += "/";
|
// s.managementIp += "/";
|
||||||
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
// s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway));
|
||||||
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &tmp));
|
std::string nm; logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &nm));
|
||||||
if (tmp == "tun") {
|
if (nm == "tun") {
|
||||||
s.mode = "l3";
|
s.isL2 = false;
|
||||||
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
||||||
} else {
|
} else {
|
||||||
s.mode = "l2";
|
s.isL2 = true;
|
||||||
s.dataIp = "0.0.0.0/24";
|
s.dataIp = "0.0.0.0";
|
||||||
}
|
}
|
||||||
s.dataMtu = 1500;
|
s.dataMtu = 1500;
|
||||||
{
|
{
|
||||||
@ -799,46 +799,59 @@ void api_driver::ApiDriver::resetPacketStatistics() const {
|
|||||||
this->daemon->resetPacketStatistics();
|
this->daemon->resetPacketStatistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void generateModcode(std::ostream& out, const char* paramName, uint32_t modcod) {
|
#ifdef MODEM_IS_SCPC
|
||||||
struct _modcodDef {const char* modulation; const char* speed;};
|
struct ModcodDef_t {const char* modulation; const char* speed;};
|
||||||
const static _modcodDef defs[] = {
|
const static ModcodDef_t defs[] = {
|
||||||
{.modulation = "DUMMY", .speed = "0"},
|
{.modulation = "DUMMY", .speed = "0"},
|
||||||
{.modulation = "QPSK", .speed = "1/4"},
|
{.modulation = "QPSK", .speed = "1/4"},
|
||||||
{.modulation = "QPSK", .speed = "1/3"},
|
{.modulation = "QPSK", .speed = "1/3"},
|
||||||
{.modulation = "QPSK", .speed = "2/5"},
|
{.modulation = "QPSK", .speed = "2/5"},
|
||||||
{.modulation = "QPSK", .speed = "1/2"},
|
{.modulation = "QPSK", .speed = "1/2"},
|
||||||
{.modulation = "QPSK", .speed = "3/5"},
|
{.modulation = "QPSK", .speed = "3/5"},
|
||||||
{.modulation = "QPSK", .speed = "2/3"},
|
{.modulation = "QPSK", .speed = "2/3"},
|
||||||
{.modulation = "QPSK", .speed = "3/4"},
|
{.modulation = "QPSK", .speed = "3/4"},
|
||||||
{.modulation = "QPSK", .speed = "4/5"},
|
{.modulation = "QPSK", .speed = "4/5"},
|
||||||
{.modulation = "QPSK", .speed = "5/6"},
|
{.modulation = "QPSK", .speed = "5/6"},
|
||||||
{.modulation = "QPSK", .speed = "8/9"},
|
{.modulation = "QPSK", .speed = "8/9"},
|
||||||
{.modulation = "QPSK", .speed = "9/10"},
|
{.modulation = "QPSK", .speed = "9/10"},
|
||||||
{.modulation = "8PSK", .speed = "3/5"},
|
{.modulation = "8PSK", .speed = "3/5"},
|
||||||
{.modulation = "8PSK", .speed = "2/3"},
|
{.modulation = "8PSK", .speed = "2/3"},
|
||||||
{.modulation = "8PSK", .speed = "3/4"},
|
{.modulation = "8PSK", .speed = "3/4"},
|
||||||
{.modulation = "8PSK", .speed = "5/6"},
|
{.modulation = "8PSK", .speed = "5/6"},
|
||||||
{.modulation = "8PSK", .speed = "8/9"},
|
{.modulation = "8PSK", .speed = "8/9"},
|
||||||
{.modulation = "8PSK", .speed = "9/10"},
|
{.modulation = "8PSK", .speed = "9/10"},
|
||||||
{.modulation = "16APSK", .speed = "2/3"},
|
{.modulation = "16APSK", .speed = "2/3"},
|
||||||
{.modulation = "16APSK", .speed = "3/4"},
|
{.modulation = "16APSK", .speed = "3/4"},
|
||||||
{.modulation = "16APSK", .speed = "4/5"},
|
{.modulation = "16APSK", .speed = "4/5"},
|
||||||
{.modulation = "16APSK", .speed = "5/6"},
|
{.modulation = "16APSK", .speed = "5/6"},
|
||||||
{.modulation = "16APSK", .speed = "8/9"},
|
{.modulation = "16APSK", .speed = "8/9"},
|
||||||
{.modulation = "16APSK", .speed = "9/10"},
|
{.modulation = "16APSK", .speed = "9/10"},
|
||||||
{.modulation = "32APSK", .speed = "3/4"},
|
{.modulation = "32APSK", .speed = "3/4"},
|
||||||
{.modulation = "32APSK", .speed = "4/5"},
|
{.modulation = "32APSK", .speed = "4/5"},
|
||||||
{.modulation = "32APSK", .speed = "5/6"},
|
{.modulation = "32APSK", .speed = "5/6"},
|
||||||
{.modulation = "32APSK", .speed = "8/9"},
|
{.modulation = "32APSK", .speed = "8/9"},
|
||||||
{.modulation = "32APSK", .speed = "9/10"},
|
{.modulation = "32APSK", .speed = "9/10"},
|
||||||
};
|
};
|
||||||
const _modcodDef* d = defs;
|
|
||||||
|
static const char* extractModcodModulation(uint32_t modcod, bool defaultQpsk1_4 = true) {
|
||||||
|
modcod >>= 2;
|
||||||
|
const auto* d = defaultQpsk1_4 ? defs : defs + 1;
|
||||||
if (modcod < 28) {
|
if (modcod < 28) {
|
||||||
d = defs + modcod;
|
d = defs + modcod;
|
||||||
}
|
}
|
||||||
|
return d->modulation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char* extractModcodSpeed(uint32_t modcod, bool defaultQpsk1_4 = true) {
|
||||||
|
modcod >>= 2;
|
||||||
|
const auto* d = defaultQpsk1_4 ? defs : defs + 1;
|
||||||
|
if (modcod < 28) {
|
||||||
|
d = defs + modcod;
|
||||||
|
}
|
||||||
|
return d->speed;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
std::string api_driver::ApiDriver::loadSettings() const {
|
std::string api_driver::ApiDriver::loadSettings() const {
|
||||||
if (daemon == nullptr) {
|
if (daemon == nullptr) {
|
||||||
return R"({"error": "api daemon not started!"})";
|
return R"({"error": "api daemon not started!"})";
|
||||||
@ -858,91 +871,92 @@ std::string api_driver::ApiDriver::loadSettings() const {
|
|||||||
daemon->getNetworkSettings(network);
|
daemon->getNetworkSettings(network);
|
||||||
|
|
||||||
std::stringstream result;
|
std::stringstream result;
|
||||||
|
result << "{\n\"txAutoStart\":" << boolAsStr(modSettings.is_save_current_state);
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
result << "{\n\"isCinC\":" << boolAsStr(modSettings.is_cinc);
|
|
||||||
result << ",\"txEn\":" << boolAsStr(modSettings.tx_is_on);
|
|
||||||
result << ",\"txModulatorIsTest\":" << boolAsStr(!modSettings.is_carrier);
|
result << ",\"txModulatorIsTest\":" << boolAsStr(!modSettings.is_carrier);
|
||||||
result << ",\"txAutoStart\":" << boolAsStr(modSettings.is_save_current_state);
|
#endif
|
||||||
result << ",\"txIsTestInput\":" << boolAsStr(modSettings.is_test_data);
|
result << ",\"txIsTestInput\":" << boolAsStr(modSettings.is_test_data);
|
||||||
result << ",\n\"txAttenuation\":"; writeDouble(result, modSettings.attenuation);
|
result << ",\"txCentralFreq\":"; writeDouble(result, modSettings.central_freq_in_kGz);
|
||||||
result << ",\"txRolloff\":" << static_cast<int>(modSettings.rollof * 100);
|
|
||||||
result << ",\"txBaudrate\":" << modSettings.baudrate;
|
result << ",\"txBaudrate\":" << modSettings.baudrate;
|
||||||
result << ",\"txCentralFreq\":"; writeDouble(result, modSettings.central_freq_in_kGz, 3);
|
result << ",\"txRolloff\":" << static_cast<int>(modSettings.rollof * 100);
|
||||||
result << ",\"dvbs2.frameSizeNormal\":" << boolAsStr(!(modSettings.modcod_tx & 2));
|
#ifdef MODEM_IS_SCPC
|
||||||
result << ",\"dvbs2.ccm_modcod\":" << (modSettings.modcod_tx >> 2);
|
// result << ",\"txGoldan\":" << static_cast<int>(modSettings.qold_seq_is_active); // TODO обновить библиотеку
|
||||||
|
#endif
|
||||||
|
result << ",\"txAttenuation\":"; writeDouble(result, modSettings.attenuation);
|
||||||
|
|
||||||
// result << ",\"dvbs2.isPilots\":" << "null";
|
#ifdef MODEM_IS_SCPC
|
||||||
result << ",\n\"dvbIsAcm\":" << boolAsStr(acmSettings.enable);
|
result << ",\n\"isCinC\":" << boolAsStr(modSettings.is_cinc);
|
||||||
result << ",\"dvbs2.acm_maxModcod\":" << (acmSettings.max_modcod >> 2);
|
result << ",\n\"dvbServicePacketPeriod\":" << acmSettings.period_pack;
|
||||||
result << ",\"dvbs2.acm_minModcod\":" << (acmSettings.min_modcod >> 2);
|
result << ",\"dvbIsAcm\":" << boolAsStr(acmSettings.enable);
|
||||||
result << ",\"dvbs2.snrReserve\":"; writeDouble(result, acmSettings.snr_treashold_acm);
|
result << ",\"txFrameSizeNormal\":" << boolAsStr((modSettings.modcod_tx & 2) == 0);
|
||||||
result << ",\"dvbServicePacketPeriod\":" << acmSettings.period_pack;
|
|
||||||
|
|
||||||
result << ",\n\"acm.en\":" << boolAsStr(acmSettings.enable_auto_atten);
|
result << R"(,"dvbCcmModulation":")" << extractModcodModulation(modSettings.modcod_tx) << "\"";
|
||||||
result << ",\"acm.maxAttenuation\":"; writeDouble(result, acmSettings.max_attenuation);
|
result << R"(,"dvbCcmSpeed":")" << extractModcodSpeed(modSettings.modcod_tx) << "\"";
|
||||||
result << ",\"acm.minAttenuation\":"; writeDouble(result, acmSettings.min_attenuation);
|
result << R"(,"dvbAcmMinModulation":")" << extractModcodModulation(acmSettings.min_modcod) << "\"";
|
||||||
result << ",\"acm.requiredSnr\":"; writeDouble(result, acmSettings.snr_treashold);
|
result << R"(,"dvbAcmMinSpeed":")" << extractModcodSpeed(acmSettings.min_modcod) << "\"";
|
||||||
|
result << R"(,"dvbAcmMaxModulation":")" << extractModcodModulation(acmSettings.max_modcod) << "\"";
|
||||||
|
result << R"(,"dvbAcmMaxSpeed":")" << extractModcodSpeed(acmSettings.max_modcod) << "\"";
|
||||||
|
result << ",\"dvbSnrReserve\":"; writeDouble(result, acmSettings.snr_treashold_acm);
|
||||||
|
|
||||||
result << ",\n\"rx.gainMode\":" << (demodSettings.is_aru_on ? "\"auto\"" : "\"manual\"");
|
result << ",\n\"aupcEn\":" << boolAsStr(acmSettings.enable_auto_atten);
|
||||||
result << ",\"rx.manualGain\":"; writeDouble(result, demodSettings.gain);
|
result << ",\"aupcMinAttenuation\":"; writeDouble(result, acmSettings.min_attenuation);
|
||||||
result << ",\"rx.spectrumInversion\":" << boolAsStr(demodSettings.is_rvt_iq);
|
result << ",\"aupcMaxAttenuation\":"; writeDouble(result, acmSettings.max_attenuation);
|
||||||
result << ",\"rx.rolloff\":" << static_cast<int>(demodSettings.rollof * 100);
|
result << ",\"aupcRequiredSnr\":"; writeDouble(result, acmSettings.snr_treashold);
|
||||||
result << ",\"rx.cymRate\":" << demodSettings.baudrate;
|
|
||||||
result << ",\"rx.centerFreq\":"; writeDouble(result, demodSettings.central_freq_in_kGz);
|
|
||||||
|
|
||||||
result << ",\n\"cinc.mode\":" << (dpdiSettings.is_delay_window ? "\"delay\"" : "\"positional\"");
|
result << ",\n\"cincIsPositional\":" << boolAsStr(!dpdiSettings.is_delay_window);
|
||||||
result << ",\"cinc.searchBandwidth\":" << dpdiSettings.freq_offset; // полоса поиска в кГц
|
result << ",\"cincSearchBandwidth\":" << dpdiSettings.freq_offset; // полоса поиска в кГц
|
||||||
result << ",\"cinc.position.station.latitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.latitude_station_grad, dpdiSettings.latitude_station_minute), 6);
|
result << ",\"cincPositionStationLatitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.latitude_station_grad, dpdiSettings.latitude_station_minute), 6);
|
||||||
result << ",\"cinc.position.station.longitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_station_grad, dpdiSettings.longitude_station_minute), 6);
|
result << ",\"cincPositionStationLongitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_station_grad, dpdiSettings.longitude_station_minute), 6);
|
||||||
result << ",\"cinc.position.satelliteLongitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_sattelite_grad, dpdiSettings.longitude_sattelite_minute), 6);
|
result << ",\"cincPositionSatelliteLongitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_sattelite_grad, dpdiSettings.longitude_sattelite_minute), 6);
|
||||||
result << ",\"cinc.delayMin\":" << dpdiSettings.min_delay;
|
result << ",\"cincDelayMin\":" << dpdiSettings.min_delay;
|
||||||
result << ",\"cinc.delayMax\":" << dpdiSettings.max_delay;
|
result << ",\"cincDelayMax\":" << dpdiSettings.max_delay;
|
||||||
#else
|
|
||||||
result << "{\n\"tx.txEn\":" << boolAsStr(modSettings.tx_is_on);
|
|
||||||
result << ",\"tx.isTestInputData\":" << boolAsStr(modSettings.is_test_data);
|
|
||||||
result << ",\"tx.cymRate\":" << modSettings.baudrate;
|
|
||||||
result << ",\"tx.centerFreq\":"; writeDouble(result, modSettings.central_freq_in_kGz, 3);
|
|
||||||
result << ",\"tx.attenuation\":"; writeDouble(result, modSettings.attenuation);
|
|
||||||
|
|
||||||
result << ",\n\"rx.gainMode\":" << (demodSettings.is_aru_on ? "\"auto\"" : "\"manual\"");
|
|
||||||
result << ",\"rx.manualGain\":"; writeDouble(result, demodSettings.gain);
|
|
||||||
result << ",\"rx.spectrumInversion\":" << boolAsStr(demodSettings.is_rvt_iq);
|
|
||||||
result << ",\"rx.rolloff\":" << static_cast<int>(demodSettings.rollof * 100);
|
|
||||||
result << ",\"rx.cymRate\":" << demodSettings.baudrate;
|
|
||||||
result << ",\"rx.centerFreq\":"; writeDouble(result, demodSettings.central_freq_in_kGz);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
result << ",\n\"buc.refClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_buc);
|
result << ",\n\"rxAgcEn\":" << boolAsStr(demodSettings.is_aru_on);
|
||||||
|
result << ",\"rxSpectrumInversion\":" << boolAsStr(demodSettings.is_rvt_iq);
|
||||||
|
result << ",\"rxManualGain\":"; writeDouble(result, demodSettings.gain);
|
||||||
|
result << ",\"rxCentralFreq\":"; writeDouble(result, demodSettings.central_freq_in_kGz);
|
||||||
|
result << ",\"rxBaudrate\":" << demodSettings.baudrate;
|
||||||
|
result << ",\"rxRolloff\":" << static_cast<int>(demodSettings.rollof * 100);
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
|
// result << ",\"txGoldan\":" << static_cast<int>(demodSettings.qold_seq_is_active); // TODO обновить библиотеку
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// BUC LNB
|
||||||
|
result << ",\n\"bucRefClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_buc);
|
||||||
switch (bucLnb.buc) {
|
switch (bucLnb.buc) {
|
||||||
case voltage_buc::_24V: result << ",\"buc.powering\":24"; break;
|
case voltage_buc::_24V: result << ",\"bucPowering\":24"; break;
|
||||||
case voltage_buc::_48V: result << ",\"buc.powering\":48"; break;
|
#ifdef MODEM_IS_SCPC
|
||||||
|
case voltage_buc::_48V: result << ",\"bucPowering\":48"; break;
|
||||||
|
#endif
|
||||||
case voltage_buc::DISABLE:
|
case voltage_buc::DISABLE:
|
||||||
default: result << ",\"buc.powering\":0";
|
default: result << ",\"bucPowering\":0";
|
||||||
}
|
}
|
||||||
|
|
||||||
result << ",\n\"lnb.refClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_lnb);
|
result << ",\"lnbRefClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_lnb);
|
||||||
switch (bucLnb.lnb) {
|
switch (bucLnb.lnb) {
|
||||||
case voltage_lnb::_13V: result << ",\"lnb.powering\":13"; break;
|
case voltage_lnb::_13V: result << ",\"lnbPowering\":13"; break;
|
||||||
case voltage_lnb::_18V: result << ",\"lnb.powering\":18"; break;
|
case voltage_lnb::_18V: result << ",\"lnbPowering\":18"; break;
|
||||||
case voltage_lnb::_24V: result << ",\"lnb.powering\":24"; break;
|
case voltage_lnb::_24V: result << ",\"lnbPowering\":24"; break;
|
||||||
case voltage_lnb::DISABLE:
|
case voltage_lnb::DISABLE:
|
||||||
default: result << ",\"lnb.powering\":0";
|
default: result << ",\"lnbPowering\":0";
|
||||||
}
|
}
|
||||||
|
|
||||||
result << ",\n\"serviceSettings.refClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_output);
|
result << ",\"srvRefClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_output);
|
||||||
result << ",\"serviceSettings.autoStart\":" << boolAsStr(bucLnb.is_save_current_state);
|
result << ",\"bucLnbAutoStart\":" << boolAsStr(bucLnb.is_save_current_state);
|
||||||
|
|
||||||
|
// QoS
|
||||||
bool qosEnabled = false; std::string qosClasses;
|
bool qosEnabled = false; std::string qosClasses;
|
||||||
daemon->getQosSettings(qosEnabled, qosClasses);
|
daemon->getQosSettings(qosEnabled, qosClasses);
|
||||||
result << ",\n\"qos.enabled\":" << boolAsStr(qosEnabled);
|
result << ",\n\"qosEnabled\":" << boolAsStr(qosEnabled);
|
||||||
result << ",\"qos.profile\":" << qosClasses;
|
result << ",\"qosProfile\":" << qosClasses;
|
||||||
|
|
||||||
// сеть
|
// сеть
|
||||||
result << ",\"network.managementIp\":\n" << buildEscapedString(network.managementIp);
|
result << ",\"netManagementIp\":\n" << buildEscapedString(network.managementIp);
|
||||||
result << ",\"network.managementGateway\":\n" << buildEscapedString(network.managementGateway);
|
result << ",\"netIsL2\":\n" << boolAsStr(network.isL2);
|
||||||
result << ",\"network.mode\":\n" << buildEscapedString(network.mode);
|
result << ",\"netManagementGateway\":\n" << buildEscapedString(network.managementGateway);
|
||||||
result << ",\"network.dataIp\":\n" << buildEscapedString(network.dataIp);
|
result << ",\"netDataIp\":\n" << buildEscapedString(network.dataIp);
|
||||||
result << ",\"network.dataMtu\":\n" << network.dataMtu;
|
result << ",\"netDataMtu\":\n" << network.dataMtu;
|
||||||
|
|
||||||
result << "}";
|
result << "}";
|
||||||
return result.str();
|
return result.str();
|
||||||
@ -969,11 +983,14 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
|||||||
demodulator_settings demod{};
|
demodulator_settings demod{};
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
ACM_parameters_serv_ acm{};
|
ACM_parameters_serv_ acm{};
|
||||||
|
daemon->getSettings(&mod, &demod, &acm, nullptr, nullptr);
|
||||||
|
#else
|
||||||
|
daemon->getSettings(&mod, &demod, nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// для модулятора
|
// для модулятора
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
mod.is_cinc = pt.get<bool>(json_path("general.isCinC", '/'));
|
mod.is_cinc = pt.get<bool>("isCinC");
|
||||||
mod.tx_is_on = pt.get<bool>(json_path("general.txEn", '/'));
|
mod.tx_is_on = pt.get<bool>(json_path("general.txEn", '/'));
|
||||||
auto tmp = pt.get<std::string>(json_path("general.modulatorMode", '/'));
|
auto tmp = pt.get<std::string>(json_path("general.modulatorMode", '/'));
|
||||||
if (tmp == "normal") { mod.is_carrier = true; }
|
if (tmp == "normal") { mod.is_carrier = true; }
|
||||||
@ -1109,7 +1126,7 @@ void api_driver::ApiDriver::setNetworkSettings(boost::property_tree::ptree &pt)
|
|||||||
TerminalNetworkSettings s;
|
TerminalNetworkSettings s;
|
||||||
s.managementIp = pt.get<std::string>(json_path("network.managementIp", '/'));
|
s.managementIp = pt.get<std::string>(json_path("network.managementIp", '/'));
|
||||||
s.managementGateway = pt.get<std::string>(json_path("network.managementGateway", '/'));
|
s.managementGateway = pt.get<std::string>(json_path("network.managementGateway", '/'));
|
||||||
s.mode = pt.get<std::string>(json_path("network.mode", '/'));
|
s.isL2 = pt.get<bool>(json_path("network.mode", '/'));
|
||||||
s.dataIp = pt.get<std::string>(json_path("network.dataIp", '/'));
|
s.dataIp = pt.get<std::string>(json_path("network.dataIp", '/'));
|
||||||
s.dataMtu = pt.get<unsigned int>(json_path("network.dataMtu", '/'));
|
s.dataMtu = pt.get<unsigned int>(json_path("network.dataMtu", '/'));
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<h3>Параметры передачи</h3>
|
<h3>Параметры передачи</h3>
|
||||||
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.txCentralFreq" min="900000" step="1"/></label>
|
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.txCentralFreq" min="900000" step="0.01"/></label>
|
||||||
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.txBaudrate" step="1"/></label>
|
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.txBaudrate" step="1"/></label>
|
||||||
<label>
|
<label>
|
||||||
<span>Roll-off</span>
|
<span>Roll-off</span>
|
||||||
@ -253,11 +253,11 @@
|
|||||||
<h3>Авто-регулировка мощности</h3>
|
<h3>Авто-регулировка мощности</h3>
|
||||||
<label>
|
<label>
|
||||||
<span>Авто-регулировка мощности</span>
|
<span>Авто-регулировка мощности</span>
|
||||||
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.acmEn" /><span class="slider"></span></span>
|
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.aupcEn" /><span class="slider"></span></span>
|
||||||
</label>
|
</label>
|
||||||
<label><span>Минимальное ослабление, дБ</span><input type="number" v-model="paramRxtx.acmMinAttenuation" max="10" step="0.01"/></label>
|
<label><span>Минимальное ослабление, дБ</span><input type="number" v-model="paramRxtx.aupcMinAttenuation" max="10" step="0.01"/></label>
|
||||||
<label><span>Максимальное ослабление, дБ</span><input type="number" v-model="paramRxtx.acmMaxAttenuation" max="10" step="0.01"/></label>
|
<label><span>Максимальное ослабление, дБ</span><input type="number" v-model="paramRxtx.aupcMaxAttenuation" max="10" step="0.01"/></label>
|
||||||
<label><span>Требуемое ОСШ</span><input type="number" v-model="paramRxtx.acmRequiredSnr" max="10" step="0.01"/></label>
|
<label><span>Требуемое ОСШ</span><input type="number" v-model="paramRxtx.aupcRequiredSnr" max="10" step="0.01"/></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-set-container">
|
<div class="settings-set-container">
|
||||||
<h3>Настройки приемника</h3>
|
<h3>Настройки приемника</h3>
|
||||||
@ -273,7 +273,7 @@
|
|||||||
<span>Инверсия спектра</span>
|
<span>Инверсия спектра</span>
|
||||||
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.rxSpectrumInversion" /><span class="slider"></span></span>
|
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.rxSpectrumInversion" /><span class="slider"></span></span>
|
||||||
</label>
|
</label>
|
||||||
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.rxCentralFreq" min="900000" step="1"/></label>
|
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.rxCentralFreq" min="900000" step="0.01"/></label>
|
||||||
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.rxBaudrate" step="1"/></label>
|
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.rxBaudrate" step="1"/></label>
|
||||||
<label>
|
<label>
|
||||||
<span>Roll-off</span>
|
<span>Roll-off</span>
|
||||||
@ -559,64 +559,64 @@
|
|||||||
|
|
||||||
// ========== include from 'common/all-params-data.js.j2'
|
// ========== include from 'common/all-params-data.js.j2'
|
||||||
paramRxtx: {
|
paramRxtx: {
|
||||||
acmEn: false,
|
isCinC: false,
|
||||||
acmMaxAttenuation: 0,
|
txEn: false,
|
||||||
acmMinAttenuation: 0,
|
txAutoStart: false,
|
||||||
acmRequiredSnr: 0,
|
txModulatorIsTest: false,
|
||||||
dvbAcmMaxModulation: "QPSK",
|
txIsTestInput: false,
|
||||||
dvbAcmMaxSpeed: "1/4",
|
txCentralFreq: 900000,
|
||||||
dvbAcmMinModulation: "QPSK",
|
txBaudrate: 0,
|
||||||
dvbAcmMinSpeed: "1/4",
|
txRolloff: 2,
|
||||||
|
txGoldan: 0,
|
||||||
|
txAttenuation: 0,
|
||||||
|
dvbServicePacketPeriod: 0,
|
||||||
|
dvbIsAcm: false,
|
||||||
|
txFrameSizeNormal: true,
|
||||||
dvbCcmModulation: "QPSK",
|
dvbCcmModulation: "QPSK",
|
||||||
dvbCcmSpeed: "1/4",
|
dvbCcmSpeed: "1/4",
|
||||||
dvbIsAcm: false,
|
dvbAcmMinModulation: "QPSK",
|
||||||
dvbServicePacketPeriod: 0,
|
dvbAcmMinSpeed: "1/4",
|
||||||
|
dvbAcmMaxModulation: "QPSK",
|
||||||
|
dvbAcmMaxSpeed: "1/4",
|
||||||
dvbSnrReserve: 0,
|
dvbSnrReserve: 0,
|
||||||
isCinC: false,
|
aupcEn: false,
|
||||||
|
aupcMinAttenuation: 0,
|
||||||
|
aupcMaxAttenuation: 0,
|
||||||
|
aupcRequiredSnr: 0,
|
||||||
rxAgcEn: false,
|
rxAgcEn: false,
|
||||||
rxBaudrate: 0,
|
|
||||||
rxCentralFreq: 900000,
|
|
||||||
rxGoldan: 0,
|
|
||||||
rxManualGain: -40,
|
rxManualGain: -40,
|
||||||
rxRolloff: 2,
|
|
||||||
rxSpectrumInversion: false,
|
rxSpectrumInversion: false,
|
||||||
txAttenuation: 0,
|
rxCentralFreq: 900000,
|
||||||
txAutoStart: false,
|
rxBaudrate: 0,
|
||||||
txBaudrate: 0,
|
rxRolloff: 2,
|
||||||
txCentralFreq: 900000,
|
rxGoldan: 0,
|
||||||
txEn: false,
|
|
||||||
txFrameSizeNormal: true,
|
|
||||||
txGoldan: 0,
|
|
||||||
txIsTestInput: false,
|
|
||||||
txModulatorIsTest: false,
|
|
||||||
txRolloff: 2,
|
|
||||||
},
|
},
|
||||||
paramCinc: {
|
paramCinc: {
|
||||||
cincDelayMax: 0,
|
|
||||||
cincDelayMin: 0,
|
|
||||||
cincIsPositional: true,
|
cincIsPositional: true,
|
||||||
cincPositionSatelliteLongitude: -180,
|
cincSearchBandwidth: 0,
|
||||||
cincPositionStationLatitude: -180,
|
cincPositionStationLatitude: -180,
|
||||||
cincPositionStationLongitude: -180,
|
cincPositionStationLongitude: -180,
|
||||||
cincSearchBandwidth: 0,
|
cincPositionSatelliteLongitude: -180,
|
||||||
|
cincDelayMin: 0,
|
||||||
|
cincDelayMax: 0,
|
||||||
},
|
},
|
||||||
paramBuclnb: {
|
paramBuclnb: {
|
||||||
bucLnbAutoStart: false,
|
|
||||||
bucPowering: 0,
|
|
||||||
bucRefClk10M: false,
|
bucRefClk10M: false,
|
||||||
lnbPowering: 0,
|
bucPowering: 0,
|
||||||
lnbRefClk10M: false,
|
lnbRefClk10M: false,
|
||||||
|
lnbPowering: 0,
|
||||||
srvRefClk10M: false,
|
srvRefClk10M: false,
|
||||||
|
bucLnbAutoStart: false,
|
||||||
},
|
},
|
||||||
paramTcpaccel: {
|
paramTcpaccel: {
|
||||||
accelEn: false,
|
accelEn: false,
|
||||||
accelMaxConnections: 0,
|
accelMaxConnections: 0,
|
||||||
},
|
},
|
||||||
paramNetwork: {
|
paramNetwork: {
|
||||||
|
netManagementIp: null,
|
||||||
|
netIsL2: false,
|
||||||
netDataIp: null,
|
netDataIp: null,
|
||||||
netDataMtu: 1500,
|
netDataMtu: 1500,
|
||||||
netIsL2: false,
|
|
||||||
netManagementIp: null,
|
|
||||||
},
|
},
|
||||||
// ========== include end from 'common/all-params-data.js.j2'
|
// ========== include end from 'common/all-params-data.js.j2'
|
||||||
|
|
||||||
@ -739,37 +739,37 @@
|
|||||||
if (this.submitStatus.rxtx) { return }
|
if (this.submitStatus.rxtx) { return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
"acmEn": this.paramRxtx.acmEn,
|
"isCinC": this.paramRxtx.isCinC,
|
||||||
"acmMaxAttenuation": this.paramRxtx.acmMaxAttenuation,
|
"txEn": this.paramRxtx.txEn,
|
||||||
"acmMinAttenuation": this.paramRxtx.acmMinAttenuation,
|
"txAutoStart": this.paramRxtx.txAutoStart,
|
||||||
"acmRequiredSnr": this.paramRxtx.acmRequiredSnr,
|
"txModulatorIsTest": this.paramRxtx.txModulatorIsTest,
|
||||||
"dvbAcmMaxModulation": this.paramRxtx.dvbAcmMaxModulation,
|
"txIsTestInput": this.paramRxtx.txIsTestInput,
|
||||||
"dvbAcmMaxSpeed": this.paramRxtx.dvbAcmMaxSpeed,
|
"txCentralFreq": this.paramRxtx.txCentralFreq,
|
||||||
"dvbAcmMinModulation": this.paramRxtx.dvbAcmMinModulation,
|
"txBaudrate": this.paramRxtx.txBaudrate,
|
||||||
"dvbAcmMinSpeed": this.paramRxtx.dvbAcmMinSpeed,
|
"txRolloff": this.paramRxtx.txRolloff,
|
||||||
|
"txGoldan": this.paramRxtx.txGoldan,
|
||||||
|
"txAttenuation": this.paramRxtx.txAttenuation,
|
||||||
|
"dvbServicePacketPeriod": this.paramRxtx.dvbServicePacketPeriod,
|
||||||
|
"dvbIsAcm": this.paramRxtx.dvbIsAcm,
|
||||||
|
"txFrameSizeNormal": this.paramRxtx.txFrameSizeNormal,
|
||||||
"dvbCcmModulation": this.paramRxtx.dvbCcmModulation,
|
"dvbCcmModulation": this.paramRxtx.dvbCcmModulation,
|
||||||
"dvbCcmSpeed": this.paramRxtx.dvbCcmSpeed,
|
"dvbCcmSpeed": this.paramRxtx.dvbCcmSpeed,
|
||||||
"dvbIsAcm": this.paramRxtx.dvbIsAcm,
|
"dvbAcmMinModulation": this.paramRxtx.dvbAcmMinModulation,
|
||||||
"dvbServicePacketPeriod": this.paramRxtx.dvbServicePacketPeriod,
|
"dvbAcmMinSpeed": this.paramRxtx.dvbAcmMinSpeed,
|
||||||
|
"dvbAcmMaxModulation": this.paramRxtx.dvbAcmMaxModulation,
|
||||||
|
"dvbAcmMaxSpeed": this.paramRxtx.dvbAcmMaxSpeed,
|
||||||
"dvbSnrReserve": this.paramRxtx.dvbSnrReserve,
|
"dvbSnrReserve": this.paramRxtx.dvbSnrReserve,
|
||||||
"isCinC": this.paramRxtx.isCinC,
|
"aupcEn": this.paramRxtx.aupcEn,
|
||||||
|
"aupcMinAttenuation": this.paramRxtx.aupcMinAttenuation,
|
||||||
|
"aupcMaxAttenuation": this.paramRxtx.aupcMaxAttenuation,
|
||||||
|
"aupcRequiredSnr": this.paramRxtx.aupcRequiredSnr,
|
||||||
"rxAgcEn": this.paramRxtx.rxAgcEn,
|
"rxAgcEn": this.paramRxtx.rxAgcEn,
|
||||||
"rxBaudrate": this.paramRxtx.rxBaudrate,
|
|
||||||
"rxCentralFreq": this.paramRxtx.rxCentralFreq,
|
|
||||||
"rxGoldan": this.paramRxtx.rxGoldan,
|
|
||||||
"rxManualGain": this.paramRxtx.rxManualGain,
|
"rxManualGain": this.paramRxtx.rxManualGain,
|
||||||
"rxRolloff": this.paramRxtx.rxRolloff,
|
|
||||||
"rxSpectrumInversion": this.paramRxtx.rxSpectrumInversion,
|
"rxSpectrumInversion": this.paramRxtx.rxSpectrumInversion,
|
||||||
"txAttenuation": this.paramRxtx.txAttenuation,
|
"rxCentralFreq": this.paramRxtx.rxCentralFreq,
|
||||||
"txAutoStart": this.paramRxtx.txAutoStart,
|
"rxBaudrate": this.paramRxtx.rxBaudrate,
|
||||||
"txBaudrate": this.paramRxtx.txBaudrate,
|
"rxRolloff": this.paramRxtx.rxRolloff,
|
||||||
"txCentralFreq": this.paramRxtx.txCentralFreq,
|
"rxGoldan": this.paramRxtx.rxGoldan,
|
||||||
"txEn": this.paramRxtx.txEn,
|
|
||||||
"txFrameSizeNormal": this.paramRxtx.txFrameSizeNormal,
|
|
||||||
"txGoldan": this.paramRxtx.txGoldan,
|
|
||||||
"txIsTestInput": this.paramRxtx.txIsTestInput,
|
|
||||||
"txModulatorIsTest": this.paramRxtx.txModulatorIsTest,
|
|
||||||
"txRolloff": this.paramRxtx.txRolloff,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.rxtx = true
|
this.submitStatus.rxtx = true
|
||||||
@ -782,13 +782,13 @@
|
|||||||
if (this.submitStatus.cinc) { return }
|
if (this.submitStatus.cinc) { return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
"cincDelayMax": this.paramCinc.cincDelayMax,
|
|
||||||
"cincDelayMin": this.paramCinc.cincDelayMin,
|
|
||||||
"cincIsPositional": this.paramCinc.cincIsPositional,
|
"cincIsPositional": this.paramCinc.cincIsPositional,
|
||||||
"cincPositionSatelliteLongitude": this.paramCinc.cincPositionSatelliteLongitude,
|
"cincSearchBandwidth": this.paramCinc.cincSearchBandwidth,
|
||||||
"cincPositionStationLatitude": this.paramCinc.cincPositionStationLatitude,
|
"cincPositionStationLatitude": this.paramCinc.cincPositionStationLatitude,
|
||||||
"cincPositionStationLongitude": this.paramCinc.cincPositionStationLongitude,
|
"cincPositionStationLongitude": this.paramCinc.cincPositionStationLongitude,
|
||||||
"cincSearchBandwidth": this.paramCinc.cincSearchBandwidth,
|
"cincPositionSatelliteLongitude": this.paramCinc.cincPositionSatelliteLongitude,
|
||||||
|
"cincDelayMin": this.paramCinc.cincDelayMin,
|
||||||
|
"cincDelayMax": this.paramCinc.cincDelayMax,
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.cinc = true
|
this.submitStatus.cinc = true
|
||||||
@ -802,12 +802,12 @@
|
|||||||
{ if (!confirm("Применение неправильных настроек может вывести из строя оборудование! Продолжить?")) return }
|
{ if (!confirm("Применение неправильных настроек может вывести из строя оборудование! Продолжить?")) return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
"bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart,
|
|
||||||
"bucPowering": this.paramBuclnb.bucPowering,
|
|
||||||
"bucRefClk10M": this.paramBuclnb.bucRefClk10M,
|
"bucRefClk10M": this.paramBuclnb.bucRefClk10M,
|
||||||
"lnbPowering": this.paramBuclnb.lnbPowering,
|
"bucPowering": this.paramBuclnb.bucPowering,
|
||||||
"lnbRefClk10M": this.paramBuclnb.lnbRefClk10M,
|
"lnbRefClk10M": this.paramBuclnb.lnbRefClk10M,
|
||||||
|
"lnbPowering": this.paramBuclnb.lnbPowering,
|
||||||
"srvRefClk10M": this.paramBuclnb.srvRefClk10M,
|
"srvRefClk10M": this.paramBuclnb.srvRefClk10M,
|
||||||
|
"bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart,
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.buclnb = true
|
this.submitStatus.buclnb = true
|
||||||
@ -835,10 +835,10 @@
|
|||||||
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
|
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
|
"netManagementIp": this.paramNetwork.netManagementIp,
|
||||||
|
"netIsL2": this.paramNetwork.netIsL2,
|
||||||
"netDataIp": this.paramNetwork.netDataIp,
|
"netDataIp": this.paramNetwork.netDataIp,
|
||||||
"netDataMtu": this.paramNetwork.netDataMtu,
|
"netDataMtu": this.paramNetwork.netDataMtu,
|
||||||
"netIsL2": this.paramNetwork.netIsL2,
|
|
||||||
"netManagementIp": this.paramNetwork.netManagementIp,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.network = true
|
this.submitStatus.network = true
|
||||||
@ -850,56 +850,56 @@
|
|||||||
|
|
||||||
updateRxtxSettings(vals) {
|
updateRxtxSettings(vals) {
|
||||||
this.submitStatus.rxtx = false
|
this.submitStatus.rxtx = false
|
||||||
this.paramRxtx.acmEn = vals["settings"]["acmEn"]
|
this.paramRxtx.isCinC = vals["settings"]["isCinC"]
|
||||||
this.paramRxtx.acmMaxAttenuation = vals["settings"]["acmMaxAttenuation"]
|
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
||||||
this.paramRxtx.acmMinAttenuation = vals["settings"]["acmMinAttenuation"]
|
this.paramRxtx.txAutoStart = vals["settings"]["txAutoStart"]
|
||||||
this.paramRxtx.acmRequiredSnr = vals["settings"]["acmRequiredSnr"]
|
this.paramRxtx.txModulatorIsTest = vals["settings"]["txModulatorIsTest"]
|
||||||
this.paramRxtx.dvbAcmMaxModulation = vals["settings"]["dvbAcmMaxModulation"]
|
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
||||||
this.paramRxtx.dvbAcmMaxSpeed = vals["settings"]["dvbAcmMaxSpeed"]
|
this.paramRxtx.txCentralFreq = vals["settings"]["txCentralFreq"]
|
||||||
this.paramRxtx.dvbAcmMinModulation = vals["settings"]["dvbAcmMinModulation"]
|
this.paramRxtx.txBaudrate = vals["settings"]["txBaudrate"]
|
||||||
this.paramRxtx.dvbAcmMinSpeed = vals["settings"]["dvbAcmMinSpeed"]
|
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.dvbCcmModulation = vals["settings"]["dvbCcmModulation"]
|
this.paramRxtx.dvbCcmModulation = vals["settings"]["dvbCcmModulation"]
|
||||||
this.paramRxtx.dvbCcmSpeed = vals["settings"]["dvbCcmSpeed"]
|
this.paramRxtx.dvbCcmSpeed = vals["settings"]["dvbCcmSpeed"]
|
||||||
this.paramRxtx.dvbIsAcm = vals["settings"]["dvbIsAcm"]
|
this.paramRxtx.dvbAcmMinModulation = vals["settings"]["dvbAcmMinModulation"]
|
||||||
this.paramRxtx.dvbServicePacketPeriod = vals["settings"]["dvbServicePacketPeriod"]
|
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.dvbSnrReserve = vals["settings"]["dvbSnrReserve"]
|
||||||
this.paramRxtx.isCinC = vals["settings"]["isCinC"]
|
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.rxAgcEn = vals["settings"]["rxAgcEn"]
|
||||||
this.paramRxtx.rxBaudrate = vals["settings"]["rxBaudrate"]
|
|
||||||
this.paramRxtx.rxCentralFreq = vals["settings"]["rxCentralFreq"]
|
|
||||||
this.paramRxtx.rxGoldan = vals["settings"]["rxGoldan"]
|
|
||||||
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
||||||
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
|
||||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
||||||
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
this.paramRxtx.rxCentralFreq = vals["settings"]["rxCentralFreq"]
|
||||||
this.paramRxtx.txAutoStart = vals["settings"]["txAutoStart"]
|
this.paramRxtx.rxBaudrate = vals["settings"]["rxBaudrate"]
|
||||||
this.paramRxtx.txBaudrate = vals["settings"]["txBaudrate"]
|
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
||||||
this.paramRxtx.txCentralFreq = vals["settings"]["txCentralFreq"]
|
this.paramRxtx.rxGoldan = vals["settings"]["rxGoldan"]
|
||||||
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
|
||||||
this.paramRxtx.txFrameSizeNormal = vals["settings"]["txFrameSizeNormal"]
|
|
||||||
this.paramRxtx.txGoldan = vals["settings"]["txGoldan"]
|
|
||||||
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
|
||||||
this.paramRxtx.txModulatorIsTest = vals["settings"]["txModulatorIsTest"]
|
|
||||||
this.paramRxtx.txRolloff = vals["settings"]["txRolloff"]
|
|
||||||
},
|
},
|
||||||
updateCincSettings(vals) {
|
updateCincSettings(vals) {
|
||||||
this.submitStatus.cinc = false
|
this.submitStatus.cinc = false
|
||||||
this.paramCinc.cincDelayMax = vals["settings"]["cincDelayMax"]
|
|
||||||
this.paramCinc.cincDelayMin = vals["settings"]["cincDelayMin"]
|
|
||||||
this.paramCinc.cincIsPositional = vals["settings"]["cincIsPositional"]
|
this.paramCinc.cincIsPositional = vals["settings"]["cincIsPositional"]
|
||||||
this.paramCinc.cincPositionSatelliteLongitude = vals["settings"]["cincPositionSatelliteLongitude"]
|
this.paramCinc.cincSearchBandwidth = vals["settings"]["cincSearchBandwidth"]
|
||||||
this.paramCinc.cincPositionStationLatitude = vals["settings"]["cincPositionStationLatitude"]
|
this.paramCinc.cincPositionStationLatitude = vals["settings"]["cincPositionStationLatitude"]
|
||||||
this.paramCinc.cincPositionStationLongitude = vals["settings"]["cincPositionStationLongitude"]
|
this.paramCinc.cincPositionStationLongitude = vals["settings"]["cincPositionStationLongitude"]
|
||||||
this.paramCinc.cincSearchBandwidth = vals["settings"]["cincSearchBandwidth"]
|
this.paramCinc.cincPositionSatelliteLongitude = vals["settings"]["cincPositionSatelliteLongitude"]
|
||||||
|
this.paramCinc.cincDelayMin = vals["settings"]["cincDelayMin"]
|
||||||
|
this.paramCinc.cincDelayMax = vals["settings"]["cincDelayMax"]
|
||||||
},
|
},
|
||||||
updateBuclnbSettings(vals) {
|
updateBuclnbSettings(vals) {
|
||||||
this.submitStatus.buclnb = false
|
this.submitStatus.buclnb = false
|
||||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
|
||||||
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
|
||||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
||||||
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
||||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
||||||
|
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
||||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
||||||
|
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
||||||
},
|
},
|
||||||
updateTcpaccelSettings(vals) {
|
updateTcpaccelSettings(vals) {
|
||||||
this.submitStatus.tcpaccel = false
|
this.submitStatus.tcpaccel = false
|
||||||
@ -908,10 +908,10 @@
|
|||||||
},
|
},
|
||||||
updateNetworkSettings(vals) {
|
updateNetworkSettings(vals) {
|
||||||
this.submitStatus.network = false
|
this.submitStatus.network = false
|
||||||
|
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
||||||
|
this.paramNetwork.netIsL2 = vals["settings"]["netIsL2"]
|
||||||
this.paramNetwork.netDataIp = vals["settings"]["netDataIp"]
|
this.paramNetwork.netDataIp = vals["settings"]["netDataIp"]
|
||||||
this.paramNetwork.netDataMtu = vals["settings"]["netDataMtu"]
|
this.paramNetwork.netDataMtu = vals["settings"]["netDataMtu"]
|
||||||
this.paramNetwork.netIsL2 = vals["settings"]["netIsL2"]
|
|
||||||
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
|
||||||
},
|
},
|
||||||
// ========== include end from 'common/all-params-methods.js.j2'
|
// ========== include end from 'common/all-params-methods.js.j2'
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@
|
|||||||
<option :value="true">Тест</option>
|
<option :value="true">Тест</option>
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.txCentralFreq" min="900000" step="1"/></label>
|
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.txCentralFreq" min="900000" step="0.01"/></label>
|
||||||
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.txBaudrate" step="1"/></label>
|
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.txBaudrate" step="1"/></label>
|
||||||
<label><span>Ослабление, дБ</span><input type="number" v-model="paramRxtx.txAttenuation" step="1"/></label>
|
<label><span>Ослабление, дБ</span><input type="number" v-model="paramRxtx.txAttenuation" step="1"/></label>
|
||||||
</div>
|
</div>
|
||||||
@ -145,7 +145,7 @@
|
|||||||
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.rxSpectrumInversion" /><span class="slider"></span></span>
|
<span class="toggle-input"><input type="checkbox" v-model="paramRxtx.rxSpectrumInversion" /><span class="slider"></span></span>
|
||||||
</label>
|
</label>
|
||||||
<label v-show="!paramRxtx.rxAgcEn"><span>Ручное усиление, дБ</span><input type="number" v-model="paramRxtx.rxManualGain" min="-40"/></label>
|
<label v-show="!paramRxtx.rxAgcEn"><span>Ручное усиление, дБ</span><input type="number" v-model="paramRxtx.rxManualGain" min="-40"/></label>
|
||||||
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.rxCentralFreq" min="900000" step="1"/></label>
|
<label><span>Центральная частота, КГц</span><input type="number" v-model="paramRxtx.rxCentralFreq" min="900000" step="0.01"/></label>
|
||||||
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.rxBaudrate" step="1"/></label>
|
<label><span>Символьная скорость, Бод</span><input type="number" v-model="paramRxtx.rxBaudrate" step="1"/></label>
|
||||||
<label>
|
<label>
|
||||||
<span>Roll-off</span>
|
<span>Roll-off</span>
|
||||||
@ -291,31 +291,31 @@
|
|||||||
|
|
||||||
// ========== include from 'common/all-params-data.js.j2'
|
// ========== include from 'common/all-params-data.js.j2'
|
||||||
paramRxtx: {
|
paramRxtx: {
|
||||||
rxAgcEn: true,
|
|
||||||
rxBaudrate: 0,
|
|
||||||
rxCentralFreq: 900000,
|
|
||||||
rxManualGain: -40,
|
|
||||||
rxRolloff: 2,
|
|
||||||
rxSpectrumInversion: false,
|
|
||||||
txAttenuation: 0,
|
|
||||||
txBaudrate: 0,
|
|
||||||
txCentralFreq: 900000,
|
|
||||||
txEn: false,
|
txEn: false,
|
||||||
txIsTestInput: false,
|
txIsTestInput: false,
|
||||||
|
txCentralFreq: 900000,
|
||||||
|
txBaudrate: 0,
|
||||||
|
txAttenuation: 0,
|
||||||
|
rxAgcEn: true,
|
||||||
|
rxSpectrumInversion: false,
|
||||||
|
rxManualGain: -40,
|
||||||
|
rxCentralFreq: 900000,
|
||||||
|
rxBaudrate: 0,
|
||||||
|
rxRolloff: 2,
|
||||||
},
|
},
|
||||||
paramBuclnb: {
|
paramBuclnb: {
|
||||||
bucLnbAutoStart: false,
|
|
||||||
bucPowering: 0,
|
|
||||||
bucRefClk10M: false,
|
bucRefClk10M: false,
|
||||||
lnbPowering: 0,
|
bucPowering: 0,
|
||||||
lnbRefClk10M: false,
|
lnbRefClk10M: false,
|
||||||
|
lnbPowering: 0,
|
||||||
srvRefClk10M: false,
|
srvRefClk10M: false,
|
||||||
|
bucLnbAutoStart: false,
|
||||||
},
|
},
|
||||||
paramNetwork: {
|
paramNetwork: {
|
||||||
|
netManagementIp: null,
|
||||||
|
netIsL2: false,
|
||||||
netDataIp: null,
|
netDataIp: null,
|
||||||
netDataMtu: 1500,
|
netDataMtu: 1500,
|
||||||
netIsL2: false,
|
|
||||||
netManagementIp: null,
|
|
||||||
},
|
},
|
||||||
// ========== include end from 'common/all-params-data.js.j2'
|
// ========== include end from 'common/all-params-data.js.j2'
|
||||||
|
|
||||||
@ -421,17 +421,17 @@
|
|||||||
if (this.submitStatus.rxtx) { return }
|
if (this.submitStatus.rxtx) { return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
"rxAgcEn": this.paramRxtx.rxAgcEn,
|
|
||||||
"rxBaudrate": this.paramRxtx.rxBaudrate,
|
|
||||||
"rxCentralFreq": this.paramRxtx.rxCentralFreq,
|
|
||||||
"rxManualGain": this.paramRxtx.rxManualGain,
|
|
||||||
"rxRolloff": this.paramRxtx.rxRolloff,
|
|
||||||
"rxSpectrumInversion": this.paramRxtx.rxSpectrumInversion,
|
|
||||||
"txAttenuation": this.paramRxtx.txAttenuation,
|
|
||||||
"txBaudrate": this.paramRxtx.txBaudrate,
|
|
||||||
"txCentralFreq": this.paramRxtx.txCentralFreq,
|
|
||||||
"txEn": this.paramRxtx.txEn,
|
"txEn": this.paramRxtx.txEn,
|
||||||
"txIsTestInput": this.paramRxtx.txIsTestInput,
|
"txIsTestInput": this.paramRxtx.txIsTestInput,
|
||||||
|
"txCentralFreq": this.paramRxtx.txCentralFreq,
|
||||||
|
"txBaudrate": this.paramRxtx.txBaudrate,
|
||||||
|
"txAttenuation": this.paramRxtx.txAttenuation,
|
||||||
|
"rxAgcEn": this.paramRxtx.rxAgcEn,
|
||||||
|
"rxSpectrumInversion": this.paramRxtx.rxSpectrumInversion,
|
||||||
|
"rxManualGain": this.paramRxtx.rxManualGain,
|
||||||
|
"rxCentralFreq": this.paramRxtx.rxCentralFreq,
|
||||||
|
"rxBaudrate": this.paramRxtx.rxBaudrate,
|
||||||
|
"rxRolloff": this.paramRxtx.rxRolloff,
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.rxtx = true
|
this.submitStatus.rxtx = true
|
||||||
@ -445,12 +445,12 @@
|
|||||||
{ if (!confirm("Применение неправильных настроек может вывести из строя оборудование! Продолжить?")) return }
|
{ if (!confirm("Применение неправильных настроек может вывести из строя оборудование! Продолжить?")) return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
"bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart,
|
|
||||||
"bucPowering": this.paramBuclnb.bucPowering,
|
|
||||||
"bucRefClk10M": this.paramBuclnb.bucRefClk10M,
|
"bucRefClk10M": this.paramBuclnb.bucRefClk10M,
|
||||||
"lnbPowering": this.paramBuclnb.lnbPowering,
|
"bucPowering": this.paramBuclnb.bucPowering,
|
||||||
"lnbRefClk10M": this.paramBuclnb.lnbRefClk10M,
|
"lnbRefClk10M": this.paramBuclnb.lnbRefClk10M,
|
||||||
|
"lnbPowering": this.paramBuclnb.lnbPowering,
|
||||||
"srvRefClk10M": this.paramBuclnb.srvRefClk10M,
|
"srvRefClk10M": this.paramBuclnb.srvRefClk10M,
|
||||||
|
"bucLnbAutoStart": this.paramBuclnb.bucLnbAutoStart,
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.buclnb = true
|
this.submitStatus.buclnb = true
|
||||||
@ -464,10 +464,10 @@
|
|||||||
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
|
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
|
||||||
|
|
||||||
let query = {
|
let query = {
|
||||||
|
"netManagementIp": this.paramNetwork.netManagementIp,
|
||||||
|
"netIsL2": this.paramNetwork.netIsL2,
|
||||||
"netDataIp": this.paramNetwork.netDataIp,
|
"netDataIp": this.paramNetwork.netDataIp,
|
||||||
"netDataMtu": this.paramNetwork.netDataMtu,
|
"netDataMtu": this.paramNetwork.netDataMtu,
|
||||||
"netIsL2": this.paramNetwork.netIsL2,
|
|
||||||
"netManagementIp": this.paramNetwork.netManagementIp,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.submitStatus.network = true
|
this.submitStatus.network = true
|
||||||
@ -479,33 +479,33 @@
|
|||||||
|
|
||||||
updateRxtxSettings(vals) {
|
updateRxtxSettings(vals) {
|
||||||
this.submitStatus.rxtx = false
|
this.submitStatus.rxtx = false
|
||||||
this.paramRxtx.rxAgcEn = vals["settings"]["rxAgcEn"]
|
|
||||||
this.paramRxtx.rxBaudrate = vals["settings"]["rxBaudrate"]
|
|
||||||
this.paramRxtx.rxCentralFreq = vals["settings"]["rxCentralFreq"]
|
|
||||||
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
|
||||||
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
|
||||||
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
|
||||||
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
|
||||||
this.paramRxtx.txBaudrate = vals["settings"]["txBaudrate"]
|
|
||||||
this.paramRxtx.txCentralFreq = vals["settings"]["txCentralFreq"]
|
|
||||||
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
this.paramRxtx.txEn = vals["settings"]["txEn"]
|
||||||
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
this.paramRxtx.txIsTestInput = vals["settings"]["txIsTestInput"]
|
||||||
|
this.paramRxtx.txCentralFreq = vals["settings"]["txCentralFreq"]
|
||||||
|
this.paramRxtx.txBaudrate = vals["settings"]["txBaudrate"]
|
||||||
|
this.paramRxtx.txAttenuation = vals["settings"]["txAttenuation"]
|
||||||
|
this.paramRxtx.rxAgcEn = vals["settings"]["rxAgcEn"]
|
||||||
|
this.paramRxtx.rxSpectrumInversion = vals["settings"]["rxSpectrumInversion"]
|
||||||
|
this.paramRxtx.rxManualGain = vals["settings"]["rxManualGain"]
|
||||||
|
this.paramRxtx.rxCentralFreq = vals["settings"]["rxCentralFreq"]
|
||||||
|
this.paramRxtx.rxBaudrate = vals["settings"]["rxBaudrate"]
|
||||||
|
this.paramRxtx.rxRolloff = vals["settings"]["rxRolloff"]
|
||||||
},
|
},
|
||||||
updateBuclnbSettings(vals) {
|
updateBuclnbSettings(vals) {
|
||||||
this.submitStatus.buclnb = false
|
this.submitStatus.buclnb = false
|
||||||
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
|
||||||
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
|
||||||
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
this.paramBuclnb.bucRefClk10M = vals["settings"]["bucRefClk10M"]
|
||||||
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
this.paramBuclnb.bucPowering = vals["settings"]["bucPowering"]
|
||||||
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
this.paramBuclnb.lnbRefClk10M = vals["settings"]["lnbRefClk10M"]
|
||||||
|
this.paramBuclnb.lnbPowering = vals["settings"]["lnbPowering"]
|
||||||
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
this.paramBuclnb.srvRefClk10M = vals["settings"]["srvRefClk10M"]
|
||||||
|
this.paramBuclnb.bucLnbAutoStart = vals["settings"]["bucLnbAutoStart"]
|
||||||
},
|
},
|
||||||
updateNetworkSettings(vals) {
|
updateNetworkSettings(vals) {
|
||||||
this.submitStatus.network = false
|
this.submitStatus.network = false
|
||||||
|
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
||||||
|
this.paramNetwork.netIsL2 = vals["settings"]["netIsL2"]
|
||||||
this.paramNetwork.netDataIp = vals["settings"]["netDataIp"]
|
this.paramNetwork.netDataIp = vals["settings"]["netDataIp"]
|
||||||
this.paramNetwork.netDataMtu = vals["settings"]["netDataMtu"]
|
this.paramNetwork.netDataMtu = vals["settings"]["netDataMtu"]
|
||||||
this.paramNetwork.netIsL2 = vals["settings"]["netIsL2"]
|
|
||||||
this.paramNetwork.netManagementIp = vals["settings"]["netManagementIp"]
|
|
||||||
},
|
},
|
||||||
// ========== include end from 'common/all-params-methods.js.j2'
|
// ========== include end from 'common/all-params-methods.js.j2'
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user