M5 ATOM GPSでGPSロガーを作ってみました。詳細は英語ブログの方に書いたのですが、概要を日本語でも紹介しておきます。
英語記事はこちら。http://takyanagida.com/gpslogger-m5_version.html
M5で使われているESP32というチップ、以前に使ったAdafruit Feather M0に比べて大きいので、いろいろと苦労しました。
苦労した点はこんな感じ。
- ESP32用のSD.hは、Arduino標準のSD.hとまったく別のファイルである。
- ESP32用のコードは階層が深い。例: class SDFS < FS < Stream
- ESP32はFreeRTOS上で動き、よく分からないGuru Meditation Errorが出る。
- M5Atom.hは一応動くが、NeoPixel制御がFreeRTOSの別タスクになってたりしてイマイチ。
書いた内容はこんな感じ。
- Arduino IDEのコンパイルログを詳細化する方法。
- FastLEDをGRBオーダーで初期化する方法。
- xtensa-esp32-elf-addr2lineでGuru Meditation errorをデコードする方法。
- CPUクロックを落として少し省電力化する方法。
日本語で得た情報をいろいろ活用させてもらってます。英語記事中からもリンクを張っていますが、以下の情報は大変参考になりました。どうもありがとうございます。
M5 ATOM GPSのLEDが隠れている様子
https://twitter.com/n602_NA/status/1299603572376576000
M5 ATOM GPSのRXが接続されていない様子
https://twitter.com/norifumi5001/status/1271594286660726785
M5Atom.hを使わずにFastLEDを直接使う話
https://tomoto335.hatenablog.com/entry/m5atom-dont-use-library
Guru Meditation Errorのデコード方法
https://wamisnet.github.io/blog/2020-07-14-esp32-backtrace/