/// <summary> /// Handles an event that was received for this device. /// </summary> /// <param name="type">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> /// <param name="evt">The pointer to the event.</param> protected virtual void HandleEvent(MyoEventType type, DateTime timestamp, IntPtr evt) { switch (type) { case MyoEventType.Connected: OnConnected(timestamp); break; case MyoEventType.Disconnected: OnDisconnected(timestamp); break; case MyoEventType.ArmRecognized: OnArmRecognized(evt, timestamp); break; case MyoEventType.ArmLost: this.Arm = Arm.Unknown; OnArmLost(timestamp); break; case MyoEventType.Orientation: OnOrientationChanged(evt, timestamp); break; case MyoEventType.Pose: OnPoseChanged(evt, timestamp); break; case MyoEventType.Rssi: OnRssi(evt, timestamp); break; } }
/// <summary> /// Initializes a new instance of the <see cref="RouteMyoEventArgs"/> class. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> public RouteMyoEventArgs( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { this.MyoHandle = myoHandle; this.Event = evt; this.EventType = eventType; this.Timestamp = timestamp; }
/// <summary> /// Initializes a new instance of the <see cref="RouteMyoEventArgs"/> class. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> /// <exception cref="ArgumentException"> /// The exception that is thrown when <paramref name="myoHandle"/> or <paramref name="evt"/> are <see cref="IntPtr.Zero"/>. /// </exception> public RouteMyoEventArgs( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { Contract.Requires<ArgumentException>(myoHandle != IntPtr.Zero, "myoHandle"); Contract.Requires<ArgumentException>(evt != IntPtr.Zero, "evt"); _myoHandle = myoHandle; _eventHandle = evt; this.EventType = eventType; this.Timestamp = timestamp; }
/// <summary> /// Initializes a new instance of the <see cref="RouteMyoEventArgs"/> class. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> /// <exception cref="ArgumentException"> /// The exception that is thrown when <paramref name="myoHandle"/> or <paramref name="evt"/> are <see cref="IntPtr.Zero"/>. /// </exception> public RouteMyoEventArgs( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { //Contract.Requires<ArgumentException>(myoHandle != IntPtr.Zero, "myoHandle"); //Contract.Requires<ArgumentException>(evt != IntPtr.Zero, "evt"); _myoHandle = myoHandle; _eventHandle = evt; this.EventType = eventType; this.Timestamp = timestamp; }
/// <summary> /// Handles an event that was received for this device. /// </summary> /// <param name="type">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> /// <param name="evt">The pointer to the event.</param> protected virtual void HandleEvent(MyoEventType type, DateTime timestamp, IntPtr evt) { // Contract.Requires<ArgumentException>(evt != IntPtr.Zero, "The event handle must be set."); switch (type) { case MyoEventType.Connected: OnConnected(timestamp); break; case MyoEventType.Disconnected: OnDisconnected(timestamp); break; case MyoEventType.ArmRecognized: OnArmRecognized(evt, timestamp); break; case MyoEventType.ArmLost: OnArmLost(timestamp); break; case MyoEventType.Orientation: OnOrientationChanged(evt, timestamp); break; case MyoEventType.Pose: OnPoseChanged(evt, timestamp); break; case MyoEventType.Rssi: OnRssi(evt, timestamp); break; case MyoEventType.Locked: OnLock(timestamp); break; case MyoEventType.Unlocked: OnUnlock(timestamp); break; case MyoEventType.Emg: OnEmgData(evt, timestamp); break; } }
/// <summary> /// Called when an event has been received on the communication channel. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> protected virtual void OnEventReceived( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { var handler = EventReceived; if (handler != null) { var args = new RouteMyoEventArgs( myoHandle, evt, eventType, timestamp); handler.Invoke(this, args); } }
/// <summary> /// Called when an event has been received on the communication channel. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> private void OnEventReceived( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { ////Contract.Requires<ArgumentException>(myoHandle != IntPtr.Zero, "The handle to the Myo must be set."); ////Contract.Requires<ArgumentException>(evt != IntPtr.Zero, "The handle to the event must be set."); var handler = EventReceived; if (handler != null) { var args = new RouteMyoEventArgs( myoHandle, evt, eventType, timestamp); handler.Invoke(this, args); } }
/// <summary> /// Called when an event has been received on the communication channel. /// </summary> /// <param name="myoHandle">The Myo handle.</param> /// <param name="evt">The event handle.</param> /// <param name="eventType">The type of the event.</param> /// <param name="timestamp">The timestamp of the event.</param> private void OnEventReceived( IntPtr myoHandle, IntPtr evt, MyoEventType eventType, DateTime timestamp) { Contract.Requires<ArgumentException>(myoHandle != IntPtr.Zero, "The handle to the Myo must be set."); Contract.Requires<ArgumentException>(evt != IntPtr.Zero, "The handle to the event must be set."); var handler = EventReceived; if (handler != null) { var args = new RouteMyoEventArgs( myoHandle, evt, eventType, timestamp); handler.Invoke(this, args); } }