コード例 #1
0
ファイル: FormMain.cs プロジェクト: fanmuzhi/Cypress
        private void buttonConnect_Click(object sender, EventArgs e)
        {
            try
            {
                //Instant Trackpad Function
                tp_function = new TrackpadFunction();
                tp_thread   = new StatesThread(tp_function);

                //Register Trackpad Event
                tp_function.STEvent += new TrackpadFunction.StateEventHandler(tp_function_STEvent);


                //Instant MultiMeter Fucntion
                mm_fucntion = new MutliMeterFunction();
                mm_thread   = new StatesThread(mm_fucntion);

                //Register MultiMeter Event
                mm_fucntion.STEvent += new MutliMeterFunction.StateEventHandler(mm_fucntion_STEvent);

                tp_thread.run();
                mm_thread.run();
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Error: " + ex.Message);

                tp_function = null;
                tp_thread   = null;


                mm_fucntion = null;
                mm_thread   = null;
            }
        }
コード例 #2
0
ファイル: FormMain.cs プロジェクト: countrymarmot/Cypress
        private void buttonConnect_Click(object sender, EventArgs e)
        {
            try
            {

                //Instant Trackpad Function
                tp_function = new TrackpadFunction();
                tp_thread = new StatesThread(tp_function);

                //Register Trackpad Event
                 tp_function.STEvent += new TrackpadFunction.StateEventHandler(tp_function_STEvent);

                //Instant MultiMeter Fucntion
                mm_fucntion = new MutliMeterFunction();
                mm_thread = new StatesThread(mm_fucntion);

                //Register MultiMeter Event
                mm_fucntion.STEvent += new MutliMeterFunction.StateEventHandler(mm_fucntion_STEvent);

                tp_thread.run();
                mm_thread.run();

            }
            catch (Exception ex)
            {
                Trace.WriteLine("Error: " + ex.Message);

                tp_function = null;
                tp_thread = null;

                mm_fucntion = null;
                mm_thread = null;
            }
        }
コード例 #3
0
        private void mm_fucntion_STEvent(object sender, StateMachineEventArgs e)
        {
            if (e.CurrentState == STATE.states.initialize)
            {
                if (e.PassOrFail)
                {
                    mm_ready = true;
                    if (tp_ready)
                    {
                        EnableButtonConnect(false);
                        EnableButtonSleep(true);
                        EnableButtonDeepSleep(true);
                    }
                }
            }

            if (e.CurrentState == STATE.states.exit)
            {
                try
                {
                    tp_thread.exit();

                    EnableButtonConnect(true);
                    EnableButtonSleep(false);
                    EnableButtonDeepSleep(false);

                    serialNumberScanned = false;
                    SetTxtBoxSN("");
                }
                catch { }



                mm_fucntion = null;
                mm_thread   = null;
            }
        }
コード例 #4
0
ファイル: FormMain.cs プロジェクト: fanmuzhi/Cypress
        /// <summary>
        /// The StateMachine EVENT of class MultiMeter
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mm_fucntion_STEvent(object sender, StateMachineEventArgs e)
        {
            //Multi-Meter Init
            if (e.CurrentState == STATE.states.initialize)
            {
                if (e.PassOrFail)
                {
                    mm_ready = true;
                    if (tp_ready)
                    {
                        EnableButtonConnect(false);
                        EnableButtonSleep(true);
                        EnableButtonDeepSleep(true);
                    }
                }
            }

            //Multi-Meter Exit
            if (e.CurrentState == STATE.states.exit)
            {
                if (tp_ready)
                {
                    try
                    {
                        EnableButtonConnect(true);
                        EnableButtonSleep(false);
                        EnableButtonDeepSleep(false);

                        serialNumberScanned = false;
                        SetTxtBoxSN("");

                        tp_thread.exit();
                    }
                    catch { }
                }


                mm_fucntion = null;
                mm_thread   = null;
                mm_ready    = false;
            }

            //sleep1 current
            if (e.CurrentState == STATE.states.MM_CalcSleep1Curr)
            {
                sleep1_test_done   = true;
                dut.IDDValue_Sleep = Convert.ToDouble(e.Message);

                SetListBoxStatus(false, "Sleep1 Current:" + e.Message + "uA");
                if (e.PassOrFail)
                {
                    SetTextBoxSleepResult("PASS", Color.Green);
                    //Log.info("[" + serialNumber + "]" + "Sleep1 PASS:\t\t\t" + e.Average.ToString() + "uA");
                }
                else
                {
                    SetTextBoxSleepResult("FAIL", Color.Red);
                    //Log.info("[" + serialNumber + "]" + "Sleep1 FAIL:\t\t\t" + e.Average.ToString() + "uA");

                    if (dut.ErrorCode == 0)
                    {
                        dut.ErrorCode += ErrorCode.ERROR_IDD_HIGH;
                    }

                    //No need to test the deep sleep.
                    deepsleep_test_done = true;
                }

                tp_thread.en_queue(STATE.states.TP_PowerOff);

                if (sleep1_test_done && deepsleep_test_done)
                {
                    serialNumberScanned = false;
                    SetTxtBoxSN("");

                    WriteTestReport();

                    if (Config.ONLINE)
                    {
                        UploadResult();
                    }

                    dut = null;
                }
            }

            //deep sleep current
            if (e.CurrentState == STATE.states.MM_CalcDeepSleepCurr)
            {
                deepsleep_test_done    = true;
                dut.IDDValue_DeepSleep = Convert.ToDouble(e.Message);

                SetListBoxStatus(false, "Deep Sleep Current:" + e.Message + "uA");
                if (e.PassOrFail)
                {
                    SetTextBoxDeepSleepResult("PASS", Color.Green);
                    //Log.info("[" + serialNumber + "]" + "Deep Sleep PASS:\t\t" + e.Average.ToString() + "uA");
                }
                else
                {
                    SetTextBoxDeepSleepResult("FAIL", Color.Red);
                    //Log.info("[" + serialNumber + "]" + "Deep Sleep FAIL:\t\t" + e.Average.ToString() + "uA");

                    if (dut.ErrorCode == 0)
                    {
                        dut.ErrorCode = ErrorCode.ERROR_IDD_LOW;
                    }

                    //No need to test the sleep1.
                    sleep1_test_done = true;
                }


                tp_thread.en_queue(STATE.states.TP_PowerOff);

                if (sleep1_test_done && deepsleep_test_done)
                {
                    serialNumberScanned = false;
                    SetTxtBoxSN("");

                    WriteTestReport();

                    if (Config.ONLINE)
                    {
                        UploadResult();
                    }

                    dut = null;
                }
            }

            if (e.CurrentState == STATE.states.MM_ReadCurr)
            {
                SetListBoxStatus(false, "Current: " + e.Message + "uA");
            }
        }
コード例 #5
0
ファイル: FormMain.cs プロジェクト: countrymarmot/Cypress
        /// <summary>
        /// The StateMachine EVENT of class MultiMeter
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mm_fucntion_STEvent(object sender, StateMachineEventArgs e)
        {
            //Multi-Meter Init
            if (e.CurrentState == STATE.states.initialize)
            {
                if (e.PassOrFail)
                {
                    mm_ready = true;
                    if (tp_ready)
                    {

                        EnableButtonConnect(false);
                        EnableButtonSleep(true);
                        EnableButtonDeepSleep(true);
                    }
                }
            }

            //Multi-Meter Exit
            if (e.CurrentState == STATE.states.exit)
            {

                if (tp_ready)
                {
                    try
                    {
                        EnableButtonConnect(true);
                        EnableButtonSleep(false);
                        EnableButtonDeepSleep(false);

                        serialNumberScanned = false;
                        SetTxtBoxSN("");

                        tp_thread.exit();
                    }
                    catch { }
                }

                mm_fucntion = null;
                mm_thread = null;
                mm_ready = false;
            }

            //sleep1 current
            if (e.CurrentState == STATE.states.MM_CalcSleep1Curr)
            {
                sleep1_test_done = true;
                dut.IDDValue_Sleep = Convert.ToDouble(e.Message);

                SetListBoxStatus(false, "Sleep1 Current:" + e.Message + "uA");
                if (e.PassOrFail)
                {
                    SetTextBoxSleepResult("PASS", Color.Green);
                    //Log.info("[" + serialNumber + "]" + "Sleep1 PASS:\t\t\t" + e.Average.ToString() + "uA");

                }
                else
                {
                    SetTextBoxSleepResult("FAIL", Color.Red);
                    //Log.info("[" + serialNumber + "]" + "Sleep1 FAIL:\t\t\t" + e.Average.ToString() + "uA");

                    if (dut.ErrorCode == 0)
                    {
                        dut.ErrorCode += ErrorCode.ERROR_IDD_HIGH;
                    }

                    //No need to test the deep sleep.
                    deepsleep_test_done = true;
                }

                tp_thread.en_queue(STATE.states.TP_PowerOff);

                if (sleep1_test_done && deepsleep_test_done)
                {
                    serialNumberScanned = false;
                    SetTxtBoxSN("");

                    WriteTestReport();

                    if (Config.ONLINE)
                    {
                        UploadResult();
                    }

                    dut = null;
                }
            }

            //deep sleep current
            if (e.CurrentState==STATE.states.MM_CalcDeepSleepCurr)
            {
                deepsleep_test_done = true;
                dut.IDDValue_DeepSleep = Convert.ToDouble(e.Message);

                SetListBoxStatus(false, "Deep Sleep Current:" + e.Message + "uA");
                if (e.PassOrFail)
                {
                    SetTextBoxDeepSleepResult("PASS", Color.Green);
                    //Log.info("[" + serialNumber + "]" + "Deep Sleep PASS:\t\t" + e.Average.ToString() + "uA");

                }
                else
                {
                    SetTextBoxDeepSleepResult("FAIL", Color.Red);
                    //Log.info("[" + serialNumber + "]" + "Deep Sleep FAIL:\t\t" + e.Average.ToString() + "uA");

                    if (dut.ErrorCode == 0)
                    {
                        dut.ErrorCode = ErrorCode.ERROR_IDD_LOW;
                    }

                    //No need to test the sleep1.
                    sleep1_test_done = true;
                }

                tp_thread.en_queue(STATE.states.TP_PowerOff);

                if (sleep1_test_done && deepsleep_test_done)
                {
                    serialNumberScanned = false;
                    SetTxtBoxSN("");

                    WriteTestReport();

                    if (Config.ONLINE)
                    {
                        UploadResult();
                    }

                    dut = null;
                }
            }

            if (e.CurrentState == STATE.states.MM_ReadCurr)
            {
                SetListBoxStatus(false, "Current: " + e.Message + "uA");
            }
        }
コード例 #6
0
ファイル: FormMain.cs プロジェクト: countrymarmot/Cypress
        private void mm_fucntion_STEvent(object sender, StateMachineEventArgs e)
        {
            if (e.CurrentState == STATE.states.initialize)
            {
                if (e.PassOrFail)
                {
                    mm_ready = true;
                    if (tp_ready)
                    {

                        EnableButtonConnect(false);
                        EnableButtonSleep(true);
                        EnableButtonDeepSleep(true);
                    }
                }
            }

            if (e.CurrentState == STATE.states.exit)
            {
                try
                {
                    tp_thread.exit();

                    EnableButtonConnect(true);
                    EnableButtonSleep(false);
                    EnableButtonDeepSleep(false);

                    serialNumberScanned = false;
                    SetTxtBoxSN("");
                }
                catch { }

                mm_fucntion = null;
                mm_thread = null;
            }
        }