Commit Graph
10 Commits
Author SHA1 Message Date
Andrew Tridgell 64410f221d Tools: preserve Renode board state across resets and flash saves
Machine resets clear GPIO input latches, so restore the hwdef defaults alongside the vector table in the generated reset macro. Save persistent flash through atomic replacement to keep the previous image intact on interrupted writes, and exercise reset, erase and save behavior in Renode.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 7717b6f5fb Tools: use connectivity-line flash geometry for Renode F105
F105 flash erases 2 KiB pages, but the shared F103 controller used 1 KiB pages and could not reach the separate upper flash region. Make the page size configurable and give F105 one complete 256 KiB backing region.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 32f0d23369 Tools: emulate the CubeOrangePlus sensor set in Renode
Add --imu NAME to select which hwdef IMU devices are fitted, saved as
the imus list in the launcher Config. Emulate the AK09916 behind the
ICM20948 I2C master using the rotation from the hwdef COMPASS line so
the compass device ID and orientation match real hardware.

The quadplane test now uses the ICM42688, ICM20948 and ICM20649 of a
real CubeOrangePlus, checks the detected sensor IDs against it,
disables fast sampling to reduce CPU load, and turns off the IMU heater
so its compass compensation does not offset the emulated AK09916.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 0f7e350bcd Tools: improve Renode launcher and DFU support
Persist Target, Config and Physics choices per working directory, and add live per-device enable and configuration controls. Add Unix-domain serial transport with full-run socket reservation, and fall back from an occupied monitor port without changing the saved preference. Add a factory-compatible DFU and USB/IP boot flow with regression coverage.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 79093a1062 Tools: add Renode serial peripheral coverage
Extend serial emulation beyond navigation and ranging to optical flow, beacons, AIS, NMEA sensors and telemetry output protocols. Catalog each production backend and add probes that validate both firmware input handling and the frames emitted by output drivers.
2026-09-05 20:44:29 +10:00
Andrew Tridgell c693d1b593 Tools: add Renode rangefinder and proximity coverage
Model the supported serial rangefinder and proximity protocols, including polled, configured, streaming and scanning devices. Extend the catalog and probes to verify production-driver values, commands, checksum handling, output loss and recovery behavior.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 26f27dc206 Tools: add Renode serial navigation emulation
Add protocol-accurate serial navigation streams for UBX, NMEA, SiRF, SBP, SBF, GSOF, ERB and NOVA receivers. Drive the production GPS backends with stable and stepped data plus corruption and suppression cases so framing, decoding and recovery are checked end to end.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 0c15a1d88d Tools: add Renode I2C peripheral coverage
Expand the driver catalog and Renode models across I2C barometers, compasses, airspeed sensors, rangefinders, power monitors, temperature sensors, displays and related devices. Exercise production-driver detection, register behavior, changing values and fault or hotplug recovery through generated probe profiles.
2026-09-05 20:44:29 +10:00
Andrew Tridgell b5347165c5 Tools: add Renode physics and runtime support
Add a standalone physics sidecar and protocol that connects ArduPilot flight-dynamics models to firmware running inside Renode. Extend the runtime, launcher, firmware/data caches, persistent images and distributable bundle, with driver probes and closed-loop flight tests for repeatable validation.
2026-09-05 20:44:29 +10:00
Andrew Tridgell 2b8cd74e8b Tools: add Renode hardware emulation
Introduce generated Renode platforms that run unmodified ArduPilot ChibiOS firmware across the supported STM32 families, using production hwdefs as the hardware authority. Add the MCU and peripheral models plus tooling for bootloaders, persistent storage, serial, CAN, USB, GDB and mission testing.
2026-09-05 20:44:29 +10:00