2013-03-14 1 views
2

Я разрабатываю приложение, которое отображает комнату, управляя шаром робота Sphero вдоль его краев.Sphero: Асинхронная потоковая передача данных нескольких наборов данных

Для этого мне нужно три набора данных непрерывно лились из SPHERO в (Android) приложение: обнаружение

  • Collission обнаружить углы, которые идут «в» комнату
  • Локатор данных, чтобы знать, где обнаружен угол is
  • Движение Sphero в сторону в сочетании с движением немного наклонено к краю, чтобы обнаружить углы, которые выходят «снаружи» в комнату.

Мое внедрение обнаружения коллизии и потоковой передачи данных локатора работает без проблем, однако есть несколько вопросов о дополнительных данных потокового движения.

Первый большой вопрос заключается в том, как это сделать, поскольку данные локатора и данные движения передаются одинаково, посредством асинхронной передачи данных. На этот вопрос уже был дан ответ, когда у меня был контакт E-Mail с поддержкой Sphero:

Соединив несколько потоков данных, объявленных в SetDataStreamingCommand через побитовое ИЛИ (|), можно настроить Sphero для одновременного потока нескольких наборов данных.

Однако, у меня есть еще открытые вопросы:

  1. Я планирую использовать скорость-х маски для данных движения, будет эти данные будут SPHERO относительных (движения с углом 90 ° к вождению направление) или мировой относительный (например, данные скорости локатора)?

  2. Где будут храниться данные скорости-x в данных события, которые передаются слушателю?

спасибо, прежде чем за ваши ответы

ответ

1

Значение Velocity X является частью локатора, поэтому скорость относительно локатора.

Когда вы получите данные обратно в AsyncDataListener, вы можете найти значения в одних и тех же LocatorData объект, который вы использовали для получения информации локатора:

LocatorData#getVelocityX():float 

Как так:

data.getVelocityX(); 

На этот раз , однако, значения будут фактически содержать информацию, а не нули, потому что вы ранее запрашивали скорость в SetDataStreamingCommand.

+0

Хорошо, спасибо за ответ. Затем мне нужно будет получить необходимую информацию с помощью данных акселерометра (я думаю, что это должно относиться к sphero). – oxygen0211

 Смежные вопросы

  • Нет связанных вопросов^_^