STA22プログラム作り進めてます。rev105までに達成したこと
GISTに置いてあります。Teensy4.1用です。シリアルポート4個、I2C使ってます。
https://gist.github.com/dj1711572002/2d26c4ef88b18017a841719b450a8d46
①3個のGNSSボードから、同時受信して、SDにログする。
②1個でも、2個でも、3個でもTPOに合わせ使える仕様。
③電源オンから、最初に静止状態にして、測定点での基線長測定をして、統計ばらつきを計算してから、測定にはいるプリプロセス機能をつけた。
④SDログの信頼性評価をして最長70分連続ログして、15分ログを5回やってOKとなった。
ポイント1:SDカードは、SandiskのExtreme32GBを使った、ノーブランドSDカードだとコケル頻度が高い。
ポイント2:TeensyのコンパイラOptimizerをTOOL-OptimizerFasterにした。Debugでやっていると遅くなりすぎてハングすることが発生したため。
●プログラムのデバッグ用画面
どこでハングするかわからないので、常時何かを表示させて、監視できるようにした。
①電源オンですること
デバイス接続のチェック(1個、2個、3個いずれも対応するが基線長は、Base必要)
受信データ順のチェック、NAV-PVTーRELPSONEDの順でないとダメなので、頭にPVTの
ヘッダが出てこない場合は、プログラムをリセットして、出てくるまでリセット続ける
Teensyをリブートするプログラムサンプルはこちらにあります。
https://github.com/rzzzwilson/teensy/blob/master/reboot_restart/reboot_restart.ino
②次にプリプロセスとして、基線長測定計算を行う。
500データをリアルタイム統計計算で、平均値と標準偏差を逐次計算する。
BlueToothに接続すれば、リアルタイムにばらつきデータがみれるので、現場での
アンテナ状態でばらつきがどうなるかその場で、確認修正できる。
③基線長精度がOKなら、本測定のログを開始する
ログの監視は、SDがハングしやすいので、どこでハングするかデータ受信から、 CLOSEまで、細かく状況データを表示させながら、監視する。最長1時間、15分単位でログがの評価を5回行った。
●以後
ポストプロセスで、どのようにデータをモニターに表示させるかを考えながらプログラム作ります。