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 + ")"); } }
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(); }