mcpField
A
arduino-code-generator

arduino-code-generator

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

arduino-code-generator について

arduino-code-generator は、組み込み開発でよく使われるパターンの Arduino コードを生成するスキルです。ボード別テンプレートや例、ビルドとハードウェアの検証ガイドを備えています。

主な機能

  1. 019 種類のパターンテンプレートから生成
  2. 02UNO、ESP32、RP2040 に対応
  3. 03センサー、入力、通信、タイミングを網羅
  4. 04サンプルスケッチと配線ガイドを提供
  5. 05コンパイル結果とボード制約を確認

活用シーン

  1. 01ESP32 向けの I2C スケッチ作成
  2. 02Arduino プロジェクトへのボタンデバウンス追加
  3. 03ノンブロッキングスケジューラーやステートマシンの構築
  4. 04センサーデータの EEPROM または SD への記録

インストール

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

$npx skills add https://github.com/wedsamuel1230/arduino-skills --skill arduino-code-generator

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

同梱ファイル

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

assets/
workflow.mmd
examples/
buttons-example.ino
config-example.ino
csv-example.ino
data-logging-example.ino
filtering-example.ino
hardware-detection-example.ino
i2c-example.ino
README.md
scheduler-example.ino
state-machine-example.ino
references/
patterns-buttons.md
patterns-config.md
patterns-csv.md
patterns-data-logging.md
patterns-filtering.md
patterns-hardware-detection.md
patterns-i2c.md
patterns-scheduler.md
patterns-state-machine.md
README.md
rules/
board-optimization.md
common-pitfalls.md
quality-standards.md
scripts/
generate_snippet.py
verify_patterns.ps1
verify_patterns.sh
templates/
code-output-template.md
workflow/
step1-identify-pattern.md
step2-read-reference.md

詳細

Arduino コードジェネレーター

センサー、アクチュエーター、通信、組み込みパターン向けに、製品品質の Arduino コードスニペットを生成します。

クイックスタート

サンプルスケッチを表示する:

# See 9 production-ready examples in examples/ folder
ls examples/
# config-example.ino, filtering-example.ino, buttons-example.ino,
# i2c-example.ino, csv-example.ino, scheduler-example.ino,
# state-machine-example.ino, hardware-detection-example.ino,
# data-logging-example.ino

利用可能なパターンを一覧表示する:

uv run --no-project scripts/generate_snippet.py --list

特定のパターンとボード向けのコードを生成する:

uv run --no-project scripts/generate_snippet.py --pattern i2c --board esp32
uv run --no-project scripts/generate_snippet.py --pattern buttons --board uno --output button.ino

対話モード:

uv run --no-project scripts/generate_snippet.py --interactive

対象ゲート

ピン、API、ライブラリを選択する前に、共通コントラクトとボードプロファイルを確認してください。ボード固有の分岐は分離し、メモリと周辺機器の制約を確認して、結果がビルド確認のみなのか、アップロード、ハードウェア、システムの確認も行われているのかを明記してください。ジェネレーターのボードフラグはテンプレートの選択に使うものであり、見た目が似たボードで生成コードが動作することの証明にはなりません。

リソース

  • examples/ - 本番環境向けのサンプルスケッチ9点(パターンカテゴリごとに1点)
  • examples/README.md - 各サンプルの詳細な説明と配線図
  • scripts/generate_snippet.py - 9種類のパターンテンプレートを備えたコード生成用CLIツール
  • scripts/verify_patterns.ps1 - UNO/ESP32/RP2040向けのサンプルをコンパイル(PowerShell)
  • scripts/verify_patterns.sh - UNO/ESP32/RP2040向けのサンプルをコンパイル(bash)
  • assets/workflow.mmd - コード生成ワークフローのMermaid図

対応パターン

ハードウェア抽象化
  • 条件付きコンパイルに対応したマルチボード用config.h
  • UNO/ESP32/RP2040向けのピン定義
  • メモリ予算の追跡

patterns-config.mdを参照 | 例:config-example.ino

センサー読み取りとフィルタリング
  • ADCノイズの低減(移動平均、中央値、カルマンフィルター)
  • DHT22、BME280、アナログセンサー
  • データの検証とキャリブレーション

patterns-filtering.mdを参照 | 例:filtering-example.ino

入力処理
  • ソフトウェアによるボタンのデバウンス
  • エッジ検出(PRESSED/RELEASED/LONG_PRESS)
  • 複数ボタンの管理

patterns-buttons.mdを参照 | 例:buttons-example.ino

通信
  • I2Cデバイスのスキャンと診断
  • SPIの設定
  • UART/Serialプロトコル
  • CSVデータ出力

patterns-i2c.mdとpatterns-csv.mdを参照 | 例:i2c-example.ino、csv-example.ino

タイミングと並行処理
  • ノンブロッキングのmillis()パターン
  • delay()を使わないタスクスケジューリング
  • 優先度ベースのスケジューラー
  • ステートマシン

patterns-scheduler.mdとpatterns-state-machine.mdを参照 | 例:scheduler-example.ino、state-machine-example.ino

ハードウェア検出
  • ボードの自動検出(UNO/ESP32/RP2040)
  • SRAM使用量の監視
  • センサーのフォールバック戦略
  • 適応型設定

patterns-hardware-detection.mdを参照 | 例:hardware-detection-example.ino

データ永続化
  • CRC検証付きEEPROM
  • FAT32形式のSDカードへのログ記録
  • EEPROMのウェアレベリング
  • バッファー書き込み

patterns-data-logging.mdを参照 | 例:data-logging-example.ino

コード生成ワークフロー

品質基準とルール

コード出力テンプレート

リソース

  • examples/ - 本番環境で使用できるサンプルスケッチ 9 件(各パターンカテゴリにつき 1 件)
  • examples/README.md - 各サンプルの詳細なドキュメントと配線図
  • scripts/generate_snippet.py - 9 種類のパターンテンプレートを備えた、コード生成用 CLI ツール
  • assets/workflow.mmd - コード生成ワークフローの Mermaid 図
  • workflow/ - コード生成の手順
  • rules/ - 品質基準とボード固有の最適化
  • templates/ - コード出力テンプレートと構成ガイドライン
  • references/ - パターンの詳細なドキュメントと API リファレンス
  • references/README.md - リファレンスの構成と書式ガイド

共通の出力要件

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

コメント