PSoC 4 BLEトラブルシューティングガイド – KBA220490 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by HiOm_1802421 Version: **
Translation - English: Community Translation - PSoC® 4 BLE Troubleshooting Guide - KBA220490
質問:
PSoC 4 BLEトラブルシューティングガイド
質問:
PSoC 4 BLEトラブルシューティングガイド
回答:
1章:一般的な質問
1. Android携帯電話でペリフェラルのカスタムサービスUUIDと特性UUIDが表示されないのはなぜですか?
同様に、カスタムサービスがあるBLEペリフェラルが、CySmart PCアプリケーションでは動作するのにAndroid携帯では動作しないのはなぜですか?
A) カスタムサービスを作成すると、自動的にBluetoothベースのUUIDが生成されます。Androidバージョン5.0以降は、Bluetooth基本UUIDと同じUUIDを使用するカスタムUUIDへのアクセスは許可されていません。デフォルトのBluetooth基本UUIDとは異なる基本UUIDへ更新/変更する必要があります。
これを行うには、UUIDをBluetooth基本UUIDから変更します。つまり、(BLEコンポーネントのカスタムサービス/特性UUIDで生成される) 00000000-0000-1000-8000-00805F9B34FB であってはいけません。カスタム特性/サービスUUIDの数値フォーマットを編集してBluetooth基本フォーマットと異なるようにする必要があります。
2. CySmart™ PCアプリケーションで、動的に更新されたアドバタイズパケットが表示されないのはなぜですか?
A) セントラルデバイスで「Duplicate filtering」プロパティが有効な場合、セントラルデバイスは同じデバイス (同じアドレスのデバイス) からの複数のアドバタイズパケットをフィルターします (受け入れません)。
CySmart toolのDuplicate filteringは既に有効になっていますので、アドバタイズデータは1回だけ受信します。従って、データを更新するにはCySmartのDuplicate filteringを無効にします。これを行うには、Configure Master Settings > Scan Parameters > Duplicate Filter Policy > Disable Duplicate Filtering をクリックします。
3. CyBLEの切断理由はどうやって確認出来ますか?
A) BLEデバイスが切断されると、CYBLE_EVT_GAP_DEVICE_DISCONNECTED
イベントがトリガされます。このイベントは、CyBLEデバイスがリモートデバイスから切断された、または接続の確立に失敗した事を示します。イベントと共に返されるパラメータには、切断理由へのuint8
型のポインタが含まれます。詳細は、BLE Core Specification Version 4.2, Vol 2, Part D を参照してください。
ファームウェアでは、イベントパラメータをCYBLE_EVT_GAP_DEVICE_DISCONNECTED
イベントから次のように取得します。
printf ("Error code is: 0x%x \r\n",*(uint8 *) eventParam);
エラーコードを確認し、BLE Core Specification Version 4.2, Vol 2, Part D の Section 1.3: List of Error codes から対応する説明を見つけてください。
4. CyBLEデバイスをブロードキャスターとオブザーバとして同時に動かすにはどう設定すればよいですか?
A) BLEコンポーネントで、デバイスのGapロールを Central and Peripheral にします。
ブロードキャスターロールでは、次のようにアドバタイズ設定を行います。
- Discovery mode:Non-discoverable
- Advertising:Non-connectable undirected advertising
オブザーバロールでは、次のコードをCYBLE_EVT_STACK_ON
イベントに追加します。
cyBle_discoveryInfo.discProcedure=CYBLE_GAPC_OBSER_PROCEDURE;
CyBle_GapcStartScan(); // API to start scanning
CyBle_GappStartAdvertisement(); // API to start advertisement
これらの変更により、デバイスはブロードキャスターとオブザーバーの両方として動作します。
5. CyBLEセントラルデバイスで、チャネル37、38、39の中で特定のチャネルのみをスキャンするにはどう設定すればよいですか?
A) スキャンチャネルマップ構成を変更するには、CYREG_BLE_BLELL_SCAN_CONFIGレジスタの13、14、15ビットを変更します。
ビット - 15:13
名前 - SCAN_CHANNEL_MAP スキャン動作が有効なアドバタイズチャネル
説明 -
ビット 15: 1 に設定 - チャネル39 使用可能
ビット 14: 1 に設定 - チャネル38 使用可能
ビット 13: 1 に設定 - チャネル37 使用可能
デフォルト値: 7 (全て 1)
詳細は、PSoC/PRoC BLE レジスタTRMを参照してください。
例:
アドバタイズチャネル 37のみをスキャンするには、BLEコールバックハンドラのCYBLE_EVT_STACK_ON
イベントで 次のコードを使用します。
スキャン開始APIを呼び出す前に次のコードを追加してください。
#define CYREG_BLE_BLELL_SCAN_CONFIG_USER (*(uint32*) BLE_BLELL_SCAN_CONFIG)
CYREG_BLE_BLELL_SCAN_CONFIG_USER = BLE_BLELL_SCAN_CONFIG_USER & 0xFFFF2FFF;
6. BLEデバイス名がiOS携帯電話で表示されないのはなぜですか?
A) iOSは、幾つかの特定のプロファイル (HID、ANCS等) のみがBluetooth設定でのデバイス名の列挙をサポートしています。
https://support.apple.com/en-us/HT204387 を参照してください。
iOSデバイスはサーバ/ペリフェラルデバイスにこれらのサービスがある場合にのみ、Bluetoothデバイスリストにデバイスを表示します。
7. 予期しないBLE切断が発生し、ファームウェアが割り込みハンドラでスタックするのはなぜですか?
A) ファームウェアの次のパラメータを確認してください。
CyBLE_ProcessEnent
がファームウェアで定期的に呼び出されていることを確認してください。CyBLE_ProcessEnent
を呼び出さなければいけないインターバルについては、BLE Component ConfigurationのAPI descriptionを確認してください。カスタム関数の実行に時間かかる場合は、その中でCyBLE_ProcessEvent
を呼び出してください。- カスタム基板で切断が発生した場合、外付けクリスタル/クロック設定を確認してください。外付けクロックのパラメータはサイプレス社のアプリケーションノート AN90589 に記載されている仕様を必ず満たしてください。
- BLEサブシステム (BLESS) 割り込みが最高優先かを確認してください。
- BLE接続状態の間にフラッシュへの連続書き込みがないか確認してください。これにより、BLEイベントの処理が保留され、切断が発生する可能性があります。BLESSの状態が
CYBLE_BLESS_STATE_EVENT_CLOSE
の場合にのみFlash書き込みを呼び出すようにしてください。 - カスタム基板の場合、PCBレイアウトデザインが仕様を満たしているか確認してください。サイプレス社のアプリケーションノート http://www.cypress.com/documentation/application-notes/an91445-antenna-design-and-rf-layout-guidelin... を参照してください。
8. BLE仕様に従ってBLE通知で送信されたBLEデータパケットは、アプリケーション層では確認応答されません。これにより、PSoC BLEデバイスでパケットロスまたは順番が違うパケット配信が発生しますか?
A) 通知を使用した場合、アプリケーション層では確認応答はありませんが、リンク層では確認応答があります。これは、ピアがパケットを送信するときに、送信者が確認応答をリンク層で受信しなければ次のパケットが送信されないことを意味します。これで確実に行方不明のパケットはなくなります。
必ずパケットが正しい順序で配信されるようにするには、アプリケーション層で受信パケットの読み取りを行う必要があります。これは、アプリケーションは通知を受信する時に他のタスクでビジーにならないようにする事を必要とします。
9. Ez-BLEモジュールは、古いコンポーネントで正常に動作していますが、BLEコンポーネントのバージョンを更新(V_3.1/V3.2/V3.3)すると動作しなくなります。なぜですか?
A) http://www.cypress.com/knowledge-base-article/eco-capacitance-trim-values-ez-ble-modules-kba218990 を参照してください。
10. 実行時にアドバタイズデータを変更するにはどうすればよいですか?
A) CyBle_GapUpdateAdvData()
APIを使用してください。
GitHubのダイナミックブロードキャスタープロジェクトを参照してください。https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day009_Dyn...
11. クライアントからサーバへの通知を有効にした時に、書き込み要求がタイムアウトするのはなぜですか?
A) BLEクライアントがサーバ通知を有効にすると、クライアントは実際にサーバのカスタム特性記述子(CCCD)への書き込み要求を送信しています。従って、クライアントはサーバからの書き込み応答を期待します。クライアントが書き込み応答を受信しなかった場合は、書き込み要求のタイムアウトにつながります。
クライアントからの通知を有効にするためのCCCD書き込み要求に応答して、サーバから書き込み応答が送信されることを確認してください。
12. アドバタイズしているペリフェラルと接続を確立出来ないのはなぜですか?
A) 幾つかの理由で発生します。ペリフェラルのアドバタイズモードが「connectable」である事が必要です。さらに、ペリフェラルがホワイトリスト制約を有効にしているかどうかを確認してください。
13. セントラルデバイスは複数のペリフェラルとデータを送信/受信する事は可能ですか?
A) PSoC4/PRoC BLEデバイスは複数接続をサポートしていません。解決策として、時分割多重化(TDM)を使用します。詳細はGitHubプロジェクトの
14. 接続のMTUを23バイトに設定し、サーバGATT特性サイズを512バイト(最大値)に設定した場合、GATT Write Long Characteristic Valueオペレーションを使用して大きな値を送信できます。しかし、MTUサイズが512バイトの場合は、単純なGATT Write Requestが使用できます。これら2つのWrite操作の違いは何ですか?
A) 属性値の最大長は512バイトです。
Write Requestを使用している場合、(最大ネゴシエートMTU) -3バイトまで書き込むことが出来ます。したがって、ネゴシエートされたMTUサイズが512バイトの場合、1回の書き込み操作で書き込める最大値は509バイトです。
Write Longメソッドでは、書き込める最大値は、最大属性長つまり512バイトまでです。
アプリケーション例:ペリフェラルがCyBLEデバイスであり、(携帯電話、CyBLE等の) セントラルデバイスがあるとします。一部の携帯電話では、MTUサイズが23など特定の値に制限されています。セントラルデバイスのMTUサイズが23であるため、ネゴシエートされたMTUサイズは、ペリフェラルデバイスのMTUサイズに関係なく23になります。この時、GATTサーバ特性へ23バイトを超える値を書き込む唯一のオプションはWrite Longです。
備考:ネゴシエートされたMTUサイズは、最小値(セントラルのMTUサイズ、ペリフェラルのMTUサイズ)を意味します。このネゴシエートされたMTUサイズは、セントラルとペリフェラルの間の通信の残りに使用されます。
15. セントラルBLEデバイスが、ペリフェラルからのスキャン応答データを受信しないのはなぜですか?
A) ペリフェラルからのスキャン応答受信は、セントラルデバイスは「アクティブスキャン」を実行しなければなりません。セントラルデバイスのスキャン設定を確認してください。
16. GATTサーバはMTU交換を開始出来ますか?
A) いいえ。クライアントだけがMTU交換要求を開始できます。
17. MTUサイズを50に設定しましたが、20バイトを超えるデータを送信できませんでした。なぜですか?
A) これは、セントラルデバイスがMTU交換要求を送信していない場合に発生する事があります。デフォルトでは、MTUサイズは23バイトに設定されます。MTUサイズを23バイト以上に設定する場合、セントラルデバイスは、MTU交換要求を送信する必要があります。
18. セントラルがスマートフォンでペリフェラルがCyBLE 4.1デバイスの時、ホワイトリストフィルタリングが動作しません。なぜですか?
A) 多くのスマートフォンは解決可能プライベートアドレスを使用するため、スマートフォンは毎回(同じではない)ランダムアドレスを使用します。BLE4.1では、コントローラはアドレスを解決出来ませんが、ホストは出来ます。次のメソッドを使用して特定のデバイスだけに接続する事が出来ます。
アプリケーションでホワイトリストを有効にせずに結合(ボンディング)してください。すると、同じデバイスに接続するたびに(デバイスが1つだけの場合)コネクションハンドルは4になります。新しいデバイスに接続する場合、コネクションハンドルは3になります。CYBLE_EVT_DEVICE_CONNECTED
イベントでコネクションハンドルを確認してください。コネクションハンドルが4でない場合は、直ちにペリフェラルの接続を切断します。すでに結合されているデバイスが(解決可能プライベートアドレスを使用して)接続する場合、コネクションハンドルは4になります。
19. BLEパワーアンプを無効にするにはどうすればよいですか?
A) SetTXPower()
APIをパラメータ0x00で呼び出してください。パワーアンプのレンジを最小にします。
20. ファームウェアでランダムadvDelayを無効にするにはどうすればよいですか?
A) ファームウェアでランダムadvDelayを無効にするには、次のコードを使用してください。
#define ADV_RAND_DISABLE_MASK 0x0100
register_value = CY_GET_XTND_REG32(CYREG_BLE_BLELL_ADV_CONFIG);
register_value |= ADV_RAND_DISABLE_MASK;
CY_SET_XTND_REG32(CYREG_BLE_BLELL_ADV_CONFIG, register_value);
21. CyBLE_ProcessEvents()
は、どのくらいのインターバルで呼び出す必要がありますか?
A) このイベントハンドラは、少なくとも「t」インターバル毎に1回呼び出される必要があります。
- デバイスがGAPセントラルモードで動作している場合、「t」はコネクションインターバルまたはスキャンインターバルのいずれか小さいほうと等しくなります。
- デバイスがGAPペリフェラルモードで動作している場合、「t」はコネクションインターバルまたはアドバタイズインターバルのいずれか小さい方と等しくなります。
詳細は、BLEコンポーネントデータシートのAPI説明を参照してください。
2章:低電力モード
1. BLEプロジェクトで低電力モードを実装するにはどうすればよいですか?
A) 次のアプリケーションノートを参照してください。
- AN92584 - Designing for Low Power and Estimating Battery Life for BLE Applications | Cypress Semicon...
- http://www.cypress.com/file/121271/download
2. 低電力動作のためのコードを追加したのに、電力消費が高くなるのはなぜですか? A) 次を行ってください。
- デバックセレクトオプションがSWDからGPIOに変わっている事を確認してください。
- ADCとGPIOのリーク電流を管理してください。
- ECO停止APIを使うか、CyBLE_EnterLPM()を呼び出して、ECOを停止させてください
3. BLE Pioneer Kitでは正しく動作するのに、カスタム基板ではデバイスが低電力モードに入れないのはなぜですか?
A) LFCLK用にWCO外付けクリスタルが選択されている事を確認してください。選択したWCOが必要な仕様を満たしている事を確認してください。
4. WCOを使わずに低電力モードを実装する事が出来ますか?
A) ILOクロック精度が低電力モード中の時間制約を維持するには十分ではないため、BLESSがWCOなしで低電力モードに入る事は可能ではありません。従って、スタックはBLESSがILOで低電力モードに入る事を許可しません。WCOを使用する必要があります。
5. スキャン中の電力消費を減少させるにはどうすればよいですか?
A) スキャンウィンドウを減少させ、スキャンインターバルを増大させてください。
6. PSoC 4 BLE、PRoC BLEおよびEz-BLEモジュールをストップモードにするにはどうすればよいですか?
A) http://www.cypress.com/knowledge-base-article/place-psoc-4-ble-proc-ble-and-ez-ble-modules-stop-mode... を参照してください。
3章:セキュリティ関連の質問
1. クライアントデバイスからBLEサーバの特定の特性へ読み込み/書き込みしようとすると、読み込み/書き込みが失敗するのはなぜですか?
A) ペリフェラルに読み込み/書き込みプロパティの特性がある事を確認してください。特性の権限で認証/承認が必要な場合は、これらが提供されていることを確認してください。サーバファームウェアで設定されている特性サイズが、クライアントが書き込もうとしているサイズ以下であることを確認してください。
2. デバイスにIO機能が無い場合、セントラルとペリフェラルの間でどうやって認証しますか?
A) http://www.cypress.com/knowledge-base-article/authenticate-cyble-central-and-peripheral-when-devices... を参照してください。
3. CyBLE_GattsDbAuthorize
を使用して、セントラルがペリフェラルのGATTデータベースにアクセスする事を承認するにはどうすればよいですか?
A) 何かの特性に対して「Authorization required」を設定するとします。CyBle_GattsDbAuthorize
APIの設定はクライアントが (「Authorization required」として設定されている) GATT DB特性にアクセスできるかどうかを決定します。CyBle_GattsDbAuthorize(0)
を設定した場合、(「Authorization required」として設定されている) GATT DB特性にアクセスするアクセス権はクライアントへ与えられません。これを0以外の値に設定すると、クライアントは特性値にアクセスできます。このようにして、APIを使用してサーバのGATT DBへアクセスできるクライアントを決定できます。
4. BLEデバイスがピアデバイスと2回目の接続をしようとすると、認証エラーが発生するのはなぜですか?
A) 携帯電話機は(デバイスと結合済み)デバイスのペアリング情報を保存しているかも知れませんが、デバイスは結合されていないか、結合情報が削除されている可能性があります。したがって、携帯電話機は携帯電話から手動でペアリング解除を行う必要があります。
5. 結合リストとホワイトリストへ追加できるデバイスの最大数はいくつですか?
A)
結合 - 最大4。
ホワイトリスト - 結合デバイスを含めて最大8。
これらの数字はPSoC 4 BLE用です。PSoC 6 BLEは、より多くの能力があります。
6. CySmart Androidアプリ/PCアプリ使用時、認証が有効になっている場合でもパスキー入力を求められずにペリフェラルが接続されますが、CySmart iOSでは発生しません。なぜですか?
A) SySmart iOSは、接続確立時に認証要求を送信します。CySmart PCおよびCySmart Androidの場合、ユーザーは認証要求を送信するために「ペア」ボタンを押す必要があります。それ以外の場合は、ペリフェラルのファームウェアから認証要求を送信する必要があります。
7. ペリフェラルは、(CYBLE_EVT_GAP_DEVICE_CONNECTED
イベント中に) 既にそのデバイスに結合されていても、接続毎にセントラルへ認証要求を送信するのが正しい認証方法ですか?
A) はい、正しいです。
8. CySmart PCで認証エラーが発生しましたが、モバイルアプリでは問題ありません。なぜですか?
A) CySmart PCのセキュリティ設定がペリフェラルのセキュリティ設定と一致しているか確認してください。
9. さまざまなI/O機能の認証を使用するにはどうすればよいですか?
A) GitHubプロジェクト https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day016_Aut... を参照してください。
4章:OTA関連の質問
1. 固定スタックOTAのブートローダブルプロジェクトへ新しいBLE APIを追加する際エラーになります。なぜですか?
(例:BLE固定OTAスタックのサンプルドキュメントを使用してアプリケーションプロジェクトを変更しました。全て正常に動作しますが、プロジェクトでCyBle_GattsWriteAttributeValue
関数が使用できません。GATT_DB_LOCALLY_INITIATED
も未定義です。ブートローダブルプロジェクトの特性の値を更新するにはどうすればよいですか?)
A) これは、ブートローダブルプロジェクトにこれらのAPIがないからです。従って、リンカスクリプトでAPIを保持する必要があります。
APIの定義はブートローダプロジェクトから取得されます。
まず、スクリプトファイル cm0gcc.ld のAPIを保持します。ブートローダプロジェクトをアクティブに設定し、ブートローダプロジェクトの cm0gcc.ldを開いて、保持するAPIを追加します。
次に、プロジェクトを保存してビルドし、mk.batファイルを実行します。次にブートローダブルプロジェクトで、ota_mandatory.hファイルに外部宣言(extern)としてAPIの宣言を追加します。
2. ブートローダプロジェクトのサイズを小さくするにはどうすればよいですか?
A)
- ブートローダプロジェクトに追加されているコマンドを確認してください。これを行うには、ブートローダコンポーネントをダブルクリックし、プロジェクトに必要ないコマンドを削除します。
- ブートローダプロジェクトで、project > Build Settings > Compiler > Optimization Change to Size (from debug) を操作します。
- 不要なUARTプリントを削除します。
- 消費するRAMサイズを減らすには、スタックサイズを減らしてみてください。
3. CySmart PCの認証ステージでファームウェアアップグレードが失敗するのはなぜですか? A) ほとんどの場合、認証ステージでのOTA失敗は、ピアデバイスのセキュリティ設定が一致しないためです。SySmart PCアプリケーションのセキュリティ設定がOTAスタックプロジェクトのセキュリティ設定と一致していることを確認してください。
4. なぜファームウェアアップグレードは失敗しますか?
図: CySmart PC OTA進捗ウィンドウ
A)
- 正しい.cyacdファイルを選択していることを確認してください。
- BLEコンポーネントのブートローダ設定を確認し、ブートローダ特性のデータバイトサイズが正しく設定されていることを確認してください。
- 接続の確立に失敗した場合は、BLEファームウェアを確認し、カスタム基板に問題がないか調べてください。
- 認証に失敗した場合は、セキュリティ設定がプロジェクト設定と一致している事を確認してください。
- ブートローダサービスの検出/通知の有効化に失敗した場合、デバイスがブートローダモードに入っていない可能性があります。デバイスを再度ブートローダモードにしてOTAを試してください。プロジェクトのブートローダ特性の設定が正しいことも確認してください。
- ファームウェアイメージの転送に失敗した場合、正しい.cyacdファイルを選択していることを確認してください。フラッシュの読み込み/書き込みがファームウェアで正しく処理されている事を確認してください。
5. 現在のプロジェクトにOTAを追加するにはどうすればよいですか? A) https://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota... を参照してください。 6. ブートローダブルの「開始ベクタ」はどこで定義されていますか?それを変更する方法はありますか? A) ブートローダブルの開始ベクタは変更できます。これを行うには、ブートローダブルコンポーネントを開き、マニュアルアプリケーションイメージの配置を確認して配置アドレスを書き込みます。詳細はブートローダブルコンポーネントのデータシートを参照してください。このアドレスがブートローダ領域に干渉しないようにしてください。
5章:回路図レビュー/プログラミング関連1. BLEチップに推奨されているサードパーティーのプログラマは何ですか? A) http://www.cypress.com/documentation/development-kitsboards/psoc-programming-solutions を参照してください。 2. PC(PSoC Creator/Programmer)で検出されなくなったPioneer Kitを回復するにはどうすればよいですか? A) KitProg LEDの状態を確認し、Pioneer KitガイドのSection: A.5 KitProg Status LED Stats で解決策を確認してください。https://www.cypress.com/file/416971/downloadhttps://www.cypress.com/file/157906/download 3. Programmer/Creatorでデバイスが検出できないのはなぜですか? A)
- 製品番号とHexファイルが正しく選択されているか確認してください。
- SWDピンの接続を確認してください。プログラミングピンに抵抗が追加されていないか確認してください。
- ポート設定が正しいことを確認してください。
4. CySmartでCySmartドングルが検出されないのはなぜですか? A) http://www.cypress.com/knowledge-base-article/recover-cysmart-ble-dongle-kba220052 を参照してください。 5. PSoC 4 BLEの回路図デザインで留意すべき主なポイントは何ですか? A)
- 適切なECOおよびWCOクリスタルを選択してください。http://www.cypress.com/documentation/application-notes/an95089-psoc-4proc-ble-crystal-oscillator-sel... を参照してください。
- VDDピンは、以下のようにキャパシタを接続してください。
- VDDD - 全てのVDDDピンを短絡する場合は、1uFのキャパシタを1つ並列に配置出来ますが、.1uFを各ピンの近く(各VDDDピンの近く)に配置する必要があります。
- VDDA - 全てのVDDAピンを短絡する場合は、1uFのキャパシタを1つ並列に配置出来ますが、.1uFを各ピンの近く(各VDDAピンの近く)に配置する必要があります。
- VDDR - 全てのVDDRピンを短絡する場合は、1uFのキャパシタを1つ並列に配置出来ますが、.1uFを各ピンの近く(各VDDRピンの近く)に配置する必要があります。
- アンテナ - http://www.cypress.com/documentation/application-notes/an91445-antenna-design-and-rf-layout-guidelin... を参照してください。
- ピンの選択 - PCB設計に進む前に、設計で選択したすべてのピンを使っているプロジェクトが正常にビルドされることを確認してください。
6章:BLE KBA関連
1. BLE public device address - http://www.cypress.com/node/434501
2. Maximum Transmission Unit - http://www.cypress.com/knowledge-base-article/maximum-packet-size-according-mtu-kba203312
3. WCO from external clock - http://www.cypress.com/knowledge-base-article/external-oscillator-wco-psoc-4-proc-ble-kba200299
4. 3D model of Ez-BLE modules - http://www.cypress.com/knowledge-base-article/3d-model-files-ez-ble-modules-kba218122
5. Ez-BLE module placement in your PCB - http://www.cypress.com/knowledge-base-article/ez-ble-module-placement-kba97095
6. Stop mode - http://www.cypress.com/knowledge-base-article/place-psoc-4-ble-proc-ble-and-ez-ble-modules-stop-mode...
7. How to Authorize Central - http://www.cypress.com/knowledge-base-article/authorize-ble-server-gatt-db-specific-ble-clients-kba2...
8. Setting ECO cap trim for Ez-BLE modules - http://www.cypress.com/knowledge-base-article/eco-capacitance-trim-values-ez-ble-modules-kba218990
9. BLE product listing & Qualification - http://www.cypress.com/knowledge-base-article/queries-ble-qualification-and-declaration-processes-kb...
10. http://www.cypress.com/knowledge-base-article/process-qualifying-bluetooth-product-kba210711
11. FixAuthPasskey - http://www.cypress.com/knowledge-base-article/authenticate-cyble-central-and-peripheral-when-devices...
12. RF Test Firmware - http://www.cypress.com/knowledge-base-article/test-firmware-psoc-proc-ble-rf-certification-kba220073
13. Recover Cysmart Dongle - http://www.cypress.com/knowledge-base-article/recover-cysmart-ble-dongle-kba220052
14. Duplicate Filtering - http://www.cypress.com/knowledge-base-article/ble-central-unable-receive-multiple-advertisement-pack...
15. Directed Advertisement - http://www.cypress.com/knowledge-base-article/configuring-ble-peripheral-perform-directed-advertisem...
16. GATT Write - http://www.cypress.com/knowledge-base-article/updating-attribute-s-value-gatt-db-ble-gatt-server-kba...
17. Extended range module as normal module - http://www.cypress.com/knowledge-base-article/how-make-extended-range-ble-modules-work-normal-module...
18. Change Attribute size - http://www.cypress.com/knowledge-base-article/changing-ble-attribute-size-runtime-kba219049
19. Selection of Scan channel - http://www.cypress.com/knowledge-base-article/configuring-ble-central-device-work-particular-scan-an...
7章:アプリケーションノート関連
Low power - http://www.cypress.com/documentation/application-notes/an92584-designing-low-power-and-estimating-ba...
Low power - https://www.cypress.com/documentation/application-notes/an86233-psoc-4-low-power-modes-and-power-red...
BLE custom profile - http://www.cypress.com/documentation/application-notes/an91162-creating-ble-custom-profile
Ez-Serial Platform - http://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform
Crystal Oscillator tuning - http://www.cypress.com/documentation/application-notes/an95089-psoc-4proc-ble-crystal-oscillator-sel...
Antenna design - http://www.cypress.com/documentation/application-notes/an91445-antenna-design-and-rf-layout-guidelin...