логика работы TDMA
This commit is contained in:
parent
925fec6dda
commit
572a2583f0
10
src/main.cpp
10
src/main.cpp
@ -114,7 +114,7 @@ public:
|
|||||||
static constexpr const char* LOGIN_HTML = "/login.html";
|
static constexpr const char* LOGIN_HTML = "/login.html";
|
||||||
|
|
||||||
// картинки, их даже можно кешировать
|
// картинки, их даже можно кешировать
|
||||||
static constexpr const char* FAVICON_ICO = "/favicon.png";
|
static constexpr const char* FAVICON_ICO = "/favicon.ico";
|
||||||
static constexpr const char* VUE_JS = "/js/vue.js"; // это тоже можно кешировать
|
static constexpr const char* VUE_JS = "/js/vue.js"; // это тоже можно кешировать
|
||||||
|
|
||||||
// а эти стили нельзя кешировать в отладочной версии
|
// а эти стили нельзя кешировать в отладочной версии
|
||||||
@ -128,7 +128,7 @@ public:
|
|||||||
api->startDaemon();
|
api->startDaemon();
|
||||||
auth.users.emplace_back(std::make_shared<http::auth::User>("admin", "", http::auth::User::SUPERUSER));
|
auth.users.emplace_back(std::make_shared<http::auth::User>("admin", "", http::auth::User::SUPERUSER));
|
||||||
|
|
||||||
sf->registerFile(staticFilesPath + FAVICON_ICO, FAVICON_ICO, mime_types::image_png, true);
|
sf->registerFile(staticFilesPath + "/favicon.png", FAVICON_ICO, mime_types::image_png, true);
|
||||||
sf->registerFile(staticFilesPath + VUE_JS, VUE_JS, mime_types::javascript, true);
|
sf->registerFile(staticFilesPath + VUE_JS, VUE_JS, mime_types::javascript, true);
|
||||||
sf->registerFile(staticFilesPath + STYLE_CSS, STYLE_CSS, mime_types::text_css, true);
|
sf->registerFile(staticFilesPath + STYLE_CSS, STYLE_CSS, mime_types::text_css, true);
|
||||||
sf->registerFile(staticFilesPath + FIELDS_CSS, FIELDS_CSS, mime_types::text_css, true);
|
sf->registerFile(staticFilesPath + FIELDS_CSS, FIELDS_CSS, mime_types::text_css, true);
|
||||||
@ -188,7 +188,7 @@ public:
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>("/favicon.ico", [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(FAVICON_ICO, rep); }));
|
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(FAVICON_ICO, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(FAVICON_ICO, rep); }));
|
||||||
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(STYLE_CSS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(STYLE_CSS, rep); }));
|
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(STYLE_CSS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(STYLE_CSS, rep); }));
|
||||||
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(FIELDS_CSS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(FIELDS_CSS, rep); }));
|
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(FIELDS_CSS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(FIELDS_CSS, rep); }));
|
||||||
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(VUE_JS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(VUE_JS, rep); }));
|
s.resources.emplace_back(std::make_unique<http::resource::GenericResource>(VUE_JS, [this](const auto& req, auto& rep) { boost::ignore_unused(req); sf->serve(VUE_JS, rep); }));
|
||||||
@ -302,7 +302,7 @@ public:
|
|||||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
s.resources.emplace_back(std::make_unique<http::auth::AuthRequiredResource>("/api/set/cinc", this->auth, http::auth::User::EDIT_SETTINGS, [this](const auto& req, auto& rep) {
|
s.resources.emplace_back(std::make_unique<http::auth::AuthRequiredResource>("/api/set/cinc", this->auth, http::auth::User::EDIT_SETTINGS, [this](const auto& req, auto& rep) {
|
||||||
if (req.method != "POST") {
|
if (req.method != "POST") {
|
||||||
http::server::stockReply(http::server::bad_request, rep);
|
http::server::stockReply(http::server::bad_request, rep);
|
||||||
@ -330,7 +330,7 @@ public:
|
|||||||
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
rep.content.insert(rep.content.end(), result.c_str(), result.c_str() + result.size());
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
#endif
|
||||||
s.resources.emplace_back(std::make_unique<http::auth::AuthRequiredResource>("/api/set/rxtx", this->auth, http::auth::User::EDIT_SETTINGS, [this](const auto& req, auto& rep) {
|
s.resources.emplace_back(std::make_unique<http::auth::AuthRequiredResource>("/api/set/rxtx", this->auth, http::auth::User::EDIT_SETTINGS, [this](const auto& req, auto& rep) {
|
||||||
if (req.method != "POST") {
|
if (req.method != "POST") {
|
||||||
http::server::stockReply(http::server::bad_request, rep);
|
http::server::stockReply(http::server::bad_request, rep);
|
||||||
|
@ -104,23 +104,29 @@ private:
|
|||||||
modulator_state modulator{};
|
modulator_state modulator{};
|
||||||
demodulator_state demodulator{};
|
demodulator_state demodulator{};
|
||||||
device_state device{};
|
device_state device{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
CinC_state cinc{};
|
CinC_state cinc{};
|
||||||
|
#endif
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetModulatorState(sid, modulator);
|
CP_GetModulatorState(sid, modulator);
|
||||||
CP_GetDemodulatorState(sid, demodulator);
|
CP_GetDemodulatorState(sid, demodulator);
|
||||||
CP_GetDeviceState(sid, device);
|
CP_GetDeviceState(sid, device);
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
bool isCinC = getIsCinC();
|
bool isCinC = getIsCinC();
|
||||||
if (isCinC) {
|
if (isCinC) {
|
||||||
CP_GetCinCState(sid, cinc);
|
CP_GetCinCState(sid, cinc);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
std::lock_guard lock2(this->stateMutex);
|
std::lock_guard lock2(this->stateMutex);
|
||||||
this->modState = modulator;
|
this->modState = modulator;
|
||||||
this->demodState = demodulator;
|
this->demodState = demodulator;
|
||||||
this->devState = device;
|
this->devState = device;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
this->cincState = cinc;
|
this->cincState = cinc;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,23 +135,29 @@ private:
|
|||||||
// uint32_t modulatorModcod;
|
// uint32_t modulatorModcod;
|
||||||
// CP_GetModulatorParams(sid, "modcod", &modulatorModcod);
|
// CP_GetModulatorParams(sid, "modcod", &modulatorModcod);
|
||||||
demodulator_settings demod{};
|
demodulator_settings demod{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
ACM_parameters_serv_ acm{};
|
ACM_parameters_serv_ acm{};
|
||||||
DPDI_parmeters dpdi{};
|
DPDI_parmeters dpdi{};
|
||||||
|
#endif
|
||||||
buc_lnb_settings bucLnb{};
|
buc_lnb_settings bucLnb{};
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetModulatorSettings(sid, mod);
|
CP_GetModulatorSettings(sid, mod);
|
||||||
CP_GetDemodulatorSettings(sid, demod);
|
CP_GetDemodulatorSettings(sid, demod);
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
CP_GetAcmParams(sid, &acm);
|
CP_GetAcmParams(sid, &acm);
|
||||||
CP_GetDpdiParams(sid, &dpdi);
|
CP_GetDpdiParams(sid, &dpdi);
|
||||||
|
#endif
|
||||||
CP_GetBUC_LNB_settings(sid, bucLnb);
|
CP_GetBUC_LNB_settings(sid, bucLnb);
|
||||||
|
|
||||||
{
|
{
|
||||||
std::lock_guard lock2(this->settingsMutex);
|
std::lock_guard lock2(this->settingsMutex);
|
||||||
this->modSettings = mod;
|
this->modSettings = mod;
|
||||||
this->demodSettings = demod;
|
this->demodSettings = demod;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
this->acmSettings = acm;
|
this->acmSettings = acm;
|
||||||
this->dpdiSettings = dpdi;
|
this->dpdiSettings = dpdi;
|
||||||
|
#endif
|
||||||
this->bucLnbSettings = bucLnb;
|
this->bucLnbSettings = bucLnb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -278,13 +290,17 @@ private:
|
|||||||
modulator_state modState{};
|
modulator_state modState{};
|
||||||
demodulator_state demodState{};
|
demodulator_state demodState{};
|
||||||
device_state devState{};
|
device_state devState{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
CinC_state cincState{};
|
CinC_state cincState{};
|
||||||
|
#endif
|
||||||
|
|
||||||
std::shared_mutex settingsMutex;
|
std::shared_mutex settingsMutex;
|
||||||
modulator_settings modSettings{};
|
modulator_settings modSettings{};
|
||||||
demodulator_settings demodSettings{};
|
demodulator_settings demodSettings{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
ACM_parameters_serv_ acmSettings{};
|
ACM_parameters_serv_ acmSettings{};
|
||||||
DPDI_parmeters dpdiSettings{};
|
DPDI_parmeters dpdiSettings{};
|
||||||
|
#endif
|
||||||
buc_lnb_settings bucLnbSettings{};
|
buc_lnb_settings bucLnbSettings{};
|
||||||
|
|
||||||
std::shared_mutex networkSettingsMutex;
|
std::shared_mutex networkSettingsMutex;
|
||||||
@ -305,6 +321,7 @@ public:
|
|||||||
this->qosClassesJson = DEFAULT_QOS_CLASSES;
|
this->qosClassesJson = DEFAULT_QOS_CLASSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
/**
|
/**
|
||||||
* Получение статистики, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
* Получение статистики, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
||||||
* @param mod статистика модулятра
|
* @param mod статистика модулятра
|
||||||
@ -321,10 +338,27 @@ public:
|
|||||||
if (cinc) { *cinc = this->cincState; }
|
if (cinc) { *cinc = this->cincState; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* Получение статистики, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
||||||
|
* @param mod статистика модулятра
|
||||||
|
* @param demod статистика демодулятора
|
||||||
|
* @param dev статистика устройства (температуры)
|
||||||
|
*/
|
||||||
|
void getState(modulator_state* mod, demodulator_state* demod, device_state* dev) {
|
||||||
|
if (mod != nullptr || demod != nullptr || dev != nullptr) {
|
||||||
|
std::shared_lock lock(this->stateMutex);
|
||||||
|
if (mod) { *mod = this->modState; }
|
||||||
|
if (demod) { *demod = this->demodState; }
|
||||||
|
if (dev) { *dev = this->devState; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Получение настроек, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
* Получение настроек, копирует текущие значения в структуры, переданные по указателю. Если передан пустой указатель, копирования не произойдет.
|
||||||
*/
|
*/
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
void getSettings(modulator_settings* mod, demodulator_settings* demod, ACM_parameters_serv_* acm, DPDI_parmeters* dpdi, buc_lnb_settings* bucLnb) {
|
void getSettings(modulator_settings* mod, demodulator_settings* demod, ACM_parameters_serv_* acm, DPDI_parmeters* dpdi, buc_lnb_settings* bucLnb) {
|
||||||
if (mod || demod || acm || dpdi || bucLnb) {
|
if (mod || demod || acm || dpdi || bucLnb) {
|
||||||
std::shared_lock lock(this->settingsMutex);
|
std::shared_lock lock(this->settingsMutex);
|
||||||
@ -335,11 +369,23 @@ public:
|
|||||||
if (bucLnb) { *bucLnb = this->bucLnbSettings; }
|
if (bucLnb) { *bucLnb = this->bucLnbSettings; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
void getSettings(modulator_settings* mod, demodulator_settings* demod, buc_lnb_settings* bucLnb) {
|
||||||
|
if (mod || demod || bucLnb) {
|
||||||
|
std::shared_lock lock(this->settingsMutex);
|
||||||
|
if (mod) { *mod = this->modSettings; }
|
||||||
|
if (demod) { *demod = this->demodSettings; }
|
||||||
|
if (bucLnb) { *bucLnb = this->bucLnbSettings; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
bool getIsCinC() {
|
bool getIsCinC() {
|
||||||
std::shared_lock lock(this->settingsMutex);
|
std::shared_lock lock(this->settingsMutex);
|
||||||
return modSettings.is_cinc;
|
return modSettings.is_cinc;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void getNetworkSettings(TerminalNetworkSettings& dest) {
|
void getNetworkSettings(TerminalNetworkSettings& dest) {
|
||||||
std::shared_lock lock(this->networkSettingsMutex);
|
std::shared_lock lock(this->networkSettingsMutex);
|
||||||
@ -352,6 +398,7 @@ public:
|
|||||||
json = this->qosClassesJson;
|
json = this->qosClassesJson;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) {
|
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
CP_SetDmaDebug(sid, "begin_save_config", "");
|
||||||
@ -371,7 +418,26 @@ public:
|
|||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
CP_SetDmaDebug(sid, "save_config", "");
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, bool readback = true) {
|
||||||
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
|
CP_SetDmaDebug(sid, "begin_save_config", "");
|
||||||
|
CP_SetModulatorSettings(this->sid, mod);
|
||||||
|
CP_SetDemodulatorSettings(this->sid, demod);
|
||||||
|
if (readback) {
|
||||||
|
CP_GetModulatorSettings(this->sid, mod);
|
||||||
|
CP_GetDemodulatorSettings(this->sid, demod);
|
||||||
|
{
|
||||||
|
std::lock_guard lock2{this->settingsMutex};
|
||||||
|
this->modSettings = mod;
|
||||||
|
this->demodSettings = demod;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CP_SetDmaDebug(sid, "save_config", "");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
void setSettingsCinc(DPDI_parmeters& s, bool readback = true) {
|
void setSettingsCinc(DPDI_parmeters& s, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
CP_SetDmaDebug(sid, "begin_save_config", "");
|
||||||
@ -385,6 +451,7 @@ public:
|
|||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
CP_SetDmaDebug(sid, "save_config", "");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) {
|
void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
@ -532,7 +599,7 @@ void writeDouble(std::ostream& out, double value, int prec = 2) {
|
|||||||
out << std::fixed << std::setprecision(prec) << value;
|
out << std::fixed << std::setprecision(prec) << value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
double translateCoordinates(uint8_t deg, uint8_t min) {
|
double translateCoordinates(uint8_t deg, uint8_t min) {
|
||||||
return static_cast<double>(deg) + static_cast<double>(min) / 60;
|
return static_cast<double>(deg) + static_cast<double>(min) / 60;
|
||||||
}
|
}
|
||||||
@ -543,6 +610,7 @@ std::tuple<uint8_t, uint8_t> translateCoordinates(double abs) {
|
|||||||
auto min = static_cast<uint8_t>(min_double);
|
auto min = static_cast<uint8_t>(min_double);
|
||||||
return std::make_tuple(deg, min);
|
return std::make_tuple(deg, min);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
std::string api_driver::ApiDriver::loadTerminalState() const {
|
std::string api_driver::ApiDriver::loadTerminalState() const {
|
||||||
@ -556,29 +624,37 @@ std::string api_driver::ApiDriver::loadTerminalState() const {
|
|||||||
modulator_state modulator{};
|
modulator_state modulator{};
|
||||||
demodulator_state demodulator{};
|
demodulator_state demodulator{};
|
||||||
device_state device{};
|
device_state device{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
CinC_state cinc{};
|
CinC_state cinc{};
|
||||||
daemon->getState(&modulator, &demodulator, &device, &cinc);
|
daemon->getState(&modulator, &demodulator, &device, &cinc);
|
||||||
const bool isCinC = this->daemon->getIsCinC();
|
const bool isCinC = this->daemon->getIsCinC();
|
||||||
|
#else
|
||||||
|
daemon->getState(&modulator, &demodulator, &device);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
result << ",\"isCinC\":" << boolAsStr(isCinC);
|
result << ",\"isCinC\":" << boolAsStr(isCinC);
|
||||||
|
#endif
|
||||||
|
|
||||||
// формируем структуру для TX
|
// формируем структуру для TX
|
||||||
result << ",\n\"tx.state\":" << boolAsStr(modulator.is_tx_on);
|
result << ",\n\"tx.state\":" << boolAsStr(modulator.is_tx_on);
|
||||||
result << ",\"tx.modcod\":" << modulator.modcod;
|
result << ",\"tx.modcod\":" << modulator.modcod;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
result << ",\"tx.snr\":"; writeDouble(result, modulator.snr_remote);
|
result << ",\"tx.snr\":"; writeDouble(result, modulator.snr_remote);
|
||||||
|
|
||||||
if (modulator.is_short) {
|
if (modulator.is_short) { result << R"(,"tx.frameSizeNormal":false)"; }
|
||||||
result << R"(,"tx.frameSizeNormal":false)";
|
else { result << R"(,"tx.frameSizeNormal":true)"; }
|
||||||
} else {
|
|
||||||
result << R"(,"tx.frameSizeNormal":true)";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (modulator.is_pilots) {
|
if (modulator.is_pilots) { result << R"(,"tx.isPilots":true)"; }
|
||||||
result << R"(,"tx.isPilots":true)";
|
else { result << R"(,"tx.isPilots":false)"; }
|
||||||
} else {
|
#else
|
||||||
result << R"(,"tx.isPilots":false)";
|
{
|
||||||
|
modulator_settings modSet{};
|
||||||
|
daemon->getSettings(&modSet, nullptr, nullptr);
|
||||||
|
result << ",\"tx.centerFreq\":"; writeDouble(result, modSet.central_freq_in_kGz);
|
||||||
|
result << ",\"tx.symSpeed\":"; writeDouble(result, (static_cast<double>(modSet.baudrate) / 1000.0));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
result << ",\"tx.speedOnTxKbit\":"; writeDouble(result, static_cast<double>(modulator.speed_in_bytes_tx) / 128.0);
|
result << ",\"tx.speedOnTxKbit\":"; writeDouble(result, static_cast<double>(modulator.speed_in_bytes_tx) / 128.0);
|
||||||
result << ",\"tx.speedOnIifKbit\":"; writeDouble(result, (static_cast<double>(modulator.speed_in_bytes_tx_iface) / 128.0));
|
result << ",\"tx.speedOnIifKbit\":"; writeDouble(result, (static_cast<double>(modulator.speed_in_bytes_tx_iface) / 128.0));
|
||||||
|
|
||||||
@ -616,6 +692,7 @@ std::string api_driver::ApiDriver::loadTerminalState() const {
|
|||||||
result << ",\"rx.packetsBad\":" << demodulator.packet_bad_cnt;
|
result << ",\"rx.packetsBad\":" << demodulator.packet_bad_cnt;
|
||||||
result << ",\"rx.packetsDummy\":" << demodulator.dummy_cnt;
|
result << ",\"rx.packetsDummy\":" << demodulator.dummy_cnt;
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
// формируем структуру для CinC
|
// формируем структуру для CinC
|
||||||
if (isCinC) {
|
if (isCinC) {
|
||||||
if (modulator.is_tx_on) {
|
if (modulator.is_tx_on) {
|
||||||
@ -636,6 +713,7 @@ std::string api_driver::ApiDriver::loadTerminalState() const {
|
|||||||
} else {
|
} else {
|
||||||
result << R"(,"cinc.correlator":null)";
|
result << R"(,"cinc.correlator":null)";
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// структура температур девайса
|
// структура температур девайса
|
||||||
result << ",\n\"device.adrv\":"; writeDouble(result, device.adrv_temp, 1);
|
result << ",\n\"device.adrv\":"; writeDouble(result, device.adrv_temp, 1);
|
||||||
@ -659,14 +737,19 @@ std::string api_driver::ApiDriver::loadSettings() const {
|
|||||||
|
|
||||||
modulator_settings modSettings{};
|
modulator_settings modSettings{};
|
||||||
demodulator_settings demodSettings{};
|
demodulator_settings demodSettings{};
|
||||||
ACM_parameters_serv_ acmSettings{};
|
|
||||||
DPDI_parmeters dpdiSettings{};
|
|
||||||
buc_lnb_settings bucLnb{};
|
buc_lnb_settings bucLnb{};
|
||||||
TerminalNetworkSettings network;
|
TerminalNetworkSettings network;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
|
ACM_parameters_serv_ acmSettings{};
|
||||||
|
DPDI_parmeters dpdiSettings{};
|
||||||
daemon->getSettings(&modSettings, &demodSettings, &acmSettings, &dpdiSettings, &bucLnb);
|
daemon->getSettings(&modSettings, &demodSettings, &acmSettings, &dpdiSettings, &bucLnb);
|
||||||
|
#else
|
||||||
|
daemon->getSettings(&modSettings, &demodSettings, &bucLnb);
|
||||||
|
#endif
|
||||||
daemon->getNetworkSettings(network);
|
daemon->getNetworkSettings(network);
|
||||||
|
|
||||||
std::stringstream result;
|
std::stringstream result;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
result << "{\n\"general.isCinC\":" << boolAsStr(modSettings.is_cinc);
|
result << "{\n\"general.isCinC\":" << boolAsStr(modSettings.is_cinc);
|
||||||
result << ",\"general.txEn\":" << boolAsStr(modSettings.tx_is_on);
|
result << ",\"general.txEn\":" << boolAsStr(modSettings.tx_is_on);
|
||||||
result << ",\"general.modulatorMode\":" << (modSettings.is_carrier ? "\"normal\"" : "\"test\"");
|
result << ",\"general.modulatorMode\":" << (modSettings.is_carrier ? "\"normal\"" : "\"test\"");
|
||||||
@ -705,6 +788,20 @@ std::string api_driver::ApiDriver::loadSettings() const {
|
|||||||
result << ",\"cinc.position.satelliteLongitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_sattelite_grad, dpdiSettings.longitude_sattelite_minute), 6);
|
result << ",\"cinc.position.satelliteLongitude\":"; writeDouble(result, translateCoordinates(dpdiSettings.longitude_sattelite_grad, dpdiSettings.longitude_sattelite_minute), 6);
|
||||||
result << ",\"cinc.delayMin\":" << dpdiSettings.min_delay;
|
result << ",\"cinc.delayMin\":" << dpdiSettings.min_delay;
|
||||||
result << ",\"cinc.delayMax\":" << dpdiSettings.max_delay;
|
result << ",\"cinc.delayMax\":" << 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
|
||||||
|
|
||||||
result << ",\n\"buc.refClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_buc);
|
result << ",\n\"buc.refClk10M\":" << boolAsStr(bucLnb.is_ref_10MHz_buc);
|
||||||
switch (bucLnb.buc) {
|
switch (bucLnb.buc) {
|
||||||
@ -760,9 +857,12 @@ std::string api_driver::ApiDriver::loadFirmwareVersion() const {
|
|||||||
void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
||||||
modulator_settings mod{};
|
modulator_settings mod{};
|
||||||
demodulator_settings demod{};
|
demodulator_settings demod{};
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
ACM_parameters_serv_ acm{};
|
ACM_parameters_serv_ acm{};
|
||||||
|
#endif
|
||||||
|
|
||||||
// для модулятора
|
// для модулятора
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
mod.is_cinc = pt.get<bool>(json_path("general.isCinC", '/'));
|
mod.is_cinc = pt.get<bool>(json_path("general.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", '/'));
|
||||||
@ -778,9 +878,20 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
|||||||
|
|
||||||
const bool acmIsShortFrame = !pt.get<bool>(json_path("dvbs2.frameSizeNormal", '/'));
|
const bool acmIsShortFrame = !pt.get<bool>(json_path("dvbs2.frameSizeNormal", '/'));
|
||||||
mod.modcod_tx = (pt.get<uint32_t>(json_path("dvbs2.ccm_modcod", '/')) << 2) | (acmIsShortFrame ? 2 : 0);
|
mod.modcod_tx = (pt.get<uint32_t>(json_path("dvbs2.ccm_modcod", '/')) << 2) | (acmIsShortFrame ? 2 : 0);
|
||||||
|
#else
|
||||||
|
mod.tx_is_on = pt.get<bool>(json_path("tx.txEn", '/'));
|
||||||
|
mod.is_test_data = pt.get<bool>(json_path("tx.isTestInputData", '/'));
|
||||||
|
mod.central_freq_in_kGz = pt.get<double>(json_path("tx.centerFreq", '/'));
|
||||||
|
mod.baudrate = pt.get<uint32_t>(json_path("tx.cymRate", '/'));
|
||||||
|
mod.attenuation = pt.get<double>(json_path("tx.attenuation", '/'));
|
||||||
|
#endif
|
||||||
|
|
||||||
// демодулятор
|
// демодулятор
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
tmp = pt.get<std::string>(json_path("rx.gainMode", '/'));
|
tmp = pt.get<std::string>(json_path("rx.gainMode", '/'));
|
||||||
|
#else
|
||||||
|
auto tmp = pt.get<std::string>(json_path("rx.gainMode", '/'));
|
||||||
|
#endif
|
||||||
if (tmp == "auto") { demod.is_aru_on = true; }
|
if (tmp == "auto") { demod.is_aru_on = true; }
|
||||||
else if (tmp == "manual") { demod.is_aru_on = false; }
|
else if (tmp == "manual") { demod.is_aru_on = false; }
|
||||||
else { throw std::runtime_error("api_driver::ApiDriver::setRxTxSettings(): Wrong gain mode: " + tmp); }
|
else { throw std::runtime_error("api_driver::ApiDriver::setRxTxSettings(): Wrong gain mode: " + tmp); }
|
||||||
@ -790,6 +901,7 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
|||||||
demod.rollof = pt.get<double>(json_path("rx.rolloff", '/')) / 100.0;
|
demod.rollof = pt.get<double>(json_path("rx.rolloff", '/')) / 100.0;
|
||||||
demod.central_freq_in_kGz = pt.get<double>(json_path("rx.centerFreq", '/'));
|
demod.central_freq_in_kGz = pt.get<double>(json_path("rx.centerFreq", '/'));
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
// ACM
|
// ACM
|
||||||
acm.enable = pt.get<bool>(json_path("dvbs2.isAcm", '/'));
|
acm.enable = pt.get<bool>(json_path("dvbs2.isAcm", '/'));
|
||||||
acm.max_modcod = (pt.get<uint32_t>(json_path("dvbs2.acm_maxModcod", '/')) << 2) | (acmIsShortFrame ? 2 : 0);
|
acm.max_modcod = (pt.get<uint32_t>(json_path("dvbs2.acm_maxModcod", '/')) << 2) | (acmIsShortFrame ? 2 : 0);
|
||||||
@ -802,8 +914,12 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
|||||||
acm.snr_treashold = pt.get<double>(json_path("acm.requiredSnr", '/')); // требуемый ОСШ
|
acm.snr_treashold = pt.get<double>(json_path("acm.requiredSnr", '/')); // требуемый ОСШ
|
||||||
|
|
||||||
daemon->setSettingsRxTx(mod, demod, acm);
|
daemon->setSettingsRxTx(mod, demod, acm);
|
||||||
|
#else
|
||||||
|
daemon->setSettingsRxTx(mod, demod);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
void api_driver::ApiDriver::setCincSettings(boost::property_tree::ptree &pt) {
|
void api_driver::ApiDriver::setCincSettings(boost::property_tree::ptree &pt) {
|
||||||
DPDI_parmeters s{};
|
DPDI_parmeters s{};
|
||||||
|
|
||||||
@ -832,6 +948,7 @@ void api_driver::ApiDriver::setCincSettings(boost::property_tree::ptree &pt) {
|
|||||||
|
|
||||||
this->daemon->setSettingsCinc(s);
|
this->daemon->setSettingsCinc(s);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void api_driver::ApiDriver::setBucLnbSettings(boost::property_tree::ptree &pt) {
|
void api_driver::ApiDriver::setBucLnbSettings(boost::property_tree::ptree &pt) {
|
||||||
buc_lnb_settings s{};
|
buc_lnb_settings s{};
|
||||||
@ -850,7 +967,9 @@ void api_driver::ApiDriver::setBucLnbSettings(boost::property_tree::ptree &pt) {
|
|||||||
tmp = pt.get<int>(json_path("buc.powering", '/'));
|
tmp = pt.get<int>(json_path("buc.powering", '/'));
|
||||||
switch (tmp) {
|
switch (tmp) {
|
||||||
case 24: s.buc = voltage_buc::_24V; break;
|
case 24: s.buc = voltage_buc::_24V; break;
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
case 48: s.buc = voltage_buc::_48V; break;
|
case 48: s.buc = voltage_buc::_48V; break;
|
||||||
|
#endif
|
||||||
case 0:
|
case 0:
|
||||||
default:
|
default:
|
||||||
s.lnb = voltage_lnb::DISABLE;
|
s.lnb = voltage_lnb::DISABLE;
|
||||||
|
@ -46,11 +46,12 @@ namespace api_driver {
|
|||||||
*/
|
*/
|
||||||
void setRxTxSettings(boost::property_tree::ptree &pt);
|
void setRxTxSettings(boost::property_tree::ptree &pt);
|
||||||
|
|
||||||
|
#ifdef MODEM_IS_SCPC
|
||||||
/**
|
/**
|
||||||
* Установить настройки CinC, readback можно получить используя loadTerminalState.
|
* Установить настройки CinC, readback можно получить используя loadTerminalState.
|
||||||
*/
|
*/
|
||||||
void setCincSettings(boost::property_tree::ptree &pt);
|
void setCincSettings(boost::property_tree::ptree &pt);
|
||||||
|
#endif
|
||||||
/**
|
/**
|
||||||
* Установить настройки BUC и LNB, readback можно получить используя loadTerminalState.
|
* Установить настройки BUC и LNB, readback можно получить используя loadTerminalState.
|
||||||
*/
|
*/
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 303 KiB After Width: | Height: | Size: 72 KiB |
@ -90,11 +90,11 @@
|
|||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><th>Передача</th><td><span :class="{ indicator_bad: stat_tx.state === false, indicator_good: stat_tx.state === true, indicator: true }"></span></td></tr>
|
<tr><th>Передача</th><td><span :class="{ indicator_bad: stat_tx.state === false, indicator_good: stat_tx.state === true, indicator: true }"></span></td></tr>
|
||||||
<tr><th>Modcod</th><td class="value-bad">{{ stat_tx.modcod }}</td></tr>
|
<tr><th>Modcod</th><td>{{ stat_tx.modcod }}</td></tr>
|
||||||
<tr><th>Инф. скорость на передаче</th><td>{{ stat_tx.speedOnTxKbit }} kbit/s</td></tr>
|
<tr><th>Инф. скорость на передаче</th><td>{{ stat_tx.speedOnTxKbit }} kbit/s</td></tr>
|
||||||
<tr><th>Инф. скорость на интерфейсе</th><td>{{ stat_tx.speedOnIifKbit }} kbit/s</td></tr>
|
<tr><th>Инф. скорость на интерфейсе</th><td>{{ stat_tx.speedOnIifKbit }} kbit/s</td></tr>
|
||||||
<tr><th>Центральная частота</th><td class="value-bad">N/A kHz</td></tr>
|
<tr><th>Центральная частота</th><td>{{ stat_tx.centerFreq }} kHz</td></tr>
|
||||||
<tr><th>Символьная скорость</th><td class="value-bad">N/A ksymb</td></tr>
|
<tr><th>Символьная скорость</th><td>{{ stat_tx.symSpeed }} ksymb</td></tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@ -200,7 +200,6 @@
|
|||||||
<select v-model="param.buc.powering">
|
<select v-model="param.buc.powering">
|
||||||
<option value="0">выкл</option>
|
<option value="0">выкл</option>
|
||||||
<option value="24">24В</option>
|
<option value="24">24В</option>
|
||||||
<option value="48">48В</option>
|
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -398,19 +397,15 @@
|
|||||||
<span class="slider"></span>
|
<span class="slider"></span>
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
<label v-if="param.debugSend.en">
|
<label v-show="param.debugSend.en">
|
||||||
<span>IP адрес получателя</span>
|
<span>IP адрес получателя</span>
|
||||||
<input v-model="param.debugSend.receiverIp" required type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}">
|
<input v-model="param.debugSend.receiverIp" required type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}">
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label v-show="param.debugSend.en">
|
||||||
<span>Порт для CinC</span>
|
<span>Порт для данных</span>
|
||||||
<input v-model="param.debugSend.portCinC" type="number" min="0" max="65535">
|
|
||||||
</label>
|
|
||||||
<label>
|
|
||||||
<span>Порт для CinC</span>
|
|
||||||
<input v-model="param.debugSend.portData" type="number" min="0" max="65535">
|
<input v-model="param.debugSend.portData" type="number" min="0" max="65535">
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label v-show="param.debugSend.en">
|
||||||
<span>Таймаут</span>
|
<span>Таймаут</span>
|
||||||
<input v-model="param.debugSend.timeout" type="number" pattern="^[0-9]+$">
|
<input v-model="param.debugSend.timeout" type="number" pattern="^[0-9]+$">
|
||||||
</label>
|
</label>
|
||||||
@ -430,6 +425,9 @@
|
|||||||
<div>
|
<div>
|
||||||
<button class="dangerous-button" @click="doModemReboot()">Перезагрузить модем <span class="submit-spinner" v-show="submitStatus.modemReboot !== null"></span></button>
|
<button class="dangerous-button" @click="doModemReboot()">Перезагрузить модем <span class="submit-spinner" v-show="submitStatus.modemReboot !== null"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-show="submitStatus.modemReboot !== null">
|
||||||
|
<img src="/internet.jpg" loading="lazy" alt="internet"/>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button class="dangerous-button" onclick="fetch('/api/resetSettings', { method: 'POST' }).then((r) => { window.location.reload(); })">Сбросить модем до заводских настроек</button>
|
<button class="dangerous-button" onclick="fetch('/api/resetSettings', { method: 'POST' }).then((r) => { window.location.reload(); })">Сбросить модем до заводских настроек</button>
|
||||||
</div>
|
</div>
|
||||||
@ -443,7 +441,6 @@
|
|||||||
<button class="action-button" @click="settingsUploadUpdate()">Загрузить<span class="submit-spinner" v-show="submitStatus.firmwareUpload"></span></button>
|
<button class="action-button" @click="settingsUploadUpdate()">Загрузить<span class="submit-spinner" v-show="submitStatus.firmwareUpload"></span></button>
|
||||||
<button class="dangerous-button" v-show="uploadFw.sha256 !== null" @click="settingsPerformFirmwareUpgrade()">Обновить встроенное ПО <span class="submit-spinner" v-show="submitStatus.firmwareUpgrade"></span></button>
|
<button class="dangerous-button" v-show="uploadFw.sha256 !== null" @click="settingsPerformFirmwareUpgrade()">Обновить встроенное ПО <span class="submit-spinner" v-show="submitStatus.firmwareUpgrade"></span></button>
|
||||||
</div>
|
</div>
|
||||||
<img src="/internet.jpg" loading="lazy" alt="internet" width="500px"/>
|
|
||||||
</div>
|
</div>
|
||||||
<p>Последнее обновление статистики: {{ lastUpdateTime }}</p>
|
<p>Последнее обновление статистики: {{ lastUpdateTime }}</p>
|
||||||
</div>
|
</div>
|
||||||
@ -639,7 +636,7 @@
|
|||||||
state: '?',
|
state: '?',
|
||||||
|
|
||||||
// прочие поля
|
// прочие поля
|
||||||
modcod: '?', speedOnTxKbit: '?', speedOnIifKbit: '?', centralFreq: '?', symSpeed: '?',
|
modcod: '?', speedOnTxKbit: '?', speedOnIifKbit: '?', centerFreq: '?', symSpeed: '?',
|
||||||
},
|
},
|
||||||
stat_device: { // температурные датчики
|
stat_device: { // температурные датчики
|
||||||
adrv: 0, zynq: 0, fpga: 0
|
adrv: 0, zynq: 0, fpga: 0
|
||||||
@ -685,7 +682,6 @@
|
|||||||
debugSend: {
|
debugSend: {
|
||||||
en: false,
|
en: false,
|
||||||
receiverIp: '0.0.0.0', // 0.0.0.0
|
receiverIp: '0.0.0.0', // 0.0.0.0
|
||||||
portCinC: 0,
|
|
||||||
portData: 0,
|
portData: 0,
|
||||||
timeout: 0
|
timeout: 0
|
||||||
},
|
},
|
||||||
@ -745,7 +741,6 @@
|
|||||||
updateStatistics(vals) {
|
updateStatistics(vals) {
|
||||||
this.lastUpdateTime = new Date();
|
this.lastUpdateTime = new Date();
|
||||||
this.initState = vals["mainState"]["initState"]
|
this.initState = vals["mainState"]["initState"]
|
||||||
this.isCinC = vals["mainState"]["isCinC"]
|
|
||||||
|
|
||||||
this.stat_rx.state = vals["mainState"]["rx.state"]
|
this.stat_rx.state = vals["mainState"]["rx.state"]
|
||||||
this.stat_rx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
this.stat_rx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"]
|
||||||
@ -772,7 +767,7 @@
|
|||||||
this.stat_tx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
this.stat_tx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||||
this.stat_tx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
this.stat_tx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"]
|
||||||
this.stat_tx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
this.stat_tx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"]
|
||||||
this.stat_tx.centralFreq = vals["mainState"]["tx.centralFreq"]
|
this.stat_tx.centerFreq = vals["mainState"]["tx.centerFreq"]
|
||||||
this.stat_tx.symSpeed = vals["mainState"]["tx.symSpeed"]
|
this.stat_tx.symSpeed = vals["mainState"]["tx.symSpeed"]
|
||||||
|
|
||||||
this.stat_device.adrv = vals["mainState"]["device.adrv"]
|
this.stat_device.adrv = vals["mainState"]["device.adrv"]
|
||||||
@ -800,6 +795,7 @@
|
|||||||
"tx.centerFreq": this.param.tx.centerFreq,
|
"tx.centerFreq": this.param.tx.centerFreq,
|
||||||
"tx.cymRate": this.param.tx.cymRate,
|
"tx.cymRate": this.param.tx.cymRate,
|
||||||
"tx.attenuation": this.param.tx.attenuation,
|
"tx.attenuation": this.param.tx.attenuation,
|
||||||
|
|
||||||
"rx.gainMode": this.param.rx.gainMode,
|
"rx.gainMode": this.param.rx.gainMode,
|
||||||
"rx.manualGain": this.param.rx.manualGain,
|
"rx.manualGain": this.param.rx.manualGain,
|
||||||
"rx.spectrumInversion": this.param.rx.spectrumInversion,
|
"rx.spectrumInversion": this.param.rx.spectrumInversion,
|
||||||
@ -976,7 +972,6 @@
|
|||||||
let query = {
|
let query = {
|
||||||
"debugSend.en": this.param.debugSend.en,
|
"debugSend.en": this.param.debugSend.en,
|
||||||
"debugSend.receiverIp": this.param.debugSend.receiverIp,
|
"debugSend.receiverIp": this.param.debugSend.receiverIp,
|
||||||
"debugSend.portCinC": this.param.debugSend.portCinC,
|
|
||||||
"debugSend.portData": this.param.debugSend.portData,
|
"debugSend.portData": this.param.debugSend.portData,
|
||||||
"debugSend.timeout": this.param.debugSend.timeout
|
"debugSend.timeout": this.param.debugSend.timeout
|
||||||
}
|
}
|
||||||
@ -1156,7 +1151,6 @@
|
|||||||
this.submitStatus.debugSend = false
|
this.submitStatus.debugSend = false
|
||||||
this.param.debugSend.en = vals["settings"]["debugSend.en"]
|
this.param.debugSend.en = vals["settings"]["debugSend.en"]
|
||||||
this.param.debugSend.receiverIp = vals["settings"]["debugSend.receiverIp"]
|
this.param.debugSend.receiverIp = vals["settings"]["debugSend.receiverIp"]
|
||||||
this.param.debugSend.portCinC = vals["settings"]["debugSend.portCinC"]
|
|
||||||
this.param.debugSend.portData = vals["settings"]["debugSend.portData"]
|
this.param.debugSend.portData = vals["settings"]["debugSend.portData"]
|
||||||
this.param.debugSend.timeout = vals["settings"]["debugSend.timeout"]
|
this.param.debugSend.timeout = vals["settings"]["debugSend.timeout"]
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user