ブログパーツ レンタルCGI
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪03月   2018年04月   05月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  
GPS Module・その10
 昨日の設定コマンドを時々取りこぼすと言う問題を対策してみました。 続いて、バイナリコマンドについても少し手がけてみました。
 このGPS Moduleは、正常に設定コマンドを受け取ると応答メッセージを返しますので、応答メッセージを判断して、正常受信メッセージでない時は設定コマンドを再送出してやる事にしました。 手順は概要、以下の様な感じです。

・ 設定コマンドを出すと同時に、タイマー(1秒)をスタートさせる
・ 正常な応答メッセージが返って来たら、タイマーは止めて終了
・ 正常でない応答メッセージが返って来たら、再び、設定コマンドを出すと同時に、タイマー(1秒)をスタートさせる
・ 応答メッセージが戻らずタイムアウトした時は、再び、設定コマンドを出すと同時に、タイマー(1秒)をスタートさせる
・ 再送は当面3回とする

こんな感じで、今のところ、3回ぐらい再送すれば、ほぼミス無く、設定変更できる様になりました。

180221_gps_module_42.jpg

 大体は、こんな感じで、1回で成功する訳なんですが。

180221_gps_module_43.jpg

 さて、NMEA形式の設定コマンドは、大体、上手く動く様になりましたので、次は、バイナリコマンドを実装してみる事にします。 バイナリコマンドの場合は、文字列でなくバイナリデータをシリアルポートで扱わなければならないので、ちょっと面倒そうです。 まずは、前のNMEA形式のコマンドで形が出来上がっていましたので、コマンド列の選択の中にバイナリコマンドも選択できる様にしてみました。 ただ、バイナリデータは表示できませんので、16進数の形式でコンマで区切って表示してみました。 NMEAコマンドであるか、バイナリコマンドであるかは、先頭の文字で判断する事にしました。

180221_gps_module_44.jpg

 コマンド送出の方は案外簡単に実装できました。 デフォルトの形式から$GPRMCだけの形式への設定コマンドです。

180221_gps_module_45.jpg

 こちらは、$GPRMCだけの形式から、デフォルトの形式への設定コマンドです。

 今のところ、このバイナリコマンドは取りこぼしはないようですが、念のため、エラー処理も入れておこうと思っていますが、応答メッセージを受けるには、シリアルポートからバイナリデータを受け取らなければならないので、ちょっと面倒そうです。 しっかり腹を括って取り組まなければならないようですね。

180221_gps_module_46.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ .