Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Fixed wing control API #24056

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

WIP: Fixed wing control API #24056

wants to merge 6 commits into from

Conversation

RomanBapst
Copy link
Contributor

@RomanBapst RomanBapst commented Nov 29, 2024

Solved Problem

Refactor fixed wing position controller to create flexible control API according to diagram provided.

Screenshot from 2024-11-29 10-10-48

TODO:

  • split controllers into separate modules where it makes sense
  • refactor longitudinal control, only lateral part done until now
  • handle constraints (throttle, roll) -> similar to what we do for multicopters

Changelog Entry

For release notes:

Feature/Bugfix XYZ
New parameter: XYZ_Z
Documentation: Need to clarify page ... / done, read docs.px4.io/...

Alternatives

We could also ...

Test coverage

Context

Related links, screenshot before/after, video

Copy link

github-actions bot commented Dec 20, 2024

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: 4188 byte (0.2 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.2% +4.08Ki  +0.2% +4.08Ki    .text
  [NEW] +7.79Ki  [NEW] +7.79Ki    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  [NEW] +1.55Ki  [NEW] +1.55Ki    ../../src/lib/npfg/DirectionalGuidance.cpp
  +0.3%    +786  +0.3%    +786    [section .text]
  [NEW]    +468  [NEW]    +468    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +140  [NEW]    +140    ../../src/lib/npfg/AirspeedReferenceController.cpp
  +1.4%     +72  +1.4%     +72    ../../src/modules/logger/logged_topics.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/longitudinal_control_limits.cpp
  +2.0%     +24  +2.0%     +24    msg/topics_sources/uORBTopics.cpp
  +0.4%     +16  +0.4%     +16    ../../src/modules/gimbal/input_mavlink.cpp
  +0.7%     +16  +0.7%     +16    builtin_list.c
  [NEW]     +16  [NEW]     +16    msg/topics_sources/lateral_control_limits.cpp
   +75%     +12   +75%     +12    msg/topics_sources/navigator_mission_item.cpp
  +0.0%     +11  +0.0%     +11    ROMFS/nsh_romfsimg.c
  +1.4%     +10  +1.4%     +10    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
 -100.0%      -7 -100.0%      -7    [5 Others]
 -27.3%     -12 -27.3%     -12    msg/topics_sources/normalized_unsigned_setpoint.cpp
 -50.0%     -16 -50.0%     -16    msg/topics_sources/logger_status.cpp
  [DEL] -2.61Ki  [DEL] -2.61Ki    ../../src/lib/npfg/npfg.cpp
 -15.3% -4.24Ki -15.3% -4.24Ki    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
+0.2%      +8  +0.2%      +8    .data
  [NEW]      +4  [NEW]      +4    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  +100%      +4  +100%      +4    ../../src/modules/manual_control/ManualControl.cpp
+1.0%      +4  +1.0%      +4    .init_section
+0.5% +10.7Ki  [ = ]       0    .debug_abbrev
  [NEW] +1.48Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +1.85Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +2.08Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -2.18Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
   +11%     +56  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +4.10Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -4.2%    -190  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.6%     -15  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.4%    +632  [ = ]       0    .debug_aranges
  [NEW]     +40  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]     +96  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +192  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -272  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -5.0%      -8  [ = ]       0    ../../src/lib/version/version.c
  [NEW]    +520  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -5.0%     -64  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.3% +1.47Ki  [ = ]       0    .debug_frame
+0.7%  +187Ki  [ = ]       0    .debug_info
  +0.4%     +42  [ = ]       0    ../../platforms/common/uORB/Subscription.cpp
  +0.3%     +42  [ = ]       0    ../../platforms/common/uORB/SubscriptionInterval.cpp
  +0.1%     +42  [ = ]       0    ../../platforms/common/uORB/uORB.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBDeviceMaster.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBDeviceNode.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBManager.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/nuttx/src/px4/common/gpio/mcp23009/mcp23009.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/adc/ads1115/ads1115_main.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/adc/board_adc/ADC.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/barometer/bmp388/bmp388.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/barometer/ms5611/ms5611.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/camera_capture/camera_capture.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/camera_trigger/camera_trigger.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/cdcacm_autostart/cdcacm_autostart.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/ms4525do/MS4525DO.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/ms5525dso/MS5525DSO.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/sdp3x/SDP3X.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/distance_sensor/cm8jl65/CM8JL65.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_serial/lightware_laser_serial.cpp
 -99.0%  +187Ki  [ = ]       0    [485 Others]
+0.4% +17.1Ki  [ = ]       0    .debug_line
  [NEW] +1.30Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +2.23Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +3.83Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -5.75Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -1.3%     -25  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +19.4Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -17.3% -9.30Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.2%      -6  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  +0.3%     +20  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.0%      +8  [ = ]       0    ../../src/modules/logger/logger.cpp
  [NEW] +1.31Ki  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW] +1.32Ki  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW] +1.30Ki  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW] +1.31Ki  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
  +2.3%    +132  [ = ]       0    msg/topics_sources/uORBTopics.cpp
+0.2% +13.0Ki  [ = ]       0    .debug_loc
  -0.5%     -15  [ = ]       0    ../../src/drivers/camera_capture/camera_capture.cpp
  -0.2%     -15  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
  +0.2%     +15  [ = ]       0    ../../src/drivers/osd/msp_osd/msp_osd.cpp
  +0.1%     +15  [ = ]       0    ../../src/drivers/px4io/px4io.cpp
  -0.2%     -15  [ = ]       0    ../../src/drivers/rc/crsf_rc/CrsfRc.cpp
  +1.2%     +15  [ = ]       0    ../../src/drivers/rc/ghst_rc/ghst_telemetry.cpp
  +0.3%     +13  [ = ]       0    ../../src/drivers/rc_input/crsf_telemetry.cpp
  +0.2%     +15  [ = ]       0    ../../src/drivers/telemetry/bst/bst.cpp
  +0.7%     +30  [ = ]       0    ../../src/drivers/telemetry/frsky_telemetry/sPort_data.cpp
  +0.0%     +17  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  +0.0%     +28  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  +2.7%    +381  [ = ]       0    ../../src/lib/avoidance/ObstacleAvoidance.cpp
  +1.4%    +413  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
   +26% +1.78Ki  [ = ]       0    ../../src/lib/fw_performance_model/PerformanceModel.cpp
  -0.1%     -16  [ = ]       0    ../../src/lib/mixer_module/mixer_module.cpp
  [NEW] +1.25Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +4.87Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +8.91Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -14.9Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  +6.2%    +413  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
 -99.5% +9.82Ki  [ = ]       0    [48 Others]
+0.2% +2.86Ki  [ = ]       0    .debug_ranges
  +0.9%     +24  [ = ]       0    ../../src/lib/avoidance/ObstacleAvoidance.cpp
  +0.4%     +24  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
   +27%    +400  [ = ]       0    ../../src/lib/fw_performance_model/PerformanceModel.cpp
  [NEW]    +176  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +728  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +1.34Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -2.10Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  +1.6%     +24  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
  -2.6%      -8  [ = ]       0    ../../src/lib/version/version.c
  +3.8%     +24  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/windCheck.cpp
  +0.3%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
  +0.4%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
  +1.1%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.cpp
  +0.9%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
  +0.4%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
  +0.6%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
  [NEW] +8.55Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -27.2% -6.34Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.6%      -8  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.1%      +8  [ = ]       0    ../../src/modules/logger/logger.cpp
 -100.2%     -96  [ = ]       0    [8 Others]
+0.3% +9.65Ki  [ = ]       0    .debug_str
  +0.7%    +402  [ = ]       0    
  +1.0%    +169  [ = ]       0    ../../src/drivers/adc/ads1115/ads1115_main.cpp
  -0.0%      -8  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  -4.4%     -11  [ = ]       0    ../../src/lib/airspeed/airspeed.cpp
  -1.8%     -36  [ = ]       0    ../../src/lib/battery/battery.cpp
   +13%     +78  [ = ]       0    ../../src/lib/geo/geo.cpp
  [NEW]     +98  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]     +61  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +396  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -561  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -0.1%      -1  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocation.cpp
  -1.9%     -60  [ = ]       0    ../../src/modules/ekf2/EKF/yaw_estimator/EKFGSF_yaw.cpp
 -22.7%    -239  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Transition/FlightTaskTransition.cpp
  [NEW] +50.0Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -36.3% -40.8Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
 -15.4%     -44  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  -7.8%     -33  [ = ]       0    ../../src/modules/landing_target_estimator/LandingTargetEstimator.cpp
  -0.1%      -7  [ = ]       0    ../../src/modules/mc_att_control/mc_att_control_main.cpp
  -0.9%      -7  [ = ]       0    ../../src/modules/mc_pos_control/PositionControl/ControlMath.cpp
   +19%      +7  [ = ]       0    ../../src/modules/mc_pos_control/Takeoff/Takeoff.cpp
 -100.0%    +267  [ = ]       0    [9 Others]
+0.5%      +1  [ = ]       0    .shstrtab
+0.4% +2.93Ki  [ = ]       0    .strtab
  [NEW]    +128  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +386  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +670  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -762  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -1.9%     -35  [ = ]       0    ../../src/lib/tecs/TECS.cpp
  -8.1%     -32  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +2.47Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -6.5%    -540  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.2%      -1  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  +1.6%     +40  [ = ]       0    ../../src/modules/gimbal/input_mavlink.cpp
  +0.5%    +413  [ = ]       0    [section .strtab]
  [NEW]     +66  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +76  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +29  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]     +34  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.3% +2.00Ki  [ = ]       0    .symtab
 -16.7%     -16  [ = ]       0    ../../platforms/nuttx/src/px4/common/board_fat_dma_alloc.c
  -1.9%     -16  [ = ]       0    ../../src/drivers/barometer/bmp388/bmp388_spi.cpp
  -2.1%     -16  [ = ]       0    ../../src/drivers/gps/devices/src/nmea.cpp
  +0.7%     +16  [ = ]       0    ../../src/drivers/gps/gps.cpp
  -1.5%     -16  [ = ]       0    ../../src/drivers/imu/invensense/icm20948/ICM20948_I2C_Passthrough.cpp
  -1.3%     -16  [ = ]       0    ../../src/drivers/power_monitor/ina228/ina228.cpp
  -0.4%     -16  [ = ]       0    ../../src/drivers/uavcan/sensors/sensor_bridge.cpp
  +0.1%     +16  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  -0.4%     -16  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  [NEW]    +128  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +208  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +560  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -832  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -2.8%     -32  [ = ]       0    ../../src/lib/tecs/TECS.cpp
  -7.0%     -64  [ = ]       0    ../../src/lib/version/version.c
  +1.9%     +16  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/HealthAndArmingChecks.cpp
  +3.6%     +16  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessTilts.cpp
  [NEW] +2.16Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -9.5%    -576  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -2.9%     -16  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
 -99.6%    +512  [ = ]       0    [10 Others]
-36.8% -4.08Ki  [ = ]       0    [Unmapped]
+0.5%  +248Ki  +0.2% +4.09Ki    TOTAL

px4_fmu-v6x [Total VM Diff: 4164 byte (0.21 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.2% +4.06Ki  +0.2% +4.06Ki    .text
  [NEW] +7.79Ki  [NEW] +7.79Ki    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  [NEW] +1.55Ki  [NEW] +1.55Ki    ../../src/lib/npfg/DirectionalGuidance.cpp
  +0.3%    +773  +0.3%    +773    [section .text]
  [NEW]    +468  [NEW]    +468    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +140  [NEW]    +140    ../../src/lib/npfg/AirspeedReferenceController.cpp
  +1.4%     +72  +1.4%     +72    ../../src/modules/logger/logged_topics.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +32  [NEW]     +32    msg/topics_sources/longitudinal_control_limits.cpp
  +2.0%     +24  +2.0%     +24    msg/topics_sources/uORBTopics.cpp
  +0.4%     +16  +0.4%     +16    ../../src/modules/gimbal/input_mavlink.cpp
  +0.8%     +16  +0.8%     +16    builtin_list.c
  [NEW]     +16  [NEW]     +16    msg/topics_sources/lateral_control_limits.cpp
   +75%     +12   +75%     +12    msg/topics_sources/navigator_mission_item.cpp
  +0.0%     +11  +0.0%     +11    ROMFS/nsh_romfsimg.c
  +1.4%     +10  +1.4%     +10    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
 -100.0%     -10 -100.0%     -10    [4 Others]
 -27.3%     -12 -27.3%     -12    msg/topics_sources/normalized_unsigned_setpoint.cpp
 -50.0%     -16 -50.0%     -16    msg/topics_sources/logger_status.cpp
  [DEL] -2.61Ki  [DEL] -2.61Ki    ../../src/lib/npfg/npfg.cpp
 -15.3% -4.24Ki -15.3% -4.24Ki    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
+1.1%      +4  +1.1%      +4    .init_section
+0.6% +10.7Ki  [ = ]       0    .debug_abbrev
  [NEW] +1.48Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +1.85Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +2.08Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -2.18Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
   +11%     +56  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +4.10Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -4.2%    -190  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.6%     -15  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]    +900  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.4%    +632  [ = ]       0    .debug_aranges
  [NEW]     +40  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]     +96  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +192  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -272  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -5.0%      -8  [ = ]       0    ../../src/lib/version/version.c
  [NEW]    +520  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -5.0%     -64  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]     +32  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.3% +1.47Ki  [ = ]       0    .debug_frame
+0.7%  +186Ki  [ = ]       0    .debug_info
  +0.4%     +42  [ = ]       0    ../../platforms/common/uORB/Subscription.cpp
  +0.3%     +42  [ = ]       0    ../../platforms/common/uORB/SubscriptionInterval.cpp
  +0.1%     +42  [ = ]       0    ../../platforms/common/uORB/uORB.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBDeviceMaster.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBDeviceNode.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/common/uORB/uORBManager.cpp
  +0.2%     +42  [ = ]       0    ../../platforms/nuttx/src/px4/common/gpio/mcp23009/mcp23009.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/adc/ads1115/ads1115_main.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/adc/board_adc/ADC.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/barometer/bmp388/bmp388.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/barometer/invensense/icp201xx/ICP201XX.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/barometer/ms5611/ms5611.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/camera_capture/camera_capture.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/camera_trigger/camera_trigger.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/cdcacm_autostart/cdcacm_autostart.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/ms4525do/MS4525DO.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/ms5525dso/MS5525DSO.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/differential_pressure/sdp3x/SDP3X.cpp
  +0.2%     +42  [ = ]       0    ../../src/drivers/distance_sensor/cm8jl65/CM8JL65.cpp
  +0.1%     +42  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
 -98.9%  +185Ki  [ = ]       0    [469 Others]
+0.4% +17.1Ki  [ = ]       0    .debug_line
  [NEW] +1.30Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +2.23Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +3.83Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -5.75Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -1.3%     -25  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +19.4Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -17.3% -9.30Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.2%      -6  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  +0.3%     +20  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.0%      +8  [ = ]       0    ../../src/modules/logger/logger.cpp
  [NEW] +1.31Ki  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW] +1.32Ki  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW] +1.30Ki  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW] +1.31Ki  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
  +2.3%    +132  [ = ]       0    msg/topics_sources/uORBTopics.cpp
  +0.2%      +2  [ = ]       0    task/task_cancelpt.c
+0.2% +12.9Ki  [ = ]       0    .debug_loc
  +0.4%     +15  [ = ]       0    ../../src/drivers/adc/board_adc/ADC.cpp
  -0.2%     -15  [ = ]       0    ../../src/drivers/camera_trigger/camera_trigger.cpp
  -0.2%     -15  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
  +0.1%     +15  [ = ]       0    ../../src/drivers/px4io/px4io.cpp
  +1.2%     +13  [ = ]       0    ../../src/drivers/rc_input/ghst_telemetry.cpp
  +0.0%     +32  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  +0.0%     +19  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  +0.3%     +15  [ = ]       0    ../../src/lib/adsb/AdsbConflict.cpp
  +2.7%    +381  [ = ]       0    ../../src/lib/avoidance/ObstacleAvoidance.cpp
  +1.4%    +413  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
   +26% +1.78Ki  [ = ]       0    ../../src/lib/fw_performance_model/PerformanceModel.cpp
  +0.1%     +16  [ = ]       0    ../../src/lib/mixer_module/mixer_module.cpp
  [NEW] +1.25Ki  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW] +4.87Ki  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +8.91Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -14.9Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  +6.0%    +398  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
  +0.2%     +13  [ = ]       0    ../../src/lib/weather_vane/WeatherVane.cpp
  +0.1%     +15  [ = ]       0    ../../src/modules/airspeed_selector/airspeed_selector_main.cpp
  -0.0%     -15  [ = ]       0    ../../src/modules/commander/Commander.cpp
 -99.5% +9.68Ki  [ = ]       0    [42 Others]
+0.2% +2.86Ki  [ = ]       0    .debug_ranges
  +0.9%     +24  [ = ]       0    ../../src/lib/avoidance/ObstacleAvoidance.cpp
  +0.4%     +24  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
   +27%    +400  [ = ]       0    ../../src/lib/fw_performance_model/PerformanceModel.cpp
  [NEW]    +176  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +728  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW] +1.34Ki  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL] -2.10Ki  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  +1.6%     +24  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
  -2.6%      -8  [ = ]       0    ../../src/lib/version/version.c
  +3.8%     +24  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/windCheck.cpp
  +0.3%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
  +0.4%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
  +1.1%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.cpp
  +0.9%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
  +0.4%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
  +0.6%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
  [NEW] +8.55Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -27.2% -6.34Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.6%      -8  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.1%      +8  [ = ]       0    ../../src/modules/logger/logger.cpp
 -100.2%     -95  [ = ]       0    [9 Others]
+0.3% +10.3Ki  [ = ]       0    .debug_str
  +0.7%    +402  [ = ]       0    
  +1.0%    +169  [ = ]       0    ../../src/drivers/adc/ads1115/ads1115_main.cpp
  -0.0%      -8  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  -4.4%     -11  [ = ]       0    ../../src/lib/airspeed/airspeed.cpp
  -1.8%     -36  [ = ]       0    ../../src/lib/battery/battery.cpp
   +13%     +78  [ = ]       0    ../../src/lib/geo/geo.cpp
  [NEW]     +98  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]     +61  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +396  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -561  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -0.1%      -1  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocation.cpp
  -1.9%     -60  [ = ]       0    ../../src/modules/ekf2/EKF/yaw_estimator/EKFGSF_yaw.cpp
 -22.7%    -239  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Transition/FlightTaskTransition.cpp
  [NEW] +50.7Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
 -36.3% -40.8Ki  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
 -15.4%     -44  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  -7.8%     -33  [ = ]       0    ../../src/modules/landing_target_estimator/LandingTargetEstimator.cpp
  -0.1%      -7  [ = ]       0    ../../src/modules/mc_att_control/mc_att_control_main.cpp
  -0.9%      -7  [ = ]       0    ../../src/modules/mc_pos_control/PositionControl/ControlMath.cpp
   +19%      +7  [ = ]       0    ../../src/modules/mc_pos_control/Takeoff/Takeoff.cpp
 -100.0%    +267  [ = ]       0    [9 Others]
-1.4%      -3  [ = ]       0    .shstrtab
+0.5% +2.93Ki  [ = ]       0    .strtab
  [NEW]    +128  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +386  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +670  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -762  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -1.9%     -35  [ = ]       0    ../../src/lib/tecs/TECS.cpp
  -8.1%     -32  [ = ]       0    ../../src/lib/version/version.c
  [NEW] +2.47Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -6.5%    -540  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.2%      -1  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
  +1.6%     +40  [ = ]       0    ../../src/modules/gimbal/input_mavlink.cpp
  +0.5%    +413  [ = ]       0    [section .strtab]
  [NEW]     +66  [ = ]       0    msg/topics_sources/fw_lateral_control_setpoint.cpp
  [NEW]     +76  [ = ]       0    msg/topics_sources/fw_longitudinal_control_setpoint.cpp
  [NEW]     +29  [ = ]       0    msg/topics_sources/lateral_control_limits.cpp
  [NEW]     +34  [ = ]       0    msg/topics_sources/longitudinal_control_limits.cpp
+0.3% +2.00Ki  [ = ]       0    .symtab
  -1.9%     -16  [ = ]       0    ../../src/drivers/barometer/bmp388/bmp388_spi.cpp
  -8.3%     -16  [ = ]       0    ../../src/drivers/barometer/invensense/icp201xx/icp201xx_main.cpp
  -2.1%     -16  [ = ]       0    ../../src/drivers/gps/devices/src/nmea.cpp
  +0.7%     +16  [ = ]       0    ../../src/drivers/gps/gps.cpp
  -1.3%     -16  [ = ]       0    ../../src/drivers/uavcan/sensors/baro.cpp
  +0.1%     +16  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  -0.4%     -16  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  +2.7%     +16  [ = ]       0    ../../src/lib/motion_planning/PositionSmoothing.cpp
  [NEW]    +128  [ = ]       0    ../../src/lib/npfg/AirspeedReferenceController.cpp
  [NEW]    +208  [ = ]       0    ../../src/lib/npfg/CourseToAirspeedRefMapper.cpp
  [NEW]    +560  [ = ]       0    ../../src/lib/npfg/DirectionalGuidance.cpp
  [DEL]    -832  [ = ]       0    ../../src/lib/npfg/npfg.cpp
  -2.8%     -32  [ = ]       0    ../../src/lib/tecs/TECS.cpp
  -7.0%     -64  [ = ]       0    ../../src/lib/version/version.c
  +1.9%     +16  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/HealthAndArmingChecks.cpp
 -10.0%     -16  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/navigatorCheck.cpp
  -0.9%     -16  [ = ]       0    ../../src/modules/fw_att_control/FixedwingAttitudeControl.cpp
  [NEW] +2.19Ki  [ = ]       0    ../../src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp
  -9.5%    -576  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -2.9%     -16  [ = ]       0    ../../src/modules/fw_pos_control/runway_takeoff/RunwayTakeoff.cpp
 -99.6%    +480  [ = ]       0    [10 Others]
-5.9% -4.07Ki  [ = ]       0    [Unmapped]
+0.5%  +247Ki  +0.2% +4.07Ki    TOTAL

Updated: 2025-01-14T08:46:40

@RomanBapst RomanBapst force-pushed the pr-fw_ctrl_api branch 2 times, most recently from f14b301 to 8405fa3 Compare January 8, 2025 12:39
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.

1 participant