2014/12/14

[ble]NotificationはATT_MTU-3まで

勘違いしていた、というお話。

データ量を多くしたかったので、256byteのAttributeを作った。
読み出しの方では256byte読めたのだが、Notificationだと20byteまでしかできていない。

image

sd_ble_gatts_hvx()に渡している値も確認したが、256byteになっている。
なぜだ・・・。

そこでようやくCore_V4.1を確認した。
Vol.3 Part F "ATT"の"3.4.7.1 Handle Value Notification"。
読むと、先頭からATT_MTU-3までが上限とのこと。
nRF51822というかS110というか、とにかく今はATT_MTUは23byteなので、20byteまでというのは仕様通りだ。
なるほどねぇ。

それ以上のデータが読みたいならRead Brob Requestを使えとのこと。
つまりまあ、Notificationだから通知だけが目的ってことですな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。