исправления логики веб-страницы и статистики

This commit is contained in:
2024-11-05 17:11:36 +03:00
parent 541b08a40e
commit 40e12f1c67
2 changed files with 30 additions and 28 deletions

View File

@@ -5,6 +5,7 @@
#include "terminal_api/ControlProtoCInterface.h"
#include <sstream>
#include <cmath>
#include <iomanip>
/*
timer_->timeout().connect([=]{
@@ -83,7 +84,8 @@ std::string api_driver::ApiDriver::loadTerminalState() {
// формируем структуру для TX
result << ",\"tx.state\":" << boolAsStr(modulator.is_tx_on);
result.precision(2); result << ",\"tx.modcod\":" << modulator.snr_remote;
result << ",\"tx.modcod\":" << modulator.modcod;
result << ",\"tx.snr\":" << std::fixed << std::setprecision(2) << modulator.snr_remote;
if (modulator.is_short) {
result << R"(,"tx.frameSize":"short")";
@@ -97,8 +99,8 @@ std::string api_driver::ApiDriver::loadTerminalState() {
result << R"(,"tx.pilots":"no pilots")";
}
result.precision(2); result << ",\"tx.speedOnTxKbit\":" << static_cast<double>(modulator.speed_in_bytes_tx) / 128.0;
result.precision(2); result << ",\"tx.speedOnIifKbit\":" << (static_cast<double>(modulator.speed_in_bytes_tx_iface) / 128.0);
result << ",\"tx.speedOnTxKbit\":" << std::fixed << std::setprecision(2) << static_cast<double>(modulator.speed_in_bytes_tx) / 128.0;
result << ",\"tx.speedOnIifKbit\":" << std::fixed << std::setprecision(2) << (static_cast<double>(modulator.speed_in_bytes_tx_iface) / 128.0);
// формируем структуру для RX
result << ",\"rx.state\":" << boolAsStr(demodulator.locks.sym_sync_lock && demodulator.locks.freq_lock && demodulator.locks.afc_lock && demodulator.locks.pkt_sync);
@@ -107,8 +109,8 @@ std::string api_driver::ApiDriver::loadTerminalState() {
result << ",\"rx.afc_lock\":" << boolAsStr(demodulator.locks.afc_lock);
result << ",\"rx.pkt_sync\":" << boolAsStr(demodulator.locks.pkt_sync);
result.precision(2); result << ",\"rx.snr\":" << demodulator.snr;
result.precision(2); result << ",\"rx.rssi\":" << demodulator.rssi;
result << ",\"rx.snr\":" << std::fixed << std::setprecision(2) << demodulator.snr;
result << ",\"rx.rssi\":" << std::fixed << std::setprecision(2) << demodulator.rssi;
result << ",\"rx.modcod\":" << demodulator.modcod;
if (demodulator.is_short) {
@@ -123,19 +125,19 @@ std::string api_driver::ApiDriver::loadTerminalState() {
result << R"(,"rx.pilots":"no pilots")";
}
result.precision(2); result << ",\"rx.symError\":" << demodulator.sym_err;
result.precision(2); result << ",\"rx.freqErr\":" << demodulator.crs_freq_err;
result.precision(2); result << ",\"rx.freqErrAcc\":" << demodulator.fine_freq_err;
result.precision(2); result << ",\"rx.inputSignalLevel\":" << demodulator.if_overload;
result.precision(2); result << ",\"rx.pllError\":" << demodulator.afc_err;
result.precision(2); result << ",\"rx.speedOnRxKbit\":" << (static_cast<double>(demodulator.speed_in_bytes_rx) / 128.0);
result.precision(2); result << ",\"rx.speedOnIifKbit\":" << (static_cast<double>(demodulator.speed_in_bytes_rx_iface) / 128.0);
result << ",\"rx.symError\":" << std::fixed << std::setprecision(2) << demodulator.sym_err;
result << ",\"rx.freqErr\":" << std::fixed << std::setprecision(2) << demodulator.crs_freq_err;
result << ",\"rx.freqErrAcc\":" << std::fixed << std::setprecision(2) << demodulator.fine_freq_err;
result << ",\"rx.inputSignalLevel\":" << std::fixed << std::setprecision(2) << demodulator.if_overload;
result << ",\"rx.pllError\":" << std::fixed << std::setprecision(2) << demodulator.afc_err;
result << ",\"rx.speedOnRxKbit\":" << std::fixed << std::setprecision(2) << (static_cast<double>(demodulator.speed_in_bytes_rx) / 128.0);
result << ",\"rx.speedOnIifKbit\":" << std::fixed << std::setprecision(2) << (static_cast<double>(demodulator.speed_in_bytes_rx_iface) / 128.0);
result << ",\"rx.packetsOk\":" << demodulator.packet_ok_cnt;
result << ",\"rx.packetsBad\":" << demodulator.packet_bad_cnt;
result << ",\"rx.packetsDummy\":" << demodulator.dummy_cnt;
// формируем структуру для CinC
result.precision(3); result << ",\"cinc.occ\":" << state_cinc.ratio_signal_signal;
result << ",\"cinc.occ\":" << std::fixed << std::setprecision(3) << state_cinc.ratio_signal_signal;
if (isCinC && modulator.is_tx_on) {
if (state_cinc.carrier_lock) {
@@ -153,9 +155,9 @@ std::string api_driver::ApiDriver::loadTerminalState() {
result << ",\"cinc.channelDelay\":" << state_cinc.delay_dpdi;
// структура температур девайса
result.precision(3); result << ",\"device.adrv\":" << device.adrv_temp;
result.precision(3); result << ",\"device.fpga\":" << device.pl_temp;
result.precision(3); result << ",\"device.zync\":" << device.zynq_temp;
result << ",\"device.adrv\":" << std::fixed << std::setprecision(3) << device.adrv_temp;
result << ",\"device.fpga\":" << std::fixed << std::setprecision(3) << device.pl_temp;
result << ",\"device.zync\":" << std::fixed << std::setprecision(3) << device.zynq_temp;
result << "}";