Concepts
Auto-adapter system
When AETHER meets a board it doesn't already drive, it resolves an adapter in three tiers.
Tier 1 — pre-built
Hand-written, tested adapters that load automatically when their signature matches.
| Board | Detection | Tools |
|---|---|---|
| SunFounder PiCar-X | picarx or I2C 0x14 | fwd · back · turn L/R · pan/tilt · distance |
| Freenove 4WD | Motor importable | 6 motion tools |
| Freenove Mecanum | I2C 0x40 + Motor | 8 tools incl. strafe |
| Adeept HAT v3 | adeept importable | 6 motion tools |
| PCA9685 generic | I2C 0x40 + lib | 6 motion tools |
| L298N direct GPIO | GPIO, no I2C | 6 motion tools |
| Waveshare driver | waveshare_motor or I2C 0x47 | 6 motion tools |
Tier 2 — LLM-generated
For an unknown board with a vendor Python library, AETHER reads the library, calls Claude to generate an adapter, then gates it behind 6 static-validation rules, a sandboxed dry-run of register(), and a mandatory live hardware test. Generate offline (no hardware):
$ aether --generate-adapter-from /path/to/vendor_lib \
--save-to ./my_adapter.py
Tier 3 — guided wizard
When no library is available, an interactive wizard collects control snippets and builds a guided adapter. Generated adapters persist at ~/.aether/adapters/ and load automatically. --no-auto-adapter disables Tier 2/3 (Tier 1 still loads).
