settingsSubmitRxTx() { if (this.submitStatus.rxTx) { return } // потом добавить: "dvbs2.isPilots": this.param.dvbs2.isPilots let query = { "general.isCinC": this.param.general.isCinC, "general.txEn": this.param.general.txEn, "general.modulatorMode": this.param.general.modulatorMode, "general.autoStartTx": this.param.general.autoStartTx, "general.isTestInputData": this.param.general.isTestInputData, "tx.attenuation": this.param.tx.attenuation, "tx.rolloff": this.param.tx.rolloff, "tx.cymRate": this.param.tx.cymRate, "tx.centerFreq": this.param.tx.centerFreq, "dvbs2.isAcm": this.param.dvbs2.mode === 'acm', "dvbs2.frameSizeNormal": this.param.dvbs2.frameSizeNormal, "dvbs2.ccm_modcod": toModcod(this.param.dvbs2.ccm_modulation, this.param.dvbs2.ccm_speed), "dvbs2.acm_minModcod": toModcod(this.param.dvbs2.acm_minModulation, this.param.dvbs2.acm_minSpeed), "dvbs2.acm_maxModcod": toModcod(this.param.dvbs2.acm_maxModulation, this.param.dvbs2.acm_maxSpeed), "dvbs2.snrReserve": this.param.dvbs2.snrReserve, "dvbs2.servicePacketPeriod": this.param.dvbs2.servicePacketPeriod, "acm.en": this.param.acm.en, "acm.maxAttenuation": this.param.acm.maxAttenuation, "acm.minAttenuation": this.param.acm.minAttenuation, "acm.requiredSnr": this.param.acm.requiredSnr, "rx.gainMode": this.param.rx.gainMode, "rx.manualGain": this.param.rx.manualGain, "rx.spectrumInversion": this.param.rx.spectrumInversion, "rx.rolloff": this.param.rx.rolloff, "rx.cymRate": this.param.rx.cymRate, "rx.centerFreq": this.param.rx.centerFreq } this.submitStatus.rxTx = true fetch('/api/set/rxtx', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(query) }).then(async (resp) => { this.submitStatus.rxTx = false this.updateRxTxSettings(await resp.json()) }).catch((reason) => { this.submitStatus.rxTx = false alert(`Ошибка при применении настроек: ${reason}`) }) }, settingsSubmitCinC() { if (this.submitStatus.cinc) { return } let query = { "cinc.mode": this.param.cinc.mode, "cinc.searchBandwidth": this.param.cinc.searchBandwidth, "cinc.position.station.latitude": this.param.cinc.position.station.latitude, "cinc.position.station.longitude": this.param.cinc.position.station.longitude, "cinc.position.satelliteLongitude": this.param.cinc.position.satelliteLongitude, "cinc.delayMin": this.param.cinc.delayMin, "cinc.delayMax": this.param.cinc.delayMax } this.submitStatus.cinc = true fetch('/api/set/cinc', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(query) }).then(async (resp) => { this.submitStatus.cinc = false this.updateCincSettings(await resp.json()) }).catch((reason) => { this.submitStatus.cinc = false alert(`Ошибка при применении настроек: ${reason}`) }) }, settingsSubmitBucLnb() { if (this.submitStatus.bucLnb) { return } let query = { "buc.refClk10M": this.param.buc.refClk10M, "buc.powering": parseInt(this.param.buc.powering), "lnb.refClk10M": this.param.lnb.refClk10M, "lnb.powering": parseInt(this.param.lnb.powering), "serviceSettings.refClk10M": this.param.serviceSettings.refClk10M, "serviceSettings.autoStart": this.param.serviceSettings.autoStart } if (confirm('Вы уверены, что хотите сохранить настройки BUC и LNB?')) { this.submitStatus.bucLnb = true fetch('/api/set/bucLnb', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(query) }).then(async (resp) => { this.submitStatus.bucLnb = false this.updateBucLnbSettings(await resp.json()) }).catch((reason) => { this.submitStatus.bucLnb = false alert(`Ошибка при применении настроек: ${reason}`) }) } }, updateRxTxSettings(vals) { this.submitStatus.rxTx = false this.param.general.isCinC = vals["settings"]["general.isCinC"] this.param.general.txEn = vals["settings"]["general.txEn"] this.param.general.modulatorMode = vals["settings"]["general.modulatorMode"] this.param.general.autoStartTx = vals["settings"]["general.autoStartTx"] this.param.general.isTestInputData = vals["settings"]["general.isTestInputData"] this.param.tx.attenuation = vals["settings"]["tx.attenuation"] this.param.tx.rolloff = vals["settings"]["tx.rolloff"] this.param.tx.cymRate = vals["settings"]["tx.cymRate"] this.param.tx.centerFreq = vals["settings"]["tx.centerFreq"] this.param.dvbs2.mode = (vals["settings"]["dvbs2.isAcm"] ? 'acm' : 'ccm') this.param.dvbs2.frameSizeNormal = vals["settings"]["dvbs2.frameSizeNormal"] // this.param.dvbs2.isPilots = vals["settings"]["dvbs2.isPilots"] let m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.ccm_modcod"]) this.param.dvbs2.ccm_modulation = m.modulation this.param.dvbs2.ccm_speed = m.speed m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.acm_maxModcod"]) this.param.dvbs2.acm_maxModulation = m.modulation this.param.dvbs2.acm_maxSpeed = m.speed m = extractModulationAndSpeedFromModcod(vals["settings"]["dvbs2.acm_minModcod"]) this.param.dvbs2.acm_minModulation = m.modulation this.param.dvbs2.acm_minSpeed = m.speed this.param.dvbs2.snrReserve = vals["settings"]["dvbs2.snrReserve"] this.param.dvbs2.servicePacketPeriod = vals["settings"]["dvbs2.servicePacketPeriod"] this.param.acm.en = vals["settings"]["acm.en"] this.param.acm.maxAttenuation = vals["settings"]["acm.maxAttenuation"] this.param.acm.minAttenuation = vals["settings"]["acm.minAttenuation"] this.param.acm.requiredSnr = vals["settings"]["acm.requiredSnr"] this.param.rx.gainMode = vals["settings"]["rx.gainMode"] this.param.rx.manualGain = vals["settings"]["rx.manualGain"] this.param.rx.spectrumInversion = vals["settings"]["rx.spectrumInversion"] this.param.rx.rolloff = vals["settings"]["rx.rolloff"] this.param.rx.cymRate = vals["settings"]["rx.cymRate"] this.param.rx.centerFreq = vals["settings"]["rx.centerFreq"] }, updateCincSettings(vals) { this.submitStatus.cinc = false this.param.cinc.mode = vals["settings"]["cinc.mode"] this.param.cinc.searchBandwidth = vals["settings"]["cinc.searchBandwidth"] this.param.cinc.position.station.latitude = vals["settings"]["cinc.position.station.latitude"] this.param.cinc.position.station.longitude = vals["settings"]["cinc.position.station.longitude"] this.param.cinc.position.satelliteLongitude = vals["settings"]["cinc.position.satelliteLongitude"] this.param.cinc.delayMin = vals["settings"]["cinc.delayMin"] this.param.cinc.delayMax = vals["settings"]["cinc.delayMax"] }, updateBucLnbSettings(vals) { this.submitStatus.bucLnb = false this.param.buc.refClk10M = vals["settings"]["buc.refClk10M"] this.param.buc.powering = vals["settings"]["buc.powering"] this.param.lnb.refClk10M = vals["settings"]["lnb.refClk10M"] this.param.lnb.powering = vals["settings"]["lnb.powering"] this.param.serviceSettings.refClk10M = vals["settings"]["serviceSettings.refClk10M"] this.param.serviceSettings.autoStart = vals["settings"]["serviceSettings.autoStart"] }, updateSettings(vals) { this.settingFetchComplete = true this.updateRxTxSettings(vals) this.updateCincSettings(vals) this.updateBucLnbSettings(vals) this.updateQosSettings(vals) this.updateNetworkSettings(vals) this.updateDebugSendSettings(vals) },