UserCalibrationTask GetData(UserCalibrationTask.Calibrating currentlyCalibrating, int waitTime) { var task = new UserCalibrationTask(currentlyCalibrating); var manager = new MyomiTaskManager((1000 / 50), task); var taskThread = new Thread(manager.Run); Console.WriteLine("Starting new Manager task"); //we are giving the users 5 seconds to calibrate their arm motion taskThread.Start(); CommonOperations.Sleep(waitTime); manager.StopExecution = true; return(task); }
private List <MyoData> GetData() { var task = new GestureCreatorTask(); var manager = new MyomiTaskManager((1000 / 20), task); var taskThread = new Thread(manager.Run); taskThread.Start(); Console.WriteLine("To start recording, please perform the double tap gesture at rest"); Console.WriteLine("To finish recording, please perform the double tap gesture at rest"); //we will put this thread in an infinite loop until it has finished while (!manager.StopExecution) { } return(task.GetData()); }
public void Run() { Console.WriteLine("The program is now running profile {0}", Context.Instance.CurrentProfile.Name); Console.WriteLine("Please press enter to start"); Console.ReadLine(); var task = new GestureMatchingTask(); var manager = new MyomiTaskManager((1000 / 20), task); var taskThread = new Thread(manager.Run); taskThread.Start(); Console.WriteLine("To stop, press enter"); Console.ReadLine(); manager.StopExecution = true; Console.WriteLine("The task has stopped, returning back to main menu"); }
private bool CalibrateGesture(MyomiGesture gesture, MyomiGestureOptions options) { var task = new GestureCreatorMatchingTask(gesture.SegmentsWithOptions, options); var manager = new MyomiTaskManager(Context.Instance.DefaultFrequency, task); for (int i = 0; i < 3 || task.Matched; i++) { var taskThread = new Thread(manager.Run); taskThread.Start(); //sleep until it has finished while (!manager.StopExecution) { } if (!task.Matched) { return(false); } } return(true); }