Featherで使っている地磁気センサについての話です。いう製品なのですが、両者をソフトウェアで見分ける必要が最近ありました。いうのも、5843は少し前にディスコンになった製品で、地磁気センサのみ5883Lに変更して設計をやりなおしており、新旧バージョンの違いをソフトウェアで吸収しようとしました。込み入った事情を書くと、例えば両センサは一つでX/Y/Zの3軸分とれるのですが、軸の物理的配置やその読み出し順が異なり、それをソフトウェアで補正する必要があったためです。軸配置などソフトウェアで区別をするということになると、特定のレジスタを読み出して区別ができそうです。いうまさにうってつけのレジスタがあります。とでも返してくれればいいものを...。仕方がないので、別の作戦を使うことにしました。両センサともバイアスモードというのが備わっており、一定の地磁気が加わったのと同じ状態を疑似的に作り出すことができます。これを利用することにしました。通常の計測を行った結果とバイアスモードで計測を行った結果の差をとり、その差が大きいか小さいかで5843と5883Lを見分ける、という算段です。ようなコードでうまく動作しています。見分けている部分があります。強引ですがなんとか区別がついたので満足しています。※さらに別の地磁気センサを使いだしたので、軸定義についてまとめをつくりました。No匿名でのコメントは受け付けておりません。名前(ハンドル名可)とメールアドレスは必ず入力してください。メールアドレスを表示されたくないときはURLも必ず記入してください。コメント欄でHTMLタグは使用できません。コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。BlogPeople。