7921d3bb2a
git-svn-id: file:///srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories/svn/Diplomarbeit@102 9fe90eed-be63-e94b-8204-d34ff4c2ff93
247 lines
9.3 KiB
C#
247 lines
9.3 KiB
C#
/* ---------------------------------------------------------------------------
|
|
* test_control.cs (c) 2009 Micro-key bv
|
|
* ---------------------------------------------------------------------------
|
|
* Micro-key bv
|
|
* Industrieweg 28, 9804 TG Noordhorn
|
|
* Postbus 92, 9800 AB Zuidhorn
|
|
* The Netherlands
|
|
* Tel: +31 594 503020
|
|
* Fax: +31 594 505825
|
|
* Email: support@microkey.nl
|
|
* Web: www.microkey.nl
|
|
* ---------------------------------------------------------------------------
|
|
* Description: This file handles all Actions of the "Test" Group
|
|
* ---------------------------------------------------------------------------
|
|
* Version(s): 0.1, Jan 08, 2009, MMi
|
|
* Creation.
|
|
* ---------------------------------------------------------------------------
|
|
*/
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* System use files
|
|
* ---------------------------------------------------------------------------
|
|
*/
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
using System.IO.Ports;
|
|
using System.Threading;
|
|
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Local function definitions
|
|
* ---------------------------------------------------------------------------
|
|
*/
|
|
|
|
namespace QUA_2475_designtest
|
|
{
|
|
public partial class mainWindow
|
|
{
|
|
private void TestIsUntested(System.UInt32 TestID)
|
|
{
|
|
/* Resets the to the parameter corresponding Textbox */
|
|
TestTextBoxes[TestID].Text = "untested";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.White;
|
|
}
|
|
|
|
private void TestIsActive(System.UInt32 TestID)
|
|
{
|
|
/* Sets status of the corresponding TextBox to active */
|
|
TestTextBoxes[TestID].Text = "Active";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.Yellow;
|
|
}
|
|
|
|
private void TestIsPassed(System.UInt32 TestID)
|
|
{
|
|
/* Sets status of the corresponding TextBox to a passed test */
|
|
TestTimeoutThread.Abort(); /* Abort Timeout Thread */
|
|
TestTextBoxes[TestID].Text = "Passed";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.Green;
|
|
|
|
/* If Test was called by automatic test routine, go back there */
|
|
if (activeAutomatictest == true)
|
|
{
|
|
//automaticTest();
|
|
}
|
|
}
|
|
|
|
private void TestIsFailed(System.UInt32 TestID)
|
|
{
|
|
/* Sets status of the corresponding TextBox to a failed test */
|
|
TestTimeoutThread.Abort(); /* Abort Timeout Thread */
|
|
TestTextBoxes[TestID].Text = "Failed";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.Red;
|
|
|
|
/* If Test was called by automatic test routine, go back there */
|
|
if (activeAutomatictest == true)
|
|
{
|
|
//automaticTest();
|
|
}
|
|
}
|
|
|
|
private void TestIsUnavailable(System.UInt32 TestID)
|
|
{
|
|
/* Sets status of the corresponding TextBox to unreachable test */
|
|
TestTimeoutThread.Abort(); /* Abort Timeout Thread */
|
|
TestTextBoxes[TestID].Text = "unavailable";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.CornflowerBlue;
|
|
|
|
/* If Test was called by automatic test routine, go back there */
|
|
if (activeAutomatictest == true)
|
|
{
|
|
//automaticTest();
|
|
}
|
|
}
|
|
|
|
delegate void TestIsTimeoutCallback(System.UInt32 TestID);
|
|
private void TestIsTimeout(System.UInt32 TestID)
|
|
{
|
|
/* Check if Application is called from a subThread */
|
|
if (this.TestTextBoxes[TestID].InvokeRequired)
|
|
{
|
|
/* Handle Parameters to main Thread */
|
|
TestIsTimeoutCallback d = new TestIsTimeoutCallback(TestIsTimeout);
|
|
this.Invoke(d, new object[] { TestID });
|
|
}
|
|
else
|
|
{
|
|
/* Set corresponding TextBox to Timeout Status */
|
|
TestTextBoxes[TestID].Text = "Timeout";
|
|
TestTextBoxes[TestID].BackColor = System.Drawing.Color.DarkOrange;
|
|
activeTest = false;
|
|
|
|
/* If Test was called by automatic test routine, go there */
|
|
if (activeAutomatictest == true)
|
|
{
|
|
//automaticTest();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void B_test_MB_LED_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.MB_LED);
|
|
}
|
|
|
|
private void B_test_MB_EEPROM_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.MB_EEPROM);
|
|
}
|
|
|
|
private void B_test_eth0_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.ETH0);
|
|
}
|
|
|
|
private void B_test_eth1_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.ETH1);
|
|
}
|
|
|
|
private void B_test_CF_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.CF);
|
|
}
|
|
|
|
private void B_test_USB_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.USB);
|
|
}
|
|
|
|
private void B_test_MB_DIO_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.MB_DIO);
|
|
}
|
|
|
|
private void B_test_MB_AIO_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.MB_AIO);
|
|
}
|
|
|
|
private void B_test_MB_RLY_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.MB_RLY);
|
|
}
|
|
|
|
private void B_test_CAN_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.CAN);
|
|
}
|
|
|
|
private void B_test_EB_LED_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.EB_LED);
|
|
}
|
|
|
|
private void B_test_EB_EEPROM_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.EB_EEPROM);
|
|
}
|
|
|
|
private void B_test_EB_DIO_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.EB_DIO);
|
|
}
|
|
|
|
private void B_test_EB_AIO_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.EB_AIO);
|
|
}
|
|
|
|
private void B_test_EB_RLY_Click(object sender, EventArgs e)
|
|
{
|
|
/* CallTestRoutine corresponding TestResult with Parameter */
|
|
CallTestRoutine((int)TestType.EB_RLY);
|
|
}
|
|
|
|
private void B_test_clear_Click(object sender, EventArgs e)
|
|
{
|
|
/* If no Test is Active: */
|
|
if (activeTest == false)
|
|
{
|
|
/* Reset all Test TextBoxes to untested status */
|
|
for (uint loopcnt = 0; loopcnt < NrOfTests; loopcnt++)
|
|
{
|
|
T_MasterOutput.BackColor = System.Drawing.Color.White;
|
|
TestIsUntested(loopcnt);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private void CallTestRoutine(uint TestID)
|
|
{
|
|
/* Call Test just if no other Test is active */
|
|
if (activeTest == false)
|
|
{
|
|
actualTest = TestID; /* Set actual Test ID to active Test*/
|
|
/* Define and Start Timeout Thread */
|
|
TestTimeoutThread = new Thread(new ThreadStart(TimeoutThread));
|
|
TestTimeoutThread.Start();
|
|
|
|
activeTest = true; /* Set Test to global active */
|
|
com1.Write(TestCallCommands[actualTest]); /* Call Test */
|
|
TestIsActive(actualTest); /* Set Test TextBox */
|
|
}
|
|
}
|
|
}
|
|
}
|