Reinstate support for last_letter simulator - #33945
Conversation
|
Automated review note — AI-generated (Claude), validated against the live diff. Please sanity-check before acting. Reviewed at head Verdict: REQUEST CHANGES
Also checked, no action needed
Full report: https://uav.tridgell.net/DevCallReviews/2026_08_05/devcall_pr_reviews.html |
|
@Georacer I'm happy once reboot works |
Also introduced optional sim launch step in SITL By default this is a noop. last_letter is the first non-stock SITL backend which manages the simulator launch, so it implements the method.
By default this is a noop. last_letter is the first non-stock SITL backend which manages the simulator launch, so it implements the method.
bb88399 to
26d93b0
Compare
|
@tridge I have just tested a reboot via MAVProxy (after landing someplace other than HOME). What happens is that SITL reboots, a new instance of This makes it so that the simulated world (last_letter) will keep a continuous history and so will the .mcap log (albeit with a state discontinuity). But to be honest I'd prefer having a one-to-one correspondence between AP boots and .mcap logs, so I think I'll have the first sim killed and the second take over. Tested and a reboot kills the old instance and creates a new one, with a new .mcap log with it. |
Summary
Reinstate support for last_letter simulator. It had bitrotten since 2013.
Classification & Testing (check all that apply and add your own)
Description
last_letter is alive again! It is still a C++ simulator over the JSON bridge.
The project is completely revamped, so the SITL backend needed upgrading as well.
Features
Testing instructions
The binary will be installed at
~/.local/bin/last_letter_ardupilot. Ensure it's in your PATH.Your aircraft models are installed in
~/last_letter_models/. You will be running theardupilot_planemodel.Run AP SITL with:
Fly around as usual.
sim_vehicle.py -v ArduPlane --model last_letter --console --map -A "--config log"Upon exiting the simulation you will have a

.mcaplog file in your working directory, containing timeseries from the simulator.You can open it with PlotJuggler.
Warning: Project documentation under
/docsis still stale, don't refer to it. But the above should be enough to get you running with ArduPilot.Not relevant to ArduPilot:
Important: The installation process involves building the C++ codebase, so you will need to have the project dependencies installed.
uvis the recommended Python management tool to use: