nRF51822で、InputとOutputだけのサービスを持つ自分用テンプレートを、SoftDevice v8.1.0に対応した。
https://github.com/hirokuma/nrf51822_templete_v810
まだほとんど動かしていないが、アドバタイジングするのと、CONNECT/DISCONNECTでLEDが変わるところだけ見た。
つまり、サービスの動作はまったく見てないのだ・・・。
個人的な課題としてずっと残っているのだが、あまり構成に関する設計が得意じゃなくてですな。。。
「これはドライバだからこう」とか「アプリだからこう」みたいなのが、ぐちゃぐちゃになっている。
なるべく分けるようにしているのだけど、今回だとSoftDeviceとBLEのところをどう切り分けるか、とか、BLEからのコールバックをさらにアプリへコールバックするとき、アプリから登録してもらうようにするか、あらかじめ名前を決めておいてアプリに実装してもらうようにするか、とか。
特に、コールバックについては、登録制にするとお互いが独立して汎用性は高くなるんだろうけど、その分の実装サイズも増えるし、保持しておくRAMも増えてしまう。
それくらいだったら、名前決め決めでやってしまった方がやさしいのでは・・・、などと考えてしまう。
この辺がダメなのかしら。。。
ひとまず今回のコミット#2では、ドライバ類をラップしたものをdrivers.c,hに、BLE関係をapp_ble.c,hにまとめることにした。
以下は、愚痴だ。
nRF51 SDKには、BLE関係のAPIなどがある。
これの名前が「ble_」で始まる。
こんなありがちな名前を付けられたら、アプリ側は名前が付けにくいじゃないか!
Bluetooth Low Energyの略で、BLE。
それはわかるのだが、頭に「nrf_」をつけるなどして、これはnRF51 SDKのAPIなんだ、とわかるようにしてほしかった。。。
じゃあ、とアプリで使う方に「app_」とつけるようにしたんだけど、これはこれでlibrariesに「app_button」なんかがあるので、紛らわしくなってしまった。
librariesなら「lib_button」とかにしてくれよ!
悩める私であった。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。