{ "id": "uart_cmds", "description": "All implemented UART commands (no OTA upload). Resets bench, joins ESP-NOW, exercises each cmd; restarts slave at end.", "config": "example-lab", "steps": [ { "name": "reset all nodes", "command": "reset", "input": { "all": true, "wait_ms": 2500 } }, { "name": "boot and ESP-NOW join", "delay_ms": 10000 }, { "name": "VERSION", "command": "version", "expect": { "version_min": 1 } }, { "name": "CLIENT_INFO", "command": "clients", "expect": { "min_clients": 1, "slave": "pod-1", "available": true } }, { "name": "ACCEL_DEADZONE read master", "command": "deadzone", "input": { "write": false, "client": 0 }, "expect": { "success": true } }, { "name": "ACCEL_DEADZONE write master", "command": "deadzone", "input": { "write": true, "client": 0, "value": 120 }, "expect": { "success": true, "deadzone": 120 } }, { "name": "ACCEL_DEADZONE read master after write", "command": "deadzone", "input": { "write": false, "client": 0 }, "expect": { "success": true, "deadzone": 120 } }, { "name": "LED_RING clear", "command": "led_ring", "input": { "mode": "clear" }, "expect": { "success": true, "mode": 0 } }, { "name": "LED_RING progress", "command": "led_ring", "input": { "mode": "progress", "progress": 40, "g": 200 }, "expect": { "success": true, "mode": 1, "progress": 40 } }, { "name": "LED_RING digit", "command": "led_ring", "input": { "mode": "digit", "digit": 3, "r": 255 }, "expect": { "success": true, "mode": 2, "digit": 3 } }, { "name": "LED_RING blink", "command": "led_ring", "input": { "mode": "blink", "r": 0, "g": 255, "b": 0, "blink_count": 1 }, "expect": { "success": true, "mode": 3 } }, { "name": "ESPNOW_UNICAST_TEST", "command": "unicast_test", "input": { "slave": "pod-1", "seq": 99 }, "expect": { "success": true, "seq": 99 } }, { "name": "FIND_ME master", "command": "find_me", "input": { "client": 0 }, "expect": { "success": true } }, { "name": "FIND_ME slave", "command": "find_me", "input": { "slave": "pod-1" }, "expect": { "success": true } }, { "name": "ACCEL_DEADZONE push to slave", "command": "deadzone", "input": { "write": true, "slave": "pod-1", "value": 110 }, "expect": { "success": true } }, { "name": "OTA_SLAVE_PROGRESS idle", "command": "ota_progress", "expect": { "active": false } }, { "name": "RESTART slave (last)", "command": "restart", "input": { "slave": "pod-1" }, "expect": { "success": true } } ] }