コード例 #1
0
        public void Add <T>(DataPin pinA, DataPin pinB) where T : struct
        {
            if (pinA.IsInputPin == pinB.IsInputPin)
            {
                return;
            }

            OutputPin <T> pOut = (pinA.IsInputPin ? pinB : pinA) as OutputPin <T>;
            InputPin <T>  pIn  = (pinA.IsInputPin ? pinA : pinB) as InputPin <T>;

            foreach (object conn in ConnectionsArray)
            {
                ConnectionEntry <T> ce = conn as ConnectionEntry <T>;
                if ((ce != null) && (ce.AssociatedOutputPin == pOut))
                {
                    ce.AddInput(pIn);
                    return;
                }
            }
            // No output pins were found -  create a new queue
            ConnectionEntry <T> newce = new ConnectionEntry <T>(pOut);

            newce.AddInput(pIn);
            ConnectionsArray.Add(newce);
        }
コード例 #2
0
 public override void SetModuleParameters()
 {
     EncodeIn  = new InputPin <byte>("EncIn", this.ProcessEncode);
     DecodeIn  = new InputPin <byte>("DecIn", this.ProcessDecode);
     EncodeOut = new OutputPin <byte>("EncOut");
     DecodeOut = new OutputPin <byte>("DecOut");
     base.SetIOParameters("Interleaver EncoderDecoder", new DataPin[] { EncodeIn, DecodeIn, EncodeOut, DecodeOut });
 }
コード例 #3
0
        public void AddInput(InputPin <T> inputPin)
        {
            ProcessFunction <T> pf = inputPin.ProcessFunc;

            if (!InputProcessFunctions.Contains(pf))
            {
                InputProcessFunctions.Add(pf);
            }
        }
コード例 #4
0
        public void Add <T>(OutputPin <T> pinA, InputPin <T> pinB) where T : struct
        {
            foreach (object conn in ConnectionsArray)
            {
                ConnectionEntry <T> ce = conn as ConnectionEntry <T>;
                if ((ce != null) && (ce.AssociatedOutputPin == pinA))
                {
                    ce.AddInput(pinB);
                    return;
                }
            }
            // No output pins were found -  create a new queue
            ConnectionEntry <T> newce = new ConnectionEntry <T>(pinA);

            newce.AddInput(pinB);
            ConnectionsArray.Add(newce);
        }
コード例 #5
0
ファイル: VitDecoder.cs プロジェクト: osherbakov/MELPeModem
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <byte>("DataIn", this.Process);
     DataOut = new OutputPin <byte>("DataOut");
     base.SetIOParameters("Viterbi Soft Decoder", new DataPin[] { DataIn, DataOut });
 }
コード例 #6
0
ファイル: OFDMFFT.cs プロジェクト: osherbakov/MELPeModem
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <IQ>("DataIn", this.Process);
     DataOut = new OutputPin <float>("DataOut");
     base.SetIOParameters("OFDMFFTModulator", new DataPin[] { DataIn, DataOut });
 }
コード例 #7
0
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <byte>("DataIn", this.Process);
     DataOut = new OutputPin <byte>("DataOut");
     base.SetIOParameters("BitPatternDetector", new DataPin[] { DataIn, DataOut });
 }
コード例 #8
0
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <byte>("DataIn", this.Process);
     DataOut = new OutputPin <byte>("DataOut");
     base.SetIOParameters("FEC Convolutional Encoder", new DataPin[] { DataIn, DataOut });
 }
コード例 #9
0
ファイル: DataTypes.cs プロジェクト: osherbakov/MELPeModem
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <T>("DataIn", this.Process);
     DataOut = new OutputPin <T>("DataOut");
     base.SetIOParameters("DataSpreader", new DataPin[] { DataIn, DataOut });
 }
コード例 #10
0
ファイル: OFDMSync.cs プロジェクト: osherbakov/MELPeModem
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <IQ>("DataIn", this.Process);
     DataOut = new OutputPin <IQ>("DataOut");
     base.SetIOParameters("OFDM Timing Offset Estimator", new DataPin[] { DataIn, DataOut });
 }
コード例 #11
0
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <IQ>("DataIn", this.Process);
     DataOut = new OutputPin <IQ>("DataOut");
     base.SetIOParameters("Integrate and Dump Symbol slicer", new DataPin[] { DataIn, DataOut });
 }
コード例 #12
0
 public override void SetModuleParameters()
 {
     DataIn  = new InputPin <float>("DataIn", this.Process);
     DataOut = new OutputPin <int>("DataOut");
     base.SetIOParameters("Frequency Detector", new DataPin[] { DataIn, DataOut });
 }