bCoreモジュールのBLE通信サービスに Burst Command(バーストコマンド)というCharacteristicを追加します。
bCoreMX FW Version F2.10、bCore2 FW Version F2.10以降が対象になります。
bCore 1.0/1.1については現在の在庫をもって収束する方向のため対応しません。
同じBLEサービスのUUIDで、提供されるCharateristicが異なることにご批判もあると思いますが、ご理解を頂ければと思います。
今回、Characteristicを追加するに至ったわけですが、
本来BLEの通信は、省電力で低データレートなことがウリ(と理解しています)ということもあり、ユーザーが操作したい対称のIFだけにコマンドを送るという設計思想で、最初のbCoreのService/Characteristicを設定しました。
しかし、最大でサーボチャンネルX4,DCモーターチャンネルX2、ポートの7つの変更をかけようとした場合に、7回のWriteコマンドを発行する必要があり、周期的に更新を動きの早い対象物(要するにミニ四駆なわけですが)を操作するには反応の鈍さが 許しがたいレベル になることから、バーストモードの搭載は必須と考えるに至った次第です。
現在のところ、バーストコマンドを使用するのは iOSアプリ bDriverMX (Version 1.02以降)となります。
一点問題があり、BLEのシステムは一度接続したペリフェラルの提供するServiceとCharacteristicをキャッシュしてしまうため、
一度 BurstCommandに非対応の古いbCoreを繋いだアプリは、次回BurstCommand対応の新しいbCoreに接続してもBurstCommandを無効化してしまう問題があります。コレについては現時点で対応しきれていないため、大変申し訳ありませんが、都度端末のBluetoothの一度Offにして再度IOnにすることでキャッシュがクリアされますので、運用でカバーしていただけますよう、本当に申し訳ありませんがよろしくお願いします。
- 2017/02/08(水) 04:49:48|
- Project: bCore
-
-
| コメント:0