private void getCurrentConfig() { // get the micro-stepping modes from the controller byte headstepper1microsteppingmode = usbController.getHeadStepper1MicrosteppingMode(); byte headstepper2microsteppingmode = usbController.getHeadStepper2MicrosteppingMode(); byte solderstepper1microsteppingmode = usbController.getSolderStepper1MicrosteppingMode(); byte solderstepper2microsteppingmode = usbController.getSolderStepper2MicrosteppingMode(); byte caddysteppermicrosteppingmode = usbController.getCaddyStepperMicrosteppingMode(); switch (headstepper1microsteppingmode) { case 0x01: radio_HeadStepper1_Microstepping1.IsChecked = true; break; case 0x02: radio_HeadStepper1_Microstepping2.IsChecked = true; break; case 0x04: radio_HeadStepper1_Microstepping4.IsChecked = true; break; case 0x08: radio_HeadStepper1_Microstepping8.IsChecked = true; break; case 0x16: radio_HeadStepper1_Microstepping16.IsChecked = true; break; case 0x32: radio_HeadStepper1_Microstepping32.IsChecked = true; break; default: this.lblStatus.Content = "Error getting status for Head Stepper 1 Micro-stepping"; break; } switch (headstepper2microsteppingmode) { case 0x01: radio_HeadStepper2_Microstepping1.IsChecked = true; break; case 0x02: radio_HeadStepper2_Microstepping2.IsChecked = true; break; case 0x04: radio_HeadStepper2_Microstepping4.IsChecked = true; break; case 0x08: radio_HeadStepper2_Microstepping8.IsChecked = true; break; case 0x16: radio_HeadStepper2_Microstepping16.IsChecked = true; break; case 0x32: radio_HeadStepper2_Microstepping32.IsChecked = true; break; default: this.lblStatus.Content = "Error getting status for Head Stepper 2 Micro-stepping"; break; } switch (solderstepper1microsteppingmode) { case 0x01: radio_SolderStepper1_Microstepping1.IsChecked = true; break; case 0x02: radio_SolderStepper1_Microstepping2.IsChecked = true; break; case 0x04: radio_SolderStepper1_Microstepping4.IsChecked = true; break; case 0x08: radio_SolderStepper1_Microstepping8.IsChecked = true; break; case 0x16: radio_SolderStepper1_Microstepping16.IsChecked = true; break; case 0x32: radio_SolderStepper1_Microstepping32.IsChecked = true; break; default: this.lblStatus.Content = "Error getting status for Solder Stepper 1 Micro-stepping"; break; } switch (solderstepper2microsteppingmode) { case 0x01: radio_SolderStepper2_Microstepping1.IsChecked = true; break; case 0x02: radio_SolderStepper2_Microstepping2.IsChecked = true; break; case 0x04: radio_SolderStepper2_Microstepping4.IsChecked = true; break; case 0x08: radio_SolderStepper2_Microstepping8.IsChecked = true; break; case 0x16: radio_SolderStepper2_Microstepping16.IsChecked = true; break; case 0x32: radio_SolderStepper2_Microstepping32.IsChecked = true; break; default: this.lblStatus.Content = "Error getting status for Solder Stepper 2 Micro-stepping"; break; } switch (caddysteppermicrosteppingmode) { case 0x01: radio_CaddyStepper_Microstepping1.IsChecked = true; break; case 0x02: radio_CaddyStepper_Microstepping2.IsChecked = true; break; case 0x04: radio_CaddyStepper_Microstepping4.IsChecked = true; break; case 0x08: radio_CaddyStepper_Microstepping8.IsChecked = true; break; case 0x16: radio_CaddyStepper_Microstepping16.IsChecked = true; break; case 0x32: radio_CaddyStepper_Microstepping32.IsChecked = true; break; default: this.lblStatus.Content = "Error getting status for Caddy Stepper Micro-stepping"; break; } // Get the default current settings from the controller byte headstepper1current = usbController.getHeadStepper1Current(); byte headstepper2current = usbController.getHeadStepper2Current(); byte solderstepper1current = usbController.getSolderStepper1Current(); byte solderstepper2current = usbController.getSolderStepper2Current(); byte caddysteppercurrent = usbController.getCaddyStepperCurrent(); slider_HeadStepper1_Current.Value = headstepper1current; lbl_HeadStepper1_Current.Content = calculateCurrent_mA(headstepper1current).ToString("0.00 A"); slider_HeadStepper2_Current.Value = headstepper2current; lbl_HeadStepper2_Current.Content = calculateCurrent_mA(headstepper2current).ToString("0.00 A"); slider_SolderStepper1_Current.Value = solderstepper1current; lbl_SolderStepper1_Current.Content = calculateCurrent_mA(solderstepper1current).ToString("0.00 A"); slider_SolderStepper2_Current.Value = solderstepper2current; lbl_SolderStepper2_Current.Content = calculateCurrent_mA(solderstepper2current).ToString("0.00 A"); slider_CaddyStepper_Current.Value = caddysteppercurrent; lbl_CaddyStepper_Current.Content = calculateCurrent_mA(caddysteppercurrent).ToString("0.00 A"); // get the soldering iron status solderingControllerStatus = usbController.getSolderingGlobalStatus(); lbl_iron1_currenttemperature.Content = solderingControllerStatus.Iron1_Temperature.ToString("0.00°C"); lbl_iron2_currenttemperature.Content = solderingControllerStatus.Iron2_Temperature.ToString("0.00°C"); txt_iron1_targettemperature.Text = solderingControllerStatus.Iron1_Target_Temperature.ToString("0.00"); txt_iron2_targettemperature.Text = solderingControllerStatus.Iron2_Target_Temperature.ToString("0.00"); bool solderingiron1status = solderingControllerStatus.Iron1_Running; bool solderingiron2status = solderingControllerStatus.Iron2_Running; if (solderingiron1status) { lbl_iron1_status.Content = "Heating"; } else { lbl_iron1_status.Content = "Off"; } if (solderingiron2status) { lbl_iron2_status.Content = "Heating"; } else { lbl_iron2_status.Content = "Off"; } bool solderingiron1activation = solderingControllerStatus.Iron1_Activate; bool solderingiron2activation = solderingControllerStatus.Iron2_Activate; if (solderingiron1activation) { cb_solderingiron1active.IsChecked = true; } else { cb_solderingiron1active.IsChecked = false; } if (solderingiron2activation) { cb_solderingiron2active.IsChecked = true; } else { cb_solderingiron2active.IsChecked = false; } ConfigLoaded = true; // start the timer to update the temperatures dispatcherTimer.Start(); }
private void dispatcherTimer_Tick(object sender, EventArgs e) { // get the temperatures from the soldering irons and display it on the screen solderingControllerStatus = usbController.getSolderingGlobalStatus(); lbl_iron1_currenttemperature.Content = solderingControllerStatus.Iron1_Temperature.ToString("0.00°C"); lbl_iron2_currenttemperature.Content = solderingControllerStatus.Iron2_Temperature.ToString("0.00°C"); bool solderingiron1status = solderingControllerStatus.Iron1_Running; bool solderingiron2status = solderingControllerStatus.Iron2_Running; if (solderingiron1status) { lbl_iron1_status.Content = "Heating"; } else { lbl_iron1_status.Content = "Off"; } if (solderingiron2status) { lbl_iron2_status.Content = "Heating"; } else { lbl_iron2_status.Content = "Off"; } string log = ""; if (solderingControllerStatus.success) { log += "Success:"; } else { log += "Failed:"; } if (solderingControllerStatus.Iron1_Running) { log += "Iron1=On,"; } else { log += "Iron1=Off,"; } if (solderingControllerStatus.Iron2_Running) { log += "Iron2=On,"; } else { log += "Iron2=Off,"; } log += solderingControllerStatus.Iron1_Temperature.ToString("0.00°C,"); log += solderingControllerStatus.Iron2_Temperature.ToString("0.00°C,"); log += solderingControllerStatus.Iron1_Target_Temperature.ToString("0.00°C,"); log += solderingControllerStatus.Iron2_Target_Temperature.ToString("0.00°C"); using (System.IO.StreamWriter w = File.AppendText("d:\\solderlog.txt")) { w.WriteLine(log); } }
public SolderingStationObject getSolderingGlobalStatus() { SolderingStationObject tmpObj = new SolderingStationObject(); tmpObj.success = true; try { Byte[] outputBuffer = new Byte[65]; Byte[] inputBuffer = new Byte[65]; string s = ""; double f = 0; outputBuffer[0] = 0; outputBuffer[1] = 0x03; outputBuffer[2] = 0x20; bool success; success = writeRawReportToDevice(outputBuffer); if (success) { // Perform the read success = readSingleReportFromDevice(ref inputBuffer); if (inputBuffer[3] == '1') { // Iron 1 is switched on tmpObj.Iron1_Running = true; } if (inputBuffer[3] == '0') { // Iron 1 is switched on tmpObj.Iron1_Running = false; } if (inputBuffer[5] == '1') { // Iron 1 is switched on tmpObj.Iron2_Running = true; } if (inputBuffer[5] == '0') { // Iron 1 is switched on tmpObj.Iron2_Running = false; } try { Byte[] SolderingIron1Temperature = new Byte[6]; SolderingIron1Temperature[0] = inputBuffer[7]; SolderingIron1Temperature[1] = inputBuffer[8]; SolderingIron1Temperature[2] = inputBuffer[9]; SolderingIron1Temperature[3] = inputBuffer[10]; SolderingIron1Temperature[4] = inputBuffer[11]; SolderingIron1Temperature[5] = inputBuffer[12]; s = Encoding.UTF8.GetString(SolderingIron1Temperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron1_Temperature = f; } catch { tmpObj.Iron1_Temperature = 666; tmpObj.success = false; } try { Byte[] SolderingIron2Temperature = new Byte[6]; SolderingIron2Temperature[0] = inputBuffer[14]; SolderingIron2Temperature[1] = inputBuffer[15]; SolderingIron2Temperature[2] = inputBuffer[16]; SolderingIron2Temperature[3] = inputBuffer[17]; SolderingIron2Temperature[4] = inputBuffer[18]; SolderingIron2Temperature[5] = inputBuffer[19]; s = Encoding.UTF8.GetString(SolderingIron2Temperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron2_Temperature = f; } catch { tmpObj.Iron2_Temperature = 777; tmpObj.success = false; } try { Byte[] SolderingIron1TargetTemperature = new Byte[6]; SolderingIron1TargetTemperature[0] = inputBuffer[21]; SolderingIron1TargetTemperature[1] = inputBuffer[22]; SolderingIron1TargetTemperature[2] = inputBuffer[23]; SolderingIron1TargetTemperature[3] = inputBuffer[24]; SolderingIron1TargetTemperature[4] = inputBuffer[25]; SolderingIron1TargetTemperature[5] = inputBuffer[26]; s = Encoding.UTF8.GetString(SolderingIron1TargetTemperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron1_Target_Temperature = f; } catch { tmpObj.Iron1_Target_Temperature = 888; tmpObj.success = false; } try { Byte[] SolderingIron2TargetTemperature = new Byte[6]; SolderingIron2TargetTemperature[0] = inputBuffer[28]; SolderingIron2TargetTemperature[1] = inputBuffer[29]; SolderingIron2TargetTemperature[2] = inputBuffer[30]; SolderingIron2TargetTemperature[3] = inputBuffer[31]; SolderingIron2TargetTemperature[4] = inputBuffer[32]; SolderingIron2TargetTemperature[5] = inputBuffer[33]; s = Encoding.UTF8.GetString(SolderingIron2TargetTemperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron2_Target_Temperature = f; } catch { tmpObj.Iron2_Target_Temperature = 999; tmpObj.success = false; } if (inputBuffer[35] == '1') { // Iron 1 is switched on tmpObj.Iron1_Activate = true; } if (inputBuffer[35] == '0') { // Iron 1 is switched on tmpObj.Iron1_Activate = false; } if (inputBuffer[36] == '1') { // Iron 1 is switched on tmpObj.Iron2_Activate = true; } if (inputBuffer[36] == '0') { // Iron 1 is switched on tmpObj.Iron2_Activate = false; } } else { tmpObj.Iron1_Activate = false; tmpObj.Iron2_Activate = false; tmpObj.Iron1_Running = false; tmpObj.Iron2_Running = false; tmpObj.Iron1_Temperature = 0; tmpObj.Iron2_Temperature = 0; tmpObj.Iron1_Target_Temperature = 0; tmpObj.Iron2_Target_Temperature = 0; tmpObj.success = false; } } catch { tmpObj.Iron1_Activate = false; tmpObj.Iron2_Activate = false; tmpObj.Iron1_Running = false; tmpObj.Iron2_Running = false; tmpObj.Iron1_Temperature = 0; tmpObj.Iron2_Temperature = 0; tmpObj.Iron1_Target_Temperature = 0; tmpObj.Iron2_Target_Temperature = 0; tmpObj.success = false; } return(tmpObj); }
public SolderingStationObject getSolderingGlobalStatus() { SolderingStationObject tmpObj = new SolderingStationObject(); tmpObj.success = true; try { Byte[] outputBuffer = new Byte[65]; Byte[] inputBuffer = new Byte[65]; string s = ""; double f = 0; outputBuffer[0] = 0; outputBuffer[1] = 0x03; outputBuffer[2] = 0x20; bool success; success = writeRawReportToDevice(outputBuffer); if (success) { // Perform the read success = readSingleReportFromDevice(ref inputBuffer); if (inputBuffer[3] == '1') { // Iron 1 is switched on tmpObj.Iron1_Running = true; } if (inputBuffer[3] == '0') { // Iron 1 is switched on tmpObj.Iron1_Running = false; } if (inputBuffer[5] == '1') { // Iron 1 is switched on tmpObj.Iron2_Running = true; } if (inputBuffer[5] == '0') { // Iron 1 is switched on tmpObj.Iron2_Running = false; } try { Byte[] SolderingIron1Temperature = new Byte[6]; SolderingIron1Temperature[0] = inputBuffer[7]; SolderingIron1Temperature[1] = inputBuffer[8]; SolderingIron1Temperature[2] = inputBuffer[9]; SolderingIron1Temperature[3] = inputBuffer[10]; SolderingIron1Temperature[4] = inputBuffer[11]; SolderingIron1Temperature[5] = inputBuffer[12]; s = Encoding.UTF8.GetString(SolderingIron1Temperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron1_Temperature = f; } catch { tmpObj.Iron1_Temperature = 666; tmpObj.success = false; } try { Byte[] SolderingIron2Temperature = new Byte[6]; SolderingIron2Temperature[0] = inputBuffer[14]; SolderingIron2Temperature[1] = inputBuffer[15]; SolderingIron2Temperature[2] = inputBuffer[16]; SolderingIron2Temperature[3] = inputBuffer[17]; SolderingIron2Temperature[4] = inputBuffer[18]; SolderingIron2Temperature[5] = inputBuffer[19]; s = Encoding.UTF8.GetString(SolderingIron2Temperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron2_Temperature = f; } catch { tmpObj.Iron2_Temperature = 777; tmpObj.success = false; } try { Byte[] SolderingIron1TargetTemperature = new Byte[6]; SolderingIron1TargetTemperature[0] = inputBuffer[21]; SolderingIron1TargetTemperature[1] = inputBuffer[22]; SolderingIron1TargetTemperature[2] = inputBuffer[23]; SolderingIron1TargetTemperature[3] = inputBuffer[24]; SolderingIron1TargetTemperature[4] = inputBuffer[25]; SolderingIron1TargetTemperature[5] = inputBuffer[26]; s = Encoding.UTF8.GetString(SolderingIron1TargetTemperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron1_Target_Temperature = f; } catch { tmpObj.Iron1_Target_Temperature = 888; tmpObj.success = false; } try { Byte[] SolderingIron2TargetTemperature = new Byte[6]; SolderingIron2TargetTemperature[0] = inputBuffer[28]; SolderingIron2TargetTemperature[1] = inputBuffer[29]; SolderingIron2TargetTemperature[2] = inputBuffer[30]; SolderingIron2TargetTemperature[3] = inputBuffer[31]; SolderingIron2TargetTemperature[4] = inputBuffer[32]; SolderingIron2TargetTemperature[5] = inputBuffer[33]; s = Encoding.UTF8.GetString(SolderingIron2TargetTemperature, 0, 6); f = double.Parse(s, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); tmpObj.Iron2_Target_Temperature = f; } catch { tmpObj.Iron2_Target_Temperature = 999; tmpObj.success = false; } if (inputBuffer[35] == '1') { // Iron 1 is switched on tmpObj.Iron1_Activate = true; } if (inputBuffer[35] == '0') { // Iron 1 is switched on tmpObj.Iron1_Activate = false; } if (inputBuffer[36] == '1') { // Iron 1 is switched on tmpObj.Iron2_Activate = true; } if (inputBuffer[36] == '0') { // Iron 1 is switched on tmpObj.Iron2_Activate = false; } } else { tmpObj.Iron1_Activate = false; tmpObj.Iron2_Activate = false; tmpObj.Iron1_Running = false; tmpObj.Iron2_Running = false; tmpObj.Iron1_Temperature = 0; tmpObj.Iron2_Temperature = 0; tmpObj.Iron1_Target_Temperature = 0; tmpObj.Iron2_Target_Temperature = 0; tmpObj.success = false; } } catch { tmpObj.Iron1_Activate = false; tmpObj.Iron2_Activate = false; tmpObj.Iron1_Running = false; tmpObj.Iron2_Running = false; tmpObj.Iron1_Temperature = 0; tmpObj.Iron2_Temperature = 0; tmpObj.Iron1_Target_Temperature = 0; tmpObj.Iron2_Target_Temperature = 0; tmpObj.success = false; } return tmpObj; }