public AdnsReader(GraphBuilder gb) : base(gb) { InPin<byte[]> inputPin = RegisterInputPin<byte[]>(1, 1); m_outPin = RegisterOutputPin<Bitmap>(); inputPin.OnNewDataEnabled += new NewDataEnabled<byte[]>(AppletEngine); }
public FTDIBulkDriver(GraphBuilder gb, FTDI device, string deviceDescriptor, uint baudRate) : base(gb) { FTDI.FT_STATUS fs; if (device != null) { m_device = device; if ((fs = device.OpenBySerialNumber(deviceDescriptor)) != FTDI.FT_STATUS.FT_OK) throw new Exception(string.Format("Невозможно открыть устройство. Устройство не готово. ({0})", fs)); if ((fs = device.SetBaudRate(baudRate)) != FTDI.FT_STATUS.FT_OK) throw new Exception(string.Format("Устройство не поддерживает заданную скорость ({0})", fs)); m_outputPin = RegisterOutputPin<byte[]>("MainOutPin"); } }
public AllanDetectorApplet(GraphBuilder gb, int windowLength, int subWindowLength, double threshold) : base(gb) { m_threshold = threshold; m_windowLength = windowLength; m_subWindowLength = subWindowLength; m_averageRange = m_windowLength - 2 * m_subWindowLength + 1; if (m_averageRange < 0) throw new Exception("Длина окна меньше двух интервалов усреднения"); c1 = new double[m_subWindowLength + m_averageRange + 1]; c2 = new double[m_subWindowLength + m_averageRange + 1]; c3 = new double[m_subWindowLength + m_averageRange + 1]; f1 = new double[m_subWindowLength + 1]; f2 = new double[m_subWindowLength + 1]; f3 = new double[m_subWindowLength + 1]; m_samples = new CHDSample[(m_windowLength - 1) / 2 + 1]; m_current = new List<CHDSample>(); InPin<CHDSample> inPin = RegisterInputPin<CHDSample>(1, windowLength); inPin.OnNewDataEnabled += new NewDataEnabled<CHDSample>(inPin_OnNewDataEnabled); m_outputPin = RegisterOutputPin<CHDSample[]>(); }