protected virtual void OnPose(PoseEventArgs e) { if (Pose != null) { Pose(this, e); } }
private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.SetCursorPosition(0, 11); ClearCurrentConsoleLine(); Console.Write("Myo del brazo {0} detecto la pose {1}!", e.Myo.Arm, e.Myo.Pose); if (e.Myo.Pose.Equals(Pose.DoubleTap) || e.Myo.Pose.Equals(Pose.FingersSpread)) { Console.SetCursorPosition(0, 12); ClearCurrentConsoleLine(); bool togglePlay = Player.TogglePlay(); Console.WriteLine("Musica on/off: " + togglePlay); e.Myo.Vibrate(VibrationType.Long); } if (e.Myo.Pose.Equals(Pose.WaveOut)) { Player.Stop(); Console.SetCursorPosition(0, 12); ClearCurrentConsoleLine(); Console.WriteLine("Musica parada"); } if (e.Myo.Pose.Equals(Pose.WaveIn)) { Player.Init(); Console.SetCursorPosition(0, 2); ClearCurrentConsoleLine(); Console.WriteLine("El repoductor ha sido reinicializado"); } }
public async void Pose_Triggered(object sender, PoseEventArgs e) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { tblUpdates.Text = "Pose Held: " + e.Pose.ToString(); }); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { var samePose = _lastPose == e.Pose; _lastPose = e.Pose; _triggeringMyo = e.Myo; lock (_timer) { if (_timerAlive) { return; } if (samePose && _targetPoses.Contains(e.Pose)) { if (_timerPaused) { _timerPaused = false; _timer.Start(); } } else { _timerPaused = true; _timer.Stop(); } } }
private void Pose_Triggered(object sender, PoseEventArgs e) { if (HeldPoseTriggered != null) { HeldPoseTriggered.Invoke(sender, e); } }
private void Pose_Triggered(object sender, PoseEventArgs e) { App.Current.Dispatcher.Invoke((Action)(() => { eventTbx.Text = "{0} arm Myo holding pose {1}" + e.Myo.Arm + e.Myo.Pose; if (e.Myo.Pose == Pose.Fist) { e.Myo.Vibrate(VibrationType.Short); fistSpreadScoreCntr++; lblFistScoreCntr.Content = fistSpreadScoreCntr; gestureImg.Source = new BitmapImage(new Uri ("/MyoTestv1;component/Images/gesture_icons/blue_outline_LH_fist.png", UriKind.Relative)); } else if (e.Myo.Pose == Pose.FingersSpread) { e.Myo.Vibrate(VibrationType.Short); fingersSpreadScoreCntr++; lblFingersSpreadScoreCntr.Content = fingersSpreadScoreCntr; gestureImg.Source = new BitmapImage(new Uri ("/MyoTestv1;component/Images/gesture_icons/blue_outline_LH_spread_fingers.png", UriKind.Relative)); } })); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { if (_currentSequence.Count == _sequence.Count) { for (int i = 0; i < _currentSequence.Count; i++) { if (_currentSequence[i] != _sequence[i]) { var lastItem = _currentSequence[_currentSequence.Count - 1]; _currentSequence.Clear(); _currentSequence.Add(lastItem); return; } } // got a match OnPoseSequenceCompleted(e.Myo, e.Timestamp, _currentSequence); _currentSequence.Clear(); } else { switch (e.Pose) { case Pose.WaveOut: case Pose.WaveIn: case Pose.FingersSpread: case Pose.Fist: case Pose.ThumbToPinky: _currentSequence.Add(e.Pose); break; } } }
private void PoseChanged(object sender, PoseEventArgs e) { if (streamData == true) { Publish("/i5/myo/pose", e.Myo.Pose.ToString()); } }
private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.WriteLine("{0} arm Myo detected {1} pose is {2}.", e.Myo.Arm, e.Myo.Pose, (e.Myo.IsUnlocked ? "unlocked" : "locked")); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { if (PoseToSound.ContainsKey(e.Pose)) { PoseToSound[e.Pose].Play(); } }
private async void Myo_PoseChanged(object sender, PoseEventArgs e) { switch (e.Myo.Pose) { case Pose.DoubleTap: if (_lightState) { await _dataAccess.On(new Models.Light() { State = true, LightId = 1, Color = new Models.Color() { R = 1, G = 1, B = 1 } }); } else { await _dataAccess.Off(1); } _lightState = !_lightState; break; case Pose.Unknown: break; default: break; } }
private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.WriteLine("MYO: Detected {1} pose!", e.Myo.Arm, e.Myo.Pose); if (e.Myo.Pose == Pose.Fist) { e.Myo.Vibrate(VibrationType.Short); initPitch = 0; initRoll = 0; initYaw = 0; byte[] msgBytes = { 1 }; SendUDP(msgBytes); e.Myo.OrientationDataAcquired += Myo_OrientationDataAcquired; } else { if (!double.IsNaN(initPitch)) { e.Myo.Vibrate(VibrationType.Medium); } initPitch = double.NaN; initRoll = double.NaN; initYaw = double.NaN; byte[] msgBytes = { 0 }; SendUDP(msgBytes); e.Myo.OrientationDataAcquired -= Myo_OrientationDataAcquired; } }
private void OnPose(object sender, PoseEventArgs e) { if (e.Myo.Pose == Pose.DoubleTap) { // use doubletap trigger myo lock if (_isLock) { e.Myo.Unlock(UnlockType.Hold); } else { e.Myo.Lock(); } } else if (e.Myo.Pose == Pose.Rest) { ReceiveOver(); } else { if (!_onReceive) { ReceiveStart(); } _currentPose = e.Pose.ToString(); ReceivePose(_currentPose); } }
private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.WriteLine("{0} arm Myo detected {1} pose!", e.Myo.Arm, e.Myo.Pose); string requestUri = _destinationUrl; switch (e.Myo.Pose) { case Poses.Pose.WaveIn: Console.WriteLine("Previous Track"); requestUri += "previous_track"; break; case Poses.Pose.WaveOut: Console.WriteLine("Next Track"); requestUri += "next_track"; break; case Poses.Pose.FingersSpread: Console.WriteLine("Volume Up"); requestUri += "volume_up"; break; case Poses.Pose.Fist: Console.WriteLine("Volume Down"); requestUri += "volume_down"; break; case Poses.Pose.Rest: break; case Poses.Pose.DoubleTap: Console.WriteLine("start_stop"); requestUri += "start_stop"; break; default: break; } if (_enableWebTransmission) { try { _webRequest = WebRequest.Create(requestUri); _webRequest.Method = "POST"; WebResponse response = _webRequest.GetResponse(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
protected virtual void OnTriggered(IMyo myo, DateTime timestamp, Pose pose) { var handler = Triggered; if (handler != null) { var args = new PoseEventArgs( myo, timestamp, pose); handler.Invoke(this, args); } }
protected virtual void OnTriggered(IMyo myo, DateTime timestamp, Pose pose) { //Contract.Requires<ArgumentNullException>(myo != null, "myo"); var handler = Triggered; if (handler != null) { var args = new PoseEventArgs( myo, timestamp, pose); handler.Invoke(this, args); } }
//Called when a pose is detected and outputs the pose to console, //also sets the start sequence private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.WriteLine("{0} arm Myo detected {1} pose!", e.Myo.Arm, e.Myo.Pose); Console.WriteLine("Pose = " + e.Myo.Pose); //Start sequence is wave out if (e.Myo.Pose == Pose.WaveOut) { startSequence = true; } if (e.Myo.Pose == Pose.WaveIn) { startSequence = false; } }
public void GetMyo_ValidState_EqualsConstructorParameter() { // Setup var myo = new Mock <IMyo>(); var args = new PoseEventArgs( myo.Object, DateTime.UtcNow, Pose.Unknown); // Execute var result = args.Myo; // Assert Assert.Equal(myo.Object, result); }
public void GetTimestamp_ValidState_EqualsConstructorParameter() { // Setup var timestamp = DateTime.UtcNow; var args = new PoseEventArgs( new Mock <IMyo>().Object, timestamp, Pose.Unknown); // Execute var result = args.Timestamp; // Assert Assert.Equal(timestamp, result); }
public void GetPose_ValidState_EqualsConstructorParameter() { // Setup var pose = Pose.Fist; var args = new PoseEventArgs( new Mock <IMyo>().Object, DateTime.UtcNow, pose); // Execute var result = args.Pose; // Assert Assert.Equal(pose, result); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { //This event checks all the poses //If user makes fist, check to see if game has started, if not start the game and vibrate if (e.Myo.Pose == Pose.Fist) { if (isGameStarted == false) { startGame(); e.Myo.Vibrate(VibrationType.Medium); timeLeft = 30; isGameStarted = true; isGameOver = false; } } //If user makes waveIn gesture, it is players move, game has started and game isn't over, call attack method and play sound if (e.Myo.Pose == Pose.WaveIn) { if (isPlayerMove == true && isGameStarted == true && isGameOver == false) { attacklbl.Invoke(new MethodInvoker(delegate { attacklbl.ForeColor = System.Drawing.Color.DeepSkyBlue; })); swordSlash.Play(); updateAttackMove(); System.Threading.Thread.Sleep(500); attacklbl.Invoke(new MethodInvoker(delegate { attacklbl.ForeColor = System.Drawing.Color.OrangeRed; })); } } //If user makes waveOut gesture, it is players move, game has started and game isn't over, call heal method and play sound if (e.Myo.Pose == Pose.WaveOut) { if (isPlayerMove == true && isGameStarted == true && playerRage >= 1 && isGameOver == false) { heallbl.Invoke(new MethodInvoker(delegate { heallbl.ForeColor = System.Drawing.Color.DeepSkyBlue; })); playerHeal.Play(); updateHealMove(); System.Threading.Thread.Sleep(500); heallbl.Invoke(new MethodInvoker(delegate { heallbl.ForeColor = System.Drawing.Color.OrangeRed; })); } else if (isPlayerMove == true && isGameStarted == true) { statusLbl.Invoke(new MethodInvoker(delegate { statusLbl.Text = "You do not have enough rage to heal yourself."; })); } } }
public void ChannelEventReceived_PoseChanged_TriggersPoseChangedEvent() { // Setup var routeEventArgs = new RouteMyoEventArgs( new IntPtr(123), new IntPtr(789), MyoEventType.Pose, DateTime.UtcNow); var channelListener = new Mock <IChannelListener>(MockBehavior.Strict); var myoDeviceDriver = new Mock <IMyoDeviceDriver>(MockBehavior.Strict); myoDeviceDriver .SetupGet(x => x.Handle) .Returns(new IntPtr(123)); myoDeviceDriver .Setup(x => x.GetEventPose(routeEventArgs.Event)) .Returns(Pose.Fist); var myo = Myo.Create( channelListener.Object, myoDeviceDriver.Object); PoseEventArgs actualEventArgs = null; object actualSender = null; myo.PoseChanged += (sender, args) => { actualSender = sender; actualEventArgs = args; }; // Execute channelListener.Raise( x => x.EventReceived += null, routeEventArgs); // Assert Assert.Equal(myo, actualSender); Assert.Equal(myo, actualEventArgs.Myo); Assert.Equal(routeEventArgs.Timestamp, actualEventArgs.Timestamp); Assert.Equal(Pose.Fist, actualEventArgs.Pose); myoDeviceDriver.VerifyGet(x => x.Handle, Times.Once); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { RhinoApp.WriteLine("Pose Changed: {0}", (object)e.Pose.ToString()); if (e.Pose == Pose.DoubleTap) { e.Myo.Lock(); } if (e.Pose == Pose.Fist) { MyoController.mouse_event(2, Cursor.Position.X, Cursor.Position.Y, 0, 0); MyoController.mouse_event(4, Cursor.Position.X, Cursor.Position.Y, 0, 0); } if (e.Pose == Pose.FingersSpread) { this._fingerSpreadDone = true; this._toolBoxConduit.Enabled = (true); this._toolBoxConduit.PopUpPosLeft = RiftViewportConduit.CursorInLeftViewport; this._toolBoxConduit.PopUpPosRight = RiftViewportConduit.CursorInRightViewport; } if (e.Pose == Pose.FingersSpread || !this._fingerSpreadDone) { return; } this._fingerSpreadDone = false; this._toolBoxConduit.Enabled = (false); if (!this._toolBoxConduit.ExecuteCommand()) { MyoController.mouse_event(8, Cursor.Position.X, Cursor.Position.Y, 0, 0); MyoController.mouse_event(16, Cursor.Position.X, Cursor.Position.Y, 0, 0); } if (!UserInput.MiniViewportsOn) { return; } for (int index = 0; index < 3; ++index) { if (Viewports.MiniViews[index] != null && Viewports.MiniViews[index].Document != null) { Viewports.MiniViews[index].Redraw(); } } }
/// <summary> /// Handles the pose changed event. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void PoseChanged(object sender, PoseEventArgs e) { if (e.Myo.Pose == Pose.WaveIn) { HandleWaveInPose(); } if (e.Myo.Pose == Pose.WaveOut) { HandleWaveOutPose(); } if (e.Myo.Pose == Pose.Fist && e.Myo.Arm == Arm.Left) { HandleLeftArmFistPose(); } if (e.Myo.Pose == Pose.Fist && e.Myo.Arm == Arm.Right) { HandleRightArmFistPose(); } }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { MethodInvoker inv2; var braco = e.Myo.Arm == Arm.Right ? "Direito" : e.Myo.Arm == Arm.Left ? "Esquerdo" : "Desconhecido"; MethodInvoker inv = delegate { this.label3.Text = $"Pose \"{e.Myo.Pose}\" detectada no braco {braco}"; }; //Evento de clique if ($"{e.Myo.Pose}" == "Fist") { inv2 = delegate { this.label13.Text = "Entro"; }; this.Invoke(inv2); click_cont = 1; } else if ($"{e.Myo.Pose}" == "FingersSpread") { inv2 = delegate { this.label13.Text = "Clico"; }; this.Invoke(inv2); if (((Cursor.Position.X - 190) - this.label12.Location.X) <= 20 && ((Cursor.Position.Y - 30) - this.label12.Location.Y) <= 20) { this.label12.Click += label12_Click; } } }
protected virtual void OnPoseChange(PoseEventArgs e) { var handler = PoseChange; if (handler != null) handler(this, e); }
private void Pose_Triggered(object sender, PoseEventArgs e) { //m_nPos = (int)e.Pose; //Ojw.CMessage.Write("{0} arm Myo detected [{1}] pose", e.Myo.Arm, m_nPos); }
private void Myo_PoseChanged(object sender, PoseEventArgs e) { Debug.WriteLine("{0} arm Myo detected {1} pose!", e.Myo.Arm, e.Myo.Pose); }
protected virtual void OnPose(PoseEventArgs e) { if (Pose != null) Pose(this, e); }
private static void Pose_Triggered(object sender, PoseEventArgs e) { Console.WriteLine("{0} arm Myo is holding pose {1}!", e.Myo.Arm, e.Pose); }
private static void Myo_PoseChanged(object sender, PoseEventArgs e) { Console.WriteLine("{0} arm Myo detected {1} pose!", e.Myo.Arm, e.Myo.Pose); }
void pose_Triggered(object sender, PoseEventArgs e) { InvokeData(e.Pose.ToString()); }