AtomS3 LiteでGPIO38を使おうとして苦しんだこと
公開 2025/04/30 10:39
最終更新 2025/04/30 11:38
まず前提として、

AtomS3 Lite-[Grove]-I2Cデバイス

として使用するため、他にKeyUnit(M5Stack-U144)をつなぎたかったので、5V/GNDと並んでいるG38/G39と併せて接続すればいいという発想。2nd Groveとしてみれば、ごく自然な考えだと思う。
開発環境はVSCode+PlatformIO。

このKeyUnit、ボタン(入力)をG39に接続、LED(SK6812なのでFastLEDで。)をG38に接続という形。

AtomS3.begin();
を使用すると、LEDが白色で点灯のままとなり、FastLEDをどう設定しようとも変化しないので途方に暮れていた。

AtomS3.begin();
を利用しないと、digitalRead(): ボタン入力、FastLED: LED制御、共に問題なく利用できるのでこれでよいかと思えば、GroveにつないだI2Cデバイスが利用できていないようだ。

begin()の中で、Groveと共にG39/G38に対してもI2Cポートとして初期化しているんだろうなぁとは思っていたんだけど、それを無視してpinMode()でDIOポートとして設定できないか?とは思っていた。
実際、ボタン入力は取れていたので、それでいいと思っていたのですが、まったく改善せず。
やむを得ず、M5Unified.cppに手を入れて、I2C初期化の際、G39/G38を初期化させないように書き換えてしまいました。(実際、M5Unitfiedでは、M5Stackシリーズの多くに対して内部、外部2セットのI2C設定を行っているようです。とはいえ、M5StickC PlusではG36/G26で同様に使っても問題なかったんですが。)

GPIO5とGPIO7からはLEDの制御ができました。I2C設定の対象ではないのだから、当然と言えば当然なのですけどね。なので、接続Pinが妙な感じになるのを除けば、妥協して使用することはできます。今回はそこまで時間に迫られているわけでもないので妥協しなくてもよさそうですが。

あとで時間をとって、I2Cとして初期化済みのpinをDIOとして再初期化できるようにしたいと思います。

こういうのは、ChatGPTでも教えてくれないから、自分で考えることを放棄しちゃダメだと思う。人脈があればいいんだけれど、知り合いに「何でも知っているスーパーエンジニア」はいないしなぁ。
コミュ障なので、知っているはずの人(M5Unified作成者とか)にコンタクトをとるよりは自分で調べるんすよね...。
最近の記事
ZorinOSを入れてみた
Chrome OS Flexを旧型PCに入れていたんだけど、どうもデスクトップがすっきりし過ぎて落ち着かない。 いや、汚いのが良いとは…
2025/12/19 14:24
マイクロソフトは劣化が著しい
新しいパソコンが届いたのでセットアップしようとして、サーバ上の共有フォルダを開こうとしたら、「拡張エラー」??? エ…
2025/12/16 11:29
意外と使えそうなOnlyOffice
(申し訳ない、支離滅裂な駄文です。) Windows環境で事務作業をするならExcelは必須と思う。 企業で使うなら、MS Officeプ…
2025/12/09 09:13
Antigravity便利
できることが多いと使いこなすまでの苦労が多いのが困る。 というのは冗談。 機能が多くてもわからなければ使わなくていいし…
2025/12/03 09:00
Google Antigravityを入れた
Google Antigravityを使ってみた。Gemini Code AssistのAgent modeがオンになっているVSCodeとどう違うのかよくわからん。Gemin…
2025/11/24 17:38
ある意味安直な高速化、だけど人力では経験が必要な、だからLLM
作業量が大きくて時間のかかる集計処理。 pythonでやっているんだが、これはGoとかで書き直さなきゃいけないかなぁ... と…
2025/11/18 15:19
Github Copilot無料枠は月間縛りつらいが、Geminiがある
Github CopilotでGPT-5miniとかよりも、Claude Haiku 4.5がありがたいというネタもチャットクオータの壁には勝てない。(ただし…
2025/11/18 13:21
コードの変更はClaude系が強い
Gemini Code Assistは便利ということで愛用してきたわけだが、処理内容を変更せずにリファクタリングさせようとするとGithub Co…
2025/11/11 16:36
Gemini Code AssistのAgentモードが途中で停止すると...
Gemini Code Assistにリファクタリングをさせていたところ、原因不明で停止してしまった。 今日、実施していた感じでは、いく…
2025/10/24 16:27
ワイヤレスマウスの不調
会社で使用しているワイヤレスマウスが動きが悪いということで、動作確認をしてみた。 センサで使用している赤色LEDの様子を見…
2025/10/20 11:38
WiFiルーターを変更
安いのでTP-linkの‎Archer AX3000を導入した。 インターネットプロバイダーからレンタルでつかっていたんだけれども、思うとこ…
2025/10/14 11:09
恣意的という言葉は嫌い
「恣意的」その時々の思いつきで物事を判断するさま。 というのが、まず出てくるんだけれども、weblio辞書によれば、「意図…
2025/10/10 10:19
AIのせいで新人の仕事がなくなって、就職難とのお話
ここのところ、ネット記事で読むことが多いので思ったこと。 生成AIとかLLMとか、ChatGPTに代表されるようなAIが賢くなって…
2025/10/01 15:54
Github CopilotでOllamaを利用するように設定してみたが
Github CopilotでOllama(+ローカルLLM)が使えると知って、試してみた。 なんかアダプタ的な?アプリが必要そうだってどっかの…
2025/09/30 13:24
VSCodeの拡張機能:Gemini Code Assistのほうが良いと言ったが...
CopilotでGPT4.1がデフォルトで指定されていたのを、Claude Sonnet 3.5に変更したところ、こちらのほうがよりよかったという話…
2025/09/17 13:33
細かい話ではあるんだが...
どこぞの企業の執行役員が登壇で、その肩書がCDTO(Cheif Digital Technology Officer) CTO(Cheif Technology Officer)でいいじ…
2025/09/17 11:22
落ち着いて考えてみたら、Open-interpreterってもういらないな
ずっと期待して待っていた部分はあるんだけど、よく考えてみたら、Open-Interpreterでやりたいことって、Github CopilotやGemin…
2025/09/16 11:18
こりゃ、AIなしには仕事にならないわ...
ここ数日、まとまった時間が取れたので、月次処理に使っているプログラムをGemini Code Assistにリファクタリングさせている。 …
2025/09/12 16:54
米が高い
うちの親が、いつものルートで米を買おうとしたが断られたので、そこから紹介されたところから買うことになった。ネットから予…
2025/09/10 17:47
ここ数日Copilotにリファクタリングを手伝わせていたんだけれども
試行錯誤が必要だったからと、jupyter notebook上で処理をさせてきたプログラムがある。 毎月使うプログラムなので、ここらでp…
2025/09/10 16:53
もっと見る
タグ
AI(37)
IT(17)
IoT(6)
雑感(6)
愚痴(5)
AI,(4)
IT,(4)
日記(3)
RPA(2)
アニメ(2)
ChatGPTで遊ぶ(1)
Windows11(1)
自動処理(1)
もっと見る