C# 使用Myo臂带调用姿势触发事件
我正在WPF中开发一个项目,使用一个Myo臂带,到目前为止,它可以识别设备已连接并更新文本框的信息,但当我设置事件处理程序以识别是否触发姿势时,事件永远不会触发 我通过用设备摆姿势并按住它们来调试它,我还在这行上设置了一个断点C# 使用Myo臂带调用姿势触发事件,c#,wpf,events,dispatcher,myo,C#,Wpf,Events,Dispatcher,Myo,我正在WPF中开发一个项目,使用一个Myo臂带,到目前为止,它可以识别设备已连接并更新文本框的信息,但当我设置事件处理程序以识别是否触发姿势时,事件永远不会触发 我通过用设备摆姿势并按住它们来调试它,我还在这行上设置了一个断点pose.Triggered+=pose\u Triggered和姿势触发事件的开始 断点会在第一行触发,但不会触发实际事件的断点private void Pose_触发(对象发送方,PoseEventArgs e) 这是我在项目中使用的C#包装器: 有人知道为什么在摆姿势
pose.Triggered+=pose\u Triggered代码>和姿势触发事件的开始
断点会在第一行触发,但不会触发实际事件的断点private void Pose_触发(对象发送方,PoseEventArgs e)
这是我在项目中使用的C#包装器:
有人知道为什么在摆姿势的情况下,活动不会触发吗
这是调用pose\u triggered
的方法,事件:
// listen for when the Myo connects
hub.MyoConnected += (sender, e) =>
{
this.Dispatcher.Invoke((Action)(() =>
{
statusTbx.Text = "Myo has connected! " + e.Myo.Handle;
e.Myo.Vibrate(VibrationType.Short);
// unlock the Myo so that it doesn't keep locking between our poses
e.Myo.Unlock(UnlockType.Hold);
// setup for the pose we want to watch for
var pose = HeldPose.Create(e.Myo, Pose.Fist);
pose.Triggered += Pose_Triggered;
e.Myo.OrientationDataAcquired += Myo_OrientationDataAcquired;
}));
};
触发事件的代码:
private void Pose_Triggered(object sender, PoseEventArgs e)
{
App.Current.Dispatcher.Invoke((Action)(() =>
{
//need to measure abduction of arm from 0 to 180 degrees.
poseStatusTbx.Text = "{0} arm Myo holding pose {1}" + e.Myo.Arm + e.Myo.Pose;
pitch = pitchCentre;
}));
}
下面是该类的完整代码:我将。您是否忘记调用pose.Start()
我回家后会测试一下,然后告诉你结果。
var pose = HeldPose.Create(e.Myo, Pose.Fist);
pose.Interval = TimeSpan.FromSeconds(0.5);
pose.Start(); //this???
pose.Triggered += Pose_Triggered;