изменил политику кеширования, убрал строковые константы из статистик (пилоты, размер кадра)
This commit is contained in:
parent
c0e7e1e300
commit
087da149f1
14
src/main.cpp
14
src/main.cpp
@ -105,17 +105,11 @@ public:
|
|||||||
sf->registerFile(VUE_JS, mime_types::javascript, true);
|
sf->registerFile(VUE_JS, mime_types::javascript, true);
|
||||||
sf->registerFile(KB_MP4, mime_types::video_mp4, true);
|
sf->registerFile(KB_MP4, mime_types::video_mp4, true);
|
||||||
|
|
||||||
#if USE_DEBUG
|
sf->registerFile(STYLE_CSS, mime_types::text_css, true);
|
||||||
constexpr bool allowCacheCss = false;
|
sf->registerFile(FIELDS_CSS, mime_types::text_css, true);
|
||||||
#else
|
|
||||||
constexpr bool allowCacheCss = true;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
sf->registerFile(INDEX_HTML, mime_types::text_html, allowCacheCss);
|
sf->registerFile(INDEX_HTML, mime_types::text_html, false);
|
||||||
sf->registerFile(LOGIN_HTML, mime_types::text_html, allowCacheCss);
|
sf->registerFile(LOGIN_HTML, mime_types::text_html, true);
|
||||||
|
|
||||||
sf->registerFile(STYLE_CSS, mime_types::text_css, allowCacheCss);
|
|
||||||
sf->registerFile(FIELDS_CSS, mime_types::text_css, allowCacheCss);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void registerResources(http::server::Server& s) {
|
void registerResources(http::server::Server& s) {
|
||||||
|
@ -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) {
|
void http::resource::StaticFileFactory::serve(const std::string &path, server::Reply &rep) {
|
||||||
for (auto& f: this->files) {
|
for (auto& f: this->files) {
|
||||||
if (f.path == path) {
|
if (f.path == path) {
|
||||||
|
#ifdef USE_DEBUG
|
||||||
if (f.allowCache) {
|
if (f.allowCache) {
|
||||||
rep.content.clear();
|
rep.content.clear();
|
||||||
rep.content.insert(rep.content.end(), f.content.begin(), f.content.end());
|
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 << ")";
|
BOOST_LOG_TRIVIAL(debug) << "Reload file " << path << " (http path: " << path << ")";
|
||||||
loadFile(f.path, rep.content);
|
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.status = server::ok;
|
||||||
// rep.headers.clear();
|
// rep.headers.clear();
|
||||||
rep.headers.push_back({.name = "Content-Type", .value = server::mime_types::toString(f.type)});
|
rep.headers.push_back({.name = "Content-Type", .value = server::mime_types::toString(f.type)});
|
||||||
|
@ -242,6 +242,12 @@ public:
|
|||||||
CP_SetDmaDebug(sid, "save_config", "");
|
CP_SetDmaDebug(sid, "save_config", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void resetPacketStatistics() {
|
||||||
|
std::string tmp;
|
||||||
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
|
CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp);
|
||||||
|
}
|
||||||
|
|
||||||
~TerminalApiDaemon() {
|
~TerminalApiDaemon() {
|
||||||
try {
|
try {
|
||||||
daemon.interrupt();
|
daemon.interrupt();
|
||||||
@ -321,15 +327,15 @@ std::string api_driver::ApiDriver::loadTerminalState() const {
|
|||||||
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.frameSize":"short")";
|
result << R"(,"tx.frameSizeNormal":false)";
|
||||||
} else {
|
} else {
|
||||||
result << R"(,"tx.frameSize":"normal")";
|
result << R"(,"tx.frameSizeNormal":true)";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (modulator.is_pilots) {
|
if (modulator.is_pilots) {
|
||||||
result << R"(,"tx.pilots":"pilots")";
|
result << R"(,"tx.isPilots":true)";
|
||||||
} else {
|
} else {
|
||||||
result << R"(,"tx.pilots":"no pilots")";
|
result << R"(,"tx.isPilots":false)";
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
@ -347,15 +353,15 @@ std::string api_driver::ApiDriver::loadTerminalState() const {
|
|||||||
result << ",\"rx.modcod\":" << demodulator.modcod;
|
result << ",\"rx.modcod\":" << demodulator.modcod;
|
||||||
|
|
||||||
if (demodulator.is_short) {
|
if (demodulator.is_short) {
|
||||||
result << R"(,"rx.frameSize":"short")";
|
result << R"(,"rx.frameSizeNormal":false)";
|
||||||
} else {
|
} else {
|
||||||
result << R"(,"rx.frameSize":"normal")";
|
result << R"(,"rx.frameSizeNormal":true)";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (demodulator.is_pilots) {
|
if (demodulator.is_pilots) {
|
||||||
result << R"(,"rx.pilots":"pilots")";
|
result << R"(,"rx.isPilots":true)";
|
||||||
} else {
|
} else {
|
||||||
result << R"(,"rx.pilots":"no pilots")";
|
result << R"(,"rx.isPilots":false)";
|
||||||
}
|
}
|
||||||
|
|
||||||
result << ",\n\"rx.symError\":"; writeDouble(result, demodulator.sym_err);
|
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 {
|
void api_driver::ApiDriver::resetPacketStatistics() const {
|
||||||
std::string tmp;
|
this->daemon->resetPacketStatistics();
|
||||||
CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string api_driver::ApiDriver::loadSettings() const {
|
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 << ",\"tx.centerFreq\":"; writeDouble(result, modSettings.central_freq_in_kGz, 3);
|
||||||
|
|
||||||
result << ",\n\"dvbs2.isAcm\":" << boolAsStr(acmSettings.enable);
|
result << ",\n\"dvbs2.isAcm\":" << boolAsStr(acmSettings.enable);
|
||||||
result << ",\"dvbs2.frameSize\":" << ((modulatorModcod & 2) ? "\"short\"" : "\"normal\"");
|
result << ",\"dvbs2.frameSizeNormal\":" << boolAsStr(!(modulatorModcod & 2));
|
||||||
// result << ",\"dvbs2.pilots\":" << "null";
|
// result << ",\"dvbs2.isPilots\":" << "null";
|
||||||
result << ",\"dvbs2.ccm_modcod\":" << (modulatorModcod >> 4);
|
result << ",\"dvbs2.ccm_modcod\":" << (modulatorModcod >> 4);
|
||||||
result << ",\"dvbs2.acm_maxModcod\":" << (acmSettings.max_modcod >> 2);
|
result << ",\"dvbs2.acm_maxModcod\":" << (acmSettings.max_modcod >> 2);
|
||||||
result << ",\"dvbs2.acm_minModcod\":" << (acmSettings.min_modcod >> 2);
|
result << ",\"dvbs2.acm_minModcod\":" << (acmSettings.min_modcod >> 2);
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
<span class="nav-bar-element">Передача: <span :class="{ indicator_good: stat_tx.state === true, indicator: true }"></span></span>
|
<span class="nav-bar-element">Передача: <span :class="{ indicator_good: stat_tx.state === true, indicator: true }"></span></span>
|
||||||
<span class="nav-bar-element">Тест: <span :class="{ indicator_good: (param.general.isTestInputData === true || param.general.modulatorMode === 'test'), indicator: true }"></span></span>
|
<span class="nav-bar-element">Тест: <span :class="{ indicator_good: (param.general.isTestInputData === true || param.general.modulatorMode === 'test'), indicator: true }"></span></span>
|
||||||
<!-- Последнее обновление: {{ lastUpdateTime }}-->
|
<!-- Последнее обновление: {{ lastUpdateTime }}-->
|
||||||
<div :class="{ value_bad: initState !== 'Успешная инициализация системы' }">{{ initState }}</div>
|
<span :class="{ value_bad: initState !== 'Успешная инициализация системы' }">{{ initState }}</span>
|
||||||
|
|
||||||
<div class="tabs-header">
|
<div class="tabs-header">
|
||||||
<span style="font-weight:bold">RSCM-101</span>
|
<span style="font-weight:bold">RSCM-101</span>
|
||||||
@ -55,8 +55,8 @@
|
|||||||
<tr><th>Захват пакетной синхр.</th><td><span :class="{ indicator_bad: stat_rx.pkt_sync === false, indicator_good: stat_rx.pkt_sync === true, indicator: true }"></span></td></tr>
|
<tr><th>Захват пакетной синхр.</th><td><span :class="{ indicator_bad: stat_rx.pkt_sync === false, indicator_good: stat_rx.pkt_sync === true, indicator: true }"></span></td></tr>
|
||||||
<tr><th>ОСШ/RSSI</th><td>{{ stat_rx.snr }} / {{ stat_rx.rssi }}</td></tr>
|
<tr><th>ОСШ/RSSI</th><td>{{ stat_rx.snr }} / {{ stat_rx.rssi }}</td></tr>
|
||||||
<tr><th>Modcod</th><td>{{ stat_rx.modcod }}</td></tr>
|
<tr><th>Modcod</th><td>{{ stat_rx.modcod }}</td></tr>
|
||||||
<tr><th>Размер кадра</th><td>{{ stat_rx.frameSize }}</td></tr>
|
<tr><th>Размер кадра</th><td>{{ stat_rx.frameSizeNormal ? 'normal' : 'short' }}</td></tr>
|
||||||
<tr><th>Пилот-символы</th><td>{{ stat_rx.pilots }}</td></tr>
|
<tr><th>Пилот-символы</th><td>{{ stat_rx.isPilots ? 'pilots' : 'no pilots' }}</td></tr>
|
||||||
<tr><th>Символьная ошибка</th><td>{{ stat_rx.symError }}</td></tr>
|
<tr><th>Символьная ошибка</th><td>{{ stat_rx.symError }}</td></tr>
|
||||||
<tr><th>Грубая/точная част. ошибка, Гц</th><td>{{ stat_rx.freqErr }} / {{ stat_rx.freqErrAcc }}</td></tr>
|
<tr><th>Грубая/точная част. ошибка, Гц</th><td>{{ stat_rx.freqErr }} / {{ stat_rx.freqErrAcc }}</td></tr>
|
||||||
<tr><th>Ур. входного сигнала</th><td>{{ stat_rx.inputSignalLevel }}</td></tr>
|
<tr><th>Ур. входного сигнала</th><td>{{ stat_rx.inputSignalLevel }}</td></tr>
|
||||||
@ -82,8 +82,8 @@
|
|||||||
<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>ОСШ дальнего приема</th><td>{{ stat_tx.snr }}</td></tr>
|
<tr><th>ОСШ дальнего приема</th><td>{{ stat_tx.snr }}</td></tr>
|
||||||
<tr><th>Modcod</th><td>{{ stat_tx.modcod }}</td></tr>
|
<tr><th>Modcod</th><td>{{ stat_tx.modcod }}</td></tr>
|
||||||
<tr><th>Размер кадра</th><td>{{ stat_tx.frameSize }}</td></tr>
|
<tr><th>Размер кадра</th><td>{{ stat_tx.frameSizeNormal ? 'normal' : 'short' }}</td></tr>
|
||||||
<tr><th>Пилот-символы</th><td>{{ stat_tx.pilots }}</td></tr>
|
<tr><th>Пилот-символы</th><td>{{ stat_tx.isPilots ? 'pilots' : 'no pilots' }}</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>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -196,14 +196,14 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<span>Размер кадра</span>
|
<span>Размер кадра</span>
|
||||||
<select v-model="param.dvbs2.frameSize">
|
<select v-model="param.dvbs2.frameSizeNormal">
|
||||||
<option value="normal">normal</option>
|
<option value="true">normal</option>
|
||||||
<option value="short">short</option>
|
<option value="false">short</option>
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<!-- <label>-->
|
<!-- <label>-->
|
||||||
<!-- <span>Пилот-символы</span>-->
|
<!-- <span>Пилот-символы</span>-->
|
||||||
<!-- <select v-model="param.dvbs2.pilots">-->
|
<!-- <select v-model="param.dvbs2.isPilots">-->
|
||||||
<!-- <option value="true">pilots</option>-->
|
<!-- <option value="true">pilots</option>-->
|
||||||
<!-- <option value="false">no pilots</option>-->
|
<!-- <option value="false">no pilots</option>-->
|
||||||
<!-- </select>-->
|
<!-- </select>-->
|
||||||
@ -655,8 +655,8 @@
|
|||||||
|
|
||||||
// куча других параметров, идет в том же порядке, что и в таблице
|
// куча других параметров, идет в том же порядке, что и в таблице
|
||||||
snr: '?', rssi: '?',
|
snr: '?', rssi: '?',
|
||||||
modcod: '?', frameSize: '?',
|
modcod: '?', frameSizeNormal: '?',
|
||||||
pilots: '?',
|
isPilots: '?',
|
||||||
symError: '?',
|
symError: '?',
|
||||||
freqErr: '?', freqErrAcc: '?',
|
freqErr: '?', freqErrAcc: '?',
|
||||||
inputSignalLevel: '?',
|
inputSignalLevel: '?',
|
||||||
@ -672,7 +672,7 @@
|
|||||||
state: '?',
|
state: '?',
|
||||||
|
|
||||||
// прочие поля
|
// прочие поля
|
||||||
snr: '?', modcod: '?', frameSize: '?', pilots: '?', speedOnTxKbit: '?', speedOnIifKbit: '?',
|
snr: '?', modcod: '?', frameSizeNormal: '?', isPilots: '?', speedOnTxKbit: '?', speedOnIifKbit: '?',
|
||||||
},
|
},
|
||||||
stat_cinc: {
|
stat_cinc: {
|
||||||
occ: '?',
|
occ: '?',
|
||||||
@ -701,8 +701,8 @@
|
|||||||
},
|
},
|
||||||
dvbs2: {
|
dvbs2: {
|
||||||
mode: null, // ccm/acm
|
mode: null, // ccm/acm
|
||||||
frameSize: null, // 'normal' / 'short'
|
frameSizeNormal: null, // 'normal' / 'short'
|
||||||
// pilots: false,
|
// isPilots: false,
|
||||||
|
|
||||||
// CCM
|
// CCM
|
||||||
ccm_modulation: null,
|
ccm_modulation: null,
|
||||||
@ -793,6 +793,7 @@
|
|||||||
|
|
||||||
updateStatistics(vals) {
|
updateStatistics(vals) {
|
||||||
this.lastUpdateTime = new Date();
|
this.lastUpdateTime = new Date();
|
||||||
|
this.initState = vals["mainState"]["initState"]
|
||||||
this.isCinC = vals["mainState"]["isCinC"]
|
this.isCinC = vals["mainState"]["isCinC"]
|
||||||
|
|
||||||
this.stat_rx.state = vals["mainState"]["rx.state"]
|
this.stat_rx.state = vals["mainState"]["rx.state"]
|
||||||
@ -803,8 +804,8 @@
|
|||||||
this.stat_rx.snr = vals["mainState"]["rx.snr"]
|
this.stat_rx.snr = vals["mainState"]["rx.snr"]
|
||||||
this.stat_rx.rssi = vals["mainState"]["rx.rssi"]
|
this.stat_rx.rssi = vals["mainState"]["rx.rssi"]
|
||||||
this.stat_rx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
this.stat_rx.modcod = modcodToStr(vals["mainState"]["rx.modcod"])
|
||||||
this.stat_rx.frameSize = vals["mainState"]["rx.frameSize"]
|
this.stat_rx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"]
|
||||||
this.stat_rx.pilots = vals["mainState"]["rx.pilots"]
|
this.stat_rx.isPilots = vals["mainState"]["rx.isPilots"]
|
||||||
this.stat_rx.symError = vals["mainState"]["rx.symError"]
|
this.stat_rx.symError = vals["mainState"]["rx.symError"]
|
||||||
this.stat_rx.freqErr = vals["mainState"]["rx.freqErr"]
|
this.stat_rx.freqErr = vals["mainState"]["rx.freqErr"]
|
||||||
this.stat_rx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
this.stat_rx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"]
|
||||||
@ -819,8 +820,8 @@
|
|||||||
this.stat_tx.state = vals["mainState"]["tx.state"]
|
this.stat_tx.state = vals["mainState"]["tx.state"]
|
||||||
this.stat_tx.snr = vals["mainState"]["tx.snr"]
|
this.stat_tx.snr = vals["mainState"]["tx.snr"]
|
||||||
this.stat_tx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
this.stat_tx.modcod = modcodToStr(vals["mainState"]["tx.modcod"])
|
||||||
this.stat_tx.frameSize = vals["mainState"]["tx.frameSize"]
|
this.stat_tx.frameSizeNormal = vals["mainState"]["tx.frameSizeNormal"]
|
||||||
this.stat_tx.pilots = vals["mainState"]["tx.pilots"]
|
this.stat_tx.isPilots = vals["mainState"]["tx.isPilots"]
|
||||||
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"]
|
||||||
|
|
||||||
@ -978,8 +979,8 @@
|
|||||||
this.param.tx.centerFreq = vals["settings"]["tx.centerFreq"]
|
this.param.tx.centerFreq = vals["settings"]["tx.centerFreq"]
|
||||||
|
|
||||||
this.param.dvbs2.mode = (vals["settings"]["dvbs2.isAcm"] ? 'acm' : 'ccm')
|
this.param.dvbs2.mode = (vals["settings"]["dvbs2.isAcm"] ? 'acm' : 'ccm')
|
||||||
this.param.dvbs2.frameSize = vals["settings"]["dvbs2.frameSize"]
|
this.param.dvbs2.frameSizeNormal = vals["settings"]["dvbs2.frameSizeNormal"]
|
||||||
// this.param.dvbs2.pilots = vals["settings"]["dvbs2.pilots"]
|
// this.param.dvbs2.isPilots = vals["settings"]["dvbs2.isPilots"]
|
||||||
|
|
||||||
let m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.ccm_modcod"])
|
let m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.ccm_modcod"])
|
||||||
this.param.dvbs2.ccm_modulation = m.modulation
|
this.param.dvbs2.ccm_modulation = m.modulation
|
||||||
|
Loading…
x
Reference in New Issue
Block a user