private void Stageworker_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker bgk = (BackgroundWorker)sender; double delx = (double)mr.distance / 4194304 * 5.5; string line = ""; Thread.Sleep(2000); getload(); using (StreamWriter writer = new StreamWriter(datafile, true)) { writer.WriteLine("deltax,load"); try { for (int i = 0; i < mr.numberofsteps; i++) { mr.posdirection = mrj4commander.posup; mr.setpos(); mr.movepos(); Thread.Sleep(1000); mr.posdirection = mrj4commander.posdown; mr.setpos(); mr.movepos(); Thread.Sleep(1000); getload(); msgchnl.setcurrMessage("delx= " + delx * (i + 1) + "-> Load= " + -1 * loadv); line = "" + delx * (i + 1) + "," + -1 * loadv; writer.WriteLine(line); } } finally { writer.Close(); } } bgk.ReportProgress(100); }
private bool reconnect() { //clear the info so far if (MyUsbDevice != null) { writer.Dispose(); wholeUsbDevice.ReleaseInterface(0); wholeUsbDevice.Close(); MyUsbDevice.Close(); UsbDevice.Exit(); } //now start over MyUsbFinder = new UsbDeviceFinder(0x06D3, 0x01D0); MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder); // If the device is open and ready if (MyUsbDevice == null) { msgchnl.setcurrMessage("Problem in reconnect() MyUsbDevice is null"); return(false); } else { wholeUsbDevice = MyUsbDevice as IUsbDevice; if (!ReferenceEquals(wholeUsbDevice, null)) { // Select config #1 wholeUsbDevice.SetConfiguration(1); // Claim interface #0. wholeUsbDevice.ClaimInterface(0); } writer = MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep02); reader = MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep01); //Console.WriteLine("New Writer an reader was assigned"); return(true); } }
public mrj4commander(MessageChannel i_msgchnl) { this.msgchnl = i_msgchnl; ec = ErrorCode.None; readBuffer = new byte[32]; try { msgchnl.setcurrMessage("Initilazing MRJ-4"); // Find and open the usb device. MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder); // If the device is open and ready if (MyUsbDevice == null) { throw new Exception("Device Not Found."); } // If this is a "whole" usb device (libusb-win32, linux libusb) // it will have an IUsbDevice interface. If not (WinUSB) the // variable will be null indicating this is an interface of a // device. wholeUsbDevice = MyUsbDevice as IUsbDevice; if (!ReferenceEquals(wholeUsbDevice, null)) { // This is a "whole" USB device. Before it can be used, // the desired configuration and interface must be selected. // Select config #1 wholeUsbDevice.SetConfiguration(1); // Claim interface #0. wholeUsbDevice.ClaimInterface(0); } // open read endpoint 1. reader = MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep01); // open write endpoint 1. writer = MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep02); msgchnl.setcurrMessage("Initilazing Completed"); } catch (Exception ex) { msgchnl.setcurrMessage((ec != ErrorCode.None ? ec + ":" : String.Empty) + ex.Message); } this.posdirection = posup; this.jogdirection = jogup; #region ASCII encode definition encode.Add("0 ", 0x20); encode.Add("00", 0x30); encode.Add("01", 0x31); encode.Add("02", 0x32); encode.Add("03", 0x33); encode.Add("04", 0x34); encode.Add("05", 0x35); encode.Add("06", 0x36); encode.Add("07", 0x37); encode.Add("08", 0x38); encode.Add("09", 0x39); encode.Add("0A", 0x41); encode.Add("0B", 0x42); encode.Add("0C", 0x43); encode.Add("0D", 0x44); encode.Add("0E", 0x45); encode.Add("0F", 0x46); encode.Add("0L", 0x4C); encode.Add("0O", 0x4F); encode.Add("0P", 0x50); encode.Add("0R", 0x52); encode.Add("0S", 0x53); encode.Add("0T", 0x54); #endregion #region ASCII decode definition decode.Add(0x30, '0'); decode.Add(0x31, '1'); decode.Add(0x32, '2'); decode.Add(0x33, '3'); decode.Add(0x34, '4'); decode.Add(0x35, '5'); decode.Add(0x36, '6'); decode.Add(0x37, '7'); decode.Add(0x38, '8'); decode.Add(0x39, '9'); decode.Add(0x41, 'A'); decode.Add(0x42, 'B'); decode.Add(0x43, 'C'); decode.Add(0x44, 'D'); decode.Add(0x45, 'E'); decode.Add(0x46, 'F'); #endregion #region Hex Conversion definition hexdic.Add(0, '0'); hexdic.Add(1, '1'); hexdic.Add(2, '2'); hexdic.Add(3, '3'); hexdic.Add(4, '4'); hexdic.Add(5, '5'); hexdic.Add(6, '6'); hexdic.Add(7, '7'); hexdic.Add(8, '8'); hexdic.Add(9, '9'); hexdic.Add(10, 'A'); hexdic.Add(11, 'B'); hexdic.Add(12, 'C'); hexdic.Add(13, 'D'); hexdic.Add(14, 'E'); hexdic.Add(15, 'F'); #endregion }