diff --git a/src/terminal_api_driver.cpp b/src/terminal_api_driver.cpp index 72f9677..a8bbdc1 100644 --- a/src/terminal_api_driver.cpp +++ b/src/terminal_api_driver.cpp @@ -145,7 +145,7 @@ std::string api_driver::ApiDriver::loadTerminalState() { result << ",\"rx.snr\":" << tmpStr; CP_GetLevelDemod(sid, "rssi", &tmpd); - sprintf(tmpStr, "%.2f", tmpd); + sprintf(tmpStr, "%.2f", -tmpd); result << ",\"rx.rssi\":" << tmpStr; CP_GetDemodulatorParams(sid, "modcod", &tmpu32); diff --git a/static/main.html b/static/main.html index 39825e7..8815859 100644 --- a/static/main.html +++ b/static/main.html @@ -75,8 +75,8 @@
Прием | |
---|---|
Захват символьной | |
Захват ФАПЧ | |
Захват поиска по частоте | |
Захват пакетной синхр. | |
ОСШ/RSSI | {{ rx.snr }} / {{ rx.rssi }} |
Modcod/размер кадра | {{ rx.modcod }} / {{ rx.frameSize }} |
Пилот-символы | {{ rx.pilots }} |
Символьная ошибка | {{ rx.symError }} |
Грубая/точная част. ошибка, Гц | {{ rx.freqErr }} / {{ rx.freqErrAcc }} |
Ур. входного сигнала | {{ rx.inputSignalLevel }} |
Ошибка ФАПЧ | {{ rx.pllError }} |
Инф. скорость на приеме | {{ rx.speedOnRxKbit }} kbit/s |
Инф. скорость на интерфейсе | {{ rx.speedOnIifKbit }} kbit/s |
Прием | |
Захват символьной | |
Захват ФАПЧ | |
Захват поиска по частоте | |
Захват пакетной синхр. | |
ОСШ/RSSI | {{ stat_rx.snr }} / {{ stat_rx.rssi }} |
Modcod/размер кадра | {{ stat_rx.modcod }} / {{ stat_rx.frameSize }} |
Пилот-символы | {{ stat_rx.pilots }} |
Символьная ошибка | {{ stat_rx.symError }} |
Грубая/точная част. ошибка, Гц | {{ stat_rx.freqErr }} / {{ stat_rx.freqErrAcc }} |
Ур. входного сигнала | {{ stat_rx.inputSignalLevel }} |
Ошибка ФАПЧ | {{ stat_rx.pllError }} |
Инф. скорость на приеме | {{ stat_rx.speedOnRxKbit }} kbit/s |
Инф. скорость на интерфейсе | {{ stat_rx.speedOnIifKbit }} kbit/s |
Статистика пакетов
Качественных пакетов | {{ rx.packetsOk }} |
---|---|
Поврежденных пакетов | {{ rx.packetsBad }} |
DUMMY | {{ rx.packetsDummy }} |
Качественных пакетов | {{ stat_rx.packetsOk }} |
Поврежденных пакетов | {{ stat_rx.packetsBad }} |
DUMMY | {{ stat_rx.packetsDummy }} |
Передача | |
---|---|
ОСШ дальнего приема | {{ tx.snr }} |
Modcod | {{ tx.modcod }} |
Размер кадра | {{ tx.frameSize }} |
Пилот-символы | {{ tx.pilots }} |
Инф. скорость на передаче | {{ tx.speedOnTxKbit }} kbit/s |
Инф. скорость на интерфейсе | {{ tx.speedOnIifKbit }} kbit/s |
Передача | |
ОСШ дальнего приема | {{ stat_tx.snr }} |
Modcod | {{ stat_tx.modcod }} |
Размер кадра | {{ stat_tx.frameSize }} |
Пилот-символы | {{ stat_tx.pilots }} |
Инф. скорость на передаче | {{ stat_tx.speedOnTxKbit }} kbit/s |
Инф. скорость на интерфейсе | {{ stat_tx.speedOnIifKbit }} kbit/s |
Последнее обновление статистики: {{ lastUpdateTime }}
@@ -213,7 +214,7 @@ const app = new Vue({ el: '#app', data: { - rx: { + stat_rx: { // индикаторы state: '?', // общее состояние sym_sync_lock: '?', // захват символьной @@ -222,72 +223,70 @@ pkt_sync: '?', // захват пакетной синхронизации // куча других параметров, идет в том же порядке, что и в таблице - snr: 0, rssi: -105, - modcod: 0, frameSize: 0, + snr: '?', rssi: '?', + modcod: '?', frameSize: '?', pilots: '?', - symError: 0.0, - freqErr: 0, freqErrAcc: 0, - inputSignalLevel: 0, - pllError: 0, - speedOnRx: 0, - speedOnIif: 0, + symError: '?', + freqErr: '?', freqErrAcc: '?', + inputSignalLevel: '?', + pllError: '?', + speedOnRxKbit: '?', + speedOnIifKbit: '?', // статистика пакетов - packetsOk: 0, - packetsBad: 0, - packetsDummy: 0, + packetsOk: '?', packetsBad: '?', packetsDummy: '?', }, - - tx: { + stat_tx: { // состояние state: '?', // прочие поля - snr: -90, - modcod: -90, - frameSize: 'normal', - pilots: 'no pilots', - speedOnTx: 0, - speedOnIif: 0, + snr: '?', modcod: '?', frameSize: '?', pilots: '?', speedOnTxKbit: '?', speedOnIifKbit: '?', + }, + stat_cinc: { + occ: '?', + + }, + stat_device: { // температурные датчики + adrv: 0, zync: 0, fpga: 0 }, testState: '?', lastUpdateTime: new Date(), - activeTab: getCurrentTab() }, methods: { updateMainState(vals) { this.lastUpdateTime = new Date(); - this.rx.state = vals["mainState"]["rx.state"] - this.rx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"] - this.rx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"] - this.rx.afc_lock = vals["mainState"]["rx.afc_lock"] - this.rx.pkt_sync = vals["mainState"]["rx.pkt_sync"] - this.rx.snr = vals["mainState"]["rx.snr"] - this.rx.rssi = vals["mainState"]["rx.rssi"] - this.rx.modcod = vals["mainState"]["rx.modcod"] - this.rx.frameSize = vals["mainState"]["rx.frameSize"] - this.rx.pilots = vals["mainState"]["rx.pilots"] - this.rx.symError = vals["mainState"]["rx.symError"] - this.rx.freqErr = vals["mainState"]["rx.freqErr"] - this.rx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"] - this.rx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"] - this.rx.pllError = vals["mainState"]["rx.pllError"] - this.rx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"] - this.rx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] - this.rx.packetsOk = vals["mainState"]["rx.packetsOk"] - this.rx.packetsBad = vals["mainState"]["rx.packetsBad"] - this.rx.packetsDummy = vals["mainState"]["rx.packetsDummy"] + this.stat_rx.state = vals["mainState"]["rx.state"] + this.stat_rx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"] + this.stat_rx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"] + this.stat_rx.afc_lock = vals["mainState"]["rx.afc_lock"] + this.stat_rx.pkt_sync = vals["mainState"]["rx.pkt_sync"] + this.stat_rx.snr = vals["mainState"]["rx.snr"] + this.stat_rx.rssi = vals["mainState"]["rx.rssi"] + this.stat_rx.modcod = vals["mainState"]["rx.modcod"] + this.stat_rx.frameSize = vals["mainState"]["rx.frameSize"] + this.stat_rx.pilots = vals["mainState"]["rx.pilots"] + this.stat_rx.symError = vals["mainState"]["rx.symError"] + this.stat_rx.freqErr = vals["mainState"]["rx.freqErr"] + this.stat_rx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"] + this.stat_rx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"] + this.stat_rx.pllError = vals["mainState"]["rx.pllError"] + this.stat_rx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"] + this.stat_rx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] + this.stat_rx.packetsOk = vals["mainState"]["rx.packetsOk"] + this.stat_rx.packetsBad = vals["mainState"]["rx.packetsBad"] + this.stat_rx.packetsDummy = vals["mainState"]["rx.packetsDummy"] - this.tx.state = vals["mainState"]["tx.state"] - this.tx.snr = vals["mainState"]["rx.snr"] - this.tx.modcod = vals["mainState"]["rx.modcod"] - this.tx.frameSize = vals["mainState"]["rx.frameSize"] - this.tx.pilots = vals["mainState"]["rx.pilots"] - this.tx.speedOnTxKbit = vals["mainState"]["rx.speedOnTxKbit"] - this.tx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] + this.stat_tx.state = vals["mainState"]["tx.state"] + this.stat_tx.snr = vals["mainState"]["rx.snr"] + this.stat_tx.modcod = vals["mainState"]["rx.modcod"] + this.stat_tx.frameSize = vals["mainState"]["rx.frameSize"] + this.stat_tx.pilots = vals["mainState"]["rx.pilots"] + this.stat_tx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"] + this.stat_tx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] this.testState = vals["mainState"]["testState"] } @@ -301,11 +300,11 @@ doFetch().then(() => { setInterval(() => { doFetch().then(() => {}) }, 1000); }); + + document.getElementById("app").removeAttribute("hidden") } }) - document.getElementById("app").removeAttribute("hidden") - // import MyComponent from './modules/header' // const sh = new Vue(MyComponent)