SuperAPI AI 工具集

board-support

编程与开发

查看项目

更新于 10-16 10:39

技能介绍

用途

Board Support 是某个开发板资料库中面向 AI 的权威“确切开发板”参考与查询入口。它把用户指定的目标解析为唯一的开发板档案,抽取能力与风险,并把结果交给下游技能使用。它不替代 board-selection——后者负责根据项目需求选择或更换开发板。

主要能力

  • 具名开发板查询、能力问题、档案检索、确切引脚风险检查、来源置信度问题、框架兼容性检查都从这里开始。
  • 解析用户提供的板名,与索引中的 id、name、aliases 进行规范化匹配,要求唯一命中。营销系列、克隆板、载板,或带有不同后缀的模块都不算精确匹配。
  • 读取匹配档案的 identity_contract,识别其 profile_type(exact-board 或 bounded-variant-family),并在给出依赖边界的建议前确认所需变体与字段。
  • 输出紧凑身份信息、逻辑电平、内存、总线、ADC/PWM/定时器能力、保留或高风险引脚、框架/工具链边界、来源置信度与未决缺口。
  • 将 MCU 电气限制与开发板稳压器、连接器、总 GPIO、射频峰值或外部负载限制区分开来。
  • 对框架请求记录确切的开发板包/内核、版本或提交、FQBN/PlatformIO 环境、库版本与上传工具。
  • 对引脚请求,向 pin-assignment 技能传递结构化交接信息(board_id、profile、解析状态、确切身份、框架内核、逻辑电平、保留或高风险引脚、可用能力、未决缺口)。

使用方式

需先阅读共享的 Arduino 技能契约、开发板清单索引与 AI 参考 schema,再读取匹配的 Markdown 档案及其事实到来源的映射。只有在用户同时需要 GPIO 分配或声明时才加载 pin-assignment;当请求包含接线、烧录、供电、测量、恢复或多会话工作时,先加载 embedded-project-loop。

在仓库检出环境下,可在解读档案前使用确定性解析器:

python3 ../../scripts/resolve_board_profile.py \
  --query "<board name>" --purpose lookup

引脚或电气建议路径可使用 --purpose pin 或 --purpose electrical,并通过重复的 --identity FIELD=VALUE 传入已确认值。解析器返回非零状态是停止条件,不是猜测的许可。

响应以一个紧凑的解析信封(resolution envelope)开始,使用 YAML 记录 resolution_status、board_id、profile、matched_alias、identity、framework_core、evidence 等字段,便于其他技能无需解析散文即可消费该查询结果。当匹配到有界系列但缺少必需变体、版本、模块或框架字段时使用 needs-disambiguation;当身份充分但所请求事实在档案中没有来源支撑时使用 profile-gap。

适用场景

  • 用户询问开发板参考、引脚定义、GPIO 限制或开发板能力。
  • 在引脚分配前需要安全交接。
  • 需要检查来源置信度或框架兼容性。

限制与边界

  • 不用于从需求中选择开发板,该决策属于 board-selection。
  • 引脚分配与原始声明格式属于 pin-assignment。
  • 索引是紧凑检索面,Markdown 档案才是事实、注意事项与缺口的详细事实来源;不得编造档案或其引用主来源中不存在的字段。
  • 若多个档案匹配,须停止并询问修订号、模块后缀、开发板照片、产品标识或框架目标以消歧。
  • 若无档案匹配,应声明“未被索引开发板集支持”,并提供建立新档案所需的最少主来源,不得从相似开发板映射引脚。
  • 来源查询与 schema 校验只是文档证据,不证明接线、供电、烧录、运行时行为、系统行为或现场部署;在下游需要物理操作时,physical_status 保持 unverified。

关于是否支持从需求选板、克隆板与载板处理、输出契约的具体分节内容,资料仅提供了如上规则与提示,未提供更细的操作步骤细节。