diff --git a/src/main.cpp b/src/main.cpp index a3e83cc..d2a4076 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -105,17 +105,11 @@ public: sf->registerFile(VUE_JS, mime_types::javascript, true); sf->registerFile(KB_MP4, mime_types::video_mp4, true); -#if USE_DEBUG - constexpr bool allowCacheCss = false; -#else - constexpr bool allowCacheCss = true; -#endif + sf->registerFile(STYLE_CSS, mime_types::text_css, true); + sf->registerFile(FIELDS_CSS, mime_types::text_css, true); - sf->registerFile(INDEX_HTML, mime_types::text_html, allowCacheCss); - sf->registerFile(LOGIN_HTML, mime_types::text_html, allowCacheCss); - - sf->registerFile(STYLE_CSS, mime_types::text_css, allowCacheCss); - sf->registerFile(FIELDS_CSS, mime_types::text_css, allowCacheCss); + sf->registerFile(INDEX_HTML, mime_types::text_html, false); + sf->registerFile(LOGIN_HTML, mime_types::text_html, true); } void registerResources(http::server::Server& s) { diff --git a/src/server/resource.cpp b/src/server/resource.cpp index 2847a06..3573a1e 100644 --- a/src/server/resource.cpp +++ b/src/server/resource.cpp @@ -43,6 +43,7 @@ void http::resource::StaticFileFactory::registerFile(const std::string &path, se void http::resource::StaticFileFactory::serve(const std::string &path, server::Reply &rep) { for (auto& f: this->files) { if (f.path == path) { +#ifdef USE_DEBUG if (f.allowCache) { rep.content.clear(); rep.content.insert(rep.content.end(), f.content.begin(), f.content.end()); @@ -50,6 +51,10 @@ void http::resource::StaticFileFactory::serve(const std::string &path, server::R BOOST_LOG_TRIVIAL(debug) << "Reload file " << path << " (http path: " << path << ")"; loadFile(f.path, rep.content); } +#else + rep.content.clear(); + rep.content.insert(rep.content.end(), f.content.begin(), f.content.end()); +#endif rep.status = server::ok; // rep.headers.clear(); rep.headers.push_back({.name = "Content-Type", .value = server::mime_types::toString(f.type)}); diff --git a/src/terminal_api_driver.cpp b/src/terminal_api_driver.cpp index a0442c3..e993863 100644 --- a/src/terminal_api_driver.cpp +++ b/src/terminal_api_driver.cpp @@ -242,6 +242,12 @@ public: CP_SetDmaDebug(sid, "save_config", ""); } + void resetPacketStatistics() { + std::string tmp; + std::lock_guard lock(this->cpApiMutex); + CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp); + } + ~TerminalApiDaemon() { try { daemon.interrupt(); @@ -321,15 +327,15 @@ std::string api_driver::ApiDriver::loadTerminalState() const { result << ",\"tx.snr\":"; writeDouble(result, modulator.snr_remote); if (modulator.is_short) { - result << R"(,"tx.frameSize":"short")"; + result << R"(,"tx.frameSizeNormal":false)"; } else { - result << R"(,"tx.frameSize":"normal")"; + result << R"(,"tx.frameSizeNormal":true)"; } if (modulator.is_pilots) { - result << R"(,"tx.pilots":"pilots")"; + result << R"(,"tx.isPilots":true)"; } else { - result << R"(,"tx.pilots":"no pilots")"; + result << R"(,"tx.isPilots":false)"; } result << ",\"tx.speedOnTxKbit\":"; writeDouble(result, static_cast(modulator.speed_in_bytes_tx) / 128.0); @@ -347,15 +353,15 @@ std::string api_driver::ApiDriver::loadTerminalState() const { result << ",\"rx.modcod\":" << demodulator.modcod; if (demodulator.is_short) { - result << R"(,"rx.frameSize":"short")"; + result << R"(,"rx.frameSizeNormal":false)"; } else { - result << R"(,"rx.frameSize":"normal")"; + result << R"(,"rx.frameSizeNormal":true)"; } if (demodulator.is_pilots) { - result << R"(,"rx.pilots":"pilots")"; + result << R"(,"rx.isPilots":true)"; } else { - result << R"(,"rx.pilots":"no pilots")"; + result << R"(,"rx.isPilots":false)"; } result << ",\n\"rx.symError\":"; writeDouble(result, demodulator.sym_err); @@ -405,8 +411,7 @@ std::string api_driver::ApiDriver::loadTerminalState() const { void api_driver::ApiDriver::resetPacketStatistics() const { - std::string tmp; - CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp); + this->daemon->resetPacketStatistics(); } std::string api_driver::ApiDriver::loadSettings() const { @@ -441,8 +446,8 @@ std::string api_driver::ApiDriver::loadSettings() const { result << ",\"tx.centerFreq\":"; writeDouble(result, modSettings.central_freq_in_kGz, 3); result << ",\n\"dvbs2.isAcm\":" << boolAsStr(acmSettings.enable); - result << ",\"dvbs2.frameSize\":" << ((modulatorModcod & 2) ? "\"short\"" : "\"normal\""); - // result << ",\"dvbs2.pilots\":" << "null"; + result << ",\"dvbs2.frameSizeNormal\":" << boolAsStr(!(modulatorModcod & 2)); + // result << ",\"dvbs2.isPilots\":" << "null"; result << ",\"dvbs2.ccm_modcod\":" << (modulatorModcod >> 4); result << ",\"dvbs2.acm_maxModcod\":" << (acmSettings.max_modcod >> 2); result << ",\"dvbs2.acm_minModcod\":" << (acmSettings.min_modcod >> 2); diff --git a/static/main.html b/static/main.html index f08f63b..90ffe4a 100644 --- a/static/main.html +++ b/static/main.html @@ -31,7 +31,7 @@ Передача: Тест: -
{{ initState }}
+ {{ initState }}
RSCM-101 @@ -55,8 +55,8 @@ Захват пакетной синхр. ОСШ/RSSI{{ stat_rx.snr }} / {{ stat_rx.rssi }} Modcod{{ stat_rx.modcod }} - Размер кадра{{ stat_rx.frameSize }} - Пилот-символы{{ stat_rx.pilots }} + Размер кадра{{ stat_rx.frameSizeNormal ? 'normal' : 'short' }} + Пилот-символы{{ stat_rx.isPilots ? 'pilots' : 'no pilots' }} Символьная ошибка{{ stat_rx.symError }} Грубая/точная част. ошибка, Гц{{ stat_rx.freqErr }} / {{ stat_rx.freqErrAcc }} Ур. входного сигнала{{ stat_rx.inputSignalLevel }} @@ -82,8 +82,8 @@ Передача ОСШ дальнего приема{{ stat_tx.snr }} Modcod{{ stat_tx.modcod }} - Размер кадра{{ stat_tx.frameSize }} - Пилот-символы{{ stat_tx.pilots }} + Размер кадра{{ stat_tx.frameSizeNormal ? 'normal' : 'short' }} + Пилот-символы{{ stat_tx.isPilots ? 'pilots' : 'no pilots' }} Инф. скорость на передаче{{ stat_tx.speedOnTxKbit }} kbit/s Инф. скорость на интерфейсе{{ stat_tx.speedOnIifKbit }} kbit/s @@ -196,14 +196,14 @@ - + @@ -655,8 +655,8 @@ // куча других параметров, идет в том же порядке, что и в таблице snr: '?', rssi: '?', - modcod: '?', frameSize: '?', - pilots: '?', + modcod: '?', frameSizeNormal: '?', + isPilots: '?', symError: '?', freqErr: '?', freqErrAcc: '?', inputSignalLevel: '?', @@ -672,7 +672,7 @@ state: '?', // прочие поля - snr: '?', modcod: '?', frameSize: '?', pilots: '?', speedOnTxKbit: '?', speedOnIifKbit: '?', + snr: '?', modcod: '?', frameSizeNormal: '?', isPilots: '?', speedOnTxKbit: '?', speedOnIifKbit: '?', }, stat_cinc: { occ: '?', @@ -701,8 +701,8 @@ }, dvbs2: { mode: null, // ccm/acm - frameSize: null, // 'normal' / 'short' - // pilots: false, + frameSizeNormal: null, // 'normal' / 'short' + // isPilots: false, // CCM ccm_modulation: null, @@ -793,6 +793,7 @@ updateStatistics(vals) { this.lastUpdateTime = new Date(); + this.initState = vals["mainState"]["initState"] this.isCinC = vals["mainState"]["isCinC"] this.stat_rx.state = vals["mainState"]["rx.state"] @@ -803,8 +804,8 @@ this.stat_rx.snr = vals["mainState"]["rx.snr"] this.stat_rx.rssi = vals["mainState"]["rx.rssi"] this.stat_rx.modcod = modcodToStr(vals["mainState"]["rx.modcod"]) - this.stat_rx.frameSize = vals["mainState"]["rx.frameSize"] - this.stat_rx.pilots = vals["mainState"]["rx.pilots"] + this.stat_rx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"] + this.stat_rx.isPilots = vals["mainState"]["rx.isPilots"] this.stat_rx.symError = vals["mainState"]["rx.symError"] this.stat_rx.freqErr = vals["mainState"]["rx.freqErr"] this.stat_rx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"] @@ -819,8 +820,8 @@ this.stat_tx.state = vals["mainState"]["tx.state"] this.stat_tx.snr = vals["mainState"]["tx.snr"] this.stat_tx.modcod = modcodToStr(vals["mainState"]["tx.modcod"]) - this.stat_tx.frameSize = vals["mainState"]["tx.frameSize"] - this.stat_tx.pilots = vals["mainState"]["tx.pilots"] + this.stat_tx.frameSizeNormal = vals["mainState"]["tx.frameSizeNormal"] + this.stat_tx.isPilots = vals["mainState"]["tx.isPilots"] this.stat_tx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"] this.stat_tx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"] @@ -978,8 +979,8 @@ this.param.tx.centerFreq = vals["settings"]["tx.centerFreq"] this.param.dvbs2.mode = (vals["settings"]["dvbs2.isAcm"] ? 'acm' : 'ccm') - this.param.dvbs2.frameSize = vals["settings"]["dvbs2.frameSize"] - // this.param.dvbs2.pilots = vals["settings"]["dvbs2.pilots"] + this.param.dvbs2.frameSizeNormal = vals["settings"]["dvbs2.frameSizeNormal"] + // this.param.dvbs2.isPilots = vals["settings"]["dvbs2.isPilots"] let m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.ccm_modcod"]) this.param.dvbs2.ccm_modulation = m.modulation