private void CheckPCBACommunication()
        {
            if (boolPass)
            {
                Log.Info("Prompt", "1.) Checking PCBA Communication\n\n");
                TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_firmware_version_Message_ID, TestProbeAPICommand.HST_get_firmware_version_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);
                bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();


                Delay(1000);
                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBACommunicationStatusFlag)
                    {
                        this.picTestStatus1.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus1.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus1.Visible = true;
                });
            }
        }
        private void PCBASettingParameter()
        {
            Delay(1000);
            if (boolPass)
            {
                Log.Info("Prompt", "2.) SettingPCBAParameter\n");
                btnConfigurationSaveConfiguration_Click(this, new EventArgs());
                disableAllAPIButtons();


                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBAParameterSettingsStatusFlag)
                    {
                        this.picTestStatus2.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus2.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus2.Visible = true;
                });
            }
        }
        private void PCBADisablePricisorCompensation()
        {
            Delay(1000);
            if (boolPass)
            {
                Log.Info("Prompt", "5.) Disable Precisor Compensation\n");

                for (int index = 1; index < 3; index++)
                {
                    // Read the Precisor Capaciatnce Compensation Value
                    //TestProbe53SetGetPrecisorCapacitanceCompensation.PrecisorIndex = (byte)index;

                    //byte[] ByteArrayFromStructure = CommonFunctions.Instance.StructureToByteArray(TestProbe53SetGetPrecisorCapacitanceCompensation);
                    //TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_precisor_cap_compensation_Message_ID, TestProbeAPICommand.HST_get_precisor_cap_compensation_Message_Size, ByteArrayFromStructure);
                    //CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                    //bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();
                    //Delay(3000);
                    //-------------------------------

                    // Write the Precisor Capaciatnce Compensation Value

                    if (index == 1)
                    {
                        TestProbe52SetPrecisorCapacitanceCompensation.PrecisorIndex = 1;
                    }
                    else
                    {
                        TestProbe52SetPrecisorCapacitanceCompensation.PrecisorIndex = 2;
                    }

                    TestProbe52SetPrecisorCapacitanceCompensation.EnableFlag = 0; //Disable the compensation
                    byte[] ByteArrayFromStructure  = CommonFunctions.Instance.StructureToByteArray(TestProbe52SetPrecisorCapacitanceCompensation);
                    TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_set_precisor_cap_compensation_Message_ID, TestProbeAPICommand.HST_set_precisor_cap_compensation_Message_Size, ByteArrayFromStructure);
                    CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                    bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();
                    Delay(1000);
                }
                //Delay(1000);
                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBADisablePrecisorCompensationStatusFlag)
                    {
                        this.picTestStatus5.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus5.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus5.Visible = true;
                });
            }
        }
        private void PCBAFunctionalTest()
        {
            Delay(1000);
            if (boolPass)
            {
                Log.Info("Prompt", "7.) PCBA Functional Test\n");
                Delay(1000);

                ClearDisplay();

                TestProbe9SetStartMeasurement.FlexCableIndex = 1;

                byte[] ByteArrayFromStructure  = CommonFunctions.Instance.StructureToByteArray(TestProbe9SetStartMeasurement);
                TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_start_meas_Message_ID, TestProbeAPICommand.HST_start_meas_Message_Size, ByteArrayFromStructure);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_short_detection_Message_ID, TestProbeAPICommand.HST_get_short_detection_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_res_results_Message_ID, TestProbeAPICommand.HST_get_res_results_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_cap_results_Message_ID, TestProbeAPICommand.HST_get_cap_results_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_cap_secondary_results_Message_ID, TestProbeAPICommand.HST_get_cap_secondary_results_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();
                Delay(12000);

                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBAFunctionalTestStatusFlag)
                    {
                        this.picTestStatus7.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus7.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }


                    this.picTestStatus7.Visible = true;
                });
            }
        }
예제 #5
0
        private void InBit_Click(object sender, EventArgs e)
        {
            LEDButton led = sender as LEDButton;

            if (led == null || led.ReadOnly)
            {
                return;
            }

            int bitNum = Convert.ToInt32(led.Tag) + _bitGroup * NUM_IO_DISPLAY;

            if (bitNum >= _io.DIBits.Count)
            {
                return;
            }

            DIBit bit = _io.DIBits[bitNum];

            if (bit == null)
            {
                return;
            }

            bool prevState = led.Checked;

            led.Enabled = false;

            Task.Factory.StartNew <bool>(() =>
            {
                // toggle the value
                bool value = !bit.Get();
                bit.Set(value);
                return(value);
            })
            .ContinueWith(t =>
            {
                UIUtility.BeginInvoke(this, () =>
                {
                    led.Checked = t.Result;
                    led.Enabled = true;
                });

                if (t.IsFaulted)
                {
                    Notify.PopUpError(String.Format("Failed to Set {0}", bit.Name), t.Exception.InnerException);
                }
            });
        }
        private void PCBAAutoCalibration()
        {
            Delay(1000);
            if (boolPass)
            {
                Delay(1000);
                Log.Info("Prompt", "3.) Perform PCBA Auto Calibration\n");
                TestProbe17CalibrationEnable.EnableFlag = 1;


                byte[] ByteArrayFromStructure  = CommonFunctions.Instance.StructureToByteArray(TestProbe17CalibrationEnable);
                TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_calibration_enable_Message_ID, TestProbeAPICommand.HST_calibration_enable_Message_Size, ByteArrayFromStructure);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);


                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_start_auto_calibration_Message_ID, TestProbeAPICommand.HST_start_auto_calibration_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_save_calibration_data_Message_ID, TestProbeAPICommand.HST_save_calibration_data_Message_Size, null);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);



                bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();

                Delay(12000);
                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBAAutoCalibrationStatusFlag)
                    {
                        this.picTestStatus3.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus3.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus3.Visible = true;
                });
            }
            //    chkPCBACalibrationCalibrationEnable.Checked = false;
        }
        private void PCBASetShortCircuitParameter()
        {
            Delay(1000);
            if (boolPass)
            {
                Log.Info("Prompt", "4.) Set Short Circuit Parameter\n");

                // TestProbe47SetShortDetectionThreshold
                byte[] ByteArray = BitConverter.GetBytes(string.IsNullOrEmpty(txtCableCalibrationShortDetectionThreshold.Text) ? 0 : 40);
                TestProbe47SetShortDetectionThreshold.ThresholdVoltageLSBLow  = ByteArray[0];
                TestProbe47SetShortDetectionThreshold.ThresholdVoltageLSBMid  = ByteArray[1];
                TestProbe47SetShortDetectionThreshold.ThresholdVoltageMSBLow  = ByteArray[2];
                TestProbe47SetShortDetectionThreshold.ThresholdVoltageMSBHigh = ByteArray[3];


                byte[] ByteArrayFromStructure  = CommonFunctions.Instance.StructureToByteArray(TestProbe47SetShortDetectionThreshold);
                TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_set_short_detection_threshold_Message_ID, TestProbeAPICommand.HST_set_short_detection_threshold_Message_Size, ByteArrayFromStructure);
                CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();


                Delay(1000);
                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBAShortCircuitSettingsStatusFlag)
                    {
                        this.picTestStatus4.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus4.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus4.Visible = true;
                });
            }
        }
예제 #8
0
        private void btnDesktopTestsMultipleMeasure_Click(object sender, EventArgs e)
        {
            int MeasurementCount = int.Parse(txtDesktopTestsMeasurementCount.Text);
            int CycleCount       = int.Parse(txtDesktopTestsCycleCount.Text);

            if (CycleCount < 0)
            {
                Notify.PopUpError("Invalid Cycle Count Value", "Unable to start multiple measurement due to invalid value of cycle count entered.");
                return;
            }

            if (MeasurementCount < 0)
            {
                Notify.PopUpError("Invalid Measurement Count Value", "Unable to start multiple measurement due to invalid value of measurement count entered.");
                return;
            }

            if (CycleCount == 0 && MeasurementCount == 0)
            {
                Notify.PopUpError("Unable to Run Test", "Unable to start multiple measurement due to both cycle count and measurement count being 0.");
                return;
            }

            if (String.IsNullOrEmpty(txtDesktopTestsFileName.Text))
            {
                Notify.PopUpError("Missing Output File Name", "Unable to start multiple measurement due to no output file name entered.");
                return;
            }

            string OQCTestReportFilePath = string.Format("{0}{1}.txt", CommonFunctions.Instance.MeasurementTestFileDirectory, txtDesktopTestsFileName.Text);

            if (!Directory.Exists(CommonFunctions.Instance.MeasurementTestFileDirectory))
            {
                Directory.CreateDirectory(CommonFunctions.Instance.MeasurementTestFileDirectory);
            }

            if (File.Exists(OQCTestReportFilePath))
            {
                using (StreamWriter WriteToFile = new StreamWriter(OQCTestReportFilePath, true))
                {
                    WriteToFile.WriteLine("");
                    WriteToFile.WriteLine("");
                    WriteToFile.WriteLine("**********************************************************************************************************************************");
                    WriteToFile.WriteLine("");
                    WriteToFile.WriteLine("");
                }
            }

            CommonFunctions.Instance.DesktopTestsMultiple = true;

            using (StreamWriter WriteToFile = new StreamWriter(OQCTestReportFilePath, true))
            {
                WriteToFile.WriteLine("                                      Measurement Tests");
                WriteToFile.WriteLine("");
                WriteToFile.WriteLine("");
            }

            if (CycleCount == 0 && MeasurementCount != 0)
            {
                // No Precisor Nest movement
            }

            Task t = Task.Factory.StartNew(() =>
            {
                for (int j = 0; j < CycleCount; j++)
                {
                    if (String.Compare(cboDesktopTestsUpDownTabSelection.Text, "UP", true) == 0)
                    {
                        TestProbe91SetDesktopLoadHGA.UpDownTabIndex = 1;
                    }
                    else
                    {
                        TestProbe91SetDesktopLoadHGA.UpDownTabIndex = 2;
                    }
                    byte[] ByteArrayFromStructure  = CommonFunctions.Instance.StructureToByteArray(TestProbe91SetDesktopLoadHGA);
                    TestProbeAPICommand APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_desktop_tester_load_hga_Message_ID, TestProbeAPICommand.HST_desktop_tester_load_hga_Message_Size, ByteArrayFromStructure);
                    CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                    bool commandSentToMicroprocessor = constructAndSendWriteDataBuffer();

                    HGAsLoaded = false;
                    while (!HGAsLoaded)
                    {
                        Thread.Sleep(100);
                    }

                    using (StreamWriter WriteToFile = new StreamWriter(OQCTestReportFilePath, true))
                    {
                        WriteToFile.WriteLine("");
                        WriteToFile.WriteLine("Cycle {0}", (j + 1));
                        WriteToFile.WriteLine("=========");
                        WriteToFile.WriteLine("Cycle #, Test #, HGA#, Short, , , , Resistance (Ω), , , , , Capacitance");
                        WriteToFile.WriteLine(", , , Detection, Ch1, Ch2, Ch3, Ch4, Ch5, Ch6, , C1, , C2");
                        WriteToFile.WriteLine(", , , , , , , , , , C (pF), ESR (mΩ), C (pF), ESR (mΩ)");
                    }

                    UIUtility.BeginInvoke(this, () =>
                    {
                        txtDesktopTestsCycleCountingDown.Text       = (CycleCount - j).ToString();
                        txtDesktopTestsMeasurementCountingDown.Text = MeasurementCount.ToString();
                    });


                    for (int i = 0; i < MeasurementCount; i++)
                    {
                        if (CommonFunctions.Instance.DesktopTestsMultiple == false)
                        {
                            break;
                        }

                        if (String.Compare(cboDesktopTestsUpDownTabSelection.Text, "UP", true) == 0)
                        {
                            TestProbe9SetStartMeasurement.FlexCableIndex = 1;
                        }
                        else
                        {
                            TestProbe9SetStartMeasurement.FlexCableIndex = 2;
                        }

                        ByteArrayFromStructure = CommonFunctions.Instance.StructureToByteArray(TestProbe9SetStartMeasurement);
                        APICommand             = new TestProbeAPICommand(TestProbeAPICommand.HST_start_meas_Message_ID, TestProbeAPICommand.HST_start_meas_Message_Size, ByteArrayFromStructure);
                        CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                        APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_short_detection_Message_ID, TestProbeAPICommand.HST_get_short_detection_Message_Size, null);
                        CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);
                        APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_res_results_Message_ID, TestProbeAPICommand.HST_get_res_results_Message_Size, null);
                        CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);
                        APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_cap_results_Message_ID, TestProbeAPICommand.HST_get_cap_results_Message_Size, null);
                        CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                        APICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_get_cap_secondary_results_Message_ID, TestProbeAPICommand.HST_get_cap_secondary_results_Message_Size, null);
                        CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                        commandSentToMicroprocessor = constructAndSendWriteDataBuffer();

                        UIUtility.BeginInvoke(this, () =>
                        {
                            txtDesktopTestsMeasurementCountingDown.Text = (MeasurementCount - i).ToString();
                        });

                        DataReceived = false;
                        while (!DataReceived)
                        {
                            Thread.Sleep(100);
                        }

                        using (StreamWriter WriteToFile = new StreamWriter(OQCTestReportFilePath, true))
                        {
                            WriteToFile.WriteLine("{0}, {1}, 1, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}",
                                                  (j + 1), (i + 1), txtDesktopTestsHGA1Short.Text, txtDesktopTestsHGA1Ch1Res.Text, txtDesktopTestsHGA1Ch2Res.Text, txtDesktopTestsHGA1Ch3Res.Text, txtDesktopTestsHGA1Ch4Res.Text,
                                                  txtDesktopTestsHGA1Ch5Res.Text, txtDesktopTestsHGA1Ch6Res.Text, txtDesktopTestsHGA1Ch1Capa.Text, txtDesktopTestsHGA1Ch1ESR.Text, txtDesktopTestsHGA1Ch2Capa.Text, txtDesktopTestsHGA1Ch2ESR.Text);
                            WriteToFile.WriteLine(", 2, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA2Short.Text, txtDesktopTestsHGA2Ch1Res.Text, txtDesktopTestsHGA2Ch2Res.Text, txtDesktopTestsHGA2Ch3Res.Text, txtDesktopTestsHGA2Ch4Res.Text,
                                                  txtDesktopTestsHGA2Ch5Res.Text, txtDesktopTestsHGA2Ch6Res.Text, txtDesktopTestsHGA2Ch1Capa.Text, txtDesktopTestsHGA2Ch1ESR.Text, txtDesktopTestsHGA2Ch2Capa.Text, txtDesktopTestsHGA2Ch2ESR.Text);
                            WriteToFile.WriteLine(", 3, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA3Short.Text, txtDesktopTestsHGA3Ch1Res.Text, txtDesktopTestsHGA3Ch2Res.Text, txtDesktopTestsHGA3Ch3Res.Text, txtDesktopTestsHGA3Ch4Res.Text,
                                                  txtDesktopTestsHGA3Ch5Res.Text, txtDesktopTestsHGA3Ch6Res.Text, txtDesktopTestsHGA3Ch1Capa.Text, txtDesktopTestsHGA3Ch1ESR.Text, txtDesktopTestsHGA3Ch2Capa.Text, txtDesktopTestsHGA3Ch2ESR.Text);
                            WriteToFile.WriteLine(", 4, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA4Short.Text, txtDesktopTestsHGA4Ch1Res.Text, txtDesktopTestsHGA4Ch2Res.Text, txtDesktopTestsHGA4Ch3Res.Text, txtDesktopTestsHGA4Ch4Res.Text,
                                                  txtDesktopTestsHGA4Ch5Res.Text, txtDesktopTestsHGA4Ch6Res.Text, txtDesktopTestsHGA4Ch1Capa.Text, txtDesktopTestsHGA4Ch1ESR.Text, txtDesktopTestsHGA4Ch2Capa.Text, txtDesktopTestsHGA4Ch2ESR.Text);
                            WriteToFile.WriteLine(", 5, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA5Short.Text, txtDesktopTestsHGA5Ch1Res.Text, txtDesktopTestsHGA5Ch2Res.Text, txtDesktopTestsHGA5Ch3Res.Text, txtDesktopTestsHGA5Ch4Res.Text,
                                                  txtDesktopTestsHGA5Ch5Res.Text, txtDesktopTestsHGA5Ch6Res.Text, txtDesktopTestsHGA5Ch1Capa.Text, txtDesktopTestsHGA5Ch1ESR.Text, txtDesktopTestsHGA5Ch2Capa.Text, txtDesktopTestsHGA5Ch2ESR.Text);
                            WriteToFile.WriteLine(", 5, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA6Short.Text, txtDesktopTestsHGA6Ch1Res.Text, txtDesktopTestsHGA6Ch2Res.Text, txtDesktopTestsHGA6Ch3Res.Text, txtDesktopTestsHGA6Ch4Res.Text,
                                                  txtDesktopTestsHGA6Ch5Res.Text, txtDesktopTestsHGA6Ch6Res.Text, txtDesktopTestsHGA6Ch1Capa.Text, txtDesktopTestsHGA6Ch1ESR.Text, txtDesktopTestsHGA6Ch2Capa.Text, txtDesktopTestsHGA6Ch2ESR.Text);
                            WriteToFile.WriteLine(", 7, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA7Short.Text, txtDesktopTestsHGA7Ch1Res.Text, txtDesktopTestsHGA7Ch2Res.Text, txtDesktopTestsHGA7Ch3Res.Text, txtDesktopTestsHGA7Ch4Res.Text,
                                                  txtDesktopTestsHGA7Ch5Res.Text, txtDesktopTestsHGA7Ch6Res.Text, txtDesktopTestsHGA7Ch1Capa.Text, txtDesktopTestsHGA7Ch1ESR.Text, txtDesktopTestsHGA7Ch2Capa.Text, txtDesktopTestsHGA7Ch2ESR.Text);
                            WriteToFile.WriteLine(", 8, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA8Short.Text, txtDesktopTestsHGA8Ch1Res.Text, txtDesktopTestsHGA8Ch2Res.Text, txtDesktopTestsHGA8Ch3Res.Text, txtDesktopTestsHGA8Ch4Res.Text,
                                                  txtDesktopTestsHGA8Ch5Res.Text, txtDesktopTestsHGA8Ch6Res.Text, txtDesktopTestsHGA8Ch1Capa.Text, txtDesktopTestsHGA8Ch1ESR.Text, txtDesktopTestsHGA8Ch2Capa.Text, txtDesktopTestsHGA8Ch2ESR.Text);
                            WriteToFile.WriteLine(", 9, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA9Short.Text, txtDesktopTestsHGA9Ch1Res.Text, txtDesktopTestsHGA9Ch2Res.Text, txtDesktopTestsHGA9Ch3Res.Text, txtDesktopTestsHGA9Ch4Res.Text,
                                                  txtDesktopTestsHGA9Ch5Res.Text, txtDesktopTestsHGA9Ch6Res.Text, txtDesktopTestsHGA9Ch1Capa.Text, txtDesktopTestsHGA9Ch1ESR.Text, txtDesktopTestsHGA9Ch2Capa.Text, txtDesktopTestsHGA9Ch2ESR.Text);
                            WriteToFile.WriteLine(", 10, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}",
                                                  txtDesktopTestsHGA10Short.Text, txtDesktopTestsHGA10Ch1Res.Text, txtDesktopTestsHGA10Ch2Res.Text, txtDesktopTestsHGA10Ch3Res.Text, txtDesktopTestsHGA10Ch4Res.Text,
                                                  txtDesktopTestsHGA10Ch5Res.Text, txtDesktopTestsHGA10Ch6Res.Text, txtDesktopTestsHGA10Ch1Capa.Text, txtDesktopTestsHGA10Ch1ESR.Text, txtDesktopTestsHGA10Ch2Capa.Text, txtDesktopTestsHGA10Ch2ESR.Text);
                            WriteToFile.WriteLine("");
                            WriteToFile.WriteLine("");
                        }
                    }

                    UIUtility.BeginInvoke(this, () =>
                    {
                        txtDesktopTestsMeasurementCountingDown.Text = "0";
                    });

                    TestProbeAPICommand EjectHGAsAPICommand = new TestProbeAPICommand(TestProbeAPICommand.HST_desktop_tester_eject_hga_Message_ID, TestProbeAPICommand.HST_desktop_tester_eject_hga_Message_Size, null);
                    CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(EjectHGAsAPICommand);

                    bool EjectHGAsCommandSentToMicroprocessor = constructAndSendWriteDataBuffer();

                    HGAsEjected = false;
                    while (!HGAsEjected)
                    {
                        Thread.Sleep(100);
                    }

                    Thread.Sleep(1000);
                }

                if (CommonFunctions.Instance.DesktopTestsMultiple == false)
                {
                    Notify.PopUp("Multiple Measurements Aborted", "Could not complete multiple measurements due to user interruption.", "", "OK");
                }

                CommonFunctions.Instance.DesktopTestsMultiple = false;

                UIUtility.BeginInvoke(this, () =>
                {
                    txtDesktopTestsCycleCountingDown.Text       = "0";
                    txtDesktopTestsMeasurementCountingDown.Text = "0";
                });
            });
        }
        private void ClearDisplay()
        {
            UIUtility.BeginInvoke(this, () =>
            {
                txtBenchTestsHGA1Short.Text   = "";
                txtBenchTestsHGA1Ch1Res.Text  = "";
                txtBenchTestsHGA1Ch2Res.Text  = "";
                txtBenchTestsHGA1Ch3Res.Text  = "";
                txtBenchTestsHGA1Ch4Res.Text  = "";
                txtBenchTestsHGA1Ch5Res.Text  = "";
                txtBenchTestsHGA1Ch6Res.Text  = "";
                txtBenchTestsHGA1Ch1Capa.Text = "";
                txtBenchTestsHGA1Ch1ESR.Text  = "";
                txtBenchTestsHGA1Ch2Capa.Text = "";
                txtBenchTestsHGA1Ch2ESR.Text  = "";

                txtBenchTestsHGA2Short.Text   = "";
                txtBenchTestsHGA2Ch1Res.Text  = "";
                txtBenchTestsHGA2Ch2Res.Text  = "";
                txtBenchTestsHGA2Ch3Res.Text  = "";
                txtBenchTestsHGA2Ch4Res.Text  = "";
                txtBenchTestsHGA2Ch5Res.Text  = "";
                txtBenchTestsHGA2Ch6Res.Text  = "";
                txtBenchTestsHGA2Ch1Capa.Text = "";
                txtBenchTestsHGA2Ch1ESR.Text  = "";
                txtBenchTestsHGA2Ch2Capa.Text = "";
                txtBenchTestsHGA2Ch2ESR.Text  = "";

                txtBenchTestsHGA3Short.Text   = "";
                txtBenchTestsHGA3Ch1Res.Text  = "";
                txtBenchTestsHGA3Ch2Res.Text  = "";
                txtBenchTestsHGA3Ch3Res.Text  = "";
                txtBenchTestsHGA3Ch4Res.Text  = "";
                txtBenchTestsHGA3Ch5Res.Text  = "";
                txtBenchTestsHGA3Ch6Res.Text  = "";
                txtBenchTestsHGA3Ch1Capa.Text = "";
                txtBenchTestsHGA3Ch1ESR.Text  = "";
                txtBenchTestsHGA3Ch2Capa.Text = "";
                txtBenchTestsHGA3Ch2ESR.Text  = "";

                txtBenchTestsHGA4Short.Text   = "";
                txtBenchTestsHGA4Ch1Res.Text  = "";
                txtBenchTestsHGA4Ch2Res.Text  = "";
                txtBenchTestsHGA4Ch3Res.Text  = "";
                txtBenchTestsHGA4Ch4Res.Text  = "";
                txtBenchTestsHGA4Ch5Res.Text  = "";
                txtBenchTestsHGA4Ch6Res.Text  = "";
                txtBenchTestsHGA4Ch1Capa.Text = "";
                txtBenchTestsHGA4Ch1ESR.Text  = "";
                txtBenchTestsHGA4Ch2Capa.Text = "";
                txtBenchTestsHGA4Ch2ESR.Text  = "";

                txtBenchTestsHGA5Short.Text   = "";
                txtBenchTestsHGA5Ch1Res.Text  = "";
                txtBenchTestsHGA5Ch2Res.Text  = "";
                txtBenchTestsHGA5Ch3Res.Text  = "";
                txtBenchTestsHGA5Ch4Res.Text  = "";
                txtBenchTestsHGA5Ch5Res.Text  = "";
                txtBenchTestsHGA5Ch6Res.Text  = "";
                txtBenchTestsHGA5Ch1Capa.Text = "";
                txtBenchTestsHGA5Ch1ESR.Text  = "";
                txtBenchTestsHGA5Ch2Capa.Text = "";
                txtBenchTestsHGA5Ch2ESR.Text  = "";

                txtBenchTestsHGA6Short.Text   = "";
                txtBenchTestsHGA6Ch1Res.Text  = "";
                txtBenchTestsHGA6Ch2Res.Text  = "";
                txtBenchTestsHGA6Ch3Res.Text  = "";
                txtBenchTestsHGA6Ch4Res.Text  = "";
                txtBenchTestsHGA6Ch5Res.Text  = "";
                txtBenchTestsHGA6Ch6Res.Text  = "";
                txtBenchTestsHGA6Ch1Capa.Text = "";
                txtBenchTestsHGA6Ch1ESR.Text  = "";
                txtBenchTestsHGA6Ch2Capa.Text = "";
                txtBenchTestsHGA6Ch2ESR.Text  = "";

                txtBenchTestsHGA7Short.Text   = "";
                txtBenchTestsHGA7Ch1Res.Text  = "";
                txtBenchTestsHGA7Ch2Res.Text  = "";
                txtBenchTestsHGA7Ch3Res.Text  = "";
                txtBenchTestsHGA7Ch4Res.Text  = "";
                txtBenchTestsHGA7Ch5Res.Text  = "";
                txtBenchTestsHGA7Ch6Res.Text  = "";
                txtBenchTestsHGA7Ch1Capa.Text = "";
                txtBenchTestsHGA7Ch1ESR.Text  = "";
                txtBenchTestsHGA7Ch2Capa.Text = "";
                txtBenchTestsHGA7Ch2ESR.Text  = "";

                txtBenchTestsHGA8Short.Text   = "";
                txtBenchTestsHGA8Ch1Res.Text  = "";
                txtBenchTestsHGA8Ch2Res.Text  = "";
                txtBenchTestsHGA8Ch3Res.Text  = "";
                txtBenchTestsHGA8Ch4Res.Text  = "";
                txtBenchTestsHGA8Ch5Res.Text  = "";
                txtBenchTestsHGA8Ch6Res.Text  = "";
                txtBenchTestsHGA8Ch1Capa.Text = "";
                txtBenchTestsHGA8Ch1ESR.Text  = "";
                txtBenchTestsHGA8Ch2Capa.Text = "";
                txtBenchTestsHGA8Ch2ESR.Text  = "";

                txtBenchTestsHGA9Short.Text   = "";
                txtBenchTestsHGA9Ch1Res.Text  = "";
                txtBenchTestsHGA9Ch2Res.Text  = "";
                txtBenchTestsHGA9Ch3Res.Text  = "";
                txtBenchTestsHGA9Ch4Res.Text  = "";
                txtBenchTestsHGA9Ch5Res.Text  = "";
                txtBenchTestsHGA9Ch6Res.Text  = "";
                txtBenchTestsHGA9Ch1Capa.Text = "";
                txtBenchTestsHGA9Ch1ESR.Text  = "";
                txtBenchTestsHGA9Ch2Capa.Text = "";
                txtBenchTestsHGA9Ch2ESR.Text  = "";

                txtBenchTestsHGA10Short.Text   = "";
                txtBenchTestsHGA10Ch1Res.Text  = "";
                txtBenchTestsHGA10Ch2Res.Text  = "";
                txtBenchTestsHGA10Ch3Res.Text  = "";
                txtBenchTestsHGA10Ch4Res.Text  = "";
                txtBenchTestsHGA10Ch5Res.Text  = "";
                txtBenchTestsHGA10Ch6Res.Text  = "";
                txtBenchTestsHGA10Ch1Capa.Text = "";
                txtBenchTestsHGA10Ch1ESR.Text  = "";
                txtBenchTestsHGA10Ch2Capa.Text = "";
                txtBenchTestsHGA10Ch2ESR.Text  = "";
            });
        }
        private void PCBATemperatureCalibrationCH2()
        {
            string            message = "Connect CH 2 to 100 ohm resistor";
            string            caption = "Temperature Calibarition for CH 2";
            MessageBoxButtons buttons = MessageBoxButtons.OKCancel;
            DialogResult      result;


            TestProbeAPICommand APICommand;
            bool commandSentToMicroprocessor;

            byte[] ByteArrayFromStructure;
            Delay(1000);
            if (boolPass)
            {
                Log.Info("Prompt", "6.) PCBA Temperature Calibration Test\n");
                Delay(1000);



                result = MessageBox.Show(message, caption, buttons);

                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    // Enable calibration mode
                    ByteArrayFromStructure = CommonFunctions.Instance.StructureToByteArray(TestProbe17CalibrationEnable);
                    APICommand             = new TestProbeAPICommand(TestProbeAPICommand.HST_calibration_enable_Message_ID, TestProbeAPICommand.HST_calibration_enable_Message_Size, ByteArrayFromStructure);
                    CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                    commandSentToMicroprocessor = constructAndSendWriteDataBuffer();

                    Delay(1000);

                    int TemperatureChannel = 2;


                    //TestProbe31SetTemperatureCalibration
                    TestProbe31SetTemperatureCalibration.ChannelNumber = Convert.ToByte(TemperatureChannel);
                    TestProbe31SetTemperatureCalibration.Temperature   = Convert.ToByte(5); // the firmware accept 5, 10 , and so on .. up to 100
                    ByteArrayFromStructure = CommonFunctions.Instance.StructureToByteArray(TestProbe31SetTemperatureCalibration);
                    APICommand             = new TestProbeAPICommand(TestProbeAPICommand.HST_set_temp_calibration_Message_ID, TestProbeAPICommand.HST_set_temp_calibration_Message_Size, ByteArrayFromStructure);
                    CommonFunctions.Instance.OutgoingTestProbeDataAPIs.Enqueue(APICommand);

                    commandSentToMicroprocessor = constructAndSendWriteDataBuffer();
                }

                PCBATemperatureCalibrationCH3();
                Delay(3000);
                UIUtility.BeginInvoke(this, () =>
                {
                    if (PCBATemperatureCalibrationStatusFlag)
                    {
                        this.picTestStatus6.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.PASS, new System.Drawing.Size(36, 36)));
                    }
                    else
                    {
                        this.picTestStatus6.Image = (System.Drawing.Image)(new System.Drawing.Bitmap(ManufacturingTestTool.Properties.Resources.FAIL, new System.Drawing.Size(36, 36)));
                        boolPass = false;
                    }

                    this.picTestStatus6.Visible = true;
                });
            }
        }
예제 #11
0
        private void enableAllAPIButtons()
        {
            UIUtility.BeginInvoke(this, () =>
            {
                Cursor.Current = Cursors.Default;
                btnBenchTestsContinuousMeasure.Enabled = true;
                btnBenchTestsMultipleMeasure.Enabled   = true;
                btnBenchTestsSingleMeasure.Enabled     = true;
                btnBenchTestsStopMeasure.Enabled       = true;
                btnBenchTestsClearDisplay.Enabled      = true;

                btnFunctionalTestsStartSelfTests.Enabled = true;
                btnFunctionalTestsSaveTestRecord.Enabled = true;
                btnFunctionalTestsClearDisplay.Enabled   = true;

                btnConfigurationSaveConfiguration.Enabled = true;

                btnPCBACalibrationStartAutoCalibration.Enabled = true;
                btnPCBACalibrationGetCalibrationData.Enabled   = true;
                btnPCBACalibrationClearDisplay.Enabled         = true;
                btnPCBACalibrationSaveCalibrationData.Enabled  = true;

                btnPCBACalibrationManualCalibration0Ohm.Enabled                 = true;
                btnPCBACalibrationManualCalibration10Ohm.Enabled                = true;
                btnPCBACalibrationManualCalibration100Ohm.Enabled               = true;
                btnPCBACalibrationManualCalibration500Ohm.Enabled               = true;
                btnPCBACalibrationManualCalibration1000Ohm.Enabled              = true;
                btnPCBACalibrationManualCalibration10000Ohm.Enabled             = true;
                btnPCBACalibrationManualCalibration100pF.Enabled                = true;
                btnPCBACalibrationManualCalibration270pF.Enabled                = true;
                btnPCBACalibrationManualCalibration470pF.Enabled                = true;
                btnPCBACalibrationManualCalibration680pF.Enabled                = true;
                btnPCBACalibrationManualCalibration820pF.Enabled                = true;
                btnPCBACalibrationManualCalibration10nF.Enabled                 = true;
                btnPCBACalibrationTemperatureCalibration5Celcius.Enabled        = true;
                btnPCBACalibrationTemperatureCalibration10Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration15Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration20Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration25Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration30Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration35Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration40Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration45Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration50Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration55Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration60Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration65Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration70Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration75Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration80Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration85Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration90Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration95Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration100Celcius.Enabled      = true;
                btnPCBACalibrationManualCalibrationCalibrateOffset.Enabled      = true;
                btnPCBACalibrationManualCalibrationGetCalibrationOffset.Enabled = true;

                btnCableCalibrationGetCableCalibrationData.Enabled = true;
                btnCableCalibrationSaveCalibrationData.Enabled     = true;
                btnCableCalibrationStartCableCalibration.Enabled   = true;
                btnClearCableCalibrationResults.Enabled            = true;
                btnCableCalibrationSetCableCompensationResistanceCapacitance.Enabled = true;

                btnPrecisorCompensationGetPrecisorCapacitanceCompensation.Enabled  = true;
                btnPrecisorCompensationSavePrecisorCapacitanceCompensation.Enabled = true;
                btnPrecisorCompensationSetPrecisorCapacitanceCompensation.Enabled  = true;

                btnDebugEEPROMWrite.Enabled                     = true;
                btnDebugEEPROMRead.Enabled                      = true;
                btnDebugDACWrite.Enabled                        = true;
                btnDebugDACRead.Enabled                         = true;
                btnDebugADCWrite.Enabled                        = true;
                btnDebugADCRead.Enabled                         = true;
                btnDebugMUXSetMUXSwitch.Enabled                 = true;
                btnDebugMUXGetCapacitanceReading.Enabled        = true;
                btnDebugMUXGetProcessorStatus.Enabled           = true;
                btnDebugTemperatureGetTemperatures.Enabled      = true;
                btnDebugTemperatureStop.Enabled                 = true;
                btnDebugADCVoltageGetADCVoltages.Enabled        = true;
                btnDebugADCVoltageStop.Enabled                  = true;
                btnDebugBiasSensingGetBiasVoltages.Enabled      = true;
                btnDebugBiasSensingGetSensingVoltages.Enabled   = true;
                btnDebugResistanceCapacitanceGetResults.Enabled = true;

                btnStartManufacturingTest.Enabled = true;
            });
        }
예제 #12
0
        private void UserChanged(object sender, EventArgs e)
        {
            try
            {
                UIUtility.BeginInvoke(this, () =>
                {
                    btnLogout.Enabled = (_userAccess.getCurrentUser() != _userAccess.DefaultUser);
                    txtUserName.Text  = _userAccess.getCurrentUser().Name;

                    UserLevel level = _userAccess.getCurrentUser().Level;

                    XyratexOSC.Logging.Log.Info(this, "User:{0} from user group:{1} has logged in.", _userAccess.getCurrentUser().Name, level.ToString());

                    TabPage tabPageApplicationSettings       = MainForm.getTabControl().TabPages[9] as TabPage;
                    TabControl tabControlApplicationSettings = tabPageApplicationSettings.Controls.Find("tabControlApplicationSettings", true).FirstOrDefault() as TabControl;

                    (MainForm.getTabControl().TabPages[0] as Control).Enabled = true;  // Bench Tests tab
                    (MainForm.getTabControl().TabPages[1] as Control).Enabled = true;  // Functional Tests tab
                    (MainForm.getTabControl().TabPages[8] as Control).Enabled = true;  // Desktop Tests tab

                    switch (level)
                    {
                    case UserLevel.Monitor:
                    case UserLevel.Operator:
                        userIcon.Image = Properties.Resources.UserOperator;
                        (MainForm.getTabControl().TabPages[2] as Control).Enabled      = false; // Configurwtion & Setup tab
                        (MainForm.getTabControl().TabPages[3] as Control).Enabled      = false; // PCBA Calibration tab
                        (MainForm.getTabControl().TabPages[4] as Control).Enabled      = false; // Cable Calibration tab
                        (MainForm.getTabControl().TabPages[5] as Control).Enabled      = false; // Precisor Compensation tab
                        (MainForm.getTabControl().TabPages[6] as Control).Enabled      = false; // Debug tab
                        (MainForm.getTabControl().TabPages[7] as Control).Enabled      = false; // ServoCalibration tab
                        (MainForm.getTabControl().TabPages[9] as Control).Enabled      = false; // Application Settings tab
                        (tabControlApplicationSettings.TabPages[0] as Control).Enabled = false; // COM Port tab
                        (tabControlApplicationSettings.TabPages[1] as Control).Enabled = false; // User Accounts tab
                        break;

                    case UserLevel.Engineer:
                        userIcon.Image = Properties.Resources.UserEngineer;
                        (MainForm.getTabControl().TabPages[2] as Control).Enabled      = true;  // Configurwtion & Setup tab
                        (MainForm.getTabControl().TabPages[3] as Control).Enabled      = true;  // PCBA Calibration tab
                        (MainForm.getTabControl().TabPages[4] as Control).Enabled      = true;  // Cable Calibration tab
                        (MainForm.getTabControl().TabPages[5] as Control).Enabled      = true;  // Precisor Compensation tab
                        (MainForm.getTabControl().TabPages[6] as Control).Enabled      = true;  // Debug tab
                        (MainForm.getTabControl().TabPages[7] as Control).Enabled      = true;  // ServoCalibration tab
                        (MainForm.getTabControl().TabPages[9] as Control).Enabled      = true;  // Application Settings tab
                        (tabControlApplicationSettings.TabPages[0] as Control).Enabled = true;  // COM Port tab
                        (tabControlApplicationSettings.TabPages[1] as Control).Enabled = false; // User Accounts tab
                        break;

                    case UserLevel.Administrator:
                        userIcon.Image = Properties.Resources.UserAdministrator;
                        (MainForm.getTabControl().TabPages[2] as Control).Enabled      = true;  // Configurwtion & Setup tab
                        (MainForm.getTabControl().TabPages[3] as Control).Enabled      = true;  // PCBA Calibration tab
                        (MainForm.getTabControl().TabPages[4] as Control).Enabled      = true;  // Cable Calibration tab
                        (MainForm.getTabControl().TabPages[5] as Control).Enabled      = true;  // Precisor Compensation tab
                        (MainForm.getTabControl().TabPages[6] as Control).Enabled      = true;  // Debug tab
                        (MainForm.getTabControl().TabPages[7] as Control).Enabled      = true;  // ServoCalibration tab
                        (MainForm.getTabControl().TabPages[9] as Control).Enabled      = true;  // Application Settings tab
                        (tabControlApplicationSettings.TabPages[0] as Control).Enabled = true;  // COM Port tab
                        (tabControlApplicationSettings.TabPages[1] as Control).Enabled = true;  // User Accounts tab
                        break;
                    }
                });
            }
            catch { }
        }
예제 #13
0
        private void enableAllAPIButtons()
        {
            UIUtility.BeginInvoke(this, () =>
            {
                Cursor.Current = Cursors.Default;
                btnBenchTestsContinuousMeasure.Enabled = true;
                btnBenchTestsMultipleMeasure.Enabled   = true;
                btnBenchTestsSingleMeasure.Enabled     = true;
                btnBenchTestsStopMeasure.Enabled       = true;
                btnBenchTestsClearDisplay.Enabled      = true;

                btnFunctionalTestsStartSelfTests.Enabled = true;
                btnFunctionalTestsSaveTestRecord.Enabled = true;
                btnFunctionalTestsClearDisplay.Enabled   = true;

                btnConfigurationSaveConfiguration.Enabled = true;

                btnPCBACalibrationStartAutoCalibration.Enabled = true;
                btnPCBACalibrationGetCalibrationData.Enabled   = true;
                btnPCBACalibrationClearDisplay.Enabled         = true;
                btnPCBACalibrationSaveCalibrationData.Enabled  = true;

                btnPCBACalibrationManualCalibration0Ohm.Enabled                 = true;
                btnPCBACalibrationManualCalibration10Ohm.Enabled                = true;
                btnPCBACalibrationManualCalibration100Ohm.Enabled               = true;
                btnPCBACalibrationManualCalibration500Ohm.Enabled               = true;
                btnPCBACalibrationManualCalibration1000Ohm.Enabled              = true;
                btnPCBACalibrationManualCalibration10000Ohm.Enabled             = true;
                btnPCBACalibrationManualCalibration100pF.Enabled                = true;
                btnPCBACalibrationManualCalibration270pF.Enabled                = true;
                btnPCBACalibrationManualCalibration470pF.Enabled                = true;
                btnPCBACalibrationManualCalibration680pF.Enabled                = true;
                btnPCBACalibrationManualCalibration820pF.Enabled                = true;
                btnPCBACalibrationManualCalibration10nF.Enabled                 = true;
                btnPCBACalibrationTemperatureCalibration5Celcius.Enabled        = true;
                btnPCBACalibrationTemperatureCalibration10Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration15Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration20Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration25Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration30Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration35Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration40Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration45Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration50Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration55Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration60Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration65Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration70Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration75Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration80Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration85Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration90Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration95Celcius.Enabled       = true;
                btnPCBACalibrationTemperatureCalibration100Celcius.Enabled      = true;
                btnPCBACalibrationManualCalibrationCalibrateOffset.Enabled      = true;
                btnPCBACalibrationManualCalibrationGetCalibrationOffset.Enabled = true;

                btnCableCalibrationGetCableCalibrationData.Enabled = true;
                btnCableCalibrationSaveCalibrationData.Enabled     = true;
                btnCableCalibrationStartCableCalibration.Enabled   = true;
                btnClearCableCalibrationResults.Enabled            = true;
                btnCableCalibrationSetCableCompensationResistanceCapacitance.Enabled = true;

                btnPrecisorCompensationGetPrecisorCapacitanceCompensation.Enabled  = true;
                btnPrecisorCompensationSavePrecisorCapacitanceCompensation.Enabled = true;
                btnPrecisorCompensationSetPrecisorCapacitanceCompensation.Enabled  = true;

                btnDebugEEPROMWrite.Enabled                     = true;
                btnDebugEEPROMRead.Enabled                      = true;
                btnDebugDACWrite.Enabled                        = true;
                btnDebugDACRead.Enabled                         = true;
                btnDebugADCWrite.Enabled                        = true;
                btnDebugADCRead.Enabled                         = true;
                btnDebugMUXSetMUXSwitch.Enabled                 = true;
                btnDebugMUXGetCapacitanceReading.Enabled        = true;
                btnDebugMUXGetProcessorStatus.Enabled           = true;
                btnDebugTemperatureGetTemperatures.Enabled      = true;
                btnDebugTemperatureStop.Enabled                 = true;
                btnDebugADCVoltageGetADCVoltages.Enabled        = true;
                btnDebugADCVoltageStop.Enabled                  = true;
                btnDebugBiasSensingGetBiasVoltages.Enabled      = true;
                btnDebugBiasSensingGetSensingVoltages.Enabled   = true;
                btnDebugResistanceCapacitanceGetResults.Enabled = true;

                btnServoCalibrationAllMoveToStandbyPosition.Enabled = true;
                btnServoCalibrationDesktopTesterConnect.Enabled     = true;
                btnServoCalibrationDesktopTesterDisconnect.Enabled  = true;
                btnServoCalibrationDownTabOff.Enabled             = true;
                btnServoCalibrationDownTabOn.Enabled              = true;
                btnServoCalibrationFlattenerExtend1.Enabled       = true;
                btnServoCalibrationFlattenerRetract1.Enabled      = true;
                btnServoCalibrationFlattenerExtend2.Enabled       = true;
                btnServoCalibrationFlattenerRetract2.Enabled      = true;
                btnServoCalibrationGetAllCurrentPositions.Enabled = true;
                btnServoCalibrationGetAllInputs.Enabled           = true;
                btnServoCalibrationHomeAll.Enabled       = true;
                btnServoCalibrationHomePrecisor.Enabled  = true;
                btnServoCalibrationHomeTestProbe.Enabled = true;
                btnServoCalibrationJogCCW.Enabled        = true;
                btnServoCalibrationJogCW.Enabled         = true;
                btnServoCalibrationJogDown.Enabled       = true;
                btnServoCalibrationJogToInside.Enabled   = true;
                btnServoCalibrationJogToLeft.Enabled     = true;
                btnServoCalibrationJogToOutside.Enabled  = true;
                btnServoCalibrationJogToRight.Enabled    = true;
                btnServoCalibrationJogUp.Enabled         = true;
                btnServoCalibrationLoadHGAs.Enabled      = true;
                btnServoCalibrationMovePrecisorToFlatDownTabPosition.Enabled = true;
                btnServoCalibrationMovePrecisorToFlatUpTabPosition.Enabled   = true;
                btnServoCalibrationMovePrecisorToLoadUnloadPosition.Enabled  = true;
                btnServoCalibrationMovePrecisorToStandbyPosition.Enabled     = true;
                btnServoCalibrationMovePrecisorToTargetPosition.Enabled      = true;
                btnServoCalibrationMovePrecisorToTestDownTabPosition.Enabled = true;
                btnServoCalibrationMovePrecisorToTestUpTabPosition.Enabled   = true;
                btnServoCalibrationMoveProbeToDownTabPosition.Enabled        = true;
                btnServoCalibrationMoveProbeToStandbyPosition.Enabled        = true;
                btnServoCalibrationMoveProbeToTargetPosition.Enabled         = true;
                btnServoCalibrationMoveProbeToUpTabPosition.Enabled          = true;
                btnServoCalibrationEjectHGAs.Enabled = true;
                btnServoCalibrationSaveAndDownloadCalibrationData.Enabled = true;
                btnServoCalibrationServoOff.Enabled = true;
                btnServoCalibrationTeachPrecisorFlatDownTabPosition.Enabled = true;
                btnServoCalibrationTeachPrecisorFlatUpTabPosition.Enabled   = true;
                btnServoCalibrationTeachPrecisorLoadUnloadPosition.Enabled  = true;
                btnServoCalibrationTeachPrecisorStandbyPosition.Enabled     = true;
                btnServoCalibrationTeachPrecisorTestDownTabPosition.Enabled = true;
                btnServoCalibrationTeachPrecisorTestUpTabPosition.Enabled   = true;
                btnServoCalibrationTeachProbeDownTabPosition.Enabled        = true;
                btnServoCalibrationTeachProbeStandbyPosition.Enabled        = true;
                btnServoCalibrationTeachProbeUpTabPosition.Enabled          = true;
                btnServoCalibrationUpTabOff.Enabled = true;
                btnServoCalibrationUpTabOn.Enabled  = true;

                btnDesktopTestsClearDisplay.Enabled            = true;
                btnDesktopTestsConnectDesktopTester.Enabled    = true;
                btnDesktopTestsContinuousMeasure.Enabled       = true;
                btnDesktopTestsDisconnectDesktopTester.Enabled = true;
                btnDesktopTestsMultipleMeasure.Enabled         = true;
                btnDesktopTestsSingleMeasure.Enabled           = true;
                btnDesktopTestsStopMeasure.Enabled             = true;
            });
        }