用途
Datasheet Interpreter 用于从元器件数据手册 PDF 中提取可落地的规格信息,面向创客项目。当用户分享数据手册 PDF 链接、询问元器件规格、需要引脚分配、I2C 地址、时序要求或寄存器映射时使用。它通过下载并解析 PDF 来提取要点,并与 datasheet-parser 形成互补:后者面向完整驱动库生成(lexus2k 风格),本技能面向即时使用的快速规格提取。
主要能力
- 从 URL 下载数据手册 PDF,并通过模式匹配提取规格(脚本 scripts/extract_specs.py)。
- 支持本地 PDF 文件提取与交互模式。
- 输出可包含 markdown 格式。
- 提供参考文档 references/common-parameters.md,用于理解数据手册参数。
- 生成快速参考卡:基本信息、电气特性表、通信接口、引脚表、关键寄存器表、Arduino 接线表与重要说明。
- 针对常见元器件类别提供提取要点:I2C 传感器、SPI 器件、电机驱动、显示模块。
- 关键规格查找:电源规划、时序要求、引脚耐压。
- 寄存器映射提取,输出结构化 C/C++ 寄存器定义与位域宏。
- 生成文本接线图与基于提取规格的最小示例代码(C++/Arduino)。
- 快速查询数据库,回答常见问题(电压、I2C 速率、休眠唤醒、地址不符等)。
- 数据手册阅读提示:关键信息所在章节对照表,以及数据手册中的危险信号提示。
使用方式
安装/运行方式(保留原文):
# Extract specs from a datasheet URL
uv run --no-project scripts/extract_specs.py --url "https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf"
# Extract specs with markdown output
uv run --no-project scripts/extract_specs.py --url "https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf" --format markdown
# Extract from local PDF file
uv run --no-project scripts/extract_specs.py --file "local_datasheet.pdf"
# Interactive mode
uv run --no-project scripts/extract_specs.py --interactive
工作流程:
- 请求数据手册:需要元器件名称、数据手册 PDF 文件或 URL(优先厂商版本)、所需的具体信息(引脚分配、I2C/SPI 地址与协议、工作条件、时序要求、寄存器映射、示例电路或以上全部)。
- 校验 PDF 质量:检查是否可搜索文本(非扫描图像)、是否为官方厂商数据手册(非克隆/分销商摘要)、是否有版本号、是否完整(含寄存器表)。若 PDF 有问题,会提示提供官方厂商数据手册。
适用场景:询问“这个芯片的 I2C 地址是多少?”“这个传感器怎么接线?”“这个模块的引脚各是什么功能?”;用户分享 PDF 数据手册 URL;需要时序规格或寄存器信息;无需生成完整驱动时的快速查阅。
限制
- 依赖可搜索文本的 PDF,扫描图像版数据手册效果受限。
- 优先需要官方厂商数据手册,克隆或第三方摘要会影响结果。
- 本技能用于快速规格提取,完整驱动库生成应使用 datasheet-parser。
- 数据手册若无版本号、缺少绝对最大额定值、寄存器描述不一致、机器翻译文本或缺少协议时序图,需寻找更高质量的数据手册。
- 示例代码中标注的具体地址、寄存器与配置值需以实际数据手册为准。
共享输出契约
遵循共享 Arduino 技能契约(docs/arduino-skill-contract.md):说明假设、所需工具与版本、实现步骤、按证明阶段划分的测试/证据、已知限制、恢复/安全注意事项。