mcpField
P
pin-assignment

pin-assignment

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

pin-assignment について

ボードに応じたピン割り当てを計画し、論理宣言 ID と物理 GPIO 番号を区別するスキルです。対象ボードの制約を確認し、指定された宣言形式と順序を守ります。

主な機能

  1. 01ボード固有のピン解決
  2. 02信号能力の分類
  3. 03予約ピンの確認
  4. 04安定した論理 ID の割り当て
  5. 05順序を保った C++ 宣言
  6. 06検証段階ごとの証拠報告

活用シーン

  1. 01特定ボード向けのピン計画
  2. 02指定順での宣言生成
  3. 03周辺機能に基づく候補ピンの確認

インストール

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

$npx skills add https://github.com/wedsamuel1230/embedded-engineering-skills --skill pin-assignment

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

詳細

ピン割り当て

リポジトリの宣言規約を維持しながら、ボードを考慮したピン計画を作成します。論理宣言 ID は自動的に物理 GPIO 番号になるわけではありません。これらの層は明確に分けてください。

インテーク

ボードとリビジョン、MCU/モジュール、フレームワーク/コアのバージョン、ツールチェーン、信号名、方向、電圧、電流、プル要件、バスの所有権、ブート/デバッグ/USB/無線の制約、およびユーザーが宣言、物理配線、またはその両方を求めているかを正確に記録します。まず ../board-support/SKILL.md を使ってターゲットを特定します。要求されたピンアドバイスの用途に対して、その resolution_status は resolved でなければなりません。物理ピンを選ぶ前に、../../references/boards/ 内の対応するファイルを読み込みます。ボードが範囲の定められたファミリーに属し、識別情報が不足している場合は、類似のプロファイルを使用せずに作業を止め、不足情報を求めます。

手順

  1. 各信号を入力、出力、アナログ、PWM、バス、割り込み、ブート、デバッグ、USB、フラッシュ、PSRAM、または無線関連に分類します。
  2. ボード固有のフラッシュ、PSRAM、USB、ブートストラップ、デバッグ、およびデフォルトのバスピンは、正確なボード資料で再利用が承認されていない限り予約します。
  3. 信号に必要な方向、プル機能、電圧、電流、ADC、PWM、またはプロトコルの動作と一致しない候補は除外します。
  4. 論理 ID を固定し、要求された固定順序で割り当てます。
  5. ユーザーが宣言のみを求めている場合は、宣言だけをプレーンテキストで出力します。コードフェンス、見出し、説明、末尾のコメントは追加しません。
  6. 物理マップが求められている場合は、別に提示し、前提と出典で裏付けられた制約を明記します。

必須の宣言規約

ユーザーのカスタム出力モードでは、数値順に並べた生の C++ 宣言を使用します。

constexpr int btn_esc = 101;
constexpr int btn_enter = 102;
constexpr int led_status = 103;

要求された信号ごとに、次の連続した論理値を使用します。ユーザーが物理 GPIO 番号として明示的に定義しない限り、これらの値は安定した論理識別子です。この形式を enum、マクロ、配列、名前空間、説明用のラッパー、または順序を変更した宣言リストに置き換えてはいけません。

不適切な正当化への対応

近道対応
「このピンはたぶん空いています。」正確なボードリファレンスと有効な周辺機能を確認します。
「GPIO34 はすべての ESP32 で LED に使えます。」クラシック ESP32 の入力専用 GPIO34-39 は出力には使えないため除外します。ESP32-S3 と区別し、そのモジュールのピン表を確認します。
「GPIO0 は単なる別の出力ピンです。」割り当てる前に、ストラップ機能とリセット時のレベルを確認します。
「コンパイルは成功しました。」配線とターゲットでの動作は未検証のままにします。
「コードの周りで宣言を説明できます。」宣言のみのモードでは、順序どおりの生の行だけを出力します。

検証

  • 宣言名と値は constexpr int であり、指定された開始 ID から厳密に増加します。
  • すべての物理出力は、正確なボードにおいて、入力専用、フラッシュ/PSRAM、USB、および未承認のストラップピンを避けます。
  • 電圧/電流とプルアップ要件には出典を示すか、情報が不明であることを明記します。
  • ビルドの証明、アップロードの証明、ハードウェアの証明、システムの証明は、それぞれ別に報告します。

共通出力要件

共通の Arduino スキル契約を使用します。前提条件、必要なツールとバージョン、実装手順、証明段階ごとのテスト/証拠、既知の制限事項、復旧/セキュリティに関する注意事項を記載します。

コメント