Compare commits

...

1654 Commits

Author SHA1 Message Date
Eric Katzfey fbfb93ab26 Cleaned up the API and added SBUS support 2023-12-28 17:33:18 -08:00
Eric Katzfey 4b53be9444 Updated GPS driver to use the new platform independent UART driver 2023-12-27 15:39:33 -08:00
Eric Katzfey 4217b43728 Fixed various build issues with the new Serial implementation 2023-12-27 14:54:36 -08:00
Eric Katzfey baa857d56f Added a new device driver for a platform independent UART implementation 2023-12-27 13:08:26 -08:00
Silvan Fuhrer 6be8cbe439 Navigator: mission_block: reduce enforce eexit course margin to 105% (#22511)
With this margin it is made sure that if the loiter is not perfectly tracked,
(vehicle outside of path setpoint) a wp just at the border of the loiter
is still reachable.
It should though be as small as necessary, as otherwise, with good
loiter tracking,  waypoints that are close but not right on the loiter
radius are not enforcing the exit course neither.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 16:58:22 +01:00
Silvan Fuhrer 7e22b47b85 Navigator/FlightTaskAuto yaw handling improvements/simplifications (#22532)
* PositionSetpoint: remove yaw_valid field

* Navigator: set yaw setpoint to NAN for Takeoff

Don't set a yaw setpoint for takeoff, as Navigator doesn't handle the yaw reset.
The yaw setpoint generation is handled by FlightTaskAuto.

* PositionSetpoint.msg: remove disable_weather_vane and instead only use the yaw field

Strictly follow the concept that if the position_setpoint.yaw is set, then
follow it the controller, and otherwise let the controller set it as it
thinks it's best.

* Navigator: remove logic that sets yaw to be accepted in TAKEOFF

No longer needed as during Takeoff we anyway don't set a yaw setpoint.

* PositionSetpoint.msg: remove yawspeed_valid

* PositionSetpoint.msg: remove yawspeed

* Navigator: set yaw setpoint to NAN instead of current

In set_takeoff and set_land_item, as well as for VTOL transition.
The flight tasks then set the yaw corresponding to the current yaw.

* Navigator: change get_yaw_acceptance into a bool

* PositionSetpoint.msg: improve comment for yaw

* MissionBlock: remove unnecessary code from set_vtol_transition_item

* Navigator: clean up calculate_breaking_stop(), set yaw to NAN

* Navigator: set yaw to NAN in variouls places where not specifc setpoint is desired

* Navigator: set yaw to NAN in reset_position_setpoint()

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-12-21 16:50:13 +01:00
Matthias Grob d872ef87da differential_drive_control: don't build by default
also add dependency on control allocation parameter CA_R_REV
2023-12-21 16:27:53 +01:00
Matthias Grob 3de5c609a4 Differential Rover: PR fixes 2023-12-21 16:27:53 +01:00
PerFrivik 056e41af8c Differential Rover: Ported R1 to GZ and introduced new GZ wheel interface 2023-12-21 16:27:53 +01:00
PerFrivik 1e7ce32480 Differential Rover: Added logging and dds topics 2023-12-21 16:27:53 +01:00
PerFrivik 3df71d1837 Differential Rover: Differential drive module & library 2023-12-21 16:27:53 +01:00
PerFrivik e3359ea884 Differential Rover: Update airframe architecture 2023-12-21 16:27:53 +01:00
Peter van der Perk 19d1941758 px4_fmuv6xrt: Switch to icm42686p on SPI1
icm42588p driver don't use a icm42688p when icm42686p is requested
2023-12-21 10:11:20 -05:00
bresch c1b139dea1 atune: reset param on start
This prevents a race condition where autotune cannot start because the param was already set to 1
2023-12-21 13:52:47 +01:00
MaEtUgR 74549e29a5 [AUTO COMMIT] update change indication 2023-12-21 11:42:08 +01:00
Matthias Grob bcb2b1ad40 matrix: fix slice to slice assignment to do deep copy
To fix usage of a.xy() = b.xy() which should copy
the first two elements over into a and not act on a copy of a.
2023-12-21 11:42:08 +01:00
Silvan Fuhrer 2afbd09c63 Commander: AirspeedCheck: increase timeout threshold to 2s
1s gives some false positives at boot up, as the airspeed selector only
starts publishing 2s after its startup.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 9d00a3ae4d AirspeedSelector: remove option to disable airspeed sensor through ASPD_PRIMARY
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 29807a5e50 Replace CBRK_AIRSPD_CHK with SYS_HAS_NUM_ASPD
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 9e0c8fd75e FW controllers: change param FW_ARSP_MODE to FW_USE_AIRSPD
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 1f2a0bc657 Commander: remove check for FW_ARSP_MODE for airspeed missing reporting
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 5211c358aa FW Position Controller: change airspeed setpoint init
-remove dedicated vtol transition airspeed init logic
-init airspeed setpoint on first usage of tecs
-init to max of current airspeed and min airspeed

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 27957e1f2f FW Position Controller: set airspeed_valid flag to false if incoming data is not finite
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 123c06f2e6 NPFG: specify in comments that airspeed reference is for true airspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
Silvan Fuhrer 589f0f1fc7 FW Position Controller: rename _airspeed to _airspeed_eas
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-21 11:34:28 +01:00
bresch b8c81f6281 gps_blending: fallback to secondary if primary has no fix 2023-12-20 16:35:30 -05:00
bresch 094048ed04 gps_blending: fix selection rapid switching
Once a timeout of the primary instance is detected, a fallback is only
allowed until the primary receiver is regained.
2023-12-20 16:35:30 -05:00
Matthias Grob 8da106df6a px_process_events: fix no base path being a list
This make `make extract_events` fail in CI that only runs on the
main branch and hence I wasn't aware of.
2023-12-19 10:04:02 +01:00
Beniamino Pozzan 613564fffa [rc.simulator] fix PX4_HOME_ALT and cleanup
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-12-18 16:08:30 -05:00
bresch 36eb319834 ekf2-yaw_est: split imu and velocity updates 2023-12-18 18:11:20 +01:00
bresch bba30663cc update change indicator
Caused by the GNSS checks being performed at the delayed-time horizon
2023-12-18 18:11:20 +01:00
bresch a653073d4f ekf2: perform GNSS checks at delayed-time horizon
- never fuse a measurement that is not passing the checks
- cleanup and simplify GNSS vel/pos control logic
2023-12-18 18:11:20 +01:00
Daniel Agar b0566cd8aa posix: cmake INSTALL make new GZ models/worlds optional for now
- the entire posix install package needs to be reviewed and tested
2023-12-18 11:49:53 -05:00
Frederik Markus 0aa7af8b66 update submodule to current main branch commit (#22566)
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
2023-12-18 15:04:29 +01:00
Frederik Markus c63214bcae adds vehicle with monocam (#22546)
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
2023-12-18 09:47:57 +01:00
Frederik Markus 65e53286b6 Standalone px4 stable (#22467)
simulation gazebo: move the gazebo models to submodule, allow for operation with external gazebo instance, independent of startup order. Allows drag an drop of models from gazebo fuel.

* rolled back updates

Signed-off-by: frederik <frederik@auterion.com>

* fixing empy

Signed-off-by: frederik <frederik@auterion.com>

* Update GZBridge.cpp to lower drop position 

Dropping from 1m leads to movement in the rc_cessna. Dropping from 0.5m leads to no movement.

* Update STANDALONE env variable.

* Update STANDALONE env_variable on GZBridge

* Update src/modules/simulation/gz_bridge/GZBridge.cpp

Co-authored-by: Daniel Agar <daniel@agar.ca>

* test removal of x500

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* removed all models and reworked logic

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* remove model path in set_sdf_filename

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* filter resource path for world sdf

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* updated structure to keep old make px4_sitl

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* remove gz tools

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* import gz as submodule and reverse rc simulator logic

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>

* [gz-sim]: source GZ_SIM_RESOURCE_PATH only if PX4 starts gz server

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>

* Typo fix

---------

Signed-off-by: frederik <frederik@auterion.com>
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
Co-authored-by: Daniel Agar <daniel@agar.ca>
Co-authored-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-12-18 09:43:20 +01:00
Matthias Grob 6ffc5a9eae events: pass relative paths plus base path to source parser script (#22551)
* events: pass relative paths plus base path to source parser script

to work around maximum Makefile command lenght limits.

* events: correct cmake comment typo

Co-authored-by: Beat Küng <beat-kueng@gmx.net>

---------

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2023-12-18 09:33:53 +01:00
Silvan Fuhrer f38fe24a98 FW Position Control: fix setting of _control_mode_current to AUTO in VTOL landing
The _control_mode_current wasn't updated otherwise, and only done so by luck
because we already set the current type to SETPOINT_TYPE_POSITION.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-16 16:37:51 -05:00
Daniel Agar 4b25fad862 lib/timesync: relax warnings
- double required max consecutive counts
 - don't continuously complain about round trip time (RTT) unless
   there's been at least one acceptable round trip (latency < 100 ms)
2023-12-16 16:36:36 -05:00
Daniel Agar 7fa6f4e32f boards: px4/fmu-v6x add dedicated multicopter build 2023-12-16 16:29:52 -05:00
Daniel Agar 808fd67fcb Tools/setup: macos.sh add python-tk for kconfig gui (boardguiconfig) 2023-12-16 16:29:07 -05:00
Daniel Agar dba2d76321 systemcmds/i2c_launcher: fix USER_I2C_LAUNCHER kconfig warning 2023-12-16 16:28:11 -05:00
Silvan Fuhrer 8be22f6c75 FW Position Controller: add missing @decimal 1 for FW_LND_THRTC_SC
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-16 09:45:18 +01:00
jamming b7306f3773 boards: px4/fmu-v6c add BMI088 support 2023-12-15 11:45:37 -05:00
Peter van der Perk fe4333f4a0 Update NuttX 2023-12-15 10:15:02 -05:00
Peter van der Perk e2c027405e px4_fmu-v6xrt: Add dshot support 2023-12-15 10:15:02 -05:00
oystub 24cee81279 gps_blending: output valid time_utc_usec
Before this fix, the time_utc_usec output from blending was always 0.
This means that you wouldn't get a valid vehicle_gps_position/time_utc_usec

With this commit, UTC timestamps are blended according to weights for
all GPSes with a nonzero UTC timestamp value.

It would be possible to simply use the first valid UTC timestamp instead
of blending, but since the system timestamps are blended, it seems
suitable to blend UTC timestamps as well.
2023-12-13 11:14:00 -05:00
Niklas Hauser c769fc7785 SF1xx: optionally disable sensor in forward flight 2023-12-13 09:02:26 +01:00
marcojob cf62dad28d sensors/VehicleAngularVelocity: fix force SensorSelectionUpdate
- This fixes the force call on SensorSelectionUpdate
 - In contrary to the rest of the codebase, this method also takes a timestamp: When you call SensorSelectionUpdate(true), time_now_us is actually set to 1 and force stays false, as this is the default value for in the method.
2023-12-12 20:56:59 -05:00
Kjersti Brynestad 91e3ec5884 mavlink: Handle NAMED_VALUE_INT 2023-12-12 20:50:46 -05:00
GuillaumeLaine 942b6700a1 dds_topics: export estimator_status_flags 2023-12-12 14:43:07 -05:00
Matthias Grob 75bb25a44c test_vtol_figure_eight: fix altitude check
wait_until_altitude() checks for absolute altitude being
close so checking for 1m below the setpoint can fail
if the speedup results in no sample inside the altitude
window being checked.

Ideally the test could check if the takeoff is done directly
instead of comparing altitudes in the first place.
2023-12-12 20:22:23 +01:00
Silvan Fuhrer 91ab09ebd5 TECS: in _calcPitchControlOutput guard against invalid airspeed inputs
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Silvan Fuhrer 9db86f7f0a TECS: fix airspeed filter init in airspeed-less mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Silvan Fuhrer 60e2c6a5cb TECS: improve initialization
-remove external init, and instead always (but only) init when dt is too large
-init the controller params correctly

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Silvan Fuhrer 1f5fc3e849 TECS: init control params to reasonable values
The control params (eg min/max pitch) are used before they are
correctly set by TECS::update(). While this is an issue we should fix,
it also doesn't hurt to set them to more reasobale values (eg 30° limit).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Silvan Fuhrer 7926107328 TECS: make sure to constrain pitch to current min/max pitch
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Silvan Fuhrer cc743048ba TECS: set _ratio_underspeed to 0 if airspeed disabled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-12 15:16:38 +01:00
Matthias Grob ece60b6165 msp_osd: reuse existing mode name conversion
This saves a bit of flash, keeps the mode names up to date and
works like expected.
2023-12-11 17:29:45 +01:00
Silvan Fuhrer 8aab3e8013 Navigator: same logic for VTOL_TAKEOFF as for TAKEOFF (#22518)
Set the setpoint type to POSITION if already in air, not to TAKEOFF.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-11 14:18:22 +01:00
Matthias Grob ebae9ae3d7 FlightTaskManualAccelerationSlow: MC_ prefix for parameter names
As discussed in the maintainer call we should adhere to the
parameter naming scheme that makes it clear what vehicle type the
configuration is good for.
2023-12-08 21:17:59 +01:00
Matthias Grob d03030e881 mavlink_receiver: ifdef guard for velocity limits
Since this message is defined in development.xml and
not yet common.xml and some targets use
common.xml and the builds then failed.
2023-12-08 21:17:59 +01:00
Matthias Grob ca6db94e39 Velocity limit: remove duplicate message and if(true) 2023-12-08 21:17:59 +01:00
Matthias Grob da24811ce1 SickAccelerationXY: fix comment typo brak{e}ing 2023-12-08 21:17:59 +01:00
Marcin 4cf43a68a3 FlightTask: add subscription to VELOCITY_LIMITS msg 2023-12-08 21:17:59 +01:00
Matthias Grob 54ce9813c8 FlightModeManager: Add task for position slow mode 2023-12-08 21:17:59 +01:00
Matthias Grob ef0926d64b Commander: add position slow mode 2023-12-08 21:17:59 +01:00
Matthias Grob dbbf585adb StickYaw: yaw rate limit interface 2023-12-08 21:17:59 +01:00
Matthias Grob 84220407ea FlightTaskManualAltitude: vertical velocity limit interface 2023-12-08 21:17:59 +01:00
Matthias Grob bb617f6c4d FlightTaskManualAcceleration: horizontal velocity limit interface 2023-12-08 21:17:59 +01:00
Matthias Grob 77c06a9f9e Sticks: Provide auxiliary analog values from manual_control_setpoint 2023-12-08 21:17:59 +01:00
Matthias Grob df41bc3d26 StickAccelerationXY: make sure speeds below 1m/s are exactly reached
by only applying the sqrt linear drag when brakeing.
It was originally not done this way to avoid discontinuities and
the exact speed bewlo 1m/s didn't matter. With the position slow mode
the exact slow speeds now matter. And the discontinuities are avoided by
reusing the brake boost filter.
2023-12-08 21:17:59 +01:00
Daniel Agar f703f07399 drivers/distance_sensor: update kconfig common sensors
- mappydot is EOL
 - LL40LS_PWM is a fairly special case that's not common
2023-12-08 13:32:23 -05:00
Matthias Grob e35380d6ae mixer_module_tests: cover output_limit_calc_single() 2023-12-07 21:35:55 -05:00
Matthias Grob 0a78690356 mixer_module: correct output_limit_calc_single calculation 2023-12-07 21:35:55 -05:00
PX4 BuildBot fb3123e33b Update world_magnetic_model to latest Thu Dec 7 11:14:08 UTC 2023 2023-12-07 21:34:18 -05:00
David Sidrane 936c18733b NuttX with NXP Backports 2023-12-07 21:13:40 -05:00
PX4 BuildBot db1bb94ea4 Update submodule mavlink to latest Thu Dec 7 12:39:06 UTC 2023
- mavlink in PX4/Firmware (67cf6bd264055a5d13d5521c6c43bd5b42f374ca): https://github.com/mavlink/mavlink/commit/6cf005e996865d4af749f5f9f0fa95ea7721924e
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/5f85bd7d7d6155d2d349bd04ed67544610e8e65b
    - Changes: https://github.com/mavlink/mavlink/compare/6cf005e996865d4af749f5f9f0fa95ea7721924e...5f85bd7d7d6155d2d349bd04ed67544610e8e65b

    5f85bd7d 2023-12-07 Hamish Willee - MAV_CMD_DO_SET_HOME - add home position roll/pitch (#1849)
55ba3887 2023-12-06 Hamish Willee - Fixed deprecation typo for MAV_CMD_SET_MESSAGE_INTERVAL (#2060)
2023-12-07 17:56:13 -05:00
PX4 BuildBot 3d1ce20c12 boards: update all NuttX defconfigs 2023-12-07 17:55:38 -05:00
Silvan Fuhrer c61ac784b6 FW attitude controller: remove deprecated ecl_controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer b1317daa9c wheel controller remove from ecl
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer 00f5bba5e0 FW att controller: wheel controller: separate from ecl_controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer 448292c980 FW att controller: yaw controller: separate from ecl_controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer d4206195c6 FW att controller: pitch controller: separate from ecl_controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer 7e467f7121 FW att controller: roll controller: seperate from ecl_controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
Silvan Fuhrer 48782723ab FW att controller: ecl_controller: move setter/getter implementation to header
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-07 17:21:09 +01:00
David Sidrane 2af21ee0b6 NuttX with No TXDMA semaphore in serial backports 2023-12-06 11:46:47 -05:00
Matthias Grob d259386987 arch: python requirements fix, jdk comes with ant 2023-12-05 12:06:56 -05:00
Matthias Grob 14c4257a59 ActuatorEffectivenessRotors: Use modern parameter interface for rotor count
This lead to a compiler warning with arm-none-eabi-gcc 12+
about the variable count potentially being a dangling pointer.
2023-12-05 12:06:56 -05:00
Matthias Grob b71c6fb6ea arch: update to use pacman's arm-none-eabi
which is currently GCC 12.2
2023-12-05 12:06:56 -05:00
Matthias Grob adb22f1407 spi: put brackets such that GCC12 considers it a pointer for sure
otherwise you get the warning/error px4_spi_buses can never be NULL
2023-12-05 12:06:56 -05:00
Matthias Grob 0c97b0f4b0 ubuntu: usermod -aG instead of -a -G
It's well documented everywhere that this command does and
it's commonly used with exactly these two parameters together
and in that order.
2023-12-05 12:06:56 -05:00
bresch 5ca22df55c ekf2-pos bias estimator: use enum 2023-12-05 11:22:59 -05:00
bresch a3515a2474 ekf2: scope HeightSensor enum 2023-12-05 11:22:59 -05:00
bresch 6bd1145006 ekf2: scope RngCtrl enum 2023-12-05 11:22:59 -05:00
bresch 1df52df27d ekf2: scope GnssCtrl enum 2023-12-05 11:22:59 -05:00
bresch 97423136d1 ekf2-AGP: scope control enum 2023-12-05 11:22:59 -05:00
Beat Küng c5101c70b3 uorb: enure message definitions don't exceed buffer lengths & increase test buffer
There were already checks at runtime, but this ensures the format is not
too long at built-time.
2023-12-05 10:42:23 +01:00
Konrad df46ad7774 Dcm2: Use std::sin with overloaded types 2023-12-05 10:42:23 +01:00
Konrad d1b8a2e8d5 fxedwingPositionControl: Add slew rate at the end for all mode instead inside each 2023-12-05 10:42:23 +01:00
Konrad ae3aee3402 fw param: reduce default COM_VEL_FS_EVH to warn earlier when velocity uncertainty increases 2023-12-05 10:42:23 +01:00
Konrad 1d07697a9e NPFG: Add fallback for corner cases 2023-12-05 10:42:23 +01:00
Matthias Grob 1c25d65a1e Add missing newline at the end of files 2023-12-01 13:11:00 -05:00
Matthias Grob 4c0b6dbe86 Remove trailing whitespaces and trailing duplicate newlines 2023-12-01 13:11:00 -05:00
Matthias Grob d8d2213cab mavlink streams: add SYSTEM_TIME to onboard low bandwidth
It's required with 2Hz by some MAVLink enabled payloads.
2023-12-01 11:02:37 -05:00
Matthias Grob 9184a8f4ef mavlink streams: add CAMERA_IMAGE_CAPTURED to onboard low bandwidth 2023-12-01 11:02:37 -05:00
Matthias Grob 3ceb932b7c mavlink streams: increase RC_CHANNELS rate for onboard low bandwidth
There are MAVLink enabled gimbals that directly consume RC channel data.
The gimbal controls stutter with this profile when the rate is too low.
2023-12-01 11:02:37 -05:00
Matthias Grob 938be68c69 mavlink streams: add gimbal orientation feedback to normal stream
It only publishes when the information is available on uORB
and is useful for the groundstation to show the gimbal's status.
2023-12-01 11:02:37 -05:00
Silvan Fuhrer b0df7c7ccb RTL/Land: set gimbal to neutral to reduce change of damage
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 13:19:09 +01:00
Silvan Fuhrer 789b3880cf Mission: set gimbal to neutral on inactivation
It is generally preferred to have the camera pointing forward on pause,
e.g. to use the camera for Navigation.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 13:19:09 +01:00
Silvan Fuhrer 0d8ba587ca Mission: set gimbal to neutral before landing item
To reduce risk of damage during landing.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 13:19:09 +01:00
Silvan Fuhrer 178ea132b6 Navigator: add set_gimbal_neutral() functionality
To point the gimbal forward eg during landing to reduce chance of damage.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 13:19:09 +01:00
bresch fe7988672f ekf2: auxiliary position fusion
Co-authored-by: Daniel Agar <daniel@agar.ca>
2023-12-01 11:50:22 +01:00
Silvan Fuhrer aaefc36cad airframes: remove 4900_crazyflie
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 09:43:41 +01:00
Silvan Fuhrer 6c9af2e0ec airframes: remove 4040_reaper
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 09:43:41 +01:00
Silvan Fuhrer 6b4fca1b9d px4vision configs: remove params that are just set again to default
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-12-01 09:43:41 +01:00
Matthias Grob d85aaf4dfd v5x/v6x: save flash by not compiling analog OSD by default 2023-11-30 17:16:02 +01:00
Matthias Grob 82c422b818 fmu-v5x: don't build roboclaw driver by default
it's not used that often and for rovers only.
2023-11-30 17:16:02 +01:00
Matthias Grob 8bb20db7da GotoControl: Save flash 2023-11-30 17:16:02 +01:00
Matthias Grob 7b4712cb29 sensor_simulator: initialize VelocitySmoothing with desired limits 2023-11-30 17:16:02 +01:00
Matthias Grob d014d76ca7 HeadingSmoothing: set correct maximum heading
The velocity smoothing library constrains the maximum vellocity.
I set the default constraint to 0 to find these exact issues.
The heading smoothing did not initialize the maximum velocity
which in this use case is the maximum heading.
So heading was always constrained to 0 -> north until this change.
2023-11-30 17:16:02 +01:00
Matthias Grob 5a2efc1cb2 GotoControl: remove dependency on PositionControl
It was there only to have the empty trajectory setpoint defined.
I rather redefine it for the single use.
2023-11-30 17:16:02 +01:00
Matthias Grob c853acc2ff GotoControl: also provide maximum velocity to position smoother 2023-11-30 17:16:02 +01:00
Matthias Grob d1e8bdbd16 GotoControl: rename yaw rate acceleration parameter
such that not only one letter differs to MPC_YAWRAUTO_MAX
2023-11-30 17:16:02 +01:00
Matthias Grob dc7f9165d1 logged_topics: fix goto_setpoint name 2023-11-30 17:16:02 +01:00
Matthias Grob 3de6fee07f GotoControl: make interface over uORB 2023-11-30 17:16:02 +01:00
Matthias Grob 96a81c22e3 GotoControl: simplify configuration wrapping 2023-11-30 17:16:02 +01:00
Matthias Grob 439d6c61e0 Revise GotoControl 2023-11-30 17:16:02 +01:00
Matthias Grob 14b8afe972 PositionSmoothingTest: remove duplicate vector comparison 2023-11-30 17:16:02 +01:00
Matthias Grob 591845bb41 HeadingSmoothing: rename, simplify, add cpp 2023-11-30 17:16:02 +01:00
Matthias Grob be05b3e8d7 helper_functions: include defines for M_PI_PRECISE
The defintion of the custom symbol M_PI_PRECISE
was not included in one of the only places it's used.
Looks like a mistake that happened in
34c852255e
possibly because a lot of things are included
almost everywhere and if the include order
ligns up there are no compile errors.
2023-11-30 17:16:02 +01:00
Matthias Grob efb325d25d motion_planning: remove deprecated separate test
It's functionality probably broke already in
befbb6b106c4c04933222ecb205f001fd77fa85f
and the tests are now covered by
VelocitySmoothingTest.cpp
2023-11-30 17:16:02 +01:00
Matthias Grob 53076b9863 PositionSmoothing: guard division by zero
Note that the unit test also passes without
thechange. But the VelocitySmoothing's
local_time would get NAN. This would leads to
wrong trajectory calculations.
2023-11-30 17:16:02 +01:00
Matthias Grob 11cca72ef1 VelocitySmoothing: fix division by zero cases
Problem: Zero maximum jerk and/or zero
direction would lead to divisions by zero in
various cases depending on the exact configuration and code path.

Solution: There was already one check for the
direction being zero in one path and I
summarized to check in both
updateDurations...() functions the product
of direction * max_jerk to not be zero
because that's exactly the value calculations
devide by.
2023-11-30 17:16:02 +01:00
Matthias Grob 6f295d91d1 Revert "motion_planning: sanitize inputs to position and velocity smoothing libs"
This reverts commit 2951c846ee07e52c2e3d97ea4629185016f3a011.
2023-11-30 17:16:02 +01:00
Matthias Grob 14785eeb47 GotoSetpoint message: reorder flag directly before value 2023-11-30 17:16:02 +01:00
Thomas Stastny 4b920a6628 GotoControl: add go-to control interface to mc position controller
goto control class handles smoothing of goto setpoints, outputs trajectory setpoint for mc pos control
some minor encapsulation done in mc pos control for readability
new param MPC_YAWAAUTO_MAX limiting heading accelerations in heading smoother
2023-11-30 17:16:02 +01:00
Thomas Stastny e47aba8bc9 msg: add go-to setpoint interface 2023-11-30 17:16:02 +01:00
Thomas Stastny 72a811a4b3 motion_planning: add heading smoother lib
wraps the velocity smoother, but is intended for generating smooth heading trajectories
handles angle wrap
2023-11-30 17:16:02 +01:00
Thomas Stastny 80dd7e4806 motion_planning: sanitize inputs to position and velocity smoothing libs 2023-11-30 17:16:02 +01:00
Beat Küng f69636feef fix msg: add_custom_command needs to depend on files instead of custom_command target name
This fixes incremental builds when msg files change.

Introduced with https://github.com/PX4/PX4-Autopilot/pull/21995.
2023-11-30 10:36:39 -05:00
frederik 3b041ef8d4 empy version fixed to 3.3.4
Signed-off-by: frederik <frederik@auterion.com>
2023-11-30 10:07:27 -05:00
Jukka Laitinen 9d465615d1 src/drivers/sw_crypto: Fix buffer lengths for xchacha20 crypto
The size input argument for monocypher crypto_xchacha20_ctr should be the
plaintext message length.

The promise of the interface is, that the call to encrypt_data updates the
ciphertext message length after the call succeeds.

The crypto should check that the output buffer length (cipher length) is
large enough to contain the encrypted data.

Fix these issues; these have gone unnoticed for a long time since the interface
has been only used by logger, and passing the same size for both in and out.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-11-29 20:56:00 -05:00
PX4 BuildBot c2345ac5b3 Update world_magnetic_model to latest Wed Nov 29 11:14:09 UTC 2023 2023-11-29 20:55:05 -05:00
PX4 BuildBot 33a3e568bb boards: update all NuttX defconfigs 2023-11-29 20:54:34 -05:00
PX4 BuildBot afe110cca1 update all px4board kconfig 2023-11-29 20:54:10 -05:00
Jacob Dahl e627fe01dc UXRCE_DDS_SYNCC default 0 2023-11-29 20:53:01 -05:00
Konrad 42ce9eb692 mavlink_mission: Send MISSION_CURRENT periodically even when no mission is loaded. 2023-11-29 11:10:40 -05:00
Konrad 36f0c0f0bf mavlink-mission: Add support for opaque ids and replace update counter with it 2023-11-29 11:10:40 -05:00
Konrad 120e7fea8b mavlink: update submodule including opaque ID 2023-11-29 11:10:40 -05:00
Frederik Markus f00d97d974 removal of PX4_GZ_MODEL env variable and fix of ground glitching (#22400)
Removal of PX4_GZ_MODEL env variable and fix of ground glitching

Signed-off-by: frederik <frederik@auterion.com>
Co-authored-by: frederik <frederik@auterion.com>
Co-authored-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-29 09:08:04 +00:00
alexklimaj 59abab8379 sensors: add parameter to silence imu clipping 2023-11-28 11:57:14 -05:00
Daniel Agar a9213e3862 Update world_magnetic_model to latest Tue Nov 28 11:14:14 UTC 2023
Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-11-28 11:04:02 -05:00
PerFrivik befbc19a4a Roboclaw: Updated parameter prefix for roboclaw output module 2023-11-28 16:30:17 +01:00
PerFrivik c84185af96 Roboclaw: Fixed issue where parameters had different prefixes 2023-11-28 16:30:17 +01:00
PerFrivik 9ce090f2da Roboclaw: Fix CI pr issue 2023-11-28 16:30:17 +01:00
PerFrivik 7c45093908 Roboclaw: Updated yaml file to support Roboclaw Driver in QGC 2023-11-28 16:30:17 +01:00
PerFrivik bea00f62c9 Roboclaw: Changes in r1 airframe, removed hardcoded port configurations 2023-11-28 16:30:17 +01:00
PerFrivik 3a7f2f8bce Roboclaw: Accidentally removed a parameter 2023-11-28 16:30:17 +01:00
PerFrivik de9074558b Roboclaw: Updated Airframe and fixed left and right mapping error 2023-11-28 16:30:17 +01:00
PerFrivik 09d30568ab Roboclaw: Consistent Left & Right naming convertion with Differential Drive class 2023-11-28 16:30:17 +01:00
Matthias Grob f53edfa440 Roboclaw: major cleanup 2023-11-28 16:30:17 +01:00
Matthias Grob c27181a154 Rename RoboClaw -> Roboclaw
The manufacturer uses both naming schemes, RoboClaw more than Roboclaw
but it's always one word and hence I think it's more consistent to name
it the latter.
2023-11-28 16:30:17 +01:00
Matthias Grob 87683aa790 Roboclaw: move parameters to module.yaml 2023-11-28 16:30:17 +01:00
Matthias Grob 8f4ce28e84 RoboClaw: declutter, make it compile again 2023-11-28 16:30:17 +01:00
Matthias Grob 5b4031356e RoboClaw: fix style 2023-11-28 16:30:17 +01:00
Per Frivik 9409646a89 Update RoverPositionControl.cpp 2023-11-28 16:30:17 +01:00
Per Frivik e9810e7be6 Update WheelEncoders.msg 2023-11-28 16:30:17 +01:00
Per Frivik dd9c1c02d1 Delete msg/ActuatorControls.msg 2023-11-28 16:30:17 +01:00
Per Frivik a6b2bcd166 Update msg/CMakeLists.txt
Remove ActuatorControls.msg

Co-authored-by: Daniel Agar <daniel@agar.ca>
2023-11-28 16:30:17 +01:00
PerFrivik a40120c332 Roboclaw: Integrated OutputModuleInterface including a large code refactor 2023-11-28 16:30:17 +01:00
PerFrivik 86e5561a64 Roboclaw: Fixed issue when power cylcing the roboclaw where the driver would not connect 2023-11-28 16:30:17 +01:00
PerFrivik 524fa73ad3 Roboclaw: rough refactor, removed repetitive code, simplified and clarified logic and error handeling 2023-11-28 16:30:17 +01:00
PerFrivik dde7bbb4f6 Roboclaw: Initial cleanup, next commit will be refactor removing the duplicated write and read functions 2023-11-28 16:30:17 +01:00
PerFrivik fe4d319ba9 Roboclaw: Replaced setDutyCycle with setMotorSpeed to allow for encoder data to get through (added support for encoders) 2023-11-28 16:30:17 +01:00
PerFrivik c7e780cb6d Roboclaw: Working temporary version that drives around 2023-11-28 16:30:17 +01:00
PerFrivik 184993daa3 Roboclaw: Added DutyCycle command in Roboclaw destructor to turn off motors 2023-11-28 16:30:17 +01:00
Matthias Grob a857df88e4 Driving possible 2023-11-28 16:30:17 +01:00
PerFrivik ab486de430 Roboclaw: Temporary fix, enabling driver to run 2023-11-28 16:30:17 +01:00
PerFrivik 549c6b565c ported roboclaw driver from older commits into newest develop branch 2023-11-28 16:30:17 +01:00
Peter van der Perk 66544d080a px4_fmu-v6xrt: Fix TELEM2 always being used for mavlink 2023-11-28 08:00:45 -05:00
Konrad 8a68a66203 figureEight: Rename relative position variable 2023-11-28 10:06:01 +01:00
Konrad 1e06ed2ed5 figureEight: Rework initialization 2023-11-28 10:06:01 +01:00
Konrad a73409c015 FigureEight: Refactor initialization 2023-11-28 10:06:01 +01:00
Julian Oes ef20708a98 kakuteh7/7mini/h7v2: Add ICM42686p as alternative
This adds the ICM42686p as a possible alternative to the existing IMUs.

Apparently, the ICM20689 was never actually used in these boards.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-27 21:31:46 -05:00
Beniamino Pozzan 2363c03bfe [uxrce_dds_client] wait for Timesync to converge
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-27 21:10:26 -05:00
Beniamino Pozzan f01400de81 [uxrce_dds_client] Fix debug string format - use PRId64 and llabs
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-27 21:10:26 -05:00
Daniel Agar 5af6cf1889 Update submodule GPS Drivers to latest Tue Nov 28 00:39:22 UTC 2023
- GPS Drivers in PX4/Firmware (5ef3ae3f1ec5aecea5842306a63aec054eb599a9): https://github.com/PX4/PX4-GPSDrivers/commit/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2
    - GPS Drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/63990d218ec35ea965d634af6a79d3155561b743
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2...63990d218ec35ea965d634af6a79d3155561b743

    63990d2 2023-11-22 Daniel Agar - nmea fix astyle whitespace

Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-11-27 21:05:23 -05:00
PX4 BuildBot dfbd5c88b1 Update submodule mavlink to latest Tue Nov 28 00:39:31 UTC 2023
- mavlink in PX4/Firmware (b8870adb3e2002ee16ebf63bd23342a055ab8628): https://github.com/mavlink/mavlink/commit/70181c42fc63306ba3512666e1a8b7b782416806
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/02f1575d73b3b7eb09b1cc7ca3a03844aec05858
    - Changes: https://github.com/mavlink/mavlink/compare/70181c42fc63306ba3512666e1a8b7b782416806...02f1575d73b3b7eb09b1cc7ca3a03844aec05858

    02f1575d 2023-11-24 Hamish Willee - MAV_CMD_CONDITION_YAW - shortest direction v2 (#2058)
bc0d8611 2023-11-22 Roman Bapst - moved MAV_CMD_EXTERNAL_POSITION_ESTIMATE from ardupilotmega to common (#2057)
b85e0016 2023-11-22 Hamish Willee - development - delete MAV_CMD_SET_FENCE_BREACH_ACTION (#2053)
2023-11-27 20:40:31 -05:00
PX4 BuildBot da8692c682 update all px4board kconfig 2023-11-27 20:05:50 -05:00
Silvan Fuhrer 2734c44533 FlightTaskAuto: set state to None if prev and current sp are equal
Otherwise if is set to Offtrack, which in turn leads to weird behavior.
E.g. when triggering Land while flying fast forward, the vehcile doesn't
descned to the land point it keeps getting a velocity setpoint from the
smoother that pushes it away from the land point.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-27 18:01:47 +01:00
Konrad 6a34b63b60 mission_base: perform mission_check_valid if mission, geofence ot homeposition have changed 2023-11-24 08:11:41 +01:00
Konrad 5e1f0b73ce HomePosition: Add an instance counter 2023-11-24 08:11:41 +01:00
Konrad 3ac7ed6afa mission_base: Do not reset mission on invalid mission upload 2023-11-24 08:11:41 +01:00
Konrad a92e7a8796 missionResult: remove unnecessary constants and rename instance_count to mission_update_counter 2023-11-24 08:11:41 +01:00
Beat Küng 7afa011741 mavlink_mission: publish mission after updating dataman
This avoids a potential race condition when dataman also updates dataman
as a result of the publication.
2023-11-24 08:10:07 +01:00
Beat Küng 93cae5f9d7 mission: fix comparison logic for saving mission state 2023-11-24 08:10:07 +01:00
Matthias Grob 8271faedeb control_mode: reorder modes according to controller cascade 2023-11-23 20:35:48 +01:00
Matthias Grob 6e31638817 control_mode: add allocation to orbit mode to not crash 2023-11-23 20:35:48 +01:00
Silvan Fuhrer a99a7d2abd vtol: always check for EKF2 resets, not just when QC is checked
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-23 13:54:07 +01:00
Silvan Fuhrer eae939d86c vtol_type: transition altitude loss quad-chute: handle z resets
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-23 13:54:07 +01:00
Silvan Fuhrer 8a899170bf VehicleLocalPosition.msg: add comments for heading reset fields
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-23 13:54:07 +01:00
Silvan Fuhrer 7833d2a879 VehicleLocalPosition.msg: add comments for reset fields
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-23 13:54:07 +01:00
Julian Oes 19964d56ed fmu-6x: Use i2c_launcher by default
This switches all SENS_EN_INAXXX params to 0 by default and instead uses
the i2c_launcher command.

However, if any one the SENS_EN_INAXXX param is set, it no longer tries
to auto-configure it.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Julian Oes fbc95ff4bd Add I2C driver launcher
This is just a first draft of the launcher part.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Julian Oes 895ddee16a i2c_spi_buses: method to count instances per bus
Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Beniamino Pozzan 742d237ae3 [uxrce_dds] add vehicle_thrust_setpoint, vehicle_torque_setpoint
actuator_motors and actuator_servos subscribers for offboard control

Being subscribers, this does not increase the computational load
over the uxrce_dds brigde

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-22 22:14:50 -05:00
Beniamino Pozzan 1c8f31f339 [offboard] add thrust and torque control mode
New thrust and torque control mode added which replaces the previous
actuator mode,
in this mode the rate controllers are disables, the control allocator
is enabled and the used externally provices
vehicle_thrust_setpoints and vehicle_torque_setpoints.

New direct_actuator mode
In direct_actuator mode the control allocator module does not publish
actuator_motors and actuator_servos messages which must instead be
provided extrernally by the user.

Removed old direct mode.

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-22 22:14:50 -05:00
Jacob Dahl 6cc38776c8 src/modules/uxrce_dds_client: set system clock from agent CLOCK_REALTIME (#22290)
* Added parameter UXRCE_DDS_SYNCC to enable system clock synchronization. Refactored and cleaned up. Only set system time if it's off by more than 5 seconds (same as mavlink and gps).
2023-11-22 22:06:11 -05:00
Frederik Markus 86fbeb8a20 ROMFS/px4fmu_common/init.d-posix/airframes: 4004_gz_standard_vtol deprecated parameter update
Signed-off-by: frederik <frederik@auterion.com>
2023-11-22 21:57:58 -05:00
Silvan Fuhrer e280a6c6e6 Navigator: Geofence: always run geofence_breach_check(), not only only on pos update
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer ade68aa563 Navigator: Geofence: stay in GF breached mode when in Loiter due to breach
Only re-evaluate if no longer in GF when flight mode is changed or
Loiter position was changed (eg through goto).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer f2aabe968e Geofence: add checks for custom GF validity when uploading it
- check if Home would breach it (we do not want to upload GF that
do not allow to return to Home)
- check if the current vehicle position isn't contained in the GF
if armed (as then it would immediately trigger)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer 2865bbb8ab Geofence: rework messaging and notification
- do reporting of breaching in-air only in geofenceCheck
- remove geofence_violation_reason_t
- replace geofence_breached field in GeofenceResult.msg with 3 fields
(one for each GF type: max dist, max alt, custom geofence)
- the warning message after breaching a GF is only done by Commander,
and it's specific to the GF type failure

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer 3c194d552a Geofence: rework the way to check all GF at once
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer a41f24a2e2 geofence_result.msg: rename premove unused field home_required
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer b178c943a6 GeofenceBreachAvoidance: remove unused variables and methods
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer c0f26c8fbd mission_feasibility_checker.h: remove unused Geofence class
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer 563bfbf6e7 Geofence: remove GF_COUNT
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer fd709e05b0 Geofence: remove GF_ALTMODE
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer f3eacb4844 Geofence: fix status print
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Silvan Fuhrer f8f4ea2fee MissionFeasibilityCheck: rename checkGeofence to checkMissionAgainstGeofence()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
Daniel Agar 56bfe41f10 drivers/ins/vectornav: publish estimator_status (only in VN_MODE 1) 2023-11-22 21:42:27 -05:00
Beat Küng 19f08b46b0 ci: add test for PX4_EXTRA_NUTTX_CONFIG 2023-11-22 21:41:53 -05:00
Beat Küng a9c4e5a33f cmake: allow extra nuttx config options via PX4_EXTRA_NUTTX_CONFIG env var 2023-11-22 21:41:53 -05:00
PX4 BuildBot c497a25bea Update submodule libevents to latest Thu Nov 23 00:39:07 UTC 2023
- libevents in PX4/Firmware (15667a5c6b927ab177c6912058475eb5fac26c4c): https://github.com/mavlink/libevents/commit/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35
    - libevents current upstream: https://github.com/mavlink/libevents/commit/59f7f5c0ec2e76fadbc1dc40cc0705d614472edc
    - Changes: https://github.com/mavlink/libevents/compare/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35...59f7f5c0ec2e76fadbc1dc40cc0705d614472edc

    59f7f5c 2023-09-26 Beat Küng - cpp/parse: avoid using ssize_t as it's not available on Windows
1617b4e 2023-09-26 Beat Küng - cpp: enable Werror, Wall, Wextra, Wconversion, Wpedantic & fix
e2979e6 2023-09-26 Beat Küng - refactor python/parser: some whitespace & formatting updates
e2e8011 2023-09-26 Beat Küng - python/parse: add callback to escape message & description
baa93a4 2023-09-26 Beat Küng - cpp/parse: add callback to escape message & description
d10aecd 2023-09-26 Beat Küng - refactor tests/parser: move tests to method
1aaa597 2023-09-26 Beat Küng - run_ci.sh: ensure cmake uses unix makefiles
9b3c897 2023-09-25 Beat Küng - refactor parser tests: use gtest
2023-11-22 21:40:48 -05:00
PX4 BuildBot 7c1d41aeb8 Update submodule sitl_gazebo-classic to latest Thu Nov 23 00:38:54 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (9387de8282): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/20ded0757b4f2cb362833538716caf1e938b162a
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/33ac87a37676fb597de110e926bbf0a080169ffe
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/20ded0757b4f2cb362833538716caf1e938b162a...33ac87a37676fb597de110e926bbf0a080169ffe

    33ac87a 2023-11-14 Daniel Honies - Fix opencv aruco version bug (#1017)
ff6f74e 2023-11-13 jmackay2 - Remove unused props from tailsitter (#1015)
2023-11-22 21:40:35 -05:00
Julian Oes 976cd67f71 logger: increase default GPS rate
Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 21:30:31 -05:00
Konrad 9387de8282 mavsdk figure 8 test: Increase time of timeout 2023-11-22 16:47:38 -05:00
David Sidrane eefc6a0027 px4io:Added help text for supported command 2023-11-22 14:29:49 -05:00
Christian Rauch 1cf38e9d76 use Python 3.10 on macOS CI 2023-11-22 11:22:49 -05:00
Daniel Agar 0dbd7b9176 Jenkins compile remove obsolete target nxp_fmurt1062-v1_default 2023-11-22 11:16:22 -05:00
GuillaumeLaine ab867b963c dds_topics: Adds missing data reader 2023-11-22 10:42:05 +00:00
GuillaumeLaine f3e85219a3 dds_topics: Adds handling for empty yaml fields 2023-11-22 10:42:05 +00:00
GuillaumeLaine 85c75aedd1 dds_topics: Adds multi publication to subscribed dds topics 2023-11-22 10:42:05 +00:00
bresch e568b4a1d7 replay: increase buffer size
required to parse larger topics
2023-11-21 21:56:34 -05:00
bresch 6320ca64a9 ekf2-terr: allow range fusion before takeoff 2023-11-21 21:56:34 -05:00
bresch 0f3378e194 ekf2: fix terrain range finder logging 2023-11-21 21:56:34 -05:00
bresch 1c3a1183c8 ekf2-flow: refactor control logic
Use flow rates instead of integrals in backend. This allows us to delay
the data to the mitpoint integration time and simplifies the code in
general.
Gyro compensation can still be done in EKF2 if needed, but the
flow module normally already appends the correct gyro data to the flow
message.
2023-11-21 21:56:34 -05:00
alexklimaj 5f8ecd6b40 driver: ina2** allow 3 indexes 2023-11-21 21:44:39 -05:00
Roman Bapst dd2322d622 Added PerformanceModel for fixed wing (#22091)
* created a Performance Model for fixed wing vehicle
- added compensation for maximum climbrate, minimum sinkrate, minimum airspeed and trim airspeed based on weight ratio and air density
- added atmosphere lib to standard atmosphere calculations


---------

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Thomas Stastny <thomas.stastny@auterion.com>
2023-11-21 17:13:50 +01:00
Silvan Fuhrer 70cd224236 EKF2 params: remove wrong horizontal keyword and gps-->GNSS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-21 15:23:33 +01:00
bresch c7672fc68c ekf2-params: delta vel/ang -> accel/gyro 2023-11-20 20:10:16 -05:00
bresch f2482d7157 ekf-pdf-report: plot bias using bias msg instead of state vector 2023-11-20 20:10:16 -05:00
Julian Oes a501262a6b icm45686: fix dt (and usage command)
With the wrong dt, the flight behaviour was really poor and noisy, so
this fix is absolutely required.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-21 07:44:00 +13:00
alexklimaj 1b99e7df81 px4io: change not supported message to INFO instead of ERR 2023-11-20 08:54:32 -05:00
David Sidrane 8f02184669 px4io:Add 'supported' command and uses it in rcS 2023-11-20 08:54:32 -05:00
Matthias Grob 9bed8f48c7 Remove LNDMC_ALT_MAX
This should be replaced with the maximum geofence
altitude GF_MAX_VER_DIST. I'm not aware anyone is using
this functionality as is.
2023-11-20 14:52:35 +01:00
PX4 BuildBot fd4d635035 Update submodule mavlink to latest Sun Nov 19 12:39:21 UTC 2023
- mavlink in PX4/Firmware (e819620173822548d05b6f309c615b48eda9261c): https://github.com/mavlink/mavlink/commit/81524c2b34aa08768f13091b1d94c421e64f96c3
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/70181c42fc63306ba3512666e1a8b7b782416806
    - Changes: https://github.com/mavlink/mavlink/compare/81524c2b34aa08768f13091b1d94c421e64f96c3...70181c42fc63306ba3512666e1a8b7b782416806

    70181c42 2023-10-12 Hamish Willee - MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET - set units to deg
f484eaf8 2023-10-11 Hamish Willee - Update test_and_deploy.yml - drop node 12 (#2041)
44197849 2023-10-11 tom - Cleanup of typos and inconsistencies in common.xml (#2044)
b295e70e 2023-09-28 Hamish Willee - Update ardupilotmega.xml - delete SPEED_TYPE (#2042)
e8d796a4 2023-09-27 Hamish Willee - SPEED_TYPE enum for MAV_CMD_DO_CHANGE_SPEED (#2039)
c313a2f3 2023-09-23 Asif Khan - common:  Add camera instance field to MAV_CMD_IMAGE_START/STOP_CAPTURE (#2024)
cad18c56 2023-09-20 Marcin - Add VELOCITY_LIMITS msg (#2015)
2023-11-19 11:51:35 -05:00
Daniel Agar 58d6d03da3 Update submodule devices to latest Sun Nov 19 12:39:11 UTC 2023
- GPS drivers in PX4/Firmware (0f7a34a64dd69ad074b47726eedeef147fe0f700): https://github.com/PX4/PX4-GPSDrivers/commit/b443b79f57c5e89353430940af9e4511ea8eb0b8
 - GPS drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/b443b79f57c5e89353430940af9e4511ea8eb0b8...6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2

    6e452c2 2023-10-27 Robbie Drage - move NO_MKTIME compilation flags - removes dependency on tm struct being defined without MKTIME - removes unnecessary operations

Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-11-19 11:49:39 -05:00
Andrew Brahim 3433a4cbc9 boards/nxp/mr-canhubk3/fmu.px4board: add common sensor sets and uxrce-dds drivers
* Add common sensor sets (pressure, distance, mag, optical) and enable uxrce-dds client on mrcanhubk3

---------

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2023-11-19 10:54:14 -05:00
Braden Wagstaff 35e13a908e DDS Add battery_status publisher 2023-11-18 11:06:02 +00:00
alexklimaj 42d70808e9 uxrce add manual control input subscriber 2023-11-18 11:06:02 +00:00
Bryce Clark 83c461ebb8 cubeorangeplus added to CMake variants to allow debugging CubePilot Cube Orange Plus through VSCode 2023-11-17 19:53:39 -05:00
PX4 BuildBot ae89c30a18 boards: update all NuttX defconfigs 2023-11-17 09:15:14 -05:00
PX4 BuildBot 047a5a7abf update all px4board kconfig 2023-11-17 09:14:46 -05:00
Matthias Grob ead16d0e6c Commander: add parameter to disallow disarming in manual thrust modes 2023-11-17 09:53:56 +01:00
Matthias Grob 78987f6016 ManualControl: introduce stick gesture for killing 2023-11-17 09:53:56 +01:00
bresch 2110eae25d atune: initialize filter if not already initialized 2023-11-16 23:14:17 -05:00
Daniel Agar 62027b0965 ekf2: remove EKF2_HGT_MODE VerifyParams() transition helpers
- in theory these are helpful to ensure EKF2_HGT_MODE configuration is
   consistent with the relevant aid source (GPS, baro, etc), but it can
   be a little awkward with users having to fight manual parameter
   changes in the right order
2023-11-16 15:02:43 -05:00
Daniel Agar 3b2d766573 ekf2: purge remaining EKF2_AID_MASK references 2023-11-16 09:36:58 +01:00
David Sidrane e90e8ae0ea Intial Commit PX4 FMUV6RT
nxp/rt117x:Fix Pin IRQ

nxp/rt117x:Support 4 i2c busses

nxp/rt117x:Add px4io_serial support

nxp/imxrt:Expand ToneAlarmInterface to GPT 3 & 4

px4_fmu-6xrt:Using imxrt_flexspi_nor_octal

px4_fmu-6xrt:Entry is start

px4_fmu-6xrt:Add Proper MTD

px4_fmu-6xrt:Set I2C Buses

px4_fmu-6xrt:Proper SPI usage

px4_fmu-6xrt:Adjust memory Map to use the 2 MB

px4_fmu-6xrt:Bring in ROMAPI

px4_fmu-6xrt:Push FLASH to 200Mhz

px4_fmu-6xrt:Use BOARD_I2C_LATEINIT

px4_fmu-6xrt:Clock Config remove unused devices

px4_fmu-6xrt:Remove EVK SDRAM IO

px4_fmu-6xrt:Enable SE550 using HW_VER_REV_DRIVE

px4_fmu-6xrt:Use MTD to mount FRAM on Flex SPI

px4_fmu-6xrt:Manifest

px4_fmu-6xrt:Restore board_peripheral_reset

px4_fmu-6xrt:Set I2C buss Interna/Externa and startup

nxp/rt117x:Set 6 I2C busses

px4_fmu-6xrt:Correct Clock Sources and Freqency Settings

px4_fmu-6xrt:Correct ADC Settings

px4_fmu-6xrt:Tune FlexSPI config and sync header with debug variant Linker prep for rodata ahb partitioning

px4_fmu-6xrt:FlexSPI prefetch partition split .text and .rodata

   Current config
     1KB Prefetch .rodata
     3KB Prefetch .text

px4_fmu-6xrt:Run imxrt_flash_setup_prefetch_partition from ram with barriers

px4_fmu-6xrt:Use All OCTL setting from FLASH g_flash_config SANS lookupTable

px4_fmu-6xrt:Octal spi boot/debug problem bypass

px4_fmu-6xrt:Add PWM test

px4_fmu-6xrt:Fix clockconfig and USB vbus sense

px4_fmu-6xrt: Use TCM

px4_fmu-6xrt: Ethernet bringup

imxrt: use unique_id register for board_identity

px4_fmu-6xrt: update ITCM mapping, todo proper trap on pc hitting 0x0

px4_fmu-6xrt:correct rotation icm42688p onboard imu

rt117x: Add SSARC HP RAM driver for memory dumps

px4_fmu-6xrt: Enable hardfault_log

px4_fmu-6xrt: Enable DMA pool

px4_fmu-6xrt: fix uart mapping

px4_fmu-6xrt: enable SocketCAN & DroneCAN

px4_fmu-6xrt:Command line history TAB completion

px4_fmu-6xrt:Fix pinning duplication

px4_fmu-6xrt:Support conditional PHY address based on selected PHY

px4_fmu-6xrt:Add Pull Downs on CTS, use GPIO for RTS

px4_fmu-6xrt:Set TelemN TX Slew rate and Drive Strenth to max

px4_fmu-6xrt::Set TELEM Buffers add HW HS

px4_fmu-6xrt:Turn off DMA poll

px4_fmu-6xrt:RC_SERIAL_PORT needed to be px4io to disable rc_input using TELEM2!

px4_fmu-6xrt: bootloader (#22228)

* imxrt:Add bootloader support
* bootloader:imxrt clear BOOT_RTC_SIGNATURE
* px4_fmu-6xrt:Add bootloader
* px4_fmu-6xrt:bootloader removed ADC
* px4_fmu-6xrt:bootloader base bootloader script off of script.ld
* px4_fmu-6xrt:add _bootdelay_signature & change entry from 0x30000000 to 0x30040000
* px4_fmu-6xrt:hw_config Bootloader has to have 12 bytes

px4_fmu-6xrt:Default to use LAN8742A PHY

px4_fmu-v6xrt:VID Set to Drone Code

board_reset:Enable ability to write RTC GP regs

px4_fmu-6xrt:Fix CMP0079 error

rt117x:micro_hal Add a PX4_MAKE_GPIO_PULLED_INPUT

px4_fmu-v6xrt:Set CTS High before VDD_5V applided to ports to avoid radios fro entering bootloaders

fmu-v6xrt: increase 5v down time

fmu-v6xrt:Ready for Release DEBUGASSERTS off and Console 57600,
Bootloder updated.

imxrt:board_hw_rev_ver Rework for 3.893V Ref

px4_fmu-v6xrt:Move ADC to Port3
2023-11-15 11:10:47 -05:00
David Sidrane e3f8d53718 nxp:imxrt 1060/1170 bifurcation and restructuring
imxrt:117x Reuse all but io_timer_hw_description and imxrt_pinirq.c

   imxrt:ADC & LPADC bifurcation and restructuring

   imxrt:hrt support Up to GPT6

   nxp/rt117x:adc Corrected
2023-11-15 11:10:47 -05:00
Peter van der Perk d2915743cb px4 hardfault_log: Add SSARC dump backend support 2023-11-15 11:10:47 -05:00
David Sidrane 68354dc760 px4 ADC Use device reference_v and dn_fullcount 2023-11-15 11:10:47 -05:00
David Sidrane f0bc7d287d px4 allow up to 6 I2C busses 2023-11-15 11:10:47 -05:00
David Sidrane 51cda9edb0 px4 mtd:Support FlexSPI attached Devices 2023-11-15 11:10:47 -05:00
David Sidrane 35b9205b25 px4_platform_common: Break out I2C init if BOARD_I2C_LATEINIT is used 2023-11-15 11:10:47 -05:00
David Sidrane fa1a858537 px4/nxp/imxrt:Support VER & REV from EEPROM 2023-11-15 11:10:47 -05:00
David Sidrane 222b95233a NuttX with NXP TX DMA Sem fix & IOMUXC GPR fix 2023-11-15 11:10:47 -05:00
Beat Küng 0d53bd945e Jenkinsfile: add 'git fetch' to failsafe target
It was failing occationally with:
14:12:43  CMake Error at CMakeLists.txt:129 (list):
14:12:43    list index: 1 out of range (-1, 0)
14:12:43
14:12:43
14:12:43  CMake Error at CMakeLists.txt:131 (list):
14:12:43    list index: 2 out of range (-1, 0)
14:12:43
14:12:43
14:12:43  CMake Error at CMakeLists.txt:132 (string):
14:12:43    string sub-command REPLACE requires at least four arguments.
14:12:43
14:12:43
14:12:43  -- PX4 version: f513c40d62 (f513c40d62..NOTFOUND)
2023-11-15 14:23:06 +01:00
Beat Küng f513c40d62 ucdr/msg.h.em: static inline the (de-)serialization methods
to avoid multiple definitions when using them from different places.
2023-11-15 13:18:58 +01:00
Beat Küng 2f91102808 mixer_module: rename Offboard_Actuator_Set to Peripheral_via_Actuator_Set
Offboard is a bit too specifically tied to Offboard mode.
2023-11-15 13:18:58 +01:00
Yannick Fuhrer d609e41413 flightmodes: flag advanced modes accordingly 2023-11-15 13:18:58 +01:00
Beat Küng d12a7dd11d uxrce_dds_client: run session until we do not get data anymore
Otherwise there can be significant delay for received data
2023-11-15 13:18:58 +01:00
Beat Küng 36fbd18bdc px4/fmu-v5x: set mavlink dialect to development for now
So dynamic modes are available
2023-11-15 13:18:58 +01:00
Beat Küng fb7e973dfd commander: allow external modes to be assigned to RC
Stores a hash of the mode name so that the same mode is always assigned
to the same index independent from registration order.
2023-11-15 13:18:58 +01:00
Beat Küng 22acb08406 uorb: add message format compatibility check
This can be used by DDS/ROS 2 to check for matching message definitions.
2023-11-15 13:18:58 +01:00
Matthias Grob 0dcecf0666 FlightModeManager: avoid internal flight task running concurrently with external mode 2023-11-15 13:18:58 +01:00
Beat Küng a72f2517ea px4events: handle events parsing from ROS2 code 2023-11-15 13:18:58 +01:00
Beat Küng bb900264e0 commander+mavlink: implement MAVLink standard modes 2023-11-15 13:18:58 +01:00
Beat Küng b46e1d744b commander: add config overrides 2023-11-15 13:18:58 +01:00
Beat Küng 889b6a1a78 commander: add VEHICLE_CMD_SET_NAV_STATE internal command 2023-11-15 13:18:58 +01:00
Beat Küng fbbccf6997 commander: implement external modes and mode executors 2023-11-15 13:18:58 +01:00
Beniamino Pozzan 58d2badf9f [uxrce_dds_client] add services (repliers) and basic VehicleCommand service
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-14 11:29:17 -05:00
Beniamino Pozzan 4555c4e5cc Add srv/ folder and srv/VehicleCommand.srv
update CI (github and Jenkins) to push changes of srv/
to PX4/px4_msgs repo

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-11-14 11:29:17 -05:00
Mathieu Bresciani efa12ad224 EKF2 simplify covariance propagation (#22344)
* ekf2-derivation: optimize before generating cpp code

* update EKF2 change indicator

Slight changes due to simplifications done in the covariance prediction

---------

Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
2023-11-14 11:22:16 -05:00
Peter van der Perk 96e05481b4 ucans32k1: SPLLDIV2 set to 40Mhz 2023-11-14 06:26:00 -05:00
Hamish Willee 50d9d05c10 Escape param metadata to fix broken tags 2023-11-14 09:48:03 +01:00
bresch 00568985c0 yaw_est: use error-state covariance prediction
Convergence improvements in high yaw rate conditions
2023-11-13 11:37:27 -05:00
Konrad 32127ca789 loiter: set loiter position to current position setpoint, if it is a loiter item 2023-11-13 12:43:58 +01:00
Michał Barciś 6800a448b0 ThrowLaunch: check ThrowMode parameter to skip takoff in MulticopterPositionControl
Signed-off-by: Michał Barciś <mbarcis@mbarcis.net>
2023-11-13 11:57:19 +01:00
Matthias Grob 9d455d5f1f ThrowLaunch: move into separate class 2023-11-13 11:57:19 +01:00
Michał Barciś 1a48f311ea ThrowLaunch changes after PR
Signed-off-by: Michał Barciś <mbarcis@mbarcis.net>
2023-11-13 11:57:19 +01:00
Michał Barciś c2b4f051f9 Added Throw Launch feature
More details in the PR: https://github.com/PX4/PX4-Autopilot/pull/21170

Signed-off-by: Michał Barciś <mbarcis@mbarcis.net>
2023-11-13 11:57:19 +01:00
Julian Oes 84577ce2c2 battery: skip charge estimation if N cells is 0
This triggers the undefined behaviour fuzzer, so let's try to fix it.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-13 09:55:39 +01:00
Konrad 44d1003f8e rtl: Only use approaches for vtols in fixed wing mode 2023-11-12 15:41:28 +01:00
murata f29c5742be mavlink: Capitalize the first letter of Landing 2023-11-12 15:33:51 +01:00
Damien SIX 833cd79e67 fix: remove depreciated parameter 2023-11-12 15:33:33 +01:00
Daniel Agar 1592aedc11 gitmodules add heatshrink branch 2023-11-10 17:45:47 -05:00
Julian Oes 10a2e7e44f SITL: fix parse error on start
This fixes the error:
etc/init.d-posix/rcS: 39: [: Illegal number:

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-11 11:26:20 +13:00
Matthias Grob 4485c7aa11 PositionSmoothing: fix corner altitude bug
During a round corner the L1 distance calculation
was only done in 2D and the z-axis coordinate
was directly coming from the next waypoint.
This lead to an unpredictable altitude profile
between two waypoints. Sometimes almost all
altitude difference was already covered during
the turn instead of going diagonally.
2023-11-10 10:02:20 +01:00
Julian Oes 19b681ca1f Remove SYS_USE_IO param
The param is not really required anymore with the actuator
configuration. Also, when it is set to 0, RC doesn't work for some
boards which would be nice to avoid.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-10 12:17:23 +13:00
Niklas Hauser 1463f9dec8 stm32h7: Prevent UART from waiting on TXDMA semaphore
The UART7 TXDMA services TELEM1 with flow control. If CTS is high, the
transmitting thread will wait on a semaphore, which may block other
threads from acquiring necessary resources to make progress, for
example, preventing MAVLINK instances from transmitting.

This change in NuttX makes the TXDMA acquire the semaphore in a
non-blocking way, preventing this issue.
2023-11-09 07:53:48 -05:00
Frederik Markus fc5b868138 fixing the turning direction of the Cessna Propeller (#22276)
Signed-off-by: frederik <frederik@auterion.com>
Co-authored-by: frederik <frederik@auterion.com>
2023-11-09 13:08:54 +01:00
Silvan Fuhrer 5efcde7412 mavsdk_tests: add two new tests for VTOLs
- add functionality to specify world name for simulation in case name
- add test for triggering an airspeed invalidation in case of pitot blockage
- add test for high wind (ramped up wind over short period) to NOT invalidate airspeed in this case

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer 29714a0fba AirspeedValidator: make wind estimate more dynamic
Increase wind process noise default (ASPD_WIND_NSD) and gate
(ASPD_TAS_GATE) to be able to catch rapid wind increases with
the internal wind estimator of the airspeed validator.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer 041e5069cb ROMFS: update tuning of SITL standard VTOL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer 0d36d54fbe SimulatorMavlink: add airspeed icing failure (ramp down scale)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer a4b04c3982 SimulatorMavlink: rename _airspeed_blocked to _airspeed_disconnected
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer cf03b99ab4 AirspeedValidator: inrease default of ASPD_BETA_NOISE
Trust the beta innovations more compated to the TAS innovations.
That should help with detecting real airspeed failures even with
a dynamic wind estimate (as long as vehicle doesn't fly straight)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer 0a271b1982 EKF2: increase default of EKF2_WIND_NSD and EKF2_TAS_GATE
Increasing the wind process noise results in a more dynamic
wind estimation, which is capable of catching fast-varying
winds. As wind is used in the lateral guidance it's important
that we don't filter it too much.
Furher the gate of the airspeed fusion is increased, to
reduce the likelihood of airspeed fusion stopping due to
dynamic wind conditions. The airspeed is validated in
the airspeed validator (EKF consumes the validated one).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Silvan Fuhrer ec20f92558 EKF2: sideslip_fusion: remove construced airspeed magnitude check to fuse beta
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-09 09:42:43 +01:00
Konrad 72c6db6b23 vtol_rtl_test: explicitly disable RTL_FORCE_APPROACH for RTL direct Home testcase 2023-11-08 17:48:34 +01:00
Claudio Micheli 457d261278 Add mavlink support for GIMBAL_DEVICE_INFORMATION
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2023-11-08 17:01:32 +01:00
Beat Küng 1ad5a9de08 uorb: compress format definitions
Reduces flash usage by ~16KB.

- compress formats at build-time into a single string with all formats
- then at runtime iteratively decompress using
  https://github.com/atomicobject/heatshrink
2023-11-08 00:31:26 -05:00
Frederik Markus 142e44c418 Tools/simulation/gz/models/advanced_plane: updated paths
Moves paths for advanced plane files from personal directory (frede791) to PX4 directory on fuel.

Signed-off-by: frederik <frederik@auterion.com>
2023-11-07 17:39:26 -05:00
bresch 3acc29410a failsafe: disarm if battery failure is detected during spoolup 2023-11-07 17:38:06 -05:00
robbie-sps 55fd0bde85 nuttx: fix <new> 2023-11-07 17:36:59 -05:00
Daniel Agar 77baa7c24a ekf2: EKFGSF yaw estimator always run
- if not in air the accel noise is doubled
 - if landed don't init unless GPS velocity is non-negligible
 - when inactive continue seeding with EKF gyro bias
 - reset yaw estimator if GPS fusion is stopped
2023-11-07 15:48:49 -05:00
Silvan Fuhrer a47b684fd7 tecs_status.msg: directly add underspeed ratio to msg instead of boolean
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-07 12:18:06 -05:00
Silvan Fuhrer 8741a9784d TECS: remove TECS_MODE enum and instead add descriptive boolean flag to tecs_status
New flag: underspeed_mode_enabled.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-07 12:18:06 -05:00
Silvan Fuhrer a6fcf7b48c TECS: remove airspeed adaption in case of underspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-07 12:18:06 -05:00
alexklimaj 4dda99c80b mc_pos_control: MPC_ALT_MODE make terrain hold default 2023-11-07 12:00:14 -05:00
alexklimaj de0910c767 flight mode manager: fix terrain hold 2023-11-07 12:00:14 -05:00
Sverre Velten Rothmund 94d4dc85f8 ekf2: Make stuck detector optional 2023-11-07 11:57:19 +01:00
Konrad 3d16383bb4 mavlink_tests: fix include directory to point to chosen mavlink dialect 2023-11-07 11:35:23 +01:00
Matthias Grob c53e0c4799 cpuResourceCheck: use hysteresis class 2023-11-07 11:19:28 +01:00
Silvan Fuhrer fd009c8be3 CPU resource check: use class member and fix param description
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-07 11:19:28 +01:00
Silvan Fuhrer c054bc2370 Commander: cpuResourcesCheck: add 2 seconds hysteresis to trigger failure
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-07 11:19:28 +01:00
Matthias Grob ae888b73d0 battery: report over voltage 2023-11-06 18:17:28 +01:00
Silvan Fuhrer 54d26e084a Commander: windCheck: add COM_WIND_MAX_ACT param to set high wind failsafe action (#21373)
Has options *None where the check is disabled, and *Warning, where only a warning is
published (which replaces the high wind warning from the COM_WIND_WARN limit).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-06 11:58:21 +01:00
Ramon Roche a29b07fa73 Security Vulnerability Reporting 2023-11-06 09:32:16 +01:00
Frederik Markus 39fbfd8e0c Port of Advanced Plane from Gazebo Classic to Gazebo (#22167)
* started tiltrotor port

* added advanced plane and changed some parameters on the tiltrotor

* added advanced plane

* removed tiltrotor for clean push

* removed standard vtol old model file

* removing the standard vtol changes from this PR, since it is not part of the advanced plane

* removed advanced plane meshes as they are already found in the rc_cessna

* updating and improving airframe parameters

* updated mesh paths

Signed-off-by: frederik <frederik@auterion.com>

---------

Signed-off-by: frederik <frederik@auterion.com>
Co-authored-by: frederik <frederik@auterion.com>
2023-11-06 09:31:04 +01:00
Christian Rauch 22ee90b7d7 add include path for crc32.h on "posix" and "ros2" platform 2023-11-03 11:50:56 -04:00
Christian Rauch 7394a20a58 ignore px4_log on "ros2" platform 2023-11-03 11:50:56 -04:00
alessandro 428e7d7754 mavlink: remove double assignment of battery field 2023-11-03 11:49:25 -04:00
Beat Küng fd0a311f3c Makefile: exclude submodules for 'make validate_module_configs' 2023-11-03 11:09:57 -04:00
alexklimaj 51e1a80556 driver: cleanup imu folder 2023-11-03 10:50:27 -04:00
bresch a989e5338c ekf2: reset globlal position uncertainty when GNSS is fused
There is no reason to keep an uncertainty on the origin as it is then
already contained in the local position estimate when GNSS data is fused
in the filter.
2023-11-02 13:11:40 -04:00
Frederik Markus d6dbf38a1b add windy default world (#22273)
* add windy default world

* Rename windy_default.sdf to windy.sdf

* rename windy.sdf world

---------

Co-authored-by: frederik <frederik@auterion.com>
2023-11-01 09:35:37 +01:00
Konrad 1089079a32 Figure_of_eight: Make configuration dependent on defined mavlink_message_id. 2023-10-31 15:57:59 -04:00
Konrad e3473a0f90 mavsdk_tests: Add integration tests for figure of 8 2023-10-31 15:57:59 -04:00
Konrad 8edd7ce2c1 kconfig: Add option to enable figure of eight support 2023-10-31 15:57:59 -04:00
Konrad e5e66370e7 FixedwingPositionControl: Add support for figure 8 loitering.
The command is sent by a dedicated mavlink command and forwarded to the fixed wing position controller.

The pattern is defined by the radius of the major axis, the radius of the minor axis and the orientation. The pattern is then defined by:
The upper part of the pattern consist of a clockwise circle with radius defined by the minor axis. The center of the circle is defined by the major axis minus the minor axis away from the pattern center.
The lower part of the pattern consist of a counter-clockwise circle with the same definitions as above.
In between, the circles are connected with straight lines in a cross configuration. The lines are always tangetial to the circles.
The orientation rotates the major axis around the NED down axis.

The loitering logic is defined inside its own class used by the fixed wing position control module. It defines which segment (one of the circles or lines) is active and uses the path controller (npfg or l1-control) to determine the desired roll angle.

A feedback mavlink message is send with the executed pattern parameters.
2023-10-31 15:57:59 -04:00
Mathieu Bresciani 0d6c2c8ce9 EKF2: Error-State Kalman Filter (#22262)
* ekf derivation: change to error state formulation
* ekf2: update auto-generated code for error-state
* ekf2: adjust ekf2 code for error state formulation
* ekf2_tests: adjust unit tests for error-state EKF
* update change indicator for error-state EKF
* ekf2_derivation: allow disabling mag and wind states

---------

Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
2023-10-31 10:02:18 -04:00
Daniel Agar d7f388e590 boards: ARK CAN node NuttX flash savings 2023-10-31 09:59:15 -04:00
Peter van der Perk fee6d250f3 zenoh: fix sitl ci compile warning 2023-10-31 09:55:51 -04:00
Konrad 2e850371c5 test_vtol_rtl: increase time to disarm to make tailsitter CI pass 2023-10-31 14:16:02 +01:00
Konrad e4e2e6374a fmu-v6x: enable vtol takeoff again 2023-10-31 14:16:02 +01:00
Konrad 654e885003 mavsdk: Add integration tests for RTL with approaches 2023-10-31 14:16:02 +01:00
Konrad 24f59dd465 autopilot_tester: Add mavlink passthrough to end custom commands 2023-10-31 14:16:02 +01:00
Konrad a4d05085a7 Navigator: Don't switch to RTL if already in landing phase of mission. 2023-10-31 14:16:02 +01:00
Konrad c1214c847f rtl+mission: remove do_need_move_to_land and handleLanding duplicated code to reduce flash 2023-10-31 14:16:02 +01:00
Konrad 698c57c5f8 [RTL] Add VTOL land approach for home with designated loiter points in the RTL mode. 2023-10-31 14:16:02 +01:00
Konrad e2cbf5be94 [RTL] Update MAVLINK Mission logic to send optional loiter points to mission rally points. 2023-10-31 14:16:02 +01:00
Frederik Markus 26fd4c852c update default omnicopter pose (#22218)
Co-authored-by: frederik <frederik@auterion.com>
2023-10-30 14:38:48 +01:00
alexklimaj 794d0d177b boards: ARKV6X Rev 3 IIM42653 disable CLKIN 2023-10-27 16:29:01 -04:00
alexklimaj 6a849163db drivers iim42652 and iim42653 disable AFSR 2023-10-27 16:29:01 -04:00
alexklimaj d882ae05c1 make format fix zenoh 2023-10-27 16:29:01 -04:00
alexklimaj db765e6cbd drivers: icm42688p fix AFSR register 2023-10-27 16:29:01 -04:00
alexklimaj c6287a8a89 boards: arkv6x fix wrong pwm output values 2023-10-27 16:24:41 -04:00
David Sidrane d3d5b582fc NuttX with [BACKPORT] LPi2C timeout of 0 fixed 2023-10-27 03:57:35 -04:00
David Sidrane 53655b1e3c nxp_ucans32k146:Add rgbled_ncp5623b 2023-10-27 03:57:35 -04:00
David Sidrane b8b150b213 UavcanNode:Fix Breakage from 3d61ab SocketCAN is FD based
SocketCAN uses FDs. FD's are per task/thread
  Run() is not on the same thread as init().
2023-10-27 03:57:35 -04:00
David Sidrane 01e9418310 s32k14x:canbootloader board_identity Return the same word ordering as s32k1xx/version/board_identity 2023-10-27 03:57:35 -04:00
David Sidrane a0491bfb9a nxp_ucans32k146:Provide board_app_shared_read 2023-10-27 03:57:35 -04:00
David Sidrane 1a2a02b7ae UavcanNode:Support optional board_app_shared_read 2023-10-27 03:57:35 -04:00
David Sidrane 479c1524b1 boot_app_shared:Add optional board_app_shared_read 2023-10-27 03:57:35 -04:00
David Sidrane 85aeedd986 s32k14x:Make use of boot_app_shared shared_[un]lock 2023-10-27 03:57:35 -04:00
David Sidrane 285e0ca519 canbootloader boot_app_shared:Add optional shared_[un]lock 2023-10-27 03:57:35 -04:00
David Sidrane 12bde36dbe s32k14x canbootloader:Change autobaud to ACK and range high to low 2023-10-27 03:57:35 -04:00
Matthias Grob 12b291b82f px4_log: comment typo alway{s} 2023-10-25 16:43:06 -04:00
Matthias Grob 2ef807eaa0 sdcardCheck: shorten hardfault log message
To make sure it's showing correctly in the output.
2023-10-25 16:43:06 -04:00
bresch eed2870fd8 ekf2: fix optical_flow_vel publication
We should otherwise call this publication before the aid_src publisher
that sets the timestamp. Having it separate avoids this ordering
constraint.
2023-10-25 09:59:56 -05:00
SalimTerryLi f68f88b97c driver/pca9685_pwm_output: bugfixs & support outputting in duty-cycle mode (#21528)
- make it work again
 - also supports Kconfig based clk source selection
 - adapt to recent changes of default PWM limits
 - support outputting in duty-cycle mode
 - i2c addr use use hex representation
 - revert back to common min/max value & move duty-cycle mode to advanced
2023-10-21 12:39:45 -05:00
Niklas Hauser 63b5c790b7 iotimer: Enable timer when configuring input capture
We provide a latency measurement in the input capture handler.
However, since the timer was not enabled, none of the counter were
running therefore all counters were zero, thus latency was also zero.

Since the HRT is used to provide a timestamp, the lack of the running
timer was never noticed. After enabling the timer, latency now correctly
shows 9-10 counts.
2023-10-21 12:28:56 -05:00
Roman Bapst ecb78ca207 new library for atmosphere calculations
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-10-21 12:25:45 -05:00
Julian Oes f120ebcdc0 mavlink: properly set mission_type
This was defaulted to 0 before which messed with transmitting geofence
and rally items.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-19 21:20:14 -05:00
Engin Oksuz 3ad2c641da README.md spelling mistake corrected 2023-10-19 10:01:47 -04:00
Titus e31e170438 Tools/setup/ubuntu.sh: fix GCC_VER_STR failure handling (#22007)
* Fixed an issue where if the GCC_VER_STR would not contain the right NUTTX_GCC_VERSION, the grep -c command would throw a failure, silently exiting the entire ubuntu.sh setup script
2023-10-18 21:01:07 -04:00
Robbie Drage 68bc90bab5 uorb: fix Subscription::ChangeInstance() bug 2023-10-18 20:56:25 -04:00
David Sidrane 96ee73f295 px4_fmu-v6x:Rev 6 Sensors omit starting icm42688p, icm42670p, icm20649, icm20602 2023-10-18 20:55:46 -04:00
Daniel Agar 71b9e31005 drivers/osd/msp_osd: use proper EKF status flags instead of solution status bits 2023-10-18 20:55:12 -04:00
Daniel Agar 27f9b1b65a ekf2: move zero gyro update to aid source class 2023-10-18 20:23:56 -04:00
Daniel Agar e79737a38d ekf2: create simple estimator aid source base class and extract zero velocity update 2023-10-18 20:23:56 -04:00
Frederik Markus 7ac50a20b0 Tools/simulation/gz: initial AVL automation tool (#22204)
This is a tool that can be used to generate advanced lift drag plugin parameters automatically using AVL. Rather than having to create .avl files yourself, pass them to AVL, read out the correct parameters and place them in the Advanced Lift Drag plugin, this tool will do all that for you and generate a complete advanced_lift_drag plugin sdf containing all necessary parameters for any vehicle. All that is required is to specify what the physical geometries of the vehicle are. The scripts are adaptable enough to support a self-selected number of control surfaces.

---------

Co-authored-by: frederik <frederik@auterion.com>
2023-10-18 15:33:50 -04:00
Peter van der Perk 019d232911 Add Zenoh pico support 2023-10-18 15:30:36 -04:00
Peter van der Perk 5137ca1ccc cmake: fix kconfig cache when setting to 0 or n 2023-10-18 15:30:36 -04:00
Daniel Agar 408c30de13 ekf2: delete redundant aid src status getters 2023-10-18 15:21:51 -04:00
Daniel Agar bdaf0acfca ekf2: fully disable yaw estimator EKFGSF_yaw with CONFIG_EKF2_GNSS (#22233) 2023-10-18 13:30:17 -04:00
Julian Oes fefdad83bf mavlink: fix MAVLink message forwarding
This switches from the horribly intertwined ringbuffer implementation to
the new VariableLengthRingbuffer implementation.

By ditching the previous implementation, we fix MAVLink message
forwarding, which didn't work reliably. The reason it didn't work is
that multiple mavlink messages could be added but only one of them was
sent out because the buffer didn't keep track of the messages properly
and only read the first one.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Julian Oes da34e5e2c8 lib: add variable length ringbuffer
This adds a reusable class for a FIFO ringbuffer that accepts variable
length packets. It is using the Ringbuffer class internally.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Julian Oes 7d0a8aa638 lib: add FIFO ringbuffer class
This adds a reusable class for a simple FIFO ringbuffer.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Daniel Agar 3d238b0275 ekf2: add kconfig to disable gravity fusion (#22231) 2023-10-18 10:50:51 -04:00
Daniel Agar 6eae9fb371 ekf2: fix barometer kconfig 2023-10-18 09:43:27 -04:00
KonradRudin 988705831d Check mission climb always on current mission item (#22230)
* mission_base: reset inactivation index when user set a new mission index, or mission is reset.

* mission_base: check Climb required always on current mission item
2023-10-18 07:59:20 +02:00
Jukka Laitinen e8a0a0772e Disable I2C interface in ICM42688P sensor when it is initialized
This prevents accidental misconfiguration via I2C if there are
multiple SPI devices on the same bus. The device may hear it's i2c address
and write some register, while there is data transfer ongoing with another
device.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-10-17 11:07:21 -04:00
Ville Juven d83b9f3c38 WorkItemSingleShot: Disable priority inheritance for signaling semaphore
WorkItemSingleShot::_sem is a signaling semaphore, disable PI for it.

Set CONFIG_DEBUG_ASSERTIONS=y and the kernel panics due to the semaphore
having no holder, disabling PI fixes this.
2023-10-17 10:08:25 -04:00
Ville Juven 5578b629a3 blockingqueue.hpp: Disable priority inheritance for signaling semaphores
The head/tail semaphores are not used as lock but rather as resource
counters and thus relate more as signaling semaphores. Disable PI for
them.

I run my code with CONFIG_DEBUG_ASSERTIONS=y and the kernel panics due
to the semaphore having no holder, disabling PI fixes this.
2023-10-17 10:08:25 -04:00
Niklas Hauser f45b960eee [mavlink] Use separate mutex for event buffer
This prevents the mavlink transmit loop from waiting on the module mutex
thus not stopping transmissions when the mutex is already taken.

This can happen when calling `mavlink status` from the mavlink shell,
where `Mavlink::get_status_all_instances()` takes the mutex and then
prints the status via pipes to the mavlink transmit buffer.
If that pipe cannot be emptied a deadlock happens.

Since the MavlinkReceiver thread also waits on the module mutex, both
reception and transmission of Mavlink packets are then prevented thus
disabling communications entirely.
2023-10-17 10:05:46 -04:00
Daniel Agar 48e09a4dea ekf2: move predict covariance IMU inhibit check to function 2023-10-17 09:58:10 -04:00
Daniel Agar 0b44852094 ekf2: move accel bias check out of fixCovarianceErrors 2023-10-17 09:58:10 -04:00
bresch 1c9373e83b update baro static pressure compensation tuning script
Field name changed in vehicle_gps_position
2023-10-16 09:45:28 -04:00
Andrei Korigodskii eeb9c5256a boards: add support for Matek H743 Slim V3
IMUs were replaced in V3 with 2x ICM42688P. This configuration should
work with all revisions of Matek F743 Slim board, including V1, V1.5
and interim variant of V3 (ICM42688P + ICM42605).

Signed-off-by: Andrei Korigodskii <akorigod@gmail.com>
2023-10-13 20:59:59 -04:00
Daniel Agar 9676af2fe6 ekf2: predict covariance avoid explicit temporary nextP 2023-10-13 20:57:33 -04:00
Daniel Honies 476b5d5594 fix macos compile issues (#22173)
* fix macos compile issues

* remove unused variable
2023-10-12 09:13:19 +13:00
Daniel Agar d2b3e7fe16 ekf2: new kconfig to enable/disable GNSS (enabled by default) 2023-10-11 14:02:34 -04:00
jmackay2 2d78383296 Add the capability to use Gazebo Harmonic if it is installed 2023-10-11 10:21:09 -04:00
vlad-serbanica af84c2ca7f mavlink_main: increase raw gps latency 2023-10-11 09:53:59 -04:00
bresch ec15fe3d90 ekf2-derivation: fix terrain and yaw estimator derivations
fix compatibility issues with symforce-0.9.0
2023-10-11 09:49:17 -04:00
bresch cf1c6a8b84 ekf2-derivation: remove old wind covariance derivation 2023-10-11 09:49:17 -04:00
RomanBapst 176c9a71e6 addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-10-11 12:05:24 +03:00
RomanBapst b50a23beb0 vtol: make sure transition airpseed is above weight compensated minimum airspeed
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-10-11 12:05:24 +03:00
ZeroOne 6dfede0806 fix lightware_laser_serial: prevent potential heap buffer overflow (#22202)
In the lightware_parser function, LW_PARSE_STATE2_GOT_DIGIT0 state can be repeated unexpectedly without proper parserbuf_index or state checking. This behavior will trigger a heap buffer overflow vulnerability by allowing to write some data. And the writable size is sizeof(unsigned).
2023-10-11 07:01:09 +02:00
Daniel Agar 5352a64042 ekf2: symforce derivation allow optionally disabling mag and wind states 2023-10-10 17:31:11 -04:00
Daniel Agar b5f3d089c4 ekf2: mag_fusion remove direct state index usage 2023-10-10 09:18:04 -04:00
Daniel Agar cf4c565e4a ekf2: mag_fusion.cpp cleanup includes 2023-10-10 09:18:04 -04:00
Daniel Agar c85840c4dd ekf2: mag_fusion only set fault status flags if mag_3D updating all states
- other parts of the system are blanket checking for any fault status
   flag
2023-10-10 09:18:04 -04:00
Daniel Agar e58ceba4b1 ekf2: mag_fusion consolidate duplicate error handling 2023-10-10 09:18:04 -04:00
Serkan Mazlum 585687b766 generate_dds_topics.py: simplify repeated code (#22156) 2023-10-10 08:12:55 +02:00
bresch 5e986f6997 wind_est: correctly include sideslip in initialization model 2023-10-09 21:03:38 -04:00
bresch fc32820e19 ekf2: initialize wind covariance using symforce 2023-10-09 21:03:38 -04:00
Daniel Agar 28d58a947f ekf2: cleanup more optional mag (CONFIG_EKF2_MAGNETOMETER) 2023-10-09 10:18:02 -04:00
Daniel Agar 5f87f3a046 ekf2: drag fusion add aid source status topic 2023-10-09 09:26:28 -04:00
Daniel Agar 028733e1c7 ekf2: add kconfig to disable wind estimation (off by default) 2023-10-09 09:22:29 -04:00
Silvan Fuhrer c41de22a05 batteryCheck: add new battery threshold for arming (COM_ARM_BAT_MIN)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-09 07:40:48 +02:00
Silvan Fuhrer b7f8ee8ee7 batteryCheck: improve user notification for low battery events
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-09 07:40:48 +02:00
Hamish Willee bc19ccdd1f Update commander_params.c - RC loss is manual control loss 2023-10-09 07:35:06 +02:00
Beniamino Pozzan 83841d1ad1 [gz-bridge] fix GZ timeout for slow starting simulations
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2023-10-07 12:27:52 -04:00
Mathieu Bresciani 05fd8c5976 EKF2: centralized auto-generated state (#22183)
* ekf2_derivation: use single source of state definition

The state is defined as an ordered dictionary of group elements and
everything else is generated using that state definition

* ekf2: generated state sample add const reference getter

---------

Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2023-10-06 10:28:21 -04:00
Beat Küng 2e1d5687f9 fix events: use px4_add_library instead of add_library
Fixes `make uorb_graphs`
2023-10-06 10:24:23 -04:00
Julian Oes aa87b2ef4d cubepilot: fix 4. Orange+ variant
There was a missing then, and missing SPI definitions.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-06 08:02:03 +13:00
Mathieu Bresciani d61743412c ekf2: fix flow gyro bias corrections (#22145)
* ekf2-flow: fix flow gyro bias compensation
* ekf2-flow: apply flow gyro bias when used
* ekf2: log optical flow gyro bias
* ekf2: optical flow control always use provided flow gyro (with bias applied)
* ekf2-flow: log flow gyro and gyro reference
* ekf2-flow: support senrors with XY flow gyro

---------

Co-authored-by: Daniel Agar <daniel@agar.ca>
Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
2023-10-05 10:51:30 -04:00
Daniel Mesham e00b35e142 boards: default to custom participant for uXRCE-DDS client on Skynode 2023-10-05 08:03:21 +02:00
Daniel Mesham f02c5319bc uxrce_dds_client: add participant configuration parameter
Replaces the localhost-only and custom participant CLI flags
2023-10-05 08:03:21 +02:00
Daniel Mesham 45fd4d2fb6 uxrce_dds_client: reformat status output
* Align status values.
* Add indicators for the custom participant and localhost-only flags.
2023-10-05 08:03:21 +02:00
Daniel Mesham 0a5ca3bb75 uxrce_dds_client: update parameter descriptions 2023-10-05 08:03:21 +02:00
Beat Küng d1fcd39a44 fix crsf_rc: prevent potential buffer overflow for unknown packets
The length check for unknown packets did not include PACKET_SIZE_TYPE_SIZE
and CRC_SIZE, and hence working_index could overflow CRSF_MAX_PACKET_LEN,
triggering invalid memory access further down in QueueBuffer_PeekBuffer.

Also the working_segment_size was wrong for unknown packets.

Credits for finding this go to @Pwn9uin.
2023-10-05 08:00:22 +02:00
Silvan Fuhrer cad595cb5c ROMFS: rcS: check for updated ext_autostart and rename if existing
This allows to inject an updated ext_autostart folder with the name
ext_autostart_new, and then PX4 takes care of renaming it to
ext_autostart during bootup.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-04 10:17:20 +02:00
Daniel Agar 745709717e drivers/imu/analog_devices/adis16507: use bad CRC perf count 2023-10-03 18:06:33 -04:00
bresch 10db6b6eda ekf2: remove sparse vector optimization
The sparse vector template requires to know which states are non-zero in
the observation jacobian. This complicates the modularity of the code
when the state vector or the derivation is changed.
The computation cost difference is almost negligible for this size.
2023-10-02 10:12:53 -04:00
Silvan Fuhrer abfd00aeb9 mission_base: if FW and takeoff do not enter climb before mission start
For FW takeoffs we need to keep the course straight towards the first
waypoint, and not climb in loiter patterns first.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-02 15:25:46 +02:00
Silvan Fuhrer 169ff6ccb0 ROMFS: advanced_plane config: remove deprecated settings
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-02 15:25:46 +02:00
Silvan Fuhrer 563fd8427a boards: increase init stack size by 100B
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-10-02 09:37:06 +02:00
Konrad ee5cfbb01c px4_fmu-v5_stackcheck: Disable OSD driver to save flash 2023-09-29 14:25:03 +02:00
Konrad 2779a00ac8 VTOL TAKEOFF: Add Config to deactivate, and deactivate on all boards except fmu_v5x and sitl.
QGC does not support VTOL takeoff and thus this is used to safe flash space.
2023-09-29 14:25:03 +02:00
Konrad 4227e2b7e7 test_vtol_mission: Increase thresholds for tests to pass. Temporarily disable checks tracks fro reverse mission.
Current threshhold has no margins of errors with the set acceptance radius. Increase corridor radius by 5m.
Increase time to disarm for tailsitter test to pass.
Rverse mission needs check tracks test disabled since mavsdk does not really work with mission has reverse order.
2023-09-29 14:25:03 +02:00
Konrad 5c021d8fa4 RTL: Keep only the selected RTL type in memory. 2023-09-29 14:25:03 +02:00
Konrad d4ea106f9e RTL: When RTL_TYPE is set to 1 make sure to always use a mission landing/safepoint if available and not in RW mode. 2023-09-29 14:25:03 +02:00
RomanBapst 6fca984c3f test_vtol_mission: Add additional testing for VTOL RTL and reverse mission RTL
mavsdk-test: added a vtol mission without a landing at the end (used for reversed RTL)
math_helpers: added function to compute local position from a raw mission item

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-09-29 14:25:03 +02:00
Konrad 9a48d375ce mavlink-mission: Calculate land_start and land item directly on mission upload. 2023-09-29 14:25:03 +02:00
Konrad 007ed11bbe Mission+RTL: Refactoring mission and RTL to keep them separate. RTL does all its mission related computation in its own class.
Dataman: Add write function to dataman cache.

RTL and mission have a new common base class mission_base. Both inherit from them and mission, RTL mission, and rtl reverse mission inherit from them and implement their desired functionalities. This simplifies the logic in mission as well as make the logic in rtl mission reverse and mission more readable.
Rtl mission reverse now functional again for VTOL flying back the mission and transitioning to MC at the home position.
Dataman cache has new write functionality to write to dataman while updating write item in its cache if necessary.
Dataman cache is now only updated when the respective module is active. Leads to a higher computation time once on activation, but decreases unnecessary cache updates when inactive.
2023-09-29 14:25:03 +02:00
Silvan Fuhrer 1a7e438099 Param translation: remove all param translations up to 1.14 release
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Silvan Fuhrer 913a7ea295 FW Position Control: improve/shorten param descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Silvan Fuhrer 8bc3785345 AirspeedSelector: improve/shorten param descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Silvan Fuhrer 700402a031 EKF2: improve/shorten param descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Silvan Fuhrer f67b3a8a03 VTOL: improve/shorten param descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Silvan Fuhrer 6b09882758 FW attitude/rate controller: shorten/improve param descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-29 11:07:46 +02:00
Daniel Agar b817eb0370 ekf2: collect_gps() don't throttle updates until WMM set initially 2023-09-29 09:37:30 +02:00
Daniel Agar 1e594747ab ekf2: fix WMM NAN checks
- if any of the stored WMM is NAN then it should be updated
2023-09-29 09:37:30 +02:00
Silvan Fuhrer 0df5134156 vfr_hud: fix throttle display for FW and show magnitude for 3D thrust (#22154)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-28 17:15:26 +02:00
Matthias Grob 8ea04b0f8f ActuatorEffectivenessHelicopterCoaxial: fix copy paste error in saturation logic 2023-09-28 08:55:06 +02:00
Matthias Grob 8a2d2fb1cd HelicopterCoaxial: only publish unallocated thrust in the saturation case 2023-09-28 08:55:06 +02:00
Matthias Grob 169a0f580d HelicopterCoaxial: correct constraining for minimum 2 swash plate servos 2023-09-28 08:55:06 +02:00
Matthias Grob 20f2df4410 HelicopterCoaxial: handle yaw saturation
This had to be done for the integrators to work at all.
2023-09-28 08:55:06 +02:00
Matthias Grob cf40d95ef0 HelicopterCoaxial: adjust for coaxial allocation 2023-09-28 08:55:06 +02:00
Matthias Grob b3b373e074 control_allocator: add coaxial helicopter effectiveness
It's now just a copy of the helicopter such that changes get well
visible in the history.
2023-09-28 08:55:06 +02:00
Matthias Grob b56e7a036c control_allocator: allow for only 2 swash plate servos
This is required to support fixed pitch propeller helicopters that have
no collective but only cyclic pitch with two degrees of freedom and
hence only two servos.

The amount of thrust in the body z axis is then controlled using the
motor speed which makes particularly sense on coaxial helicopters
that need to control yaw with changing motor speeds already.
2023-09-28 08:55:06 +02:00
Matthias Grob 35b32e8cb0 ActuatorEffectivenessHelicopter: spacing 2023-09-28 08:55:06 +02:00
Matthias Grob 2be687a84c Helicopter: add collective pitch offset to Actuator UI parameters 2023-09-28 08:55:06 +02:00
Matthias Grob 99e2acf89c ActuatorEffectivenessHelicopter: explicitly handle unsaturated case
This became necessary otherwise
the allocation reports saturation all
the time and the rate integrator doesn't work.
2023-09-28 08:53:35 +02:00
henrykotze 3cee941f64 Kconfig subs and controllers for uavcan
small changed to revert back to px4::main

Make kconfig more readble

Combine esc and servo controllers under one option
2023-09-28 07:36:36 +02:00
Matthias Grob a03af59c5c battery: show unknown cell count
Unkown cell count is the default and
should be possible to select again from the drop down.
2023-09-28 07:32:06 +02:00
Niklas Hauser 43d859313b px4/fmu-v5/6x: Upstream power manager for FMU
Detects and configures it correctly for the Auterion INA226-based power
modules.
2023-09-27 10:39:31 -04:00
alexklimaj 23cf0a7317 workqueue: increase hp_default stack 2023-09-26 15:18:31 -04:00
Daniel Agar 14a967e2ca ekf2: remove aid src status fusion_enabled flag 2023-09-26 10:30:16 -04:00
bresch 99197919d7 ekf2: access state covariance using helper functions 2023-09-26 06:41:04 +02:00
Daniel Agar 619616b9f0 vscode add Makefile extension to recommended and devcontainer.json 2023-09-25 12:26:29 -04:00
Daniel Agar aa97ef9d50 EKF: covariance remove extra semicolon 2023-09-25 12:26:12 -04:00
Mathieu Bresciani b3f460f30c ekf2: update quaternion covariance at yaw reset(#22123)
- Preserve tilt variance while doing a yaw reset
 - Yaw variance is now correctly set instead of increased

---------

Co-authored-by: Dominique <dominique.leblanc@donecle.com>
Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
2023-09-25 09:36:42 -04:00
bresch 514e0330e5 ekf2_terrain: handle height reset 2023-09-25 09:34:14 -04:00
Ville Juven 6cb2c176d5 events: Move implementation of events::send() to lib/events
Events have a global, system-wide sequence number, which must be handled
atomically, (fetching and incrementing the sequence AND sending the event
to uORB must be atomic). Currently in FLAT mode, only one instance of this
sequence number exists, so it is OK to have it in px4_platform.

However, in PROTECTED mode px4_platform is instantiated both in kernel-
and user spaces, which makes two instances of this sequence number, which
causes problems in the mavlink event handling logic.

When mavlink receives and handles events, it expects that:
- The sequence numbers arrive in order (seq n is followed by n+1 etc)
- It increments by 1
- There is only one instance of the sequence number

In PROTECTED mode this is violated, as the kernel and user sequence
numbers run freely on their own. This patch fixes the issue by moving
the event backend to the kernel and by providing user access to it via
ioctl.
2023-09-25 09:54:11 +02:00
Vincent Poon fafec397e8 Fix Default Output Protocol - Airframe 4019_x500_v2
Remove "param set-default PWM_MAIN_TIM0 -4"
2023-09-25 09:28:47 +02:00
Daniel Agar 61aee73b91 boards: px4_fmu-v5_stackcheck disable common RC to save flash 2023-09-22 11:19:29 -04:00
bresch db97a38a9d ekf2 rng kin: allow check to become true during horizontal motion
Even if there is some horizontal motion, a passing check should be
accepted as the terrain can be flat. However, the vehicle must not be
moving horizontally to invalidate the consistency as a change in terrain
can make the kinematic check temporarily fail.
2023-09-22 09:02:35 -04:00
David Sidrane e920bfb188 px4_fmuv6x:Fit Rev6 Sensors 2023-09-21 16:22:44 -04:00
David Sidrane 9151d582ed px4_fmu-v6:Add Sensor Set Rev 6 2023-09-21 16:22:44 -04:00
Silvan Fuhrer 5590ab3caa FW Position Controller: handle IDLE waypoints in FW_POSCTRL_MODE_AUTO, also with NAN setpoints (#22114)
A setpoint of type IDLE can be published by Navigator without a valid position,
and should be handled in the auto function in FW_POSCTRL_MODE_AUTO. If it wouldn't be
handled there the controller would switch to mode FW_POSCTRL_MODE_OTHER, in which case
no attitude setpoint is published and the lower controllers would be stuck with the
last published value (incl. thrust).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-21 17:27:54 +02:00
Silvan Fuhrer acec07fb25 Update src/modules/mc_att_control/mc_att_control_main.cpp
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-09-21 17:25:53 +02:00
Matthias Grob 710f977349 mc_att_control: ramp thrust in after spoolup time 2023-09-21 17:25:53 +02:00
Matthias Grob 4ca366c04f mc_att_control: respect spoolup time in Stabilized mode 2023-09-21 17:25:53 +02:00
Matthias Grob 24111df176 mc_att_control_main: zero minimal thrust when landed
but this time compared to
2fbb70d9ca
the minimum thrust is ramping to not produce a thrust jump.

The better long term solution will be to always have airmode but
with the effect limited to a magnitude of MPC_MANTHR_MIN.
2023-09-21 17:25:53 +02:00
Jari Nippula 7239e8473e microxrce_client to use px4_poll for uorb subs
Subscribe to poll uorbs instead of sleeping px4_usleep to
allow more accurate timing.
2023-09-21 08:30:28 -04:00
bresch 9e962f3efa ekf2: update more hardcoded indexes 2023-09-21 08:27:52 -04:00
bresch ebf962bf68 ekf2: remove size in name of state vector and matrix types
Then the state vector size can be changes without having to update the
name
2023-09-21 08:27:52 -04:00
RomanBapst 4f1682c3c8 UTM_GLOBAL_POSITION: prevent uint16 overflow
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-09-21 08:21:56 -04:00
Matthias Grob be56f74c1d mc_acro_params: beginner/tuning friendly defaults
high rates and (super) expo are necessary for
- acrobatic flying
- fpv
- racing
but they are not useful for:
- a typical vehicle's rate control tuning
- beginners

The defaults that I set in #8036 were put with the assumption Acro mode
is mainly used on racing drones for acrobatic manouvers but instead
users including me use it most of the time to tune any drone.
When tuning the rates are lowered and expo disabled.

My suggested strategy is to make the beginner friendly rates without
expo which are good for tuning the default and document more clearly
how this can be raised for acrobatic flying in documentation and later
on hopefully also directly in the ground station UI
on an Acro mode specific page.
2023-09-20 17:45:07 -04:00
Matthias Grob 77c2df2e04 mc_acro_params: separate parameter group 2023-09-20 17:45:07 -04:00
Matthias Grob 189fa6831a mc_acro_params: more readable descriptions 2023-09-20 17:45:07 -04:00
Matthias Grob df3a0de734 mc_rate_control: move acro parameter to separate file 2023-09-20 17:45:07 -04:00
Igor Mišić c1dbe177b8 boards: move FRAM emulated sector size to the 32-byte granularity (#21204) 2023-09-20 16:50:36 -04:00
Silvan Fuhrer ec7db4b30d FW Positon Controller: set references to 0 if not provided by local_position (#22101)
* FW Positon Controller: set altitude_ref to 0 if not provided by GPS

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* FW Positon Controller: set lat/lon reference to 0 if not provided in local_position

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-20 15:45:32 +02:00
AlexKlimaj 7ff00db9c5 Update AFBR to 1.4.4. Remove changing measurement modes. Add parameters. Default to Long range mode" 2023-09-19 19:15:02 -04:00
RomanBapst 6d71224cdb vtol_takeoff: use global position for takeoff location instead of home position.
- home position and takeoff position don't necessarily need to match

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-09-19 20:00:54 +03:00
bresch dac337efc4 ekf2: auto-generate state vector size constant 2023-09-19 09:37:50 -04:00
Daniel Agar 8a9a303354 ekf2: update include guards 2023-09-19 09:37:50 -04:00
bresch 51dbd8ee4c ekf2: simplify state var constraint 2023-09-19 09:37:50 -04:00
bresch 779ea3f4d1 ekf2: access state covariance using enum 2023-09-19 09:37:50 -04:00
bresch 9c41c06325 square matrix: add function to uncorrelate part of the matrix 2023-09-19 09:37:50 -04:00
bresch b612467593 square matrix: add partial trace computation
This is useful when we need the sum of some variances in a large
covariance matrix
2023-09-19 09:37:50 -04:00
Silvan Fuhrer 1cbaa78eba Takeoff: don't use Home altitude but current altitude
If no altitude setpoint is specified then takeoff to the default
altitude above the current global position, not above Home.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer de5b769093 Navigator: Use MIS_TAKEOFF_ALT only as default, not as min
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer 71f8f47f62 Navigator: remove deprecated calculate_takeoff_altitude()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer 48acf98fd5 Navigator: remove deprecated _can_loiter_at_sp and _need_takeoff
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer bb212ea6ec Navigator: refactor logic that aligns altitude prior to starting mission
New: always climb to altitude of active waypoint if mission is started/resumed.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer 5fa8985477 ROMFS: SITL config iris_opt_flow: fix disabling of GPS fusion
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer 93dbf17eab Navigator: rename WORK_ITEM_TYPE_TAKEOFF to WORK_ITEM_TYPE_CLIMB
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Silvan Fuhrer 15641f62d2 Navigator: rename WORK_ITEM_TYPE_ALIGN to WORK_ITEM_TYPE_ALIGN_HEADING
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-19 10:04:30 +02:00
Maciej Małecki 18e47f9b65 Landing Target Estimator: fix param group casing consistency
`target` -> `Target`. Useful to users of machine-readable documentation.
2023-09-19 09:12:40 +02:00
Daniel Agar d351f16d04 drivers/optical_flow/paa3905: backup scheduling to fetch 0 flow
- this sensor provides a MOTION interrupt used for default scheduling, but we also need to publish
   zero flow information
2023-09-18 12:46:39 -04:00
Daniel Agar efbed3bfc1 sensors/vehicle_optical_flow: don't publish interval lower than configured rate 2023-09-18 12:46:39 -04:00
Daniel Agar 380a42fcbf drivers/optical_flow/paw3902: backup scheduling to fetch 0 flow
- this sensor provides a MOTION interrupt used for default scheduling, but we also need to publish
   zero flow information
2023-09-18 12:46:39 -04:00
Daniel Mesham 15036c1761 Allow changing parameters during replay (#22071)
* replay: add scheduled parameter changes

* replay: store scheduled parameter change events as structs
2023-09-18 18:38:09 +02:00
Daniel Agar 6bd13c5514 boards/cubepilot: cubeorange and cubeorangeplus include VectorNav INS 2023-09-15 16:32:40 -04:00
Daniel Agar b2f258f7a4 drivers/ins/vectornav: add new VN_MODE parameter for full INS support 2023-09-15 16:32:40 -04:00
Daniel Agar 153f7bbced ekf2: update all copyright headers 2023-09-15 10:02:09 -04:00
Daniel Agar 1e9f0ad2c6 ekf2: add kconfig for barometer support (enabled by default) 2023-09-15 10:02:09 -04:00
Daniel Agar f0224c5104 boards: bitcraze crazyflie21 disable ekf2 magnetometer support 2023-09-15 10:02:09 -04:00
Daniel Agar 7589ee00e8 boards: holybro kakutef7 switch to ekf2 2023-09-15 10:02:09 -04:00
Daniel Agar 10b54d08fc ekf2: add dedicated EKF2_CONFIG_TERRAIN in kconfig
- new estimator_aid_src_terrain_range_finder for HAGL RNG
2023-09-15 10:02:09 -04:00
Daniel Agar 845b01a00d ekf2: add kconfig for magnetometer support (enabled by default) 2023-09-15 10:02:09 -04:00
Beat Küng d1266c856f rc_input: prevent error output during boot on boards with px4io
output:
INFO  [rc_input] valid device required
ERROR [rc_input] Task start failed (-1)
2023-09-14 10:40:54 -04:00
Matthias Grob f8d729147b Craziflie configs: remove default 100% thrust parameter 2023-09-14 09:50:21 -04:00
PX4 BuildBot 3107860a89 Update submodule mavlink to latest Wed Sep 13 20:14:21 UTC 2023
- mavlink in PX4/Firmware (06b8477f853bf0234d0a894dcf6af4718597989f): https://github.com/mavlink/mavlink/commit/58435f6a83b7ba8b1be67d87264f19534a67857e
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/81524c2b34aa08768f13091b1d94c421e64f96c3
    - Changes: https://github.com/mavlink/mavlink/compare/58435f6a83b7ba8b1be67d87264f19534a67857e...81524c2b34aa08768f13091b1d94c421e64f96c3

    81524c2b 2023-09-13 Hamish Willee - Update pymavlink - for fixed wireshark (#2038)
fe14d798 2023-08-31 Matthias Grob - common: extend MANUAL_CONTROL with auxiliary continuous inputs (#2031)
546edec2 2023-08-30 Peter Barker - common.xml: display GIMBAL_MANAGER_STATUS.flags as bitmask (#2035)
16754498 2023-08-28 Richard Allen - fix RC_CHANNELS_SCALED inactive channel (#2032)
a31bf384 2023-08-24 Hamish Willee - Fix c_library_vX build order (#2026)
5887a6af 2023-08-17 auturgy - reserve range in all.xml (#2030)
2023-09-13 18:31:37 -04:00
Thomas Stastny 28fe15d829 FixedwingPositionControl: initialize the airspeed slew rate controller with trim airspeed in the constructor 2023-09-13 16:18:16 -04:00
Thomas Stastny a1cd4fd5df Commander: make sure unsupported do reposition command result is published
todo: need to consolidate the command ack strategy in this function
2023-09-13 15:29:31 -04:00
Thomas Stastny bec0d83cf4 Commander: dont accept reposition commands without the mode switch bit
avoids erroneous (unexpected) position setpoints when switching into hold from another mode
2023-09-13 15:29:31 -04:00
Thomas Stastny 2d80291b43 loiter: only accept reposition setpoint if commanded within last 0.5 sec
guards against left over reposition commands (potentially set via geofence) from previous flights
2023-09-13 15:29:31 -04:00
David Sidrane e5f4a6b074 NuttX backports acculated prio to V1.14 release
c23b72dffe [BACKPORT] sched/semaphore: Remove restriction to use nxsem_trywait from ISR
fd47cd20a2 [BACKPORT] imxrt:Serial Preserve all but W1C bit in SR
c55f0fd3ac [BACKPORT] imxrt: lpspi dma invalidate cache after exchange
198c7caecb [BACKPORT] imxrt:lpi2c fix status handeling & race
cbd2e44c10 [BACKPORT] s32k3xx: lpspi dma invalidate cache after exchange
e71618d60e [BACKPORT] s32k3xx:lpi2c fix status handeling & race
6f59cc3659 [BACKPORT] s32k1xx:lpi2c fix status handeling & race
1e316d7e32 [BACKPORT] imxrt: flexcan use hpwork for receiving frames
67c1c59865 [BACKPORT] net/can can_readahead_timestamp always free iob
8be831a4ff [BACKPORT] imxrt: fix txdeadline add ecc/fd support
00a68b7668 [BACKPORT] fs/cromfs: Fix faulty DEBUGASSERT() check
d5cf545d6e [BACKPORT] S32K3XX EMAC MCAST support Fix compile warning when ioctl is not enabled
4265c830fa [BACKPORT] imxrt:edma {s|d}last needs to be total xfer size
24b4d44896 [BACKPORT] s32k3xx:edma {s|d}last needs to be total xfer size
eed0482f64 [BACKPORT] s32k1xx:edma {s|d}last needs to be total xfer size
36aab4146a [BACKPORT] kinetis:edma {s|d}last needs to be total xfer size
a0faf31f6f [BACKPORT] arch/stm32f7: fixes for pinmap
eb8255121d [BACKPORT] stm32h7:sdmmc It is not an error if no wait was needed
062044fe41 [BACKPORT] board nucleo-h743zi:Rework board.h not use CONFIG_STM32_USE_LEGACY_PINMAP
e03f9d3917 [BACKPORT] board olimexino-stm32:Rework board.h not use CONFIG_STM32_USE_LEGACY_PINMAP
4c3a467415 [BACKPORT] stm32l5:pinmap Add suffix to all pins and add legacy pinmap
153069ed40 [BACKPORT] stm32wb:pinmap Add suffix to all pins and add legacy pinmap
d84d737f89 [BACKPORT] stm32f0l0g0:stm32f0{3|5|7|9}x_pinmap & stm32g0_pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
5fc7071ac1 [BACKPORT] stm32l4:stm32l4x{3|4|5|6|r}xx_pinmap pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
20061c2aab [BACKPORT] stm32:stm32f10{0|2|3{c|r|v|z}|5{r|v}|7v}_pinmap refactor
4d1f83d484 [BACKPORT] stm32:stm32l15xxx pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
2dfa3f2601 [BACKPORT] stm32:stm32g4xx{c|k|r|m|v|q} pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
d206327809 [BACKPORT] stm32:stm32f3{0|3|7}xxx pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
95e66ab508 [BACKPORT] stm32:stm32f20xxx pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
d2fd9178ad [BACKPORT] stm32:f4/f412 pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
a9df45166d [BACKPORT] stm32f7:pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
07dd2b424e [BACKPORT] stm32h7:pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
1e3065344f [BACKPORT] stm32u5:stm32u585xx_pinmap Fix typo
0a05365a90 [BACKPORT] stm32wl5:pinmap Fix typo
e3834138dc [BACKPORT] tools:Add STM32 Pin migration tool
df851a8768 [BACKPORT] stm32h7/rcc: make VOS0 configurable from board.h also for stm32h7x7xx
d75dfcf1e9 [BACKPORT] stm32h7/rcc: make VOS0 configurable from board.h
963f35f4fc [BACKPORT] {stm32,stm32f7,stm32h7,stm32l4,efm32}/otg: rasie an assertion if IN request is not possible to transfer
de2fcc6668 [BACKPORT] {stm32f7,stm32h7,stm32l4}/sdmmc: callback support requires HPWORK
6929144fc2 [BACKPORT] stm32h7/otgdev: FS transceiver must be enabled if OTGFS enabled
a2078afaea [BACKPORT] stm32h7/otg: add support for external ULPI
26e1246c86 [BACKPORT] stm32h7/rcc: OTGHS ULPI works only in VOS0
cd6daa185e [BACKPORT] stm32h7: update ULPI pins
c73c261ae3 [BACKPORT] arch/boards: fix stm32f411-mininum:nsh compilation failure after enabling IRQMONITOR
8078f134ef [BACKPORT] arch/stm32/stm32.h: do not include stm32_usbdev.h if not supported
60e884fa92 [BACKPORT] {stm32,stm32l4,stm32f0l0g0}/otg: move STM32_NENDPOINTS definitions to header files
dda297cb78 [BACKPORT] arch/arm/src/stm32/hardware: Fix register define
362b976b0e [BACKPORT] arch/arm/src/stm32/hardware: Add stm32g4 rcc apb1 timer enable compatibility
434fd71f2c [BACKPORT] {stm32/stm32l4/stm32f7/stm32h7/efm32}/otgdev: remove invalid use of the priv field for EP
2476d24e8c [BACKPORT] {stm32f7,stm32h7}/otg: fix compilation for USBDEV when USB_DEBUG=y
eb43c582ea [BACKPORT] drivers/mtd/ramtron: change nsectors size to uint32
20f61ff0d5 [BACKPORT] fs/littlefs: add full support for LittleFS block device cfg in Kconfig
60471fbf8c [BACKPORT] drivers/mtd: add Kconfig options for RAMTRON emulated page & sector size
2023-09-13 13:14:18 -04:00
Daniel Agar 36010a9a7c ROMFS: rc.fw_defaults set more conservative range finder requirements
- for FW the primary range finder usage is estimating the distance to
   the ground (terrain estimate) to guide the landing approach and initiate flare
 - increase EKF2_RNG_QLTY_T default 1->3 seconds
2023-09-13 12:14:13 -04:00
Konrad 679a532e61 failsafe: When rtl_time_estimate failsafe is triggered, only disable it when the user changes the mode, or it is disarmed. 2023-09-13 16:19:08 +02:00
Niklas Hauser 98a35971af camera_capture: disable timer callback on stop
Otherwise the capture_trampoline is called while g_camera_capture is a
nullptr, which leads to a hardfault since the this pointer is invalid.
2023-09-13 10:16:08 -04:00
Daniel Agar 016db84d69 ekf2: covariance update use IMU sample dt (#22032)
- usually the delta angle and delta velocity dt is the same, but they can be slightly different
2023-09-13 09:58:56 -04:00
Jukka Laitinen 9bcfd1a7f7 cmake/kconfig.cmake: Don't populate config_kernel_list in nuttx flat builds
This passes __KERNEL__ compilation flag to all modules, which may break some NuttX headers

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-09-13 21:00:07 +12:00
Thomas Stastny 4ec4ce5fa9 FixedwingPositionControl: rework airspeed slew controller handling
- force initialize takeoff airspeed setpoint at start of takeoff modes
- force set airspeed constraints if slewed value is out of bounds
- always slew airspeed setpoints as long as inside constraints
- move target airspeed setpoint calculation into mode specific logic regions (hand vs runway)
2023-09-13 09:50:41 +02:00
Silvan Fuhrer 78ddf41aa2 ROMFS: SITL plane_catapult: reduce FW_LAUN_AC_THLD to 10m/s/s to detect every throw
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-13 09:50:41 +02:00
Silvan Fuhrer f1b47b14b8 FW Pos Control: add in_takeoff_situation argument to adapt_airspeed_setpoint()
when we're in a takeoff situation, we only want to adapt the airspeed to
avoid accelerated stall due to load factor changes. Disable othre logic
like minimum ground speed, wind based adaption and airspeed slew rating.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-09-13 09:50:41 +02:00
bresch 78eb0cdb72 opt flow: fix msg naming
optical_flow got replaced by sensor_optical_flow and vehicle_optical_flow
2023-09-11 10:12:16 -04:00
Julian Oes f2bb548b27 6x: fix internal mag rotation
From looking at the history the BMM150 rotation was initially 0. Then,
this was changed to 6 when the intent was to only change it for Skynode.

A bit later, the rotation was changed back to 0, but only for Skynode.

This tells me that rotation 0 was correct for all 6X including Skynode
all along.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-11 15:03:33 +12:00
Fermi-4 9fe8bd698b Update ina228.h comment typo (#22018)
Update comment wording to "Charge Result" from "Energy Result" as this is reading from the charge register
2023-09-10 01:12:57 +02:00
duartecdias efe0db5725 uavcan_drivers: stm32h7_can fix filter memory initialization bug
Co-authored-by: Duarte Dias <duarte@uaventure.com>
2023-09-08 15:29:41 -04:00
Daniel Agar 7d497d4959 msg: set all ORB_QUEUE_LENGTH to actual rounded value 2023-09-08 15:28:16 -04:00
Daniel Agar 892d507ca7 integrationtests: MAVROS mission_test.py relax yaw estimate STD check for now (#22061)
- ekf2 heading first initializes to 0 degrees, then immediately resets to mag heading once a few samples are accumulated
 - the yaw standard deviation check could be adjusted to exclude this brief (<1s) initial period
2023-09-08 15:27:39 -04:00
Daniel Agar 3476831246 dataman: explicitly check file existence to init
- on NuttX if the SD card was just cleared (quick format) it's possible for the newly created uninitialized dataman file to still have the previous compatibility key, which causes the initialization to be skipped
2023-09-08 10:16:24 -04:00
Thomas Stastny def4ce6ba8 FixedwingPositionControl: slightly simplify manual position control (use navigateLine() to be sure no turnaround)
make notes on odd things that are likely still wrong
2023-09-08 16:08:38 +02:00
Thomas Stastny 16bd0a2ba0 FixedwingPositionControl: revise navigateLine(), navigateBearing() and naivgatePathTangent() briefs 2023-09-08 16:08:38 +02:00
Thomas Stastny 7b7d762582 FixedwingPositionControl: forgot to rename input args in navigateWaypoints() declaration 2023-09-08 16:08:38 +02:00
Thomas Stastny e71804d976 FixedwingPositionControl: reuse line() and waypoint() methods in navigateWaypoints() method 2023-09-08 16:08:38 +02:00
Thomas Stastny ad9e3d72d9 FixedwingPositionControl: split out single waypoint following method
makes more clearly defined interfaces and behaviors. also cleaned up the controlAutoPosition() method
2023-09-08 16:08:38 +02:00
Thomas Stastny c3012a551f FixedwingPositionControl: track single point when no prev point exists for waypoint following
make sure correct local position setpoint output is logged
2023-09-08 16:08:38 +02:00
Thomas Stastny f90783547f FixedwingPositionControl: correct navigation method param description typos 2023-09-08 16:08:38 +02:00
Thomas Stastny 3047cad05d FixedwingPositionControl: follow (infinite) lines instead of waypoints during takeoff and landing 2023-09-08 16:08:38 +02:00
Thomas Stastny 3ffb57bcce FixedwingPositionControl: handle degenerate tangent setpoint in navigatePathTangent() 2023-09-08 16:08:38 +02:00
Thomas Stastny 413f66549d npfg: update signed track error state 2023-09-08 16:08:38 +02:00
Thomas Stastny b11ff06798 FixedwingPositionControl: fix / clarify navigate waypoint logic 2023-09-08 16:08:38 +02:00
Daniel Agar 14ef376721 drivers/uwb/uwb_sr150: don't enable by default 2023-09-08 09:20:01 -04:00
Daniel Agar de9dfb6b74 .vscode: settings.json default ros.distro 2023-09-07 18:57:37 -04:00
Niklas Hauser ad1d72df6f uORB: fix hardfault in uORB calloc implementation
When running out-of-memory, the malloc returns NULL and the memset then tries to write to address 0 which results in a hardfault.
2023-09-07 14:22:58 -04:00
Julian Oes 35c1d5d9b1 asp5033: fix K value
As QioTek told me via email.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-06 10:25:48 -04:00
Matthias Grob 38b0de94c1 system_params: improve distance sensor check description 2023-09-05 13:11:20 -04:00
alexklimaj 10ac10cb33 ARK CANnode disable OPT_WAIT_FOR_GETNODEINFO_JUMPER_GPIO 2023-09-05 13:10:23 -04:00
Jukka Laitinen 2d4d824a98 src/drivers/adc/ads1115: Change adc_report type to PublicationMulti
To support several ads1115 modules publishing to different adc_report instances

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-09-05 13:09:26 -04:00
Julian Oes 70b48dd41c cubepilot: Add support for 4. variant of Orange+
This adds support for the 4. hardware variant of the CubeOrange+
featuring 3 ICM45686.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-05 11:07:09 -04:00
Denislav Petrov ece338ceef Adding a new differential pressure sensor ASP5033 (#21568)
* added a new driver ASP5033 for measuring the differential pressure and airspeed

---------

Co-authored-by: nano <nanobotzhe@abv.bg>
Co-authored-by: Denislav Petrov <you@example.com>
2023-09-05 10:21:05 +12:00
Julian Oes fb30b4d288 control_allocator: Clarify position description
I'm assuming that the rotor positions are given relative to the center
of gravity (CG).

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-04 08:02:15 +02:00
Matthias Grob d2819ca754 FunctionsMotors: include motors instead of servos topic 2023-08-31 16:56:08 -04:00
Matthias Grob 2b78431566 PositionControl: use float literals for sqrtf sign check 2023-08-31 16:56:08 -04:00
alexklimaj 3d61ab84c4 Cannode add ability to get node ID after boot. Fix ARK CAN OPT_WAIT_FOR_GETNODEINFO_JUMPER_GPIO_INVERT 2023-08-30 11:40:01 -04:00
bresch 23b31cc5fd manual_yaw: compensate for yaw estimate convergence
When the yaw estimate is converging, the controller makes the drone yaw
in order to follow the current setpoint. This is unintuitive for the
pilot and it is preferable if the drone continues to fly towards the
same physical direction.
2023-08-30 09:56:19 +02:00
bresch 0aa4afdbce ekf2: add unaided_yaw for more resilient yaw control
This estimate doesn't converge to the true yaw but can be used as a
more consistent but drifting heading source.
It can be used by a setpoint generator to adjust its heading setpoint
while the true yaw estimate is converging in order to keep a constant
course over ground.
2023-08-30 09:56:19 +02:00
Julian Oes 329a2d0e98 gps: request Unicore HEADINGA message
This updates the gps/devices submodule which includes a fix that
requests the Unicore HEADINGA message in case the message is not enabled
by default.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-30 11:31:22 +12:00
comla-x b47fa81633 boards: added SIYI N7 flight controller config 2023-08-29 11:31:33 -04:00
bresch 52bcf1e0c2 update change indicator
The yaw variance is now initially zero
2023-08-29 10:57:49 -04:00
bresch 71f12b2c4d ekf2: do not initially increase yaw variance
Yaw variance is automatically increased as soon as a yaw aiding source
is activated
2023-08-29 10:57:49 -04:00
bresch 78d75ada3e update change indicator
The result is slightly different because we now only set the tilt
covariance (before, tilt variance was applied to all axes)
2023-08-29 10:57:49 -04:00
bresch 0282f85cd4 ekf2: compute quat tilt variance using SymForce 2023-08-29 10:57:49 -04:00
Niklas Hauser af40d5befd nsh: check nsh_consolemain return value
Starting a new console allocates memory dynamically, which can fail.
2023-08-29 10:55:01 -04:00
Julian Oes cde47e8fc0 mavlink: improve readability
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-08-29 13:23:55 +02:00
Julian Oes 448454a317 mavlink: Support voltages > 65v in battery status
If the measured voltage is more than 65v we need to split the voltage
over multiple cells in order to avoid overflowing the uint16. This is
according to the MAVLink spec.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-29 13:23:55 +02:00
Julian Oes 74b4902e50 mavlink: fix BATTERY_STATUS extension
The extension fields need to be 0 by default according to the MAVLink
spec. This is because extensions are 0 by default and need to be 0 when
unknown/unused for backwards compatibility.

The patch also simplifies the flow slightly in that it doesn't create a
temporary array but just fills in the cell voltages directly.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-29 13:23:55 +02:00
Daniel Agar 0f260fc26c ekf2: gravity fusion don't use any accel samples that are clipping 2023-08-28 14:35:13 -04:00
Daniel Agar 2c76109a94 ekf2: drag fusion don't use any accel samples that are clipping 2023-08-28 14:35:13 -04:00
Beat Küng b485b1a12a drv_hrt: remove whitespace for operator ""
Fixes the clang error:
/__w/PX4-Autopilot/PX4-Autopilot/src/drivers/drv_hrt.h:297:35: fatal error: identifier '_s' preceded by whitespace in a literal operator declaration is deprecated [-Wdeprecated-literal-operator]
  297 | constexpr hrt_abstime operator "" _s(unsigned long long seconds)
2023-08-28 17:48:20 +02:00
Julian Oes ecbc5b83a0 kakute: disable some EKF2 features
To save flash.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-28 13:20:00 +02:00
Julian Oes 9d97c7c5cb kakuteh7: use EKF2 by default
Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-28 13:20:00 +02:00
Mathieu Bresciani 6a58f6c7dc Enable arbitrary euler angle for Mag rotation CAL_MAGx_{ROLL,PITCH,YAW}
- Enable arbitrary euler angle for Mag rotation
  - new CUSTOM rotation enum out of the normal enum range
 - mag_rot: automatically change to custom if euler rot is set
 - sensor_calibration: Magnetometer save custom rotation parameters
 - mag_cal: cross mention rotation parameters
  - This allows the user to see the RPY options when searching for the rotation parameter

---------

Co-authored-by: Junwoo Hwang <junwoo@auterion.com>
Co-authored-by: bresch <[brescianimathieu@gmail.com](mailto:brescianimathieu@gmail.com)>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2023-08-26 14:52:39 -04:00
bresch 9551c1b614 ekf2: send global position if origin is set manually
Even if the aiding is local only, a valid global estimate can be sent as
long as we know the EKF's origin.
2023-08-26 14:48:49 -04:00
Silvan Fuhrer f1b5b4f524 TiltrotorEffectiveness: limit thrust axis tilt to z effectiveness scaling (#21990)
During transition to FF, only allow update thrust axis up to 45° as with a high tilt angle
the effectiveness of the thrust axis in z is apporaching 0, and by that is increasing
the motor output to max.
Transition to HF: disable thrust axis tilting, and assume motors are vertical. This is to avoid
a thrust spike when the transition is initiated (as then the tilt is fully forward).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-08-25 14:45:14 +02:00
alexklimaj 6faec7ab15 ARKV6X update rev 2 heater default temp id 2023-08-24 13:23:47 -04:00
Silvan Fuhrer 410206aa5d Control Allocation: fixes in yaw saturation detection for vehicles with tilt-for-yaw (#21994)
* ActuatorEffectiveness: base yaw saturation on tilt actuator limits (VTOL Tiltrotor)

* ActuatorEffectiveness: add custom yaw saturation for MC Tilt


---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-08-24 13:58:58 +02:00
Silvan Fuhrer 0eb276f273 Tiltrotor: move spin up tilt to control allocation (#21991)
EffectivenessTiltrotor: link time when to tilt motors to MC position to COM_SPOOLUP_TIME
- remove VT_TILT_SPINUP and special spin up tilt handling form the VTOL module
- now handle the spoolup in the allocation, directly linked to COM_SPOOLUP_TIME
- leave tilts at disarmed value during spoolup

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-08-24 13:57:24 +02:00
Daniel Mesham 86822171b9 Add SITL targets for Iris models with depth cameras 2023-08-22 11:50:29 -04:00
Beat Küng d4c7ea74ef refactor uxrce_dds_client: reduce amount of generated code for SendTopicsSubs
Reduces flash usage by ~4KB for current set of topics.
2023-08-21 20:56:08 -04:00
Beat Küng 8e1dd710a6 parameters: remove indentation from json output
Reduces parameters.json.xz by ~3KB on v5x.
2023-08-21 20:55:09 -04:00
Beat Küng 03365658d5 VehicleControlMode: add flag_control_allocation_enabled
Allows (external) modes to directly publish actuator_{motors,servos}.
2023-08-21 20:53:51 -04:00
Matthias Grob 22e613a24a commander_params: more precise COM_FAIL_ACT_T description
regarding RC stick override
2023-08-21 16:39:10 +02:00
Matthias Grob 0200ef9a60 Tools/auterion: add Skynode upload scripts (#21842) 2023-08-21 08:03:07 +02:00
Peter van der Perk 068b1494fc ucans32K146: fix pwm startup 2023-08-18 12:38:50 -04:00
bresch dbebe7d168 fw-atune: use same attitude P rule as for multirotors
The current rule was producing too high gains. Also constrain the value
using the prameter's limits.
2023-08-18 11:48:08 -04:00
bresch 759f91ba52 fw-atune: limit max test signal
Whe the P gain is high, the test signal is large too. However, it should
not exceed what is allowed from the max rate parameter.
2023-08-18 11:48:08 -04:00
Mathieu Bresciani 74a54b3b12 EKF2: improve resilience against incorrect mag data
- when GNSS is used require low mag heading innovations during
  horizontal acceleration (yaw observable) to validate the mag
- only fuse mag heading just enough to constrain the yaw estimate
  variance to a sane value. Leave enough uncertainty to allow for a
  correction when the yaw is observable through GNSS fusion
2023-08-17 09:55:15 -04:00
Silvan Fuhrer eaad11bb74 ActuatorEffectiveness: add comment for 2% magic number to stop motors
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-08-17 13:28:09 +02:00
Alex Klimaj 0914e7feaa new TDK IIM42653 IMU driver and ARKV6X Rev 2 2023-08-16 16:20:14 -04:00
Ludovic Vanasse 3a166247c1 Add condition for Iridium mode to not send params change after a time
In the mavlink_receiver code, after a while it will try to resend some
parameter update through the MAVLink instance. But for Iridium links
those are not a good idea. So this adds a condition that prevent the
sending if the MAVLink instance is in Iridium mode.

Related to issue #21496
2023-08-16 11:28:36 -04:00
Sverre Velten Rothmund b21ad6af14 multiple: Fix abs(int) usage on float values 2023-08-15 10:18:32 +02:00
alexklimaj 5f9443add4 ARK Jetson Carrier support 3rd power module 2023-08-14 10:41:44 -04:00
PX4 BuildBot 4fce159a2a Update submodule mavlink to latest Fri Aug 11 12:38:42 UTC 2023
- mavlink in PX4/Firmware (594d7743bab98001866a2f34e1cc835d5795fb3a): https://github.com/mavlink/mavlink/commit/e04677782ab086974be52104e27860fc760eff36
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/58435f6a83b7ba8b1be67d87264f19534a67857e
    - Changes: https://github.com/mavlink/mavlink/compare/e04677782ab086974be52104e27860fc760eff36...58435f6a83b7ba8b1be67d87264f19534a67857e

    58435f6a 2023-08-09 Hamish Willee - development.xml - remove mission_checksum (#2010)
048237b4 2023-08-02 Hamish Willee - Update Pymavlink - for Ava etc (#2025)
2023-08-11 09:48:45 -04:00
PX4 BuildBot cd015d30c8 update all px4board kconfig 2023-08-11 08:59:37 -04:00
PX4 BuildBot 28a34ef56c Update world_magnetic_model to latest Fri Aug 11 11:14:05 UTC 2023 2023-08-11 08:58:57 -04:00
Ville Juven 0cae33bf47 blockingqueue.hpp: Fix sem_wait not blocking if task is signaled
sem_wait() can be interrupted if the task receives a signal, however
the blockinglist implementation depends on blocking until the semaphore
can be obtained.
2023-08-11 07:44:10 +02:00
Jukka Laitinen c0084ab24d Fix maximum rotation value in GetBoardRotation()
Fix a memory overflow in case SENS_BOARD_ROT is set to Rotation::ROTATION_MAX (41) which is not a valid value

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-10 07:54:53 +02:00
Beat Küng ae70f9c640 attitude_estimator_q: disable ATT_ACC_COMP by default
Improves tracking in the CI test, and I always disabled it on my vehicles
as well.
2023-08-08 12:28:52 -04:00
Beat Küng 57297234e2 autopilot_tester: slower descend for fly_forward_in_offboard_attitude
As CI was sometimes failing
2023-08-08 12:28:52 -04:00
bresch 1f02d55103 ekf2: update change indicator
change caused by fixing the yaw variance increase calculation
2023-08-08 12:09:56 -04:00
bresch 39a83ab138 ekf2_test: test yaw variance after reset 2023-08-08 12:09:56 -04:00
bresch b6fb95247b ekf2_derivation: fix typo 2023-08-08 12:09:56 -04:00
bresch de702a2e63 ekf2: fix function to increase yaw variance 2023-08-08 12:09:56 -04:00
bresch 01fc4c3cf1 SquareMatrix: add functions to copy upper and lower triangle 2023-08-08 12:09:56 -04:00
Silvan Fuhrer 56dd1dc930 Navigator: Resume mission with last flight speed (#21714)
* Navigator: DO_CHANGE_SPEED: only store sinlge cruising_speed_current_mode

This stored cruising speed setpoint is reset on mode change and
after a VTOL transition.

* Navigator Mission: replay DO_CHANGE_SPEED items when resuming mission

* Navigator: remove cruising_speed_sp_update()

Speed changes in a mission are handled directly in the position controllers,
and no longer in Navigator.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-08-08 13:22:05 +02:00
Beat Küng 02a6640000 fix uxrce_dds_client: apparently we cannot use the upper 4 bits for ID's 2023-08-08 10:59:34 +02:00
hskrieg 64c21ad428 uorb: allow for more than 255 uORB messages
Increased size for ORB_ID from uint8_t to uint16_t

Created a type: orb_id_size_t = uint16_t.
There are still a couple of places where the size
of the ORB_ID is assumed to be less than 16-bits.
The places that I have found are commented regarding
this and can be found with a search on orb_id_size_t.
2023-08-08 10:59:34 +02:00
Christian Rauch e9fbb9a3ab pca9685_pwm_out: add parameter PCA9685_RATE to set update frequency 2023-08-07 20:44:07 -04:00
Christian Rauch dce7149363 remove unused debug.h 2023-08-07 20:42:58 -04:00
Christian Rauch cab78593b4 BMI0xx: remove unused board_dma_alloc.h 2023-08-07 20:42:58 -04:00
Christian Rauch 638b18dd07 ADIS16497: replace NuttX specific up_udelay with HAL version px4_udelay 2023-08-07 20:42:58 -04:00
Christian Rauch b689082d97 enable common barometer, IMU and magnetometer 2023-08-07 20:42:58 -04:00
Christian Rauch a128517897 skip SSH key check for simpler builds in the Docker container 2023-08-07 20:42:58 -04:00
Dusan Zivkovic 29f352d49d px4-rc.simulator: set Gazebo coordinate frame reference (SIM_GZ_HOME_* params) from PX4_HOME_* env variables 2023-08-07 14:41:35 -04:00
bresch cd77d52dc1 ekf2: calcRotVecVariances using SymForce 2023-08-07 14:28:06 -04:00
Beat Küng 2d09ad55e3 omnibus/f4sd: disable urxce_dds_client and enable tools & load_mon 2023-08-04 11:27:31 -04:00
Beat Küng 0277a6486f mavsdk_tests: add offboard attitude test & run with Q estimator 2023-08-04 11:27:31 -04:00
Daniel Agar d75bb62a65 ekf2: separate mag and mag heading control logic (#21212)
- split mag_3d into new standalone mag fusion and mag fusion allowed to update all states (full mag_3d)
 - new dedicated control logic for mag/mag_3d fusion and standalone mag heading fusion
 - if WMM available use for mag_I and mag_B init
 - mag states reset if external yaw reset (yaw estimator, GPS yaw, etc)
 - mag reset if declination changed (eliminate _mag_yaw_reset_req)
 - mag fusion (but not mag_hdg or mag_3d) can be active during gps_yaw or ev_yaw (if yaw aligned north)

Co-authored-by: bresch <brescianimathieu@gmail.com>
2023-08-04 10:39:16 -04:00
alexklimaj 7db667558e ARK RTK GPS support baro on I2C bus 1 instead of 2 2023-08-03 20:48:01 -04:00
Roman Dvorak 1feb79f27f update gps submodule 2023-08-03 10:27:34 -04:00
Daniel Agar 95b3005679 lib/world_magnetic_model: add constants for min/max/mean/median field strength
- add geo_magnetic_tables.hpp comments for blackout zone warnings
 - reduce unnecessary precision in generated tests (should reduce future update noise)
 - update copyright year
2023-07-28 17:14:25 -04:00
Daniel Agar 88e7452492 commander: collapse ArmStateMachine and simplify
- simplify vehicle_status.arming_state down to just armed and disarmed
    - ARMING_STATE_INIT doesn't matter
    - ARMING_STATE_STANDBY is effectively pre_flight_checks_pass
    - ARMING_STATE_STANDBY_ERROR not needed
    - ARMING_STATE_SHUTDOWN effectively not used (all the poweroff/shutdown calls loop forever in place)
    - ARMING_STATE_IN_AIR_RESTORE doesn't exist anymore
 - collapse ArmStateMachine into commander
     - all requests already go through Commander::arm() and Commander::dismarm()
 - other minor changes
     - VEHICLE_CMD_DO_FLIGHTTERMINATION undocumented (unused?) test command (param1 > 1.5f) removed
     - switching to NAVIGATION_STATE_TERMINATION triggers parachute command centrally (only if armed)

---------

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-07-28 17:12:01 -04:00
Daniel Agar 84b6b472b4 ekf2: change delta angle and delta velocity bias states to accel and gyro bias (#21901)
* ekf2-test: remove outdated codegen comparison

The definition of states changed so the comparison with the old
derivation cannot work anymore.

---------

Co-authored-by: bresch <brescianimathieu@gmail.com>
2023-07-28 09:31:44 -04:00
Daniel Agar 444e5d2d4a boards: px4_fmu-v5_debug readd systemcmds/sd_stress 2023-07-27 14:48:41 -04:00
Silvan Fuhrer c0d9e2ac7a commander: add warning for imminent navigation failure
Some system are able to dead-reckon for a while after losing GPS or
other sources providing positional feedback. If the estimated position
error grows above the failsafe threshold, the system enters a failsafe
mode. As the position error estimate is growing linerly over time, and
it is recommended to take action before entering the failsafe, we here
warn the user about the imminent failsafe and propose to take manual
control.

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-27 14:12:04 -04:00
PX4 BuildBot 5f94eb1493 Update submodule sitl_gazebo-classic to latest Thu Jul 27 12:39:07 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (1c1f8da7d9): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/c8ac7ff39b694832a3eee6ab568058c145f42c6f
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/20ded0757b4f2cb362833538716caf1e938b162a
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/c8ac7ff39b694832a3eee6ab568058c145f42c6f...20ded0757b4f2cb362833538716caf1e938b162a

    20ded07 2023-07-21 Silvan Fuhrer - wind pluging: fix wind ramp (#998)
6620a6b 2023-07-20 Silvan Fuhrer - wind plugin: add option to simulate a constant wind change with ramp up (#996)
2023-07-27 12:58:59 -04:00
Julian Oes 42bdfe0fb2 boards: px4/fmu-v5 move some test commands to test config
I would expect anyone using these test commands can just use the test config instead.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-27 10:36:03 -04:00
Daniel Agar e468798e91 Update world_magnetic_model to latest Thu Jul 27 11:14:06 UTC 2023
Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-07-27 10:34:11 -04:00
Daniel Agar d928a3a8d0 Update submodule GPSDrivers to latest Thu Jul 27 12:39:18 UTC 2023 (#21897)
- GPSDrivers in PX4/Firmware (9762316d8a0a84b5cb8563ab4c289416421d2801): https://github.com/PX4/PX4-GPSDrivers/commit/261480cb78a3ba60cdda2dcc95b874ebc2c9312c
    - GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/b94378bcbbf3339670bda1f97820d6335f6937f5
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/261480cb78a3ba60cdda2dcc95b874ebc2c9312c...b94378bcbbf3339670bda1f97820d6335f6937f5

    b94378b 2023-07-26 Eric Katzfey - Fixing UBlox M10 support

Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-07-27 10:33:22 -04:00
PX4 BuildBot 37a6ac5c93 Update submodule mavlink to latest Thu Jul 27 12:39:22 UTC 2023
- mavlink in PX4/Firmware (3476e500bf5baa837314e09ff29deeabb719071b): https://github.com/mavlink/mavlink/commit/e47dfbb4b7e37696971e45f8ae91ed3a8986ff13
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/e04677782ab086974be52104e27860fc760eff36
    - Changes: https://github.com/mavlink/mavlink/compare/e47dfbb4b7e37696971e45f8ae91ed3a8986ff13...e04677782ab086974be52104e27860fc760eff36

    e0467778 2023-07-27 JaeyoungLim - Clarify SET_ATTITUDE_TARGET quaternion field (#2020)
2023-07-27 10:32:27 -04:00
PX4 BuildBot a3a19da651 update all px4board kconfig 2023-07-27 10:24:10 -04:00
Beat Küng 351a9050c3 commander: update param description for COM_MOT_TEST_EN 2023-07-27 09:39:24 -04:00
Ayham Alharbat 1c1f8da7d9 add a gz-omnicopter model (#21818)
* [not-working] add a gz-omnicopter model

* Fix axis directions on omnicopter model

The omnicopter joint axis directions had to be adapted for sdf 1.9 as it has different conventions for joint axis definitions.

* include model from gz-fuel & remove mesh files

* Fix omnicopter model using fuel

---------

Co-authored-by: Jaeyoung Lim <jalim@ethz.ch>
2023-07-27 11:34:27 +02:00
Konrad e4111a03bf mavlink-mission: Initialize the safepoint and mission counter from the dataman state.
If at the last powercycle one mission was uploaded, the counter in dataman was 1. On the next powercycle the mavlink mission counter was reset to zero and on first mission upload updated to 1 again. Other modules check, if the mission was changed based on the counter, like the mission.cpp loaded the mission counter from the dataman. On a new mission, the comparison of the counters failed, because both were the same value even if the mission was completely different.
2023-07-27 07:21:29 +02:00
Konrad aa2c47a56b mission: On an updated mission, don't assume per default that the mission is not valid, use the state from the last mission validation. 2023-07-27 07:21:29 +02:00
Daniel Agar 82962acd5c sensors/vehicle_magnetometer: add mag calibration PX4_DEBUG output 2023-07-26 12:42:51 -04:00
Daniel Agar d65ddbf810 simulation/sensor_gps_sim: lower GPS velocity variance
- for a multicopter EKF2 default required GPS speed accuracy is 0.5 m/s
2023-07-26 12:42:18 -04:00
Beniamino Pozzan b9667e955d [uxrce-dds-client]: add parameter to disable time synchronization between Agent and Client
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-07-26 09:16:29 -04:00
Daniel Agar 56b59dc155 Revert "jenkins ci: listener topic list update"
This reverts commit 190371c6ee.
2023-07-25 18:39:28 -04:00
bresch 30d8df7001 mag_check: fix param type 2023-07-25 11:21:05 -04:00
bresch 99309625e8 preflt-chk: report strength and inclination failure values 2023-07-25 11:21:05 -04:00
Daniel Agar 19d6e69b0b ekf2: allow yaw estimator to perform yaw alignment
This can be useful if using a full EV + GNSS setup and you start indoors, then fly outside. Once GPS is good and the only missing requirement is yaw alignment the yaw estimator reset is performed and EV yaw will automatically stop itself.
2023-07-25 10:58:45 -04:00
Daniel Agar 6d4ec4e623 Jenkinsfile-compile increase timeout 2023-07-25 10:56:45 -04:00
bresch beb5fc5eb6 ekf-checks: set min and max values for required/failsafe eph 2023-07-24 15:10:07 -04:00
bresch 30bfe0d379 ekf2: remove artificial constraint on position uncertainty growth
There is no reason to contrsain the position uncertainty, estpecially
when flying with velocitiy aiding only.

Note that all the variances are already contrained to sane values at the
end of the covariance prediction
2023-07-24 15:10:07 -04:00
Daniel Agar 1ef9ee7622 ekf2: simplify fuseYaw() signature and use consistently
- make it safe to call for other aid sources, no EKF state is changed unless fusion_enabled
2023-07-24 10:34:00 -04:00
Daniel Agar 01bcc47fb1 ekf2: apply yaw reset to vision attitude error filter
- set vision attitude error filter uninitialized if vision data stops
 - ev error filter is only compiled when ev config is selected

Co-authored-by: bresch <brescianimathieu@gmail.com>
2023-07-24 10:32:33 -04:00
bazooka Joe 190371c6ee jenkins ci: listener topic list update 2023-07-24 10:27:48 -04:00
Junwoo Hwang e626f8666c Geofence: Disable pre-emptive geofence predictor by default (#21657)
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2023-07-24 10:25:31 -04:00
bresch a95c11d48a ekf2-test: add test for inclination of mag earth field 2023-07-24 10:16:37 -04:00
bresch 72be724b86 ekf2: log mag inclination and strength for tuning 2023-07-24 10:16:37 -04:00
bresch 357bf024f6 ekf2-mag: add inclination check 2023-07-24 10:16:37 -04:00
bresch e4a16bfc80 ekf2-mag: rework mag strength check 2023-07-24 10:16:37 -04:00
Daniel Agar e878d0c0ef Jenkinsfile-compile fix invalid boards 2023-07-24 09:50:54 -04:00
Beat Küng 8e8b35dadf px4/fmu-v6x: disable batt_smbus for now to reduce flash 2023-07-24 13:10:31 +02:00
Beat Küng 133aeb10a6 mision: only run mission feasibility checks when mission updated
Instead of also when geofence/safe points updated.
This prevents reporting multiple times.
2023-07-24 13:10:31 +02:00
Beat Küng 72955221cb fix dataman: treat 0 as valid return for read & ensure to init buffer
This can happen e.g. when the item is cleared.
2023-07-24 13:10:31 +02:00
Beat Küng 9aa355a08c HIL: add --ignore-stdout-errors to run_nsh_cmd.py and use for 'tests dataman'
As this test is expected to contain errors.
2023-07-24 13:10:31 +02:00
Beat Küng 5c73d24765 boards/px4/fmu-v5/test: disable modules to reduce flash 2023-07-24 13:10:31 +02:00
Beat Küng 05a5bbe120 boards/diatone/mamba-f405-mk2: disable modules to reduce flash 2023-07-24 13:10:31 +02:00
Beat Küng ebd64bfab6 navigator: defer saving mission until disarmed
Avoids unnecessary dataman accesses
2023-07-24 13:10:31 +02:00
Beat Küng 16a144c00f navigator: use mission topic to notify about geofence & safe point changes
This avoids the need to regularly access dataman for checking.
2023-07-24 13:10:31 +02:00
Igor Mišić de598f3e7e ci: allow tests dataman to pass
tests dataman will trigger errors and run_nsh_cmd.py
 is not written to detect only when a test fails. This is properly tested with run_tests.py
2023-07-24 13:10:31 +02:00
Igor Mišić 3d6c376b47 dataman: add guards for max item value 2023-07-24 13:10:31 +02:00
Igor Mišić 904f18f409 boards: remove camera capture and trigger from test builds 2023-07-24 13:10:31 +02:00
Igor Mišić b6b32c5a94 dataman: update compat version
A version update is needed since the dataman is showing errors if data doesn't exist or if it is wrongly stored. This will force default data to be initialized.
2023-07-24 13:10:31 +02:00
Igor Mišić 92fc13d928 GeofenceBreachAvoidanceTest: bug fix 2023-07-24 13:10:31 +02:00
Igor Mišić 57f11c8149 dataman: add perf_counter 2023-07-24 13:10:31 +02:00
Igor Mišić c40a38bd88 dataman: remove locking mechanism 2023-07-24 13:10:31 +02:00
Igor Mišić 3143f6bd0a mavlink_mission & mission: move dataman update to mission 2023-07-24 13:10:31 +02:00
Igor Mišić 55d8adb35b mavlink_mission: remove locking mechanism 2023-07-24 13:10:31 +02:00
Igor Mišić d5ecfe0efe dataman_client: increase px4_poll timeout to 100_ms 2023-07-24 13:10:31 +02:00
Igor Mišić d1b660b104 rtl: integrate dataman cache 2023-07-24 13:10:31 +02:00
Igor Mišić 4038eeec3e geofence: integrate dataman cache 2023-07-24 13:10:31 +02:00
Igor Mišić e14216c6c7 dataman_client: prevent loading duplicates in the cache 2023-07-24 13:10:31 +02:00
Igor Mišić 80409672b1 mission: integrate dataman cache 2023-07-24 13:10:31 +02:00
Igor Mišić 6453a1c311 datamanClient: add Doxygen documentation for the API. 2023-07-24 13:10:31 +02:00
Igor Mišić 1e49eb419d datamanClient: add DatamanCache class 2023-07-24 13:10:31 +02:00
Igor Mišić e6cc3d0118 datamanClient: add async functions 2023-07-24 13:10:31 +02:00
Igor Mišić 208552fdab dataman: add DatamanClient with sync functions
Rework of dataman
2023-07-24 13:10:31 +02:00
Igor Mišić c67af1479f dataman: refactoring _file_initialize
clear dataman file and init initial value on creation
2023-07-24 13:10:31 +02:00
Igor Mišić 7563ddd91f navigator: increase stack size by 208 bytes 2023-07-24 13:10:31 +02:00
Igor Mišić 05f5ab7988 simulator_sih: increase stack size by 310 bytes 2023-07-24 13:10:31 +02:00
bresch eb9bcb0c28 update EKF2 change indicator
There is some actual changes because the earth mag field states are now
reset using the WMM when available. In the replay log, the measured mag
field does not match the WMM and this is why there is a large diff. It
is however more correct now than before.
2023-07-24 09:52:52 +02:00
bresch 99824c445c ekf2: add unit test for earth mag field reset to WMM 2023-07-24 09:52:52 +02:00
Daniel Agar c8738e3a0d ekf2: mag control cleanup mag reset 2023-07-24 09:52:52 +02:00
Daniel Agar 57b3c26ab0 Tools/simulation/gz: load ApplyLinkWrench plugin by default (#21874)
- this can be useful for applying arbitrary forces via ignition transport like hand launching a vehicle by throwing it in the air
2023-07-23 11:05:51 -04:00
bresch 1d96de5cf6 ekf2: add more unit tests for GNSS stopping control logic 2023-07-21 14:53:58 -04:00
Theotime Balaguer e195a3c0c6 fix issue #21727 2023-07-21 13:13:56 +02:00
Jukka Laitinen 485ec14246 px4_init.cpp: Properly check the return value of mounting procfs
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-07-21 07:30:15 +02:00
Matthias Grob 6889443bd7 temperature_compensation: use snprintf instead of sprintf
because sprintf is deprecated on MacOS
and CI fails with warning -> error:

'sprintf' is deprecated: This function is
provided for compatibility reasons only.
Due to security concerns inherent in the
design of sprintf(3), it is highly
recommended that you use snprintf(3) instead.
2023-07-20 13:18:45 +02:00
Junwoo Hwang a37e3e7b06 Compile Targets Actions: Buildalso on stable, beta, release branches (#21866) 2023-07-19 19:17:04 +02:00
Matthias Grob ce8dd2ba48 deploy_all: add git ownership workaround
See
a6d2c2cf5e
2023-07-19 19:09:13 +02:00
Matthias Grob 0c2a8266bc CI: use the same container versions consistently
I updated all versions to the newest one that's used anywhere.
Then at least the straing can be found with full text search.
It's another step towards understanding and unifying the CI environment.
2023-07-19 07:46:45 -07:00
Matthias Grob 39ab1f5809 generate_board_targets: use current version of each container
to consistently use container versions and fix the beaglebone build
in metadata deployment CI.
2023-07-19 07:46:45 -07:00
Matthias Grob 013856fac1 generate_board_targets: explicitly specify build containers
in order to have the right container version for each toolchain
currently for the metadata deployment GitHub actions build.
2023-07-19 07:46:45 -07:00
Daniel Agar ec9dce2e89 Update world_magnetic_model to latest Tue Jul 18 11:14:09 UTC 2023
* Update world_magnetic_model to latest Tue Jul 18 11:14:09 UTC 2023
* [AUTO COMMIT] update change indication


Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-07-18 14:29:08 -04:00
PX4 BuildBot 70826c5af4 update all px4board kconfig 2023-07-18 14:28:21 -04:00
PX4 BuildBot db591f25a6 boards: update all NuttX defconfigs 2023-07-18 14:27:37 -04:00
PX4 BuildBot 3f1740cb46 Update submodule sitl_gazebo-classic to latest Tue Jul 18 17:04:39 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (a3f398943e): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/0d53638452e6da4371c12599e1a649608361811e
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/c8ac7ff39b694832a3eee6ab568058c145f42c6f
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/0d53638452e6da4371c12599e1a649608361811e...c8ac7ff39b694832a3eee6ab568058c145f42c6f

    c8ac7ff 2023-07-18 Martina Rivizzigno - Add gimbal device id to mavlink messages DeviceAttitudeStatus and DeviceInformation (#994)
2023-07-18 14:26:35 -04:00
Daniel Agar b4687c27fe Jenkinsfile-compile board updates 2023-07-18 13:53:32 -04:00
Ramon Roche a3f398943e ci: update macos runner 2023-07-18 11:45:41 -04:00
Martina Rivizzigno 7f78ae449a update submodule mavlink to latest Thu Jul 6 10:14:36 2023
* remove MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET because removed from message def Auterion/mavlink@1c9949e
2023-07-18 11:37:32 -04:00
Beat Küng 8b780f2a96 airframes/x500_v2: move motors from AUX to MAIN 2023-07-18 11:13:16 -04:00
henrykotze b405a1aa49 advertise esc_status where is publishes
- esc_status is an optional logging topic resulting in it not being
logged if it doesn't get advertise -> Add advertise where applicable
2023-07-18 09:23:36 +02:00
Daniel Agar 45968c614e airspeed_selector: fix aspd typos 2023-07-17 20:37:46 -04:00
Daniel Agar c0a56ce268 airspeed_selector: fix groundspeed typos 2023-07-17 20:37:46 -04:00
bresch f5fd369ce8 [AUTO COMMIT] update change indication 2023-07-17 13:43:18 +02:00
bresch 1128ada90a ekf2: use correct AlphaFilter for 3D rotations 2023-07-17 13:43:18 +02:00
bresch 15bb8c0f2e AlphaFilter: add unit tests for Rot3 filtering 2023-07-17 13:43:18 +02:00
bresch c6aa82441f AlphaFilter: add quaternion specialization
Filtering 3D rotations require special care as they live on a curved space.
2023-07-17 13:43:18 +02:00
Silvan Fuhrer 88c5565a29 Commander: remove COM_ARM_ARSP_EN
Since we changed the threshold for allowing arming from TRIM/2 to AIRSPEED_MAX
is is very unlikely that one needs to disable this check.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-17 10:35:02 +02:00
Silvan Fuhrer decf1ac0a8 Commander/Nav params: clean up descriptions
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-17 10:35:02 +02:00
Silvan Fuhrer 351f2a8287 VTOL: remove VT_B_DEC_FF
Experience from tuning different VTOL backtransitions showed only having a
I controller is beneficial over a combined FF/I breaking controller.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-17 10:35:02 +02:00
Silvan Fuhrer 8fe5ce4f65 VTOL: param description clean up
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-17 10:35:02 +02:00
Beat Küng 327b7e611e boards/px4/fmu-v5/test: disable modules to reduce flash 2023-07-14 07:51:01 +02:00
Beat Küng 4a18baa4bd boards/mamba-f405-mk2: disable ekf components to reduce flash 2023-07-14 07:51:01 +02:00
Matthias Grob 83b832fdce ManualControl: fix case where mode switches unintentionally in air
Case: A vehicle is already operating but has no stick input or another
source than RC. When RC stick input is switched to either because it gets
first time available or as a fallback to joystick then the mode was
immediately changed to the switch position. This can lead to loss of
control e.g. when the vehicle is flying far away and the
mode switch of the RC is in some fully manual piloted mode.

I added tests to cover the cases where RC mode initialization is expected
and also unexpceted because the vehicle is already armed.
2023-07-13 12:00:35 +02:00
Matthias Grob 2235c40e28 ManualControl: add functional test for switch behavior
Using the established interface processInput() function.
2023-07-13 12:00:35 +02:00
Matthias Grob 877f37d79e ManualControlSelector: add parentheses in condition for clarity 2023-07-13 12:00:35 +02:00
Matthias Grob b19b0d0163 ManualControl: separate switches logic function + reset fix
Fix the previous switches initialized flag getting reset when no RC was
present or in use. This was found during functional testing.
2023-07-13 12:00:35 +02:00
Matthias Grob 3b2b60adde ManualControl: put input processing in separate testable function 2023-07-13 12:00:35 +02:00
Matthias Grob 8dc73c4621 ManualControl: correct manual control input subscription name 2023-07-13 12:00:35 +02:00
Matthias Grob 258fc786dc ManualControl: put parameter update into separate function 2023-07-13 12:00:35 +02:00
Matthias Grob 17535c288c ManualControl: correct CMake module definition
modules__ instead of module__ prefix
The module depends on the hysteresis library and probably because
it compiles with the still prevalent global includes the dependency
is not declared.
2023-07-13 12:00:35 +02:00
Matthias Grob 632596c1ea FlightTask: correct header comments 2023-07-13 12:00:35 +02:00
Matthias Grob 618724b409 Functional gtests: remove unnecessary subscription updates
A new subscription is updated on instanciation and no additional
update needs to be called for processing the first sample.
2023-07-13 12:00:35 +02:00
Sergei Grichine f000238987 SensorGps.msg: switch to double precision for lat/lon/alt
To match https://github.com/PX4/PX4-GPSDrivers/pull/132 - adding high precision RTK lat/lon/alt components
2023-07-13 07:50:09 +02:00
henrykotze f82785a322 CAN Filters for STM32H7 & bus-off handling 2023-07-12 11:56:37 -04:00
Loic Fernau f8c9be087b drivers: rework NXP UWB driver (#21124)
* UWB driver rework that uses 2 UWB MKBoards - 1 as Controller (Initiator), one as Controllee (Anchor)

Co-authored-by: NXPBrianna <108274268+NXPBrianna@users.noreply.github.com>
2023-07-12 11:44:23 -04:00
Matthias Grob 715a1ff701 Jenkins, docker_run.sh: use Debian 11 armhf container
also for the other linux target builds. It's a follow up to
e5503480e3
I wasn't aware that there are multiple different
container versions used for almost the same build.
2023-07-11 17:49:36 +02:00
bresch 9ebfed010f mag_cal: increase uncertainty of calibration parameters
in air bias estimation is usually really accurate and should be weighted
more heavily compared to the calibration parameters that are often
more approximate given the worse magnetic environment near the ground.
2023-07-11 11:33:53 -04:00
bresch 9e2e888f5e ekf2-bias_cal: reduce required stability period
For the mag, 30s of bias learning is a lot, given that it is only active
during turns and that it usually converges in < 5 seconds
2023-07-11 11:33:53 -04:00
bresch 2f52926972 mag_cal: fix mag bias estimate to mag cal
- since last_us is set to 0 every time the bias is not observable, the
  total time was also reset -> needed 30 consecutive seconds in mag 3D
  to be declared "stable"
- after landing, the mag_aligned_in_flight flag is reset. Using this for
  bias validity makes it invalid before we have a chance to save it to
  the calibration.
2023-07-11 11:33:53 -04:00
alexklimaj 69aa8689c0 Revert "rover_pos_control: thrust normalization for joystick input (#20885)"
This reverts commit 22f7d913bd.
2023-07-11 08:25:50 -07:00
bresch f5edff2647 ekf2 - preflt checks: scale flow innovation checks
Opt flow raw innovations can be really large on ground due to the small
distance to the ground (vel = flow / dist). To make the pre-flight check
more meaningful, scale it with the current distance.
2023-07-11 08:18:32 -07:00
bresch 672b29d555 ekf2: report dist bottom also when using flow for terrain
Terrain height can be estimated using a range finder and/or optical flow
2023-07-11 08:18:32 -07:00
alexklimaj 03528a6200 Add EKF2_OF_QMIN_GND to handle 0 optical flow quality when on ground 2023-07-11 08:18:06 -07:00
alexklimaj bca0be47bc Apply code review changes from @dagar 2023-07-11 08:18:06 -07:00
Eric Katzfey 9511248514 Removed the huge HAGL fuse timeout increase 2023-07-11 08:18:06 -07:00
Eric Katzfey f5d9ac4526 Cleaned up some comments and debug code 2023-07-11 08:18:06 -07:00
mjturi-mai 56c794108d actual fixes for velocity estimate errors and bad rng fusion 2023-07-11 08:18:06 -07:00
Matthias Grob 2dcb525cd9 RCUpdateTest: RC switch correct corner case test value
Co-authored-by: Junwoo Hwang <junwoo091400@gmail.com>
2023-07-11 15:58:48 +02:00
Matthias Grob 42fa41e601 rc_update: fix on-off-switch with negative threshold values 2023-07-11 15:58:48 +02:00
Matthias Grob 1fa5136e30 RCUpdateTest: add unit test for return switch 2023-07-11 15:58:48 +02:00
Matthias Grob 392d445783 RCUpdateTest: fix unit test parameters + restoring state after test
Channel values stay over one unit test but some tests assumed they are
reset each time. Reset the channel after these mode button tests.

Parameters survive between unit tests presumably as long as
the bianry runs. Reset them if a test requires that.
2023-07-11 15:58:48 +02:00
Matthias Grob e127ada07b rc_update: extend ModuleParams::updateParams() for local parameter updates 2023-07-11 15:58:48 +02:00
Matthias Grob 87c697a0d6 rc_update: switch back to protected scope and use fixture for testing 2023-07-11 15:58:48 +02:00
Silvan Fuhrer 81764c43a1 EKF2: use timestamp from argument of PublishEvPosBias() (#21822)
* EKF2: use timestamp from argument of PublishEvPosBias()

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* Update src/modules/ekf2/EKF2.cpp

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2023-07-11 11:07:39 +02:00
Matthias Grob 02ab5e0704 drv_pwm_output: remove unused PWM_ defines 2023-07-10 18:58:37 +02:00
Matthias Grob e776aca9ef UUV: stop motors when commanding zero speed 2023-07-10 18:58:37 +02:00
Matthias Grob 6b7aed3d44 Boats: stop motors when commanding zero speed 2023-07-10 18:58:37 +02:00
Matthias Grob 95a35c972d Rovers: stop motors when commanding zero speed 2023-07-10 18:58:37 +02:00
Matthias Grob 0be6069b83 TiltrotorVTOL: allow stopping front tilted motors in fast forward flight 2023-07-10 18:58:37 +02:00
Matthias Grob 66b451e61f TailsitterVTOL: allow explicitly stop forward motor with zero thrust 2023-07-10 18:58:37 +02:00
Matthias Grob 5568afbb12 StandardVTOL: explicitly stop forward motor with zero thrust 2023-07-10 18:58:37 +02:00
Matthias Grob 6b7b34a71a FixedWing: explicitly stop forward motor with zero thrust
This allows PWM and all other output methods to configure
stopped, idling and full thrust points and use them consistently.
The fact that a fixed wing motor can be stopped when zero thrust
is demanded is explicit and could in principle even be disabled.
The mechanism is the same as for a standard VTOL stopping the
multicopter motors in the fixed wing flight phase.
2023-07-10 18:58:37 +02:00
Matthias Grob 2a077181d9 ActuatorEffectiveness: add function to delectively stop motors with zero thrust 2023-07-10 18:58:37 +02:00
Matthias Grob a8bf47e606 Set default minimum and maximum PWM for motors
This allows to consistently define:
Motor stopped - disarmed PWM
Motor idling - minimum PWM
Motor at full thrust - maximum PWM

Any allocation can then distinctly decide if
a motor should be running or not depending
on the context and also explicitly command that.
2023-07-10 18:58:37 +02:00
xianglunkai 646f711b1a fake_magnetometer: add dpends=fake_magnetometer 2023-07-06 22:43:13 -04:00
Beat Küng 0d6cb46c83 lightware_laser_i2c: add SF30/D 2023-07-06 22:42:39 -04:00
bresch afa085da7f geofence: fix altitude change fence check
When asking for an altitude change only, the current position needs to
be used, otherwise the geofence check is be skipped
2023-07-06 22:39:39 -04:00
Julian Oes 745fa3720e fmu-v6x: build battery status
This is required to process data from the ADS1115 ADC and enables the
params BATx_I_CHANNEL and BATx_V_CHANNEL.

Testing is required whether this actually works on Pixhawk 6X though.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-07 13:40:58 +12:00
Vincent Poon e18da100ed Add ADC_ADS1115 Parameter to FMUv6x Default Build
Adding ADC_ADS1115 Parameter to FMUv6x Default Build to allow FMUv6X user to use ADS1115 with Analog Power Modules.
2023-07-07 13:40:58 +12:00
Antonio Sanjurjo C c1cb48c2ea EKF2 cleanup. Use MAX_NUM_x constants instead of hard-coded numbers
Signed-off-by: Antonio Sanjurjo C <74329840+antonio-sc66@users.noreply.github.com>
2023-07-06 09:36:27 +02:00
Patrick José Pereira 39e04d9712 lib: matrix: SquareMatrix: Deal with the special case of M=1
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-07-06 08:24:33 +02:00
Patrick José Pereira 724f5a97a9 platform: posix: px4: Add missing ctsdint include for uint8_t
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-07-06 08:24:33 +02:00
Julian Oes a6502c9f2b ROMFS: auto try RGBLED is31fl3195
This is required to auto-start the is31fl3195 driver if connected.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-05 20:49:39 +12:00
Thomas Stastny dccfcb85c1 (Mission) FeasibilityChecker: remove duplicate line 2023-07-04 11:17:23 +02:00
Silvan Fuhrer a617e9c54b Navigator RTL: run find_RTL_destination() only on_inactive
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-04 09:36:22 +02:00
Silvan Fuhrer f275085e84 Navigator: Loiter: always establish new Loiter with center at current pos
When switching into Hold mode establish a Loiter around current position,
even if we were before already loitering (eg in Mission mode).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-04 09:35:40 +02:00
Mathieu Bresciani 288e3ae74a EKF2: vision attitude error filter (#21791)
* ekf2-ev: filter q_error for frame correction
* ekf2: filter EV attitude error centrally
2023-07-03 11:13:59 -04:00
Andrew Brahim 24665f10f2 VL53L1X: fix scheduling (#21787)
* should be 50 Hz instead of 50,000 Hz

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2023-07-03 10:49:53 -04:00
Matthias Grob a36c922fc0 ActuatorEffectivenessHelicopterTest: adapt to new constructor 2023-07-03 16:21:27 +02:00
Beat Küng 77d6c722a7 helicopter: add tail servo support
as a separate CA_AIRFRAME, as the UI cannot switch between servo/motor.
2023-07-03 16:21:27 +02:00
Beat Küng bae413a332 v6x: start mavlink on TELEM2 for skynode
Equivalent to v5x
2023-07-03 16:20:41 +02:00
Igor Mišić abe0ca1307 boards/holybro/kakutef7: enable gps, osd, top, dmesg. Disable uxrce_dds 2023-07-03 11:22:33 +02:00
Igor Mišić f5193bb155 boards/holybro/kakutef7: enable rc serial singlewire 2023-07-03 11:22:33 +02:00
Igor Mišić 2307d4aa22 boards/holybro/kakutef7: remove px4_platform_config
kakutef7 doesn't use manifest
2023-07-03 11:22:33 +02:00
Harrison Gieraltowski 018ec97c41 mavlink_log_handler: handle _next_entry (#21784) 2023-07-03 10:30:07 +02:00
Igor Mišić bfa72a1bee rc.board_arch_defaults: add the silent flag for EKF2_MULTI_IMU 2023-07-03 10:08:26 +02:00
Matthias Grob b7e2a9c320 FlightTaskAltitude: remove duplicate, deprecated yaw stick handling 2023-07-03 09:52:47 +02:00
Matthias Grob 4d465533b5 FlightTaskManualAcceleration: remove duplicate yaw stick handling
It's already instanciated and ran by FlightTaskManualAltitude
which FlightTaskManualAcceleration inherits from.
2023-07-03 09:52:47 +02:00
Matthias Grob 03183ccacf mc_pos_control_params: remove forgotten trailing zeroes 2023-07-03 09:52:47 +02:00
Junwoo Hwang 0196241c10 stale action: Configure again (#21785)
Having newline between I think didn't apply the PR stale days setting of
30 properly (it was using 45)

And it seemd that unless I set the days-before-close to -1
intentionally, it would still close the Issue/PRs, as the default value
is 7 already.

Also updated version of the stale action to v8
2023-06-30 19:12:16 +02:00
Junwoo Hwang 3557644010 Stale action re-configure (still just debug mode) (#21783)
* Remove old stale bot yaml file

* Remove slack svg file (unused)

* Stale action: Only apply stale label, and no other actions

Respecting the opinion on
https://github.com/PX4/PX4-Autopilot/commit/fa9ac6ecf651232f3105ca124a2d2c54ab8620d0,
it seems reasonable to disable commenting feature, and just keep the
action only applying the `stale` label. This will reduce the noise /
email spams / ping pong fight with the stale bot (Action)
2023-06-30 17:18:43 +02:00
Junwoo Hwang 46b09acf0b Update Issue templates (#21779)
- Remove unnecessary text rendering, which made clicking log links
  harder
- Re adjust markdown elements to make it easier to read / intuitive when
  creating an issue
2023-06-30 16:45:05 +02:00
Silvan Fuhrer 4348dcce2a Navigator: loiter: remove unnecessary _loiter_pos_set (#21776)
* Navigator: loiter: remove unnecessary _loiter_pos_set

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* Navigator: loiter: remove commented line

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-06-30 15:40:20 +02:00
Matthias Grob a6d2c2cf5e Github Actions: add workaround for dubious ownership errors
until I figure out what a better solution
would look like.
See
https://github.com/actions/runner/issues/2033
2023-06-27 17:17:31 +02:00
Matthias Grob e5503480e3 GitHub Actions: use Debian 11 to build linux targets
This solves the CI problem related to the required cmake version
described here:
https://github.com/PX4/PX4-Autopilot/pull/21737#pullrequestreview-1489844308

See https://github.com/PX4/PX4-containers/pull/332
for the container changes.
2023-06-27 17:17:31 +02:00
Peter van der Perk e739afe362 MR-CANHUBK3 ADAP board support, add ADC support 2023-06-27 07:24:07 -04:00
Silvan Fuhrer e34993969b tiltrotor: expose tilting duration of backtransition in param
Instead of hard-coding the tilting duration (from FW to MC tilt),
expose it as a parameter (VT_BT_TILT_DUR). The default is the same
as the hard-coded value previously (1s).
Slower tilting mechanisms need a higher value here, while for smaller
ones a too high value results in unnecessary delays till the motors
are in hover configuration.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-27 10:11:41 +02:00
Silvan Fuhrer 05489f9ecf tiltrotor: reduce BACKTRANS_THROTTLE_UPRAMP_DUR_S to 0.5s
This reduces the motor ramp up time after a transitions is declared over.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-27 10:11:41 +02:00
Silvan Fuhrer c26b699f8a tiltrotor: reduce BACKTRANS_THROTTLE_DOWNRAMP_DUR_S from 1 to 0.5s
This affects how soon after a backtransition the vehicle has the
full hover controller running again. Specifically it reduces the
duration of the ramp down of the motors prior to tilting them.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-27 10:11:41 +02:00
Ramon Roche 98d8935034 drivers/barometer/invensense/icp201xx: increase delay after configuration (#21765)
- fixes wrong altitude reporting
2023-06-26 14:16:06 -04:00
bresch 8d1b0e45fa opt-requirements: bump SymForce version 2023-06-26 14:10:54 -04:00
bresch eb70c9f6f3 ekf2: update auto-generated code to SymForce 0.9.0 2023-06-26 14:10:54 -04:00
bresch fdf7867a3e ekf2: update derivation to SymForce 0.9.0 2023-06-26 14:10:54 -04:00
bresch c99f56f010 wind_estimator: update generated code to Symforce 0.9.0 2023-06-26 14:10:54 -04:00
bresch 73e5ff109c wind_estimator: update derivation to use SymForce 0.9.0 2023-06-26 14:10:54 -04:00
Matthias Grob 7e79d65aa4 mc_pos_control_params: clarify maximum vertical velocity parameters 2023-06-26 17:01:20 +02:00
Matthias Grob 439670444f mc_pos_control_params: more gain & velocity decimals, more clear wording 2023-06-26 17:01:20 +02:00
Matthias Grob a6a913bf25 mc_pos_control: remove trailing zeroes 2023-06-26 17:01:20 +02:00
Matthias Grob 54a351639c mc_pos_control: improve parameter metadata
- Adapted descriptions to be more clear
- Adjusted some limits and decimals
2023-06-26 17:01:20 +02:00
Matthias Grob d00ad1b815 mc_pos_control: separate parameter metadata into multiple files
because the original file was almost 1k lines and
the order of parameters more historical than after topic.
2023-06-26 17:01:20 +02:00
Matthias Grob 20d0661e87 HealthAndArmingChecks: disallow arming via parameter
COM_ARMABLE is set to "Disabled" will prevent arming.
 This allows to set the parameter when ground demoing a drone or
 if it's in maintenance for safety reasons.
2023-06-22 13:17:47 +02:00
Matthias Grob 173407581b HealthAndArmingChecks: reorder CMakeLists alphabetically 2023-06-22 13:17:47 +02:00
Sean Murphy 7ed90c6d0c ekf2: process_logdata_ekf.py fix reject_mag* and imu_coning* key errors 2023-06-21 21:08:43 -04:00
Josh Henderson a07d10704b ROMFS : POSIX Airframes reserve space for custom models 2023-06-21 21:06:07 -04:00
Matthias Grob 18d89e4bc1 lightware_lase_serial: fix pointer for enabling serial mode
const char *data = "www\r\n";
Defines a cstring of 6 bytes: 'w', 'w', 'w', '\r', '\n', '\0'

type of data: char const*
type of &data: char const**

So when we call
write(_fd, &data, strlen(data));
then strlen(data) == 5
and we send the 4 byte memory address of data
+ some additional random byte.

Correct is
write(_fd, data, strlen(data));
where char const* gets casted to const void * and we pass
the pointer to the content of data.

The fundamental problem here is write() not being typesafe.
2023-06-21 15:59:12 +02:00
Thomas Debrunner fd267fb9a5 param save: Add a blocking API for param saves to be used from shell. 2023-06-21 08:19:52 +02:00
Silvan Fuhrer 18f0311161 Navigator: Mission: improve survey mission resume
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-20 14:38:03 +02:00
Silvan Fuhrer 24b1ef93b2 Mission: reset mission on landing only if last item was reached
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-20 14:38:03 +02:00
Silvan Fuhrer c6870006c7 Navigator: move disable camera trigger on mission inactivation to seperate function
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-20 14:38:03 +02:00
Daniel Agar d9ae2ed7ac ekf2: regenerate yaw estimator symforce
- remove underscore uppercase variable naming that can be problematic
2023-06-19 21:00:25 -04:00
Silvan Fuhrer 2a48c1cb18 boards: disable gyro fft module for v4 to safe flash
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-19 16:22:42 -04:00
Beat Küng 65ad6afb08 Micro-XRCE-DDS-Client: update submodule
Go get https://github.com/eProsima/Micro-XRCE-DDS-Client/pull/359.
2023-06-19 16:05:36 -04:00
Silvan Fuhrer 4632fbd600 FWRateController: use param find for VT_DIFTHR_EN as pure FW build doesn't have VTOL module built
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-19 10:59:20 +02:00
Matthias Grob 69aebe650b FixedwingRateControl: rework VTOL differential thrust saturation
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-19 10:59:20 +02:00
Matthias Grob 53b9e66c66 RateControl: allow setting individual saturation flags
This helps for more complicated cases where certain axes are controlled
through and get feedback from a different allocator.
2023-06-19 10:59:20 +02:00
Beniamino Pozzan 957a06a780 Fix enum for COM_RC_IN_MODE in failsafe
add enum RcInMode

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-06-19 08:04:43 +02:00
Niklas Hauser 8fe65c6722 Driver: Refactor MCP23009 GPIO expander into uORB driver 2023-06-19 07:58:21 +02:00
Konrad 3303323971 mavlink stream: Heartbeat system status should neglect the actuator_armed.lockdown flag in HIL, since this is always enabled for HIL. 2023-06-16 14:21:32 +02:00
Matthias Grob 053d3020b0 esc_calibration: handle timeout wraps better
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2023-06-16 12:05:47 +02:00
Matthias Grob cfb24869e9 esc_calibration: allow to calibrate ESCs without battery detection
Before this the ESC calibration aborts if battery detection doesn't work.
The problem is if the user still connects the battery as he gets instructed
and the calibration aborts then the ESCs are in calibration mode and
after abortion calibrate to the wrong value.

Also I realized there's no additional safety by aborting the calibration
if the battery cannot be detected during the timeout because a pixhawk
board without power module will report a battery status from the
ADC driverand in it that no battery is connected which is the best
it can do. In this situation the motors will still spin if the
ESCs are powered.
2023-06-16 12:05:47 +02:00
Matthias Grob 4396b6e9f6 esc_calibration: adjust timing to work with all tested ESCs
Some ESCs e.g. Gaui enter the menu relatively quickly if the
signal is high for too long. To solve that it's kept high shorter.
Also all tested ESCs detect the low signal within a shorter time
so no need to wait longer.
2023-06-16 12:05:47 +02:00
Matthias Grob 6929493134 esc_calibration: Improve readability and robustness
- Change timings for a more reliable calibration.
- Make sure there's an error message when battery measurement is not
available also when it gets disabled after system boot in the power
just above the calibration button.
- Safety check if measured electrical current goes up after issuing the
high calibration value for the case the user did not unplug power
and the detection either fails or is not enforced.
2023-06-16 12:05:47 +02:00
Matthias Grob a28ad8e845 mixer_module: consistent PWM/oneshot calibration range 2023-06-16 12:05:47 +02:00
Matthias Grob 1ceca8f2cf actuator_test: condition order refactoring 2023-06-16 12:05:47 +02:00
Matthias Grob ffe0ec27e6 Unify MixingOutput constructor calls
to make them easy to search for and check the arguments.
2023-06-16 12:05:47 +02:00
Silvan Fuhrer fc357921fd navigator: send commands to anyone listening
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-12 09:41:28 +02:00
Junwoo Hwang 9b95330efc Github Issue: Replace Bug report to YAML 2023-06-09 21:18:28 -04:00
Junwoo Hwang 6b1f805b15 Issue Template: Move Feature request to YAML 2023-06-09 21:18:28 -04:00
Junwoo Hwang 89e8ba0b53 Issue Template: Switch to YAML for direct links 2023-06-09 21:18:28 -04:00
PX4 BuildBot bbc6ed43bd Update submodule sitl_gazebo-classic to latest Sat Jun 10 00:39:02 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (f9510557a6): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/2e3ed9bfb04d8865e59380afa575dd37b0d6c8e0
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/0d53638452e6da4371c12599e1a649608361811e
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/2e3ed9bfb04d8865e59380afa575dd37b0d6c8e0...0d53638452e6da4371c12599e1a649608361811e

    0d53638 2023-05-23 JaeyoungLim - Fix force visualization feature (#985)
9bfecb6 2023-05-22 JaeyoungLim - Fix readme displayed in github (#984)
2023-06-09 21:17:46 -04:00
alexklimaj 51a4eafe0c ARKV6X sync with FMUV6X 2023-06-09 21:17:12 -04:00
Matthias Grob 94d2140a4f mixer_module: remove unnecessary init state
That state only delayed the first arming by 50 miliseconds.
Was presumably a workaround for some issue very very early on.
See cc452834c0
2023-06-09 21:15:08 -04:00
Matthias Grob 0f256718d3 mixer_module: correct pwm ramp
Before:
When the mixed throttle for the motor was exactly zero the ramp went
from the disarmed PWM value to the minimum PWM value.

When the throttle was even just slightly different from zero the ramp
made a jump up to the commanded throttle scaled between
disarmed PWM and maximum PWM, then ramped between
disarmed PWM and minimum PWM and at the end jumped up again to
the commanded throttle scaled between minimum PWM and maximum PWM.

After:
The ramp goes from disarmed PWM value to the the
commanded throttle scaled between minimum PWM and maximum PWM.
If the commanded throttle changes during the ramp then the scale and
hence also end value of the ramp changes.
2023-06-09 21:15:08 -04:00
Mathieu Bresciani 24de623989 EKF2: Zero gyro update (#21691)
When at rest, directly fuse the gyro data as an observation of its bias.
This allows to strongly observe the gyro biases without having to fuse a
constant heading that makes the ekf too confident about its heading.
2023-06-09 21:13:18 -04:00
Beat Küng c95539e8ce boards: increase init stack size by 150B
External airframes need a bit more stack due to nested configs.
2023-06-09 21:11:11 -04:00
Beat Küng 7230a6dd8e commander: add option to exclude mag to param SYS_FAC_CAL_MODE 2023-06-09 21:05:40 -04:00
bresch 8b67fa91a1 factory cal: exclude _PRIO params 2023-06-09 21:05:40 -04:00
alessandro f9510557a6 always trigger all cameras 2023-06-09 13:17:45 +02:00
Morten Fyhn Amundsen 135f02679a ekf2: Fix description of EKF2_HDG_GATE 2023-06-09 11:52:55 +02:00
alexklimaj c3db4f57df Subscribe to all intances of gps_inject_data and mirror uavcan rtcm pub mirror gps driver 2023-06-09 14:51:28 +12:00
alexklimaj 5b8ae69f47 uavcan rtcm set max num injections 2023-06-09 14:51:28 +12:00
alexklimaj acd19a0520 Ublox add UBX-RXM-RTCM for RTCM input status 2023-06-09 14:51:28 +12:00
Beat Küng f119cca3b3 logger: restart on file write error
This can also happen if the maximum file size is reached.
2023-06-08 09:52:49 +02:00
Hamish Willee ea61d74c17 ADS1115: update docs (#21638) 2023-06-08 08:55:31 +02:00
mcsauder 1707805ed2 Remove the simulator SIH module from fmu-v5x test build and the fixedwing autotune module from the fmu-v5 test build to meet flash constraints. 2023-06-07 12:07:29 -04:00
mcsauder af44da25f0 Use accel of the same instance or primary baro for gyro instances that do not have valid temperature readings in temperature calibration data, use primary baro for magnetometers without valid temperature. 2023-06-07 12:07:29 -04:00
mcsauder b8ad9bdbe5 Add magnetometer thermal compensation. 2023-06-07 12:07:29 -04:00
oneWayOut 6ee2d796ea delete unused ECL_LIB_GIT_VERSION
Since 'ecl' is nomore a git submodule, code lines related to
'ECL_LIB_GIT_VERSION' could be deleted
2023-06-06 11:24:49 -04:00
Matthias Grob f4de43a10b PULL_REQUEST_TEMPLATE: fix typo 2023-06-06 17:22:33 +02:00
Matthias Grob b625e43566 rc_update: throttle trim centering fix for reverse channel
The entire logic did not work for the case when the throttle channel is
reversed because then QGC sets trim = max for that channel and
the result is only half the throttle range.
2023-06-06 17:22:33 +02:00
Julian Oes cd485b3a13 lights: Add LP5562 RGBLED driver
This adds support for the TI LP5562 RGB LED driver.

Things to note:
- The driver is initialized in simple PWM mode using its internal clock,
  for R,G,B, but not for W(hite).
- The chip doesn't have a WHO_AM_I or DEVICE_ID register to check.
  Instead we read the W_CURRENT register that we're generally not using
  and therefore doesn't get changed.
- The current is left at the default 17.5 mA but could be changed using
  the command line argument.

Datasheet:
https://www.ti.com/lit/ds/symlink/lp5562.pdf

Signed-off-by: Julian Oes <julian@oes.ch>
2023-06-06 13:12:44 +12:00
Eric Katzfey c468266b27 boards: Update modalai fcv2 board support (#21653)
* Removed obsolete voxl2-io directory
* Updated support for ModalAI FC v2 board
* Added UAVCAN back in and removed local position estimator and attitude estimator Q that are no longer supported.
* Removed unneeded IMU drivers
2023-06-05 12:42:46 -04:00
bresch 5233b33242 update change indicator 2023-06-05 11:58:42 -04:00
bresch 403a6310c4 gnss yaw: compare auto-generated Jacobian against autodiff 2023-06-05 11:58:42 -04:00
bresch c6b259d5f6 yaw_fusion: compare auto-generated Jacobian against autodiff 2023-06-05 11:58:42 -04:00
bresch d4528dc53a sideslip: compare auto-generated Jacobian against autodiff 2023-06-05 11:58:42 -04:00
bresch e7c4a22be8 mag_3d: compare auto-generated Jacobian against autodiff 2023-06-05 11:58:42 -04:00
bresch c6f1a63659 opt_flow: compare auto-generated Jacobian against autodiff 2023-06-05 11:58:42 -04:00
bresch d03f242c04 DCM: use simplified conversion from unit quaternion
This is exactly equivalent for a unit quaternion (and only unit
quaternions should be used to encode a rotation)
2023-06-05 11:58:42 -04:00
bresch 9d7abf2552 ekf2: symforce - use builtin Rot3 and Quaternion operations 2023-06-05 11:58:42 -04:00
Julian Oes ea8b985a2f netman: fix line too long
Signed-off-by: Julian Oes <julian@oes.ch>
2023-06-05 12:01:07 +12:00
Ramon Roche 2f448e9d9f netman: update module description (#21664)
Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2023-06-02 09:33:18 -07:00
Giacomo Bertelli 99f6d4190c Update sitl_multiple_run.sh (#21538)
Edited line to account for the fact that the file has been moved one level deeper in the folder tree (the same edit should be made in the documentation https://docs.px4.io/main/en/simulation/multi_vehicle_jmavsim.html)
2023-06-02 10:28:49 +02:00
Silvan Fuhrer a52c0fd9f5 FW TECS: reduce default for FW_T_I_GAIN_THR to more appropriate 0.05
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer 1c7320b9e3 VTOL: params: add missing @decimal and @increment
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer ac811450e5 Tiltrotor params: set default for VT_TILT_TRANS to 0.4
0.4 tilt is more reasobale to get nice transitions than
the previous 0.3.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer 8f64c79b4c FWAttitudeController: params: increases parameter ranges
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer 459f9c5331 Commander: open up limits on TRIM_ROLL/PITCH/YAW to +/- 50%
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer ad778b37f5 FWRateController: fix @group, all should be in FW Rate Control group
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer f41ad10275 FW Rate Controller: relax param ranges
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:23:46 +02:00
Silvan Fuhrer a1167d6c98 Navigator: make sure to reset mission.item fields touched by set_vtol_transition_item (#21641)
set_vtol_transition_item sets the params of the mission item directly
to values that make sense for NAV_CMD_DO_VTOL_TRANSITION, but don't
for other NAV_CMDs. So make sure that whenever we use it, we then in
the next step reset the touched mission_item fields.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-02 10:21:23 +02:00
Niklas Hauser ebe152fc22 fmu-v6x: Increase Mavlink UART buffers
Our serial_test showed only ~84kB/s with the default 256 RX buffer size
with significant ~2.5ms periods of the flow control RTS pin being
asserted. Increasing size to 600 (same as FMU-v5x) brings the throughput
only to ~190kB/s, while a size of >1500 achieves ~350kB/s. Larger RX
buffers do not increase throughput anymore, while the theoretical
maximum is 375kB/s.

Transmit buffer size is increased to 10kB same as on FMUv5x to prevent
any future differences in queue behavior and throughput. serial_test
showed ~350kB/s throughput at 3kB TX buffer size, so this is just a
precaution.
2023-06-01 07:55:21 +02:00
Eric Katzfey d2011e99b2 commander: add Open Drone ID arming check (#21652) 2023-06-01 07:52:52 +02:00
Silvan Fuhrer 4b5e14aeec Navigator: MissionFeasibilityCheck: check if items fit to the current vehicle type (#21602)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-31 19:27:27 +02:00
Roman Bapst d6413a6a90 Refactor uncommanded descend Quad-Chute (#21598)
* refactored uncommanded descend quadchute
- use fixed altitude error threshold
- compute error relative to higest altitude the vehicle has achieved
since it has flown below the altitude reference (setpoint)

* disabled altitude loss quadchute by default

* altitude loss quadchute: added protection against invalid local z


---------

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-05-31 17:57:50 +02:00
henrykotze fab58ee2bc cannode prearm by default enable on ArmingStatus
- ArmingStatus DroneCAN message STATUS field is only set to true based on
arming_status.armed

- Cannode prearm state is set to true always when ArmingStatus DroneCan
message is received
2023-05-31 11:20:31 -04:00
Beat Küng db18a94382 refactor param: reduce flash usage
Reduces usage by ~1.5KB
2023-05-31 07:45:20 +02:00
Beat Küng 1bfca24fa9 refactor param: move autosave to px4::wq_configurations::lp_default work queue
Changes initialization order as param_init now depends on wq manager
2023-05-31 07:45:20 +02:00
Beat Küng e65a0a01d6 fix WorkQueueManager: wait until running to prevent race conditions 2023-05-31 07:45:20 +02:00
Thomas Debrunner f0dd9fa445 param: Add contained-params-bitset export interface to the param layers
Allows for efficient looping over the contained data
2023-05-31 07:45:20 +02:00
Thomas Debrunner bc872822bc params: Overhaul param system to use a layered approach without locking
- Instead we disable interrups on Nuttx where needed
- No lock is held during param export. Params can be changed
  concurrently and we rely on the fact that another export will be
  triggered in that case.
2023-05-31 07:45:20 +02:00
alexklimaj 70178b66d8 Cannode add OSD drivers 2023-05-29 14:07:38 +02:00
Silvan Fuhrer f0b476bcba ROMFS: set default for VT_B_TRANS_DUR for all tailsitter configs to 5s
5s is a more reasobale time for tailsitters, which rely differently on this param
than other VTOL types. Tailsitters will ramp the pitch up withing this time,
while for other VTOLS types its only the max transitiont time.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-29 12:25:20 +02:00
Silvan Fuhrer ee19ec4670 ROMFS: tailsitter SITL config: improve tuning after model changes
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-29 12:25:20 +02:00
Silvan Fuhrer f96073f442 ROMFS: quadtailsitter SITL config: improve tuning
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-29 12:25:20 +02:00
Julian Oes 6977fd9956 ROMFS: initial quadtailsitter tuning
This is now using the advanced lift drag plugin.

The important step was to enable airmode for yaw, otherwise yaw gets
saturated at low throttle and we can barely roll.

The other trick was to raise airspeed a little bit to avoid operating
too much at the lower end of throttle where control authority is low.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-29 12:25:20 +02:00
JaeyoungLim e3aea937c3 Support quadtailsitter in SITL 2023-05-29 12:25:20 +02:00
Daniel Agar 6535cc758e ekf2: fuse mag update last heading fuse time if updating all states
- handle synthetic z special case
2023-05-26 08:48:08 -06:00
Silvan Fuhrer bd182ecf70 FWPositionControl: navigateWaypoints: fix logic if already past waypoint and need to turn back (#21635)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-26 15:12:42 +02:00
Silvan Fuhrer ad769db8d6 FW Rate Controller: allow to enable/disable yaw axis in Acro (#21566)
* RateControl: rename setGains to setPidGains to be more precise

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* FW Rate controller: only allow to disable Yaw in Acro, not roll and pitch

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-26 15:09:29 +02:00
Alex Klimaj ee96d209d7 drivers/uavcannode: add GNSS Auxiliary publisher 2023-05-24 21:27:50 -04:00
Junwoo Hwang 822d784335 Create stale bot (Github actions) (#21630) 2023-05-24 10:13:40 +09:00
Loïc Dubois 1b9d90e7c4 mavlink: fix mismatch between header macros and class used 2023-05-23 20:44:32 -04:00
alexklimaj dc99a875c3 Mavlink receiver unadvertise all
uorb multi pubs in destructor
2023-05-23 18:40:06 -06:00
Matthias Grob c903288f4c ManualControlSelectorTest: adapt to using input validity flag 2023-05-23 17:24:17 +02:00
Matthias Grob 7b6f45079b ManualControl: use input validity flag to check for RC calibration 2023-05-23 17:24:17 +02:00
Matthias Grob 7d0596d244 RCInput: follow topic name convention 2023-05-23 17:24:17 +02:00
Patrick José Pereira 8feb662557 systemcmds: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira 09f282b282 temperature_compensation: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira 5fff0526cf rc_update: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira 837847f3ad mavlink: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira ca1d32a29d HealthAndArmingChecks: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira cee21bd703 sensor_calibration: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira 643d89f54b uORB: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Patrick José Pereira dc2428a348 px4_log: Use snprintf over sprintf
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2023-05-22 07:46:54 +02:00
Daniel Agar bb0f2875a9 ekf2: disable multi-EKF across mags by default (H7 & SITL) for now
- re-enable once the estimator selector respects configured mag
priority (at least initially) or is otherwise able to automatically
prefer an external mag over internal
 - for SITL disabled because the full matrix of esitmator instances
(IMUs X mags) was too many topics for logger currently
2023-05-19 18:35:57 -06:00
PX4 BuildBot 74105907c9 Update submodule mavlink to latest Fri May 19 12:38:47 UTC 2023
- mavlink in PX4/Firmware (0ff9816579d1c5a4086ec7b9d05fe7a79c410df2): https://github.com/mavlink/mavlink/commit/3ee5382d0c96134b0e1c250d8c2d54bfed0166fa
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/18955a04c7c7467e00ea42b704addb4a9c12b53a
    - Changes: https://github.com/mavlink/mavlink/compare/3ee5382d0c96134b0e1c250d8c2d54bfed0166fa...18955a04c7c7467e00ea42b704addb4a9c12b53a

    18955a04 2023-05-11 Nick Exton - common.xml: Add MAV_RESULT_COMMAND_LONG_ONLY and MAV_RESULT_COMMAND_INT_ONLY to MAV_RESULT (#1982)
b92321ba 2023-03-30 Hamish Willee - Update message_definitions/v1.0/common.xml
58ff70f4 2023-03-30 Hamish Willee - COMMAND_ACK progress/result_param2 clarification
31b4aebb 2023-05-11 Julian Oes - cmake: locally install pip dependencies (#1984)
e9bf6a61 2023-05-10 Hamish Willee - Gimbal manager messages - remove WIP tagging (#1980)
0416967f 2023-05-10 Beat Küng - development: changes to standard flight modes (#1915)
ce00667f 2023-05-04 Jonas Vautherin - New cmakelists (#1977)
fdef5cc0 2023-05-03 Nick Exton - common.xml: Prefer COMMAND_INT when command includes altitude field (#1983)
89676d1d 2023-05-03 Nick Exton - common.xml: Add ZOOM_TYPE_HORIZONTAL_FOV to CAMERA_ZOOM_TYPE enum (#1979)
2023-05-19 08:41:38 -06:00
PX4 BuildBot 6c9dcd535c Update submodule devices to latest Fri May 19 12:38:42 UTC 2023
- devices in PX4/Firmware (6a645f244654695f3b178b576f7f8972f87ad774): https://github.com/PX4/PX4-GPSDrivers/commit/7d19f689f0781ef4fcaa624b318fac3fe744e59b
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/99f5960eca66150e33dc277e71a4c99187c27ddc
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/7d19f689f0781ef4fcaa624b318fac3fe744e59b...99f5960eca66150e33dc277e71a4c99187c27ddc

    99f5960 2023-05-02 Eric Katzfey - sbf: fixed compile errors for Qurt platform (#129)
2023-05-19 08:41:21 -06:00
PX4 BuildBot 8ae7720569 Update submodule sitl_gazebo-classic to latest Fri May 19 12:38:32 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (599a66c8a5): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/3f2b9678af781bccb621dde5b75bb2b59419dcc7
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/2e3ed9bfb04d8865e59380afa575dd37b0d6c8e0
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/3f2b9678af781bccb621dde5b75bb2b59419dcc7...2e3ed9bfb04d8865e59380afa575dd37b0d6c8e0

    2e3ed9b 2023-05-14 JaeyoungLim - Add Quadtailsitter model based on the swan K1 (#982)
670d4d2 2023-05-12 Julian Oes - airspeed: rotate tube so it faces forward (#981)
803254d 2023-05-11 Julian Oes - tailsitter: add valid inertia, fix CG (#980)
6fd1d17 2023-05-09 JaeyoungLim - Fix advanced plane model (#979)
506f10c 2023-05-05 Julian Oes - iris: move IMU and GPS where they are (#978)
2023-05-19 08:41:03 -06:00
Peter van der Perk 9a17fddc31 Hardfault_log progmem always clear when re-arming 2023-05-19 08:40:07 -06:00
Daniel Agar bcf87b4b35 Tools/HIL/test_airframes.sh remove gps stop (not present everywhere) 2023-05-19 10:35:26 -04:00
Silvan Fuhrer 599a66c8a5 Tailsitter: make pitch angle thresholds for transition in Stabilized depending on max manual pitch
Transitions in Stabilized mode are done manually, the pilot controls the pitch angle
and if it's above the threshold the transition is declared finished (plus airspeed
check for front transition). Thus we can't have fixed thresholds but need to link
them to the actual max pitch angle in Stabilized mode.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-16 10:12:24 +02:00
Silvan Fuhrer 1ddacec36b FW Att/Rate controller: move max attitude params to Att Controller params
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-15 14:35:34 +02:00
Silvan Fuhrer bf25d8b180 FW Position Controller: increase default of FW_T_SPD_DEV_STD to 0.2
We currently fuse 0 as airspeed rate measurement, and thus simply low-pass
filter the airspeed measurements. Testing has shown that the current default
on the airspeed rate measurement noise is set to low, and thus the airspeed
mesurement is filtered too much.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-15 13:54:11 +02:00
Silvan Fuhrer 77d09785f3 TECS: init _velocity_control_traj_generator properly
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-15 13:53:32 +02:00
bresch 616a71a959 MC_auto: avoid yaw step if previous setpoint is NAN
A VTOL plane in MC mode has no yaw setpoint during takeoff because of
weather-vane. To align for the front transition, the yaw target jumps
and caused a step in the controller, making it reach saturation.

With this commit, the previous yaw setpoint is set to the current yaw
when no yaw setpoint is sent in order to create a smooth yaw trajectory
starting at the current orientation when yaw target is suddenly finite.

The yawspeed filter also now contains the yaw speed instead of dyaw in
order to prevent chattering due to dt jitter.
2023-05-12 13:42:09 +02:00
Silvan Fuhrer f19b81880f VTOL: adapt VT_QC_T_ALT_LOSS param
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-12 11:10:43 +02:00
Silvan Fuhrer 06713cb655 VTOL: only run front transition alt loss QC if altitude is controlled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-12 11:10:43 +02:00
Silvan Fuhrer c1d94c7f05 VTOL: extend front transition QC to first 5s after completing transition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-12 11:10:43 +02:00
Silvan Fuhrer 0d156f84e6 VTOL: fix transition quadchute below home
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-12 11:10:43 +02:00
Silvan Fuhrer 233d901934 VTOL: align setting of _tecs_running_ts on all VTOL types
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-12 11:10:43 +02:00
Alejandro Hernández Cordero be03b7f098 Allow to modify uxrce_dds_client port with a env var
Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
2023-05-10 08:17:56 -07:00
JaeyoungLim 47e802ef92 Fix tailsitter control frames (#21573) 2023-05-10 22:33:53 +09:00
Silvan Fuhrer 951f89c8a8 FWPosControl: constrain min pitch to FW_TKO_PITCH_MIN in takeoff state
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 14:23:12 +02:00
Silvan Fuhrer 9c42dcbb0b ROMFS: plane_catapult: enable launch detection and set IDLE to 0.1 to detect arming
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 14:23:12 +02:00
Silvan Fuhrer 87c8f170ae ROMFS: FW simulations: remove re-declaration of params to vehicle default
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 14:23:12 +02:00
Silvan Fuhrer 6fb55a8ad8 ROMFS: remove param RWTO_TKOFF from configs where only set to default again
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 14:23:12 +02:00
Silvan Fuhrer cad61fcb84 ROMFS: remove outdated param FW_LND_AIRSPD_SC from all simulation configs
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 14:23:12 +02:00
Silvan Fuhrer ab71ef4447 FW Rate Controller: fix manual tailsitter (only transform to body frame once) (#21565)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-10 09:29:02 +02:00
Daniel Agar 8222cbca2c ekf2: last range sensor simple timestamp protection
- sanity check againist potential timestamp issues with incoming
distance_sensor data
2023-05-09 12:02:42 -04:00
Morten Fyhn Amundsen 04c5d70588 matrix: Describe emult, edivide functions 2023-05-09 16:14:55 +02:00
Silvan Fuhrer 4cd078409d AirspeedValidator: disable innovation checks if lpos invalid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-08 21:46:45 -04:00
Mathieu Bresciani 1e4fcfc614 mc_pos_control: fix potential thrust spike on hover thrust change
Co-authored-by: Josh Henderson <hendjoshsr71@gmail.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-05-08 21:42:25 -04:00
Thomas Debrunner da14650aa2 ads1115: Probe for reset value before init, do not spam console on device lost 2023-05-08 16:47:34 +02:00
PX4 BuildBot 38505c80be update all px4board kconfig 2023-05-08 08:48:48 -04:00
Julian Oes 636c3c069f gimbal: make device ID a clear out argument
The API is cleaner if the control_data is const reference and the device
compid is an explicit output argument.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-08 07:06:37 +02:00
muramura 3c45b184d3 gps: Improve the FALSE setting of the ALREADY_COPIED variable 2023-05-08 07:04:11 +02:00
Julian Oes ddfc2986dc mavlink: flow control param needs reboot
Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-07 21:48:27 -04:00
alexklimaj 000a3c10e2 Add ADIS16507 params 2023-05-06 17:11:42 -04:00
alexklimaj b12f5c4e31 adis16507 group delay should be subtracted from timestamp_sample 2023-05-06 17:11:42 -04:00
alexklimaj 2cef8a03d4 ARKV6X add ADIS16507 2023-05-06 17:11:42 -04:00
Silvan Fuhrer d2ca763d23 Navigator: set cruise_speed to default on entering new mode (#21503)
The resets in the modes (eg Loiter mode) are not active yet, so manually
set rep->current.cruising_speed = -1.f if not already in the same flight mode.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-05-05 15:53:17 +02:00
Julian Oes 40324b03f4 fmu-v6x: pulldown on RTS not required
On CTS with DMA, we need the pulldown but not on RTS.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-05 02:49:25 -04:00
Julian Oes 3cc940cb06 fmu-v6c: fix Telem1, Telem2 without flow control
When flow control is used together with DMA, we need to add a pulldown
to CTS. Without it, it assumes flow control and gets stuck when
CTS is not connected.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-05 08:02:58 +12:00
Beniamino Pozzan 9e5420bbbd microdds_client: rename to uxrce_dds_client
| | old version | new version (second proposal) |
|-|-|-|
| module name | `microdds_client` | **`uxrce_dds_client`** |
| strings / comments about the module | non consistent | **UXRCE-DDS Client** |
| menuconfig option | `MODULES_MICRODDS_CLIENT` | **`MODULES_UXRCE_DDS_CLIENT`** |
| module parameters group name | `Micro XRCE-DDS` | **UXRCE-DDS Client** |
| module parameters name prefix | `XRCE_DDS_` | `UXRCE_DDS_` |
| module class name | `MicroddsClient` | **`UxrceddsClient`** |
|`init.d/rcS` whenever the module is mentioned | `microdds` | **`uxrce_dds`** |
| main doc page name | XRCE-DDS (PX4-FastDDS Bridge) | **uXRCE-DDS (PX4-micro XRCE-DDS Bridge)**|
| environment variable to have custom namespace in simulation | PX4_MICRODDS_NS | **PX4_UXRCE_DDS_NS** |

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-05-03 11:51:53 -07:00
Julian Oes 1d4b66fcbc gps: use all injection data
When we fall back to another link, we are already doing a uORB copy when
checking the data. Therefore, we should further down use/send that data
instead of overwriting it immediately.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 2fd3de8f45 gps: retry switching RTCM injection more often
I don't think it makes sense to slow down switching RTCM injection to
once every 5 seconds. If we don't have corrections, we should check and
use whatever we get as soon as possible.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 6108b31e6a gps: reset RTCM instance
We need to reset the instance after looping through all instances.
Otherwise, we are left with the last instance if none is valid but have
not updated the _selected_rtcm_instance which is what is logged.

Therefore, this change fixes the logged RTCM instance.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
David Sidrane b6f19d5e9b Added is31fl3195 LED Driver 2023-05-02 10:50:24 -04:00
David Sidrane 409c1bbf7a PX4 icm42688p:Add Support for the ICM42686
icm42688p:Fix colission on custom1 from rebase
2023-05-02 10:50:24 -04:00
SalimTerryLi 9c467198be module_config: support custom actuators_metadata backed by module-level params 2023-05-02 10:09:52 +02:00
SalimTerryLi 7eb6535273 driver/rc/crsf: fix print format for Linux platform 2023-05-01 17:36:26 -04:00
PX4 BuildBot 2a93875a5f Update submodule libevents to latest Mon May 1 12:39:12 UTC 2023
- libevents in PX4/Firmware (406dc9b62627aec0c14df2d1e6d09b849f12487f): https://github.com/mavlink/libevents/commit/48911e7be752a908a15d945b796ed8d8282b7b02
    - libevents current upstream: https://github.com/mavlink/libevents/commit/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35
    - Changes: https://github.com/mavlink/libevents/compare/48911e7be752a908a15d945b796ed8d8282b7b02...a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35

    a9a3fc0 2023-03-31 Beat Küng - README: update link to initial design doc
fb630b3 2023-03-30 Beat Küng - pylint: fix 'Raising too general exception' errors
72108eb 2023-03-29 flickering-light - Unused content variable fix
2023-05-01 13:40:00 -04:00
PX4 BuildBot e8d12e26c2 Update submodule mavlink to latest Mon May 1 12:39:14 UTC 2023
- mavlink in PX4/Firmware (487c2b03cae972f42a9fe7c397f6949fed63ca3d): https://github.com/mavlink/mavlink/commit/d6d86d3f0c90a67c275d6833931f7c712b858dba
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/3ee5382d0c96134b0e1c250d8c2d54bfed0166fa
    - Changes: https://github.com/mavlink/mavlink/compare/d6d86d3f0c90a67c275d6833931f7c712b858dba...3ee5382d0c96134b0e1c250d8c2d54bfed0166fa

    3ee5382d 2023-04-20 Peter Barker - common.xml: exclude any stored home location from MISSION_CURRENT.total (#1976)
e0f59ae2 2023-04-13 Hamish Willee - Remove WIP from gimbal device messages/commands (#1973)
181346b5 2023-04-12 Peter Barker - common.xml: remove MAV_CMD_ACK (#1972)
2023-05-01 11:11:15 -04:00
PX4 BuildBot 432ce45ef0 Update submodule sitl_gazebo-classic to latest Mon May 1 12:38:59 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (4bb4bc185b): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/1c5818e56c2f54ca16f465fbf43580b1b6f3ece0
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/3f2b9678af781bccb621dde5b75bb2b59419dcc7
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/1c5818e56c2f54ca16f465fbf43580b1b6f3ece0...3f2b9678af781bccb621dde5b75bb2b59419dcc7

    3f2b967 2023-04-11 JaeyoungLim - Ignore sdf validation for land_pad (#977)
a91e4fd 2023-04-11 Jonas Perolini - Add support for camera and new land pad in irlock simulation (#950)
8fcd3cf 2023-04-10 JaeyoungLim - Remove bionic related tests (#974)
2023-05-01 11:10:37 -04:00
Julian Oes 3f13a6e787 gimbal: implement gimbal_device_id
It turns out that I had omitted implementing the gimbal_device_id which
is the component ID of the gimbal device that the gimbal manager (in
this case PX4) is responsible for.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-01 09:02:25 -04:00
muramura b23eee40f0 bmi088: Do not use invalid values 2023-05-01 09:02:04 -04:00
Daniel Agar f0bea542d5 Update world_magnetic_model to latest (#21533)
* Update world_magnetic_model to latest Mon May  1 11:14:06 UTC 2023
* [AUTO COMMIT] update change indication

Co-authored-by: PX4BuildBot <PX4BuildBot@users.noreply.github.com>
2023-05-01 08:59:55 -04:00
PX4 BuildBot b74e929877 update all px4board kconfig 2023-05-01 08:59:08 -04:00
murata,katsutoshi 4bb4bc185b commander: level calibration delete unused SENS_BOARD_ROT param access 2023-04-30 21:36:43 -04:00
bresch 521abecbbf ekf2: remove all remaining uses of EKF2_AID_MASK 2023-04-28 22:31:17 -04:00
bresch 98a8d080b6 ekf2 params: fix my bad english 2023-04-28 22:31:17 -04:00
bresch 2a2e43b620 ekf2: move flow fusion activation from AID_MASK to OF_CTRL 2023-04-28 22:31:17 -04:00
bresch 39c2f95669 ekf2: move drag fusion activation from AID_MASK to DRAG_CTRL 2023-04-28 22:31:17 -04:00
Roman Dvořák 8b4566b6bb drivers/hygrometer/sht3x: extend alert range (#21521) 2023-04-28 10:33:06 -04:00
AlexKlimaj eb8342b477 ARK Cannode fix empty rc.serial 2023-04-28 09:31:31 -04:00
Daniel Agar b8b80e409f boards: px4_fmu-v5x_test remove drivers/telemetry to save flash 2023-04-27 20:14:26 +02:00
Daniel Agar 5b0b46ff55 boards: px4_fmu-v5x_default disable LPE and ATTQ to save flash 2023-04-27 20:14:26 +02:00
Andrew Wilkins cdc717be53 Speed reset when switching flight modes (#21414)
* speed reset between flight modes

* no whitespace
2023-04-27 17:32:43 +02:00
Silvan Fuhrer bfc1e36f45 Standard: fill att_sp.thrust[0] with _pusher_thr value during transition to FW (#21520)
Once passed the transition and in FW mode, it takes some ms unitl the FW att sp is updated
by the FW att controller. During this time the last published attitude sp is kept bein used,
which is the one that was published during transition. So let's fill the thrust[0] of it.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-27 17:30:36 +02:00
Yannick Fuhrer f76399be5e vtol_type: scale VT_TRANS_TIMEOUT with air density (#21509) 2023-04-27 09:22:04 +02:00
Julian Oes 0afd93a9e9 gimbal: add control setter and status
This adds the ability to manually set who has primary control over a
gimbal and also adds printing it as part of the status.

This is helpful, especially while working on the QGC gimbal v2
implementation.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-26 08:20:34 +02:00
Eric Katzfey 36877b9efc Added crosshairs to MSP OSD driver 2023-04-25 13:49:42 -04:00
SalimTerryLi a46ef72fff Makefile: validate_module_configs skips src/lib/events/libevents/* 2023-04-25 07:51:25 +02:00
Silvan Fuhrer 08782a0837 reset vroi when resetting misson on landing and run set_current_mission_item()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-21 07:47:58 +02:00
Silvan Fuhrer 55faa8cb2d mission: only run update_mission() if mission is updated, not when we want to reset
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-21 07:47:58 +02:00
Christian Rauch e76c2b6a43 delete unused mavlink_px4.py & fix typos in VehicleCommand (#21332)
This file is not used anywhere neither in PX4-Autopilot, nor in the docs.

---------

Co-authored-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-04-20 07:50:58 +02:00
Hamish Willee 51f71909d4 Update ekf2_params.c - typo EKF2 aid mask 2023-04-19 17:11:47 -07:00
Eric Katzfey 0934d3bf24 VOXL2 snapdragon spektrum rc refactor (#21427)
* Replaced outdated snapdragon_spektrum_rc and spektrum_rc drivers with VOXL2 board specific spektrum_rc driver
2023-04-19 11:22:43 -04:00
Eric Katzfey 018ca6b49d VOXL2 board support updates (#21426) 2023-04-19 11:21:02 -04:00
Thomas Stastny cb66c48876 drivers/gps: increase stack to handle gps dump config for RTCM output (PPK) 2023-04-19 17:08:15 +02:00
Silvan Fuhrer b874eaf5f9 VTOL: remove deprecated VT_B_TRANS_THR
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer db379c9049 airframe configs: remove params set to default in custom config from configs
Removes duplication.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer 9975db2d2f airframe configs: disable airspeed CBRK in rover and UUV defaults
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer 88bf18a2fe airframe configs: remove custom tuning if close to param default and not required due to hardware
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer cbbd514c1b VTOL: increase default of VT_B_TRANS_DUR to 10s
A default of 10s makes more sense compared to the old 4s, as this is only the
max time of a back transition and it's also decleared completed if the
speed drops below the hover cruising speed (MPC_XY_CRUISE).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer f2c392e187 VTOL configs: reset TECS gains to default
There have been substantial TECS changes lately, and the config files
for custom VTOLs have not been updated since a long time. I would thus
rather use the default TECS gains for lightly maintained configs.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-19 10:22:10 +02:00
Silvan Fuhrer 885bb7659b navigator_main: orbit in FW: get_cruising_speed() (#21484)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-18 16:01:24 +02:00
Julian Oes 09d86085bd kakute f7/h7/h7mini/h7v2: enable airspeed
Without this airspeed sensors are not working which is not intuitive.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-18 07:45:52 +02:00
Eric Katzfey 73db1a02ca modal_io: add rpm unit to parameters (#21473) 2023-04-18 07:41:45 +02:00
Beniamino Pozzan 89a00f9505 rcS-posix: use ROS_DOMAIN_ID to set XRCE_DDS_DOM_ID
set XRCE_DDS_KEY to MAV_SYS_ID to avoid collisions

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-04-17 20:21:05 -04:00
Daniel Agar a11cced4b2 drivers/ins/vectornav: fix attitude (quaternion) and GPS packet extract 2023-04-17 11:18:00 -04:00
Matthias Grob 5c1e0ddd96 FlightTaskTransition: use new 2D rotation 2023-04-15 21:57:40 +02:00
Matthias Grob 7ebd6cc74f FlightTaskManualPosition: use existing stick library rotation 2023-04-15 21:57:40 +02:00
Matthias Grob 7b850a91b4 Sicks: use new 2D rotation 2023-04-15 21:57:40 +02:00
Matthias Grob 43850c24a1 AttitudeControl: remove unnecessary scope operator 2023-04-15 21:57:40 +02:00
Matthias Grob 37d3218d11 matrix: add 2d rotation matrix 2023-04-15 21:57:40 +02:00
Matthias Grob c74322fc15 Pull request template: add changelog entry 2023-04-15 16:47:30 +02:00
Matthias Grob 1e94ad19c0 FlightModeManager: rework task starting
with the goal to make it more clear and the error only appear when
armed but every time the running task doesn't actually match
the mapping inside the start_flight_task() function.
2023-04-15 16:45:32 +02:00
JaeyoungLim b02a785033 microdds: add the position_sp_triplet to the dds topics (#21449)
- Position setpoint triplets can be useful for offboard processes to understand the intention of navigator
2023-04-14 13:37:45 -04:00
Silvan Fuhrer da519573d4 FWPositionControl: trim throttle calc: guard against min/max=trim airspeed (#21469)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-14 11:55:23 +02:00
Silvan Fuhrer bc560ddddb RTL: fix Mission RTL vs normal RTL (#21464)
* Navigator: on_mission_landing() only can return true if currently in mission mode

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* RTL: reset RTL state when not in RTL nav_state

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* Navigator: fix mission vs. normal RTL

- remove extra state _should_engange_mission_for_landing from rtl and have
this logic outside of RTL where Navigator decides on running mission RTL or normal RTL
- fix logic in Navigator to decide mission RTL vs normal RTL

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* Mission: land_start(): fix decision if already on mission landing

Simply checking landing() is not enough, as that is not reset until
set_current_mission_index(get_land_start_index()) later in the function.
Instead ask Naviator about it (on_mission_landing()).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* Navigator: only update _shouldEngangeMissionForLanding once, to not set it to false after VTOL backtansition

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-14 09:49:47 +02:00
alexklimaj 752e3b450d Update GPS submodule 2023-04-14 07:35:43 +02:00
Thomas Stastny 82fd2987c9 fw pos control: revert name until we delineate this module a bit more (#21442) 2023-04-13 17:00:04 +02:00
Beat Küng a2ce73d39d px4/fmu-v6x: increase BL baudrate for flashing via uart to 1500000 2023-04-13 07:46:49 +02:00
Beat Küng 989d9243b7 fix control_allocator: correct PRINT_MODULE_USAGE_NAME 2023-04-13 07:46:09 +02:00
Seppe Geuens 7e0f929ad1 gps: add sbf with heading (#19374)
Co-authored-by: Seppe Geuens <seppe.geuens@tii.ae>
2023-04-13 07:44:35 +02:00
Beniamino Pozzan 98026a3e10 gz_bridge: fix missing orientation and frames in odometryCallback (#21348)
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-04-12 22:46:16 +02:00
TheotimeBlg 67d03461d1 Port px4vision airframe to gz environment (#21409)
* Port of the PX4 Vision gazebo-classic model to Gazebo. With Gazebo Garden, everything seems functionnal.

* Port of the PX4 Vision gazebo-classic model to Gazebo.

With Gazebo Garden, everything seems functionnal.

* Added airframe for command make px4_sitl gz_px4vision

* revert author field

* Import model from Ignition Fuel instead of defining it directly in the .sdf
2023-04-12 18:46:49 +02:00
Daniel Agar 1234aae3df gimbal: output RC fix actuator_controls_2 -> gimbal_controls regression (#21460)
- small typo introduced in https://github.com/PX4/PX4-Autopilot/pull/20837
2023-04-11 22:03:42 +02:00
Damien SIX 958c202137 fix timesync source for DDS protocol 2023-04-11 09:13:48 +02:00
Shaun C ab1e0caae9 Add NAV_CMD_DO_SET_ACTUATOR to mission commands 2023-04-11 08:12:18 +02:00
Claudio Micheli 9821513a0a sensors module: add 3 decimals to all the type:float params
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2023-04-11 08:11:04 +02:00
Jaeyoung Lim cbe611ce66 Update mavlink submodule to latest 2023-04-11 07:44:10 +02:00
Jacob Dahl 7f251d0935 fixed incorrect string-from-error function usage causing build failure 2023-04-11 10:04:43 +12:00
Julian Oes 0cfe135028 cubeorangeplus: enable bl_update
This way the bootloader can be updated.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-10 15:19:25 +12:00
Julian Oes 728367a1dc cubeorange: enable bl_update
This way the bootloader can be updated.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-10 15:19:25 +12:00
bresch 17806a9608 ekf2: robustify wind init using airspeed
Tests showed that sideslip fusion often starts just before airspeed
fusion, resetting the wind states to 0 instead of using the airspeed
data. A quick look at the wind uncertainty allows to know if the current
wind estimate is meaningful or if we should rather reset it using the
airspeed data.
2023-04-08 14:12:21 +02:00
Silvan Fuhrer 8f520ab019 tecs: fix throttle prediction (#21444)
* tecs: fix throttle prediction

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Thomas Stastny <thomas.stastny@auterion.com>
2023-04-06 20:13:32 +02:00
Silvan Fuhrer 460956fd33 TECS: revert altitude controller to old logic
- if the height rate input into TECS is finite, use that one to
update a velocity reference generator
- if the velocity reference generator reports position locked or
height rate input is not finite, then run altidue reference generator
- run altitude controller only if altitue is controlled

if height_rate_setpoint is set, only use that one to update altitdue trajectory

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Silvan Fuhrer dde656f4b1 TECS status: rename tecs_status.altitude_filtered to altitude_reference
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Silvan Fuhrer f06150bf0c FWController: write out tecs_status
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Silvan Fuhrer 60cd20c19c TECS: make more readable
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Silvan Fuhrer 2d01cf63ce TECS: rename _reference_model to _altitude_reference_model
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Silvan Fuhrer beeae1f673 TECS: rename TECSReferenceModel to TECSAltitudeReferenceModel
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 20:12:52 +02:00
Daniel Agar 0fa0e2f583 drivers/ins/vectornav: comment out redefined and remove -Wno-error 2023-04-06 14:06:57 -04:00
Daniel Agar cbc067f235 boards: include INS drivers by default on PX4 FMU (eg VectorNav VN-100, VN-200, VN-300) 2023-04-06 14:06:57 -04:00
Silvan Fuhrer 1f5046f165 FWPositionControl: trim throttle prediction improvements (#21345)
* FWPositionController: add linear airspeed-to-trim-throttle mapping

Scale trim throttle in a linear way with airspeed.
Different gradients above/below trim airspeed.

The airspeed- and airs density-corrected trim throttle is required for an accurate
throttle prediction in TECS, while the default trim throttle is still needed
as well, as the throttle delta from height rate setpoint delta is linked to it.

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-06 11:56:54 +02:00
Silvan Fuhrer 94fb334d8f Navigator: fix logic around when to switch to mission landing for RTL (#21390)
* Navigator: change way of telling logic if RLT was started just now

* Navigator: change logic around when to engage Mission mode for RTL

To find out if we're currently on a mission landing, check if we either are
past the land start marker OR currently land start marker is current WP
and vehicle is already in LOITER mode.

* Navigator: do not engage RTL at all if already on mission landing

* Navigator: consider to be on mission landing if the LOITER_TO_ALT and dist small

To find out if we're currently on a mission landing, check if we either are
past the land start marker OR currently land start marker is current WP,
the type is LOITER_TO_ALT and the vehicle is inside loiter.

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-04-05 10:11:14 +02:00
bresch fb3b4a3151 ekf2: remove duplicate buffer push of system flags 2023-04-04 15:56:09 -04:00
numan 831b0d9b11 uavcan: minor fix regarding log output (#21415)
Error message for "UavcanServers init" returns error code from UavcanServers->init instead of _sensor_bridges->init
2023-04-04 07:17:31 +02:00
Thomas Stastny f4681f01b6 drivers/gps: increase stack 2023-04-04 07:16:21 +02:00
Beat Küng aa5b9ae638 fix failsafe: correctly handle Hold RC loss action
Otherwise the additional mode check triggers an RTL which takes precedence
over Hold.
Introduced in 132e9d2439
2023-04-04 07:03:42 +02:00
Beniamino Pozzan f7ed553f57 holibro qav250 airframe: fix PWM_MAIN_TIM0
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-04-03 07:29:53 +02:00
Daniel Agar 13487c654d ROMFS: add SITL generic iris airframe (SYS_AUTOSTART 10016) for backwards compatibility (airsim, etc) (#21410) 2023-04-01 20:41:33 +02:00
Julian Oes 19752a7670 fmu-v2/v3: fix HW detection on CubeBlack
This fixes the case where the hardware detection fails on CubeBlack when
a CAN device is connected to CAN1 and talking, and therefore preventing
the check from getting a clear result.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-01 10:34:24 -07:00
Julian Oes 50f8c30f10 fmu-v2/v3: refactor detection function
This consolidates the version/revision detection function.

This should allow for actual changes in a follow up commit.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-01 10:34:24 -07:00
Beniamino Pozzan 448b915694 gazebo airframes: cleanup and fix missing parameters (#21411)
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-31 23:01:29 -07:00
bresch 89bb4622ef gazebo_tailsitter: disable multi-EKF for replayable logs 2023-03-31 15:22:38 -04:00
bresch 50b084cf17 MC auto: allow yawing during hold 2023-03-31 17:32:33 +02:00
bresch 62770c43f9 [AUTO COMMIT] update change indication 2023-03-31 10:15:12 +02:00
bresch ed7c4bc5d7 ekf2: init tilt using quaternion from gravity vector 2023-03-31 10:15:12 +02:00
Julian Oes 93ba7de0c3 gps: fix protocol param max
This seemed wrong.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-30 07:43:06 +02:00
SungTae Moon 178b31b6ff jmavsim_run.sh: fix the wrong flags expression in getopt (#20162) 2023-03-30 07:22:31 +02:00
Beat Küng 932b743e13 ROMFS: add motor assignment to holybro x500 2023-03-28 08:18:26 -07:00
Ramon Roche 319f3db5e1 tools: ip converter remove verbose output 2023-03-27 10:28:43 -07:00
Beniamino Pozzan 51dd6b783c microdds_client: Mark parameter as used only if truly used
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-27 10:28:43 -07:00
Beniamino Pozzan c7f67a3328 microdds_client: remove multi-instances supports, add agent IP as PX4 parameter
- multi-instances support is removed from the parameter definitions.

- XRCE_DDS_AG_IP allows to define the agent IP when udp transport is used.
The parameter is used by default if the module is started without the -h argument.

- XRCE_DDS_PRT allows to define the agent listning udp port when the
udp transport is uded. The parameter is used by default if the module is started
without the -p argument.

- Tools/convert_ip.py assists in converting ips in decimal dot notation into int32
notation.

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-27 10:28:43 -07:00
Daniel Mesham 6fddbea3e4 microdds_client: fix check for length of participant XML (#21374) 2023-03-27 10:03:09 -07:00
Silvan Fuhrer ba17a137e1 Navigator: MissionFeasibiltyCheck first WP: check only to current vehicle position
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-27 17:43:33 +02:00
Silvan Fuhrer 465ddddbfd Navigator: take min of vehicle position or Home distance for first WP check
To prevent mission rejections when vehicle is currently far away from Mission start,
but planned home is close to it.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-27 17:43:33 +02:00
Silvan Fuhrer d8ed35c422 Navigator: take vehicle position for first-WP-distance-check
And only use Home position if current vehicle position is unknown.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-27 17:43:33 +02:00
Silvan Fuhrer 4d2a31afe3 Navigator: remove max distance between WP mission feasibility check (MIS_DIST_WPS)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-27 17:43:33 +02:00
Junwoo Hwang 9c001f2e40 Fix SITL Test failure: Place PX4 instance runner after Gazebo server runner (#21230)
* MAVSDK_Test_Runner: Place PX4 instance runner after Gazebo server runner

- This was a nasty bug where starting PX4 instance first, then starting
  Gazebo server was causing PX4 instance' EKF to freak out, probably
because it doesn't like getting data a while after it is started
- Detailed breakdown is given here: https://github.com/PX4/PX4-Autopilot/issues/21229#issuecomment-1450761542
- This now guarantees that such edge case won't occur and MAVSDK test
  will run as it should

* MAVSDK Test Runner: Retain comment within 79 character limit

- To pass flake8 python style check

* Update test/mavsdk_tests/mavsdk_test_runner.py

Co-authored-by: Julian Oes <julian@oes.ch>

---------

Co-authored-by: Julian Oes <julian@oes.ch>
2023-03-26 11:27:01 +09:00
PX4 BuildBot 58a5aa26a0 Update submodule mavlink to latest Sat Mar 25 00:39:09 UTC 2023
- mavlink in PX4/Firmware (73104cab2e49118903cf32bdf11f6ea917fa394e): https://github.com/mavlink/mavlink/commit/2bdcab78b53d1e349079b43c9d726036abe0617c
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/e1e68da5e6f2e44c3126cafc0780f6fee2c2b4f2
    - Changes: https://github.com/mavlink/mavlink/compare/2bdcab78b53d1e349079b43c9d726036abe0617c...e1e68da5e6f2e44c3126cafc0780f6fee2c2b4f2

    e1e68da5 2023-03-08 Hamish Willee - Add quickstart to the README (#1960)
9b92bf2e 2023-03-08 Hamish Willee - Fix enum value for payload battery (#1959)
81e9fcd5 2023-03-08 Hamish Willee - Allocate range for ras-a and indicate next free range (#1957)
abbda253 2023-03-02 Hamish Willee - Indicate preference for COMMAND_INT (#1955)
d3a8e4b8 2023-02-08 Julian Oes - development: add command to configure SiK radio
2023-03-24 21:43:59 -04:00
PX4 BuildBot 8306fb96ea boards: update all NuttX defconfigs 2023-03-24 10:03:14 -04:00
PX4 BuildBot efab9be488 update all px4board kconfig 2023-03-24 10:01:58 -04:00
Daniel Agar 4d9369dc67 Update world_magnetic_model to latest Fri Mar 24 11:14:06 UTC 2023 2023-03-24 09:39:26 -04:00
Silvan Fuhrer e8a8e7c677 VTOL: increase deafult of VT_QC_T_ALT_LOSS from 10 to 20m
Testing has shown that 10m is a bit too tight, most of all as this check is also run in not height-controlled
flight modes (eg Stabilized), and there 10m altitude loss during transitions can happen easily.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-24 13:33:52 +01:00
Silvan Fuhrer e58d33284a vtol: correct/improve quad-chute param description
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-24 13:33:52 +01:00
Matthias Grob 937d27f8ee Helicopter: add offset for yaw compensation based on collective pitch 2023-03-24 07:16:36 +01:00
Beniamino Pozzan eeb90ac70a gazebo-classic/sitl_mutliple_run.sh: start spawning drones from index 1 (#21183)
Fix microdds key session collision when drones
with index 0 and 1 are used together

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-24 05:58:26 +01:00
Antonio Sanjurjo C 1ea993880c Fix typo in WORK_ITEM_TYPE (#21311)
Signed-off-by: Antonio Sanjurjo C <74329840+antonio-sc66@users.noreply.github.com>
2023-03-24 05:49:14 +01:00
Julian Oes 09a0089c80 README: add Cube Orange+ (#21361)
This adds the Cube Orange+ to the list, and also changes the Hex naming
to CubePilot as that is how it is sold/marketed now.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-24 05:21:43 +01:00
Daniel Agar cc2b367c0b drivers/uavcannode: fix typo (hydrometer->hygrometer) 2023-03-23 22:06:55 -04:00
Silvan Fuhrer 5b6d1e9290 TECS: change default for FW_T_I_GAIN_THR from 0.3 to more appropriate 0.1
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-23 15:00:36 +01:00
Silvan Fuhrer ac6c9c857a Gimbal: remove shutter and retraction handling
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-23 06:59:02 +01:00
Frederic Taillandier 18898f1876 updating sitl-gazebo classic (#21352)
Co-authored-by: root <root@DESKTOP-OINCOKE>
2023-03-22 14:04:02 +01:00
Silvan Fuhrer d532578ecc EKF2: only check for EKF2_BETA_FUSION when corresponding kconfig option is set
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-22 10:05:32 +01:00
Silvan Fuhrer 98d07ad1f3 disable side slip fusion for tailsitters
The attitude frame is wrong for tailsitters doing side slip fusion for wind estimation.
It doesn't take into account that the frames is 90deg tilted in FW flight.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-22 10:05:32 +01:00
Silvan Fuhrer 07531d29b7 FailureDetector: fix attitude check for tailsitter
-set roll/pitch used for failure detection during transition to 0
-rotate estimated attitude 90° in FW flight

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-22 10:05:32 +01:00
Silvan Fuhrer edc570adff AirspeedSelector: fix attitude rotation for tailsitter
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-22 10:05:32 +01:00
bresch 6bee0893de add circle intersection unit tests 2023-03-22 10:03:48 +01:00
bresch af345c88e9 TrajMath: use fmaxf instead of max 2023-03-22 10:03:48 +01:00
bresch c7bddda1db MC auto: add maximum RC assist distance during landing 2023-03-22 10:03:48 +01:00
bresch d6fa42fefd mc att: add unit tests for AttitudeControlMath helper 2023-03-22 10:01:27 +01:00
bresch edaf5bf0cd mc att: extract tilt yaw error compensation to lib 2023-03-22 10:01:27 +01:00
bresch f65daf7259 mc att: do not pass by euler angles to generate att sp from sticks 2023-03-22 10:01:27 +01:00
bresch 3e3307c0d0 ekf2: fix mag declination innovation angle wrapping 2023-03-21 21:07:28 -04:00
David Sidrane 64e90b91aa px4_fmu-v6c:Add Mini & fix Rev 1 (#21226) 2023-03-21 09:16:35 -07:00
Daniel Agar 32a5bd32ad ekf2: add kconfig option to enable/disable range finder fusion (and terrain estimator) 2023-03-21 11:25:34 -04:00
Daniel Agar 0784901a66 ekf2: add kconfig option to enable/disable optical flow fusion 2023-03-21 11:25:34 -04:00
Matthias Grob 9f8fa99d70 matrix: use stack allocation for debug output string 2023-03-21 15:01:26 +01:00
Matthias Grob b1435c6e34 matrix: use output stream function template
to enable proper automatic output in gtest unit tests
that compare two `Matrix`, `Vector` or two `Dual` objects.

Credits to @jwidauer for showing me this trick.
2023-03-21 15:01:26 +01:00
Matthias Grob b0189d95af Use new Vector4 class 2023-03-21 15:01:26 +01:00
Matthias Grob 08d6465ce5 matrix: add explicit Vector4 type 2023-03-21 15:01:26 +01:00
Matthias Grob da0e40c72b googletest: switch to latest version 1.12.1 -> 1.13 2023-03-21 15:01:26 +01:00
bresch 91364ba901 mc land detect: use z_deriv and vz for vert movement check
z_deriv is less prone to bias errors
2023-03-21 09:22:58 -04:00
Beat Küng 22c94f805a component information: add translation support 2023-03-20 21:57:25 -04:00
Jukka Laitinen 631046b962 src/drivers/sw_crypto: Correct RSA lengths in the example sw crypto backend driver
Maximum plaintext length was wrong, it is just k - 2 * hLen -2, where k is RSA key modulus length and hLen is hash length

Also minimum block that can be encrypted didn't make sense for RSA-OAEP, it is just 1 byte, the rest will be padded.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-03-20 21:54:40 -04:00
Jukka Laitinen b26669b085 Add crypto_deinit function for crypto_backend module
Bootloader needs to have a mechanism to de-initialize crypto, in case some HW accelerator
is being used. This adds the needed function for it

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-03-20 21:54:40 -04:00
Beat Küng 8497d3388f fix mavlink_ulog: use hrt_abstime instead of float
The float inaccuracy was leading to problems on SITL with large timestamps.
2023-03-20 21:47:41 -04:00
Daniel Agar 1524bd39b5 .gitignore: ignore generate top level log/ folder (colcon) 2023-03-20 11:06:12 -04:00
Daniel Agar 4363b09421 ekf2: add kconfig option to enable/disable external vision fusion 2023-03-20 10:12:17 -04:00
Daniel Agar d47f96f1a5 ekf2: add kconfig option to enable/disable AUX velocity fusion 2023-03-20 10:12:17 -04:00
Daniel Agar 4270a303ab ekf2: add kconfig option to enable/disable airspeed and sideslip fusion 2023-03-20 10:12:17 -04:00
Daniel Agar 98ff1afc19 ekf2: add kconfig option to enable/disable GNSS yaw 2023-03-20 10:12:17 -04:00
Daniel Agar 8b2205810b ekf2: add kconfig option to enable/disable baro compensation 2023-03-20 10:12:17 -04:00
Daniel Agar fe0e3acf09 ekf2: add kconfig option to enable/disable drag fusion 2023-03-20 10:12:17 -04:00
frederic@auterion.com 9a56b0a70d refactoring jinja-gen call in a cleaner way 2023-03-20 14:50:56 +01:00
numan ed174d54e9 fix typo in LeddarOne.cpp
added missing "~"
2023-03-20 07:51:00 +01:00
alexklimaj e2de62e38b GPS only warn if jamming state is critical 2023-03-17 21:38:28 -04:00
Silvan Fuhrer 0afda910d1 VTOL: make sure that all virtual topics are updated
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-17 19:43:01 +01:00
Andrew Brahim 71c746b9bf drivers/distance_sensor/lightware_sf45_serial: fix path to crc lib (no longer in systemlib)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2023-03-17 09:35:46 -04:00
alexklimaj 0ae296bfe2 ARK CANnode fix params 2023-03-16 14:32:36 -04:00
Silvan Fuhrer c7d4d1f45c FWPositionControl: HOTFIX: zero airspeed rate estimation input to TECS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 16:58:08 +01:00
Silvan Fuhrer b33a8686f7 FWPositionController: only store acceleration and velocity in x
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 16:58:08 +01:00
Silvan Fuhrer 28db47480d TECS: remove ununsed getSteRate()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 16:58:08 +01:00
Daniel Agar 6ec2b902cc ROMFS: only copy bootloader binary if systemcmds/bl_update included 2023-03-16 09:43:56 -04:00
Silvan Fuhrer d5e1f0fdaa uorb_graph: remove handling for actuator_controls topic
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 11:55:45 +01:00
Silvan Fuhrer 17cd65a239 Navigator: remove support for DO_SET_SERVO
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 11:55:45 +01:00
Silvan Fuhrer a1812dbde0 gimbal: move gimbal controls to new dedicated topic
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 11:55:45 +01:00
Silvan Fuhrer 1218d9b2fc mavlink_mission: remove support for DO_SET_CAMERA_ZOOM
Camera controls should not happen through the flight controller, and
the control allocation has no means of controlling the camera zoom.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 11:55:45 +01:00
Silvan Fuhrer 27658354da MavlinkReceiver: remove support for SET_ACTUATOR_CONTROL_TARGET
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-16 11:55:45 +01:00
Silvan Fuhrer b16f16598b VTOL: remove virtual actuator_controls and instead use virtual torque/thrust topics
MC/FW rate controller and auto tuner: remove actuator_controls

AirshipAttControl: remove actuator_controls

MulticopterLandDetector: remove actuator_controls

mavlink streams vfr_hud and high_latency2: remove actuator_controls

RoverPositionController: remove actuator_controls

UUVAttitudeController: remove actuator_controls

battery: use length of thrust_setpoint for throttle compensation

VehicleMagnetometer: use length of thrust_setpoint for throttle compensation

Signed-off-by: Silvan Fuhrer
2023-03-16 11:55:45 +01:00
akkawimo bcd6e7adee comment out fake_traffic to prevent flash overflow 2023-03-16 07:32:43 +01:00
Mohamad Akkawi 9de52bb5ec [navigator] Tone Down traffic warnings
- add unit tests for adsb conflict detection
- move adsb conflict detection to lib/adsb and adsb conflict class
- use containers/Array.hpp for buffer array
- expand fake_traffic
2023-03-16 07:32:43 +01:00
Julian Oes 89548e4f9e gps: Support for Unicore HEADINGA sentence in NMEA
This adds a parser for Unicore sentences sent in-between NMEA sentences.

This brings support for the Unicore UM982 module which publishes heading
information based on the two antennas.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-15 21:55:15 -04:00
Alex Klimaj ea97a38b2b Initial Cannode PWM Support (#19748)
* Add uavcannode esc/servo pwm control pipeline
* Remove cannode rc.interface with mixer purge
* Cannode add Kconfig options to reduce flash usage
2023-03-15 11:20:07 -04:00
Daniel Agar f0a95f9572 ekf2: add new kconfig option for multi-EKF
- disabled if flash constrained or memory constrained
2023-03-15 09:32:47 -04:00
Daniel Agar 19a2b4ec31 ekf2: GNSS yaw only reset test ratio for new samples
- otherwise external test ratio monitoring could trigger a false positive
2023-03-14 21:49:24 -04:00
AlexKlimaj e375e02974 Add GPS spoofing state 2023-03-14 20:28:32 -04:00
Julian Oes 2605562a69 cubeorangeplus: add I2C4, start AK09918
CubeOrange+ which have the ICM45686, also have the AK09918 connected
on the internal I2C4.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-14 08:34:28 -04:00
Julian Oes 695d48d6c9 AK09916: add support for AK09918
The AK09918 seems to only differ in the WHO_AM_I ID.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-14 08:34:28 -04:00
Julian Oes 7be3279675 cubeorangeplus: add check for SMPS support
If NuttX is built without support for SMPS it can brick the hardware.
Therefore, I suggest that we add this additional compile-time check.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:54:41 -04:00
Julian Oes 36f430e385 cubeorangeplus: save some flash space
We need to make space for drivers.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes bee4fe9470 boards: sensor config for CubeOrange+
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes 63dc6b5bc9 ICM45686: fix clipping due to rotation
It turns out that when you rotate by 45 degrees, as required on the
CubeOrange+, then you can easily get into clipping because the vector
components are constrained after the rotation. In order to avoid that,
we have to avoid getting close to the int16 range and switch from 20 bit
resolution to 16bit resolution earlier.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes f4b48e685f drivers: add ICM45686
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Beniamino Pozzan 82dce9353c gz models: fix deprecated warnings (#21285)
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-13 12:28:20 -07:00
bresch fd33e60f78 ekf: fix GNSS yaw fusion wrapping 2023-03-13 10:46:34 +01:00
akkawimo 3bae99267b fix(precland): Improved log messages (#21289) 2023-03-13 08:39:31 +01:00
Daniel Agar 9be8f81d75 flight_mode_manager: StickAccelerationXY protect from NAN velocity reset
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-03-10 08:17:20 -05:00
Daniel Agar 435c799f57 uORB: print more decimal places for float32 and float64 2023-03-10 07:39:34 +01:00
Frederic Taillandier 91f6ab865c ROMFS: fix shellcheck error in px4-rc.simulator (#21282) 2023-03-10 07:37:45 +01:00
Matthias Grob bd5838faf0 FlightTask: don't instaniate unused parameters 2023-03-09 17:40:55 +01:00
Tony Samaritano eb4da990c3 init.d-posix/px4-rc.simulator: adds non-default LAT and LON as optional environment variables 2023-03-09 09:40:35 -05:00
Daniel Agar b3cc945a5a ekf2: merge runOnGroundYawReset() + runInAirYawReset() into unified magReset() 2023-03-09 09:08:27 -05:00
Daniel Agar c1f244a6fd ekf2: decrease EKF2_MAG_YAWLIM default 0.25 -> 0.2 rad/s (#21264) 2023-03-09 09:07:54 -05:00
Daniel Agar 60b85c2e1a mavlink: add kconfig option to disable UAVCAN parameter bridge
- depends on DRIVERS_UAVCAN
2023-03-08 19:30:06 -05:00
frederictaillandier eb86cb85b7 removing MOUNT_ORIENTATION on udp_gcs_port_local from typhoon 2023-03-09 12:43:47 +13:00
Daniel Agar 4dda5a97d8 ekf2: mag_3d check mag bias variance before allowed to update all states (orientation) 2023-03-08 15:12:48 -05:00
Julian Oes ea20217c1b kakuteh7v2/mini: EKF2 is already the default 2023-03-08 10:48:31 -05:00
Julian Oes 593b3d250d kakuteh7mini: remove duplicate param defaults
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-08 10:48:31 -05:00
Julian Oes ed49ed3903 kakuteh7v2/mini: use EKF2 without mag by default
This switches from attitude_estimator_q to EKF2 which should now work
without mag when the params are set to SYS_HAS_MAG = 0 and
EKF2_IMU_CTRL = 7 to enable gravity fusion.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-08 10:48:31 -05:00
Matthias Grob 132e9d2439 modeCheck: add warning when RC enabled but not present 2023-03-08 09:32:56 +01:00
Matthias Grob 898c0ae5a8 mode_requirements: refactor order of setting flags 2023-03-08 09:32:56 +01:00
Matthias Grob 7fa8dfe2d2 rcAndDataLinkCheck: always update manual control availability
and remove duplicate manual control check
possibly it needs to be readded to give warning
about RC enabled but not present.
2023-03-08 09:32:56 +01:00
Matthias Grob f498b90c41 mode_requirements: add manual control for manual modes 2023-03-08 09:32:56 +01:00
Beniamino Pozzan 636dfdec6a VScode: fix tasks.json and launch_sitl.json after ign -> gazebo renaming
PX4_SIM model need the simulator (gz_) prefix
Fix post debug task
Add x500_depth, rc_cessna, standard_vtol

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-07 21:28:39 -05:00
Daniel Agar d45aeae1de ekf2: add and share centralized method to clear inhibited state Kalman gains 2023-03-07 13:27:57 -05:00
Konrad 7098970a38 Tools: extend documentation parser:
- Add the possibility in the parser to replace the defines made in the current file with their argument (includes are not supported)
- Add the possibility for the parser to parse int argument with bitwise shift operators
2023-03-06 18:34:01 -05:00
PX4 BuildBot 603d4b999b Update submodule sitl_gazebo-classic to latest Mon Mar 6 12:38:18 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (7edce94b93): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/9343aaf4e275db48fce02dd25c5bd8273c2d583a
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/e3722bf9132567e8dd08b7ed6df2986e21a6ec18
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/9343aaf4e275db48fce02dd25c5bd8273c2d583a...e3722bf9132567e8dd08b7ed6df2986e21a6ec18

    e3722bf 2023-02-24 Frederic Taillandier - Allowing to override sniffer's modules ip (#963)
2221c95 2023-02-24 Frederic Taillandier - removing macos 1015 github actions (#962)
48e9b17 2023-02-24 frederic@auterion.com - removing debug
265198d 2023-02-24 frederic@auterion.com - fixing indentation
de9bf14 2023-02-24 frederic@auterion.com - try fix build by updating the path to the right gazebo
ec8641d 2022-08-24 Konrad - Revert "Enable multi IMU capability in gazebo mavlink interface"
487a789 2023-02-21 Jaeyoung Lim - Revert "Add multi magnetometer capability. Magnetometer plugin now derived from sensorplugin. Magnetometer topic dervied from naming. Updated all models with magnetometer submodel"
2023-03-06 18:33:00 -05:00
Silvan Fuhrer 2d92bd627a FWRateController: always update manual_control_setpoint if in manual and FW
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Silvan Fuhrer caee131e6a FW Position Controller: mini fw_control_yaw_wheel refactoring
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Silvan Fuhrer 1e56d9c219 Rework flaps/spoilers logic
- remove deprecated actuator_controls[INDEX_FLAPS/SPOILERS/AIRBRAKES]
- use new topic normalized_unsigned_setpoint.msg (with instances flaps_setpoint
and spoilers_setpoint) to pass into control allocation
- remove flaps/spoiler related fields from attitude_setpoint topic
- CA: add possibility to map flaps/spoilers to any control surface
- move flaps/spoiler pitch trimming to CA (previously called DTRIM_FLAPS/SPOILER)
- move manual flaps/spoiler handling from rate to attitude controller

FW Position controller: change how negative switch readings are intepreted
for flaps/spoilers (considered negative as 0).

VTOL: Rework spoiler publishing in hover

- pushlish spoiler_setpoint.msg in the VTOL module if in hover
- also set spoilers to land configuration if in Descend mode

Allocation: add slew rate limit of 0.5 to flaps/spoilers configuration change

Instead of doing the flaps/spoilers slew rate limiting in the FW Position Controller
(which then only is applied in Auto flight), do it consistently over all flight
modes, so also for manual modes.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Silvan Fuhrer 16594bffa9 Rework landing gear logic
- remove deprecated actuator_controls[INDEX_LANDING_GEAR]
- remove dead code in mc rate controller that used to prevent it from being retracted
on the ground (anyway had no effect as it only affected the actuator_control[LANDING_GEAR]
which wasn't sent to the control allocation)
- for VTOLs handle deployment/retraction of landing gear in AUTO  as a MC (retract if
more than 2m above ground, deploy if WP is a landing WP), plus additionally when transition
flight task is called (ALTITUDE mode and higher)
- for FW in AUTO: add logic in FW Position Controller, depending on waypoint type mainly
- manual landing gear settings always come through (a manual command overrides a previous
auto command, and vice-versa)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Silvan Fuhrer 3e884116c4 logged_topics: make landing_gear_wheel optional and increase interval to 100ms
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Silvan Fuhrer 4b54ddfe61 Remove INDEX_COLLECTIVE_TILT from actuator_controls and instead use new topic tiltrotor_extra_controls
Tiltrotor_extra_controls also contains collective thrust beside collective tilt, as passing a 3D
thrust setpoint vector beside the tilt is not feasible.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
Eric Katzfey 21c7f8ad74 posix server: changed the method of checking and setting the server file lock (#21243)
* Changed the method of checking and setting the server file lock on Posix to avoid conditions where the server can indicate that it is running but still hasn't finished it's initialization
2023-03-06 09:55:57 -05:00
Eric Katzfey 5cade89499 Improve logging for Modal IO ESC (#21188)
- always publish esc_status
 - when enabled via MODAL_IO_VLOG param, enable actuator debug output

 - for modal_io commands, use ESC HW ID values instead of motor number for easier use
 - publish esc_status message for command line commands

 - Uncommented the code that fills in the cmdcount and power fields in the esc_status topic

---------

Co-authored-by: Travis Bottalico <travis@modalai.com>
2023-03-06 09:51:22 -05:00
Eric Katzfey daa302cdbe Changes to allow the commander module to be built and run on Qurt (#21186)
* Changed exclusion to rely on the definition of PX4_STORAGEDIR
2023-03-06 09:49:07 -05:00
Silvan Fuhrer dc4926dc4d remove WheelEncoders.msg
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 09:43:01 -05:00
Silvan Fuhrer 0633d0d826 drivers: remove RoboClaw
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 09:43:01 -05:00
Jaeyoung Lim e5d5fcd315 Subscribe to vehicle odometry in GZ Bridge
This PR subscribes to the vehicle odometry in gz bridge / Add x500_vision model
Fix transforms
F
2023-03-06 09:27:35 -05:00
Tahsincan Köse 8737099a33 commander: failsafe framework fix missing return in actionStr function (#21245)
- there needs to be a default statement for the compiler to work when this function is called.
2023-03-06 09:21:20 -05:00
Beniamino Pozzan b79578fa55 efk2: Force external vision vertical position if EKF2_HGT_REF=VISION
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-03-06 09:19:49 -05:00
Daniel Agar 3fac85369e ekf2: gps control use adjusted velocity and position for reset 2023-03-06 09:03:39 -05:00
Silvan Fuhrer 95754876ed Apply small suggestions from code review
Further param description improvements.

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer ec38ec660c FW controllers: make param description more concise
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer 4be74befd2 VTOL: remove pusher reverse feature
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer c09bf66639 VTOL: make param descripion more concise
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer 9a038281c5 RoverPositionController: remove some unused stuff
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer feec8b2036 L1: remove some functions that Rover doesn't need
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 14:00:02 +01:00
Silvan Fuhrer 7edce94b93 v2_default: disable hover thrust estimator to safe flash
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-02 12:22:18 -05:00
Daniel Agar 74130d7f71 ucdr msg template add timestamp protections
- if timestamp (or timestamp_sample) unpopulated fill it with current hrt_absolute_time()
 - if using provided timestamp don't allow it to exceed current hrt_absolute_time()
2023-03-02 09:52:53 -05:00
Matthias Grob 0770478dc7 FlightTaskDescend: Enable nudging by sticks when it's enabled
and stick input is available.
2023-03-02 12:06:40 +01:00
Matthias Grob 728570828f FlightTaskManualAltitude: use StickTiltXY for horizontal stick mapping 2023-03-02 12:06:40 +01:00
Matthias Grob 21d580293a StickYaw: use consistently for all flight tasks
- Switching to the first order filter that was previously
only in FlightTaskManualAltitude.
- Moving the scaling of full stick deflection to
radians per second into the class.
2023-03-02 12:06:40 +01:00
Matthias Grob 0c1f340154 StickAccelerationXY: improve comments 2023-03-02 12:06:40 +01:00
Matthias Grob a29d02fd62 MulticopterRateControl: don't instaciate unused parameter 2023-03-02 12:06:40 +01:00
Matthias Grob da4644c20a Sticks: only use stick input if flagged valid
and add a function for just pitch roll stick input
2023-03-02 12:06:40 +01:00
Matthias Grob 1dada5daf4 Add StickTiltXY utility class to FLightTasks
to map stick input to vehicle tilt consistently and reliably across modes.
2023-03-02 12:06:40 +01:00
Silvan Fuhrer 0c4b288973 RTL: only do calculations in is-inactive if global position is recent (#21208)
* RTL: only do calculations in is-inactive if global position is recent

* RTL: refactor calcRtlTimeEstimate to only calc and not pub


Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-02 11:09:32 +01:00
Beniamino Pozzan 458c351585 setup/ubuntu.sh: Only install Gazebo Garden for Ubuntu 22.04 (#21173)
* Tools/setup/ubuntu.sh: Only install Gazebo Garden on Ubuntu 22.04

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>

* Apply suggestions from code review

---------

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2023-03-02 10:51:29 +11:00
Andrew Brahim 184c7fe79d drivers/distance_sensor: Lightware Lidar SF45/B rotating sensor serial driver (#19891)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2023-03-01 16:16:25 -05:00
Daniel Agar bde194fb12 simulation/gz_bridge: local_position_groundtruth include heading (#21224) 2023-03-01 18:44:31 +01:00
Beat Küng e129534a58 fix ROMFS: add rc.autostart_ext to cmake 2023-03-01 08:53:17 -05:00
Daniel Mesham fe48de6240 Check position subscriber before force-send flag when sending GPS global origin stream 2023-03-01 08:52:41 -05:00
DanielePettenuzzo 539f874325 mavlink main - enable gps global origin stream also on mavlink low bw mode and change all rates to 1Hz 2023-03-01 08:52:41 -05:00
DanielePettenuzzo 6bf19ebe23 gps global origin stream - make sure we can always send out the message at least once on request
When requesting a message from a stream that is not active we start the
stream with interval=0 and call the request method once. For all streams
this works fine except the gps_global_origin. For this one the request method
is actually overidden to throttle down the rate and not just send out the message.
This will cause this message to never being sent on request if the stream
is not active by default.
2023-03-01 08:52:41 -05:00
Silvan Fuhrer 76116d79f9 TECS: remove umcommanded_descent flag
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-01 10:39:09 +01:00
Silvan Fuhrer 527225357b TECS: remove unused TECS_MODE_CLIMBOUT
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-01 10:39:09 +01:00
Tony Samaritano 2b73b6df70 commander: fixes valid mag count in HIL 2023-03-01 08:05:23 +01:00
Junwoo Hwang d6b523b574 Update README: Maintainers, Boards, Roadmap (#21030)
* Update README: Maintainers, Boards, Roadmap

- First step after the community coordination call from January 30th

* README: Fromat list & remove discontinued boards & add others

- Addressed comments

* README: Add Simulation, remove QGC

- Only leave the PX4 specific categories (QGC is not)

* Add Beniamino as ROS2 maintainer

* README: Add note that README is main source of truth for maintainers

- We need to have a source of truth, we can use Github README for that.
2023-02-28 19:06:09 +01:00
Marco Räth bdb0fe77d0 v6x: fix mag orientation for V6X009010 and V6X010010 (#21194) 2023-02-28 11:01:16 +01:00
João Neto 58000ff61c Tools/setup/ubuntu.sh: remove comment from continued line (#21191)
Comment broke script
2023-02-28 08:12:20 +01:00
Daniel Agar b5a6d6db0d ekf2: fix controlEvYawFusion() yaw reset 2023-02-24 16:59:59 -05:00
Daniel Agar a06a635da3 drivers/inv/vectornav: fix official vectornav library NuttX support
- vectornav library (libvnc) fixed for NuttX
   - open serial port O_NONBLOCK (like __APPLE__)
   - set serial port baud rate with cfsetspeed (like __APPLE__)
 - vectornav backend thread increase stack and run at higher priority (SCHED_FIFO)
2023-02-24 16:59:38 -05:00
Silvan Fuhrer 837095b9a8 tecs: use FW_T_SINK_MIN for STE_rate_min (#21190)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-24 15:46:41 +01:00
Roman Bapst 33b54f7c57 vtol_att_control: Consolidate logic for front transiton completion (#21107)
* vtol_att_control: consolidate logic for front transiton completion

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* addressed review comments

Signed-off-by: RomanBapst <bapstroman@gmail.com>

---------

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-24 15:52:27 +03:00
Silvan Fuhrer 4259b5adac Commander: copy sensor_gps in HomePosition::update() and store relevant fields in separate variables
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-24 13:32:38 +01:00
Silvan Fuhrer 006321e278 Commander: remove unused param COM_POS_FS_EPV
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-24 13:32:38 +01:00
Silvan Fuhrer 526e066d9a Commander: rework GPS invalid warning to use estimator feedback instead of separate GPS quality thresholds
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-24 13:32:38 +01:00
Silvan Fuhrer e6af8b9aa6 Commander: Home Position: move gps checks on when to allow setting home pos inside HomePosition class
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-24 13:32:38 +01:00
Igor Mišić 352f773ec4 systemcmds/mtd: fix rwtest - force data to/from the device
Block Device driver uses a buffer so we need to ensure data is written or read to the device and not to the buffer so we can be sure if the device works properly
2023-02-24 08:08:19 +01:00
Dmitry Ponomarev a1efafc42b drivers/cyphal: incremental fixes for fmu-v5 (#20671)
* Cyphal: fix comparing floating-point issue

* Cyphal: fix setpoint serialization

* Cyphal: fix bug with wrong comparasion of param name and pub/sub name: remove prefix from UavcanPublisher::updateParam and UavcanDynamicPortSubscriber::updateParam and PublicationManager::updateDynamicPublications

* Cyphal: integrate UavcanEscController with PublicationManager, remove second instance of UavcanEscController from CyphalNode

* Cyphal: publish readiness with minimal frequency because according to UDRAL The drive shall enter STANDBY state automatically if the readiness subject is not updated for CONTROL_TIMEOUT

* Cyphal: increase setpoint publish rate from ~75 to 200 by removing PX4_INFO (it really significantly react on the the output rate) and changing the mixing output rate and the shedule interval

* Cyphal: restore prefix because we need it for uorb over uavcan/cyphal and add udral prefix for non uorb pub/sub

* Cyphal: fix DynamicPortSubscriber subscription: if it has multiple subscribers, it should call subscription only after updating of all port subscribers port identifiers

* Cyphal: fix SubscriptionManager: we should take care about prefix

* Cyphal: fix readiness for test motor mode

* [Cyphal] Fix dynamicsubscription, improve printinfo, enable MR-CANHUBK3 config

---------

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
2023-02-23 10:57:50 -05:00
Matthias Grob 013365d6c8 ubuntu.sh: source the .profile after changing it
such that the arm toolchain is available in that terminal without
relogin for convenience.
2023-02-23 09:58:10 +01:00
Matthias Grob 22030c1b8c ubuntu.sh: add libfuse2 to general packages
to allow running QGroundControl app image out of the box.
2023-02-23 09:58:10 +01:00
Matthias Grob dabf33759b ubuntu.sh: only add gazebo source once on 22.04 2023-02-23 09:58:10 +01:00
Hamish Willee 76aac7a5e5 VehicleCommandAck typo on module docs 2023-02-23 08:19:11 +01:00
Hamish Willee 4daa63afc2 Sensors.cpp - case the uorb topics like SensorGyro 2023-02-23 08:18:39 +01:00
Alejandro Hernández Cordero ea6814d258 Simulation Gazebo: Use Gazebo Airpressure sensor (#21176)
* Simulation Gazebo: Use Gazebo Airpressure sensor

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* Fixed build

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* Added feedback

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* make linters happy

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

---------

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
2023-02-22 19:32:25 +01:00
Beat Küng 06dfd1726f microdds_client: fix -l flag and add -c for custom participant configuration
Allows to use a custom FastDDS configuration on the Agent side.
2023-02-22 11:15:29 -05:00
Daniel Agar 98263de17b ekf2: move aux vel helpers to auxvel_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar a199df78cc ekf2: move mag control helpers to mag_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar c20e4e4421 ekf2: move stopFlowFusion() to optical_flow_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar 3a317ec18c ekf2: move gps helpers to gps_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar 9ec3f30ae1 ekf2: move gps buffer pop to controlGpsFusion()
- controlGpsFusion() now owns yaw estimator update
2023-02-22 09:08:33 -05:00
Daniel Agar a867bb7d88 ekf2: let controlAirDataFusion() update yaw estimator TAS 2023-02-22 09:08:33 -05:00
Daniel Agar 60856ebe62 ekf2: move range buffer pop to controlRangeHeightFusion() 2023-02-22 09:08:33 -05:00
Daniel Agar 08f111f694 ekf2: consolidate airspeed fusion logic and helpers
- pass new airspeed sample around when available
 - can't completely eliminate _airspeed_sample_delayed until resetWind()
called from sideslip fusion is updated
2023-02-22 09:08:33 -05:00
Daniel Agar 241cee2bb7 ekf2: move airspeed buffer pop to controlAirDataFusion 2023-02-22 09:08:33 -05:00
Daniel Agar 0711a34d0e ekf2: move flow buffer pop to controlOpticalFlowFusion 2023-02-22 09:08:33 -05:00
Daniel Agar ed8cef6cf0 ekf2: move controlAuxVelFusion control.cpp -> auxvel_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar b4e845d7c0 ekf2: move controlDragFusion control.cpp -> drag_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar c08a387c5a ekf2: move controlBetaFusion control.cpp -> sideslip_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar d61b8c21b2 ekf2: move controlAirDataFusion() control.cpp -> airspeed_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar d840f7f39f ekf2: move controlGpsYawFusion() control.cpp -> gps_control.cpp 2023-02-22 09:08:33 -05:00
Hamish Willee b66e15c4b9 generate_msg_docs.py - fix path to messages 2023-02-22 09:32:05 +01:00
Matthias Grob f887ad6ebf mc_att_control: allow commanding a yaw rate with zero throttle
Still avoiding to build up absolute yaw error in that case.
2023-02-21 19:33:28 +01:00
Matthias Grob 2b0f7879bc mc_att_control_main: separate yaw rate setpoint generation from absolute yaw reset 2023-02-21 19:33:28 +01:00
Matthias Grob ce5cff55b7 mac_att_control: heading lock in stabilized only after ekf final yaw alignment 2023-02-21 19:33:28 +01:00
Silvan Fuhrer f0571de731 MCAttitudeController: remove reset of yaw_sp when landed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-21 19:33:28 +01:00
Beat Küng fe3c1d0a92 logger: do not try to wait for mavlink ack when writing watchdog data
As it might block for 2.5s (if mavlink is blocked) and therefore would not
write to file before restoring the priorities.
2023-02-21 11:32:30 -05:00
Beat Küng 66b0f6eb35 log_writer_file: call fsync after reliable transfer
ensures watchdog data is flushed immediately
2023-02-21 11:32:30 -05:00
Beat Küng e4cef9f303 logger: update watchdog
- reduce boost priority to PX4_WQ_HP_BASE - 6
- add cli command 'trigger_watchdog' to manually trigger watchdog
- add perf counters when triggering watchdog
- reduce top measurement to 300ms
- restore priorities after 1.5s

There are precautions in case the SD card code itself has a busy-loop.
2023-02-21 11:32:30 -05:00
Beat Küng 015ba62727 log_writer_file: do not call close() with mutex held
Generally not an issue, but if close() takes long, or even busy-loops due
to an underlying bug in the OS, it will block the main thread too.
2023-02-21 11:32:30 -05:00
Jaeyoung Lim 5676cc32bc Optionally enable sensor simulations 2023-02-21 11:16:25 -05:00
Leonardo Garcia 3bdb42b6a7 mro/pixracerpro: add missing px4_platform_configure() call (#21158) 2023-02-21 09:30:39 +01:00
MAD-CRAZY-MAN 3ab34fe5b1 ci: build thepeach FCC-K1 & FCC-R1 2023-02-20 21:56:08 -05:00
Silvan Fuhrer 94be17af8f FWPositionControllre: only check acceptance radius to swich to loiter to reach WP alt
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 21:55:27 -05:00
Julian Oes 9ec6a4b1d7 icm42688p: fix comment about gyro and accel bits
This really confused me.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-20 21:47:11 -05:00
Silvan Fuhrer 2008a447c3 FW PositionController: circular landing: publish orbit status
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer 485785d81d FW PositionController: circular landing: enable automatic landing aborts
Enable automatic landing abort on timed out distance sensor reading also for
the circular landing. Do not enable the no-terrain timeout check, as, opposed
to the straight landing, we here don't know when to expect the distance sensor
to get valid.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer 37b6dccda9 Land: use MIS_LND_ABRT_ALT also in non-mission Land
As we don't know the landing point altitude in non-mission landings, assume
the worst case (abort right before touchdown) and thus always climb
MIS_LND_ABRT_ALT on triggering an abort.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer c47210fc77 FWPositionController: add support for circular landings
Add method for circular landing, that is used instead of the straight fixed-wing
landings in case the landing is not part of a mission landing.
Use straight landing if previous WP is valid, and the ciruclar otherwise.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer 50d75c537e FWPositionController: auto_landing(): move non-position handling to top
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer b94ed34406 FW Position Control: initializeAutoLanding(): pass only alt value of pos_sp_curr
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer 805de8a6d9 Navigator: set position setpoint to current location instead of to NAN
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
Silvan Fuhrer eaa4180920 Navigator: remove ununsed argument from set_land_item()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 17:04:39 +01:00
David Sidrane 1fb6b003fc NuttX with backport ioexpander/gpio:Add gpio_pin_register_byname 2023-02-20 04:14:01 -08:00
Silvan Fuhrer 167e58abba AirspeedSelector: remove unused variable
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 11:35:24 +01:00
Silvan Fuhrer 1acb07c600 Navigator: set _land_start_index to first item with a position after the marker
_land_start_index is used to to start the mission from this item index, and to
avoid to publish a triplet.current.type=IDLE, we need to fill it with the actual
position setpoint that the vehicle should go to at the start of a mission landing.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-20 06:50:53 +01:00
bresch fafcdbf4ed tests: empty parentheses were disambiguated as a function declaration 2023-02-17 21:10:44 -05:00
bresch 8ebf47edb1 ekf2: stop mag fusion when there is no data anymore 2023-02-17 08:51:55 -05:00
Silvan Fuhrer deabe9a38d Navigator: accept yaw immedietaly if the flag heading_good_for_control is not set
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-17 13:34:30 +01:00
David Sidrane d291207b9f NuttX with mmcsd backports to prevent system hang on error 2023-02-17 10:16:15 +01:00
RomanBapst b00efcd966 cleanup
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 7ef2bff0a2 FeasibilityChecker: Fixed bug and added unit test for it
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 2e50277695 improved function naming
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 8ecb550331 cleanup
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 00b1968a5c more clang tidy stuff
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst b8d0a8821a fixed clang tidy
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst c09263d53c use correct type
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 11fd3ef71a use legacy parameter system and cleaned up vehicle type
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 741fbb931d fixed land requirement for VTOL
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 6e07af959f fixed bug in Matrix library
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 925ad97ff3 added unit tests
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst 11143def82 tried to add functional unit test
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
RomanBapst ceb8f6e1d5 started with feasibility checks
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2023-02-16 11:28:41 +01:00
Christian Rauch d6bb19e11b drivers/linux_pwm_out: link mixer_module 2023-02-15 16:04:31 -05:00
Jaeyoung Lim 0e1e1afcf9 Correct dates in the license headers 2023-02-15 01:37:32 +09:00
Jaeyoung Lim 0b3f4dd385 Inject failure for airspeed sim 2023-02-15 01:37:32 +09:00
Jaeyoung Lim 3f50bd051f Optionally enable airspeed sensor sim
Enable and disable sensor sim module with parameter
2023-02-15 01:37:32 +09:00
PX4 BuildBot 192764387d Update submodule mavlink to latest Tue Feb 14 12:38:55 UTC 2023
- mavlink in PX4/Firmware (e7a5dedf48f967465d1f9e6c96a9bf304e1a74b1): https://github.com/mavlink/mavlink/commit/e3b8756e37cd2cd01ba658461bb4dbffb2fdf914
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/2bdcab78b53d1e349079b43c9d726036abe0617c
    - Changes: https://github.com/mavlink/mavlink/compare/e3b8756e37cd2cd01ba658461bb4dbffb2fdf914...2bdcab78b53d1e349079b43c9d726036abe0617c

    2bdcab78 2023-02-09 Hamish Willee - undo last commit
9c60f17a 2023-02-09 Hamish Willee - param_id char[] description
841b7683 2023-02-08 Alessandro Ros - remove invalid enum reference from storm32.xml (#1947)
8d4e50ee 2023-02-08 Julian Oes - scripts: install npm dependencies first
72a9b2c3 2023-02-08 Julian Oes - pymavlink: update submodule
2023-02-14 09:53:11 -05:00
Knut Hjorth db539d15bd mavlink: fix bug when opening /dev/null as default stdin/stdout/stderr
Prior commit added opening of /dev/null as 0, 1 and/or 2 file
descriptors, if they where not present. However, if the temporary
file descriptor used to open /dev/null matched the target file
descriptor, it would be immediately closed again. This commit fixes that,
and does not duplicate and close the temporary file descriptor if it is
already at the correct number.
2023-02-14 08:18:01 +01:00
Christian Rauch 5880fe4153 remove deprecated check for CONFIG_STM32_STM32F4XXX in STM32F1 micro_hal.h 2023-02-14 08:08:24 +01:00
Daniel Agar b3eb563db4 boards: cubepilot_cubeorange_test restore sd_bench (used on test rack) 2023-02-13 23:53:54 -05:00
Julian Oes 5803f692b9 boards: update CubePilot+ test defconfig
This is tracking upstream changes and making it build.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 01a9563955 cubeorangeplus: remove some modules to save flash
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 9d8fa38793 cubeorange: remove some modules to save flash
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 69cb1da3cc workflows: add CubeOrange+ to CI build
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
alexklimaj e5a957ae63 boards: arkv6x add pulldowns to GPIO pins UART7 RTS and UART7 CTS 2023-02-13 22:35:23 -05:00
Daniel Agar 2ea25804a1 ekf2: allow filter init with only IMU (#21041)
- if mag enabled heading init is now pushed to controlMagFusion()
2023-02-13 22:07:15 -05:00
Julian Oes d69d99b191 kakuteh7v2/mini: switch on VTX+
This just always switches the VTX+ power on.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:00:49 -05:00
Alex Klimaj 3ed1c688bf drivers: icm42688p and iim42652 enable notch and AAF 2023-02-13 21:08:37 -05:00
Daniel Agar a18e07e525 drivers/imu/bosch/bmi088: add more time between configure and FIFO_READ
- new FIFO_RESET state used to give the sensor more time after successful configuration before sampling begins

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2023-02-13 21:01:50 -05:00
Daniel Agar 1134d5338f boards: sky-drones_smartap-airlink_default disable modules to save flash 2023-02-13 20:58:17 -05:00
Daniel Agar 4d95150e18 boards: px4_fmu-v4pro_test disable gyro_fft to save flash 2023-02-13 20:56:19 -05:00
Daniel Agar 299cb32aa8 boards: nxp_fmuk66-v3_test disable gyro_fft to save flash 2023-02-13 20:55:06 -05:00
Daniel Agar bc5f4f8377 boards: mro ctrl-zero-h7 and pixracer disable modules to save flash 2023-02-13 20:53:52 -05:00
Daniel Agar 70a7edbcd0 boards: cubepilot_cubeorange_default disable SIH simulator to save flash 2023-02-13 20:47:26 -05:00
Daniel Agar b14e0c21b6 boards: px4_fmu-v2_default disable sensors/vehicle_airspeed and sensors/vehicle_optical_flow to save flash 2023-02-13 20:45:28 -05:00
Beniamino Pozzan ea91dbb0f5 gazebo-classic_iris_vision: fix airframe include and default parameters
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-02-14 03:26:56 +09:00
Jaeyoung Lim 3efc42cb14 Add standard vtol model
Add standard vtol model sdf
2023-02-13 13:00:39 -05:00
Jaeyoung Lim 65c287781f Set prearm mode 2023-02-13 13:00:39 -05:00
Jaeyoung Lim df4083265f Add standard vtol airframe configs 2023-02-13 13:00:39 -05:00
Jaeyoung Lim d5ddb44241 Add sensor airspeed sim
This commit adds the airspeed sensor sim to simulate airspeed sensors
2023-02-13 13:00:39 -05:00
Matthias Grob 6f4d903f45 Battery: address two comments from #2242
- use a constant instead of magic number
- fix code comment typo
2023-02-13 13:27:08 +01:00
Hamish Willee edb6c635d5 EKF2_MAG_TYPE - fix typos (#20808) 2023-02-10 14:39:57 +01:00
Konrad b9f9f25b48 parameter_translation: Add parameter translation for renamed L1 parameters 2023-02-09 17:51:55 +01:00
Konrad 92277ebb96 FixedwingPositionControl: Explicitly set wind to zero when it is not valid. 2023-02-09 17:51:55 +01:00
Konrad de4b139540 FwPosControl: Update behavior of navigating to a waypoint when the previous waypoint is not valid. Go along the line of the current aircraft position to the desired waypoint. 2023-02-09 17:51:55 +01:00
Konrad d5025810b4 FixedWingPositionControl: remove get_nav_speed_2d function as npfg can handle this internally. 2023-02-09 17:51:55 +01:00
Konrad 6bdeb43e0d fw_path_navigation: Remove explicit L1 mentioning. 2023-02-09 17:51:55 +01:00
Konrad 3e200bca0d fw_pos_control_l1: renaming to fw_path_navigation, l1 control is not used anymore, use a more generic naming. 2023-02-09 17:51:55 +01:00
Konrad aa3af7f707 fw_pos_control: purge L1 controller 2023-02-09 17:51:55 +01:00
Knut Hjorth fbc80c9bf5 RTL fixes and improvements for VTOL vehicles (#21011)
* rtl: remove unconditional transition to land after descent

This was a bug, as it renders the above code lines useless.
This would cause a undesired FW landing for VTOL vehicles if
RTL_LAND_DELAY is above 0.

* rtl: head to center after loiter in VTOL FW

To get the same behavior for RTL with and without loiter before land for
VTOL drones.

* rtl: always go to descend state after return

Previously, the state would change directly to land if in MR and
RTL_LAND_DELAY was 0.0, but we will still wish to descent to
RTL_DESCEND_ALT at descent speed, instead of using landing speeds.

* rtl: mark head to center state as part of vtol transition

The next step in the sequence is transition to MC. By setting
vtol_back_transition we ensure that the acceptance radius is adapted to
the expected transition distance.
2023-02-08 11:07:39 +01:00
Knut Hjorth 99cf1cfdfe mavlink: use /dev/null as default stdin, stdout and stderr
If 0, 1 and/or 2 file descriptors are not open when mavlink module
starts (as might be the case for USB auto-start), use default /dev/null
so that these numbers are not used by other other files.
2023-02-08 10:38:20 +01:00
Knut Hjorth 6c7ae3d845 mavlink: generate new log list for request start index 0
Instead of interpret a request for "more logs than currently exists" as
a new request, use a request for index 0, which is more likely to be
the first request.
2023-02-08 10:38:20 +01:00
KonradRudin c5d041a2f7 Rearrange npfg use path input (#21071)
* [npfg]: Remove the guideToPoint function and replace with guideToPath

* [npfg]: remove unused navigateXXX functions

* [npfg]: Move navigateXXX Function into FWPoscontrol

* [FixedwingPositionControl]: Set default flaps and spoilers in attitude setpoint topic, and only change if necessary.
2023-02-08 08:54:00 +01:00
jonasbouchraiet 9ac27c9413 Update rtl_params.c 2023-02-07 22:37:19 -05:00
Beat Küng 83c8c79af5 commander failsafe: add API to defer failsafes 2023-02-07 19:27:51 -05:00
Beat Küng a727bddc19 microdds_client: set queue depth for incoming topics according to msg definition
Otherwise the FMU might miss publications from 2 different publishers at
the same time.
2023-02-07 19:12:10 -05:00
Beat Küng 3f2336af32 navigator: add ModeCompleted signalling topic 2023-02-07 19:11:52 -05:00
Beat Küng f05e8a699e ROMFS: enable COM_LOW_BAT_ACT by default for SITL 2023-02-07 19:11:29 -05:00
Beat Küng ebc1d7544e battery_simulator: add support for failure injection
For failsafe triggering in automated tests
2023-02-07 19:11:08 -05:00
Eric Katzfey ddd1527305 Qurt PX4_INFO_RAW send to apps for display (#21080) 2023-02-07 17:22:09 -05:00
Eric Katzfey db24c2b233 Qshell static subscription (#21081)
* Changed QShell uorb subscription to be static to avoid the duplicate sequence number error
2023-02-07 17:18:01 -05:00
Daniel Agar 7b3befded5 ekf2: disable new gravity fusion by default 2023-02-07 13:57:10 -05:00
Daniel Sahu fa6fda6cce ekf2: new gravity observation (#21038)
Signed-off-by: Daniel M. Sahu <danielmohansahu@gmail.com>
2023-02-07 13:28:58 -05:00
alessandro 3e149ee6c5 FlightTaskAuto: landing position updates for precision landing (#20951)
- precision landing works incorrectly, target position is not updated during the descent above target
 - _prepareLandSetpoints needs to update _land_position continuously

Co-authored-by: kapacheuski <kapacheuski@gmail.com>
2023-02-07 12:07:26 -05:00
Jukka Laitinen deb6053d56 Update status leds every time when prearm check status changes
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-02-07 08:02:32 +01:00
Christian Rauch ef5761c223 add SPI to stm32f1 2023-02-07 07:54:38 +01:00
Christian Rauch 2f21c590b0 remove some vscode settings 2023-02-06 17:25:36 -05:00
JaeyoungLim 01c5b3934e Tune GZ plane (rc_cessna) to fly nicely (#21077)
* Increase control surface joint controller gains

* Enable prearm mode and disable airpspeed checks for gz plane
2023-02-06 16:24:01 -05:00
Daniel Agar 661eb2adb4 lib/sensor_calibration: BiasCorrectedSensorOffset() don't incorporate thermal offsets
- the thermal offsets are an optional correction applied to the raw data, so when updating an existing calibration offset with new learned bias we don't want this incorporated
2023-02-06 15:09:07 -05:00
Silvan Fuhrer e153d1defc ROMFS: fix PY asymmetry (motor 1 was wrongly placed twice as far from the CG as 0)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-04 16:08:40 +01:00
Daniel Agar 04d3e549f5 ekf2: resetQuatStateYaw() set _time_last_heading_fuse 2023-02-03 10:03:09 -05:00
Daniel Agar 66ad7fd06c ekf2: include 0 timestamp checks in helpers (isTimedOut(), isRecent(), etc)
- EKF isTimedOut(), isRecent(), and isNewestSampleRecent() need to handle the case where the timestamp has never been set
 - reset() more thoroughly reset fields (mainly impacts unit tests)
2023-02-03 10:00:51 -05:00
Daniel Agar 264a99fb77 ekf2: new EKF2_IMU_CTRL parameter and gyro bias inhibit mechanism
- EKF2_AID_MASK accel bias inhibit moves to EKF2_IMU_CTRL
2023-02-03 09:52:24 -05:00
Daniel Agar f668ea5aa6 ekf2: RingBuffer add reset method 2023-02-03 08:49:44 -05:00
Daniel Agar e3d73cd837 ekf2: mag control reset mag_lpf on first sample 2023-02-02 16:12:09 -05:00
Michał Barciś c2f13dbccf setup/ubuntu.sh modified to correctly install all required dependencies for gazebo
Signed-off-by: Michał Barciś <michal.barcis@tii.ae>
2023-02-02 10:02:47 -05:00
ShiauweiZhao 35080504f7 drivers/drv_sensor.h fix device type duplicate definition 2023-02-02 09:54:47 -05:00
Vincent Poon a90bae9e50 ci: build and deploy kakuteh7v2 & Kakuteh7mini
Adds Holybro kakuteh7v2 & Kakuteh7mini to Travis CI for building and deployment to S3 for QGC
2023-02-02 09:51:53 -05:00
Hamish Willee 2938db1c60 Apply suggestions from code review 2023-02-02 15:20:34 +01:00
Hamish Willee 7cea384404 Update src/modules/fw_autotune_attitude_control/fw_autotune_attitude_control_params.c 2023-02-02 15:20:34 +01:00
Hamish Willee d65e5969e1 FW_AT_MAN_AUX - define what an Aux input is 2023-02-02 15:20:34 +01:00
Silvan Fuhrer ba1d02ee75 MPC: improve description of MPC_LAND_RC_HELP
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-02 14:31:22 +01:00
小光 849fbabc47 px4_mtd: the address of 'instances' will never be NULL (#21039)
Signed-off-by: AuroraRAS <chplee@gmail.com>
2023-02-02 08:06:00 +01:00
Silvan Fuhrer d9a4d1d5c4 Commander: use FW_AIRSPD_MAX as threshold for airspeed preflight checks
Check fails if airspeed reading is above FW_AIRSPD_MAX.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 20:43:38 -05:00
Robbie Drage cb4235887f vscode: change cubeorange build target
- Fixes typo in Cube Orange build target config

Fixes issue #17745
2023-02-01 18:17:45 -05:00
Silvan Fuhrer 32cab66c44 Commander: hide hint to param in low position accuracy event for end users
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 16:47:11 +01:00
Silvan Fuhrer 9b3a28dff5 Commander: add local_position_accuracy_low flag, incl. warning and RTL
Set this flag to true if local position is valid but accuracy low, such that
the operator can be warned before system switches to position-failure failsafe.
Additionally, switch to RTL if currently in Mission or Loiter to try to reach home
or fly out of GNSS-denied area.

Set low accuracy threshold to 50m by default for FW and VTOL.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 16:47:11 +01:00
Silvan Fuhrer 3ca126cc46 Commander: improve description of COM_FS EPH, EPV, VEL_EVH params and increase FW and VTOL defaults
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 16:47:11 +01:00
Silvan Fuhrer cbc4c35bcf Commander params: improve meta data for max flight time and wind
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 08:48:09 +01:00
Silvan Fuhrer 6d84da5cf1 Commander: add max flight time warning (starting at 90%)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-02-01 08:48:09 +01:00
Beat Küng b1709743f7 commander: add wind or flight time limit exceeded mode requirement
This prevents switching into any of these modes once the condition is set.
2023-02-01 08:48:09 +01:00
Beat Küng a8628c9d9c fix commander: clear takeoff_time only on disarm
Otherwise the flight time restriction flag gets cleared too early, before
disarming (which puts the vehicle into the previous mode and it might
take off again).
2023-02-01 08:48:09 +01:00
Beat Küng 8e4c5884ec fix commander: need to check for valid mode change even if already the same
Fixes the following case:
- user intention set to X
- failsafe triggers, mode = Y
- can_run for X becomes false
- user tries to switch to X
  -> need to re-evaluate can_run
2023-02-01 08:48:09 +01:00
Beat Küng 7988491e37 failsafe simulator: improve spacing for multi-line checkboxes
Reduces line-height to 100% in that case.
2023-02-01 08:48:09 +01:00
ShiauweiZhao 931f602995 drivers/imu/invensense: new IAM-20680HP IMU driver (#21025) 2023-01-31 09:33:26 -05:00
Daniel Agar 2be701f902 platforms/nuttx: cmake debug pass GDB path and set RTOS plugin file extension 2023-01-30 20:19:38 -05:00
Eric Katzfey a4aa76f0ac VOXL2 board updates and new Kconfig option for ROOTFSDIR
- also includes a couple of miscellaneous changes to VOXL2 support to show Qurt messages on px4 console and put logs in the proper spot
2023-01-30 12:03:40 -05:00
Julian Oes b1fc0ca0d0 mavlink: always forward messages to/from USB
Previously, it was not possible to enable forwarding of messages to/from
teh USB instance because it does not have a param for it, like the
serial instances have.

With this commit, we change the default to always set forwarding on for
the USB instance as that is likely desired.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Julian Oes 0446292c75 mavlink: always use public method
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Julian Oes 7b8cf4913e mavlink: show forwarding status
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Daniel Agar 47215bb625 lib/wind_estimator: symforce codegen remove reserved identifier naming
- from the C standard, "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"
2023-01-30 09:24:32 -05:00
Daniel Agar efe1d43550 ekf2: symforce codegen remove reserved identifier naming
- from the C standard, "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"
2023-01-30 09:24:32 -05:00
Beat Küng 0687fd2689 lockstep_scheduler: avoid pthread_cond_destroy on at_exit
The static object is destroyed on at_exit while threads might still be
inside a CS. This can lead to a hanging process.
Cleaner would be to gracefully stop the threads.

According to https://linux.die.net/man/3/pthread_cond_destroy:
Attempting to destroy a condition variable upon which other threads are
currently blocked results in undefined behavior.
2023-01-30 11:45:02 +01:00
Hamish Willee f25abbc80a Fix magnetometer typo 2023-01-30 10:24:16 +01:00
Daniel Agar 8da993c30e Update world_magnetic_model to latest Sat Jan 28 11:14:05 UTC 2023
Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-01-28 11:41:03 -05:00
PX4 BuildBot 88038717dc update all px4board kconfig 2023-01-28 11:39:51 -05:00
Roman Bapst 4646762f9d Use multiplication instead of division 2023-01-28 10:31:17 -05:00
Silvan Fuhrer 0c735dea2e AirspeedSelector: use scientific notation for small param
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-28 10:31:17 -05:00
Silvan Fuhrer d32f400851 WindEstimator: use isAllFinite()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-28 10:31:17 -05:00
Silvan Fuhrer a6d14796e4 WindEstimator: add consts, fix float comparison to 0 and use consistently floats in division
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-28 10:31:17 -05:00
Silvan Fuhrer 15335b194a WindEstimator: use state indexing enum consistently
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-28 10:31:17 -05:00
PX4 BuildBot 21ddb04856 Update submodule mavlink to latest Sat Jan 28 00:39:00 UTC 2023
- mavlink in PX4/Firmware (fa65292bb7542cb1f2a4cdaac10738fa17777a6d): https://github.com/mavlink/mavlink/commit/74dee05f0cd121ae27e021d011a04b161c9d0440
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/e3b8756e37cd2cd01ba658461bb4dbffb2fdf914
    - Changes: https://github.com/mavlink/mavlink/compare/74dee05f0cd121ae27e021d011a04b161c9d0440...e3b8756e37cd2cd01ba658461bb4dbffb2fdf914

    e3b8756e 2023-01-25 olliw42 - update storm32.xml (#1941)
2023-01-27 21:14:07 -05:00
Silvan Fuhrer 48f2b42e12 FWPositionController: remove factor of 2 for switching to LOITER if altitude is not reached
Instead check if system has previously switched into LOITER to acheive the current
WP of type POSITION, and in that case stay in LOITER until altitude is reached.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-27 16:51:30 +03:00
Eric Katzfey e862fde084 ver: use PX4_INFO_RAW and add vendor version (#21008) 2023-01-27 07:13:37 +01:00
Silvan Fuhrer d53d200aa5 Update msg/TecsStatus.msg
Co-authored-by: KonradRudin <98741601+KonradRudin@users.noreply.github.com>
2023-01-26 17:04:43 +01:00
Silvan Fuhrer 88ec117e59 TECS: rename tecs_status.altitude_filtered to altitude_sp_ref
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-26 17:04:43 +01:00
Silvan Fuhrer 06f4195663 PositionControllerStatus.msg: add comments
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-26 17:04:43 +01:00
Silvan Fuhrer fc1c5da92c tecs_status.msg: add comments to states
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-26 17:04:43 +01:00
Silvan Fuhrer 5099a91f87 TECS: keep _pitch_integ_state in radians
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-26 17:04:43 +01:00
Silvan Fuhrer e16f98c2b6 FW Position controller: remove unused climbout arguments
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-26 17:04:43 +01:00
Eric Katzfey aae431e4d5 Removed unused variables in LED driver that were causing fatal build errors on Qurt platform (#21007) 2023-01-25 16:35:56 -08:00
PX4 BuildBot d6d41af9a4 Update submodule nuttx to latest Wed Jan 25 12:38:18 UTC 2023
- nuttx in PX4/Firmware (d3b7112dd9): https://github.com/PX4/NuttX/commit/f80785664fcd99e36835dcb7e9b9b97cd5e9cf8d
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/35997053c5f61039e542c01440feb10baba5049d
    - Changes: https://github.com/PX4/NuttX/compare/f80785664fcd99e36835dcb7e9b9b97cd5e9cf8d...35997053c5f61039e542c01440feb10baba5049d

    35997053c5 2023-01-23 David Sidrane - [BACKPORT] s32k1xx:serial Do not use TC use TDRE & TIE
2023-01-25 14:48:22 -05:00
PX4 BuildBot cc5509381a boards: update all NuttX defconfigs 2023-01-25 14:47:48 -05:00
PX4 BuildBot 03f681ebf8 update all px4board kconfig 2023-01-25 12:57:17 -05:00
Silvan Fuhrer a210c96aa9 Commander: ssimplify error messages for LOITER rejection
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-25 16:40:27 +01:00
Silvan Fuhrer 148ffe4e25 add support for DO_CHANGE_ALTITUDE
Do the same as DO_REPOSITION wit only the altitude field populated
and MAV_DO_REPOSITION_FLAGS set, which means:
- switch to Loiter mode if not already in it
- set the current altitude to what is specified in the altitdue field,
keep current altitude setpoint otherwise
- keep current position setpoint
- fall back to current estimated position in case a position setpoint
is not finite

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-25 16:40:27 +01:00
Daniel Agar 0bdec5bcc0 cmake: nuttx fix jlink-nuttx dependency 2023-01-25 09:06:35 -05:00
KonradRudin d3b7112dd9 [TECS]: If in airspeedless mode, add the throttle integrator term to the throttle setpoint, if the integrator term is positive. This should avoid reducing airspeed when switching to airspeedless mode. (#20987) 2023-01-25 09:16:11 +01:00
modaltb 20b7a8c9f6 drivers/actuators/modalai_esc --> modal_io and rename UART_ESC prefix to MODAL_IO (#20995) 2023-01-24 20:24:58 -05:00
Benjamin Perseghetti 60de5b3ea4 simulation/gz_bridge: remove proceeding px4_ from servos in gazebo model (#20998)
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-01-24 19:56:11 -05:00
Benjamin Perseghetti 684b4a4b8a simulation/gz_bridge: rc_cessna plane model working, Gazebo Garden updates, and prepare for proper airspeed (#20989)
Co-authored-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
2023-01-24 19:01:45 -05:00
modaltb fbd2e111d0 boards/modalai/fc-v1: revert DMA changes on FCv1 for now (from #20956) 2023-01-24 14:50:05 -05:00
alexklimaj 0776c47d88 Enable ARK CANnode pwm outputs 7 and 8 2023-01-24 14:49:21 -05:00
alexklimaj ac7dc030c3 Add ARK CANnode ver command 2023-01-24 14:49:21 -05:00
Daniel Agar 64c2ec5eea simulation/gz_bridge: remove cmake CONFIGURE_DEPENDS
- PX4 build system simulation targets are optional and no longer
strictly required
2023-01-24 13:58:30 -05:00
Daniel Agar 9cb6de8010 simulation: relax jmavsim java requirements (finding vecmath.jar) 2023-01-24 13:56:24 -05:00
Daniel Agar 3b543c7700 mavlink: serialize mavlink generation to prevent broken output
- let uAvionix generation fully complete before generating CONFIG_MAVLINK_DIALECT
2023-01-24 13:49:28 -05:00
JaeyoungLim 644aeb9153 support fixed-wing in new Gazebo (gz or ignition gazebo) (#20939)
* Add gz plane airframe config

Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Co-authored-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-01-24 09:22:53 -05:00
Jiangxuan Chen c31867f104 support for KakuteH7v2, KakuteH7mini, and BMI270 IMU driver (#20545)
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-22 19:41:39 -05:00
Daniel Agar 7c9dcd1985 drivers/uavcan: silence noisy libuavcan cmake version deprecation warning for now
- keep drivers/uavcannode cmake in sync with drivers/uavcan
2023-01-22 14:48:43 -05:00
Daniel Agar 1b46028fd3 mavlink: generate mavlink quiet by default (stdout redirected to log file) 2023-01-22 14:45:41 -05:00
bresch 6e30f8f5cb ekf2: use dedicated aid_src message for flow for terrain aiding 2023-01-21 15:31:19 -05:00
bresch b4b48cae75 ekf2: terrain flow - migrate to Symforce 2023-01-21 15:31:19 -05:00
Daniel Agar 3f842f01a0 simulator/gz_bridge: split actuator outputs for ESCs and servos (#20979)
- existing SIM_GZ outputs -> SIM_GZ_EC (ESCs)
 - new SIM_GZ_SV for servos (not fully implemented)
2023-01-21 14:44:09 -05:00
berkercanatar 9ac6b3d3c5 Update current year in LICENSE
Update year to match with the current year 2023 in LICENSE file.
2023-01-21 12:57:27 -05:00
modaltb c0e8508b01 actuators/modalai_esc/modalai_esc: fix ESC ID to Motor remap regression (#20977) 2023-01-21 12:57:02 -05:00
Daniel Agar a93ef657d1 HIL/test_airframes.sh allow 'gps' and 'mavlink' status to fail
- we're only looking for debug info if/when things go wrong later
2023-01-21 11:38:39 -05:00
Daniel Agar fb000e874f boards: px4_fmu-v5_debug quiet RTC debug errors
- test rack CUAV v5 plus is producing false positives (in this particular situation) that are failing the overall testing
2023-01-21 11:14:28 -05:00
Daniel Agar 6b13fb8b86 HIL/test_airframes.sh check mavlink and gps status before stopping all
- occasionally these fail on the test rack (cube orange), so try to
gather more information
2023-01-21 11:06:23 -05:00
FriedrichTuttas 1830195d30 boards: px4_fmu-v6x add pulldowns to GPIO pins UART7 RTS and UART7 CTS (#20974)
- https://github.com/PX4/PX4-Autopilot/issues/20762

Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2023-01-21 10:19:57 -05:00
Daniel Agar 1aa8ec4537 drivers: initial VectorNav (VN-100, VN-200, VN-300) support 2023-01-20 19:09:30 -05:00
Daniel Agar bd9d09663f commander: avoid uint64 timestamp implicit float conversions
- 64 bit time in microseconds stored in a 32 bit float quickly becomes problematic
 - fixes https://github.com/PX4/PX4-Autopilot/issues/20944
2023-01-19 17:48:40 -05:00
Daniel Agar 3822ef1519 boards: update all in tree bootloaders 2023-01-19 17:25:39 -05:00
PX4 BuildBot c4127813b3 Update submodule sitl_gazebo-classic to latest Thu Jan 19 12:38:59 UTC 2023
- sitl_gazebo-classic in PX4/Firmware (f3cdf70732): https://github.com/PX4/PX4-SITL_gazebo-classic/commit/1a725dd858a3a7c15e79e8e40aa91f4fad9128e5
    - sitl_gazebo-classic current upstream: https://github.com/PX4/PX4-SITL_gazebo-classic/commit/9343aaf4e275db48fce02dd25c5bd8273c2d583a
    - Changes: https://github.com/PX4/PX4-SITL_gazebo-classic/compare/1a725dd858a3a7c15e79e8e40aa91f4fad9128e5...9343aaf4e275db48fce02dd25c5bd8273c2d583a

    9343aaf 2023-01-15 JaeyoungLim - Fix model prefix for user camera plugin (#948)
e5836d3 2023-01-13 Simone - Added robot namespace to the model (#941)
2023-01-19 12:33:53 -05:00
PX4 BuildBot d2240c0c48 Update submodule nuttx to latest Thu Jan 19 12:39:05 UTC 2023
- nuttx in PX4/Firmware (0e2eed62f9a9b44cefc9765fd21aac1a368e4314): https://github.com/PX4/NuttX/commit/d43edd7879fb398de9abcc9d58e8a65c9ed254db
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/f80785664fcd99e36835dcb7e9b9b97cd5e9cf8d
    - Changes: https://github.com/PX4/NuttX/compare/d43edd7879fb398de9abcc9d58e8a65c9ed254db...f80785664fcd99e36835dcb7e9b9b97cd5e9cf8d

    f80785664f 2023-01-16 Julian Oes - [FIX] Add missing define condition
1751c2c7cb 2023-01-16 Julian Oes - [BACKPORT] stm32h7: add SMPS PWR option for STM32H7X7
2023-01-19 12:33:27 -05:00
PX4 BuildBot 8d6a336b2c boards: update all NuttX defconfigs 2023-01-19 12:32:57 -05:00
PX4 BuildBot 898dbb96b4 update all px4board kconfig 2023-01-19 12:32:09 -05:00
Silvan Fuhrer f3cdf70732 VTOL: Quad-chute: rework loss of altitude condition
Previously the condition was based on hard coded height rate estimate and
setpoint values and an altitude error threshold. That showed to be leading
to false positives when the vehicle doesn't tightly follow the altitdue
ramp given by TECS to achieve a new altitude setpoint, and has become
completely infeasibly with the latest TECS rework that leads to non-ramped
altitude setpoint changes in the tecs_status message.
The new check no longer checks the altitude error but only the height rate
instead. It begins to integrate the height rate error once it detects an
uncommanded descend condition (height rate negative while setpoint is
positive). Integral threshold can be tuned by user (VT_QC_HR_ERROR_I).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-19 09:36:09 +01:00
Silvan Fuhrer 36dc75bedf VTOL: introduce new quad-chute check for altitude loss during front transition
By default the threshold is set to 10m.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-19 09:36:09 +01:00
Beat Küng 98705ced2f lightware_laser_i2c: fix unreliable startup detection
In rare occasions asking for the protocol values after setting it returned
[0, 0]. I did not see any documentation for having to wait, but adding a
short wait period fixes it.
2023-01-18 23:02:56 -05:00
modaltb 05d828642d boards/modalai: FCv1 DMA optimiziation for 2Mbit UART (#20956)
- disable unused SPI3 DMA
- enable USART2 RX/TX, UART5/6 TX, UART4 RX
2023-01-18 23:01:57 -05:00
Daniel Agar 9d7c4b8273 boards: ark_can-flow_default disable sensors/vehicle_acceleration to save flash 2023-01-18 22:58:19 -05:00
Daniel Agar ffa9d61065 boards: px4_sitl_default include gz_bridge by default 2023-01-18 22:56:17 -05:00
Daniel Agar 2b5722786b cmake: fix and update packaging 2023-01-18 22:51:12 -05:00
alexklimaj 5eb13e4448 ARKV6X bootloader init all pwm outputs as input pulldown 2023-01-18 21:52:11 -05:00
alexklimaj 7c2da8d1ef Enable ARKV6X SPIX SYNC, enable icm426889 and iim42652 CLKIN 2023-01-18 21:52:11 -05:00
Daniel Agar 967c37ac17 boards: mro_pixracerpro_default disable examples/fake_gps to save flash 2023-01-18 21:44:09 -05:00
Daniel Agar 6a64e74ef3 icm42688p: fix register bank selection
* icm42688p: clear INT_CONFIG1 INT_ASYNC_RESET for proper INT1/INT2 pin operation
2023-01-18 11:08:03 -05:00
Daniel Agar 95300d5637 ekf2: refactor output predictor to class
- refactor all EKF backend output predictor pieces into new OutputPredictor class
 - output states are now calculated immediately with new high rate IMU rather than after EKF update
 - IMU delayed sample is passed as around as control data to avoid storing an extra copy and make the requirement clear
2023-01-18 10:59:34 -05:00
murata c054ca20cc logger: Add arm to shutdown 2023-01-18 07:47:36 +01:00
Julian Oes 35d6b734f5 perf: avoid leaks in dtor
From what address sanitizer tells me, we need to tell delete what type
it is deleting.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-17 21:20:51 -05:00
modaltb 8123090571 boards: modalai FCv2 BSP updates (#20958)
- FCv2 MR1
 - configure TELEM2 for VOXL use case by default
 - use ICP201XX baro by default
2023-01-17 21:20:16 -05:00
Siddharth Bharat Purohit 1c63d5666b boards: add support for CubeOrange+ (#20304)
Co-authored-by: Julian Oes <julian@oes.ch>
2023-01-17 20:55:57 -05:00
Daniel Agar 71d916dbcd ekf2: PreFlightChecker fix vel_ne_innov_lpf index 2023-01-17 13:03:38 -05:00
modaltb 6f718cd48d drivers/actuators/modalai_esc: update to use mixer module and control allocator properly
- update motor mapping to use new UART_ESC_FUNC* auto generated params
 - add support for actuator_test msg to support Actuator Testing in QGC
 - modalai_fc-vX targets start driver if configured
 - keep track of ESC spin direction in own param
 - set ramp up param in MixerOutput to false
2023-01-16 21:46:37 -05:00
Beniamino Pozzan 2a64145dcd microdds_client: add _subs reset method to allow reconnections
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-01-16 21:43:49 -05:00
Alex Klimaj 00bfd5436a ekf2: increase optical flow preflight check innovation limit (#20940) 2023-01-15 17:52:12 -05:00
Daniel Agar 6991ac014c rename 'gazebo' simulation to 'gazebo-classic' (#20936)
- use `gazebo-classic` everywhere consistently referring to the original Gazebo (eg version 9,10,11)
   - additional `gazebo_*` helper targets added for compatibility, but warn about deprecation and tell you the new target naming
 - use `gz` everywhere when referring to Gazebo (aka Ignition Gazebo or new Gazebo)
2023-01-15 11:36:12 -05:00
Daniel Agar 6605378d0d boards: px4_fmu-v6c_default disable systemcmds/serial_test to save flash 2023-01-14 19:24:47 -05:00
Daniel Agar 30a240a7a4 boards: modalai_fc-v2_default disable examples/fake_gps to save flash 2023-01-14 19:23:19 -05:00
Daniel Agar 52b9b9ba2f simulation: restore 'gazebo' alias for 'gazebo_iris'
- only create helper targets if Gazebo 11 found on system
2023-01-14 17:03:18 -05:00
murata 82ecbccd85 distance_sensor: Add TF02 Pro I2C 2023-01-14 09:28:33 -05:00
Jukka Laitinen 2985b5b9c2 msg/ActuatorTest.msg: Use default queue size the same as MAX_NUM_MOTORS
For the esc_calibration code, the actuator test is published for each motor
in a row. If the orb queue size is too small, messages are lost and not
received in mixer_module.

Set the default orb queue size of ActuatorTest high enough to keep the commands
for all motors in the queue.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-01-14 09:19:10 -05:00
Daniel Agar 45912066d2 fix copyright header year range 2023-01-14 09:16:16 -05:00
Daniel Agar 674a59e48f ekf2: new gyro bias limit parameter EKF2_GYR_B_LIM
- default is now a more conservative 0.15 rad/s (~8.6 deg/s) instead of the previous hardcoded 20 deg/s
2023-01-14 09:15:46 -05:00
Andrew Wilkins 22f7d913bd rover_pos_control: thrust normalization for joystick input (#20885) 2023-01-13 20:11:39 -05:00
Peter van der Perk 7d92d4893e VSCode C/C++ include path and config hints 2023-01-13 20:03:53 -05:00
Daniel Agar c97381c97f mavlink: streams SCALED_IMU fix gyro dt 2023-01-13 20:01:41 -05:00
Daniel Agar 5942194c66 iridiumsbd: advertise status topic immediately and log by default 2023-01-13 20:01:03 -05:00
Eric Katzfey ac80dcd7a8 Voxl2: add qurt i2c driver support and first i2c driver voxlpm 2023-01-13 19:59:41 -05:00
Julian Oes 1e93ae3148 jsbsim: take FG_BINARY env var into account
This is just to match the docs.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-13 17:07:20 -05:00
Silvan Fuhrer 7c766692c4 FW Att and Rate Controller, Tailsitter: fix tailsitter frame transformations
Strictly follow the following convention for tailsitter:
FW Attitude and FW rate controller always operate in the FW frame, meaning that roll is
roll in FW, which for tailsitter means around the yaw axis in the body frame. The interfaces
between modules is though always in body frame.

That enables us to do the axis transformations for tailsitter, that are currently distributed
all over the controller (attitude, rate, vtol module), only at the input and output data of modules.

Side effect is that the FW rate control tuning gains meanings change: while before the roll gains
where meant for the body axis, they are now always applied for the FW roll axis (also in hover). So
the naming now is correct for FW, while before it was for Hover.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 18:18:11 +01:00
Silvan Fuhrer edb59a9000 VTOL: improve QC parameter meta data
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
Silvan Fuhrer 544be72503 VTOL: improve messaging for quad-chute triggered error messages
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
Silvan Fuhrer 623c1418bb Commander: improve messaging for vtol fixed-wing system failure arming check
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
Silvan Fuhrer 303b879748 VTOL/Commander: rename transition_failsafe to vtol_fixed_wing_system_failure
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
Silvan Fuhrer 2d4be68e00 VTOL: reset quad-chute failsafe flag when user triggeres a new transition to FW
This failsafe flag is currently used for not allowing to re-transition to FW, as well
as disabling pusher assist in hover. Till now it was only possible to reset it with
a commanded transition to MC, which many ground station interfaces didn't allow
as the system, after a quad-chute, already was in MC mode.
Hereby it is changed to reset when a new transition to FW is triggered (either via
RC switch or MAVLink command). It is the users responsibility to assess the situation
after a quad-chute happened to try to transition to FW again, manually proceed/land
the vehicle in MC, or let it finish the defined behavior after a quad-chute.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
Silvan Fuhrer 8a680a3153 VTOL: fix quad-chute max altitude limit
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-13 19:02:21 +03:00
bresch 3d50a7ce44 CAL_MAG_SIDES: do not save with factory cal 2023-01-13 10:48:01 -05:00
bresch 3d73e273e6 MAG_SIDES: don't spam user to not change parameter
otherwise this will always show up on every boot if factory calibration
was done in an earlier release
2023-01-13 10:48:01 -05:00
Tanja Baumann 0099523710 v6x: fix IMU rotations for V6X009010 and V6X010010 (#20901)
And add V6X000010 (pixhawk base board)
2023-01-13 14:09:35 +01:00
bresch ced41febb7 hide legacy read-only parameter under Developer category 2023-01-13 11:40:56 +01:00
Matthias Grob a7c03de434 StickAccelerationXY: apply jerk limit after drag 2023-01-13 10:19:43 +01:00
Eric Katzfey 2a315f86ca Qurt specific drivers for testing and some updates to the startup process (#20917)
* Added a couple of Qurt specific drivers for testing and some updates to Qurt startup code
2023-01-12 20:17:30 -05:00
Mathieu Bresciani 767fcb2774 sensors: prefix mag config param SENS instead of CAL (#20723)
* sensors: prefix mag config param SENS instead of CAL
* mag sides: keep CAL_MAG_SIDES required by QGC
2023-01-12 09:42:36 -05:00
Daniel Agar 635daeed8a NuttX push jlink-nuttx into cmake and enable CONFIG_DEBUG_TCBINFO by default 2023-01-12 09:05:26 -05:00
Daniel Agar 5453630a6d Jenkins: hardware test rack ignore irrelevant sensor timeouts 2023-01-11 16:56:19 -05:00
Peter van der Perk 8b5f35b3fe Add S32K3 vscode support add Jlink rtos vscode support 2023-01-11 16:15:13 -05:00
Jaeyoung Lim 16d6e699bb Update sitl_gazebo submodule 2023-01-11 14:39:05 -05:00
Daniel Agar 0f9bc351f1 ekf2: fix global_pos alt_reset_counter publish (#20906)
- fixes #20900
2023-01-11 14:15:07 -05:00
SiHyun Noh 714b3d82fb thepeach: update px4board kconfig to fix missing fw_rate_control module (#20898) 2023-01-11 10:02:46 -05:00
Eric Katzfey 89180ac0f9 Fixed Kconfig and px4board files for voxl2 2023-01-11 09:53:18 -05:00
Julian Oes 72d36fc874 sensors: Add param for VL53L0X to startup
It turns out there was no param to enable starting the VL53L0X at
startup.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-11 09:52:27 -05:00
David Jablonski c6239ce8c2 replay: fix replay msg ids larger than 128 (#20865) 2023-01-11 09:13:53 -05:00
Silvan Fuhrer bc9abf8c36 Commander: always update parameters, not just if disarmed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-11 10:01:08 +01:00
alexklimaj e19c7ca18b Add reboot command to ark flow 2023-01-11 08:11:18 +01:00
Beniamino Pozzan af336719e6 gz_bridge: fix world selector environment variable
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2023-01-08 00:15:35 -05:00
PX4 BuildBot e6c4416250 update all px4board kconfig 2023-01-07 21:53:01 -05:00
Daniel Agar 618288cca9 SITL Gazebo classic make airframes simulator specific 2023-01-07 17:00:35 -05:00
Daniel Agar 97c8a60d67 SITL gz make airframes simulator specific 2023-01-07 17:00:35 -05:00
Daniel Agar ae4cb24100 SITL flightgear make airframes simulator specific 2023-01-07 17:00:35 -05:00
Daniel Agar 1abe35c220 SITL jsbsim make airframes simulator specific 2023-01-07 17:00:35 -05:00
Daniel Agar 75125da34c SITL sihsim make airframes simulator specific 2023-01-07 17:00:35 -05:00
Daniel Agar 95a6eba36c SITL jmavsim make airframes simulator specific
-cleanup and simplify jmavsim SITL launch and debug
2023-01-07 17:00:35 -05:00
Daniel Agar 760fff7d89 Kconfig: fix missing SERIAL_EXT2 (fmu-v5x/v6x) 2023-01-07 12:10:52 -05:00
Daniel Agar dc5ce9b0ce boards: NuttX increase default CONFIG_ARCH_INTERRUPTSTACK 512->768 bytes
- during casual testing on default configs the stack was penetration was reaching ~90% which is a bit too close for comfort
 - increasing by 50% to be conservative
2023-01-07 12:07:35 -05:00
Daniel Agar 7f7dfea998 drivers/imu/analog_devices: experimental support for new ADIS16507 IMU (untested) 2023-01-07 10:56:30 -05:00
Daniel Agar f520d4b3be Update submodule mavlink to latest Sat Jan 7 12:38:21 UTC 2023
- mavlink in PX4/Firmware (8bc88ed526044a864427a4b65135c3baffabb2ef): https://github.com/mavlink/mavlink/commit/0c7792edfeee7cf08e531cb4ce5b4f01854e5724
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/74dee05f0cd121ae27e021d011a04b161c9d0440
    - Changes: https://github.com/mavlink/mavlink/compare/0c7792edfeee7cf08e531cb4ce5b4f01854e5724...74dee05f0cd121ae27e021d011a04b161c9d0440

74dee05f 2023-01-04 Beat Küng - component_metadata: add translation schema (#1934)
0267c4cf 2023-01-04 Bob Long - common.xml: add fuel_pressure ext. to EFI_STATUS (#1938)
c64818e8 2023-01-04 Mathieu Mirmont - common.xml: fix typos in AIS_TYPE enumerate (#1939)
2306bf79 2023-01-04 Hamish Willee - Update pymavlink (#1940)
0077129b 2022-10-06 Peter Hall - Development: update airspeed message
fbf84c64 2022-10-05 Peter Hall - gitignore: add /.vscode
817c44d8 2022-12-15 Mathieu Mirmont - Add the MAV_TYPE_VTOL_TILTWING aircraft type (#1933)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-01-07 10:55:05 -05:00
Julian Oes 243caac44a mavlink: filter command_acks by target
When we receive a command_long or command_int message to
answer, it arrives with a source sysid/compid, so this means we can send
the command_ack back on the appropriate MAVLink instances instead of all
of them.

This commit filters outgoing command_ack messages, so they are only sent
on the MAVLink instances where the sysid/compid has been seen in the
past.

This means that a command_ack is likely still sent on multiple links for
a setup with redundant links.

This should also prevent command_acks from being blasted on Iridium links
when it's not required.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-07 10:39:08 -05:00
Matthias Grob 19cee04f3a ubuntu.sh: always install "Gazebo" next to "Gazebo classic" on 22.04 2023-01-07 10:37:02 -05:00
Marcin 91e97eded9 setup ubuntu.sh; fix legacy gazebo for ubuntu22.04 2023-01-07 10:37:02 -05:00
murata,katsutoshi d821404e4f commander: failsafe define enums for actions (#20880) 2023-01-07 10:10:57 -05:00
bresch 49f8bcfc69 ekf2: purge old ekf2 derivation 2023-01-06 18:35:19 -05:00
Peter van der Perk d1b95a21e4 Fixes MR-CANHUBK3 FMU build and adds it to the CI targets 2023-01-06 18:02:45 -05:00
Hamish Willee 1551e2f15c MIS_TKO_LAND_REQ - improve English for value 4 2023-01-06 09:43:16 +01:00
Julian Oes 7e3dcd7be4 sensors: fix overlapping ifdef
This fixes the case where vehicle_angular_rate is no longer started when
airspeed is not enabled.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-05 21:09:14 -05:00
bresch 26122886ae ekf2: drag fusion - improve parameter description
The user should refer to the online documentation for tuning guidelines
and not the parameter description.
2023-01-05 12:03:24 -05:00
bresch 06ef39d05e ekf2: MC drag fusion - interpolate between X an Y "b" coefficients
Use the current sideslip angle to generate a drag coefficient that is a
mixture of X and Y coefficients, creating an elliptic distribution.
2023-01-05 12:03:24 -05:00
bresch 420f5ef2b7 ekf2: migrate drag fusion derivation to SymForce 2023-01-05 12:03:24 -05:00
bresch 04f76c932e ekf2: decompose drag vector into x-y components
The drag force is a vector.
drag_x = drag.norm() * vx / v.norm()
2023-01-05 12:03:24 -05:00
Paul Riseborough 1a9c358858 ekf2: Add unit tests for drag fusion 2023-01-05 12:03:24 -05:00
bresch 0509f612dd ekf2: fix drag data downsampling
setDragData needs the imu data at full speed to downsample it without
skipping samples.
2023-01-05 12:03:24 -05:00
Daniel Agar 34c57cc5b5 px4-rc.simulator shellcheck fixes 2023-01-04 17:35:41 -05:00
bresch 14bf04b9a4 SIH: add to px4_fmu-v5_default and auto start GPS sim driver
- add simulator kconfig dependencies
 - exclude SIH (+deps) where sufficient flash isn't available
2023-01-04 16:26:15 -05:00
Peter van der Perk fa87375d0c Add hardfault log progmem flash backend 2023-01-04 12:52:01 -05:00
Daniel Agar ca9ae80b10 px4-rc.simulator support launching new Gazebo Garden vs Fortress (#20864)
- "ign gazebo" command is now "gz sim" as of Gazebo Garden
2023-01-04 12:39:06 -05:00
JaeyoungLim 21e88f64b4 Add new fixed wing rate control module (fw_rate_control)
* Fixedwing rate control into a separate module
* Start fw_rate_control for vtol
* Move over airspeed related parameters to fw_rate_control

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-04 11:14:00 -05:00
Peter van der Perk 4c2c06060d PX4Board kconfig add dependency chain for QURT & POSIX modules 2023-01-04 09:40:17 -05:00
Peter van der Perk ddaa3c24eb Fix MR-CANHUBK3 2023-01-04 05:52:58 -05:00
frederictaillandier 315c075e5c updating the sitl-gazebo-sniffer to allow a vehicle name in the serialized object 2023-01-03 17:00:48 +01:00
bresch 28d664aed5 EKF2: purge outdated matlab scripts
Those files are no longer maintained and will just confuse new users
2022-12-30 13:01:58 -05:00
Daniel Agar cc1b043e18 cmake/kconfig.cmake: fix whitespace 2022-12-30 13:01:30 -05:00
dagar 618ce9a865 [AUTO COMMIT] update change indication 2022-12-29 16:37:34 -05:00
Daniel Agar 20a1c73cf0 ekf2: reinit baro height on sensor or calibration change
- handle reset on delayed time horizon
2022-12-29 16:37:34 -05:00
Silvan Fuhrer 0e2df5a152 remove drivers/pca9685
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-29 12:57:41 -05:00
Silvan Fuhrer 348dcf11c8 remove examples/hwtest
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-29 12:57:11 -05:00
bresch 3e4e5c991c ekf2: add mag unit tests 2022-12-29 12:56:36 -05:00
bresch 657bd6cf72 ekf2: stop mag fusion when inhibited for too long
Also do not try to run anything if mag is inhibited
2022-12-29 12:56:36 -05:00
bresch c75a9058a5 EKF2: only fuse zero innovation if yaw var is large 2022-12-29 12:56:36 -05:00
Daniel Agar 40e3503c39 boards: fix all NuttX configs (CONFIG_SMALL NuttX upgrade migration) 2022-12-29 12:50:37 -05:00
Daniel Agar 0fbb6db6d4 boards: update all NuttX defconfig (make all_olddefconfig) 2022-12-29 12:50:37 -05:00
Daniel Agar c2f15f5957 boards: update all px4boards (make all_px4_savedefconfig) 2022-12-29 12:50:37 -05:00
Daniel Agar 0204a55354 Makefile: add all_olddefconfig and all_px4_savedefconfig helpers for updating all boards 2022-12-29 12:50:37 -05:00
Daniel Agar f37eb55e19 platforms/nuttx: FATAL error if NSH enabled and SET disabled 2022-12-29 12:50:37 -05:00
Peter van der Perk 964e9dd8c4 Fix MRO NuttX defconfig 2022-12-28 17:00:58 -05:00
Peter van der Perk f7c183edd3 Update NuttX kernel for K3 changes 2022-12-28 10:21:58 -05:00
Peter van der Perk 5e3165af70 S32K3 Enable dflash progmem 2022-12-28 10:21:58 -05:00
Peter van der Perk 2fde13c07d S32K3 EMAC TJA1103 Support 2022-12-28 10:21:58 -05:00
Peter van der Perk 2f1a165d85 S32K3 Enable IRQ stack 2022-12-28 10:21:58 -05:00
Benjamin Perseghetti c3174b5dec Tools/setup/ubuntu.sh: Fixes install for 22.04 gazebo (#20833)
Fixes ubuntu installation script for 22.04 to only install gazebo.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2022-12-28 10:16:43 -05:00
Peter van der Perk beabe56253 S32K3XX call functional reset on board_reset 2022-12-27 08:33:24 -05:00
Yannick Fuhrer 98529a5b49 Battery: delay initialization of SoC (#20729)
* Battery: delay initialization of SoC

* battery: rework of battery initialization delay

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2022-12-26 18:44:22 +01:00
PX4 BuildBot 54d825730e Update submodule libcanard to latest Sat Dec 24 00:39:03 UTC 2022
- libcanard in PX4/Firmware (280ef8935565d4a13e0780c926e1707fa5a90118): https://github.com/opencyphal/libcanard/commit/2e3b11f6b8325080c160d38521b169b0bbb6b1c7
    - libcanard current upstream: https://github.com/opencyphal/libcanard/commit/5c69d451ab0787a81dcb615692d707f2a286f5e5
    - Changes: https://github.com/opencyphal/libcanard/compare/2e3b11f6b8325080c160d38521b169b0bbb6b1c7...5c69d451ab0787a81dcb615692d707f2a286f5e5

    5c69d45 2022-11-03 John Vishnefske - Add sanitizers to unit test cmake build (#205)
989124d 2022-10-30 Pavel Kirienko - Fix 203 (#204)
f85103b 2022-10-13 joshvazquez-amzn - Fix warnings in test helpers (#202)
2022-12-23 22:36:09 -05:00
PX4 BuildBot b6eb5ba790 Update submodule sitl_gazebo to latest Sat Dec 24 00:39:01 UTC 2022
- sitl_gazebo in PX4/Firmware (bb591c6c29): https://github.com/PX4/PX4-SITL_gazebo/commit/049b667d5e86fa71bd47c41dd10e911a0e2681b0
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/d44ce17f4368ab961f87fcc59845647fb629033f
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/049b667d5e86fa71bd47c41dd10e911a0e2681b0...d44ce17f4368ab961f87fcc59845647fb629033f

    d44ce17 2022-12-19 Frederic Taillandier - fixing macos test build (#935)
7f9239c 2022-12-19 Daniel Mesham - Add safe landing world (#932)
61b1fc1 2022-12-19 Daniel Mesham - Update depth camera to match the RealSense D455 (#933)
2022-12-23 22:34:32 -05:00
Julian Oes bb591c6c29 mavlink_shell: fix stall on CubeOrange
On CubeOrange where no console is configured by default, starting
MAVLink shell just stalls, and doesn't work.

Also, logfile download has been reported not to work, and again, seems
to work with this change.

Signed-off-by: Julian Oes <julian@oes.ch>
2022-12-23 11:00:20 -05:00
bresch 86a3d2459a ekf2: remove old yaw estimator generated code 2022-12-23 10:28:19 -05:00
bresch 0388c161e7 ekf2: compare yaw estimator sympy vs symforce 2022-12-23 10:28:19 -05:00
bresch 7c33019510 EKF2: move yaw estimator to symforce 2022-12-23 10:28:19 -05:00
alexklimaj 2f1b3142a6 Decrease PAW3902 and PAA3905 backup schedule to 200ms 2022-12-22 20:46:19 -05:00
Eric Katzfey c3e70b03aa Add more to Voxl2 build and fix associated build errors (#20821)
- Do not pull in PWM parameters when DISABLE_PARAMS_MODULE_SCOPING is TRUE since VOXL2 has no PWM nor any of the required timer_config files that go along with that
 - Replace non-standard M_PI constants with PX4 defined M_PI_F constants
 - Include missing header file for function hrt_absolute_time declaration
 - Add new PX4_SOC_ARCH_ID for the VOXL2 board
2022-12-22 15:44:19 -05:00
alexklimaj 35a9dba6e6 Enable ARKV6X heater 2022-12-22 15:12:32 -05:00
Daniel Agar 03c0808ae6 vscode/settings.json: add .sdf and Jenkinsfile associations 2022-12-21 16:46:25 -05:00
Silvan Fuhrer aff3f2e77f boards: disable gyro fft module for v5 and v5x to safe flash
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-21 10:17:59 -05:00
Daniel Agar f2cd7667dc systemcmds/bsondump: new command line utility (extracted from parameters) 2022-12-21 10:14:00 -05:00
Konrad f5524fa605 TECS: Combine both airspeed and airspeed derivative filters in TECS into one MIMO filter using a steady state Kalman filter. 2022-12-21 09:04:19 +01:00
Konrad 08c36612b3 TECS: Updated throttle control for airspeed sensorless vehicles. It includes the P gain controller instead of feedforward only. I term is still disabled. 2022-12-21 09:04:19 +01:00
Konrad 77539d4dac TECS: Rearrange setpoint input. If an altitude rate is given, use this as a feedforward term in the altitude control. If an altitude setpoint is given use a reference model to get a smooth altitude setpoint. 2022-12-21 09:04:19 +01:00
Konrad 8c6dfc840b TECS: Fix bug to reset airspeed derivative and energy rate low pass filters at every time step. 2022-12-21 09:04:19 +01:00
Konrad 7a3e0f53c2 TECS: Replaced old tecs by cleaned up version. 2022-12-21 09:04:19 +01:00
Konrad 991689d3cd TECS: Add new tecs library in parallel to old tecs in the position control library for comparison. 2022-12-21 09:04:19 +01:00
Konrad c64e111d8e TECS: Rearranged the TECS library into submodules. 2022-12-21 09:04:19 +01:00
Daniel Agar 54a32eb2f7 ekf2: EV overhaul yaw and position fusion (#20501)
- move EV yaw and EV position to new state machines
 - EV yaw and EV pos now configured via EKF2_EV_CTRL (migrated from EKF2_AID_MASK)
 - new EV position offset estimator to enable EV position while GPS position is active (no more EV pos delta fusion)
 - yaw_align now strictly means north (no more rotate external vision aid mask)
 - automatic switching between EV yaw, and yaw align north based on GPS quality
2022-12-20 10:23:56 -05:00
Silvan Fuhrer 20342216e2 Airspeed Selector: use better density source and only save scale parameter if valid (#20764)
* AirspeedSelector: use vehicle_air_data.rho for calculating groundspeed-wind CAS

Previously the vehicle_air_data.temperature and pressure was used, instead of the
density field directly.
Only makes a difference if there is an airspeed sensor connected to provide
the air temperature.

* AirspeedSelector: only safe estimated scale in param if airspeed is valid

* AirspeedSelector: remove 0.01 cliff for saving learned scale to param

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-20 15:52:54 +01:00
David Sidrane efbb2cf2e3 nxp_ucans32k146:Add LPSPI DMA
nxp_ucans32k146:Add Dready
2022-12-20 09:31:05 -05:00
David Sidrane b7ea31ceed s32k1xx:Add gpiosetevent 2022-12-20 09:31:05 -05:00
David Sidrane da536b3a82 nxp_ucans32k146:Add PROBEs for debugging 2022-12-20 09:29:07 -05:00
David Sidrane e8aa54e7bb nxp_ucans32k146:Use GPIO based RTS (Buffer not character) 2022-12-20 09:29:07 -05:00
David Sidrane fe7d761a11 nxp_ucans32k146:Use serial DMA 2022-12-20 09:29:07 -05:00
David Sidrane 39822ef5a1 nxp_mr-canhubk:lpuart0 use Serial HW flow control 2022-12-20 09:27:40 -05:00
David Sidrane 6a7f5a339b nxp_mr-canhubk3:fmu use Serial DMA 2022-12-20 09:27:40 -05:00
David Sidrane 022e941ebe NuttX with s32k3 Serial DMA 2022-12-20 09:27:40 -05:00
Igor Misic 52275923ad adsb: add support for callsign 2022-12-20 08:18:09 +01:00
Eric Katzfey 678607117a Qurt UART ESC driver support (#20784) 2022-12-20 01:25:12 -05:00
PX4 BuildBot da7d52e302 Update submodule libevents to latest Tue Dec 20 00:39:10 UTC 2022
- libevents in PX4/Firmware (26f3fea7ebb328ef58d4d592dae0559c91f13c1c): https://github.com/mavlink/libevents/commit/0c8bc543db2f8c78f59214d5bcf959bdadd96677
    - libevents current upstream: https://github.com/mavlink/libevents/commit/8d9c5551273a52e22253ea6abf28d9e4b05e0ab7
    - Changes: https://github.com/mavlink/libevents/compare/0c8bc543db2f8c78f59214d5bcf959bdadd96677...8d9c5551273a52e22253ea6abf28d9e4b05e0ab7

    8d9c555 2022-12-13 Beat Küng - README: clarify use of component ID
2022-12-20 01:24:15 -05:00
Peter van der Perk b8e07cc52c Fix Ethernet Socket Defaults 2022-12-19 13:24:55 -05:00
Silvan Fuhrer 9c66f1b14a AirspeedValidator: Remvoe airspeed variance after boot check (#20678)
This checks was introduced to catch the (unlikely) case of the driver publishing
a stale value that is not actually from a current measurement right after boot.
This was done by declaring it invalid if there is no update of the measurement
within the first 10s after boot.
Practice though has shown that around 0, many airspeed sensors have such a low
resolution that the reported airspeed value is often at the exact same value
for longer periods of time on totally healthy sensors, and thus we trigger
some false positive failure detections.
Given that this failure mode (driver publishing stale data) is quite rare (if
it doesn't receive new data it should stop publishing), I remove this check
here again.
When in aerodynamic flight mode and armed, there is still the data stuck
check that can trigger if there is no update for 2s.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-19 11:36:48 +01:00
Igor Misic df441ac202 drivers/gps: add param for enabling protocols at i2c interface 2022-12-19 08:52:36 +01:00
tanja e5255b173a v6x: use param SENS_INT_BARO_EN to start internal bmp388 2022-12-19 08:50:31 +01:00
tanja 987de56af2 v6x: rev10 has second PM 2022-12-19 08:50:31 +01:00
tanja 09039faf0a v6x: change bootloader UART7 to UART5 2022-12-19 08:50:31 +01:00
Eric Katzfey b0580d88e1 Added muorb aggregator from DSP to Apps direction 2022-12-16 19:43:00 -05:00
Peter van der Perk d945e87e4f S32K3 DRDY less ambigious 2022-12-16 12:02:44 -05:00
Peter van der Perk 05dd43a8de S32K3 Correct pinirq pinset for external interrupt 2022-12-16 12:02:44 -05:00
RomanBapst ffdf186598 vtol_att_control: reset transition timer states when starting a transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-12-16 11:36:00 +03:00
frederictaillandier 84c5ce3a53 removing catkin sitl_gazebo submodule tests as it has also been removed in PX4-Autopilot
Updating the submodule
https://github.com/PX4/PX4-SITL_gazebo/pull/934
2022-12-16 08:11:28 +01:00
JaeyoungLim 9db133b13d Remove angular velocity controller module 2022-12-16 07:52:20 +01:00
Peter van der Perk 52c0cba24b NuttX with TXAVAL merged
nxp_ucans32k146:Use txavail NuttX

   Fix Stack Size
   Expose some K1 debug features
2022-12-15 08:29:10 -05:00
RomanBapst 48e8477799 vtol_att_control: disable maximum height for quadchute by default
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-12-15 15:40:53 +03:00
RomanBapst 9ed51ba8ed quadchute: introduced parameter to specify maximum height
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-12-15 15:40:53 +03:00
Peter van der Perk f3fe10f63e S32K Dynamic periphclocks 2022-12-14 10:44:42 -05:00
Marcell Rausch 6c7702b906 mavlink: Keep sending GPS_RAW_INT/GPS2_RAW.hpp streams on GPS failure
* GPS_RAW_INT: Only send no gps messages if gps has ever been present
 * GPS2_RAW: Keep in sync with GPS_RAW_INT

Signed-off-by: Marcell Rausch <marcell@auterion.com>
2022-12-14 09:12:39 -05:00
David Sidrane 96362bfb52 nxp_mr-canhubk3 Add PROBEs for Debugging 2022-12-14 07:34:23 -05:00
Beat Küng 5217bedd4b commander: make SYS_HAS_MAG a count param and ensure system has N calibrated + enabled mags 2022-12-14 07:55:04 +01:00
Tanja Baumann d75e61eef6 v6x: fix rc.board_sensors ver command (#20763) 2022-12-14 07:53:12 +01:00
Daniel Agar 4d318ebd30 mavlink: add initial mavlink OPEN_DRONE_ID_SYSTEM stream 2022-12-13 19:39:27 -05:00
Daniel Agar 696eeb9a49 ekf2: update EV height state machine (small piece of EV overhaul)
- respect new EKF2_EV_CTRL parameter for VPOS usage
  - EV hgt rotate EV position before usage (there's often a small offset in frames)
  - EV hgt reset use proper EV velocity body frame
  - try to keep EV hgt and EV vel state machines consistent
  - small incremental piece of https://github.com/PX4/PX4-Autopilot/pull/19128
2022-12-13 13:29:18 -05:00
Daniel Agar 805ffa9d0b ekf2: push mag cal reset to delayed time horizon 2022-12-13 10:24:02 -05:00
David Sidrane 57b82af3a0 Hard fault on Port E config (CAN0) due to not sizing the table correctly
@PetervdPerk-NXP  bit by the non-auto sizing table bug again!

Symptom: Hard fault on Port E config (CAN0)
2022-12-13 10:09:40 -05:00
PX4 BuildBot 8b02b6b661 Update submodule mavlink to latest Tue Dec 13 12:38:57 UTC 2022
- mavlink in PX4/Firmware (8e1e5c4faa7749f6bc16650c7452af249a7dcc3a): https://github.com/mavlink/mavlink/commit/081120844300d68e90c8c4d40ab4662cb3eb604c
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/0c7792edfeee7cf08e531cb4ce5b4f01854e5724
    - Changes: https://github.com/mavlink/mavlink/compare/081120844300d68e90c8c4d40ab4662cb3eb604c...0c7792edfeee7cf08e531cb4ce5b4f01854e5724

    0c7792ed 2022-12-08 olliw42 - Gimbal Device: Adding more invalid and bitmask attributes (II) (#1927)
771926e6 2022-12-07 olliw42 - gimbal manager cap flags: resolve duplication mistake
2bc32222 2022-12-07 olliw42 - add gimbal device flags to low word of gimbal manager flags (#1928)
2022-12-13 09:06:14 -05:00
Beat Küng 685d5cb473 fix kconfig: rename LINUX to LINUX_TARGET
LINUX is defined by cmake >= 3.25:
https://cmake.org/cmake/help/latest/variable/LINUX.html
2022-12-13 09:05:18 -05:00
Roman Bapst 257d4e473b fixed tailsitter transitions (#20756)
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-12-13 10:38:38 +01:00
tanja aba11ce920 rename all instances of serial PPB to EXT2 2022-12-13 08:09:15 +01:00
tanja ba344231d2 v6x: configure SPI busses for board 0x010 2022-12-13 08:09:15 +01:00
tanja ed0f602ce8 v6x: Adapt sensor set for board 0x010 upstream 2022-12-13 08:09:15 +01:00
tanja aec4b93527 v6x: Add EXT2 instance on ttyS3 2022-12-13 08:09:15 +01:00
Eric Katzfey e17ddcc0e5 Qurt platform custom icm42688p IMU driver (#20753)
- first version of IMU driver for the VOXL 2 platform (Qurt)
 - this is a customized version of the Invensense ICM42688P driver, it is currently in the VOXL 2 board directory
2022-12-12 22:02:23 -05:00
Peter van der Perk 33e39d68f7 DroneCAN SocketCAN driver add FMU support 2022-12-12 20:06:13 -05:00
Eric Katzfey 9b3feee6ee worker and HRT threads for Qurt platform (#20739)
* Getting work manager and hrt threads ready for Qurt platform
2022-12-12 14:25:28 -05:00
Daniel Agar dc0823062e github actions: disable vtol_standard address sanitizer test
- unfortunately this is often too slow for github actions
2022-12-12 14:23:13 -05:00
bresch 41abf695a8 ekf2: use more efficient covariance update computation
KSK' is faster to compute than KHP and is mathematically equivalent
2022-12-12 12:31:54 -05:00
Daniel Agar 61fa28c0d6 Tools/generate_board_targets_json.py exclude px4_ros2_default for now 2022-12-12 11:46:36 -05:00
dirksavage88 5b667cf4ba Uavcannode hygrometer support: temp and humidity
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2022-12-12 10:54:08 -05:00
Eric Katzfey a5e4295029 lib/drivers: device drivers library for Qurt platform (#20741) 2022-12-10 19:31:06 -05:00
Noah Bliss d8bfee517a boards: beaglebone blue point to a newer version of librobotcontrol (#20740)
- Fixes PRU path issues found in old versions of the library.
2022-12-10 17:27:32 -05:00
alexklimaj 29ade6c472 Increase SPI stacks by 16 bytes 2022-12-10 10:54:20 -05:00
Zachary Lowell e4f641e9b5 Qurt qshell implementation (#20736) 2022-12-09 16:49:41 -05:00
Daniel Agar 8cf13d50a8 ekf2: EKFGSF_yaw minor cleanup (#20510)
- don't store unnecessary IMU copy in class, pass it through where required
 - remove custom pi constants
 - remove unused fields from ahrs_ekf_gsf (vel_NE, fuse_gps, accel_dt)
 - explicitly initialize everything in header
 - apply PX4 code style
 - set GPS velocity before yaw estimator update, not after
2022-12-09 13:24:00 -05:00
Zachary Lowell 643eed51cb Qurt lightweight parameter implementation (#20735) 2022-12-09 09:55:49 -08:00
Daniel Agar f3884d5835 Update world_magnetic_model to latest Fri Dec 9 11:14:09 UTC 2022
Co-authored-by: PX4 BuildBot <bot@px4.io>
2022-12-09 11:40:30 -05:00
Daniel Agar 41fa53605c boards: rebuild STM32H7 bootloaders and px4-io-v2 2022-12-09 11:02:21 -05:00
Peter van der Perk 5b7a2230fc Update NuttX kernel 2022-12-09 06:36:40 -05:00
Peter van der Perk 3b5f0e21bc Add Sysview support in conjunction with PX4 cpuload note driver 2022-12-09 06:36:40 -05:00
Beat Küng a502146d73 board_hw_rev_ver: fix hex printf 2022-12-09 07:52:50 +01:00
Beat Küng 8bde2a7a28 board_hw_rev_ver.c: check for 'rv == OK' before reading the revision
Otherwise a potential failure reading the hw version can get overwritten.
2022-12-09 07:52:50 +01:00
Daniel Agar 8114aad983 initial minimal PX4_ROS2 platform and px4_ros2_default build (#20689)
- new ROS2 platform in PX4 intended for creating configs that build and run entirely in ROS2
 - PX4_CONFIG defaults to px4_ros2_default if no config specified and in a colcon workspace with ROS_VERSION=2
 - currently doesn't do much other than allow you to build px4 msgs interface package
2022-12-08 23:03:44 -05:00
Roman Bapst cfb670fbb3 Refactor quadchute logic (#20704)
* moved computation of _time_since_trans_start into base class

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* refactor quadchute logic
- move entired logic into VtolType class
- split into smaller functions

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* Update src/modules/vtol_att_control/vtol_type.h

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2022-12-08 11:56:20 +03:00
Daniel Agar 2b1d8c1d8e mavlink switch to common dialect by default and update to latest 2022-12-07 15:46:04 -05:00
Daniel Agar 72cb4bee01 SITL gz fixes and init cleanup (#20725)
- remove broken gz version handling and remove x500-legacy
 - fix all shellcheck warnings
 - prepare for Gazebo Garden compatibility (needs more work)
2022-12-07 15:41:13 -05:00
Beniamino Pozzan f2c71a8874 microdds_client: added environment variable for defining namespace
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2022-12-07 14:36:23 -05:00
Beniamino Pozzan 5a2e41c4e4 microdds_client: add XRCE_DDS_KEY parameter
Multiple agents can connect to the same client

For sitl builds, if the intance number is different from zero,
  XRCE_DDS_KEY is set to the instance number and
  the microdds_client is automatically started
    with namespace
      px4_"instance_number"
    and udp port 8888
If the instance number is equal to zero
  XRCE_DDS_KEY is left untouched and
  the microdds_client is automatically started
    without namespace
    and udp port 8888

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2022-12-07 14:36:23 -05:00
Beniamino Pozzan a92897fb58 microdds_client: add namespace to partecipant name
The partecipant name is modified into
"client_namespace"/px4_micro_xrce_dds

For sitl builds the microdds_client is automatically started
with namespace
px4_"instance_number"
and udp port
8888+"intance_number"

Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
2022-12-07 14:36:23 -05:00
Daniel Agar 8eb2a0a3ec ekf2: delete orientation_covariances_euler()
- usage replaced with now public calcRotVecVariances()
2022-12-07 12:41:27 -05:00
Mathieu Bresciani a187bb3b80 ekf2: predict covariance before predicting state (#20715)
* To predict the covariance, the jacobian from the previous to the current state is required.
2022-12-07 09:34:19 -05:00
Daniel Agar c12d9124bd Update submodule GPS drivers to latest Wed Dec 7 12:38:31 UTC 2022
- GPS drivers in PX4/Firmware (4eb0a0598048df07c213659944b2720ee42e1cc2): https://github.com/PX4/PX4-GPSDrivers/commit/b49a6c257371abae6e26e0a3e0fc04b963b2f13d
    - GPS drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/b76fc1df45952abbc76c7eb9f5a5ab3ae994bef2
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/b49a6c257371abae6e26e0a3e0fc04b963b2f13d...b76fc1df45952abbc76c7eb9f5a5ab3ae994bef2

    b76fc1d 2022-11-21 qst0528 - ashtech: fix position accuracy loss caused by misplaced integer cast (#118)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2022-12-07 09:16:31 -05:00
PX4 BuildBot db791fa317 Update submodule sitl_gazebo to latest Wed Dec 7 12:38:25 UTC 2022
- sitl_gazebo in PX4/Firmware (b3cebc6686): https://github.com/PX4/PX4-SITL_gazebo/commit/b38e701ec4230a6105ace872447c0f63bc181d41
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/1b56329b73f68f1480e58b1137b3e5169c7453d1
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b38e701ec4230a6105ace872447c0f63bc181d41...1b56329b73f68f1480e58b1137b3e5169c7453d1

    1b56329 2022-11-22 Frederic Taillandier - adding a gazebo position sniffer to get position at a high rate from another program (#928)
2022-12-07 09:16:00 -05:00
2673 changed files with 167522 additions and 70846 deletions
+19 -8
View File
@@ -9,10 +9,10 @@ pipeline {
script {
def build_nodes = [:]
def docker_images = [
armhf: "px4io/px4-dev-armhf:2021-09-08",
arm64: "px4io/px4-dev-aarch64:2021-09-08",
base: "px4io/px4-dev-base-bionic:2021-09-08",
nuttx: "px4io/px4-dev-nuttx-focal:2021-09-08",
armhf: "px4io/px4-dev-armhf:2023-06-26",
arm64: "px4io/px4-dev-aarch64:2022-08-12",
base: "px4io/px4-dev-ros2-foxy:2022-08-12",
nuttx: "px4io/px4-dev-nuttx-focal:2022-08-12",
]
def armhf_builds = [
@@ -40,6 +40,8 @@ pipeline {
"ark_can-flow_default",
"ark_can-gps_canbootloader",
"ark_can-gps_default",
"ark_cannode_canbootloader",
"ark_cannode_default",
"ark_can-rtk-gps_canbootloader",
"ark_can-rtk-gps_default",
"ark_fmu-v6x_bootloader",
@@ -53,8 +55,10 @@ pipeline {
"cuav_nora_default",
"cuav_x7pro_default",
"cubepilot_cubeorange_default",
"cubepilot_cubeorangeplus_default",
"cubepilot_cubeyellow_default",
"diatone_mamba-f405-mk2_default",
"flywoo_gn-f405_default",
"freefly_can-rtk-gps_canbootloader",
"freefly_can-rtk-gps_default",
"holybro_can-gps-v1_canbootloader",
@@ -62,6 +66,8 @@ pipeline {
"holybro_durandal-v1_default",
"holybro_kakutef7_default",
"holybro_kakuteh7_default",
"holybro_kakuteh7v2_default",
"holybro_kakuteh7mini_default",
"holybro_pix32v5_default",
"matek_gnss-m9n-f4_canbootloader",
"matek_gnss-m9n-f4_default",
@@ -70,7 +76,7 @@ pipeline {
"matek_h743_default",
"modalai_fc-v1_default",
"modalai_fc-v2_default",
"modalai_voxl2-io_default",
"mro_ctrl-zero-classic_default",
"mro_ctrl-zero-f7_default",
"mro_ctrl-zero-f7-oem_default",
"mro_ctrl-zero-h7-oem_default",
@@ -82,7 +88,7 @@ pipeline {
"nxp_fmuk66-e_socketcan",
"nxp_fmuk66-v3_default",
"nxp_fmuk66-v3_socketcan",
"nxp_fmurt1062-v1_default",
"nxp_mr-canhubk3_default",
"nxp_ucans32k146_canbootloader",
"nxp_ucans32k146_default",
"omnibus_f4sd_default",
@@ -104,11 +110,16 @@ pipeline {
"px4_fmu-v6c_default",
"px4_fmu-v6u_default",
"px4_fmu-v6x_default",
"px4_fmu-v6xrt_bootloader",
"px4_fmu-v6xrt_default",
"px4_io-v2_default",
"raspberrypi_pico_default",
"sky-drones_smartap-airlink_default",
"spracing_h7extreme_default",
"uvify_core_default"
"thepeach_k1_default",
"thepeach_r1_default",
"uvify_core_default",
"siyi_n7_default"
],
image: docker_images.nuttx,
archive: true
@@ -160,7 +171,7 @@ pipeline {
}
options {
buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
timeout(time: 90, unit: 'MINUTES')
timeout(time: 120, unit: 'MINUTES')
}
}
+18 -16
View File
@@ -12,7 +12,7 @@ pipeline {
stage("build cubepilot_cubeorange_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -91,7 +91,7 @@ pipeline {
stage("build cuav_x7pro_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -165,7 +165,7 @@ pipeline {
stage("build px4_fmu-v4_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -238,7 +238,7 @@ pipeline {
stage("build px4_fmu-v4pro_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -312,7 +312,7 @@ pipeline {
stage("build px4_fmu-v5_debug") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -362,7 +362,7 @@ pipeline {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_stress"'
// test dataman
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman" --ignore-stdout-errors'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests file" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
@@ -403,7 +403,7 @@ pipeline {
stage("build px4_fmu-v5_stackcheck") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -449,7 +449,7 @@ pipeline {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
// test dataman
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman" --ignore-stdout-errors'
}
}
stage("status") {
@@ -486,7 +486,7 @@ pipeline {
stage("build px4_fmu-v5_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -560,7 +560,7 @@ pipeline {
stage("build nxp_fmuk66-v3_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -684,7 +684,7 @@ void checkStatus() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show SYS*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/blocks"'
@@ -715,7 +715,7 @@ void checkStatus() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf latency"'
@@ -755,9 +755,11 @@ void runTests() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during test
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ostest"'
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot after ostest
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during test
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander_tests" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "controllib_test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "lightware_laser_test"'
@@ -767,13 +769,13 @@ void runTests() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests file" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd readtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd rwtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd erase"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param dump /fs/mtd_params"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params" || true' // expected to fail after erase
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -v"'
+3 -2
View File
@@ -2,7 +2,7 @@
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
{
"name": "px4-dev-nuttx",
"image": "px4io/px4-dev-nuttx-focal:2021-09-08",
"image": "px4io/px4-dev-nuttx-focal:2022-08-12",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
@@ -29,7 +29,8 @@
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
"zixuanwang.linkerscript",
"ms-vscode.makefile-tools"
],
"containerUser": "user",
-34
View File
@@ -1,34 +0,0 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
labels: bug-report
---
## Describe the bug
A clear and concise description of the bug.
## To Reproduce
Steps to reproduce the behavior:
1. Drone switched on '...'
2. Uploaded mission '....' (attach QGC mission file)
3. Took off '....'
4. See error
## Expected behavior
A clear and concise description of what you expected to happen.
## Log Files and Screenshots
*Always* provide a link to the flight log file:
- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/main/en/getting_started/flight_reporting.html)).
- Upload the log to the [PX4 Flight Review](http://logs.px4.io/)
- Share the link to the log (Copy and paste the URL of the log)
Add screenshots to help explain your problem.
## Drone (please complete the following information):
- Describe the type of drone.
- Photo of the IMU / autopilot setup if possible.
## Additional context
Add any other context about the problem here.
@@ -1,20 +0,0 @@
---
name: 🚀 Feature Request
about: Suggest an idea for this project
labels: feature-request
---
For general questions please use [PX4 Discuss](http://discuss.px4.io/) or Discord (you can find an invite link on this project README).
## Describe problem solved by the proposed feature
A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...
## Describe your preferred solution
A clear and concise description of what you want to happen.
## Describe possible alternatives
A clear and concise description of alternative solutions or features you've considered.
## Additional context
Add any other context or screenshots for the feature request here.
@@ -1,13 +0,0 @@
---
name: ⛔ Support Question
about: See http://discuss.px4.io/ for questions about using PX4.
---
## Attention! Please read the note below
We use GitHub issues only to discuss PX4 bugs and new features.
**For questions about using PX4 or related components, please use [PX4 Discuss](http://discuss.px4.io/).**
Thanks!
@@ -1,11 +0,0 @@
---
name: ⛔ Documentation Issue
about: See https://github.com/PX4/px4_user_guide for documentation issues
---
## Attention! Please read the note below
**Please submit the documentation issue to the [User Guide](https://github.com/PX4/px4_user_guide) repository.**
Thanks!
+94
View File
@@ -0,0 +1,94 @@
name: 🐛 Bug report
description: Create a report to help us improve
title: "[Bug] "
labels: ["bug-report"]
body:
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of the bug.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: |
Steps to reproduce the behavior.
1. Drone switched on '...'
2. Uploaded mission '....' (attach QGC mission file)
3. Took off '....'
4. See error
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Screenshot / Media
description: Add screenshot / media if you have them
- type: textarea
attributes:
label: Flight Log
description: |
*Always* provide a link to the flight log file:
- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/main/en/getting_started/flight_reporting.html)).
- Upload the log to the [PX4 Flight Review](http://logs.px4.io/)
- Share the link to the log (Copy and paste the URL of the log)
placeholder: |
# PASTE HERE THE LINK TO THE LOG
validations:
required: true
- type: markdown
attributes:
value: |
## Setup
- type: textarea
attributes:
label: Software Version
description: |
Which version of PX4 are you using?
placeholder: |
# If you don't know the version, paste the output of `ver all` in the MAVLink Shell of QGC
validations:
required: true
- type: input
attributes:
label: Flight controller
description: Specify your flight controller model (what type is it, where was it bought from, ...).
validations:
required: true
- type: dropdown
attributes:
label: Vehicle type
options:
- Multicopter
- Helicopter
- Fixed Wing
- Hybrid VTOL
- Airship/Balloon
- Rover
- Boat
- Submarine
- Other
- type: textarea
attributes:
label: How are the different components wired up (including port information)
description: Details about how all is wired.
- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here.
+8
View File
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Support Question
url: https://docs.px4.io/main/en/contribute/support.html#forums-and-chat
about: For questions about using PX4 or related components, please use the discuss forum and discord server
- name: Documentation Issue
url: https://github.com/PX4/PX4-user_guide/issues
about: If you found an issue in documentation, please submit it directly to the docs repository issues
@@ -0,0 +1,35 @@
name: 🚀 Feature Request
description: Suggest an idea for this project
labels: ["feature-request"]
body:
- type: markdown
attributes:
value: |
## Please note that feature requests are not 'fire and forget'
It is a lot more likely that the feature you would like to have will be implemented if you keep watching your feature request, and provide more details to developers looking into implementing your feature, and help them with testing.
- type: textarea
attributes:
label: Describe problem solved by the proposed feature
description: A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...
validations:
required: true
- type: textarea
attributes:
label: Describe your preferred solution
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe possible alternatives
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots for the feature request here.
+8
View File
@@ -18,6 +18,14 @@ Fixes #{Github issue ID}
- Add ... for ...
- Refactor ...
### 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 ...
-24
View File
@@ -1,24 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="20">
<linearGradient id="smooth" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="round">
<rect width="90" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#round)">
<rect width="42" height="20" fill="#555"/>
<rect x="42" width="48" height="20" fill="#E01563"/>
<rect width="90" height="20" fill="url(#smooth)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="22" y="15" fill="#010101" fill-opacity=".3">slack</text>
<text x="22" y="14">slack</text>
<text x="65" y="15" fill="#010101" fill-opacity=".3">Join us!</text>
<text x="65" y="14">Join us!</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 894 B

-15
View File
@@ -1,15 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90
# Number of days of inactivity before a stale issue is closed, or `false` to disable
daysUntilClose: false
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. Thank you for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
"parameters_metadata",
]
container:
image: px4io/px4-dev-nuttx-focal:2021-09-08
image: px4io/px4-dev-nuttx-focal:2022-08-12
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+7 -3
View File
@@ -1,9 +1,12 @@
name: Linux Targets
name: Compile Linux Targets
on:
push:
branches:
- 'main'
- 'stable'
- 'beta'
- 'release/*'
pull_request:
branches:
- '*'
@@ -11,7 +14,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2021-09-08
container: px4io/px4-dev-armhf:2023-06-26
strategy:
matrix:
config: [
@@ -24,7 +27,8 @@ jobs:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: ownership workaround
run: git config --system --add safe.directory '*'
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
+5 -2
View File
@@ -1,9 +1,12 @@
name: Linux ARM64 Targets
name: Compile Linux ARM64 Targets
on:
push:
branches:
- 'main'
- 'stable'
- 'beta'
- 'release/*'
pull_request:
branches:
- '*'
@@ -11,7 +14,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:2021-09-08
container: px4io/px4-dev-aarch64:2022-08-12
strategy:
matrix:
config: [
+6 -2
View File
@@ -10,15 +10,19 @@ on:
jobs:
build:
runs-on: macos-10.15
runs-on: macos-latest
strategy:
matrix:
config: [
px4_fmu-v5_default,
px4_sitl
#tests, # includes px4_sitl
]
steps:
- name: install Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
+10 -4
View File
@@ -1,9 +1,12 @@
name: Nuttx Targets
name: Compile Nuttx Targets
on:
push:
branches:
- 'main'
- 'stable'
- 'beta'
- 'release/*'
pull_request:
branches:
- '*'
@@ -11,7 +14,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2021-09-08
container: px4io/px4-dev-nuttx-focal:2022-08-12
strategy:
fail-fast: false
matrix:
@@ -30,6 +33,7 @@ jobs:
cuav_nora,
cuav_x7pro,
cubepilot_cubeorange,
cubepilot_cubeorangeplus,
cubepilot_cubeyellow,
diatone_mamba-f405-mk2,
freefly_can-rtk-gps,
@@ -53,7 +57,7 @@ jobs:
mro_x21-777,
nxp_fmuk66-e,
nxp_fmuk66-v3,
nxp_fmurt1062-v1,
nxp_mr-canhubk3,
nxp_ucans32k146,
omnibus_f4sd,
px4_fmu-v2,
@@ -65,10 +69,12 @@ jobs:
px4_fmu-v6c,
px4_fmu-v6u,
px4_fmu-v6x,
px4_fmu-v6xrt,
raspberrypi_pico,
sky-drones_smartap-airlink,
spracing_h7extreme,
uvify_core
uvify_core,
siyi_n7
]
steps:
- uses: actions/checkout@v1
+4 -1
View File
@@ -24,12 +24,15 @@ jobs:
needs: enumerate_targets
strategy:
matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}}
container: px4io/px4-dev-${{ matrix.container }}:2021-09-08
container: ${{ matrix.container }}
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: ownership workaround
run: git config --system --add safe.directory '*'
- name: make ${{matrix.target}}
run: make ${{matrix.target}}
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
"failsafe_web",
]
container:
image: px4io/px4-dev-nuttx-focal:2021-09-08
image: px4io/px4-dev-nuttx-focal:2022-08-12
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+2 -2
View File
@@ -59,13 +59,13 @@ jobs:
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
- name: Build PX4 and sitl_gazebo-classic
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
make px4_sitl_default sitl_gazebo-classic
ccache -s
- name: Core dump settings
+2 -2
View File
@@ -54,13 +54,13 @@ jobs:
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
- name: Build PX4 and sitl_gazebo-classic
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
make px4_sitl_default sitl_gazebo-classic
ccache -s
- name: Core dump settings
+3 -1
View File
@@ -103,7 +103,7 @@ jobs:
uorb_graph:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2021-09-08
container: px4io/px4-dev-nuttx-focal:2022-08-12
steps:
- uses: actions/checkout@v1
with:
@@ -128,4 +128,6 @@ jobs:
run: |
git clone https://github.com/PX4/px4_msgs.git
rm px4_msgs/msg/*.msg
rm px4_msgs/srv/*.srv
cp msg/*.msg px4_msgs/msg/
cp srv/*.srv px4_msgs/srv/
+32
View File
@@ -0,0 +1,32 @@
name: Nuttx Target with extra env config
on:
push:
branches:
- 'main'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2022-08-12
strategy:
matrix:
config: [
px4_fmu-v5,
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: make ${{matrix.config}}
env:
PX4_EXTRA_NUTTX_CONFIG: "CONFIG_NSH_LOGIN_PASSWORD=\"test\";CONFIG_NSH_CONSOLE_LOGIN=y"
run: |
echo "PX4_EXTRA_NUTTX_CONFIG: $PX4_EXTRA_NUTTX_CONFIG"
make ${{matrix.config}} nuttx_context
# Check that the config option is set
grep CONFIG_NSH_LOGIN_PASSWORD build/${{matrix.config}}_default/NuttX/nuttx/.config
+4 -4
View File
@@ -16,7 +16,7 @@ jobs:
matrix:
config:
- {model: "iris", latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo" } # Alaska
- {model: "standard_vtol", latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "AddressSanitizer" } # Australia
# - {model: "standard_vtol", latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "AddressSanitizer" } # Australia
- {model: "tailsitter" , latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo" } # Florida
- {model: "standard_vtol", latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage" } # Zurich
@@ -74,14 +74,14 @@ jobs:
- name: Build SITL Gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: make px4_sitl_default sitl_gazebo
- name: ccache post-run sitl_gazebo
run: make px4_sitl_default sitl_gazebo-classic
- name: ccache post-run sitl_gazebo-classic
run: ccache -s
- name: Build MAVSDK tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
DONT_RUN: 1
run: make px4_sitl_default gazebo mavsdk_tests
run: make px4_sitl_default sitl_gazebo-classic mavsdk_tests
- name: ccache post-run mavsdk_tests
run: ccache -s
+16
View File
@@ -0,0 +1,16 @@
name: 'Handle stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
days-before-stale: 30
days-before-close: -1
stale-issue-label: 'stale'
stale-pr-label: 'stale'
remove-stale-when-updated: true
+3 -2
View File
@@ -47,8 +47,6 @@ GTAGS
*.files
*.includes
Tools/jlink-nuttx.so
# CLion ignores
.idea
cmake-build-*/
@@ -107,3 +105,6 @@ src/modules/simulator/simulator_config.h
src/systemcmds/topic_listener/listener_generated.cpp
!src/drivers/distance_sensor/broadcom/afbrs50/Lib/*
# colcon
log/
+22 -5
View File
@@ -10,9 +10,9 @@
path = Tools/simulation/jmavsim/jMAVSim
url = https://github.com/PX4/jMAVSim.git
branch = main
[submodule "Tools/simulation/gazebo/sitl_gazebo"]
path = Tools/simulation/gazebo/sitl_gazebo
url = https://github.com/PX4/PX4-SITL_gazebo.git
[submodule "Tools/simulation/gazebo-classic/sitl_gazebo-classic"]
path = Tools/simulation/gazebo-classic/sitl_gazebo-classic
url = https://github.com/PX4/PX4-SITL_gazebo-classic.git
branch = main
[submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices
@@ -58,7 +58,24 @@
path = src/lib/crypto/libtommath
url = https://github.com/PX4/libtommath.git
branch = px4
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
[submodule "src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client"]
path = src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client
url = https://github.com/PX4/Micro-XRCE-DDS-Client.git
branch = px4
[submodule "src/lib/cdrstream/cyclonedds"]
path = src/lib/cdrstream/cyclonedds
url = https://github.com/px4/cyclonedds
[submodule "src/lib/cdrstream/rosidl"]
path = src/lib/cdrstream/rosidl
url = https://github.com/px4/rosidl
[submodule "src/modules/zenoh/zenoh-pico"]
path = src/modules/zenoh/zenoh-pico
url = https://github.com/px4/zenoh-pico
branch = pr-zubf-werror-fix
[submodule "src/lib/heatshrink/heatshrink"]
path = src/lib/heatshrink/heatshrink
url = https://github.com/PX4/heatshrink.git
branch = px4
[submodule "Tools/simulation/gz"]
path = Tools/simulation/gz
url = https://github.com/PX4/PX4-gazebo-models.git
+1
View File
@@ -4,6 +4,7 @@ compile_commands.json
# generated by cmake
launch.json
c_cpp_properties.json
# C/C++ extension does some local caching in this folder
ipch/
+26 -1
View File
@@ -81,6 +81,16 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6x_bootloader
px4_fmu-v6xrt_default:
short: px4_fmu-v6xrt
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6xrt_default
px4_fmu-v6xrt_bootloader:
short: px4_fmu-v6xrt_bootloader
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6xrt_bootloader
airmind_mindpx-v2_default:
short: airmind_mindpx-v2
buildType: MinSizeRel
@@ -180,7 +190,12 @@ CONFIG:
short: cubepilot_cubeorange
buildType: MinSizeRel
settings:
CONFIG: cubepilot_orange_test
CONFIG: cubepilot_cubeorange_test
cubepilot_cubeorangeplus_test:
short: cubepilot_cubeorangeplus
buildType: MinSizeRel
settings:
CONFIG: cubepilot_cubeorangeplus_test
emlid_navio2_default:
short: emlid_navio2
buildType: MinSizeRel
@@ -266,6 +281,16 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: nxp_fmuk66-v3_default
nxp_mr-canhubk3_default:
short: nxp_mr-canhubk3_default
buildType: MinSizeRel
settings:
CONFIG: nxp_mr-canhubk3_default
nxp_mr-canhubk3_fmu:
short: nxp_mr-canhubk3_fmu
buildType: MinSizeRel
settings:
CONFIG: nxp_mr-canhubk3_fmu
raspberrypi_pico_default:
short: raspberrypi_pico
buildType: MinSizeRel
+2 -1
View File
@@ -18,6 +18,7 @@
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
"zixuanwang.linkerscript",
"ms-vscode.makefile-tools"
]
}
+5 -11
View File
@@ -2,7 +2,6 @@
"astyle.astylerc": "${workspaceFolder}/Tools/astyle/astylerc",
"astyle.c.enable": true,
"astyle.cpp.enable": true,
"breadcrumbs.enabled": true,
"C_Cpp.autoAddFileAssociations": false,
"C_Cpp.clang_format_fallbackStyle": "none",
"C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
@@ -20,7 +19,6 @@
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
"cmakeExplorer.parallelJobs": 1,
"cmakeExplorer.suiteDelimiter": "-",
"cortex-debug.enableTelemetry": false,
"cSpell.allowCompoundWords": true,
"cSpell.diagnosticLevel": "Hint",
"cSpell.showStatus": false,
@@ -31,7 +29,6 @@
],
"debug.toolBarLocation": "docked",
"editor.defaultFormatter": "chiehyu.vscode-astyle",
"editor.dragAndDrop": false,
"editor.insertSpaces": false,
"editor.minimap.maxColumn": 120,
"editor.minimap.renderCharacters": false,
@@ -119,20 +116,17 @@
"utility": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp"
"vector": "cpp",
"Jenkinsfile*": "groovy",
"*.sdf": "xml"
},
"search.exclude": {
"${workspaceFolder}/build": true
},
"search.showLineNumbers": true,
"telemetry.enableTelemetry": false,
"terminal.integrated.scrollback": 5000,
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
"workbench.editor.highlightModifiedTabs": true,
"workbench.enableExperiments": false,
"workbench.settings.enableNaturalLanguageSearch": false,
"terminal.integrated.scrollback": 15000,
"yaml.schemas": {
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
},
"cortex-debug.openocdPath": "${env:PICO_SDK_PATH}/../openocd/src/openocd" // Added for rp2040
"ros.distro": "humble"
}
+54 -97
View File
@@ -49,49 +49,6 @@
"group": "test"
}
},
{
"label": "jmavsim build",
"type": "shell",
"command": "ant create_run_jar copy_res",
"options": {
"cwd": "${workspaceFolder}/Tools/simulation/jmavsim/jMAVSim"
},
"presentation": {
"echo": true,
"reveal": "never",
"revealProblems": "onProblem",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false,
"clear": false,
"close": true
},
"problemMatcher": []
},
{
"label": "jmavsim",
"type": "shell",
"dependsOn": "jmavsim build",
"command": "java -Djava.ext.dirs= -jar jmavsim_run.jar -r 250 -lockstep -tcp localhost:4560 -qgc",
"options": {
"cwd": "${workspaceFolder}/Tools/simulation/jmavsim/jMAVSim/out/production",
"env": {
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"revealProblems": "onProblem",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false,
"clear": false,
"close": true
},
"problemMatcher": []
},
{
"label": "jmavsim kill",
"type": "shell",
@@ -110,9 +67,9 @@
"dependsOn":["px4_sitl_cleanup"]
},
{
"label": "gazebo build",
"label": "gazebo-classic build",
"type": "shell",
"command": "make px4_sitl_default sitl_gazebo",
"command": "make px4_sitl_default sitl_gazebo-classic",
"options": {
"cwd": "${workspaceFolder}"
},
@@ -129,18 +86,18 @@
"problemMatcher": [],
},
{
"label": "gazebo start",
"label": "gazebo-classic start",
"type": "shell",
"dependsOn": "gazebo build",
"dependsOn": "gazebo-classic build",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo-classic",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/simulation/gazebo-classic/sitl_gazebo-classic/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/worlds/empty.world",
"command": "gzserver --verbose ${workspaceFolder}/Tools/simulation/gazebo-classic/sitl_gazebo-classic/worlds/empty.world",
"isBackground": true,
"presentation": {
"echo": true,
@@ -170,58 +127,58 @@
}
]
},
{
"label": "gazebo-classic",
"type": "shell",
"dependsOn": "gazebo-classic start",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo-classic",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/simulation/gazebo-classic/sitl_gazebo-classic/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/iris/iris.sdf --model-name=iris -x 1.01 -y 0.98 -z 0.83",
"isBackground": false,
"presentation": {
"echo": true,
"reveal": "never",
"revealProblems": "onProblem",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false,
"clear": false,
"close": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo",
"type": "shell",
"dependsOn": "gazebo start",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/models/iris/iris.sdf --model-name=iris -x 1.01 -y 0.98 -z 0.83",
"isBackground": false,
"presentation": {
"echo": true,
"reveal": "never",
"revealProblems": "onProblem",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false,
"clear": false,
"close": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "ign gazebo",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"IGN_GAZEBO_RESOURCE_PATH": "${workspaceFolder}/Tools/simulation/gz/models",
}
},
"command": "ign gazebo -v 4 -r ${workspaceFolder}/Tools/simulation/gz/worlds/${input:gzWorld}.sdf",
"command": "gz sim -v 4 -r ${workspaceFolder}/Tools/simulation/gz/worlds/${input:gzWorld}.sdf",
"isBackground": true,
"presentation": {
"echo": true,
@@ -234,10 +191,10 @@
"close": false
},
"problemMatcher": [],
"dependsOn":["ign gazebo kill"]
"dependsOn":["gazebo kill"]
},
{
"label": "gazebo kill",
"label": "gazebo-classic kill",
"type": "shell",
"command": "pkill -9 -f gzserver || true",
"presentation": {
@@ -254,9 +211,9 @@
"dependsOn":["px4_sitl_cleanup"]
},
{
"label": "ign gazebo kill",
"label": "gazebo kill",
"type": "shell",
"command": "pkill -9 -f 'ign gazebo' || true",
"command": "pkill -9 -f 'gz sim' || true",
"presentation": {
"echo": true,
"reveal": "never",
+50 -57
View File
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2017 - 2019 PX4 Development Team. All rights reserved.
# Copyright (c) 2017 - 2022 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -118,7 +118,21 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
message(STATUS "PX4 version: ${PX4_GIT_TAG}")
# git describe to X.Y.Z version
string(REPLACE "." ";" VERSION_LIST ${PX4_GIT_TAG})
# major version
list(GET VERSION_LIST 0 PX4_VERSION_MAJOR)
string(REPLACE "v" "" PX4_VERSION_MAJOR ${PX4_VERSION_MAJOR})
# minor version
list(GET VERSION_LIST 1 PX4_VERSION_MINOR)
# patch version
list(GET VERSION_LIST 2 PX4_VERSION_PATCH)
string(REPLACE "-" ";" PX4_VERSION_PATCH ${PX4_VERSION_PATCH})
list(GET PX4_VERSION_PATCH 0 PX4_VERSION_PATCH)
message(STATUS "PX4 version: ${PX4_GIT_TAG} (${PX4_VERSION_MAJOR}.${PX4_VERSION_MINOR}.${PX4_VERSION_PATCH})")
define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
BRIEF_DOCS "PX4 module libs"
@@ -134,6 +148,7 @@ define_property(GLOBAL PROPERTY PX4_MODULE_PATHS
BRIEF_DOCS "PX4 module paths"
FULL_DOCS "List of paths to all PX4 modules"
)
define_property(GLOBAL PROPERTY PX4_SRC_FILES
BRIEF_DOCS "src files from all PX4 modules & libs"
FULL_DOCS "SRC files from px4_add_{module,library}"
@@ -143,25 +158,17 @@ define_property(GLOBAL PROPERTY PX4_SRC_FILES
# configuration
#
set(CONFIG "px4_sitl_default" CACHE STRING "desired configuration")
include(px4_add_module)
set(config_module_list)
set(config_kernel_list)
# Find Python
# If using catkin, Python 2 is found since it points
# to the Python libs installed with the ROS distro
if (NOT CATKIN_DEVEL_PREFIX)
find_package(PythonInterp 3)
# We have a custom error message to tell users how to install python3.
if (NOT PYTHONINTERP_FOUND)
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
" macOS: brew install python")
endif()
else()
find_package(PythonInterp REQUIRED)
find_package(PythonInterp 3)
# We have a custom error message to tell users how to install python3.
if(NOT PYTHONINTERP_FOUND)
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
" macOS: brew install python")
endif()
option(PYTHON_COVERAGE "Python code coverage" OFF)
@@ -207,6 +214,11 @@ if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake/init.cmake")
include(init)
endif()
#=============================================================================
# project definition
#
project(px4 CXX C ASM)
# CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage)
if(NOT CMAKE_BUILD_TYPE)
if(${PX4_PLATFORM} STREQUAL "nuttx")
@@ -235,11 +247,6 @@ endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage;AddressSanitizer;UndefinedBehaviorSanitizer")
message(STATUS "cmake build type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
# project definition
#
project(px4 CXX C ASM)
# Check if LTO option and check if toolchain supports it
if(LTO)
include(CheckIPOSupported)
@@ -256,15 +263,9 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# For the catkin build process, unset build of dynamically-linked binaries
# and do not change CMAKE_RUNTIME_OUTPUT_DIRECTORY
if (NOT CATKIN_DEVEL_PREFIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PX4_BINARY_DIR})
else()
SET(BUILD_SHARED_LIBS OFF)
endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PX4_BINARY_DIR})
#=============================================================================
@@ -296,7 +297,10 @@ if(${PX4_PLATFORM} STREQUAL "posix")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_ENABLE_EXPORTS ON)
include(coverage)
if(CMAKE_BUILD_TYPE MATCHES "Coverage")
include(coverage)
endif()
include(sanitizers)
# Define GNU standard installation directories
@@ -309,21 +313,6 @@ endif()
include(ccache)
#=============================================================================
# find programs and packages
#
# see if catkin was invoked to build this
if (CATKIN_DEVEL_PREFIX)
message(STATUS "catkin ENABLED")
find_package(catkin REQUIRED)
if (catkin_FOUND)
catkin_package()
else()
message(FATAL_ERROR "catkin not found")
endif()
endif()
#=============================================================================
# get chip and chip manufacturer
#
@@ -426,6 +415,8 @@ endif()
#
add_library(parameters_interface INTERFACE)
add_library(kernel_parameters_interface INTERFACE)
add_library(events_interface INTERFACE)
add_library(kernel_events_interface INTERFACE)
include(px4_add_library)
add_subdirectory(src/lib EXCLUDE_FROM_ALL)
@@ -450,10 +441,13 @@ add_subdirectory(src/lib/metadata EXCLUDE_FROM_ALL)
add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL)
if(${PX4_PLATFORM} STREQUAL "nuttx" AND NOT CONFIG_BUILD_FLAT)
target_link_libraries(parameters_interface INTERFACE usr_parameters)
target_link_libraries(kernel_parameters_interface INTERFACE parameters)
target_link_libraries(parameters_interface INTERFACE usr_parameters)
target_link_libraries(kernel_parameters_interface INTERFACE parameters)
target_link_libraries(events_interface INTERFACE usr_events)
target_link_libraries(kernel_events_interface INTERFACE events)
else()
target_link_libraries(parameters_interface INTERFACE parameters)
target_link_libraries(parameters_interface INTERFACE parameters)
target_link_libraries(events_interface INTERFACE events)
endif()
# firmware added last to generate the builtin for included modules
@@ -482,21 +476,20 @@ add_custom_command(OUTPUT ${uorb_graph_config}
add_custom_target(uorb_graph DEPENDS ${uorb_graph_config})
include(bloaty)
include(doxygen)
include(metadata)
include(package)
# print size
add_custom_target(size
COMMAND size $<TARGET_FILE:px4>
DEPENDS px4
WORKING_DIRECTORY ${PX4_BINARY_DIR}
USES_TERMINAL
)
# install python requirements using configured python
add_custom_target(install_python_requirements
COMMAND ${PYTHON_EXECUTABLE} -m pip install --requirement ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
DEPENDS ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
USES_TERMINAL
)
if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake/finalize.cmake")
include(finalize)
endif()
Vendored
+5 -2
View File
@@ -94,7 +94,7 @@ pipeline {
stage('failsafe docs') {
agent {
docker { image 'px4io/px4-dev-nuttx-focal:2021-08-18' }
docker { image 'px4io/px4-dev-nuttx-focal:2022-08-12' }
}
steps {
sh '''#!/bin/bash -l
@@ -105,6 +105,7 @@ pipeline {
./emsdk activate latest;
cd ..;
. ./_emscripten_sdk/emsdk_env.sh;
git fetch --all --tags;
make failsafe_web;
cd build/px4_sitl_default_failsafe_web;
mkdir -p failsafe_sim;
@@ -125,7 +126,7 @@ pipeline {
stage('uORB graphs') {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-08-18'
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -230,7 +231,9 @@ pipeline {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
// 'main' branch
sh('rm -f px4_msgs/msg/*.msg')
sh('rm -f px4_msgs/srv/*.srv')
sh('cp msg/*.msg px4_msgs/msg/')
sh('cp srv/*.srv px4_msgs/srv/')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin main || true')
sh('rm -rf px4_msgs')
+17 -4
View File
@@ -17,6 +17,8 @@ menu "Toolchain"
bool "posix"
config PLATFORM_QURT
bool "qurt"
config PLATFORM_ROS2
bool "ros2"
endchoice
config BOARD_PLATFORM
@@ -24,6 +26,7 @@ menu "Toolchain"
default "nuttx" if PLATFORM_NUTTX
default "posix" if PLATFORM_POSIX
default "qurt" if PLATFORM_QURT
default "ros2" if PLATFORM_ROS2
config BOARD_LOCKSTEP
bool "Force enable lockstep"
@@ -37,8 +40,8 @@ menu "Toolchain"
help
forces nolockstep behaviour, despite REPLAY env variable
config BOARD_LINUX
bool "Linux OS"
config BOARD_LINUX_TARGET
bool "Linux OS Target"
depends on PLATFORM_POSIX
help
Board Platform is running the Linux operating system
@@ -70,6 +73,13 @@ menu "Toolchain"
help
relative path to the ROMFS root directory
config BOARD_ROOTFSDIR
string "Root directory"
depends on PLATFORM_POSIX
default "."
help
Configure the root directory in the file system for PX4 files
config BOARD_IO
string "IO board name"
default "px4_io-v2_default"
@@ -171,8 +181,8 @@ menu "Serial ports"
config BOARD_SERIAL_WIFI
string "WIFI tty port"
config BOARD_SERIAL_PPB
string "PPB (Pixhawk Payload Bus) tty port"
config BOARD_SERIAL_EXT2
string "EXT2 tty port"
endmenu
menu "drivers"
@@ -192,5 +202,8 @@ source "src/examples/Kconfig"
endmenu
menu "platforms"
depends on PLATFORM_QURT || PLATFORM_POSIX
source "platforms/common/Kconfig"
endmenu
source "src/lib/*/Kconfig"
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2012 - 2022, PX4 Development Team
Copyright (c) 2012 - 2023, PX4 Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
+19 -16
View File
@@ -266,7 +266,6 @@ px4fmu_firmware: \
misc_qgc_extra_firmware: \
check_nxp_fmuk66-v3_default \
check_nxp_fmurt1062-v1_default \
check_mro_x21_default \
check_bitcraze_crazyflie_default \
check_bitcraze_crazyflie21_default \
@@ -324,10 +323,6 @@ px4io_update:
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
git status
jlink-nuttx:
$(CC) -shared -fPIC platforms/nuttx/NuttX/nuttx/tools/jlink-nuttx.c -o Tools/jlink-nuttx.so
bootloaders_update: ark_fmu-v6x_bootloader cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
git status
@@ -392,17 +387,17 @@ tests_coverage:
rostest: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo-classic
tests_integration: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo-classic
@$(MAKE) --no-print-directory px4_sitl_default mavsdk_tests
@"$(SRC_DIR)"/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 test/mavsdk_tests/configs/sitl.json
tests_integration_coverage:
@$(MAKE) clean
@$(MAKE) --no-print-directory px4_sitl_default PX4_CMAKE_BUILD_TYPE=Coverage
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo-classic
@$(MAKE) --no-print-directory px4_sitl_default mavsdk_tests
@"$(SRC_DIR)"/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 test/mavsdk_tests/configs/sitl.json
@mkdir -p coverage
@@ -412,13 +407,13 @@ tests_mission: rostest
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_missions.test
rostest_run: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo-classic
@"$(SRC_DIR)"/test/rostest_px4_run.sh $(TEST_FILE) mission:=$(TEST_MISSION) vehicle:=$(TEST_VEHICLE)
tests_mission_coverage:
@$(MAKE) clean
@$(MAKE) --no-print-directory px4_sitl_default PX4_CMAKE_BUILD_TYPE=Coverage
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo PX4_CMAKE_BUILD_TYPE=Coverage
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo-classic PX4_CMAKE_BUILD_TYPE=Coverage
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=VTOL_mission_1 vehicle:=standard_vtol
@$(MAKE) --no-print-directory px4_sitl_default generate_coverage
@@ -487,13 +482,16 @@ shellcheck_all:
validate_module_configs:
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" \
-not -path "$(SRC_DIR)/src/modules/microdds_client/dds_topics.yaml" \
-not -path "$(SRC_DIR)/src/modules/uxrce_dds_client/dds_topics.yaml" \
-not -path "$(SRC_DIR)/src/modules/zenoh/zenoh-pico/*" \
-not -path "$(SRC_DIR)/src/lib/events/libevents/*" \
-not -path "$(SRC_DIR)/src/lib/cdrstream/*" \
-not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
# Cleanup
# --------------------------------------------------------------------
.PHONY: clean submodulesclean submodulesupdate gazeboclean distclean
.PHONY: clean submodulesclean submodulesupdate distclean
clean:
@[ ! -d "$(SRC_DIR)/build" ] || find "$(SRC_DIR)/build" -mindepth 1 -maxdepth 1 -type d -exec sh -c "echo {}; cmake --build {} -- clean || rm -rf {}" \; # use generated build system to clean, wipe build directory if it fails
@@ -511,10 +509,7 @@ submodulesupdate:
@git submodule update --init --recursive --jobs 4
@git fetch --all --tags --recurse-submodules=yes --jobs=4
gazeboclean:
@rm -rf ~/.gazebo/*
distclean: gazeboclean
distclean:
@git submodule deinit --force $(SRC_DIR)
@rm -rf "$(SRC_DIR)/build"
@git clean --force -X "$(SRC_DIR)/msg/" "$(SRC_DIR)/platforms/" "$(SRC_DIR)/posix-configs/" "$(SRC_DIR)/ROMFS/" "$(SRC_DIR)/src/" "$(SRC_DIR)/test/" "$(SRC_DIR)/Tools/"
@@ -554,6 +549,14 @@ check_px4: $(call make_list,nuttx,"px4") \
check_nxp: $(call make_list,nuttx,"nxp") \
sizes
# helpers for running olddefconfig (nuttx) and px4_savedefconfig on all boards
.PHONY: all_oldconfig all_px4_savedefconfig
all_oldconfig:
@for targ in $(ALL_CONFIG_TARGETS); do $(MAKE) $$targ oldconfig; done
all_px4_savedefconfig:
@for targ in $(ALL_CONFIG_TARGETS); do $(MAKE) $$targ px4_savedefconfig; done
.PHONY: failsafe_web run_failsafe_web_server
failsafe_web:
@if ! command -v emcc; then echo -e "Install emscripten first: https://emscripten.org/docs/getting_started/downloads.html\nAnd source the env: source <path>/emsdk_env.sh"; exit 1; fi
+72 -64
View File
@@ -44,81 +44,89 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://docs.px4.io/main/en/con
## Maintenance Team
* Project: Founder
* [Lorenz Meier](https://github.com/LorenzMeier)
* Architecture
* [Daniel Agar](https://github.com/dagar)
* [Dev Call](https://github.com/PX4/PX4-Autopilot/labels/devcall)
* [Ramon Roche](https://github.com/mrpollo)
* Communication Architecture
* [Beat Kueng](https://github.com/bkueng)
* [Julian Oes](https://github.com/JulianOes)
* UI in QGroundControl
* [Gus Grubba](https://github.com/dogmaphobic)
* [Multicopter Flight Control](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
* [Mathieu Bresciani](https://github.com/bresch)
* [Multicopter Software Architecture](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
* [Matthias Grob](https://github.com/MaEtUgR)
* [VTOL Flight Control](https://github.com/PX4/PX4-Autopilot/labels/vtol)
* [Roman Bapst](https://github.com/RomanBapst)
* [Fixed Wing Flight Control](https://github.com/PX4/PX4-Autopilot/labels/fixedwing)
* [Roman Bapst](https://github.com/RomanBapst)
* OS / NuttX
* [David Sidrane](https://github.com/davids5)
* Driver Architecture
* [Daniel Agar](https://github.com/dagar)
* Commander Architecture
* [Julian Oes](https://github.com/julianoes)
* [UAVCAN](https://github.com/PX4/PX4-Autopilot/labels/uavcan)
* [Daniel Agar](https://github.com/dagar)
* [State Estimation](https://github.com/PX4/PX4-Autopilot/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22)
* [Paul Riseborough](https://github.com/priseborough)
* Vision based navigation and Obstacle Avoidance
* [Markus Achtelik](https://github.com/markusachtelik)
* DDS/ROS2 Interface
* [Nuno Marques](https://github.com/TSC21)
Note: This is the source of truth for the active maintainers of PX4 ecosystem.
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
| Sector | Maintainer |
|---|---|
| Founder | [Lorenz Meier](https://github.com/LorenzMeier) |
| Architecture | [Daniel Agar](https://github.com/dagar) / [Beat Küng](https://github.com/bkueng)|
| State Estimation | [Mathieu Bresciani](https://github.com/bresch) / [Paul Riseborough](https://github.com/priseborough) |
| OS/NuttX | [David Sidrane](https://github.com/davids5) |
| Drivers | [Daniel Agar](https://github.com/dagar) |
| Simulation | [Jaeyoung Lim](https://github.com/Jaeyoung-Lim) |
| ROS2 | [Beniamino Pozzan](https://github.com/beniaminopozzan) |
| Community QnA Call | [Ramon Roche](https://github.com/mrpollo) |
| [Documentation](https://docs.px4.io/main/en/) | [Hamish Willee](https://github.com/hamishwillee) |
| Vehicle Type | Maintainer |
|---|---|
| Multirotor | [Matthias Grob](https://github.com/MaEtUgR) |
| Fixed Wing | [Thomas Stastny](https://github.com/tstastny) |
| Hybrid VTOL | [Silvan Fuhrer](https://github.com/sfuhrer) |
| Boat | x |
| Rover | x |
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github). However it may be not up to date.
## Supported Hardware
This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.
Pixhawk standard boards and proprietary boards are shown below (discontinued boards aren't listed).
For the most up to date information, please visit [PX4 user Guide > Autopilot Hardware](https://docs.px4.io/main/en/flight_controller/).
### Pixhawk Standard Boards
* FMUv6X and FMUv6U (STM32H7, 2021)
* Various vendors will provide FMUv6X and FMUv6U based designs Q3/2021
* FMUv5 and FMUv5X (STM32F7, 2019/20)
* [Pixhawk 4 (FMUv5)](https://docs.px4.io/main/en/flight_controller/pixhawk4.html)
* [Pixhawk 4 mini (FMUv5)](https://docs.px4.io/main/en/flight_controller/pixhawk4_mini.html)
* [CUAV V5+ (FMUv5)](https://docs.px4.io/main/en/flight_controller/cuav_v5_plus.html)
* [CUAV V5 nano (FMUv5)](https://docs.px4.io/main/en/flight_controller/cuav_v5_nano.html)
* [Auterion Skynode (FMUv5X)](https://docs.auterion.com/skynode)
* FMUv4 (STM32F4, 2015)
* [Pixracer](https://docs.px4.io/main/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/main/en/flight_controller/pixhawk3_pro.html)
* FMUv3 (STM32F4, 2014)
* [Pixhawk 2](https://docs.px4.io/main/en/flight_controller/pixhawk-2.html)
* [Pixhawk Mini](https://docs.px4.io/main/en/flight_controller/pixhawk_mini.html)
* [CUAV Pixhack v3](https://docs.px4.io/main/en/flight_controller/pixhack_v3.html)
* FMUv2 (STM32F4, 2013)
* [Pixhawk](https://docs.px4.io/main/en/flight_controller/pixhawk.html)
* [Pixfalcon](https://docs.px4.io/main/en/flight_controller/pixfalcon.html)
### Manufacturer and Community supported
* [Holybro Durandal](https://docs.px4.io/main/en/flight_controller/durandal.html)
* [Hex Cube Orange](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orange.html)
* [Hex Cube Yellow](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_yellow.html)
* [Airmind MindPX V2.8](http://www.mindpx.net/assets/accessories/UserGuide_MindPX.pdf)
* [Airmind MindRacer V1.2](http://mindpx.net/assets/accessories/mindracer_user_guide_v1.2.pdf)
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/main/en/complete_vehicles/crazyflie2.html)
* [Omnibus F4 SD](https://docs.px4.io/main/en/flight_controller/omnibus_f4_sd.html)
* [Holybro Kakute F7](https://docs.px4.io/main/en/flight_controller/kakutef7.html)
* [Raspberry PI with Navio 2](https://docs.px4.io/main/en/flight_controller/raspberry_pi_navio2.html)
These boards fully comply with Pixhawk Standard, and are maintained by the PX4-Autopilot maintainers and Dronecode team
Additional information about supported hardware can be found in [PX4 user Guide > Autopilot Hardware](https://docs.px4.io/main/en/flight_controller/).
* FMUv6X and FMUv6C
* [CUAV Pixahwk V6X (FMUv6X)](https://docs.px4.io/main/en/flight_controller/cuav_pixhawk_v6x.html)
* [Holybro Pixhawk 6X (FMUv6X)](https://docs.px4.io/main/en/flight_controller/pixhawk6x.html)
* [Holybro Pixhawk 6C (FMUv6C)](https://docs.px4.io/main/en/flight_controller/pixhawk6c.html)
* [Holybro Pix32 v6 (FMUv6C)](https://docs.px4.io/main/en/flight_controller/holybro_pix32_v6.html)
* FMUv5 and FMUv5X (STM32F7, 2019/20)
* [Pixhawk 4 (FMUv5)](https://docs.px4.io/main/en/flight_controller/pixhawk4.html)
* [Pixhawk 4 mini (FMUv5)](https://docs.px4.io/main/en/flight_controller/pixhawk4_mini.html)
* [CUAV V5+ (FMUv5)](https://docs.px4.io/main/en/flight_controller/cuav_v5_plus.html)
* [CUAV V5 nano (FMUv5)](https://docs.px4.io/main/en/flight_controller/cuav_v5_nano.html)
* [Auterion Skynode (FMUv5X)](https://docs.auterion.com/avionics/skynode)
* FMUv4 (STM32F4, 2015)
* [Pixracer](https://docs.px4.io/main/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/main/en/flight_controller/pixhawk3_pro.html)
* FMUv3 (STM32F4, 2014)
* [Pixhawk 2](https://docs.px4.io/main/en/flight_controller/pixhawk-2.html)
* [Pixhawk Mini](https://docs.px4.io/main/en/flight_controller/pixhawk_mini.html)
* [CUAV Pixhack v3](https://docs.px4.io/main/en/flight_controller/pixhack_v3.html)
* FMUv2 (STM32F4, 2013)
* [Pixhawk](https://docs.px4.io/main/en/flight_controller/pixhawk.html)
### Manufacturer supported
These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.
* [ARK Electronics ARKV6X](https://docs.px4.io/main/en/flight_controller/arkv6x.html)
* [CubePilot Cube Orange+](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orangeplus.html)
* [CubePilot Cube Orange](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orange.html)
* [CubePilot Cube Yellow](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_yellow.html)
* [Holybro Durandal](https://docs.px4.io/main/en/flight_controller/durandal.html)
* [Airmind MindPX V2.8](http://www.mindpx.net/assets/accessories/UserGuide_MindPX.pdf)
* [Airmind MindRacer V1.2](http://mindpx.net/assets/accessories/mindracer_user_guide_v1.2.pdf)
* [Holybro Kakute F7](https://docs.px4.io/main/en/flight_controller/kakutef7.html)
### Community supported
These boards don't fully comply industry standards, and thus is solely maintained by the PX4 public community members.
### Experimental
These boards are nor maintained by PX4 team nor Manufacturer, and is not guaranteed to be compatible with up to date PX4 releases.
* [Raspberry PI with Navio 2](https://docs.px4.io/main/en/flight_controller/raspberry_pi_navio2.html)
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/main/en/complete_vehicles/crazyflie2.html)
## Project Roadmap
**Note: Outdated**
A high level project roadmap is available [here](https://github.com/orgs/PX4/projects/25).
## Project Governance
+18 -5
View File
@@ -137,11 +137,6 @@ add_custom_command(
COMMENT "ROMFS: copying, generating airframes"
)
if(EXISTS ${PX4_BOARD_DIR}/extras/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin)
set(BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in ${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade @ONLY)
endif()
# copy extras into ROMFS
set(extras_dependencies)
@@ -208,6 +203,24 @@ endforeach()
set(OPTIONAL_BOARD_EXTRAS)
file(GLOB OPTIONAL_BOARD_EXTRAS ${PX4_BOARD_DIR}/extras/*)
# bootloader (optional)
# - if systemcmds/bl_update included and board bootloader available then generate rc.board_bootloader_upgrade and copy bootloader binary
# - otherwise remove bootloader binary from extras in final ROMFS
foreach(board_extra_file ${OPTIONAL_BOARD_EXTRAS})
file(RELATIVE_PATH extra_file_base_name ${PX4_BOARD_DIR}/extras/ ${board_extra_file})
if(${extra_file_base_name} MATCHES "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
if(CONFIG_SYSTEMCMDS_BL_UPDATE)
# generate rc.board_bootloader_upgrade
set(BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in ${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade @ONLY)
else()
# remove bootloader from extras
list(REMOVE_ITEM OPTIONAL_BOARD_EXTRAS ${board_extra_file})
endif()
endif()
endforeach()
foreach(board_extra_file ${OPTIONAL_BOARD_EXTRAS})
if(EXISTS "${board_extra_file}")
@@ -0,0 +1,30 @@
#!/bin/sh
#
# @name Generic Iris Quadrotor SITL
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
@@ -0,0 +1,32 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL jMAVSim
#
# @type Quadrotor Wide
#
# @maintainer Julian Oes <julian@oes.ch>
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
@@ -0,0 +1,33 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (foggy_lidar)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default EKF2_RNG_A_HMAX 10
@@ -1,11 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (foggy_lidar)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
param set-default EKF2_RNG_A_HMAX 10
@@ -12,13 +12,14 @@
PX4_SIMULATOR=${PX4_SIMULATOR:=sihsim}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=quadx}
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 1
param set-default SENS_EN_MAGSIM 1
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set-default CA_ROTOR_COUNT 4
@@ -41,4 +42,3 @@ param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set SIH_VEHICLE_TYPE 0
@@ -11,13 +11,17 @@
PX4_SIMULATOR=${PX4_SIMULATOR:=sihsim}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=airplane}
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 1
param set-default SENS_EN_MAGSIM 1
param set-default SENS_EN_ARSPDSIM 1
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set-default BAT_N_CELLS 3
@@ -11,6 +11,13 @@
PX4_SIMULATOR=${PX4_SIMULATOR:=sihsim}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=xvert}
param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 1
param set-default SENS_EN_MAGSIM 1
param set-default VT_B_TRANS_DUR 5
param set-default VT_ELEV_MC_LOCK 0
param set-default VT_TYPE 0
param set-default VT_FW_DIFTHR_EN 1
@@ -21,12 +28,9 @@ param set-default MC_PITCH_P 5
param set-default MAV_TYPE 19
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set-default BAT_N_CELLS 3
@@ -49,7 +53,7 @@ param set-default CA_AIRFRAME 4
param set-default CA_ROTOR_COUNT 2
param set-default CA_ROTOR0_PX 0
param set-default CA_ROTOR0_PY 2
param set-default CA_ROTOR0_PY 1
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX 0
param set-default CA_ROTOR1_PY -1
@@ -0,0 +1,51 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Optical Flow)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
# EKF2
param set-default EKF2_GPS_CTRL 0
param set-default EKF2_HGT_REF 0
param set-default EKF2_EVP_NOISE 0.05
param set-default EKF2_EVA_NOISE 0.05
param set-default EKF2_OF_CTRL 1
# LPE: Flow-only mode
param set-default LPE_FUSION 242
param set-default LPE_FAKE_ORIGIN 1
# Commander
# param set-default COM_HOME_EN 0 # Disable setting of home position
param set-default MPC_ALT_MODE 2
param set-default SENS_FLOW_ROT 6
param set-default SENS_FLOW_MINHGT 0.7
param set-default SENS_FLOW_MAXHGT 3.0
param set-default SENS_FLOW_MAXR 2.5
@@ -1,25 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Optical Flow)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# EKF2
param set-default EKF2_AID_MASK 2
param set-default EKF2_GPS_CTRL 0
param set-default EKF2_EVP_NOISE 0.05
param set-default EKF2_EVA_NOISE 0.05
# LPE: Flow-only mode
param set-default LPE_FUSION 242
param set-default LPE_FAKE_ORIGIN 1
param set-default MPC_ALT_MODE 2
param set-default SENS_FLOW_ROT 6
param set-default SENS_FLOW_MINHGT 0.7
param set-default SENS_FLOW_MAXHGT 3.0
param set-default SENS_FLOW_MAXR 2.5
@@ -0,0 +1,38 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (irlock)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
# enable fusion of landing target velocity
param set-default LTEST_MODE 1
param set-default PLD_HACC_RAD 0.1
param set-default RTL_PLD_MD 2
# Start up Landing Target Estimator module
landing_target_estimator start
@@ -1,16 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (irlock)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# enable fusion of landing target velocity
param set-default LTEST_MODE 1
param set-default PLD_HACC_RAD 0.1
param set-default RTL_PLD_MD 2
# Start up Landing Target Estimator module
landing_target_estimator start
@@ -0,0 +1,33 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (rplidar)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default LPE_FUSION 242
@@ -1,11 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (rplidar)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
param set-default LPE_FUSION 242
@@ -5,12 +5,12 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
. ${R}etc/init.d-posix/airframes/10016_gazebo-classic_iris
# EKF2: Vision position and heading
param set-default EKF2_AID_MASK 24
# EKF2: Vision position and heading, no GPS
param set-default EKF2_EV_DELAY 5
param set-default EKF2_EV_CTRL 15
param set-default EKF2_HGT_REF 3
param set-default EKF2_GPS_CTRL 0
# LPE: Vision + baro
@@ -0,0 +1,32 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Obstacle Avoidance)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default COM_OBS_AVOID 1
@@ -0,0 +1,8 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor with a depth camera (forward-facing)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10015_gazebo-classic_iris
@@ -1,12 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Obstacle Avoidance)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
param set-default COM_OBS_AVOID 1
param set-default MPC_XY_CRUISE 5.0
@@ -0,0 +1,8 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor with a depth camera (downward-facing)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10015_gazebo-classic_iris
@@ -0,0 +1,40 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Optical Flow)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
# EKF2
param set-default EKF2_GPS_CTRL 0
param set-default EKF2_OF_CTRL 1
# LPE: Flow-only mode
param set-default LPE_FUSION 242
param set-default LPE_FAKE_ORIGIN 1
param set-default MPC_ALT_MODE 2
@@ -1,18 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Optical Flow)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# EKF2
param set-default EKF2_AID_MASK 2
param set-default EKF2_GPS_CTRL 0
# LPE: Flow-only mode
param set-default LPE_FUSION 242
param set-default LPE_FAKE_ORIGIN 1
param set-default MPC_ALT_MODE 2
@@ -1,13 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Vision Velocity)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# EKF2: Vision velocity and heading
param set-default EKF2_AID_MASK 272
param set-default EKF2_EV_DELAY 5
param set-default EKF2_GPS_CTRL 0
@@ -0,0 +1,33 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Dual GPS)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d/rc.mc_defaults
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
# EKF2: Multi GPS blending
param set-default SENS_GPS_MASK 7
@@ -1,11 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Dual GPS)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# EKF2: Multi GPS blending
param set-default SENS_GPS_MASK 7
@@ -5,9 +5,6 @@
. ${R}etc/init.d/rc.uuv_defaults
# disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
param set-default CA_AIRFRAME 7
param set-default CA_ROTOR_COUNT 4
param set-default CA_R_REV 255
@@ -5,9 +5,6 @@
. ${R}etc/init.d/rc.uuv_defaults
# disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
param set-default CA_AIRFRAME 7
param set-default CA_ROTOR_COUNT 8
@@ -5,12 +5,9 @@
. ${R}etc/init.d/rc.fw_defaults
param set-default EKF2_MAG_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_ANG 8
param set-default FW_L1_PERIOD 12
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.5
@@ -0,0 +1,79 @@
#!/bin/sh
#
# @name Plane SITL with camera
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_ANG 8
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.5
param set-default FW_PR_I 0.5
param set-default TRIM_PITCH -0.15
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.5
param set-default FW_RR_P 0.3
param set-default FW_RR_I 0.5
param set-default FW_YR_FF 0.5
param set-default FW_YR_P 0.6
param set-default FW_YR_I 0.5
param set-default FW_SPOILERS_LND 0.4
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_TRIM 0.25
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
# Camera trigger interface is MAVLink
param set-default TRIG_INTERFACE 3
# Distance trigger mode enabled
param set-default TRIG_MODE 4
@@ -1,12 +0,0 @@
#!/bin/sh
#
# @name Plane SITL with camera
#
. ${R}etc/init.d-posix/airframes/1030_plane
# Camera trigger interface is MAVLink
param set-default TRIG_INTERFACE 3
# Distance trigger mode enabled
param set-default TRIG_MODE 4
@@ -0,0 +1,74 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LAUN_DETCN_ON 1
param set-default FW_THR_IDLE 0.1 # needs to be running before throw as that's how gazebo detects arming
param set-default FW_LAUN_AC_THLD 10
param set-default FW_LND_ANG 8
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.5
param set-default FW_PR_I 0.5
param set-default TRIM_PITCH -0.15
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.5
param set-default FW_RR_P 0.3
param set-default FW_RR_I 0.5
param set-default FW_YR_FF 0.5
param set-default FW_YR_P 0.6
param set-default FW_YR_I 0.5
param set-default FW_SPOILERS_LND 0.4
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_TRIM 0.25
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
@@ -1,9 +0,0 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default RWTO_TKOFF 0
@@ -10,7 +10,7 @@ param set-default FW_LND_FL_PMIN 9.5
param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5
param set-default FW_L1_PERIOD 25
param set-default NPFG_PERIOD 25
param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05
@@ -25,7 +25,6 @@ param set-default FW_W_EN 1
param set-default MIS_TAKEOFF_ALT 20
param set-default MIS_DIST_1WP 2500
param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
@@ -10,7 +10,7 @@ param set-default FW_LND_FL_PMIN 9.5
param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5
param set-default FW_L1_PERIOD 25
param set-default NPFG_PERIOD 25
param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05
@@ -25,7 +25,6 @@ param set-default FW_W_EN 1
param set-default MIS_TAKEOFF_ALT 20
param set-default MIS_DIST_1WP 2500
param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
@@ -57,4 +56,3 @@ param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
@@ -5,13 +5,10 @@
. ${R}etc/init.d/rc.fw_defaults
param set-default EKF2_MAG_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_ANG 8
param set-default FW_L1_PERIOD 15
param set-default FW_P_TC 0.5
param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05
@@ -22,7 +19,7 @@ param set-default FW_RR_FF 0.20
param set-default FW_RR_I 0.02
param set-default FW_RR_P 0.22
param set-default FW_L1_PERIOD 12
param set-default NPFG_PERIOD 12
param set-default FW_W_EN 1
@@ -10,7 +10,7 @@ param set-default FW_LND_FL_PMIN 9.5
param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5
param set-default FW_L1_PERIOD 25
param set-default NPFG_PERIOD 25
param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05
@@ -25,7 +25,6 @@ param set-default FW_W_EN 1
param set-default MIS_TAKEOFF_ALT 20
param set-default MIS_DIST_1WP 2500
param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
@@ -5,12 +5,11 @@
. ${R}etc/init.d/rc.fw_defaults
param set-default EKF2_MAG_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_ANG 8
param set-default FW_L1_PERIOD 12
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.2
@@ -26,7 +25,6 @@ param set-default FW_THR_TRIM 0.25
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_HRATE_FF 0.5
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
@@ -0,0 +1,73 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_ANG 8
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.5
param set-default FW_PR_I 0.5
param set-default TRIM_PITCH -0.15
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.5
param set-default FW_RR_P 0.3
param set-default FW_RR_I 0.5
param set-default FW_YR_FF 0.5
param set-default FW_YR_P 0.6
param set-default FW_YR_I 0.5
param set-default FW_SPOILERS_LND 0.4
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_TRIM 0.25
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
param set-default FW_THR_TRIM 0.0
@@ -1,9 +0,0 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default FW_THR_TRIM 0.0
param set-default RWTO_TKOFF 0
@@ -0,0 +1,63 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_ANG 5
param set-default FW_LND_FL_PMIN 9.5
param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5
param set-default NPFG_PERIOD 25
param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05
param set-default FW_PR_P 0.05
param set-default FW_R_TC 0.45
param set-default FW_RR_FF 0.40
param set-default FW_RR_I 0.132
param set-default FW_RR_P 0.085
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 20
param set-default MIS_DIST_1WP 2500
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1
param set-default RWTO_MAX_PITCH 20
param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
@@ -5,13 +5,11 @@
. ${R}etc/init.d/rc.fw_defaults
param set-default EKF2_MAG_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_ANG 8
param set-default FW_THR_LND_MAX 0
param set-default FW_L1_PERIOD 12
param set-default NPFG_PERIOD 12
param set-default FW_MAN_P_MAX 30
@@ -37,7 +35,6 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1
#param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
@@ -62,7 +59,3 @@ param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -47,7 +47,9 @@ param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default FW_L1_PERIOD 12
param set-default FW_AIRSPD_MAX 25
param set-default FW_THR_ASPD_MAX 0.4
param set-default NPFG_PERIOD 12
param set-default FW_PR_FF 0.2
param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2
@@ -62,21 +64,18 @@ param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default MC_AIRMODE 1
param set-default MC_ROLL_P 4
param set-default MC_ROLLRATE_P 0.3
param set-default MC_YAW_P 1.6
param set-default MC_YAWRATE_P 0.3
param set-default MIS_TAKEOFF_ALT 10
param set-default MPC_ACC_HOR_MAX 2
param set-default MPC_XY_P 0.8
param set-default MPC_XY_VEL_P_ACC 3
param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5
param set-default VT_FWD_THRUST_EN 4
param set-default VT_FWD_THRUST_SC 1
param set-default VT_F_TRANS_THR 0.75
param set-default VT_B_TRANS_DUR 8
param set-default VT_TYPE 2
@@ -9,11 +9,13 @@
param set-default MAV_TYPE 20
param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters
param set-default CA_AIRFRAME 4
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 1
param set-default CA_ROTOR0_PY 2
param set-default CA_ROTOR0_PY 1
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -1
param set-default CA_ROTOR1_PY -1
@@ -42,37 +44,36 @@ param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_REV 96 # invert both elevons
param set-default FW_L1_PERIOD 12
param set-default FW_PR_I 0.2
param set-default FW_PR_P 0.2
# Single-EKF (for replay)
param set-default EKF2_MULTI_IMU 0
param set-default SENS_IMU_MODE 1
param set-default FW_P_TC 0.6
param set-default FW_PR_FF 0.1
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_P 0.2
param set-default FW_THR_TRIM 0.33
param set-default FW_THR_MAX 0.6
param set-default FW_RR_FF 0.1
param set-default FW_RR_I 0.2
param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.35
param set-default FW_THR_MAX 0.8
param set-default FW_THR_MIN 0.05
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_CLMB_MAX 6
param set-default FW_T_HRATE_FF 0.5
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
param set-default FW_T_SINK_MAX 3
param set-default FW_T_SINK_MIN 1.6
param set-default MC_AIRMODE 1
param set-default MC_ROLL_P 3
param set-default MC_PITCH_P 3
param set-default MC_ROLLRATE_P 0.3
param set-default MC_PITCHRATE_P 0.3
param set-default MPC_ACC_HOR_MAX 2
param set-default MPC_XY_P 0.8
param set-default MPC_XY_VEL_P_ACC 3
param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5
param set-default VT_ARSP_TRANS 10
param set-default VT_B_TRANS_DUR 5
param set-default VT_FW_DIFTHR_EN 1
param set-default VT_FW_DIFTHR_S_Y 0.5
param set-default VT_FW_DIFTHR_S_Y 1
param set-default VT_F_TRANS_DUR 1.5
param set-default VT_F_TRANS_THR 0.7
param set-default VT_TYPE 0
param set-default WV_EN 0
@@ -46,7 +46,7 @@ param set-default PWM_MAIN_FUNC7 201
param set-default PWM_MAIN_FUNC8 202
param set-default PWM_MAIN_FUNC9 203
param set-default FW_L1_PERIOD 12
param set-default NPFG_PERIOD 12
param set-default FW_PR_FF 0.2
param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2
@@ -70,7 +70,6 @@ param set-default MPC_XY_VEL_D_ACC 0.1
param set-default MIS_TAKEOFF_ALT 10
param set-default VT_B_TRANS_DUR 8
param set-default VT_FWD_THRUST_EN 4
param set-default VT_FWD_THRUST_SC 0.6
param set-default VT_TILT_TRANS 0.6
@@ -0,0 +1,91 @@
#!/bin/sh
#
# @name Standard VTOL
#
# @type Standard VTOL
#
. ${R}etc/init.d/rc.vtol_defaults
# TODO: Enable motor failure detection when the
# VTOL no longer reports 0A for all ESCs in SITL
param set-default FD_ACT_EN 0
param set-default FD_ACT_MOT_TOUT 500
param set-default CA_AIRFRAME 2
param set-default CA_ROTOR_COUNT 5
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default CA_ROTOR4_AX 1.0
param set-default CA_ROTOR4_AZ 0.0
param set-default CA_ROTOR4_PX 0.2
param set-default CA_SV_CS_COUNT 3
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default NPFG_PERIOD 12
param set-default FW_PR_FF 0.2
param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.25
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default MC_ROLLRATE_P 0.3
param set-default MC_YAW_P 1.6
param set-default MIS_TAKEOFF_ALT 10
param set-default MPC_XY_P 0.8
param set-default MPC_XY_VEL_P_ACC 3
param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5
param set-default VT_FWD_THRUST_EN 4
param set-default VT_F_TRANS_THR 0.75
param set-default VT_MOT_ID 1234
param set-default VT_FW_MOT_OFFID 1234
param set-default VT_TYPE 2
# Gimbal
param set-default PWM_MAIN_FUNC9 420
param set-default PWM_MAIN_FUNC10 421
param set-default PWM_MAIN_FUNC11 422
param set-default RC_MAP_AUX1 8
param set-default RC_MAP_AUX2 9
param set-default RC_MAP_AUX3 10
@@ -1,18 +0,0 @@
#!/bin/sh
#
# @name Standard VTOL
#
# @type Standard VTOL
#
. ${R}etc/init.d-posix/airframes/1040_standard_vtol
# Gimbal
param set-default PWM_MAIN_FUNC9 420
param set-default PWM_MAIN_FUNC10 421
param set-default PWM_MAIN_FUNC11 422
param set-default RC_MAP_AUX1 8
param set-default RC_MAP_AUX2 9
param set-default RC_MAP_AUX3 10
@@ -0,0 +1,76 @@
#!/bin/sh
#
# @name Plane SITL with downward facing LIDAR.
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_ANG 8
param set-default NPFG_PERIOD 12
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.5
param set-default FW_PR_I 0.5
param set-default TRIM_PITCH -0.15
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.5
param set-default FW_RR_P 0.3
param set-default FW_RR_I 0.5
param set-default FW_YR_FF 0.5
param set-default FW_YR_P 0.6
param set-default FW_YR_I 0.5
param set-default FW_SPOILERS_LND 0.4
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_TRIM 0.25
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
param set-default FW_LND_USETER 1
@@ -1,9 +0,0 @@
#!/bin/sh
#
# @name Plane SITL with downward facing LIDAR.
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default FW_LND_USETER 1
@@ -0,0 +1,74 @@
#!/bin/sh
#
# @name Quadrotor + Tailsitter
#
# @type VTOL Quad Tailsitter
#
. ${R}etc/init.d/rc.vtol_defaults
param set-default MAV_TYPE 20
param set-default CA_AIRFRAME 4
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.15
param set-default CA_ROTOR0_PY 0.23
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.15
param set-default CA_ROTOR1_PY -0.23
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.15
param set-default CA_ROTOR2_PY -0.23
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.15
param set-default CA_ROTOR3_PY 0.23
param set-default CA_ROTOR3_KM -0.05
param set-default CA_SV_CS_COUNT 0
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 0
parm set-default FD_FAIL_R 70
param set-default FW_P_TC 0.6
param set-default FW_PR_I 0.3
param set-default FW_PR_P 0.5
param set-default FW_PSP_OFF 2
param set-default FW_RR_FF 0.1
param set-default FW_RR_I 0.1
param set-default FW_RR_P 0.2
param set-default FW_YR_FF 0 # make yaw rate controller very weak, only keep default P
param set-default FW_YR_I 0
param set-default FW_THR_TRIM 0.35
param set-default FW_THR_MAX 0.8
param set-default FW_THR_MIN 0.05
param set-default FW_T_CLMB_MAX 6
param set-default FW_T_HRATE_FF 0.5
param set-default FW_T_SINK_MAX 3
param set-default FW_T_SINK_MIN 1.6
param set-default FW_AIRSPD_STALL 10
param set-default FW_AIRSPD_MIN 14
param set-default FW_AIRSPD_TRIM 18
param set-default FW_AIRSPD_MAX 22
param set-default MC_AIRMODE 2
param set-default MAN_ARM_GESTURE 0 # required for yaw airmode
param set-default MC_ROLL_P 3
param set-default MC_PITCH_P 3
param set-default MC_ROLLRATE_P 0.3
param set-default MC_PITCHRATE_P 0.3
param set-default VT_ARSP_TRANS 15
param set-default VT_B_TRANS_DUR 5
param set-default VT_FW_DIFTHR_EN 7
param set-default VT_FW_DIFTHR_S_Y 1
param set-default VT_F_TRANS_DUR 1.5
param set-default VT_TYPE 0
param set-default WV_EN 0
@@ -18,12 +18,9 @@ param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
@@ -0,0 +1,12 @@
#!/bin/sh
#
# @name Aion Robotics R1 Rover
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_differential_defaults
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 101
param set-default PWM_MAIN_FUNC6 102
param set-default PWM_MAIN_FUNC7 102
@@ -1,37 +0,0 @@
#!/bin/sh
#
# @name Aion Robotics R1 Rover
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_defaults
param set-default GND_L1_DIST 5
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 3
param set-default GND_SPEED_I 0.001
param set-default GND_SPEED_IMAX 0.125
param set-default GND_SPEED_P 0.25
param set-default GND_SPEED_THR_SC 1
param set-default GND_SPEED_TRIM 4
param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
param set-default CA_AIRFRAME 6
param set-default CA_R_REV 3
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 101
param set-default PWM_MAIN_FUNC6 102
param set-default PWM_MAIN_FUNC7 102
@@ -25,12 +25,9 @@ param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 3.0
@@ -18,12 +18,9 @@ param set-default GND_THR_CRUISE 0.85
param set-default GND_THR_MAX 1
param set-default GND_THR_MIN 0
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
@@ -26,7 +26,6 @@ param set-default NAV_ACC_RAD 20
param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 0
# Parameters related to autogyro takeoff PR
#param set-default AG_TKOFF 1
#param set-default AG_PROT_TYPE 1

Some files were not shown because too many files have changed in this diff Show More