- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
BLEコンポーネントをBroadcaster設定で、アドバタイズパケットを動的に更新しようとしています。
そのためにCyBle_GapUpdateAdvData();をコールしたいのですが、その前に「CyBle_GetBleSsState() == CYBLE_BLESS_STATE_EVENT_CLOSE」である確認する必要があります。
しかし、CYBLE_BLESS_STATE_EVENT_CLOSE状態になりません。
試しにアドバタイズパケットの送信を開始(CyBle_GappStartAdvertisement)しなくてもCYBLE_BLESS_STATE_EVENT_ACTIVEとなっていました。
CYBLE_BLESS_STATE_EVENT_CLOSE状態にするためには何が必要でしょうか?スリープに入れる必要がありますか?
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご返信遅れ申し訳ございません。
ACTIVEは、「BLESS(BLEサブシステム)がLow Powerモード(Sleep/DeepSleep/Hibernate)でないこと」を意味します。
FYI: CyBle_EnterLPM() APIが、BLESSをLow Powerモードにするために使用されます。
CLOSEは、advertising eventの間の時間なのでご理解いただいている通りです。
ステートの詳細はAN92584の3ページ目をご覧ください。
CYBLE_BLESS_STATE_EVENT_CLOSEはadvertising eventの度に有効になる筈ですが...、何かしらの設定の都合により上手くいっていないのかもしれません。
こちらのページにプログラム例がございますので、ご参照ください。
PSoC-4-BLE/main.c at master · cypresssemiconductorco/PSoC-4-BLE · GitHub
よろしくお願い致します。
Hirotaka Takayama