mcpField
A
arduino-code-generator

arduino-code-generator

github.com/wedsamuel1230开发28412 次安装2 周前更新
代码仓库

关于 arduino-code-generator

arduino-code-generator 是用于生成 Arduino 代码片段和草图的技能,涵盖传感器、执行器、通信及嵌入式模式。它提供命令行工具、模式模板和面向开发板的指导。

主要功能

  1. 01通过九种模式模板生成代码片段
  2. 02使用命令行选择模式和开发板
  3. 03提供 UNO、ESP32 和 RP2040 示例
  4. 04支持滤波、调度、I2C 和数据记录
  5. 05提供开发板内存与外设指导

适用场景

  1. 01为 ESP32 创建 I2C 草图
  2. 02生成带消抖的按钮处理代码
  3. 03构建非阻塞任务调度示例
  4. 04选取引脚前检查开发板限制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wedsamuel1230/embedded-engineering-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 代码片段。

快速开始

浏览示例 sketch:

# 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 个生产就绪的示例 sketch(每个模式类别一个)
  • examples/README.md - 每个示例的详细文档,附接线图
  • scripts/generate_snippet.py - 代码生成命令行工具,包含 9 个模式模板
  • 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 降噪(移动平均、中值、Kalman)
  • DHT22、BME280、模拟传感器
  • 数据校验和校准

参见 patterns-filtering.md | 示例:filtering-example.ino

输入处理
  • 软件按键消抖
  • 边缘检测(PRESSED/RELEASED/LONG_PRESS)
  • 多按键管理

参见 patterns-buttons.md | 示例:buttons-example.ino

通信
  • I2C 设备扫描和诊断
  • SPI 配置
  • UART/串口协议
  • 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
  • SD 卡 FAT32 日志记录
  • EEPROM 磨损均衡
  • 缓冲写入

参见 patterns-data-logging.md | 示例:data-logging-example.ino

代码生成工作流

质量标准与规则

代码输出模板

资源

  • examples/ - 9 个可投入生产的示例草图(每个模式类别一个)
  • examples/README.md - 每个示例的详细文档,包含接线图
  • scripts/generate_snippet.py - 用于代码生成的命令行工具,包含 9 个模式模板
  • assets/workflow.mmd - 代码生成工作流的 Mermaid 图
  • workflow/ - 分步代码生成流程
  • rules/ - 质量标准和特定开发板的优化
  • templates/ - 代码输出模板和结构指南
  • references/ - 详细的模式文档和 API 参考
  • references/README.md - 参考结构和格式指南

共享输出契约

使用 the shared Arduino skill contract: 说明假设、所需工具和版本、实现步骤、 按证明阶段划分的测试/证据、已知限制,以及恢复/安全注意事项。

评论

支持 Markdown