diff --git a/src/terminal_api_driver.cpp b/src/terminal_api_driver.cpp index 23eccad..0eb6d6f 100644 --- a/src/terminal_api_driver.cpp +++ b/src/terminal_api_driver.cpp @@ -5,6 +5,7 @@ #include "terminal_api/ControlProtoCInterface.h" #include #include +#include /* 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(modulator.speed_in_bytes_tx) / 128.0; - result.precision(2); result << ",\"tx.speedOnIifKbit\":" << (static_cast(modulator.speed_in_bytes_tx_iface) / 128.0); + result << ",\"tx.speedOnTxKbit\":" << std::fixed << std::setprecision(2) << static_cast(modulator.speed_in_bytes_tx) / 128.0; + result << ",\"tx.speedOnIifKbit\":" << std::fixed << std::setprecision(2) << (static_cast(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(demodulator.speed_in_bytes_rx) / 128.0); - result.precision(2); result << ",\"rx.speedOnIifKbit\":" << (static_cast(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(demodulator.speed_in_bytes_rx) / 128.0); + result << ",\"rx.speedOnIifKbit\":" << std::fixed << std::setprecision(2) << (static_cast(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 << "}"; diff --git a/static/main.html b/static/main.html index 6077e4d..e454fd9 100644 --- a/static/main.html +++ b/static/main.html @@ -31,11 +31,11 @@

Статистика приема

- - - - - + + + + + @@ -62,7 +62,7 @@

Статистика передачи

Прием
Захват символьной
Захват ФАПЧ
Захват поиска по частоте
Захват пакетной синхр.
Прием
Захват символьной
Захват ФАПЧ
Захват поиска по частоте
Захват пакетной синхр.
ОСШ/RSSI{{ stat_rx.snr }} / {{ stat_rx.rssi }}
Modcod{{ stat_rx.modcod }}
Размер кадра{{ stat_rx.frameSize }}
- + @@ -77,7 +77,7 @@
Передача
Передача
ОСШ дальнего приема{{ stat_tx.snr }}
Modcod{{ stat_tx.modcod }}
Размер кадра{{ stat_tx.frameSize }}
- + @@ -552,12 +552,12 @@ this.stat_rx.packetsDummy = vals["mainState"]["rx.packetsDummy"] this.stat_tx.state = vals["mainState"]["tx.state"] - this.stat_tx.snr = vals["mainState"]["rx.snr"] - this.stat_tx.modcod = modcodToStr(vals["mainState"]["rx.modcod"]) - this.stat_tx.frameSize = vals["mainState"]["rx.frameSize"] - this.stat_tx.pilots = vals["mainState"]["rx.pilots"] + 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.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"] - this.stat_tx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] + this.stat_tx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"] this.stat_cinc.occ = vals["mainState"]["cinc.occ"] this.stat_cinc.correlator = vals["mainState"]["cinc.correlator"]
ОСС{{ stat_cinc.occ }}
Захват коррелятора
Захват коррелятора
Кол-во срывов коррелятора{{ stat_cinc.correlatorFails }}
Грубая/точная част. ошибка, Гц{{ stat_cinc.freqErr }} / {{ stat_cinc.freqErrAcc }}
Задержка в канале, мс{{ stat_cinc.channelDelay }}