fwt_software/hardware/lattepanda-3-delta/NOTES.md

42 lines
2.1 KiB
Markdown

# LattePanda 3 Delta setup kit
For the Delta fleet: a LattePanda 3 Delta host, an onboard ATmega32U4
("Arduino Leonardo") driving two TMC5160 boards, yaw and pitch. Run through
`scripts/install-tower`, or `./install.sh --help` on its own.
## What is known, from tower 111 (surveyed 2026-09-23, read-only)
| | |
|---|---|
| OS | Ubuntu 22.04.5 LTS, kernel 6.8 |
| Motor MCU | `/dev/serial/by-id/usb-Arduino_LLC_Arduino_Leonardo-if00`, USB `2341:8036` |
| Camera | Alvium, USB `1ab2:0001`, port `2-2` |
| Modem | Quectel RM520N-GL, four `ttyUSB` nodes |
| Serial / I2C | `/dev/ttyS0..3`, `/dev/i2c-0..15`; the ambient sensor is on `/dev/i2c-2` |
| Packages | every entry in `packages.txt` already installed |
| Preconditions | NOT applied: `usbfs_memory_mb` 16, camera `usb3_lpm_permit` `u1_u2` |
| `hardware.ini` | none - the tower has never been migrated |
## What this kit has NOT done yet `[untested]`
Nothing here has been applied to a Delta. In particular:
- **`pins.ini` is not a traced loom.** It carries the numbers the firmware ran
on before pins moved into `hardware.ini`. Trace one Delta's wiring and replace
it with a table the way the IOTA's was done.
- **The drivetrain is not known in the units `hardware.ini` uses.** The Delta's
firmware carried register values (GLOBALSCALER 80 / 50, IRUN 31, SW_MODE
0x8A0 / 0x8A3, ENC_DEVIATION 1500). Turning them into milliamps needs each
driver board's sense resistor, which has to be read off the board. Until it
is, the current keys stay `; TODO` - and so the installer will not flash the
new firmware, which would refuse to move without them.
- **Flashing** keeps the Leonardo's own 1200-baud touch, which is how the Delta
fleet has always been flashed; `tools/flash.sh` does nothing extra for it.
## Migrating an existing Delta tower
Host first, firmware second (`docs/hardware-config-plan.md` section 13). The
installer's order already is: it writes `hardware.ini`, builds the host and runs
`test hardware` against the OLD firmware before any flash - and blocks the flash
while a drivetrain value is still a `; TODO`.