Bluetoothソフト開発はメーカーのSDKを使用する事が多いですが、NordicのSDKであった事3題
1.そこでクリアするな!
SoftDevice S110を使用する必要があり、SDK10を使用した時の事です。
以前ペアリングした事の有るデバイスの情報は記録するのですが、SDK10は過去のペアリング情報を検索すると、見つけた内容を「クリアしてから」返すので、結果的に再ペアリングが必要になっていました。
クリアしないで返すようにSDK10の修正が必要でした。
2.それを共有するな!
I2Cが2チャンネル必要になり、SDK12のサンプルを探しましたが、普通のライブラリは2チャンネル同時使用できなかったり、バスリセットする時にバスの空き待ちして停止したりで、使用できませんでした。(←これもタイガイ)
最終的に Hardware Access Library を使用したのですが、うまく動きませんでした。
I2C 2チャンネル分の割り込み処理で変数が共用されていたからです。
メモリに余裕があったので、Hardware Access Library のI2C部分を、ほぼ重複して持つ事になりました。
3.「0個」の管理はしっかり!
SDK15でも、LEDライブラリ使用時に「使用するスイッチを0個」にすると、コンパイルエラーになります。
スイッチ/LEDの数を「1個以上」と仮定したライブラリになっていました。
(合計0個はokですが、どちらか0個がng)
ポート番号定義のメモリを見る前に、事前に個数を確認するように、ライブラリを修正する必要がありました。
非常に久しぶりの更新で、かつ初めてのスマホ更新なので緊張しています。
何か不備等がありましても、ご容赦頂けますよう、お願いいたします。