FarEast4 の Pixel 6a 対応の続き

解決したかと思ったら、まだ問題が発生?

自転車ログの復路は問題なくログ取れたけど、往路は$GPGGAが出力されてない。何が原因か分からない…

FarEast4 の Pixel 6a 対応

Pixel 4aで使用していたFarEast4はAndrois 13にアップしても問題なく動作してました。でも、Pixel 6a (Android 13)ではログが巨大になって、ゴミが混ざっている感じ。ゴミを除けば正しいログは取れているようす。

うーん、何が差異になっているんだろう?

ログをテキストエディタで見てみると、更新分が追加されるはずが、雪だるま式に増えている。

0, 1, 2, 3, 4, … が期待だけど、0, 01, 012, 0123, 01234, …となっている。

修正箇所の目星はついたけど、なぜそうなったかが謎ですね。

■2022/ 9/ 7 追記 原因が分かりました。onNmeaMessage()はNMEAのセンテンスを手当たりしだいに出してくるので、1サイクルを$GNRMCの出現をマーカーにして判別していました。マーカーが現れるごとにキャッシュをクリアして、要求時にログを出力してました。

Pixel 6aでは$GNRMCが出力されなくなったため、キャッシュがクリアされず雪だるま式に増えていったのでした。

代わりに$GPRMCをマーカーにして、期待通りの動作になりました。Pixel 4aでは問題なかったけど、機種というよりGPSチップ(?)の差異でしょうか?

HUD-2020 & Pixel 6a

なんか正常に動いてくれない。接続される、YouTube Musicは普通に動く。けれどHUD-2020側では何たらの権限を許可をしてくれ、と表示される。Pixel 6a側ではAndroid Autoは「許可していない権限はありません」になっている。

まぁ、アイの残りは明日だけなのでカーナビが無くても困らないのですが。なので、これ以上は原因追求はしません。

JuiceSSHでプライベートキー

JuiceSSHでprivate keyを使うときは暗号本文の”改行”を削除すること。

としていましたが、次でもOKでした。

geditでプライベートキーを開く > 名前をつけて保存 > 改行文字:Windows > 保存。

Ubuntu 22.04でCDリッピング

久しぶりにやると、やはり色々変わって行くので現状をメモ。次の一発でOKでした。

$ sudo apt install sound-juicer

アプリの名前はsound-juicer、すでにffmepgインストールしているためか、他は何もインストールせずにmp3で出力もできました。

Michi -GPSログ整形アプリを.NETへ移行する。 7

グラフもだいたい完成。

まだ出来ていないのは、XY各軸の数値のインターバルを決定するアルゴリズムです。現状は決め打ちっぽく固定です。とりあえずアルゴリズムは簡単に実装しました。

細かい微調整はし易く造ってるので、都度々々調整します。

Michi -GPSログ整形アプリを.NETへ移行する。 5

scottPlotやNPlotでフォントが化けるのは、結局System.Drawing.Commonが.NET6 unixではサポートされていないから?らしいですね…ということはImageSharpでゴリゴリとグラフを描画するしかないのかなぁ。

という訳で、とりあえずImageSharpで文字が描画できるかだけを確かめた。

using (SixLabors.ImageSharp.Image img = new Image<Rgba32>(500, 100))
 {
  //var font = SixLabors.Fonts.SystemFonts.CreateFont("Arial", 39, SixLabors.Fonts.FontStyle.Regular);
  var font = SixLabors.Fonts.SystemFonts.CreateFont("Ubuntu Mono", 39, SixLabors.Fonts.FontStyle.Regular);

  string text = "Hello World ハローワールド";

  img.Mutate(ctx => ctx
    .Fill(SixLabors.ImageSharp.Color.Gray)
    .DrawText(text, font, SixLabors.ImageSharp.Color.Black, new SixLabors.ImageSharp.PointF(0, 0))
  );

  img.Save("/path/test.png");
}
こんな感じに出力できた。

日本語が出ないのはフォントの指定方法が悪いせいなのか調べてません。とりあえず英語が出れば問題ないので、ImageSharpで(非常に)簡単なグラフ ライブラリを作ってみます。