Exemple #1
0
		public DSP()
		{
			CreateDSP();
            Thread.Sleep(100);
			DttSP.ReleaseUpdate();

			dsp_rx = new DSPRX[NUM_RX_THREADS][];
			for(int i=0; i<NUM_RX_THREADS; i++)
			{
				dsp_rx[i] = new DSPRX[NUM_RX_PER_THREAD];
				for(int j=0; j<NUM_RX_PER_THREAD; j++)
					dsp_rx[i][j] = new DSPRX((uint)i*2, (uint)j);
			}

			dsp_tx = new DSPTX[1];
			dsp_tx[0] = new DSPTX(1);

			dsp_rx[0][0].Active = true; // enable main RX
			//dsp_tx[0].Active = true; // enable main TX

			// set for half duplex
			DttSP.SetThreadProcessingMode(0,2);
			DttSP.SetThreadProcessingMode(1,1);
		}
Exemple #2
0
 public void Copy(DSPRX rx)
 {
     this.AudioSize = rx.audio_size;
     this.DSPMode = rx.dsp_mode;
     this.SetRXFilter(rx.rx_filter_low, rx.rx_filter_high);
     this.NoiseReduction = rx.noise_reduction;
     this.SetNRVals(rx.nr_taps, rx.nr_delay, rx.nr_gain, rx.nr_leak);
     this.AutoNotchFilter = rx.auto_notch_filter;
     this.SetANFVals(rx.anf_taps, rx.anf_delay, rx.anf_gain, rx.anf_leak);
     this.RXAGCMode = rx.rx_agc_mode;
     this.RXEQNumBands = rx_eq_num_bands;
     if (this.rx_eq_num_bands == 3)
     {
         this.RXEQ10 = rx.rx_eq10;
         this.RXEQ3 = rx.rx_eq3;
     }
     else
     {
         this.RXEQ3 = rx.rx_eq3;
         this.RXEQ10 = rx.rx_eq10;
     }
     this.RXEQOn = rx.rx_eq_on;
     this.NBOn = rx.nb_on;
     this.NBThreshold = rx.nb_threshold;
     this.RXCorrectIQMu = rx.rx_correct_iq_mu;
     this.SDROM = rx.sdrom;
     this.SDROMThreshold = rx.sdrom_threshold;
     this.RXFixedAGC = rx.rx_fixed_agc;
     this.RXAGCMaxGain = rx.rx_agc_max_gain;
     this.RXAGCAttack = rx.rx_agc_attack;
     this.RXAGCDecay = rx.rx_agc_decay;
     this.RXAGCHang = rx.rx_agc_hang;
     this.RXOutputGain = rx.rx_output_gain;
     this.RXAGCSlope = rx.rx_agc_slope;
     this.RXAGCHangThreshold = rx.rx_agc_hang_threshold;
     this.CurrentWindow = rx.current_window;
     this.SpectrumPolyphase = rx.spectrum_polyphase;
     this.BinOn = rx.bin_on;
     this.RXSquelchThreshold = rx.rx_squelch_threshold;
     this.FMSquelchThreshold = rx.fm_squelch_threshold;
     this.RXSquelchOn = rx.rx_squelch_on;
     this.SpectrumPreFilter = rx.spectrum_pre_filter;
     this.Active = rx.active;
     this.Pan = rx.pan;
     this.RXOsc = rx.rx_osc;
     this.DCBlock = rx.dc_block;
     this.RXFMDeviation = rx.rx_fm_deviation;
 }