updateStatistics(vals) { this.lastUpdateTime = new Date(); this.initState = vals["mainState"]["initState"] {% if modem == 'scpc' %} this.isCinC = vals["mainState"]["isCinC"] {% endif %} this.statRx.state = vals["mainState"]["rx.state"] this.statRx.sym_sync_lock = vals["mainState"]["rx.sym_sync_lock"] this.statRx.freq_search_lock = vals["mainState"]["rx.freq_search_lock"] this.statRx.afc_lock = vals["mainState"]["rx.afc_lock"] this.statRx.pkt_sync = vals["mainState"]["rx.pkt_sync"] this.statRx.snr = vals["mainState"]["rx.snr"] this.statRx.rssi = vals["mainState"]["rx.rssi"] this.statRx.modcod = modcodToStr(vals["mainState"]["rx.modcod"]) this.statRx.frameSizeNormal = vals["mainState"]["rx.frameSizeNormal"] this.statRx.isPilots = vals["mainState"]["rx.isPilots"] this.statRx.symError = vals["mainState"]["rx.symError"] this.statRx.freqErr = vals["mainState"]["rx.freqErr"] this.statRx.freqErrAcc = vals["mainState"]["rx.freqErrAcc"] this.statRx.inputSignalLevel = vals["mainState"]["rx.inputSignalLevel"] this.statRx.pllError = vals["mainState"]["rx.pllError"] this.statRx.speedOnRxKbit = vals["mainState"]["rx.speedOnRxKbit"] this.statRx.speedOnIifKbit = vals["mainState"]["rx.speedOnIifKbit"] this.statRx.packetsOk = vals["mainState"]["rx.packetsOk"] this.statRx.packetsBad = vals["mainState"]["rx.packetsBad"] this.statRx.packetsDummy = vals["mainState"]["rx.packetsDummy"] {% if modem == 'scpc' %} this.statTx.state = vals["mainState"]["tx.state"] this.statTx.snr = vals["mainState"]["tx.snr"] this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"]) this.statTx.frameSizeNormal = vals["mainState"]["tx.frameSizeNormal"] this.statTx.isPilots = vals["mainState"]["tx.isPilots"] this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"] this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"] this.statCinc.occ = vals["mainState"]["cinc.occ"] this.statCinc.correlator = vals["mainState"]["cinc.correlator"] this.statCinc.correlatorFails = vals["mainState"]["cinc.correlatorFails"] this.statCinc.freqErr = vals["mainState"]["cinc.freqErr"] this.statCinc.freqErrAcc = vals["mainState"]["cinc.freqErrAcc"] this.statCinc.channelDelay = vals["mainState"]["cinc.channelDelay"] {% else %} this.statTx.state = vals["mainState"]["tx.state"] this.statTx.modcod = modcodToStr(vals["mainState"]["tx.modcod"]) this.statTx.speedOnTxKbit = vals["mainState"]["tx.speedOnTxKbit"] this.statTx.speedOnIifKbit = vals["mainState"]["tx.speedOnIifKbit"] this.statTx.centerFreq = vals["mainState"]["tx.centerFreq"] this.statTx.symSpeed = vals["mainState"]["tx.symSpeed"] {% endif %} this.statDevice.adrv = vals["mainState"]["device.adrv"] this.statDevice.zynq = vals["mainState"]["device.zynq"] this.statDevice.fpga = vals["mainState"]["device.fpga"] this.testState = vals["mainState"]["testState"] // аптайм приходит в секундах, надо преобразовать его в человеко-читаемый вид let uptime = vals["sysinfo"]["uptime"] if (uptime) { let secs = uptime % 60; uptime = Math.floor(uptime / 60) let mins = uptime % 60; uptime = Math.floor(uptime / 60) let hours = uptime % 24 uptime = Math.floor( uptime / 24) let res = `${hours}:${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}` if (uptime > 0) { res = `${uptime} days, ` + res } this.statOs.uptime = res } else { this.statOs.uptime = '?' } }, resetPacketsStatistics() { fetch('/api/resetPacketStatistics', { method: 'POST' }).then(() => { this.statRx.packetsOk = 0 this.statRx.packetsBad = 0 this.statRx.packetsDummy = 0 }) },