Example #1
0
        public AdnsReader(GraphBuilder gb)
            : base(gb)
        {
            InPin<byte[]> inputPin = RegisterInputPin<byte[]>(1, 1);
            m_outPin = RegisterOutputPin<Bitmap>();

            inputPin.OnNewDataEnabled += new NewDataEnabled<byte[]>(AppletEngine);
        }
Example #2
0
 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[]>();
 }