Add support for mavlink events interface
Replaces #17133
Relevant links:
Spec: https://docs.google.com/document/d/18qdDgfML97lItom09MJhngYnFzAm1zFdmlCKG7TaBpg/edit# RFC: https://github.com/mavlink/rfcs/pull/14 lievents for reference: https://github.com/bkueng/libevents schema: https://github.com/mavlink/mavlink/tree/master/component_information qgc: https://github.com/bkueng/qgroundcontrol/commit/c56fcd37c3507606987ddae5d552b6d0b09e12c9
Really don't need the runtime generation of the data.
Add markup to the code where we can describe the event information.
Write a tool to extract that markup during the compilation process (probably about where we currently invoke chibios_hwdef.py?)
Include that file in ROMFS, or not, as the board dictates.
On the build server, copy the generated file into the build products directory so it URL included in vehicle binary can continue to work. TODO: we expire "latest" builds off the server so those URLs will break on "latest" builds all the time. Maybe always use the "latest" directory in those URLS in "latest" builds, rather than a git hash?
My understanding is that this is related to issue https://github.com/ArduPilot/ardupilot/issues/30242