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); }
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 }); }
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); }
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 }); }
public override void SetModuleParameters() { DataIn = new InputPin <IQ>("DataIn", this.Process); DataOut = new OutputPin <float>("DataOut"); base.SetIOParameters("OFDMFFTModulator", new DataPin[] { DataIn, DataOut }); }
public ConnectionEntry(OutputPin <T> outputPin) { AssociatedOutputPin = outputPin; outputPin.Register(q.Process); }
public override void SetModuleParameters() { DataIn = new InputPin <byte>("DataIn", this.Process); DataOut = new OutputPin <byte>("DataOut"); base.SetIOParameters("BitPatternDetector", new DataPin[] { DataIn, DataOut }); }
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 }); }
public override void SetModuleParameters() { DataIn = new InputPin <T>("DataIn", this.Process); DataOut = new OutputPin <T>("DataOut"); base.SetIOParameters("DataSpreader", new DataPin[] { DataIn, DataOut }); }
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 }); }
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 }); }
public override void SetModuleParameters() { DataIn = new InputPin <float>("DataIn", this.Process); DataOut = new OutputPin <int>("DataOut"); base.SetIOParameters("Frequency Detector", new DataPin[] { DataIn, DataOut }); }