INAV Blackbox tools for 5.0.0
Summary
- Align major / minor version number with INAV firmware releases
- Support INAV 5.0 firmware (and all prior versions)
- Add
--version
option - Adds new adjustment and state values for 5.0
- Add
--apply-gframe
option, (G-Frame insertion management) for users interested in geospatial analysis
Note: Only the version number has changed since 5.0.0-rc2.
G-Frame insertion management
Currently, with --merge-gps
we unconditionally insert intermediate (between P/I frames) G-frames (GPS) into the CSV. This can greatly increase the size of the generated CSV over a non-GPS file, generates little benefit, may confuse the user with multiple lines for the same loop iteration and in some cases (low update rates) can result in "time going backwards".
In order to address this a new default behaviour is introduced, with a CLI option --apply-gframe N
to control it:
Flag Value | Effect |
---|---|
0 (default) |
Intermediate G-frames are not stored, the log will exactly the same number of lines as if it were generated without --merge-gps . This typically results in a CSV that is 40% smaller than legacy |
1 |
Intermediate G-frames are inserted when they are not "late"; i.e. the times in the log will always increase |
2 (legacy behaviour) |
Intermediate G-frames are inserted unconditionally. This is legacy behaviour and may result in CSV entries where time appears to go backwards. This typically appears when two G-frames occur between an I or P frame. |
Issue raised by @mateyhv
It is anticipated that for most users the new default will be the best option, with no obvious loss in fidelity and smaller (faster processing) files.
Binary release details
- Linux 32 / Linux 64 : Built on Debian old stable (buster); in theory will run on any contemporary x86_64 / ia32 distro.
blackbox_render
uses OS shared libraries that should be available by default on any distro with a GUI. - FreeBSD : Built on Release 13.1;
blackbox_render
uses OS shared libraries; unlikely to work on earlier releases. OTOH, if you're using FreeBSD, you know how to compile from source (n.b.gmake
vicemake
). - MacOS : Built on 10.5 VM, Statically linked. Only dylib dependency is on v 0.0.0 (or later) for
/usr/lib/libSystem.B.dylib
, which should be met by contemporary MacOS. - Win32 : Cross-complied on Linux.
blackbox_render
uses the repository provided (ancient) DLLs. - Win64 : This is somewhat problematic, as the ancient DLLs are 32bit only. There are two options:
- win64 : Cross-complied on Linux, provides
blackbox_decode
only. No DLL dependencies. - msys_win64 : Compiled on Msys2.
blackbox_render
depends on a numerous msys2 DLLs, which are included. Providesblackbox_decode
andblackbox_render
. Somewhat experimental; the easiest / only way to haveblackbox_render
on win64, at least without an inordinate amount of effort.
- win64 : Cross-complied on Linux, provides