I have questions about the PX4IOFIRMWARE module regarding how it is executed in the code.
I am wondering how this module is started and executed.
The function user_start(int argc, char *argv), which seem to be the start point, is not called anywhere in the code, so, I understand it could run as a task or Work queue, but the code has not standard task/work queue formats.
Any comments will be very appreciated.
The px4iofirmware is the firmware which runs on the separate PX4IO processor, and not the main FMU (flight management unit). All it does is load a mixer and translate control commands to motor outputs, and parse RC. The idea behind the PX4IO board was that it allows a pilot to fly a fixedwing (or VTOL in fixedwing flight) manually and overriding the FMU.
The driver talking the IO side is: https://github.com/PX4/Firmware/blob/master/src/drivers/px4io/px4io.cpp
Thank you for your answer.