2020年6月2日火曜日

VL53L0X、試用中

 たまに思い出したように試して都度失敗するセンサ。

***

 VL53L0X_ERROR_REF_SPAD_INITが出るのがよくあるパターン。ぐぐると、STコミュニティにスレッドがあった。
 SPAD Initialization error?
 ずばりそのもの。

 曰く、「マルチライトでインデックスとデータの間にStartを挟むとコケる」とのこと。試しにStartを出さず、1回でインデックスとデータを渡すようにすると、ERROR REF SPAD INITは出なくなった。
 何という罠。。。

 TSYS01だと読み出し時のリスタートコンディションはダメでStop→Startを出さなきゃだめ、みたいな感じで、I2Cのスタート・リスタート周りは気をつけるべきかも。

***

 続いて、vl53l0x_SingleRanging_Long_Range_Example.cのコードをコピペしてテスト。
 Signal Failが発生。これは名前が普遍的なのでググってもコレといった情報が出てこない。

 いろいろ試して、最終的にいよいよ意味わからんのでUSBケーブル抜いて差し直してみたら、動いてしまった。。。VL側の変なフラグが立ったままリセットされずにエラー返し続けたものと思われる。
 GPSモジュールとかもそうだけど、電源切ってリセットするとあっさり動く、みたいなやつは結構地雷。テスト中に踏み抜くと延々抜け出せないし、実稼働中に踏み抜いてもヤバい。

***

 距離データとして出てくる値は正常な感じ。少なくとも、メジャーやBOSHのレンジファインダーで測った距離と誤差の範囲で一致。
 ということで、正常に動いていると思われる。

***

 しかし、今まで何回か試して動かなかったの、複数バイト書き込みのバグだったのかぁ。。。

 現在配布中のAPIは、ファームウェアバージョンが1.0.2、サンプルコードは1.0.1向け、なので、「バージョン違うAPI使ってるよ」という警告が出る。無視しても動くっぽいが、精神的によろしくない。
 STのToFセンサはドキュメントが公開されていないので、トラブルシューティングとかは面倒な感じ。

***

 特に使いたい用途はないので、動いたからと言って何なんだ、という話ではあるが、今まで使えなかったヤツが使えるようになったので、少しスッキリ。

0 件のコメント:

コメントを投稿