Commit Graph

11 Commits

Author SHA1 Message Date
Eric Ratliff
68e618feef Included pin subcommand with auditing and assignment 2026-02-19 16:58:41 -06:00
Eric Ratliff
9bda9123ea Added timestamps to project logging 2026-02-19 13:29:06 -06:00
Eric Ratliff
c6f2dfc1b5 Updated tests 2026-02-19 11:13:53 -06:00
Eric Ratliff
6cacc07109 Supports switching default board 2026-02-19 10:23:16 -06:00
Eric Ratliff
b909da298e Supporting multiple boards 2026-02-19 10:12:33 -06:00
Eric Ratliff
2739d83b99 Add board presets, devices --clear, and test/UX fixes
Board presets:
- anvil new --board mega (uno, mega, nano, nano-old, leonardo, micro)
- anvil new --list-boards shows presets with compatible clones
- FQBN and baud rate flow into .anvil.toml via template variables
- Defaults to uno when --board is omitted

Devices --clear:
- anvil devices --clear deletes .anvil.local, reverts to auto-detect
2026-02-19 07:41:12 -06:00
Eric Ratliff
d7c6d432f9 Improved tests 2026-02-18 21:22:14 -06:00
Eric Ratliff
eee2f690da Unit tests working on generated projects 2026-02-18 21:00:24 -06:00
Eric Ratliff
c41776df22 Updated readme files 2026-02-18 20:36:57 -06:00
Eric Ratliff
8fe1ef0e27 Refactor CLI, add refresh command, fix port detection, add device tracking
- Remove build/upload/monitor subcommands (projects are self-contained)
- Remove ctrlc dependency (only used by removed monitor watch mode)
- Update next-steps messaging to reference project scripts directly

- Add 'anvil refresh [DIR] [--force]' to update project scripts
  to latest templates without touching user code

- Fix Windows port detection: replace fragile findstr/batch TOML
  parsing with proper comment-skipping logic; add _detect_port.ps1
  helper for reliable JSON-based port detection via PowerShell

- Add .anvil.local for machine-specific config (gitignored)
  - 'anvil devices --set [PORT] [-d DIR]' saves port + VID:PID
  - 'anvil devices --get [-d DIR]' shows saved port status
  - VID:PID tracks USB devices across COM port reassignment
  - Port resolution: -p flag > VID:PID > saved port > auto-detect
  - Uppercase normalization for Windows COM port names

- Update all .bat/.sh templates to read from .anvil.local
- Remove port entries from .anvil.toml (no machine-specific config in git)
- Add .anvil.local to .gitignore template
- Expand 'anvil devices' output with VID:PID, serial number, and
  usage instructions
2026-02-18 20:32:42 -06:00
Eric Ratliff
3298844399 Anvil v1.0.0 -- Arduino build tool with HAL and test scaffolding
Single-binary CLI that scaffolds testable Arduino projects, compiles,
uploads, and monitors serial output. Templates embed a hardware
abstraction layer, Google Mock infrastructure, and CMake-based host
tests so application logic can be verified without hardware.

Commands: new, doctor, setup, devices, build, upload, monitor
39 Rust tests (21 unit, 18 integration)
Cross-platform: Linux and Windows
2026-02-15 11:16:17 -06:00