STA22でスキー場で測定データのモニターで多くの課題が発生した点STA23では、一つ一つ解決してます。
●STA22モニターの課題 タブレットが遅すぎる
◆モニター仕様:
左右のRTKボックスからBlueToothSPPで無線送信されるデータを1台のWINDOWSタブレットでログする仕様。
実際は、タブレットは背中に背負って、操作はスマホのSplashTopというDESKTOPリモートアプリで操作。
受信だけでなく、RTKボックスを操作して、GNSS、RTK受信状態、データ落ち監視、基線長精度測定、SDカードログディレクトリー管理など多彩な機能をもったシステムを無線で操作できる仕様になってます。
●STA22モニター課題1:BlueToothSPPの2CH同時送受信がFujitsu ArrowsTab Q335では、処理能力不足で不可だった。
●STA23モニター対策=>CPUをATOM x5-Z8550でQ335のATOM Z3735より2倍CPU能力が違うCPU搭載しているタブレット ArrowsTab Q507/PEをヤフオクで仕入れました。
https://jp.fujitsu.com/platform/pc/product/arrowstab/1708/q507pe/spec.html
文教用のタブレットで大量に出品されていて1万円以下で入手できます。電池寿命が5時間程度あるものを購入しました。中には、危ない業者もいるので、悪い評価が0.5%以内の出品者を探して落札したほうがいいです。
●初期動作確認
①触った感じ:普段はThinkPad x230 corei5 3320Mを使っているのですが、それよりZ8550は、1/4能力が低いので、さすがにもっさり動作しますが、Q335のようにハングはしないで、何とか応答してくれます。
WIN11PROなので、使い勝手が慣れませんが、WIN10で作った.NET Framework 4.8のプログラム走ります。
②課題のBTSPP2Ch同時送受信:モニタープログラムrev.15を2個起動してCOM5とCOM10同時送受信してみました。
◎120msec周期で2Ch同時ログはOKでしたが、後日長時間やって評価します。
③モニタープログラムrev.15の機能
送信時のボタンハング問題について、時々ハングするので、新たな対策をいれました。
対策0:SerialPortRecieved スレッドが走っているときのBUSYフラグをみて、BUSYの時は送信しない。
=>これでも、richTextBox4個への表示書き込みタスクが時間を食うので、表示を止めないとだめだった。
対策1:表示を120msec周期は早すぎるので、1200msec周期で表示する仕様にした。
=>これでも、周期切り替えボタンtを押すときにときどきハングした。
対策2:ボタンを押すときに、SerailPortのバッファを空にして、受信タスクが完全に停止するのを待ってから送信する。Serial
=>この対策でほぼ、ボタンハングはなくなった。
対策3:更に、ダメ押しで、richTextBox表示をタイマー式にして、30秒から5分まで表示して止まるLOOK機能をつけた
=>常に見ているわけでないので、見たい時だけLOOKボタンをおして所定の秒数見るほうが、プログラムへの負荷がすくなくなって
トラブルの確率が減る対策としました。
機能4:SDログが終了したらDボタンを押して、マイコンプログラムリセットすると、SDカードのDIRの中身をBlueTooth経由で、送信してくれるので、今までのSDカードログファイルがきちんと記録できているか確認できて計測の失敗を防ぐことができます。
機能6:羅列する数値の中で重要なものを目で追えるように[]で囲ってしめしてます。マイコン側のプログラムで[]をつけて送信する仕様です。[]座標値NEDと角度headMotとHeadingとBNOのgyro積分角3個とpitch roll角です。
■Arduino Teensy4.1 TeensyDuino用です。gistにおいてあります。STA24_VCBL10cm_rev20BT_MON.ino
https://gist.github.com/dj1711572002/7489647c8507112ad9849f8ceda3a3e2
■C# .NET Framework 4.8 ソースコード 備忘録
https://gist.github.com/dj1711572002/d3437ee44dba63105f26ed022372c24f
●以後
左右用VCBLアンテナを製作して、レガースに取り付けて、歩行計測できるシステム作ります。