firmwareloop 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/PKG-INFO +3 -3
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/README.md +2 -2
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/PKG-INFO +3 -3
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/pyproject.toml +1 -1
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/__init__.py +1 -1
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/fw_mcp_server.py +7 -7
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/ndtdbg_bridge.ps1 +3 -1
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/setup-agent-mcp.ps1 +2 -2
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/LICENSE +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/SOURCES.txt +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/dependency_links.txt +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/entry_points.txt +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/requires.txt +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/firmwareloop.egg-info/top_level.txt +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/setup.cfg +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/acceptance-scenario.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/build.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/can.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/check-qoder-mcp.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/common/build-backends.psm1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/common/fw.psm1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/common/uart_probe.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/doctor.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/flash.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/instrument_cli.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/lib/__init__.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/lib/instruments.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/lib/ndtdbg.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/logic_capture.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/logic_decode.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/ndtdbg_cli.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/reset.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/sigrok_csv_to_fwloop.py +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/test-backends.ps1 +0 -0
- {firmwareloop-0.2.1 → firmwareloop-0.2.2}/tools/test.ps1 +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: firmwareloop
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: AI Agent Firmware Development and Lab Automation Platform (Dual-Tier MCP Server)
|
|
5
5
|
Author-email: WeilinZhang <19523330249@163.com>
|
|
6
6
|
License: MIT
|
|
@@ -381,7 +381,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
381
381
|
├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
|
|
382
382
|
├── demo-make/ 示例固件(Make;构建测试载体)
|
|
383
383
|
├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
|
|
384
|
-
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.
|
|
384
|
+
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.2)
|
|
385
385
|
├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
|
|
386
386
|
├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
|
|
387
387
|
├── CLAUDE.md Claude Code CLI 指南
|
|
@@ -391,7 +391,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
391
391
|
|
|
392
392
|
---
|
|
393
393
|
|
|
394
|
-
## 能力验证状态(v0.2.
|
|
394
|
+
## 能力验证状态(v0.2.2)
|
|
395
395
|
|
|
396
396
|
> 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
|
|
397
397
|
> `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
|
|
@@ -353,7 +353,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
353
353
|
├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
|
|
354
354
|
├── demo-make/ 示例固件(Make;构建测试载体)
|
|
355
355
|
├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
|
|
356
|
-
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.
|
|
356
|
+
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.2)
|
|
357
357
|
├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
|
|
358
358
|
├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
|
|
359
359
|
├── CLAUDE.md Claude Code CLI 指南
|
|
@@ -363,7 +363,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
363
363
|
|
|
364
364
|
---
|
|
365
365
|
|
|
366
|
-
## 能力验证状态(v0.2.
|
|
366
|
+
## 能力验证状态(v0.2.2)
|
|
367
367
|
|
|
368
368
|
> 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
|
|
369
369
|
> `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: firmwareloop
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: AI Agent Firmware Development and Lab Automation Platform (Dual-Tier MCP Server)
|
|
5
5
|
Author-email: WeilinZhang <19523330249@163.com>
|
|
6
6
|
License: MIT
|
|
@@ -381,7 +381,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
381
381
|
├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
|
|
382
382
|
├── demo-make/ 示例固件(Make;构建测试载体)
|
|
383
383
|
├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
|
|
384
|
-
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.
|
|
384
|
+
├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.2.2)
|
|
385
385
|
├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
|
|
386
386
|
├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
|
|
387
387
|
├── CLAUDE.md Claude Code CLI 指南
|
|
@@ -391,7 +391,7 @@ claude mcp remove --scope user agentic-hil
|
|
|
391
391
|
|
|
392
392
|
---
|
|
393
393
|
|
|
394
|
-
## 能力验证状态(v0.2.
|
|
394
|
+
## 能力验证状态(v0.2.2)
|
|
395
395
|
|
|
396
396
|
> 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
|
|
397
397
|
> `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""
|
|
3
|
-
fw_mcp_server.py - FirmwareLoop High-Level Workflow & Device MCP Server (v0.2.
|
|
3
|
+
fw_mcp_server.py - FirmwareLoop High-Level Workflow & Device MCP Server (v0.2.2).
|
|
4
4
|
|
|
5
5
|
Exposes high-level firmware engineering and hardware management tools to AI Coding
|
|
6
6
|
Agents (Antigravity CLI, Claude Code CLI, Qoder IDE, CodeBuddy IDE, Cursor) via the Model Context
|
|
@@ -1619,7 +1619,7 @@ def process_request(req: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
|
|
1619
1619
|
},
|
|
1620
1620
|
"serverInfo": {
|
|
1621
1621
|
"name": "firmwareloop",
|
|
1622
|
-
"version": "0.2.
|
|
1622
|
+
"version": "0.2.2"
|
|
1623
1623
|
}
|
|
1624
1624
|
}
|
|
1625
1625
|
}
|
|
@@ -1754,7 +1754,7 @@ def _settle_stashed_entrypoints(stashed) -> None:
|
|
|
1754
1754
|
def handle_cli_update() -> int:
|
|
1755
1755
|
"""Handle `firmwareloop update` command."""
|
|
1756
1756
|
print("============================================================")
|
|
1757
|
-
print(" FirmwareLoop Auto-Updater (v0.2.
|
|
1757
|
+
print(" FirmwareLoop Auto-Updater (v0.2.2)")
|
|
1758
1758
|
print("============================================================")
|
|
1759
1759
|
|
|
1760
1760
|
is_git_repo = os.path.exists(os.path.join(REPO_ROOT, ".git"))
|
|
@@ -2029,7 +2029,7 @@ def set_ndtdbg_dlldir(dll_path: str) -> str:
|
|
|
2029
2029
|
def handle_cli_setup() -> int:
|
|
2030
2030
|
"""Handle `firmwareloop setup` command: simultaneously configure Antigravity CLI, Claude Code CLI, Qoder IDE, and CodeBuddy IDE."""
|
|
2031
2031
|
print("============================================================")
|
|
2032
|
-
print(" FirmwareLoop Multi-Agent Global Setup Helper (v0.2.
|
|
2032
|
+
print(" FirmwareLoop Multi-Agent Global Setup Helper (v0.2.2)")
|
|
2033
2033
|
print("============================================================")
|
|
2034
2034
|
print("")
|
|
2035
2035
|
|
|
@@ -2154,7 +2154,7 @@ def handle_cli_setup() -> int:
|
|
|
2154
2154
|
def handle_cli_init() -> int:
|
|
2155
2155
|
"""Handle `firmwareloop init` command."""
|
|
2156
2156
|
print("============================================================")
|
|
2157
|
-
print(" FirmwareLoop Multi-Agent Project Initializer (v0.2.
|
|
2157
|
+
print(" FirmwareLoop Multi-Agent Project Initializer (v0.2.2)")
|
|
2158
2158
|
print("============================================================")
|
|
2159
2159
|
cwd = os.getcwd()
|
|
2160
2160
|
print(f"[*] Initializing multi-agent guidelines & bench config in:\n {cwd}\n")
|
|
@@ -2175,7 +2175,7 @@ def handle_cli_init() -> int:
|
|
|
2175
2175
|
|
|
2176
2176
|
|
|
2177
2177
|
def print_cli_help() -> None:
|
|
2178
|
-
print("""FirmwareLoop (fwloop) — AI Agent Firmware Engineering & Lab Automation Platform (v0.2.
|
|
2178
|
+
print("""FirmwareLoop (fwloop) — AI Agent Firmware Engineering & Lab Automation Platform (v0.2.2)
|
|
2179
2179
|
|
|
2180
2180
|
Usage:
|
|
2181
2181
|
fwloop [command] (or: firmwareloop [command])
|
|
@@ -2215,7 +2215,7 @@ def main() -> None:
|
|
|
2215
2215
|
sys.exit(2)
|
|
2216
2216
|
sys.exit(handle_cli_ndtdebugtool(args[1]))
|
|
2217
2217
|
elif cmd in ["version", "-v", "--version"]:
|
|
2218
|
-
print("FirmwareLoop v0.2.
|
|
2218
|
+
print("FirmwareLoop v0.2.2")
|
|
2219
2219
|
sys.exit(0)
|
|
2220
2220
|
elif cmd in ["help", "-h", "--help"]:
|
|
2221
2221
|
print_cli_help()
|
|
@@ -534,7 +534,9 @@ try {
|
|
|
534
534
|
if ($tag -eq "IO_FAIL") { $hasIoFail = $true }
|
|
535
535
|
elseif ($tag -eq "FF_GAP") { $hasGap = $true }
|
|
536
536
|
$tRel = [math]::Round($sw.Elapsed.TotalMilliseconds, 1)
|
|
537
|
-
|
|
537
|
+
# 方法调用参数列表里逗号是参数分隔符, 必须括号把整个 -f 表达式包成单参数,
|
|
538
|
+
# 否则 -f 只拿到 1 个参数, {1} 起索引越界 (FormatException)
|
|
539
|
+
[Console]::WriteLine(("#F`t{0}`t{1}`t0x{2:X2}`t{3}`t{4}" -f $frameNo, $tRel, $reg, $hexOut, $tag))
|
|
538
540
|
[Console]::Out.Flush()
|
|
539
541
|
}
|
|
540
542
|
if ($hasIoFail) { $framesIoFail++; $consecIoFail++ }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<#
|
|
2
2
|
.SYNOPSIS
|
|
3
|
-
Dual-Tier MCP setup and registration helper (v0.2.
|
|
3
|
+
Dual-Tier MCP setup and registration helper (v0.2.2).
|
|
4
4
|
Inspects installed AI coding agents (Qoder, Claude Code, Antigravity, Cursor)
|
|
5
5
|
and configures global MCP / skills or prints exact registration commands.
|
|
6
6
|
|
|
@@ -242,7 +242,7 @@ if ($Json) {
|
|
|
242
242
|
Write-FwJson ([pscustomobject]$report)
|
|
243
243
|
} else {
|
|
244
244
|
Write-Host "============================================================" -ForegroundColor Cyan
|
|
245
|
-
Write-Host " FirmwareLoop Dual-Tier MCP & Agent Setup Helper (v0.2.
|
|
245
|
+
Write-Host " FirmwareLoop Dual-Tier MCP & Agent Setup Helper (v0.2.2)" -ForegroundColor Green
|
|
246
246
|
Write-Host "============================================================" -ForegroundColor Cyan
|
|
247
247
|
Write-Host ""
|
|
248
248
|
Write-Host "[1] Google Antigravity / Gemini CLI:" -ForegroundColor Yellow
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|