Termination error when using Mavlink blocks for PX4

1 view (last 30 days)
I have a model to send/receive telemetry/commands to and from Pixhawk 4. I'm using mavlink blocks (blank message and serializer). But, I can't deploy or monitor tune the model. I get "termination compilation include< algorithm> " error. Can someone tell me what is wrong with my model?
  1 Comment
Anthony Comer
Anthony Comer on 7 Aug 2023
I noticed in one of your below comments you were able to successfully send back data via Serial to your ground station and read it. Would you mind elaborating on your setup that allowed you to send data back in this manner?

Sign in to comment.

Accepted Answer

Arun Mathamkode
Arun Mathamkode on 5 Apr 2022
Based on my understanding, using MAVlink blocks in Pixhawk is not a logical usecase. PX4 already have 'mavlink' module which can encode and decode data and stream it through different serial interfaces of Pixhawk. The main usecase of MAVLink blocks is to use it on Host PC or on companion computer to read/write MAVLink messages. uORb messages are the way to communicate between different modules in PX4. Please refer to PX4 Architecture and uORB graph more more details. I would recomment you to enable the MAVLink stream on any specific serial interface you want to use, and PX4 will take care of encoding the MAVlink data and send it over that specifc interface. You can consider to use MAV_X_CONFIG parameter to enable MAVLink Telemetry. As per PX4 documentation, MAVlink is defaulty enabled over TELEM1 (MAV_0_CONFIG).
Arun Mathamkode
Arun Mathamkode on 14 Apr 2022
Ideally it should have worked as it is a generic block. Its just a workaround I thought, probably there might some issues. Thanks for the inputs.

Sign in to comment.

More Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!