Пример #1
0
        public void LoadFile(string fileName)
        {
            try
            {
                /* try to open the file */
                FileSampleSource source = new FileSampleSource(fileName);
                source.ForwardEnabled  = true;
                source.SamplesPerBlock = (int)(ReadFrameRate * source.OutputSamplingRate);

                /* succeeded, use this filesource */
                lock (AccessLock)
                {
                    eTransferMode lastMode = TransferMode;

                    TransferMode = eTransferMode.Stopped;
                    Source.Close();
                    FileName     = fileName;
                    Source       = source;
                    TransferMode = lastMode;

                    /* update trackbar */
                    trackBar.Maximum = (int)(Source.GetTotalTime() / 0.01f);

                    /* reconfigure timer */
                    Timer.Stop();
                    Timer.Interval = (uint)((double)(Source.OutputBlockSize * 1000.0f) / Source.InputSamplingRate);
                    Timer.Start();
                }
                UpdateDisplay();
            }
            catch (InvalidDataException ex)
            {
                MessageBox.Show("File format not supported. (" + ex.Message + ")");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Could not open the file. (" + ex.Message + ")");
            }
        }
Пример #2
0
        private void HandleTimeout()
        {
            return;

            new Thread(() =>
            {
                switch (TimeoutsHappened - 4)
                {
                case 1:
                case 2:
                    Log.AddMessage("USBRXDevice: Timeout " + TimeoutsHappened + ". Retrigger Transfer");
                    lock (Lock)
                    {
                        USBRXDeviceNative.UsbSetGPIFMode(DevNum);
                    }
                    lock (ReadTimerLock)
                    {
                        Monitor.Pulse(ReadTimerLock);
                    }

                    break;

                case 6:
                    Log.AddMessage("USBRXDevice: Timeout " + TimeoutsHappened + ". Reinit AD6636");

                    AD6636.ReInit();
                    break;

                case 3:
                case 7:
                    Log.AddMessage("USBRXDevice: Timeout " + TimeoutsHappened + ". Reset AD6636");

                    Atmel.AD6636Reset();
                    AD6636.ReInit();
                    AD6636.SoftSync();
                    FIFOReset(false);
                    break;

                case 4:
                case 8:
                    Log.AddMessage("USBRXDevice: Timeout " + TimeoutsHappened + ". Resync AD6636, reset Atmel");

                    AD6636.SoftSync();
                    SPIReset(true);
                    SPIReset(false);
                    Thread.Sleep(50);
                    FIFOReset(false);
                    break;

                case 9:
                    Log.AddMessage("USBRXDevice: Timeout " + TimeoutsHappened + ". Reset Threads");

                    new Thread(() =>
                    {
                        CurrentMode = CurrentMode;
                        FIFOReset(false);
                    }).Start();

                    /*
                     * FIFOReset(true);
                     * USBRXDeviceNative.UsbSetIdleMode(DevNum);
                     * USBRXDeviceNative.UsbSetGPIFMode(DevNum);
                     * USBRXDeviceNative.SetSlaveFifoParams(true, DevNum, 0);
                     * FIFOReset(false);
                     */
                    break;


                case 12:
                    DeviceLost = true;
                    break;
                }
            }).Start();
        }