Example #1
0
        /// <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;
            }
        }
Example #2
0
 /// <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;
 }
Example #3
0
        /// <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;
        }
Example #4
0
        /// <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;
        }
Example #5
0
        /// <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;
            }
        }
Example #6
0
        /// <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);
            }
        }
Example #7
0
        /// <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);
            }
        }
Example #8
0
        /// <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);
            }
        }