我有2个ant + USB记忆棒 1模拟一个可以共享数据的设备。 (模拟软件[SimuAnt]) 1模拟显示以显示数据。 (Windows PC统一应用程序)
一切正常,但只有一件事很奇怪。
我已经用Debug.Log检查了该函数是否已被真正调用。 我为此使用了一个按钮。
现在奇怪的是:当我单击按钮时,调试日志确认页面已发送到设备。 但我对设备没有任何影响。 当我快速单击按钮时,它有时会起作用。
当我在代码中调用该函数40次时,它起作用了。但是我认为这不是解决问题的正确方法。
public void SetTrainerResistance(int resistance) {
if (!connected)
return;
#if UNITY_ANDROID && !UNITY_EDITOR
AndroidJNI.AttachCurrentThread();
using (AndroidJavaClass javaClass = new AndroidJavaClass("com.ant.plugin.Ant_Connector")) {
using (AndroidJavaObject activity = javaClass.GetStatic<AndroidJavaObject>("mContext")) {
activity.Call("Set_fitness_Resistance",resistance);
}
}
#else
pageToSend = new byte[8] { 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, (byte)(resistance * 2) };//unit is 0.50%
deviceChannel.sendAcknowledgedData(pageToSend);
#endif
例如,我使用以下函数调用函数:
public void FitnessButton2() {
GameObject.Find("FitnessEquipmentDisplay").GetComponent<FitnessEquipmentDisplay>().SetTrainerResistance(50);
}
我尝试使用按键代替按钮,但是存在相同的问题。
我怀疑同步错误!?
有人对这种奇怪的东西有想法吗?
答案 0 :(得分:0)
看来ant +设备的频率是关键。 我将更新的坡度发送到SimulationSoftware
但是蚂蚁设备的工作频率为4 Hz,所以如果再有一条消息通过,那就太幸运了。
现在我每1秒发送一次斜率(1 Hz) 所以我的按钮现在可以正常工作了