mcpField
I
i2c-bringup-diagnostician

i2c-bringup-diagnostician

github.com/wedsamuel1230開発28108 回インストール2 週間前に更新
リポジトリ

i2c-bringup-diagnostician について

i2c-bringup-diagnostician は、組み込み開発やハードウェアデバッグで I2C バスとデバイス初期化の問題を調べるスキルです。電源、配線、電圧、プルアップを確認してから、アドレスやデバイスモード、ライブラリの問題を切り分けます。

主な機能

  1. 01症状に応じた障害切り分け手順
  2. 02電源・GND・SDA/SCL・プルアップの確認
  3. 03スキャナー検出とライブラリ初期化失敗の区別
  4. 04ESP32のバス・ピン差異への対応
  5. 05アドレス読み取りと修正の検証

活用シーン

  1. 01スキャンでI2Cデバイスが見つからない場合
  2. 02アドレス検出後にライブラリ初期化が失敗する場合
  3. 03ESP32のピンやバス競合の調査
  4. 04異常値や電気的な接続問題の診断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wedsamuel1230/arduino-skills --skill i2c-bringup-diagnostician

インストール後、Claude Code で/i2c-bringup-diagnosticianを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
bringup-flow.md
esp32-and-board-quirks.md
scanner-vs-library.md

詳細

I2C 起動診断

センサーまたはデバイスがバス上にあるはずなのに、I2C の経路がまだ信頼できない場合にこのスキルを使用します。

リソース

  • references/bringup-flow.md - I2C の障害を切り分ける順序付きワークフロー
  • references/scanner-vs-library.md - スキャナーでデバイスが検出されるのに、ライブラリが失敗する場合の対処方法
  • references/esp32-and-board-quirks.md - ESP32 ファミリーおよびボード固有の注意点
  • ../../docs/board-support/uno-r4-family.md - 該当する場合の Uno R4 ファミリーボードに関するメモ

使用する場面

リクエストに次の内容が含まれる場合にこのスキルを使用します。

  • 「I2C デバイスが見つかりません」
  • スキャナーではアドレスが検出されるが、ライブラリでデバイスを初期化できない
  • 2 つの I2C デバイスが競合する、または一方が認識されなくなる
  • ESP32 のピン、バス、または第 2 チャネルに関する混乱
  • プルアップ、配線の長さ、または電圧レベルに関する質問
  • 基本的な検出には成功するが、センサー値が明らかに間違っている

ワークフロー

  1. 基本的な障害の状況を確認します。
    • スキャナーで検出されない -> references/bringup-flow.md を開きます
    • スキャナーでは検出されるが、ライブラリが失敗する -> references/scanner-vs-library.md を開きます
    • ESP32 ファミリーのマルチバスまたはピンの問題 -> references/esp32-and-board-quirks.md を開きます
  2. ライブラリを切り替える前に、電気的な基本事項を確認します。
    • 電源
    • グラウンドの共通化
    • SDA と SCL の対応関係
    • プルアップ
    • ロジックレベルの互換性
  3. バスに電気的な問題がないことを確認してから、アドレス、デバイスモード、ライブラリの想定を確認します。
  4. ボードが Uno R4 ファミリーで、障害にボード固有の I2C またはサポートに関する疑問が含まれる場合は、../../docs/board-support/uno-r4-family.md も開きます。

基本ルール

  • スキャナーで検出できても、ライブラリがデバイスを正しく使用しているとは限りません。
  • ライブラリが失敗しても、センサーが故障しているとは限りません。
  • やみくもにコードを変更する前に、バス電圧、プルアップ、ピンの対応関係を明確にする必要があります。
  • ESP32 ファミリーのボードでは、ピンの選択やマルチバスに関する想定が、すべてのバリアントで通用するとは限りません。

検証

  • スキャナーが想定されるアドレスを検出するか確認します。
  • 最小限のレジスター読み取りまたは識別情報の読み取りが成功するか確認します。
  • 障害の挙動が、センサー単体ではなく、ボードファミリー、バスインスタンス、またはライブラリに関連しているか確認します。
  • 最終的な修正が、繰り返しのスキャンと実際のセンサー読み取りでも有効か確認します。

連携

  • ハードウェアをさらに詳しく切り分けるには、circuit-debugger と組み合わせます。
  • 正しいアドレス、電源、またはタイミングの詳細が不明な場合は、datasheet-interpreter と組み合わせます。
  • 最小限のテストスケッチや整理されたバスプローブが必要な場合は、arduino-code-generator と組み合わせます。

共通の出力要件

共通の Arduino スキル要件に従ってください。前提条件、必要なツールとバージョン、実装手順、検証段階ごとのテストと証拠、既知の制限事項、復旧およびセキュリティに関する注意事項を明記します。

コメント