Skip to content

Conversation

@julianoes
Copy link
Contributor

We should not build and release with the MAVLink development dialect because messages in development.xml can change at any time and break things.

Instead we should prototype and test things using specific mavlink-dev targets.

@julianoes julianoes requested a review from MaEtUgR October 30, 2025 00:51
@github-actions
Copy link

github-actions bot commented Oct 30, 2025

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: -1280 byte (-0.06 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +41  [ = ]       0    .debug_abbrev
-0.1%    -128  [ = ]       0    .debug_aranges
-0.1%    -424  [ = ]       0    .debug_frame
-0.0% -5.71Ki  [ = ]       0    .debug_info
-0.0% -2.21Ki  [ = ]       0    .debug_line
 -75.0%      -3  [ = ]       0    [Unmapped]
  -0.0% -2.21Ki  [ = ]       0    [section .debug_line]
-0.0% -1.23Ki  [ = ]       0    .debug_loclists
-0.1%    -336  [ = ]       0    .debug_rnglists
-0.1% -3.42Ki  [ = ]       0    .debug_str
+0.8%      +2  [ = ]       0    .shstrtab
-0.1%    -878  [ = ]       0    .strtab
  [NEW]     +12  [ = ]       0    CSWTCH.1921
  [DEL]     -12  [ = ]       0    CSWTCH.1945
  [NEW]     +12  [ = ]       0    CSWTCH.2701
  [DEL]     -12  [ = ]       0    CSWTCH.2735
  [NEW]     +24  [ = ]       0    CSWTCH.3444
  [NEW]     +24  [ = ]       0    CSWTCH.3445
  [DEL]     -24  [ = ]       0    CSWTCH.3486
  [DEL]     -24  [ = ]       0    CSWTCH.3487
  [DEL]     -78  [ = ]       0    MavlinkReceiver::handle_message_set_velocity_limits()
  [DEL]     -34  [ = ]       0    MavlinkStreamGLobalPosition
  [DEL]     -49  [ = ]       0    MavlinkStreamGLobalPosition::get_id()
  [DEL]     -45  [ = ]       0    MavlinkStreamGLobalPosition::get_name()
  [DEL]     -44  [ = ]       0    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -57  [ = ]       0    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -40  [ = ]       0    MavlinkStreamGLobalPosition::send()
  [DEL]    -111  [ = ]       0    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -33  [ = ]       0    MavlinkStreamGNSSIntegrity
  [DEL]     -41  [ = ]       0    MavlinkStreamGNSSIntegrity::get_id()
  [DEL]     -44  [ = ]       0    MavlinkStreamGNSSIntegrity::get_name()
  [DEL]     -43  [ = ]       0    MavlinkStreamGNSSIntegrity::get_size()
 -168.9%    -259  [ = ]       0    [7 Others]
-0.1%    -784  [ = ]       0    .symtab
  [NEW]     +32  [ = ]       0    CSWTCH.1921
  [DEL]     -32  [ = ]       0    CSWTCH.1945
  [NEW]     +32  [ = ]       0    CSWTCH.2701
  [DEL]     -32  [ = ]       0    CSWTCH.2735
  [NEW]     +48  [ = ]       0    CSWTCH.3444
  [NEW]     +48  [ = ]       0    CSWTCH.3445
  [DEL]     -48  [ = ]       0    CSWTCH.3486
  [DEL]     -48  [ = ]       0    CSWTCH.3487
   +50%     +16  [ = ]       0    MavlinkReceiver::fill_thrust()
 -50.0%     -16  [ = ]       0    MavlinkReceiver::handle_message_radio_status()
  [DEL]     -32  [ = ]       0    MavlinkReceiver::handle_message_set_velocity_limits()
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition::get_id()
  [DEL]     -64  [ = ]       0    MavlinkStreamGLobalPosition::get_name()
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -48  [ = ]       0    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -48  [ = ]       0    MavlinkStreamGLobalPosition::send()
  [DEL]     -96  [ = ]       0    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -32  [ = ]       0    MavlinkStreamGNSSIntegrity
  [DEL]     -16  [ = ]       0    MavlinkStreamGNSSIntegrity::get_id()
 -102.9%    -352  [ = ]       0    [12 Others]
 +13% +1.25Ki  [ = ]       0    [Unmapped]
-0.1% -1.25Ki  -0.1% -1.25Ki    .text
  [NEW]     +60  [NEW]     +60    CSWTCH.1921
  [NEW]     +44  [NEW]     +44    CSWTCH.2701
  +8.0%     +28  +8.0%     +28    MavlinkReceiver::handle_message_ping()
  [DEL]     -18  [DEL]     -18    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -18  [DEL]     -18    MavlinkStreamGNSSIntegrity::get_size()
 -12.7%     -28 -12.7%     -28    Mavlink::configure_stream()
  [DEL]     -40  [DEL]     -40    mavlink_msg_set_velocity_limits_decode
  [DEL]     -44  [DEL]     -44    CSWTCH.2735
  [DEL]     -44  [DEL]     -44    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -48  [DEL]     -48    MavlinkStreamGLobalPosition
  [DEL]     -48  [DEL]     -48    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -48  [DEL]     -48    MavlinkStreamGNSSIntegrity
 -101.8%     -54 -101.8%     -54    [17 Others]
  [DEL]     -60  [DEL]     -60    CSWTCH.1945
  [DEL]     -60  [DEL]     -60    MavlinkStreamGNSSIntegrity::~MavlinkStreamGNSSIntegrity()
  -2.5%     -60  -2.5%     -60    _GLOBAL__sub_I_mavlink_system
  [DEL]     -90  [DEL]     -90    MavlinkReceiver::handle_message_set_velocity_limits()
  -4.5%    -132  -4.5%    -132    mavlink_get_msg_entry::mavlink_message_crcs
  [DEL]    -184  [DEL]    -184    MavlinkStreamGNSSIntegrity::new_instance()
  [DEL]    -208  [DEL]    -208    MavlinkStreamGLobalPosition::send()
  [DEL]    -228  [DEL]    -228    MavlinkStreamGNSSIntegrity::send()
-0.0% -15.0Ki  -0.1% -1.25Ki    TOTAL

px4_fmu-v6x [Total VM Diff: -1344 byte (-0.07 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +41  [ = ]       0    .debug_abbrev
-0.1%    -128  [ = ]       0    .debug_aranges
-0.1%    -424  [ = ]       0    .debug_frame
-0.0% -5.71Ki  [ = ]       0    .debug_info
-0.0% -2.21Ki  [ = ]       0    .debug_line
 -60.0%      -3  [ = ]       0    [Unmapped]
  -0.0% -2.21Ki  [ = ]       0    [section .debug_line]
-0.0% -1.24Ki  [ = ]       0    .debug_loclists
-0.1%    -337  [ = ]       0    .debug_rnglists
 -33.3%      -1  [ = ]       0    [Unmapped]
  -0.1%    -336  [ = ]       0    [section .debug_rnglists]
-0.1% -3.42Ki  [ = ]       0    .debug_str
-0.8%      -2  [ = ]       0    .shstrtab
-0.1%    -878  [ = ]       0    .strtab
  [NEW]     +12  [ = ]       0    CSWTCH.1921
  [DEL]     -12  [ = ]       0    CSWTCH.1945
  [NEW]     +12  [ = ]       0    CSWTCH.2701
  [DEL]     -12  [ = ]       0    CSWTCH.2735
  [NEW]     +24  [ = ]       0    CSWTCH.3444
  [NEW]     +24  [ = ]       0    CSWTCH.3445
  [DEL]     -24  [ = ]       0    CSWTCH.3486
  [DEL]     -24  [ = ]       0    CSWTCH.3487
  [DEL]     -78  [ = ]       0    MavlinkReceiver::handle_message_set_velocity_limits()
  [DEL]     -34  [ = ]       0    MavlinkStreamGLobalPosition
  [DEL]     -49  [ = ]       0    MavlinkStreamGLobalPosition::get_id()
  [DEL]     -45  [ = ]       0    MavlinkStreamGLobalPosition::get_name()
  [DEL]     -44  [ = ]       0    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -57  [ = ]       0    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -40  [ = ]       0    MavlinkStreamGLobalPosition::send()
  [DEL]    -111  [ = ]       0    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -33  [ = ]       0    MavlinkStreamGNSSIntegrity
  [DEL]     -41  [ = ]       0    MavlinkStreamGNSSIntegrity::get_id()
  [DEL]     -44  [ = ]       0    MavlinkStreamGNSSIntegrity::get_name()
  [DEL]     -43  [ = ]       0    MavlinkStreamGNSSIntegrity::get_size()
 -185.2%    -259  [ = ]       0    [5 Others]
-0.1%    -784  [ = ]       0    .symtab
  [NEW]     +32  [ = ]       0    CSWTCH.1921
  [DEL]     -32  [ = ]       0    CSWTCH.1945
  [NEW]     +32  [ = ]       0    CSWTCH.2701
  [DEL]     -32  [ = ]       0    CSWTCH.2735
  [NEW]     +48  [ = ]       0    CSWTCH.3444
  [NEW]     +48  [ = ]       0    CSWTCH.3445
  [DEL]     -48  [ = ]       0    CSWTCH.3486
  [DEL]     -48  [ = ]       0    CSWTCH.3487
   +50%     +16  [ = ]       0    MavlinkReceiver::fill_thrust()
 -50.0%     -16  [ = ]       0    MavlinkReceiver::handle_message_radio_status()
  [DEL]     -32  [ = ]       0    MavlinkReceiver::handle_message_set_velocity_limits()
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition::get_id()
  [DEL]     -64  [ = ]       0    MavlinkStreamGLobalPosition::get_name()
  [DEL]     -32  [ = ]       0    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -48  [ = ]       0    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -48  [ = ]       0    MavlinkStreamGLobalPosition::send()
  [DEL]     -96  [ = ]       0    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -32  [ = ]       0    MavlinkStreamGNSSIntegrity
  [DEL]     -16  [ = ]       0    MavlinkStreamGNSSIntegrity::get_id()
 -102.9%    -352  [ = ]       0    [10 Others]
 +25% +1.25Ki  [ = ]       0    [Unmapped]
[ = ]       0  -0.1%     -64    .bss
  [ = ]       0 +11e2%     +11    _bidirectional
  [ = ]       0  -2.2%     -24    streams_list
  [ = ]       0 -51.5%     -51    [section .bss]
-0.1% -1.25Ki  -0.1% -1.25Ki    .text
  [NEW]     +60  [NEW]     +60    CSWTCH.1921
  [NEW]     +44  [NEW]     +44    CSWTCH.2701
  +8.0%     +28  +8.0%     +28    MavlinkReceiver::handle_message_ping()
  [DEL]     -18  [DEL]     -18    MavlinkStreamGLobalPosition::get_size()
  [DEL]     -18  [DEL]     -18    MavlinkStreamGNSSIntegrity::get_size()
 -12.7%     -28 -12.7%     -28    Mavlink::configure_stream()
  [DEL]     -40  [DEL]     -40    mavlink_msg_set_velocity_limits_decode
  [DEL]     -44  [DEL]     -44    CSWTCH.2735
  [DEL]     -44  [DEL]     -44    MavlinkStreamGLobalPosition::~MavlinkStreamGLobalPosition()
  [DEL]     -48  [DEL]     -48    MavlinkStreamGLobalPosition
  [DEL]     -48  [DEL]     -48    MavlinkStreamGLobalPosition::new_instance()
  [DEL]     -48  [DEL]     -48    MavlinkStreamGNSSIntegrity
 -100.0%     -54 -100.0%     -54    [18 Others]
  [DEL]     -60  [DEL]     -60    CSWTCH.1945
  [DEL]     -60  [DEL]     -60    MavlinkStreamGNSSIntegrity::~MavlinkStreamGNSSIntegrity()
  -2.5%     -60  -2.5%     -60    _GLOBAL__sub_I_mavlink_system
  [DEL]     -90  [DEL]     -90    MavlinkReceiver::handle_message_set_velocity_limits()
  -4.5%    -132  -4.5%    -132    mavlink_get_msg_entry::mavlink_message_crcs
  [DEL]    -184  [DEL]    -184    MavlinkStreamGNSSIntegrity::new_instance()
  [DEL]    -208  [DEL]    -208    MavlinkStreamGLobalPosition::send()
  [DEL]    -228  [DEL]    -228    MavlinkStreamGNSSIntegrity::send()
-0.0% -15.0Ki  -0.1% -1.31Ki    TOTAL

Updated: 2025-11-21T07:59:51

dakejahl
dakejahl previously approved these changes Nov 19, 2025
@dakejahl
Copy link
Contributor

CI failures are real

/__w/PX4-Autopilot/PX4-Autopilot/test/mavsdk_tests/autopilot_tester_figure_eight.cpp:47:10: fatal error: mavlink/development/mavlink_msg_figure_eight_execution_status.h: No such file or directory
47 | #include <mavlink/development/mavlink_msg_figure_eight_execution_status.h>

@julianoes
Copy link
Contributor Author

Yep I know... working on it: mavlink/MAVSDK#2709.

We should not build and release with the MAVLink development dialect
because messages in development.xml can change at any time and break
things.

Instead we should prototype and test things using specific mavlink-dev
targets.
These targets can be used to test MAVLink messages in the
development.xml dialect.
This should now include the figure eight messages.
@dakejahl dakejahl merged commit ff06a20 into main Nov 21, 2025
72 of 73 checks passed
@dakejahl dakejahl deleted the pr-mavlink-dev branch November 21, 2025 08:23
@julianoes
Copy link
Contributor Author

@hamishwillee I just checked and it turns out CI automatically builds/checks all board variants, so the mavlink-dev boards are already built in CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants