ThreadEnded() public static method

public static ThreadEnded ( ) : void
return void
示例#1
0
    private bool PulseGTK()
    {
        if (cancel || !thread.IsAlive)
        {
            LogB.ThreadEnding();

            if (cancel)
            {
                thread.Abort();
            }

            LogB.Information("Connected = " + connectedNormalChronopic.ToString());

            FakeButtonDone.Click();             //send signal to gui/chronojump.cs to read Detected
            Detecting = false;

            LogB.ThreadEnded();
            return(false);
        }

        progressbar.Pulse();

        if (needToChangeProgressbarText)
        {
            progressbar.Text            = Constants.ChronopicNeedTouch;
            needToChangeProgressbarText = false;
        }

        Thread.Sleep(50);
        LogB.Debug(thread.ThreadState.ToString());
        return(true);
    }
示例#2
0
    private bool pulseWebcamGTK()
    {
        if (webcamStartThreadBeforeTestStatus == statusEnum.NOT_STARTED)
        {
            label_video_feedback_text(WebcamManage.GuiContactsEncoder.CONTACTS, "Initializing camera.");
            pulsebar_webcam.Visible           = true;
            webcamStartThreadBeforeTestStatus = statusEnum.STARTING;
        }

        if (!webcamStartThread.IsAlive)
        {
            pulsebar_webcam.Visible = false;
            if (webcamStartThreadBeforeTestStatus == statusEnum.FAILURE)
            {
                label_video_feedback_text(WebcamManage.GuiContactsEncoder.CONTACTS, "Problems starting camera.");
            }
            else if (webcamStartThreadBeforeTestStatus == statusEnum.SUCCESS)
            {
                webcamManage.ReallyStarted = true;
                label_video_feedback_text(WebcamManage.GuiContactsEncoder.CONTACTS, "Recording ...");
            }

            on_button_execute_test_accepted();

            LogB.ThreadEnded();
            return(false);
        }

        pulsebar_webcam.Fraction = Util.DivideSafeFraction(swWebcamStart.Elapsed.TotalSeconds, 10);
        Thread.Sleep(50);
        //LogB.Debug(webcamStartThread.ThreadState.ToString());
        return(true);
    }
示例#3
0
    protected bool PulseGTK()
    {
        onTimer();

        //thread is (in jump, as an example), started in Manage:
        //thread = new Thread(new ThreadStart(waitEvent));
        //GLib.Idle.Add (new GLib.IdleHandler (PulseGTK));
        //thread.Start();
        //
        //when waitEvent it's done (with success, for example)
        //then thread is dead

        if (!thread.IsAlive || cancel)
        {
            LogB.ThreadEnding();
            fakeButtonThreadDyed.Click();

            LogB.ThreadEnded();
            return(false);
        }

        Thread.Sleep(50);
        //LogB.Debug(thread.ThreadState.ToString());
        return(true);
    }
示例#4
0
    protected bool PulseGTK()
    {
        if (quitNow)
        {
            return(false);
        }

        //if( ( needEndSplashWin && pingEnd )
        //		|| ! thread.IsAlive) {
        if (needEndSplashWin || !thread.IsAlive)
        {
            LogB.ThreadEnding();
            fakeSplashButton.Click();

            LogB.Information("splash window ending here");
            LogB.ThreadEnded();
            return(false);
        }
        //need to do this, if not it crashes because chronopicWin gets died by thread ending
        splashWin = SplashWindow.Show();
        //Log.WriteLine("splash");

        if (updatingDB)
        {
            splashWin.ShowProgressbar("updating");
            splashWin.UpdateLabel(splashMessage + " " + Sqlite.PrintConversionText());

            splashWin.UpdateProgressbar("version", Sqlite.PrintConversionVersion());
            splashWin.UpdateProgressbar("rate", Sqlite.PrintConversionRate());
            splashWin.UpdateProgressbar("subrate", Sqlite.PrintConversionSubRate());
        }
        else if (creatingDB)
        {
            splashWin.ShowProgressbar("creating");
            splashWin.UpdateProgressbar("version", Sqlite.PrintCreation());

            //splashWin.UpdateProgressbar("rate", Sqlite.PrintConversionRate());
            splashWin.UpdateProgressbar("subrate", Sqlite.PrintConversionSubRate());
        }

        if (needUpdateSplashMessage)
        {
            splashWin.UpdateLabel(splashMessage);
            needUpdateSplashMessage = false;
        }


        Thread.Sleep(50);
        //Log.Write(" (PulseGTK:" + thread.ThreadState.ToString() + ") ");
        return(true);
    }
示例#5
0
    private bool PulseGTK()
    {
        if (!thread.IsAlive)
        {
            LogB.ThreadEnding();
            endPulse();

            LogB.ThreadEnded();
            return(false);
        }

        pulsebar.Pulse();
        Thread.Sleep(50);
        //LogB.Debug(thread.ThreadState.ToString());
        return(true);
    }
示例#6
0
    bool pulseConnectContactsReal()
    {
        if (!connectContactsRealThread.IsAlive)
        {
            progressbar.Fraction = 1.0;
            LogB.ThreadEnding();
            connectContactsRealEnd();
            LogB.ThreadEnded();

            return(false);
        }

        progressbar.Pulse();
        Thread.Sleep(50);
        return(true);
    }
示例#7
0
    protected bool PulseGTK()
    {
        if (needUpdateChronopicWin || !thread.IsAlive)
        {
            LogB.ThreadEnding();
            fakeConnectionButton.Click();
            pulseEnd();

            LogB.ThreadEnded();
            return(false);
        }
        //need to do this, if not it crashes because chronopicConnectionWin gets died by thread ending
        //chronopicConnectionWin = ChronopicConnection.Show();
        //chronopicConnectionWin.Pulse();
        progressbar.Pulse();

        Thread.Sleep(50);
        LogB.Debug(thread.ThreadState.ToString());
        return(true);
    }
示例#8
0
    private bool pulseGTKRunEncoderCapture()
    {
        LogB.Information(" fc A ");
        if (runEncoderCaptureThread == null)
        {
            Thread.Sleep(25);
            return(true);
        }

        LogB.Information(" fc B ");
        //LogB.Information(capturingRunEncoder.ToString())
        if (!runEncoderCaptureThread.IsAlive || runEncoderProcessFinish || runEncoderProcessCancel || runEncoderProcessError)
        {
            LogB.Information(" fc C ");
            if (runEncoderProcessFinish)
            {
                LogB.Information(" fc C finish");
                if (capturingRunEncoder != arduinoCaptureStatus.COPIED_TO_TMP)
                {
                    Thread.Sleep(25);                      //Wait file is copied
                    return(true);
                }
                else
                {
                    event_execute_label_message.Text = "Saved." + captureEndedMessage;
                    Thread.Sleep(250);                      //Wait a bit to ensure is copied

                    runEncoderAnalyzeOpenImage();
                    notebook_analyze.CurrentPage         = Convert.ToInt32(notebook_analyze_pages.RACEENCODER);
                    notebook_capture_analyze.CurrentPage = 1;

                    /*
                     * fscPoints.InitRealWidthHeight();
                     * forceSensorDoSignalGraphPlot();
                     * forceSensorDoRFDGraph();
                     *
                     * //if drawingarea has still not shown, don't paint graph because GC screen is not defined
                     * if(force_sensor_ai_drawingareaShown)
                     *      forceSensorDoGraphAI();
                     */
                }
                LogB.Information(" fc C finish 2");
            }
            else if (runEncoderProcessCancel || runEncoderProcessError)
            {
                LogB.Information(" fc C cancel ");
                if (runEncoderProcessCancel)
                {
                    event_execute_label_message.Text = "Cancelled.";
                }
                else
                {
                    event_execute_label_message.Text = runEncoderNotConnectedString;
                }
                LogB.Information(" fc C cancel 2");
            }
            else
            {
                event_execute_label_message.Text = "";
            }

            LogB.ThreadEnding();

            /*
             * ensure runEncoderCaptureThread is ended:
             * called: portRE.WriteLine("end_capture:");
             * and received feedback from device
             */
            while (runEncoderCaptureThread.IsAlive)
            {
                Thread.Sleep(250);
            }
            LogB.Information(" fc D ");

            LogB.ThreadEnded();

            runEncoderButtonsSensitive(true);

            /*
             * button_force_sensor_image_save_signal.Sensitive = true;
             * button_force_sensor_analyze_recalculate.Sensitive = true;
             */

            //finish, cancel: sensitive = false
            hideButtons();

            restTime.AddOrModify(currentPerson.UniqueID, currentPerson.Name, true);
            updateRestTimes();

            return(false);
        }

        LogB.Information(" fc E ");

/*
 *              if(forceCaptureStartMark)
 *              {
 *                      event_execute_label_message.Text = "Capturing ...";
 *                      forceCaptureStartMark = false;
 *              }
 */
        LogB.Information(" fc F ");

        if (capturingRunEncoder == arduinoCaptureStatus.CAPTURING)
        {
            LogB.Information(" fc G ");


            LogB.Information(" fc H2 ");

/*
 *                      if(usbDisconnectedLastTime == forceSensorValues.TimeLast)
 *                      {
 *                              usbDisconnectedCount ++;
 *                              if(usbDisconnectedCount >= 20)
 *                              {
 *                                      event_execute_label_message.Text = "Disconnected!";
 *                                      runEncoderProcessError = true;
 *                                      return true;
 *                              }
 *                      }
 *                      else
 *                      {
 *                              usbDisconnectedLastTime = forceSensorValues.TimeLast;
 *                              usbDisconnectedCount = 0;
 *                      }
 */

            LogB.Information(" fc I ");

            LogB.Information(" fc Q ");
        }
        LogB.Information(" fc R ");

        Thread.Sleep(25);
        //LogB.Information(" RunEncoder:"+ runEncoderCaptureThread.ThreadState.ToString());
        return(true);
    }