リポジトリ
Version 3.2 最新バージョン
軽量化#2
一度にすべてのセンテンスを入れなくても、解析できるようにした。
解析データの変数をinit処理させるようにした。
結果として、小さいメモリでも動作しやすくなった。
使用方法は変わってしまうので、サンプルコードとしてexamples/pico_example_32.pyを参照
Version 3.1
解析方法の変更
analyzeにデコードしたデータを直接いれることができるようにした。 これにより、簡略化されたプログラムを作成できるようになった。
詳細はexamples/pico_example_31.pyを参照
Version 3.0
メモリの最適化
- del を使用して不要になった変数を削除するようにした
- gcを実行できるようにした
- 解析するプログラムを選択できるようにした
これにより、少ないリソースでも動作する可能性が上がった。
Version 2.9
チェックサムの機能を追加
- 各センテンスをチェックサムにより検証する機能を追加
→parse_nmea_sentencesで処理される際、チェックサムを検証するようになった。
今後はチェックサム検証を有効にするかどうかを選択できるようにする予定。
Version 2.8 リリースバージョン
RMCや経緯度変換関数の変更
RMC
- cpython環境下でmktimeのエラー回避 cpythonではmicropythonと同じように使用可能
経緯度変換関数
- cpythonでDecimalを使用するように変更
どちらも条件分岐でmicropythonとcpythonで処理を変更するようにしている。
これにより、cpython環境でも安定して動作するようになった。
Version 2.7
decimal関数を用いてissues#2を解消
使用したライブラリ
- micropython-decimal-number
THANK YOU!
latとlonは処理する前にstr()で文字列に変換する必要がある。今後はこの処理を関数に組み込む予定。
float(str())にして演算を行うと、精度が落ちるためなるべくstr型で保持するようにする。
Version 2.6 リリースバージョン
パターンにないデータの処理
2.5以前はpatternsにないデータは処理されなかったが、2.6以降は処理されるようになった。
処理されたデータはpygps2.parse_nmea_sentences()でOtherに分類される。pygps2.analyze_nmea_data()では処理されない。
例
Version 2.5
DHV ZDA TXT追加
- 解析センテンスの追加
FIXしていないときの時刻(初期値)は2000/01/01になりました - timeのmktimeエラー回避のため
Version 2.4
RMC変更
- RMCに経度から計算したローカル時刻を追加
→No FIXのときはUTC時刻でlocal_datetimeに値がある - 日付の変更に対応
Version 2.3
GST解析関数追加
- GSTセンテンスの解析関数を追加
Version 2.2
衛星のデュアルバンドによるカウント重複の解消
GNSSのセンテンスから2回以上同じPRNが検出されてもカウントしないようにした。
まだ完全ではないが、一部のセンテンスに対しては対応した。
動作確認
- AT6668
- AT6558
Version 2.1
GSV解析関数変更
- 衛星識別子を追加
GSVセンテンスの先頭2文字目から4文字目を取得
それを識別子として辞書の"type"に追加するよう処理を追加した
$BDGSV "type":"BD"
$GPGSV "type":"GP"
$GAGSV "type":"GA"
$GLGSV "type":"GL"
$GNGSV "type":"GN"
$GQGSV "type":"GQ"
$GBGSV "type":"GB"
SBASについては対応していない
$GPGSVの中にあるQZSS等のデータはGPとして処理される。
直接センテンスから取得した出力であるため、使用するモジュールによってプログラムを変更する必要がある。
Version 2.0
作成