Refer to this topic only if you are using the custom startup script for the Autopilot as mentioned in the topic Custom Startup Script in UAV Toolbox Support Package for PX4 Autopilots. If you are using the PX4 default startup script rcS, then all the modules mentioned here are enabled by default and you can skip this topic.
QGroundControl (QGC) and Mission Planner communicate over MAVLink to the PX4 Autopilot. By default, MAVLink is disabled when the SD card with the custom startup script is loaded on the PX4 Autopilot. Therefore, the PX4 Autopilot cannot communicate with the QGC or Mission planner.
To enable communication with QGC and Mission planner, MAVLink can be enabled by modifying the setting in the Configuration Parameters dialog box, as described in Enabling MAVLink in PX4 Over USB.
If MAVLink is enabled (as described in Enabling MAVLink in PX4 Over USB), you can use the MAVLink Console in QGroundControl to connect to the PX4 NSH and send commands.
Because the Commander and Navigator modules are not started during boot-up, you cannot upload missions planned in QGC or Mission Planner to the PX4 Autopilot (even after you connect QGC to PX4 Autopilot over MAVLink).
In QGroundControl, you can perform the Firmware Upgrade option under the Vehicle Setup, even though the Commander and Navigator modules are disabled.
However, the following sections under Vehicle setup in QGC do not work when Commander and Navigator modules are disabled:
Parameters can be read from PX4 Autopilot, but parameter update from QGC is not available. Additionally, a warning regarding the missing parameters appears in QGC because many of the corresponding modules are not enabled.
You can calibrate the Radio even though Commander and Navigator modules are disabled.
The logger module is not enabled by default in the custom startup script in the SD card. Therefore, the log file is not generated and downloaded in QGC.
Because the Commander module is not started using the custom startup script available in the SD card, the following functionalities that are usually performed by the Commander module are not be available after you deploy the Simulink model developed using UAV Toolbox Support Package for PX4® Autopilots:
Automatic Arm and Disarm
Navigator functionalities (Navigator module must be running for the below commands):
Take-off, Land, Loiter mode, and so on.
Set Mission mode (for example, Manual Mission and Attitude Control)
Publishing log on state machine status (for example, logging of arming/disarming success over MAVLink).
However, you can implement sensor calibration and pre-flight checks by reading from IMU blocks over uORB in Simulink to replicate the functionality that the Commander is expected to perform. These algorithms can be implemented in a multi-thread model in Simulink just like the Commander module that runs a separate background thread for many of the tasks.
You can also model the arming/disarming feature of the PX4 Autopilot in
Simulink by writing to the uORB topic,