еще мелкие исправления
This commit is contained in:
parent
6ad84b27b6
commit
0a4ac1f32a
@ -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);
|
||||
|
151
static/main.html
151
static/main.html
@ -75,8 +75,8 @@
|
||||
|
||||
<div id="app" hidden>
|
||||
<div>
|
||||
<span class="state-bar-element">Прием: <span :class="{ indicator_bad: rx.state === true, indicator_good: rx.state === false, indicator: true }"></span></span>
|
||||
<span class="state-bar-element">Передача: <span :class="{ indicator_bad: tx.state === true, indicator_good: tx.state === false, indicator: true }"></span></span>
|
||||
<span class="state-bar-element">Прием: <span :class="{ indicator_bad: stat_rx.state === true, indicator_good: stat_rx.state === false, indicator: true }"></span></span>
|
||||
<span class="state-bar-element">Передача: <span :class="{ indicator_bad: stat_tx.state === true, indicator_good: stat_tx.state === false, indicator: true }"></span></span>
|
||||
<span class="state-bar-element">Тест: <span :class="{ indicator_bad: testState === true, indicator_good: testState === false, indicator: true }"></span></span>
|
||||
<!-- Последнее обновление: {{ lastUpdateTime }}-->
|
||||
</div>
|
||||
@ -93,28 +93,28 @@
|
||||
<h2>Статистика приема</h2>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><th>Прием</th><td><span :class="{ indicator_bad: rx.state === true, indicator_good: rx.state === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват символьной</th><td><span :class="{ indicator_bad: rx.sym_sync_lock === true, indicator_good: rx.sym_sync_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват ФАПЧ</th><td><span :class="{ indicator_bad: rx.afc_lock === true, indicator_good: rx.afc_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват поиска по частоте</th><td><span :class="{ indicator_bad: rx.freq_search_lock === true, indicator_good: rx.freq_search_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват пакетной синхр.</th><td><span :class="{ indicator_bad: rx.pkt_sync === true, indicator_good: rx.pkt_sync === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>ОСШ/RSSI</th><td>{{ rx.snr }} / {{ rx.rssi }}</td></tr>
|
||||
<tr><th>Modcod/размер кадра</th><td>{{ rx.modcod }} / {{ rx.frameSize }}</td></tr>
|
||||
<tr><th>Пилот-символы</th><td>{{ rx.pilots }}</td></tr>
|
||||
<tr><th>Символьная ошибка</th><td>{{ rx.symError }}</td></tr>
|
||||
<tr><th>Грубая/точная част. ошибка, Гц</th><td>{{ rx.freqErr }} / {{ rx.freqErrAcc }}</td></tr>
|
||||
<tr><th>Ур. входного сигнала</th><td>{{ rx.inputSignalLevel }}</td></tr>
|
||||
<tr><th>Ошибка ФАПЧ</th><td>{{ rx.pllError }}</td></tr>
|
||||
<tr><th>Инф. скорость на приеме</th><td>{{ rx.speedOnRxKbit }} kbit/s</td></tr>
|
||||
<tr><th>Инф. скорость на интерфейсе</th><td>{{ rx.speedOnIifKbit }} kbit/s</td></tr>
|
||||
<tr><th>Прием</th><td><span :class="{ indicator_bad: stat_rx.state === true, indicator_good: stat_rx.state === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват символьной</th><td><span :class="{ indicator_bad: stat_rx.sym_sync_lock === true, indicator_good: stat_rx.sym_sync_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват ФАПЧ</th><td><span :class="{ indicator_bad: stat_rx.afc_lock === true, indicator_good: stat_rx.afc_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват поиска по частоте</th><td><span :class="{ indicator_bad: stat_rx.freq_search_lock === true, indicator_good: stat_rx.freq_search_lock === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>Захват пакетной синхр.</th><td><span :class="{ indicator_bad: stat_rx.pkt_sync === true, indicator_good: stat_rx.pkt_sync === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>ОСШ/RSSI</th><td>{{ stat_rx.snr }} / {{ stat_rx.rssi }}</td></tr>
|
||||
<tr><th>Modcod/размер кадра</th><td>{{ stat_rx.modcod }} / {{ stat_rx.frameSize }}</td></tr>
|
||||
<tr><th>Пилот-символы</th><td>{{ stat_rx.pilots }}</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.inputSignalLevel }}</td></tr>
|
||||
<tr><th>Ошибка ФАПЧ</th><td>{{ stat_rx.pllError }}</td></tr>
|
||||
<tr><th>Инф. скорость на приеме</th><td>{{ stat_rx.speedOnRxKbit }} kbit/s</td></tr>
|
||||
<tr><th>Инф. скорость на интерфейсе</th><td>{{ stat_rx.speedOnIifKbit }} kbit/s</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p> Статистика пакетов </p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><th>Качественных пакетов</th><td>{{ rx.packetsOk }}</td></tr>
|
||||
<tr><th>Поврежденных пакетов</th><td>{{ rx.packetsBad }}</td></tr>
|
||||
<tr><th>DUMMY</th><td>{{ rx.packetsDummy }}</td></tr>
|
||||
<tr><th>Качественных пакетов</th><td>{{ stat_rx.packetsOk }}</td></tr>
|
||||
<tr><th>Поврежденных пакетов</th><td>{{ stat_rx.packetsBad }}</td></tr>
|
||||
<tr><th>DUMMY</th><td>{{ stat_rx.packetsDummy }}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button> Сброс статистики </button>
|
||||
@ -123,13 +123,13 @@
|
||||
<h2>Статистика передачи</h2>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><th>Передача</th><td><span :class="{ indicator_bad: tx.state === true, indicator_good: tx.state === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>ОСШ дальнего приема</th><td>{{ tx.snr }}</td></tr>
|
||||
<tr><th>Modcod</th><td>{{ tx.modcod }}</td></tr>
|
||||
<tr><th>Размер кадра</th><td>{{ tx.frameSize }}</td></tr>
|
||||
<tr><th>Пилот-символы</th><td>{{ tx.pilots }}</td></tr>
|
||||
<tr><th>Инф. скорость на передаче</th><td>{{ tx.speedOnTxKbit }} kbit/s</td></tr>
|
||||
<tr><th>Инф. скорость на интерфейсе</th><td>{{ tx.speedOnIifKbit }} kbit/s</td></tr>
|
||||
<tr><th>Передача</th><td><span :class="{ indicator_bad: stat_tx.state === true, indicator_good: stat_tx.state === false, indicator: true }"></span></td></tr>
|
||||
<tr><th>ОСШ дальнего приема</th><td>{{ stat_tx.snr }}</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.pilots }}</td></tr>
|
||||
<tr><th>Инф. скорость на передаче</th><td>{{ stat_tx.speedOnTxKbit }} kbit/s</td></tr>
|
||||
<tr><th>Инф. скорость на интерфейсе</th><td>{{ stat_tx.speedOnIifKbit }} kbit/s</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -192,6 +192,7 @@
|
||||
<img src="/images/krokodil_vzryvaetsya_hd.gif" alt="krokodil">
|
||||
</div>
|
||||
</div>
|
||||
<p>Последнее обновление статистики: {{ lastUpdateTime }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -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)
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user