int ReceiveData(float[] incomingSamples, int startingIndex, int numSamples) { if (numSamples == 0) { this.SymbolsCounter = 0; } int i, nProc; for (i = 0; i < numSamples; i += nProc) { nProc = Math.Min(numSamples - i, DECFACTOR); int nSym = Demodulator.Process(incomingSamples, startingIndex + i, nProc); while (nSym-- > 0) { Decoder.Process(Demodulator.GetData(), DataScrambler.DataNext(), SCRAMBLE_MASK, out DataBlock[SymbolsCounter]); SymbolsCounter++; // Is probe sequence coming ? if (SymbolsCounter >= CurrentMode.UnknownDataSymbols) { NextFunction = ReceiveProbe; numSamples = 0; break; } } } return(i); }
int SendDataString(int[] dataSymbArray) { int NumSent = 0; foreach (int tribit in dataSymbArray) { SendSymbol(tribit, DataScrambler.DataNext()); NumSent++; } return(NumSent); }