public bool Initialize_PPG() { lock (syncRoot) { bool result; bool[] txLock; InnoBert14GCh24.TimeBase((ushort)rate, gt1706_CLK, subBoardNum, device, out result); if (!result) { return(false); } InnoBert14GCh24.InitializeTX((ushort)rate, gt1706_CLK, subBoardNum, device, out txLock); for (int i = 0; i < txLock.Length; i++) { if (!txLock[i]) { return(false); } } InnoBert14GCh24.TXSet((byte)invent, isON, totalChannels, subBoardNum, (byte)txPRBS, device); return(true); } }
public bool IniTialize_ED() { lock (syncRoot) { InnoBert14GCh24.InitializeRX(subBoardNum, (ushort)rate, device); InnoBert14GCh24.RXSet(isON, (byte)rxPRBS, (byte)invent, device, subBoardNum, totalChannels); return(true); } }
public bool ReSet() { lock (syncRoot) { bool result; InnoBert14GCh24.InitializeFW(subBoardNum, device, out result); if (!result) { return(false); } return(true); } }
public override double[] RapidErrorRate_AllCH(int syn = 0) { lock (syncRoot) { double[] readData = new double[6]; string[,] ber = new string[6, 6]; string[,] errorCount = new string[6, 6]; //InnoBert14GCh24.ClearECAllCH(device); Thread.Sleep(1000); InnoBert14GCh24.__504hBER_accurateBERSimple((ushort)rate, edGatingTime, device, out errorCount, out ber); // Bert_25G_V2.GetBER() for (int i = 0; i < 6; i++) { try { double k = Convert.ToDouble(ber[0, i]); if (k >= 0 && k <= 1) { readData[i] = k; } else { readData[i] = 1; } } catch { readData[i] = 1; } } return(readData); } }