بنقرة واحدة
logic-analyzer
当需要用 Saleae 逻辑分析仪在线采集数字波形并解码 I2C/SPI/UART/CAN 时使用,通过 Logic 2 自动化服务驱动硬件采集、添加协议解码器并导出数据。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
当需要用 Saleae 逻辑分析仪在线采集数字波形并解码 I2C/SPI/UART/CAN 时使用,通过 Logic 2 自动化服务驱动硬件采集、添加协议解码器并导出数据。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
嵌入式开发技能集的总控入口。负责两类任务:(1) 用户请求安装本仓库 skill 时,引导选择全部或按需安装;(2) 用户发出模糊指令(如"烧录"、"编译"、"调试")且无法自动判断应使用哪个具体 skill 时,列出同分类下的候选 skill 供用户选择。
当需要使用已探测或显式指定的产物与探针配置,调用自带脚本通过 OpenOCD 烧录嵌入式固件时使用。
当需要识别正确串口、调用自带脚本抓取日志,并分析嵌入式固件运行状态时使用。
当需要串联多个 skill 完成编译+烧录+监控或编译+烧录+调试等流水线任务时使用。
当需要通过 Keil MDK 命令行编译嵌入式工程,调用自带脚本解析工程文件、执行构建并定位固件产物时使用。
当需要通过 PlatformIO 命令行编译嵌入式工程,调用自带脚本解析环境配置、执行构建并定位固件产物时使用。
| name | logic-analyzer |
| description | 当需要用 Saleae 逻辑分析仪在线采集数字波形并解码 I2C/SPI/UART/CAN 时使用,通过 Logic 2 自动化服务驱动硬件采集、添加协议解码器并导出数据。 |
Logic.exe --automation 启动)。--include-sim)。logic2-automation(pip install logic2-automation)先阅读 references/usage.md,确认操作参数与解码器设置键。
探测环境(检查包、端口、Logic 2 连通性与设备):
python scripts/la_tool.py --detect
列出设备:
python scripts/la_tool.py --devices
采集与解码。推荐用可重复的 --analyzer,一次采集可挂多个解码器,各自导出独立 CSV:
# 单协议:I2C(SCL=CH0, SDA=CH1)
python scripts/la_tool.py --capture --channels 0-1 --samplerate 4M --duration 5 \
--analyzer "i2c:scl=0,sda=1"
# 多协议同时解码:I2C + UART + SPI
python scripts/la_tool.py --capture --channels 0-6 --samplerate 16M --duration 5 \
--analyzer "i2c:scl=0,sda=1" \
--analyzer "uart:rx=2,baud=115200" \
--analyzer "spi:clk=3,mosi=4,miso=5,cs=6"
# CAN(单线,500kbps)
python scripts/la_tool.py --capture --channels 0 --samplerate 4M --duration 5 \
--analyzer "can:can=0,baud=500000"
--analyzer 格式为 协议:键=值,...:
i2c:scl、sda(均必填)spi:clk(必填),mosi、miso、cs(可选,未接的省略)uart:rx(必填)、baud(默认 115200)can:can(必填,CAN 信号通道)、baud(默认 500000)同协议出现多次会自动按 i2c、i2c2 区分导出文件名。
输出位置:默认存到工程根 .captures/logic-analyzer/,文件名带时间戳防覆盖(如 i2c_20260625_201048.csv)。
LA_CAPTURE_DIR 覆盖默认目录。--output 路径 指定文件;相对路径相对默认目录,绝对路径原样。--radix hex|dec|bin|ascii(默认 hex)。让 AI 调用本 skill 时,通道映射是必须说清的物理接线信息(AI 无法探测),SCL/SDA、CLK 等谁接哪个通道要明确。模板(填空即用):
抓 I2C,SCL=通道5,SDA=通道6,采集20秒抓 SPI,CLK=通道3,MOSI=通道4,MISO=通道5,CS=通道6,采集10秒抓 UART,RX=通道2,波特率115200,采集10秒抓 CAN,信号接通道0,波特率500k,采集10秒同时抓 I2C(SCL=5,SDA=6) 和 UART(RX=2,波特率115200),采集15秒可省略项(不说则用默认):采样率(I2C/UART/CAN 用 4M 足够,SPI 高速建议 16M~24M)、时长(默认 5 秒)、端口/地址(默认 10430 / 本机,无需指定)。 采集期间务必让总线有通信,否则解出空表。
--launch,实验性)脚本支持 --launch 自动拉起 Logic 2(用完自动关闭),省去手动开软件。但在部分环境(如从 git bash 后台启动 GUI)实测不可靠——进程无法维持、端口起不来。默认仍建议手动打开 Logic 2 并开启 automation server,用普通连接模式。 仅在确认本机环境支持时使用 --launch。
python scripts/la_tool.py --capture --channels 0-1 --samplerate 4M --duration 5 \
--decode i2c --i2c-scl 0 --i2c-sda 1
新代码优先用 --analyzer;--decode 仅在未提供 --analyzer 时生效。
支持新协议(如 1-Wire、LIN、Manchester 等)只需在 scripts/la_tool.py 的 ANALYZER_NAMES 与 ANALYZER_SPECS 各加一条:协议短名 → Logic 2 解码器名、短键到 settings 键的映射、必填键列表。解析、采集、导出逻辑全部自动复用,无需改函数体(CAN 即按此方式加入)。
关键:settings 键名必须与 Logic 2 界面里该解码器的设置项完全一致。不要凭猜——最可靠的做法是在 Logic 2 运行时用 API 试探:对一个临时采集反复 add_analyzer(name, settings=...),成功的那组键名即为正确值。
tool-missing:logic2-automation 未安装。connection-failure:连不上 Logic 2 自动化服务(软件未运行或未开启 automation server)。no-device:未发现已连接的 Saleae 设备。capture-failure:采集启动或过程出错。decode-error:协议解码器添加失败(通常是设置键或通道映射不匹配)。示例输出格式:
结果: ✅ 采集完成 5.0s,2 个解码器: i2c, uart
连接: 127.0.0.1:10430 ch=[0, 1, 2] 16000000Hz 5.0s
📄 输出: E:\work\project\.captures\logic-analyzer\i2c_20260625_201643.csv
📄 输出: E:\work\project\.captures\logic-analyzer\uart_20260625_201643.csv
导出的 CSV 列:name,type,start_time,duration,ack,address,read,data(随协议略有差异)。
data 列按 --radix 指定进制显示(默认十六进制,如 0x2C)。
build-keil / build-platformio 烧录固件后,用此 skill 验证总线时序。serial-monitor 互补:serial-monitor 查看串口调试输出,logic-analyzer 做信号级时序验证。visa-debug 互补:visa-debug 用示波器测模拟量,logic-analyzer 解数字协议。