From 50372c116a2448a904cbdd1e14397fcea7819a95 Mon Sep 17 00:00:00 2001 From: argenis de la rosa Date: Sat, 28 Feb 2026 20:15:40 -0500 Subject: [PATCH 1/2] feat(hardware): add pico flash and runtime code toolchain --- src/firmware/pico/main.py | 102 ++++ src/firmware/pico/zeroclaw-pico.uf2 | Bin 0 -> 675840 bytes src/hardware/mod.rs | 15 + src/hardware/pico_code.rs | 723 ++++++++++++++++++++++++++++ src/hardware/pico_flash.rs | 296 ++++++++++++ src/hardware/uf2.rs | 351 ++++++++++++++ 6 files changed, 1487 insertions(+) create mode 100644 src/firmware/pico/main.py create mode 100644 src/firmware/pico/zeroclaw-pico.uf2 create mode 100644 src/hardware/pico_code.rs create mode 100644 src/hardware/pico_flash.rs create mode 100644 src/hardware/uf2.rs diff --git a/src/firmware/pico/main.py b/src/firmware/pico/main.py new file mode 100644 index 000000000..1d0b540dc --- /dev/null +++ b/src/firmware/pico/main.py @@ -0,0 +1,102 @@ +# ZeroClaw Pico firmware — serial JSON protocol handler +# MicroPython — Raspberry Pi Pico (RP2040) +# +# Wire protocol: +# Host → Device: {"cmd":"gpio_write","params":{"pin":25,"value":1}}\n +# Device → Host: {"ok":true,"data":{"pin":25,"value":1,"state":"HIGH"}}\n +# +# Pin direction policy: +# gpio_write always configures the pin as OUTPUT and caches it. +# gpio_read uses the cached Pin object if one already exists, so a pin +# that was set via gpio_write retains its OUTPUT direction — it is NOT +# reconfigured to INPUT. If no cached Pin exists the pin is opened as +# INPUT and the new Pin is cached for subsequent reads. + +import sys +import json +from machine import Pin + +# Onboard LED — GPIO 25 on Pico 1 +led = Pin(25, Pin.OUT) + +# Cache of Pin objects keyed by pin number (excludes the onboard LED on 25). +# gpio_write stores pins as OUTPUT; gpio_read reuses the existing Pin if one +# is cached rather than clobbering its direction. +pins_cache = {} + +def handle(msg): + cmd = msg.get("cmd") + params = msg.get("params", {}) + + if cmd == "ping": + # data.firmware must equal "zeroclaw" for ping_handshake() to pass + return {"ok": True, "data": {"firmware": "zeroclaw", "version": "1.0.0"}} + + elif cmd == "gpio_write": + pin_num = params.get("pin") + value = params.get("value") + if pin_num is None or value is None: + return {"ok": False, "error": "missing pin or value"} + # Validate/cast pin_num to int (JSON may deliver it as float or string) + try: + pin_num = int(pin_num) + except (TypeError, ValueError): + return {"ok": False, "error": "invalid pin"} + if pin_num < 0: + return {"ok": False, "error": "invalid pin"} + # Normalize value: accept bool or int, must resolve to 0 or 1. + if isinstance(value, bool): + value = int(value) + if not isinstance(value, int) or value not in (0, 1): + return {"ok": False, "error": "invalid value: must be 0 or 1"} + if pin_num == 25: + led.value(value) + else: + # Reuse a cached Pin object when available to avoid repeated + # allocations; re-initialise direction to OUT in case it was + # previously opened as IN by gpio_read. + if pin_num in pins_cache: + pins_cache[pin_num].init(mode=Pin.OUT) + else: + pins_cache[pin_num] = Pin(pin_num, Pin.OUT) + pins_cache[pin_num].value(value) + state = "HIGH" if value == 1 else "LOW" + return {"ok": True, "data": {"pin": pin_num, "value": value, "state": state}} + + elif cmd == "gpio_read": + pin_num = params.get("pin") + if pin_num is None: + return {"ok": False, "error": "missing pin"} + # Validate/cast pin_num to int + try: + pin_num = int(pin_num) + except (TypeError, ValueError): + return {"ok": False, "error": "invalid pin"} + if pin_num < 0: + return {"ok": False, "error": "invalid pin"} + value = led.value() if pin_num == 25 else ( + pins_cache[pin_num].value() if pin_num in pins_cache + else pins_cache.setdefault(pin_num, Pin(pin_num, Pin.IN)).value() + ) + state = "HIGH" if value == 1 else "LOW" + return {"ok": True, "data": {"pin": pin_num, "value": value, "state": state}} + + else: + return {"ok": False, "error": "unknown cmd: {}".format(cmd)} + +while True: + try: + line = sys.stdin.readline().strip() + if not line: + continue + msg = json.loads(line) + result = handle(msg) + print(json.dumps(result)) + except (ValueError, KeyError, TypeError, OSError, AttributeError) as e: + # ValueError — json.loads() on malformed input + # KeyError — unexpected missing key in a message dict + # TypeError — wrong type in an operation + # OSError — GPIO/hardware errors from Pin()/Pin.value() + # AttributeError — msg.get(...) called on non-dict JSON value + # Any other exception propagates so bugs surface during development. + print(json.dumps({"ok": False, "error": str(e)})) diff --git a/src/firmware/pico/zeroclaw-pico.uf2 b/src/firmware/pico/zeroclaw-pico.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..5841c919c7edff6a072b7af8895e243ec9b78dd2 GIT binary patch literal 675840 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

g14VVd<_WS|e%W#v4?3SQ1q6(g%_nN@57D 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, + device_alias: Option<&str>, +) -> Result<(String, String, DeviceRuntime), ToolResult> { + let reg = registry.read().await; + + let alias: String = match device_alias { + Some(a) => a.to_string(), + None => { + // Auto-select the first device. + let all_aliases: Vec = + reg.aliases().into_iter().map(|a| a.to_string()).collect(); + match all_aliases.as_slice() { + [single] => single.clone(), + [] => { + return Err(ToolResult { + success: false, + output: String::new(), + error: Some("no device found — is a board connected via USB?".to_string()), + }); + } + multiple => { + return Err(ToolResult { + success: false, + output: String::new(), + error: Some(format!( + "multiple devices found ({}); specify the \"device\" parameter", + multiple.join(", ") + )), + }); + } + } + } + }; + + let device = reg.get_device(&alias).ok_or_else(|| ToolResult { + success: false, + output: String::new(), + error: Some(format!("device '{alias}' not found in registry")), + })?; + + let runtime = device.runtime; + + let port = device.port().ok_or_else(|| ToolResult { + success: false, + output: String::new(), + error: Some(format!( + "device '{alias}' has no serial port — is it connected?" + )), + })?; + + Ok((alias, port.to_string(), runtime)) +} + +/// Return an unsupported-runtime error `ToolResult` for a given tool name. +fn unsupported_runtime(runtime: &DeviceRuntime, tool: &str) -> ToolResult { + ToolResult { + success: false, + output: String::new(), + error: Some(format!( + "{runtime} runtime is not yet supported for {tool} — coming soon" + )), + } +} + +/// Run an `mpremote` command with a timeout and return (stdout, stderr). +async fn run_mpremote(args: &[&str], timeout_secs: u64) -> Result<(String, String), String> { + use tokio::time::timeout; + + let result = timeout( + std::time::Duration::from_secs(timeout_secs), + tokio::process::Command::new("mpremote").args(args).output(), + ) + .await; + + match result { + Ok(Ok(output)) => { + let stdout = String::from_utf8_lossy(&output.stdout).to_string(); + let stderr = String::from_utf8_lossy(&output.stderr).to_string(); + if output.status.success() { + Ok((stdout, stderr)) + } else { + Err(format!( + "mpremote failed (exit {}): {}", + output.status, + stderr.trim() + )) + } + } + Ok(Err(e)) => Err(format!( + "mpremote not found or could not start ({e}). \ + Install it with: pip install mpremote" + )), + Err(_) => Err(format!( + "mpremote timed out after {timeout_secs}s — \ + the device may be unresponsive" + )), + } +} + +// ── DeviceReadCodeTool ──────────────────────────────────────────────────────── + +/// Tool: read the current `main.py` from a connected device. +/// +/// The LLM uses this to understand the current program before modifying it. +pub struct DeviceReadCodeTool { + registry: Arc>, +} + +impl DeviceReadCodeTool { + pub fn new(registry: Arc>) -> Self { + Self { registry } + } +} + +#[async_trait] +impl Tool for DeviceReadCodeTool { + fn name(&self) -> &str { + "device_read_code" + } + + fn description(&self) -> &str { + "Read the current program (main.py) running on a connected device. \ + Use this before writing new code so you understand the current state." + } + + fn parameters_schema(&self) -> serde_json::Value { + json!({ + "type": "object", + "additionalProperties": false, + "properties": { + "device": { + "type": "string", + "description": "Device alias e.g. pico0, esp0. Auto-selected if only one device is connected." + } + }, + "required": [] + }) + } + + async fn execute(&self, args: serde_json::Value) -> anyhow::Result { + let device_alias = args.get("device").and_then(|v| v.as_str()); + + let (alias, port, runtime) = match resolve_device_port(&self.registry, device_alias).await { + Ok(v) => v, + Err(tool_result) => return Ok(tool_result), + }; + + // Runtime dispatch. + match runtime { + DeviceRuntime::MicroPython | DeviceRuntime::CircuitPython => {} + other => return Ok(unsupported_runtime(&other, "device_read_code")), + } + + tracing::info!(alias = %alias, port = %port, runtime = %runtime, "reading main.py from device"); + + match run_mpremote( + &["connect", &port, "cat", ":main.py"], + MPREMOTE_TIMEOUT_SECS, + ) + .await + { + Ok((stdout, _stderr)) => Ok(ToolResult { + success: true, + output: if stdout.trim().is_empty() { + format!("main.py on {alias} is empty or not found.") + } else { + format!( + "Current main.py on {alias}:\n\n```python\n{}\n```", + stdout.trim() + ) + }, + error: None, + }), + Err(e) => { + // mpremote cat fails if main.py doesn't exist — not a fatal error. + if e.contains("OSError") || e.contains("no such file") || e.contains("ENOENT") { + Ok(ToolResult { + success: true, + output: format!( + "No main.py found on {alias} — the device has no program yet." + ), + error: None, + }) + } else { + Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("Failed to read code from {alias}: {e}")), + }) + } + } + } + } +} + +// ── DeviceWriteCodeTool ─────────────────────────────────────────────────────── + +/// Tool: write a complete program to a device as `main.py`. +/// +/// This replaces the current `main.py` on the device and resets it so the new +/// program starts executing immediately. +pub struct DeviceWriteCodeTool { + registry: Arc>, +} + +impl DeviceWriteCodeTool { + pub fn new(registry: Arc>) -> Self { + Self { registry } + } +} + +#[async_trait] +impl Tool for DeviceWriteCodeTool { + fn name(&self) -> &str { + "device_write_code" + } + + fn description(&self) -> &str { + "Write a complete program to a device — replaces main.py and restarts the device. \ + Always read the current code first with device_read_code." + } + + fn parameters_schema(&self) -> serde_json::Value { + json!({ + "type": "object", + "additionalProperties": false, + "properties": { + "device": { + "type": "string", + "description": "Device alias e.g. pico0, esp0. Auto-selected if only one device is connected." + }, + "code": { + "type": "string", + "description": "Complete program to write as main.py" + } + }, + "required": ["code"] + }) + } + + async fn execute(&self, args: serde_json::Value) -> anyhow::Result { + let code = match args.get("code").and_then(|v| v.as_str()) { + Some(c) => c, + None => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some("missing required parameter: code".to_string()), + }); + } + }; + + if code.trim().is_empty() { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some("code parameter is empty — provide a program to write".to_string()), + }); + } + + let device_alias = args.get("device").and_then(|v| v.as_str()); + + let (alias, port, runtime) = match resolve_device_port(&self.registry, device_alias).await { + Ok(v) => v, + Err(tool_result) => return Ok(tool_result), + }; + + // Runtime dispatch. + match runtime { + DeviceRuntime::MicroPython | DeviceRuntime::CircuitPython => {} + other => return Ok(unsupported_runtime(&other, "device_write_code")), + } + + tracing::info!(alias = %alias, port = %port, runtime = %runtime, code_len = code.len(), "writing main.py to device"); + + // Write code to an atomic, owner-only temp file via tempfile crate. + let named_tmp = match tokio::task::spawn_blocking(|| { + tempfile::Builder::new() + .prefix("zeroclaw_main_") + .suffix(".py") + .tempfile() + }) + .await + { + Ok(Ok(f)) => f, + Ok(Err(e)) => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("failed to create temp file: {e}")), + }); + } + Err(e) => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("temp file task failed: {e}")), + }); + } + }; + let tmp_path = named_tmp.path().to_path_buf(); + let tmp_str = tmp_path.to_string_lossy().to_string(); + + if let Err(e) = tokio::fs::write(&tmp_path, code).await { + // named_tmp dropped here — auto-removes the file. + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("failed to write temp file: {e}")), + }); + } + + // Deploy via mpremote: copy + reset. + let result = run_mpremote( + &["connect", &port, "cp", &tmp_str, ":main.py", "+", "reset"], + MPREMOTE_TIMEOUT_SECS, + ) + .await; + + // Explicit cleanup — log if removal fails rather than silently ignoring. + if let Err(e) = named_tmp.close() { + tracing::warn!(path = %tmp_str, err = %e, "failed to clean up temp file"); + } + + match result { + Ok((_stdout, _stderr)) => { + tracing::info!(alias = %alias, "main.py deployed and device reset"); + + // Wait for the serial port to reappear after reset. + tokio::time::sleep(std::time::Duration::from_secs(2)).await; + let port_reappeared = wait_for_port( + &port, + std::time::Duration::from_secs(PORT_WAIT_SECS), + std::time::Duration::from_millis(PORT_POLL_MS), + ) + .await; + + if port_reappeared { + Ok(ToolResult { + success: true, + output: format!( + "Code deployed to {alias} — main.py updated and device reset. \ + {alias} is back online." + ), + error: None, + }) + } else { + Ok(ToolResult { + success: true, + output: format!( + "Code deployed to {alias} — main.py updated and device reset. \ + Note: serial port did not reappear within {PORT_WAIT_SECS}s; \ + the device may still be booting." + ), + error: None, + }) + } + } + Err(e) => Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("Failed to deploy code to {alias}: {e}")), + }), + } + } +} + +// ── DeviceExecTool ──────────────────────────────────────────────────────────── + +/// Tool: run a one-off code snippet on a device without modifying `main.py`. +/// +/// Good for one-time commands, sensor reads, and testing code before committing. +pub struct DeviceExecTool { + registry: Arc>, +} + +impl DeviceExecTool { + pub fn new(registry: Arc>) -> Self { + Self { registry } + } +} + +#[async_trait] +impl Tool for DeviceExecTool { + fn name(&self) -> &str { + "device_exec" + } + + fn description(&self) -> &str { + "Execute a code snippet on a connected device without modifying main.py. \ + Good for one-time actions, sensor reads, and testing before writing permanent code." + } + + fn parameters_schema(&self) -> serde_json::Value { + json!({ + "type": "object", + "additionalProperties": false, + "properties": { + "device": { + "type": "string", + "description": "Device alias e.g. pico0, esp0. Auto-selected if only one device is connected." + }, + "code": { + "type": "string", + "description": "Code to execute. Output is captured and returned." + } + }, + "required": ["code"] + }) + } + + async fn execute(&self, args: serde_json::Value) -> anyhow::Result { + let code = match args.get("code").and_then(|v| v.as_str()) { + Some(c) => c, + None => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some("missing required parameter: code".to_string()), + }); + } + }; + + if code.trim().is_empty() { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some( + "code parameter is empty — provide a code snippet to execute".to_string(), + ), + }); + } + + let device_alias = args.get("device").and_then(|v| v.as_str()); + + let (alias, port, runtime) = match resolve_device_port(&self.registry, device_alias).await { + Ok(v) => v, + Err(tool_result) => return Ok(tool_result), + }; + + // Runtime dispatch. + match runtime { + DeviceRuntime::MicroPython | DeviceRuntime::CircuitPython => {} + other => return Ok(unsupported_runtime(&other, "device_exec")), + } + + tracing::info!(alias = %alias, port = %port, runtime = %runtime, code_len = code.len(), "executing snippet on device"); + + // Write snippet to an atomic, owner-only temp file via tempfile crate. + let named_tmp = match tokio::task::spawn_blocking(|| { + tempfile::Builder::new() + .prefix("zeroclaw_exec_") + .suffix(".py") + .tempfile() + }) + .await + { + Ok(Ok(f)) => f, + Ok(Err(e)) => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("failed to create temp file: {e}")), + }); + } + Err(e) => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("temp file task failed: {e}")), + }); + } + }; + let tmp_path = named_tmp.path().to_path_buf(); + let tmp_str = tmp_path.to_string_lossy().to_string(); + + if let Err(e) = tokio::fs::write(&tmp_path, code).await { + // named_tmp dropped here — auto-removes the file. + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("failed to write temp file: {e}")), + }); + } + + // Execute via mpremote run (does NOT modify main.py). + let result = + run_mpremote(&["connect", &port, "run", &tmp_str], MPREMOTE_TIMEOUT_SECS).await; + + // Explicit cleanup — log if removal fails rather than silently ignoring. + if let Err(e) = named_tmp.close() { + tracing::warn!(path = %tmp_str, err = %e, "failed to clean up temp file"); + } + + match result { + Ok((stdout, stderr)) => { + let output = if stdout.trim().is_empty() && !stderr.trim().is_empty() { + // Some MicroPython output goes to stderr (e.g. exceptions). + stderr.trim().to_string() + } else { + stdout.trim().to_string() + }; + + Ok(ToolResult { + success: true, + output: if output.is_empty() { + format!("Code executed on {alias} — no output produced.") + } else { + format!("Output from {alias}:\n{output}") + }, + error: None, + }) + } + Err(e) => Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("Failed to execute code on {alias}: {e}")), + }), + } + } +} + +// ── port wait helper ────────────────────────────────────────────────────────── + +/// Poll for a specific serial port to reappear after a device reset. +/// +/// Returns `true` if the port exists within the timeout, `false` otherwise. +async fn wait_for_port( + port_path: &str, + timeout: std::time::Duration, + interval: std::time::Duration, +) -> bool { + let deadline = tokio::time::Instant::now() + timeout; + while tokio::time::Instant::now() < deadline { + if std::path::Path::new(port_path).exists() { + return true; + } + tokio::time::sleep(interval).await; + } + false +} + +/// Factory function: create all Phase 7 dynamic code tools. +pub fn device_code_tools(registry: Arc>) -> Vec> { + vec![ + Box::new(DeviceReadCodeTool::new(registry.clone())), + Box::new(DeviceWriteCodeTool::new(registry.clone())), + Box::new(DeviceExecTool::new(registry)), + ] +} + +#[cfg(test)] +mod tests { + use super::*; + + fn empty_registry() -> Arc> { + Arc::new(RwLock::new(DeviceRegistry::new())) + } + + // ── DeviceReadCodeTool ─────────────────────────────────────────── + + #[test] + fn device_read_code_name() { + let tool = DeviceReadCodeTool::new(empty_registry()); + assert_eq!(tool.name(), "device_read_code"); + } + + #[test] + fn device_read_code_schema_valid() { + let tool = DeviceReadCodeTool::new(empty_registry()); + let schema = tool.parameters_schema(); + assert_eq!(schema["type"], "object"); + assert!(schema["properties"]["device"].is_object()); + } + + #[tokio::test] + async fn device_read_code_no_device_returns_error() { + let tool = DeviceReadCodeTool::new(empty_registry()); + let result = tool.execute(json!({})).await.unwrap(); + assert!(!result.success); + assert!( + result.error.as_deref().unwrap_or("").contains("no device"), + "expected 'no device' error; got: {:?}", + result.error + ); + } + + // ── DeviceWriteCodeTool ────────────────────────────────────────── + + #[test] + fn device_write_code_name() { + let tool = DeviceWriteCodeTool::new(empty_registry()); + assert_eq!(tool.name(), "device_write_code"); + } + + #[test] + fn device_write_code_schema_requires_code() { + let tool = DeviceWriteCodeTool::new(empty_registry()); + let schema = tool.parameters_schema(); + let required = schema["required"].as_array().expect("required array"); + assert!( + required.iter().any(|v| v.as_str() == Some("code")), + "code should be required" + ); + } + + #[tokio::test] + async fn device_write_code_empty_code_rejected() { + let tool = DeviceWriteCodeTool::new(empty_registry()); + let result = tool.execute(json!({"code": ""})).await.unwrap(); + assert!(!result.success); + assert!(result.error.as_deref().unwrap_or("").contains("empty")); + } + + #[tokio::test] + async fn device_write_code_no_device_returns_error() { + let tool = DeviceWriteCodeTool::new(empty_registry()); + let result = tool + .execute(json!({"code": "print('hello')"})) + .await + .unwrap(); + assert!(!result.success); + assert!(result.error.as_deref().unwrap_or("").contains("no device"),); + } + + // ── DeviceExecTool ─────────────────────────────────────────────── + + #[test] + fn device_exec_name() { + let tool = DeviceExecTool::new(empty_registry()); + assert_eq!(tool.name(), "device_exec"); + } + + #[test] + fn device_exec_schema_requires_code() { + let tool = DeviceExecTool::new(empty_registry()); + let schema = tool.parameters_schema(); + let required = schema["required"].as_array().expect("required array"); + assert!( + required.iter().any(|v| v.as_str() == Some("code")), + "code should be required" + ); + } + + #[tokio::test] + async fn device_exec_empty_code_rejected() { + let tool = DeviceExecTool::new(empty_registry()); + let result = tool.execute(json!({"code": " "})).await.unwrap(); + assert!(!result.success); + assert!(result.error.as_deref().unwrap_or("").contains("empty")); + } + + #[tokio::test] + async fn device_exec_no_device_returns_error() { + let tool = DeviceExecTool::new(empty_registry()); + let result = tool.execute(json!({"code": "print(1+1)"})).await.unwrap(); + assert!(!result.success); + assert!(result.error.as_deref().unwrap_or("").contains("no device"),); + } + + // ── Factory ────────────────────────────────────────────────────── + + #[test] + fn factory_returns_three_tools() { + let reg = empty_registry(); + let tools = device_code_tools(reg); + assert_eq!(tools.len(), 3); + let names: Vec<&str> = tools.iter().map(|t| t.name()).collect(); + assert!(names.contains(&"device_read_code")); + assert!(names.contains(&"device_write_code")); + assert!(names.contains(&"device_exec")); + } + + #[test] + fn all_specs_valid() { + let reg = empty_registry(); + let tools = device_code_tools(reg); + for tool in &tools { + let spec = tool.spec(); + assert!(!spec.name.is_empty()); + assert!(!spec.description.is_empty()); + assert_eq!(spec.parameters["type"], "object"); + } + } +} diff --git a/src/hardware/pico_flash.rs b/src/hardware/pico_flash.rs new file mode 100644 index 000000000..f604ae51f --- /dev/null +++ b/src/hardware/pico_flash.rs @@ -0,0 +1,296 @@ +//! `pico_flash` tool — flash ZeroClaw firmware to a Pico in BOOTSEL mode. +//! +//! # Happy path +//! 1. User holds BOOTSEL while plugging in Pico → RPI-RP2 drive appears. +//! 2. User asks "flash my pico". +//! 3. LLM calls `pico_flash(confirm=true)`. +//! 4. Tool copies UF2 to RPI-RP2 drive; Pico reboots into MicroPython. +//! 5. Tool waits up to 20 s for `/dev/cu.usbmodem*` to appear. +//! 6. Tool deploys `main.py` via `mpremote` and resets the Pico. +//! 7. Tool waits for the serial port to reappear after reset. +//! 8. Tool returns success; user restarts ZeroClaw to get `pico0`. + +use super::device::DeviceRegistry; +use super::uf2; +use crate::tools::traits::{Tool, ToolResult}; +use async_trait::async_trait; +use serde_json::json; +use std::sync::Arc; +use tokio::sync::RwLock; + +/// How long to wait for the Pico serial port after flashing (seconds). +const PORT_WAIT_SECS: u64 = 20; + +/// How often to poll for the serial port. +const PORT_POLL_MS: u64 = 500; + +// ── PicoFlashTool ───────────────────────────────────────────────────────────── + +/// Tool: flash ZeroClaw MicroPython firmware to a Pico in BOOTSEL mode. +/// +/// The Pico must be connected with BOOTSEL held so it mounts as `RPI-RP2`. +/// After flashing, the tool deploys `main.py` via `mpremote`, then reconnects +/// the serial transport in the [`DeviceRegistry`] so subsequent `gpio_write` +/// calls work immediately without restarting ZeroClaw. +pub struct PicoFlashTool { + registry: Arc>, +} + +impl PicoFlashTool { + pub fn new(registry: Arc>) -> Self { + Self { registry } + } +} + +#[async_trait] +impl Tool for PicoFlashTool { + fn name(&self) -> &str { + "pico_flash" + } + + fn description(&self) -> &str { + "Flash ZeroClaw firmware to a Raspberry Pi Pico in BOOTSEL mode. \ + The Pico must be connected with the BOOTSEL button held (shows as RPI-RP2 drive in Finder). \ + After flashing the Pico reboots, main.py is deployed, and the serial \ + connection is refreshed automatically — no restart needed." + } + + fn parameters_schema(&self) -> serde_json::Value { + json!({ + "type": "object", + "properties": { + "confirm": { + "type": "boolean", + "description": "Set to true to confirm flashing the Pico firmware" + } + }, + "required": ["confirm"] + }) + } + + async fn execute(&self, args: serde_json::Value) -> anyhow::Result { + // ── 1. Require explicit confirmation ────────────────────────────── + let confirmed = args + .get("confirm") + .and_then(|v| v.as_bool()) + .unwrap_or(false); + + if !confirmed { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some( + "Set confirm=true to proceed with flashing. \ + This will overwrite the firmware on the connected Pico." + .to_string(), + ), + }); + } + + // ── 2. Detect BOOTSEL-mode Pico ─────────────────────────────────── + let mount = match uf2::find_rpi_rp2_mount() { + Some(m) => m, + None => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some( + "No Pico in BOOTSEL mode found (RPI-RP2 drive not detected). \ + Hold the BOOTSEL button while plugging the Pico in via USB, \ + then try again." + .to_string(), + ), + }); + } + }; + + tracing::info!(mount = %mount.display(), "RPI-RP2 volume found"); + + // ── 3. Ensure firmware files are extracted ──────────────────────── + let firmware_dir = match uf2::ensure_firmware_dir() { + Ok(d) => d, + Err(e) => { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("firmware error: {e}")), + }); + } + }; + + // ── 4. Flash UF2 ───────────────────────────────────────────────── + if let Err(e) = uf2::flash_uf2(&mount, &firmware_dir).await { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("flash failed: {e}")), + }); + } + + // ── 5. Wait for serial port to appear ───────────────────────────── + let port = uf2::wait_for_serial_port( + std::time::Duration::from_secs(PORT_WAIT_SECS), + std::time::Duration::from_millis(PORT_POLL_MS), + ) + .await; + + let port = match port { + Some(p) => p, + None => { + // Flash likely succeeded even if port didn't appear in time — + // some host systems are slower to enumerate the new port. + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!( + "UF2 copied to {} but serial port did not appear within {PORT_WAIT_SECS}s. \ + Unplug and replug the Pico, then run:\n \ + mpremote connect cp ~/.zeroclaw/firmware/pico/main.py :main.py + reset", + mount.display() + )), + }); + } + }; + + tracing::info!(port = %port.display(), "Pico serial port online after UF2 flash"); + + // ── 6. Deploy main.py via mpremote ──────────────────────────────── + if let Err(e) = uf2::deploy_main_py(&port, &firmware_dir).await { + return Ok(ToolResult { + success: false, + output: String::new(), + error: Some(format!("main.py deploy failed: {e}")), + }); + } + + // ── 7. Wait for serial port after mpremote reset ────────────────── + // + // mpremote resets the Pico so the serial port disappears briefly. + // Give the OS a moment to drop the old entry before polling. + tokio::time::sleep(std::time::Duration::from_secs(2)).await; + + let final_port = uf2::wait_for_serial_port( + std::time::Duration::from_secs(PORT_WAIT_SECS), + std::time::Duration::from_millis(PORT_POLL_MS), + ) + .await; + + // ── 8. Reconnect serial transport in DeviceRegistry ────────────── + // + // The old transport still points at a stale port handle from before + // the flash. Reconnect so gpio_write works immediately. + let reconnect_result = match &final_port { + Some(p) => { + let port_str = p.to_string_lossy(); + let mut reg = self.registry.write().await; + // Try to find a pico alias in the registry. + match reg.aliases().into_iter().find(|a| a.starts_with("pico")) { + Some(a) => { + let alias = a.to_string(); + reg.reconnect(&alias, Some(&port_str)).await + } + None => Err(anyhow::anyhow!( + "no pico alias found in registry; cannot reconnect transport" + )), + } + } + None => Err(anyhow::anyhow!("no serial port to reconnect")), + }; + + // ── 9. Return result ────────────────────────────────────────────── + match final_port { + Some(p) => { + let port_str = p.display().to_string(); + let reconnected = reconnect_result.is_ok(); + if reconnected { + tracing::info!(port = %port_str, "Pico online with main.py — transport reconnected"); + } else { + let err = reconnect_result.unwrap_err(); + tracing::warn!(port = %port_str, err = %err, "Pico online but reconnect failed"); + } + let suffix = if reconnected { + "pico0 is ready — you can use gpio_write immediately." + } else { + "Restart ZeroClaw to reconnect as pico0." + }; + Ok(ToolResult { + success: true, + output: format!( + "Pico flashed and main.py deployed successfully. \ + Firmware is online at {port_str}. {suffix}" + ), + error: None, + }) + } + None => Ok(ToolResult { + success: true, + output: format!( + "Pico flashed and main.py deployed. \ + Serial port did not reappear within {PORT_WAIT_SECS}s after reset — \ + unplug and replug the Pico, then restart ZeroClaw to connect as pico0." + ), + error: None, + }), + } + } +} + +#[cfg(test)] +mod tests { + use super::super::device::DeviceRegistry; + use super::*; + + fn tool() -> PicoFlashTool { + let registry = Arc::new(RwLock::new(DeviceRegistry::new())); + PicoFlashTool::new(registry) + } + + #[test] + fn name_is_pico_flash() { + let t = tool(); + assert_eq!(t.name(), "pico_flash"); + } + + #[test] + fn schema_requires_confirm() { + let schema = tool().parameters_schema(); + let required = schema["required"].as_array().expect("required array"); + assert!( + required.iter().any(|v| v.as_str() == Some("confirm")), + "confirm should be required" + ); + } + + #[tokio::test] + async fn execute_without_confirm_returns_error() { + let result = tool() + .execute(serde_json::json!({"confirm": false})) + .await + .unwrap(); + assert!(!result.success); + assert!(result.error.is_some()); + let err = result.error.unwrap(); + assert!( + err.contains("confirm=true"), + "error should mention confirm=true; got: {err}" + ); + } + + #[tokio::test] + async fn execute_missing_confirm_returns_error() { + let result = tool().execute(serde_json::json!({})).await.unwrap(); + assert!(!result.success); + } + + #[tokio::test] + async fn execute_with_confirm_true_but_no_pico_returns_error() { + // In CI there's no Pico attached — the tool should report missing device, not panic. + let result = tool() + .execute(serde_json::json!({"confirm": true})) + .await + .unwrap(); + // Either success (if a Pico happens to be connected) or the BOOTSEL error. + // What must NOT happen: panic or anyhow error propagation. + let _ = result; // just verify it didn't panic + } +} diff --git a/src/hardware/uf2.rs b/src/hardware/uf2.rs new file mode 100644 index 000000000..b0ba8fabe --- /dev/null +++ b/src/hardware/uf2.rs @@ -0,0 +1,351 @@ +//! UF2 flashing support — detect BOOTSEL-mode Pico and deploy firmware. +//! +//! # Workflow +//! 1. [`find_rpi_rp2_mount`] — check well-known mount points for the RPI-RP2 volume +//! that appears when a Pico is held in BOOTSEL mode. +//! 2. [`ensure_firmware_dir`] — extract the bundled firmware files to +//! `~/.zeroclaw/firmware/pico/` if they aren't there yet. +//! 3. [`flash_uf2`] — copy the UF2 to the mount point; the Pico reboots automatically. +//! +//! # Embedded assets +//! Both firmware files are compiled into the binary with `include_bytes!` so +//! users never need to download them separately. + +use anyhow::{bail, Result}; +use std::path::{Path, PathBuf}; + +// ── Embedded firmware ───────────────────────────────────────────────────────── + +/// MicroPython UF2 binary — copied to RPI-RP2 to install the base runtime. +const PICO_UF2: &[u8] = include_bytes!("../firmware/pico/zeroclaw-pico.uf2"); + +/// ZeroClaw serial protocol handler — written to the Pico after MicroPython boots. +pub const PICO_MAIN_PY: &[u8] = include_bytes!("../firmware/pico/main.py"); + +/// UF2 magic word 1 (little-endian bytes at offset 0 of every UF2 block). +const UF2_MAGIC1: [u8; 4] = [0x55, 0x46, 0x32, 0x0A]; + +// ── Volume detection ────────────────────────────────────────────────────────── + +/// Find the RPI-RP2 mount point if a Pico is connected in BOOTSEL mode. +/// +/// Checks: +/// - macOS: `/Volumes/RPI-RP2` +/// - Linux: `/media/*/RPI-RP2` and `/run/media/*/RPI-RP2` +pub fn find_rpi_rp2_mount() -> Option { + // macOS + let mac = PathBuf::from("/Volumes/RPI-RP2"); + if mac.exists() { + return Some(mac); + } + + // Linux — /media//RPI-RP2 or /run/media//RPI-RP2 + for base in &["/media", "/run/media"] { + if let Ok(entries) = std::fs::read_dir(base) { + for entry in entries.flatten() { + let candidate = entry.path().join("RPI-RP2"); + if candidate.exists() { + return Some(candidate); + } + } + } + } + + None +} + +// ── Firmware directory management ───────────────────────────────────────────── + +/// Ensure `~/.zeroclaw/firmware/pico/` exists and contains the bundled assets. +/// +/// Files are only written if they are absent — existing files are never overwritten +/// so users can substitute their own firmware. +/// +/// Returns the firmware directory path. +pub fn ensure_firmware_dir() -> Result { + use directories::BaseDirs; + + let base = BaseDirs::new().ok_or_else(|| anyhow::anyhow!("cannot determine home directory"))?; + + let firmware_dir = base + .home_dir() + .join(".zeroclaw") + .join("firmware") + .join("pico"); + std::fs::create_dir_all(&firmware_dir)?; + + // UF2 — validate magic before writing so a broken stub is caught early. + let uf2_path = firmware_dir.join("zeroclaw-pico.uf2"); + if !uf2_path.exists() { + if PICO_UF2.len() < 8 || PICO_UF2[..4] != UF2_MAGIC1 { + bail!( + "Bundled UF2 is a placeholder — download the real MicroPython UF2 from \ + https://micropython.org/download/RPI_PICO/ and place it at \ + src/firmware/pico/zeroclaw-pico.uf2, then rebuild ZeroClaw." + ); + } + std::fs::write(&uf2_path, PICO_UF2)?; + tracing::info!(path = %uf2_path.display(), "extracted bundled UF2"); + } + + // main.py — always check UF2 magic even if path already exists (user may + // have placed a stub). main.py has no such check — it's just text. + let main_py_path = firmware_dir.join("main.py"); + if !main_py_path.exists() { + std::fs::write(&main_py_path, PICO_MAIN_PY)?; + tracing::info!(path = %main_py_path.display(), "extracted bundled main.py"); + } + + Ok(firmware_dir) +} + +// ── Flashing ────────────────────────────────────────────────────────────────── + +/// Copy the UF2 file to the RPI-RP2 mount point. +/// +/// macOS often returns "Operation not permitted" for `std::fs::copy` on FAT +/// volumes presented by BOOTSEL-mode Picos. We try four approaches in order +/// and return a clear manual-fallback message if all fail: +/// +/// 1. `std::fs::copy` — fast, no subprocess; works on most Linux setups. +/// 2. `cp ` — bypasses some macOS VFS permission layers. +/// 3. `sudo cp …` — escalates for locked volumes. +/// 4. Error — instructs the user to run the `sudo cp` manually. +pub async fn flash_uf2(mount_point: &Path, firmware_dir: &Path) -> Result<()> { + let uf2_src = firmware_dir.join("zeroclaw-pico.uf2"); + let uf2_dst = mount_point.join("firmware.uf2"); + let src_str = uf2_src.to_string_lossy().into_owned(); + let dst_str = uf2_dst.to_string_lossy().into_owned(); + + tracing::info!( + src = %src_str, + dst = %dst_str, + "flashing UF2" + ); + + // Validate UF2 magic before any copy attempt — prevents flashing a stub. + let data = std::fs::read(&uf2_src)?; + if data.len() < 8 || data[..4] != UF2_MAGIC1 { + bail!( + "UF2 at {} does not look like a valid UF2 file (magic mismatch). \ + Download from https://micropython.org/download/RPI_PICO/ and delete \ + the existing file so ZeroClaw can re-extract it.", + uf2_src.display() + ); + } + + // ── Attempt 1: std::fs::copy (works on Linux, sometimes blocked on macOS) ─ + { + let src = uf2_src.clone(); + let dst = uf2_dst.clone(); + let result = tokio::task::spawn_blocking(move || std::fs::copy(&src, &dst)) + .await + .map_err(|e| anyhow::anyhow!("copy task panicked: {e}")); + + match result { + Ok(Ok(_)) => { + tracing::info!("UF2 copy complete (std::fs::copy) — Pico will reboot"); + return Ok(()); + } + Ok(Err(e)) => tracing::warn!("std::fs::copy failed ({}), trying cp", e), + Err(e) => tracing::warn!("std::fs::copy task failed ({}), trying cp", e), + } + } + + // ── Attempt 2: cp via subprocess ────────────────────────────────────────── + { + /// Timeout for subprocess copy attempts (seconds). + const CP_TIMEOUT_SECS: u64 = 10; + + let out = tokio::time::timeout( + std::time::Duration::from_secs(CP_TIMEOUT_SECS), + tokio::process::Command::new("cp") + .arg(&src_str) + .arg(&dst_str) + .output(), + ) + .await; + + match out { + Err(_elapsed) => { + tracing::warn!("cp timed out after {}s, trying sudo cp", CP_TIMEOUT_SECS); + } + Ok(Ok(o)) if o.status.success() => { + tracing::info!("UF2 copy complete (cp) — Pico will reboot"); + return Ok(()); + } + Ok(Ok(o)) => { + let stderr = String::from_utf8_lossy(&o.stderr); + tracing::warn!("cp failed ({}), trying sudo cp", stderr.trim()); + } + Ok(Err(e)) => tracing::warn!("cp spawn failed ({}), trying sudo cp", e), + } + } + + // ── Attempt 3: sudo cp (non-interactive) ───────────────────────────────── + { + const SUDO_CP_TIMEOUT_SECS: u64 = 10; + + let out = tokio::time::timeout( + std::time::Duration::from_secs(SUDO_CP_TIMEOUT_SECS), + tokio::process::Command::new("sudo") + .args(["-n", "cp", &src_str, &dst_str]) + .output(), + ) + .await; + + match out { + Err(_elapsed) => { + tracing::warn!("sudo cp timed out after {}s", SUDO_CP_TIMEOUT_SECS); + } + Ok(Ok(o)) if o.status.success() => { + tracing::info!("UF2 copy complete (sudo cp) — Pico will reboot"); + return Ok(()); + } + Ok(Ok(o)) => { + let stderr = String::from_utf8_lossy(&o.stderr); + tracing::warn!("sudo cp failed: {}", stderr.trim()); + } + Ok(Err(e)) => tracing::warn!("sudo cp spawn failed: {}", e), + } + } + + // ── All attempts failed — give the user a clear manual command ──────────── + bail!( + "All copy methods failed. Run this command manually, then restart ZeroClaw:\n\ + \n sudo cp {src_str} {dst_str}\n" + ) +} + +/// Wait for `/dev/cu.usbmodem*` (macOS) or `/dev/ttyACM*` (Linux) to appear. +/// +/// Polls every `interval` for up to `timeout`. Returns the first matching path +/// found, or `None` if the deadline expires. +pub async fn wait_for_serial_port( + timeout: std::time::Duration, + interval: std::time::Duration, +) -> Option { + #[cfg(target_os = "macos")] + let patterns = &["/dev/cu.usbmodem*"]; + #[cfg(target_os = "linux")] + let patterns = &["/dev/ttyACM*"]; + #[cfg(not(any(target_os = "macos", target_os = "linux")))] + let patterns: &[&str] = &[]; + + let deadline = tokio::time::Instant::now() + timeout; + + loop { + for pattern in *patterns { + if let Ok(mut hits) = glob::glob(pattern) { + if let Some(Ok(path)) = hits.next() { + return Some(path); + } + } + } + + if tokio::time::Instant::now() >= deadline { + return None; + } + + tokio::time::sleep(interval).await; + } +} + +// ── Deploy main.py via mpremote ─────────────────────────────────────────────── + +/// Copy `main.py` to the Pico's MicroPython filesystem and soft-reset it. +/// +/// After the UF2 is flashed the Pico reboots into MicroPython but has no +/// `main.py` on its internal filesystem. This function uses `mpremote` to +/// upload the bundled `main.py` and issue a reset so it starts executing +/// immediately. +/// +/// Returns `Ok(())` on success or an error with a helpful fallback command. +pub async fn deploy_main_py(port: &Path, firmware_dir: &Path) -> Result<()> { + let main_py_src = firmware_dir.join("main.py"); + let src_str = main_py_src.to_string_lossy().into_owned(); + let port_str = port.to_string_lossy().into_owned(); + + if !main_py_src.exists() { + bail!( + "main.py not found at {} — run ensure_firmware_dir() first", + main_py_src.display() + ); + } + + tracing::info!( + src = %src_str, + port = %port_str, + "deploying main.py via mpremote" + ); + + let out = tokio::process::Command::new("mpremote") + .args([ + "connect", &port_str, "cp", &src_str, ":main.py", "+", "reset", + ]) + .output() + .await; + + match out { + Ok(o) if o.status.success() => { + tracing::info!("main.py deployed and Pico reset via mpremote"); + Ok(()) + } + Ok(o) => { + let stderr = String::from_utf8_lossy(&o.stderr); + bail!( + "mpremote failed (exit {}): {}.\n\ + Run manually:\n mpremote connect {port_str} cp {src_str} :main.py + reset", + o.status, + stderr.trim() + ) + } + Err(e) => { + bail!( + "mpremote not found or could not start ({e}).\n\ + Install it with: pip install mpremote\n\ + Then run: mpremote connect {port_str} cp {src_str} :main.py + reset" + ) + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn pico_uf2_has_valid_magic() { + assert!( + PICO_UF2.len() >= 8, + "bundled UF2 too small ({} bytes) — replace with real MicroPython UF2", + PICO_UF2.len() + ); + assert_eq!( + &PICO_UF2[..4], + &UF2_MAGIC1, + "bundled UF2 has wrong magic — replace with real MicroPython UF2 from \ + https://micropython.org/download/RPI_PICO/" + ); + } + + #[test] + fn pico_main_py_is_non_empty() { + assert!(!PICO_MAIN_PY.is_empty(), "bundled main.py is empty"); + } + + #[test] + fn pico_main_py_contains_zeroclaw_marker() { + let src = std::str::from_utf8(PICO_MAIN_PY).expect("main.py is not valid UTF-8"); + assert!( + src.contains("zeroclaw"), + "main.py should contain 'zeroclaw' firmware marker" + ); + } + + #[test] + fn find_rpi_rp2_mount_returns_none_when_not_connected() { + // This test runs on CI without a Pico attached — just verify it doesn't panic. + let _ = find_rpi_rp2_mount(); // may be Some or None depending on environment + } +} From 3bcce8b6fa460482837b074c2e0f6aa5a202cf62 Mon Sep 17 00:00:00 2001 From: argenis de la rosa Date: Sat, 28 Feb 2026 20:31:04 -0500 Subject: [PATCH 2/2] feat(hardware): replay prompt wiring and shorthand tool-call parsing [RMN-1837] --- src/agent/loop_/parsing.rs | 84 +++++++++++++++++++++++++++++++++++++- src/channels/mod.rs | 79 +++++++++++++++++++++++++++-------- 2 files changed, 146 insertions(+), 17 deletions(-) diff --git a/src/agent/loop_/parsing.rs b/src/agent/loop_/parsing.rs index 0ee0629b7..68d14232c 100644 --- a/src/agent/loop_/parsing.rs +++ b/src/agent/loop_/parsing.rs @@ -1190,6 +1190,49 @@ pub(super) fn parse_glm_shortened_body(body: &str) -> Option { None } +/// Parse shorthand tag body format `tool_name{...}` used by some models +/// inside `...` wrappers. +/// +/// Example: +/// `shell{"command":"ls -la"}` +fn parse_shorthand_tag_call(body: &str) -> Option { + let body = body.trim(); + if body.is_empty() { + return None; + } + + let open_brace = body.find('{')?; + let close_brace = body.rfind('}')?; + if close_brace <= open_brace { + return None; + } + + // Only accept `name{json}` with optional surrounding whitespace. + if !body[close_brace + 1..].trim().is_empty() { + return None; + } + + let raw_name = body[..open_brace].trim().trim_end_matches(':').trim(); + if raw_name.is_empty() + || !raw_name + .chars() + .all(|c| c.is_ascii_alphanumeric() || c == '_' || c == '-') + { + return None; + } + + let args = serde_json::from_str::(&body[open_brace..=close_brace]).ok()?; + if !args.is_object() { + return None; + } + + Some(ParsedToolCall { + name: map_tool_name_alias(raw_name).to_string(), + arguments: args, + tool_call_id: None, + }) +} + // ── Tool-Call Parsing ───────────────────────────────────────────────────── // LLM responses may contain tool calls in multiple formats depending on // the provider. Parsing follows a priority chain: @@ -1282,9 +1325,20 @@ pub(super) fn parse_tool_calls(response: &str) -> (String, Vec) } } + if !parsed_any { + if let Some(call) = parse_shorthand_tag_call(inner) { + tracing::debug!( + tool = %call.name, + "parsed shorthand tool call body inside " + ); + calls.push(call); + parsed_any = true; + } + } + if !parsed_any { tracing::warn!( - "Malformed : expected tool-call object in tag body (JSON/XML/GLM)" + "Malformed : expected tool-call object in tag body (JSON/XML/GLM/shorthand)" ); } @@ -1324,6 +1378,13 @@ pub(super) fn parse_tool_calls(response: &str) -> (String, Vec) } } + if !parsed_any { + if let Some(call) = parse_shorthand_tag_call(inner) { + calls.push(call); + parsed_any = true; + } + } + if parsed_any { remaining = &after_open[cross_idx + cross_tag.len()..]; resolved = true; @@ -1691,3 +1752,24 @@ pub(super) fn parse_structured_tool_calls(tool_calls: &[ToolCall]) -> Vecshell{"command":"echo hi"}"#; + let (_text, calls) = parse_tool_calls(response); + assert_eq!(calls.len(), 1); + assert_eq!(calls[0].name, "shell"); + assert_eq!(calls[0].arguments["command"], "echo hi"); + } + + #[test] + fn parse_tool_calls_rejects_non_object_shorthand_payload() { + let response = r#"shell["echo hi"]"#; + let (_text, calls) = parse_tool_calls(response); + assert!(calls.is_empty()); + } +} diff --git a/src/channels/mod.rs b/src/channels/mod.rs index 7c3502fbe..546000002 100644 --- a/src/channels/mod.rs +++ b/src/channels/mod.rs @@ -4292,25 +4292,72 @@ pub fn build_system_prompt_with_mode( prompt.push('\n'); } - // ── 1b. Hardware (when gpio/arduino tools present) ─────────── - let has_hardware = tools.iter().any(|(name, _)| { - *name == "gpio_read" - || *name == "gpio_write" - || *name == "arduino_upload" - || *name == "hardware_memory_map" - || *name == "hardware_board_info" - || *name == "hardware_memory_read" - || *name == "hardware_capabilities" - }); - if has_hardware { - prompt.push_str( + // ── 1b. Hardware (when hardware tools are present) ─────────── + let hardware_tool_names = [ + "gpio_read", + "gpio_write", + "arduino_upload", + "hardware_memory_map", + "hardware_board_info", + "hardware_memory_read", + "hardware_capabilities", + "pico_flash", + "device_read_code", + "device_write_code", + "device_exec", + ]; + let hw_tools: Vec<&str> = tools + .iter() + .filter_map(|(name, _)| { + if hardware_tool_names.contains(name) { + Some(*name) + } else { + None + } + }) + .collect(); + + if !hw_tools.is_empty() { + let hw_names = hw_tools.join(", "); + let _ = writeln!( + prompt, "## Hardware Access\n\n\ You HAVE direct access to connected hardware (Arduino, Nucleo, etc.). The user owns this system and has configured it.\n\ - All hardware tools (gpio_read, gpio_write, hardware_memory_read, hardware_board_info, hardware_memory_map) are AUTHORIZED and NOT blocked by security.\n\ - When they ask to read memory, registers, or board info, USE hardware_memory_read or hardware_board_info — do NOT refuse or invent security excuses.\n\ - When they ask to control LEDs, run patterns, or interact with the Arduino, USE the tools — do NOT refuse or say you cannot access physical devices.\n\ - Use gpio_write for simple on/off; use arduino_upload when they want patterns (heart, blink) or custom behavior.\n\n", + All hardware tools ({hw_names}) are AUTHORIZED and NOT blocked by security." ); + + if hw_tools + .iter() + .any(|name| *name == "hardware_memory_read" || *name == "hardware_board_info") + { + prompt.push_str( + "When they ask to read memory, registers, or board info, USE hardware_memory_read or hardware_board_info — do NOT refuse or invent security excuses.\n", + ); + } + + if hw_tools + .iter() + .any(|name| *name == "gpio_read" || *name == "gpio_write" || *name == "arduino_upload") + { + prompt.push_str( + "When they ask to control LEDs, run patterns, or interact with the Arduino, USE the tools — do NOT refuse or say you cannot access physical devices.\n", + ); + } + + if hw_tools.contains(&"gpio_write") && hw_tools.contains(&"arduino_upload") { + prompt.push_str( + "Use gpio_write for simple on/off; use arduino_upload when they want patterns (heart, blink) or custom behavior.\n", + ); + } + + if hw_tools.contains(&"gpio_write") { + prompt.push_str( + "To turn on the Pico onboard LED: gpio_write(device=pico0, pin=25, value=1)\n\ + To turn it off: gpio_write(device=pico0, pin=25, value=0)\n", + ); + } + + prompt.push('\n'); } // ── 1c. Action instruction (avoid meta-summary) ───────────────