关于 arduino-code-generator
arduino-code-generator 是用于生成 Arduino 代码片段和草图的技能,涵盖传感器、执行器、通信及嵌入式模式。它提供命令行工具、模式模板和面向开发板的指导。
主要功能
- 01通过九种模式模板生成代码片段
- 02使用命令行选择模式和开发板
- 03提供 UNO、ESP32 和 RP2040 示例
- 04支持滤波、调度、I2C 和数据记录
- 05提供开发板内存与外设指导
适用场景
- 01为 ESP32 创建 I2C 草图
- 02生成带消抖的按钮处理代码
- 03构建非阻塞任务调度示例
- 04选取引脚前检查开发板限制
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill arduino-code-generator安装后在 Claude Code 中输入/arduino-code-generator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/workflow.mmdexamples/buttons-example.inoconfig-example.inocsv-example.inodata-logging-example.inofiltering-example.inohardware-detection-example.inoi2c-example.inoREADME.mdscheduler-example.inostate-machine-example.inoreferences/patterns-buttons.mdpatterns-config.mdpatterns-csv.mdpatterns-data-logging.mdpatterns-filtering.mdpatterns-hardware-detection.mdpatterns-i2c.mdpatterns-scheduler.mdpatterns-state-machine.mdREADME.mdrules/board-optimization.mdcommon-pitfalls.mdquality-standards.mdscripts/generate_snippet.pyverify_patterns.ps1verify_patterns.shtemplates/code-output-template.mdworkflow/step1-identify-pattern.mdstep2-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
代码生成工作流
- 识别模式类型 - 分析用户请求以确定核心模式类别
- 阅读参考文档 - 查阅特定模式的参考文件以获取实现细节
- 生成代码 - 按照质量标准创建可投入生产的代码
- 提供说明 - 包含接线图和使用指导
- 提及集成 - 在相关时建议与其他模式的组合
质量标准与规则
代码输出模板
- 代码模板 - 生成的 Arduino 草图的标准化结构
资源
- 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: 说明假设、所需工具和版本、实现步骤、 按证明阶段划分的测试/证据、已知限制,以及恢复/安全注意事项。