Super Sylphide 進捗状況(79) -- あらちょっとすごいロガー (NinjaScan Slim2) 実装
先日記事を書いた『あらちょっとすごいロガー』ことNinjaScan-Slim2ですが、実装してみました。
あらちょっとすごいロガーは、ちょっとすごいロガーや、もうちょっとすごいロガーからソフト的に大きく変更しなければならない部分がありました。後者では慣性センサにInvensense MPU-6000、地磁気センサにFreescale MAG3110を使っていたのですが、前者では慣性センサと地磁気センサが統一されたInvensense MPU-9250を使うことにしたためです。MPU-9250では、地磁気センサ部として旭化成 AK8963が内臓されており、それが内部のI2Cバスで接続されているため、地磁気センサにアクセスするにはMPU-9250内のレジスタを介して間接的に行う必要があります。結果、動作確認をとれたコードがmpu9250.cになります。
コードが動くまでの過程を思い返してみると、MPU-9250本体のデータシートだけでは不十分で、AK8963のデータシートを参照する必要がありました。特に地磁気データが格納されているのは6byteなのですが、さらに1byteのステータス情報も読みださないと、データが更新されないという部分で嵌りました。このことに気付いたのは、mbed用に実装されたMPU-9250のコードを参照(334行目付近)したときでした。情報は多いに越したことはありません。
※次の進捗は、あらちょっとすごいロガー Rev.Bです。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。