mcpField
I
i2c-bringup-diagnostician

i2c-bringup-diagnostician

github.com/wedsamuel1230その他28113 回インストール2 週間前に更新
リポジトリ

i2c-bringup-diagnostician について

ArduinoプロジェクトのI2Cデバイスやバスの初期設定を診断するスキルです。デバイス未検出、初期化失敗、競合などについて、電気的な基本事項からアドレスやライブラリの動作まで確認します。

主な機能

  1. 01症状に応じた診断手順の選択
  2. 02電源、GND、ピン配置の確認
  3. 03プルアップとロジックレベルの検証
  4. 04アドレス、レジスター読み取り、ライブラリの確認

活用シーン

  1. 01I2Cスキャナーでデバイスが見つからない場合
  2. 02検出されてもライブラリで初期化できない場合
  3. 03デバイス競合やESP32のバス設定の調査

インストール

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

$npx skills add https://github.com/wedsamuel1230/embedded-engineering-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 スキル要件に従ってください。前提条件、必要なツールとバージョン、実装手順、検証段階ごとのテストと証拠、既知の制限事項、復旧およびセキュリティに関する注意事項を明記します。

コメント