-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ble-plugin-unityのWindows 64ビットの対応を行いました #8
Conversation
追記になります。 ■Asmdefについて |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございます。
問題ないと思います。
Scanについては、コメントにも記載されていまように独自のフィルタ処理が必要になります。
たとえば、toioのService UUIDが入っているAdvertiseのBLEアドレスと同一のBLEアドレスを持つScan Responseのデータ内容をAdvertise側のデータとマージするなどの処理を行うことにより、全データが揃うと思います。
こんにちは。Android版もPull Requestさせていただきました 黒河です。
Windows 64bit向けの対応を ble-plugin-unityに対して行いました。
■対象環境
Windows 10( 20H2以降) を対象にしています。
32ビットでは動作しません。64ビットのみを対象にしています。
■ネイティブプラグインについて
bleplugin_projects/Windows以下にVisualStduioのプロジェクト毎いれています。
Visual Stduio 2019でビルドしています。
このときC++で、Windows SDK及びUWPの開発環境が必要になってきます。
開発の都合上 、Exeで直接コードの確認ができるのが便利でしたので…
Debugビルド時は exe書き出しで単体テストが出来るようになっており、Releaseビルドでは Unity向けのDLLを生成するようになっています。
■既知の問題
Ble.StartScan時に デバイスの名前やManufactureDataをイベント引数で渡していると思いますがWindows版では未対応になっています。
toioでは PrimaryではなくSecondaryパケット内に LocalNameやManufactureDataを入れているようでした。
この時に、Windows側から提供された ServiceのUUIDでフィルターの仕組みを利用すると Secondaryパケットは ServiceのUUID未指定ということでフィルターされてしまっていたためです。
※詳細は、BleDeviceWatcher.cpp にコメントとして記載しています。
どうぞよろしくお願い致します。