Пример #1
0
        public WearMEBraceController(Device _epos, ElbowMotionTrackingController _motion_tracking_controller)
        {
            epos = _epos;
            motion_tracking_controller                = _motion_tracking_controller;
            brace_positions                           = new List <double>();
            brace_position_thread                     = new BracePositionThread();
            brace_position_worker                     = new BackgroundWorker();
            brace_position_worker.DoWork             += new DoWorkEventHandler(BracePositionWorker_DoWork);
            brace_position_worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BracePositionWorker_RunWorkerCompleted);
            brace_position_thread.epos                = _epos;
            brace_command_thread                      = new BraceCommandThread();
            brace_command_worker                      = new BackgroundWorker();
            brace_command_worker.DoWork              += new DoWorkEventHandler(BraceCommandWorker_DoWork);
            brace_command_worker.RunWorkerCompleted  += new RunWorkerCompletedEventHandler(BraceCommandWorker_RunWorkerCompleted);
            brace_command_thread.epos                 = _epos;
            brace_command_thread.command              = 1; //position
            stop_watch  = new Stopwatch();
            stop_watch2 = new Stopwatch();
            gear_ratio  = 713;

            //initialize background workers/threads
        }
Пример #2
0
        //public void CommandBraceThreadCall(int _position, int _velocity, int _command)
        //{
        //    brace_command_thread.position = _position;
        //    brace_command_thread.velocity = _velocity;
        //    brace_command_thread.command = _command;
        //    if (!epos.Equals(null))
        //    {
        //        if (!brace_command_worker.IsBusy)
        //        {
        //            stop_watch2.Start();
        //            brace_command_worker.RunWorkerAsync(brace_command_thread);
        //        }
        //    }
        //}

        private void BraceCommandWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            BraceCommandThread thread_call = (BraceCommandThread)e.Argument;

            e.Result = thread_call.SendCommand();
        }