Compare commits

..

13645 Commits

Author SHA1 Message Date
Daniel Agar edb9fce9b3 drivers/rc_input: cleanup and simplify data processing per type
- don't store data in class
2022-02-09 17:11:11 -05:00
Daniel Agar c4f9f2980d drivers/rc_input: poll file descriptor to minimize latency 2022-02-09 16:48:08 -05:00
David Sidrane fd1aa3cfb9 matek_gnss-m9n-f4:Use CONFIG_BOARD_SERIAL_GPSn for serial_passthru 2022-02-09 13:11:52 -05:00
David Sidrane 0c936e4fd2 serial_passthru:Move CONFIG_xxx to serial_passthru 2022-02-09 13:11:52 -05:00
Silvan Fuhrer 81b08a0168 FW Pos C: set position_sp type to position during VTOL backtransition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-09 11:39:47 -05:00
Silvan Fuhrer 1d6396b418 Navigator: VTOL: track virtual WP 1m ahead of vehicle during backtransition in Land mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-09 11:39:47 -05:00
Jukka Laitinen dcde0d0559 src/drivers/sw_crypto: Late initialize tomcypt
This saves a lot of flash space, in case functions from libtomcrypt
are not used (currently only RSA related).

When RSA is not used, the linker can now drop all libtomcrypt related things.
This is especially relevant for bootloaders using the SW crypto.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-09 10:28:06 -05:00
Daniel Agar a95da715d5 Jenkins: HIL remove airframe 4018 test 2022-02-09 10:08:59 +01:00
Beat Küng 86860808e3 ROMFS: set CA_* geometry params for some of the generic airframes
Not enabled, makes it easier to switch.
2022-02-09 10:08:59 +01:00
Beat Küng a2ba613254 ROMFS: remove 4018 + 6003 ctrlalloc airframes 2022-02-09 10:08:59 +01:00
PX4 BuildBot 33ce1b9b64 Update submodule mavlink to latest Wed Feb 9 00:39:13 UTC 2022
- mavlink in PX4/Firmware (ed8c1dca2e792e95d9ab1ba72a22bc9658f10b79): https://github.com/mavlink/mavlink/commit/51abf3c82b3d7137406459dc9b337e57637711ae
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/311eee010bb82f5fb2e4e0f64f7961a83212b003
    - Changes: https://github.com/mavlink/mavlink/compare/51abf3c82b3d7137406459dc9b337e57637711ae...311eee010bb82f5fb2e4e0f64f7961a83212b003

    311eee01 2022-02-04 Peter Barker - common.xml: deprecate SET_HOME_POSITION message (#1791)
63d62522 2022-02-02 Julian Oes - minimal: add MAV_TYPE_WINCH (#1789)
2022-02-08 21:50:55 -05:00
PX4 BuildBot 421ca2fc48 Update submodule sitl_gazebo to latest Wed Feb 9 00:39:03 UTC 2022
- sitl_gazebo in PX4/Firmware (a088277fe866860272f1ef21773f5be1b6832b11): https://github.com/PX4/PX4-SITL_gazebo/commit/2750fe233c6a38dbe60e545ac0ec878d6ac20b1e
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/25138e803ee8525ee5fe4e6d511506e88e3f819c
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/2750fe233c6a38dbe60e545ac0ec878d6ac20b1e...25138e803ee8525ee5fe4e6d511506e88e3f819c

    25138e8 2021-07-16 Julian Oes - gimbal_controller: fix attitude status
2022-02-08 20:52:12 -05:00
Daniel Agar b24aa071b6 Jenkins: hardware always dump pyserial debug (silently) 2022-02-08 17:22:57 -05:00
Daniel Agar 6686736cff drv_pwm_output.h fix dshot cmd typo 2022-02-08 17:11:49 -05:00
Daniel Agar 86f81680fb sensors: check uORB::SubscriptionData validity before use 2022-02-08 13:19:01 -05:00
Oleg Kalachev 21b78f9d05 Enable mpu9250’s magnetometer on fmu-v4 2022-02-08 13:18:39 -05:00
Steve Nogar dce067df83 add configurable rtps rate parameter 2022-02-08 19:03:20 +01:00
Daniel Agar 133fe0cfb1 local_position_estimator: move to INS0 work queue (for significantly more stack) 2022-02-08 11:16:49 -05:00
Daniel Agar be3da5089c uORB: uORBDeviceNode use px4_cache_aligned_alloc 2022-02-08 10:20:50 -05:00
Viktor Vladic f4d02a2937 MatekH743 board_id, usb vid/pid changes, and MPU6000 delay before transfer - not after (#18733)
* Make board_id compatible with ardupilot
 * Initialize outputs for CAM1/CAM2 and Vsw pad
 * Correct board type 1013 in bootloader to match AP
 * Change usb vendor string to "Matek"
 * Change cdcacm pid to 1013
 * Comment out FLASH_BASED_PARAMS because of #15331
2022-02-07 19:55:49 -05:00
Julian Oes 490a0c473b Rename vmount to gimbal 2022-02-07 19:21:15 -05:00
Julian Oes 853047c643 Mantis: use gimbal auto input
This allows RC and mavlink gimbal v2 input.
2022-02-07 19:21:15 -05:00
Julian Oes 39f0e97245 vmount: refactor for v2 auto input, test command
This is a bigger refactor of vmount to clean it up and plug some holes
in functionality.

The changes include:
- Fixing/simplifying the test command.
- Changing the dependencies of the input and output classes to just the
  parameter list.
- Adding a separate topic to publish gimbal v1 commands to avoid
  polluting the vehicle_command topic.
- Removing outdated comments and author lists.
- Extracting the gimbal v2 "in control" notion outside into control_data
  rather than only the v2 input.
2022-02-07 19:21:15 -05:00
Julian Oes f2216dff55 mavlink: don't send gimbal_device_attitude_status
If we receive gimbal_device_attitude_status by mavlink we should not
re-send it as we are already supposed to be forwarding mavlink traffic
from the gimbal to the ground station.
2022-02-07 19:21:15 -05:00
Julian Oes 7e7a99b542 mavlink: handle for GIMBAL_DEVICE_ATTITUDE_STATUS
That way we can log it later.
2022-02-07 19:21:15 -05:00
Daniel Agar 5b07398b3e Tools/HIL/test_airframes.sh: only attempt setting first 3 MAV_x_CONFIG
- MAV_3_CONFIG doesn't exist
2022-02-07 16:31:27 -05:00
Daniel Agar f9d87fd97a sensors/vehicle_angular_velocity: improve error handling (especially during initial selection) 2022-02-07 12:47:02 -05:00
Daniel Agar 3a37fd92e6 Jenkins: HIL temporarily tolerate ERRORs during 'uorb top' (long running command)
- on older boards if the sensor auto cal completes while this is
running it causes a brief sensor timeout
2022-02-07 10:26:48 -05:00
Daniel Agar 052adfbfd9 borads: holybro_kakutef7 disable modules/events to save flash 2022-02-06 16:53:13 -05:00
Daniel Agar 3a741cb9c9 boards: bitcrazy_crazyflie disable gyro_fft to save flash 2022-02-06 16:53:13 -05:00
Thomas Debrunner b4087ebd2b mc_pos_control: increase the default crawl speed for three-stage-landing approach for a more robust landing detection 2022-02-04 21:56:20 -05:00
Matthias Grob 4ef8cead3d mc_pos_control_params: correct crawl speed reference 2022-02-04 21:56:20 -05:00
Matthias Grob 1df9d6fca6 MulticopterLandDetector: fix crawl speed parameter fetching 2022-02-04 21:56:20 -05:00
Thomas Debrunner fb8b9b647a land-detector: switch to crawl speed for intent detection 2022-02-04 21:56:20 -05:00
Thomas Debrunner 2a6d9bc1dd fligh-mode-manager: First implementation of a three-stage-landing for multirotos, in case LIDAR is available 2022-02-04 21:56:20 -05:00
Daniel Agar 893cdf8f38 ekf2: test external vision adjustments after lowering fake position fusion variance 2022-02-04 21:48:32 -05:00
Daniel Agar 6b1750d8be ekf2: lower fake position observation variance when at rest 2022-02-04 21:48:32 -05:00
Daniel Agar c028b964e2 bmm150: minor changes to match reference driver 2022-02-04 19:57:24 -05:00
Beat Küng 8b2016b4ed fix protocol_splitter: increment i properly in scan_for_packets
This also guarantees that i is increased in every loop iteration.
Before it was possible to enter a busy loop.
2022-02-04 09:42:52 -05:00
Daniel Agar cf3db0d313 mavlink: don't send_mission_current if mission invalid 2022-02-04 09:40:25 -05:00
Silvan Fuhrer 26dba1407b Commander: VTOL quadchuate also triggers a RTL in Loiter and VTOL_Takeoff modes, not just in Mission (#19123)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-03 14:18:28 +01:00
JaeyoungLim f82c722653 Publish correct orbit status with goto (#19102)
For fixedwings, the orbit status was publishing zero radius when a goto waypoint was being passed.

This commit corrects this by passing the default loiter radius as the guidance logic was using
2022-02-03 10:16:39 +01:00
bresch 917910f3e2 ekf: pass a float by copy instead of a constant ref 2022-02-02 17:43:25 -05:00
bresch 3077f27821 ekf: use float instead of Vector2f for innov gate in pos/vel fusion
We always use the same innovation gate for X and Y anyway
2022-02-02 17:43:25 -05:00
Daniel Agar 5fb0084524 ekf2: remove unused shared fields for last velocity observation and variance 2022-02-02 17:43:25 -05:00
Daniel Agar 8a0581516c ekf2: don't store _auxvel_sample_delayed 2022-02-02 17:43:25 -05:00
Daniel Agar 452b5e94b4 ekf2: don't store _drag_sample_delayed 2022-02-02 17:43:25 -05:00
Daniel Agar 138ff7a316 sensors: ensure that best accel/gyro is in bounds 2022-02-02 17:14:46 -05:00
Daniel Agar 07c273fc31 sensors/vehicle_angular_velocity: print full sensor_selection if device id not found 2022-02-02 17:14:46 -05:00
Daniel Agar 94604ff21a Jenkins: hardware pyserial cat shouldn't fail the build 2022-02-02 14:17:02 -05:00
Peter van der Perk 9f97793491 Generate C/C++ header to expose px4board kconfig symbols to the preprocessor 2022-02-02 13:23:21 -05:00
Jaeyoung Lim 2fc95bb369 Rebase fix
Use getnavspeed_2d for groundspeed
2022-02-02 17:16:19 +01:00
Jaeyoung Lim 3dd5c1fbaf Enable NPFG by default on the believer 2022-02-02 17:16:19 +01:00
Jaeyoung Lim 3a9c5c3178 Use acceleration to pass path curvature 2022-02-02 17:16:19 +01:00
Jaeyoung Lim e2741f988a Add interface for passing path tangent and closest point directly
This commit adds an interface to pass the path tangent and closest point directly to NPFG using the offboard interface
2022-02-02 17:16:19 +01:00
David Sidrane f460611098 Fix serial_test stack warning 2022-02-02 11:12:53 -05:00
Peter van der Perk efd3bc1794 Serial_test move g_cl and g_mod from heap to stack to save memory by not preallocating them 2022-02-02 07:21:43 -08:00
Daniel Agar 88ffc177f7 ekf2: utils add getEulerYaw() that uses the best rotation sequence 2022-02-02 08:54:03 -05:00
Daniel Agar c3e0b93fc8 ekf2: remove unnecessary inlines 2022-02-02 08:50:49 -05:00
Hamish Willee 26d5ac4f58 GPS_YAW_OFFSET param docs: use rover and moving base terminology 2022-02-02 07:39:01 +01:00
David Sidrane 3358712b92 UAVCAN Node Correct C to Kelvin conversion 2022-02-01 21:49:29 -05:00
David Sidrane ec441fdba6 gnss-m9n-f4:Add serial_passthru 2022-02-01 21:49:29 -05:00
David Sidrane 3fecf8a23c Added ability to launch passthru on u-center traffic 2022-02-01 21:49:29 -05:00
David Sidrane 48c32f7795 Added serial passthru
This addes the command serial_passthru which will pass data from one
   device to another. This can be used to use u-center connected to USB
   with a GPS on a serial port.

   Usage: serial_passthru [arguments...]
      -e <val>    External device path
                  values: <file:dev>
      -d <val>    Internal device path
                  values: <file:dev>
      [-b <val>]  Baudrate
                  default: 115200
      [-t]        Track the External devices baudrate on internal device

    With the -t option baudrate changes made on the PC connected to the USB
    will be set to the intrenal device.
2022-02-01 21:49:29 -05:00
David Sidrane 0c8a5b3da1 matek-gnss-m9n-f4:Enable IO compensation 2022-02-01 21:49:29 -05:00
David Sidrane 2761112466 NuttX with CDCACM/OTGID backports
disable otg id
   cdcacm:support c_cflag in the termios structure
   and speed
2022-02-01 21:49:29 -05:00
David Sidrane cb06f82f0f gnss-m9n-f4:Board support clean up
SD is on SPI3 - correct pin mapping
   Fix DMA Mapping for all SPI and RX DMA on U[S]ART RX
   Fix Memory MAP SRAM size
   Removed unused GPIO
   Used proper I2C definitions
   Ensure Watchdog is configured for debugging
   Fixed FLASH param definitions
   Removed unedded SPI init

matek_gnss-m9n-f4:Correct Board ID and Size

Build order SJF

Added Support for F40x
2022-02-01 21:49:29 -05:00
dirksavage88 d92244b664 Initial Matek m9nf4 can node support
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Added uavcan board identity

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Added usb.c, LED rework may be needed

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

PX4 dates added to all files

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Matek M9NF4 CAN Node initial board support

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Changed GPS to ttyS3 in board sensors, led board on/off definitions

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Added app descriptor section to canbootloader linker script

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Changed board naming convention to match vendor

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Changed canbootloader and nsh menuconfig

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Test defconfig changes, IRQ hardfault in bootloader

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

Working canbootloader, App firmware stil WIP

Working App firmware: changed romfsroot to 'cannode', TODO: verify GPS & IMU config

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>

TODO: Debug GPS no sats/low sats issue, no magnetometer on some boards

Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2022-02-01 21:49:29 -05:00
Daniel Agar f3e2a197ad move vehicle at rest detection ekf2 -> land_detector
- move vehicle at reset detection ekf2 -> land_detector
 - ekf_unit: reduce init period
   - Fake fusion is when at rest is quite strong and makes the variance reduce rapidly. Reduce the amount of time we wait before checking if the variances are still large enough.
 - ekf_unit: reduce minimum vel/pos variance required after init
   - Fake pos fusion has a low observation noise, making the vel/pos variances reduce quickly.

Co-authored-by:: bresch <brescianimathieu@gmail.com>
2022-02-01 17:50:19 -05:00
Daniel Agar e387f302f9 mavlink: streams/COMMAND_LONG don't send internal vehicle_commands 2022-02-01 09:15:10 -05:00
Jukka Laitinen f8a090e85e Remove HYGROMETERS from fmu-v5 stackcheck build and rename to COMMON_HYGROMETERS
The stackcheck build flash space overflows after adding hygrometers.

Also follow the naming convention of other similar config flags, and rename the
config.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-01 08:56:25 -05:00
Beat Küng a4206ba553 logger: log excluded optional topics
Can be displayed with:
ulog_info <file> -m excluded_optional_topics
2022-02-01 08:40:02 +01:00
Roman Dvořák 2b1229786e Multi instance SHT3x driver support 2022-01-31 21:38:26 -05:00
Roman Dvořák ed475ca324 SHT3x driver
SHT3x driver, clean code
changes leading to merge TFHT with CUAV hygrometer
Delete humidity_temperature.msg
Update CMakeLists.txt
rename 'atmosphefir_quantities' to 'hygrometers'
fix logging
removed cmake files
fix PR issues
2022-01-31 21:38:26 -05:00
mcsauder e554f0174d Format whitespace and group checkall() methods together in geofence class. 2022-01-31 21:01:03 -05:00
Matthias Grob ae0bb8371d Commander: message planned battery action with warning together 2022-01-31 20:27:06 -05:00
Matthias Grob 973116c7a4 commander_params: clarify failsafe delay procedure description 2022-01-31 20:27:06 -05:00
Matthias Grob cd560da57c Commander: correct battery failsafe message severity level 2022-01-31 20:27:06 -05:00
Matthias Grob 405852b5c8 Commander: only disallow RC override during battery failsafe delay 2022-01-31 20:27:06 -05:00
Matthias Grob 5ec21835a4 Commander: ensure low battery failsafe flying unatended without GPS 2022-01-31 20:27:06 -05:00
Matthias Grob 1911ec0085 Commander: fix user messageing for low battery failsafe delay 2022-01-31 20:27:06 -05:00
Matthias Grob 52a9040c62 BatterySimulator: recharge battery upon disarming 2022-01-31 20:27:06 -05:00
Matthias Grob 955aad0dfb Commander: consistent hysteresis initialization 2022-01-31 20:27:06 -05:00
Matthias Grob d10f9030ad Commander: add delay before executing low battery failsafe action 2022-01-31 20:27:06 -05:00
Matthias Grob 3af315f2c3 Commander: change battery failsafe to return action instead of executing 2022-01-31 20:27:06 -05:00
Matthias Grob 8eed43b515 Commander: put battery warning and failsafe action in separate functions 2022-01-31 20:27:06 -05:00
Matthias Grob 367b6123e1 state_machine_helper: change main state directly also for low battery RTL 2022-01-31 20:27:06 -05:00
Matthias Grob f49bd9956b state_machine_helper: reuse battery action conditions 2022-01-31 20:27:06 -05:00
Matthias Grob 95b5bc0d84 state_machine_helper: separate low battery warning from action 2022-01-31 20:27:06 -05:00
Jukka Laitinen 70872d94c8 Split px4_layer into kernel and userspace parts for nuttx protected build
Split the px4_layer into user and kernel space libraries. Add some stubs for
user-space (e.g. version) where an interface to the kernel needs to be added

Use posix-versions for cpuload.cpp and print_load.cpp for userspace; these link to nuttx internals. This functinality could be built on top of posix (e.g. procfs) interfaces

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-31 20:26:08 -05:00
Jukka Laitinen 3a6ebe5fc1 NuttX Cmake changes to build combined kernel+userspace image in nuttx protected build
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-31 20:26:08 -05:00
Jukka Laitinen 1f9ace3901 boards/px4/fmu-v5: Add linker scripts for kernel-userspace split
These scripts are used in protected build configuration

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-31 20:26:08 -05:00
Daniel Agar 999737ddd5 ekf2: refactor mag control
- remove class _mag_sample_delayed
 - update mag fusion call graph to use mag sample delayed functionally
 - Ekf::resetMagHeading()
   - use low pass mag directly, but check if valid (magnitude)
   - MAG_FUSE_TYPE_INDOOR treat like auto if heading required
2022-01-31 11:47:10 -05:00
Daniel Agar ad447ab223 commander: respect control mode for prearm requirements
- preflight tolerate ekf2 warnings if not in an attitude/velocity/position mode (eg manual or acro)
2022-01-31 09:48:37 -05:00
Daniel Agar 90358f078f add odometry reset counter (ekf2, mavlink, etc) 2022-01-31 09:19:36 -05:00
mcsauder 463ac8e8a1 Standardize method name style in navigator_main.cpp and whitespace formatting in navigator.h 2022-01-29 21:36:11 -05:00
PX4 BuildBot 3862a24b8e Update submodule sitl_gazebo to latest Sat Jan 29 00:39:00 UTC 2022
- sitl_gazebo in PX4/Firmware (3b277667ff): https://github.com/PX4/PX4-SITL_gazebo/commit/831aa36fea6a1b53d083e0bbad2faf9b31807669
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/2750fe233c6a38dbe60e545ac0ec878d6ac20b1e
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/831aa36fea6a1b53d083e0bbad2faf9b31807669...2750fe233c6a38dbe60e545ac0ec878d6ac20b1e

    2750fe2 2022-01-24 Jaeyoung-Lim - Improve realtime factor for standard_vtol
2022-01-28 22:56:51 -05:00
murata 3b277667ff tfmini: If the distance is 0xFFFF, a negative value is returned 2022-01-28 17:31:12 -05:00
Daniel Agar 274d0d65c6 lib/cdev/posix: increase max FDs 256->512 2022-01-28 17:30:53 -05:00
Jukka Laitinen 058302ecdb Link px4iofirmware against nuttx_mm
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-28 17:30:13 -05:00
Jukka Laitinen 32c53ff2dd Link rc against nuttx_fs in nuttx builds
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-28 17:30:13 -05:00
Jukka Laitinen 9e999a39be Revert erroneous linking of drivers__device to px4_work_queue
This was a mistake in commit 91b812fc42

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-28 17:30:13 -05:00
Jukka Laitinen a2dc6e63cf Fix sdcard logging when crypto is used but algorithm is set to NONE
If the board supports encrypting logfiles, but the parameter SDCARD_ALGORITHM is set to NONE,
the log should be written to the sdcard in plaintext format. This fixes a bug which caused
logger to hang in mutex instead.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-28 17:29:51 -05:00
Daniel Agar 0104b84289 logger: PX4_SITL log all ekf2 publications at full rate for replay 2022-01-28 07:46:54 +01:00
Daniel Agar d2ce9a8560 ROMFS: rc.replay fix ulog_params argument 2022-01-28 07:46:54 +01:00
Jukka Laitinen 70704ff9d6 platforms/nuttx/src/px4/common/CMakeLists.txt: Link px4_layer to nuttx_mm for gran allocators
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 4c75f1d505 platforms/nuttx/CMakeLists.txt: fixes to accommodate other linker changes
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen e1f2bff9be Fix parameters building for nuttx protected/kernel builds
- Don't link to px4_layer
- Don't link to flashparams; flashparams would work only in kernel side
- Add missing link to px4_platform

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 705171eb53 Fix linking for posix targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 138f584e70 fw_pos_control_l1: Add a missing dependency to motion_planning
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 4c3234af38 mavlink: fix linking
- link to nuttx_apps if CONFIG_NET is defined for "netlib_get_ipv4netmask"
- link to tunes

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen e959fcf9d1 bootloader: link stm bootloaders to nuttx_arch for flash functions
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen fe5059b0e8 s32k1xx/led_pwm: link to arch_io_pins
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 1326c51a1c esc_battery: Link to battery library
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 03c0a2d56c Fix some cmake / linker depenencies for boards
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 91b812fc42 link drivers__device to nuttx_karch instead of nuttx_arch in protected build
On protected/kernel build the library would be karch.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 700c13cdff Remove linking of arch_io_pins into drivers_board
This goes the other way around; arch_io_pins is using the pin
definitions from drivers_board, so the drivers_board needs to be linked
into arch_io_pins

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 68729e8ec0 nuttx/rpi io_pins: link to drivers_board for timer_io_channels dependency
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen d181fe0cee nuttx/stm io_pins: link to drivers_board for timer_io_channels dependency
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 76d4b6c7d0 arch_board_reset: link to nuttx_arch / nuttx_karch for up_systemreset dependency
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 7bb33e65ae Remove px4_work_queue linking to px4_platform
Remove linking to px4_plaform in here; this breaks linking for nuttx protected build

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 98906c224b Don't link px4_platform directly to uORB
Since uORB is split into kernel and userspace parts, it is no longer possible to just
link uORB into px4_platform, which is used in both kernel and user side.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 54f1e12684 Link arch_spi with drivers_board
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 51ceb9a85e Add support for compiling modules into kernel side
Define __KERNEL__ macro during compilation and place the module in separate library

Remove default library linking to m or libc on NuttX. Add these in platform layer instead, since
they are different on kernel and user side

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen 714df398eb lib/version: Don't link to drivers_board
The needed version specific things come from px4 layer. Since version
is used both in kernel an user sides in protected build, it can't directly
link to drivers_board

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen ff4eae2c9b Fix px4_impl_os for protected build
For NuttX protected or kernel build, the prebuilds can't contain libraries which are
different for kernel and user-space in protected/kerenl builds

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen d94cc1e114 Add kernel/userspace and nuttx_syscall libraries to build
Build NuttX proxies, stubs and separate user space and kernel space libraries

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Daniel Agar 49d9d1c987 ekf2: only set fault status bad_acc_clipping if clipping frequently 2022-01-27 09:59:50 -05:00
Daniel Agar f499749c23 ekf2: mag field strength check respect requirements
- requires valid mag data (_mag_data_ready)
 - respect mag_fusion_type (including MAG_FUSE_TYPE_INDOOR)
2022-01-27 09:05:13 -05:00
CUAVmengxiao 0ddf76ed7f uavcan: Add support for BatteryInfoAux message 2022-01-26 13:44:48 -05:00
CUAVmengxiao 425d03d909 msg: Add full_charge_capacity_wh 2022-01-26 13:44:48 -05:00
zhaoxiaowei 996b01acbc uavcannode need link conversion 2022-01-26 13:43:29 -05:00
Roman Dvořák c8349811d1 Enable logging of mavlink tunnel messages
Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
2022-01-26 11:10:43 -05:00
Daniel Agar ae3070bbf1 ekf2: make filter update period configurable
- introduces new parameter EKF2_PREDICT_US to configure the filter
update period in microseconds
 - actual filter update period will be an integer multiple of IMU
2022-01-26 10:57:09 -05:00
Daniel Agar 3f25349eb9 commander: don't reject VEHICLE_CMD_DO_SET_ACTUATOR 2022-01-25 18:44:58 -05:00
Oleg Kalachev 2945ce7c87 ekf2: fuse optical flow when magnetometer is disabled
Co-authored-by: bresch <brescianimathieu@gmail.com>
2022-01-25 15:42:10 +01:00
bresch 82e88a9547 [AUTO COMMIT] update change indication 2022-01-25 15:07:48 +01:00
bresch d20e46567e ekf2: improve flow for terrain unit test 2022-01-25 15:07:48 +01:00
bresch 1502d77df2 ekf: refactor fake position control logic 2022-01-25 15:07:48 +01:00
Matthias Grob 42404ade77 FlightTaskOrbit: Use cruise speed and manual acceleration for radius and velocity changes
instead of arbitrary fractions of the maximum radius and velocity.
2022-01-25 11:45:31 +01:00
Matthias Grob 7c55229db7 FlightTaskOrbit: Fix altitude adjustment by stick
This is done by inheriting from FlightTaskManualAltitudeSmoothVel again.
The altitude change by command is taken care of by switching
to the apporach when the altitude difference is big enough and
switching back once the altitude is close enough.

The altitude of the command is not perfectly reached but this can
only be done smoothly when the Orbit has full control over the
altitude smoothing. The independent altitude smoothing is not kept
because it was lacking stick handling like altitude lock and smooth
transitions when opening and closing the vertical position loop.
2022-01-25 11:45:31 +01:00
Matthias Grob d73d8f390b FlightTaskOrbit: Fix vertical speed limit 2022-01-25 11:45:31 +01:00
Matthias Grob 38de07186d FlightTaskOrbit: include acceleration and jerk in approach setpoint publishing
I think they were forgotten and it leads to side effects:
- The acceleration feed-forward does not get executed
- The acceleration setpoint is NAN when initializing the altitude
  smoothing when arriving at the circle
2022-01-25 11:45:31 +01:00
Matthias Grob b9fb8490ba FlightTaskOrbit: initialize position smoothing with previous setpoints instead of current state 2022-01-25 11:45:31 +01:00
Matthias Grob e0337a484b FlightTaskOrbit: remove unnecessary _sanitizeParams() in activation
the parameters are anyways sanitized on every update so even if activate()
sets unfeasible one's they get adjusted on the first update.
2022-01-25 11:45:31 +01:00
Matthias Grob 661496ab24 FlightTaskOrbit: improved naming in applyCommandParameters() 2022-01-25 11:45:31 +01:00
Matthias Grob 8525a8e520 FlightTaskAuto: fix typo pos(i)tion 2022-01-25 11:45:31 +01:00
Thomas Debrunner 4671a741dc FlightTaskOrbit: Do not switch out of circle orbit control logic on radius change. 2022-01-25 11:45:31 +01:00
Beat Küng bbc2b703c3 mavsdk_tests: update catch2 to 2.13.8
Fixes this issue on Fedora: https://github.com/catchorg/Catch2/issues/2178
2022-01-24 16:16:29 -05:00
Daniel Agar 8d03e71c16 drivers/magnetometer/bosch/bmm150: init and self test improvements
- if self test fails consistently proceed with startup, but report failure
2022-01-24 16:16:03 -05:00
Daniel Agar 8217e0f335 drivers/magnetometer/bosch/bmm150: add self test fail perf counter to status 2022-01-24 13:06:32 -05:00
Daniel Agar 5ded1aedcb sensors/vehicle_angular_velocity: add IMU_GYRO_DNF_HMC to configure number of ESC RPM notch filter harmonics 2022-01-24 09:23:03 -05:00
SungTae Moon 4c6e746360 uorb graph: fix the link problem for multi topics (#19062) 2022-01-24 09:18:21 +01:00
Jaeyoung-Lim ee98a3336d Spawn at different height for multivehicle simulation
This commit fixes the spawn location of the multivehicle gazebo sitl script
2022-01-23 17:59:42 -08:00
Daniel Agar 07e6c274d5 uavcan/uavcannode: bridge LogMessage and PX4 ORB_ID(log_message_s) 2022-01-23 20:21:39 -05:00
PX4 BuildBot ed28b216c7 Update submodule sitl_gazebo to latest Sat Jan 22 12:38:57 UTC 2022
- sitl_gazebo in PX4/Firmware (6203ad25c7): https://github.com/PX4/PX4-SITL_gazebo/commit/27298574ce33a79ba6cfc31ed4604974605e7257
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/831aa36fea6a1b53d083e0bbad2faf9b31807669
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/27298574ce33a79ba6cfc31ed4604974605e7257...831aa36fea6a1b53d083e0bbad2faf9b31807669

    831aa36 2021-10-09 Shaochang Tan - fix imu noise model.
2022-01-22 12:24:49 -05:00
PX4 BuildBot 6203ad25c7 Update submodule mavlink to latest Sat Jan 22 00:39:17 UTC 2022
- mavlink in PX4/Firmware (a16a8dceb1b2d234ae963c74621c147f521abce9): https://github.com/mavlink/mavlink/commit/3d8092006ec1b2321f74e84039dadb1ebd3d1f37
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/51abf3c82b3d7137406459dc9b337e57637711ae
    - Changes: https://github.com/mavlink/mavlink/compare/3d8092006ec1b2321f74e84039dadb1ebd3d1f37...51abf3c82b3d7137406459dc9b337e57637711ae

    51abf3c8 2022-01-21 Julian Oes - Component information: add note (#1785)
f5694b29 2022-01-19 Julian Oes - component_info: re-use protocol capabilities (#1786)
2022-01-21 23:10:05 -05:00
Beat Küng 92769bd2b2 dshot: remove BOARD_DSHOT_MOTOR_ASSIGNMENT & handle timer channel gaps 2022-01-21 20:41:15 -05:00
Daniel Agar 4de9c598fa bmm150: retry probe up to 3 times 2022-01-21 15:51:43 -05:00
David Sidrane a11fe60135 imxrt:ADC extend timeout 2022-01-21 13:07:44 -05:00
Daniel Agar 7cb8ed3a1f sensors/vehicle_gps_position: don't work with 64 time with 32 bit floats 2022-01-21 09:18:49 -05:00
JaeyoungLim 0607982b23 Publish orbit status also when the waypoint is a loiter waypoint (#19048)
* Publish orbit status also when the waypoint is a loiter waypoint

* Remove redundant orbit status publishing
2022-01-21 09:13:03 +01:00
Beat Küng bcd057ac3e uORB: fix copy-paste mistake in orb_print_message_internal
Could have led to invalid memory access.
2022-01-20 12:58:20 -05:00
bresch a2260e53da ekf2: replace yaw failure detection criteria
The existing logic using the angle between velocity vectors failed to
determine a yaw failure in practice because the state velocity is often
too small compared to its uncertainty to be used. In all the failures
reported, the yaw emergency estimator converged properly and yaw reset
would have fixed the issue.
A much simpler check using the yaw difference between the main EKF
and the emergency estimator is now used to tell if the vel/pos update
failure is most likely caused by a wrong heading.
2022-01-20 11:54:24 +01:00
Daniel Agar 446729566d platforms/nuttx: px4io_serial always cleanup DMA before next bus exchange
- this really shouldn't be necessary, but worst case it's harmless and
much better than potentially falling out of the sky
2022-01-19 18:00:18 -05:00
Jaeyoung Lim 0dea56f88b Use current_sp for publishing orbit status 2022-01-19 12:00:03 -05:00
Jaeyoung-Lim dec5e7e9c8 Publish orbit status whenever the vehicle is in loiter
This commit moves the publish orbit status to be published whenever the vehicle is considering a loiter setpoint
2022-01-19 12:00:03 -05:00
Thomas Stastny 19c98b8841 npfg: fix typo in Vector2f indexing 2022-01-19 11:17:44 -05:00
bresch e89e3c1b0c ekf2: extract logic to test yaw emergency estimate quality 2022-01-19 09:05:41 -05:00
bresch ea80c5027e ekf2: split yaw estimator state getter into several functions 2022-01-19 09:05:41 -05:00
dagar 476c1e5c09 [AUTO COMMIT] update change indication 2022-01-19 09:04:53 -05:00
bresch ffebd8e771 ekf2: initialize cos tilt variable assuming no tilt 2022-01-19 09:04:53 -05:00
Daniel Agar 92a5bbe97f ekf2: improve ring buffer sizing and dynamically allocate 2022-01-19 09:04:53 -05:00
Daniel Agar 36605bfff6 sensors: lower SENS_MAG_RATE default
- reduce estimator 3D mag fusion cpu load (-3% on Pixhawk4)
2022-01-19 08:51:57 -05:00
Matthias Grob c9f7c20d46 MulticoperPositionController: time failsafe messages together
The following output instead of printing the
action "stop and wait" just once:

WARN  [mc_pos_control] invalid setpoints
WARN  [mc_pos_control] invalid setpoints
WARN  [mc_pos_control] Failsafe: stop and wait
WARN  [mc_pos_control] invalid setpoints
WARN  [mc_pos_control] Failsafe: stop and wait
WARN  [mc_pos_control] invalid setpoints
WARN  [mc_pos_control] Failsafe: stop and wait
2022-01-19 14:31:19 +01:00
Matthias Grob d4e356a1ac PosititionControl: fix integrator windup with invalid setpoint 2022-01-19 14:31:19 +01:00
Matthias Grob 8811482f1d PositionControlTest: add integrator windup with invalid setpoint combination unit test
This bug was by chance found during simulation testing and debugging.
The unit test is to easily reproduce and cover this case.
2022-01-19 14:31:19 +01:00
Silvan Fuhrer 632dfa55e6 FW Pos C: add option to disable airspeed setpoint via stick input
-rename FW_POSCTL_INV_ST to FW_POS_STK_CONF and make bitmask out of it:
  - bit 0: alternative mapping (height rate on throttle stick, airspeed on pitch)
  - bit 1: enable/disable airspeed setpoints via stick

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-19 10:13:07 +01:00
Silvan Fuhrer cbb8c90245 ControlAllocation: fix calculation of roll/pitch normalization scale
Take into account the actual number of roll and pitch acutators,
instead of assuming that all actuators have a roll/pitch component.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-19 08:22:12 +01:00
Silvan Fuhrer 0950bb81ab ControlAllocation: update normalization scale only if matrix updated is forced
The forced flag is used to distinguish between updates due to a configuration
(parameter) change (only enabled when disarmed), and matrix updates due to motor
tilt change. Only update the normalization scale if the forced flag is true, and
use a tilt angle of vertical position for it to have the scales tilt-invariant.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-19 08:22:12 +01:00
CUAVmengxiao 258a563dd5 barometer: Add ICP10100 and ICP1011 2022-01-18 19:14:40 -05:00
FARHANG fe44e281e5 ROMFS: Holybro X500 v2 airframe addition 2022-01-18 15:11:41 -05:00
Daniel Agar dd6b7fa98f sensors: switch status PX4_INFO -> PX4_INFO_RAW 2022-01-18 15:00:18 -05:00
Daniel Agar b1d2a0cc4e sensors: simplify timestamp data validator handling 2022-01-18 14:57:18 -05:00
Daniel Agar 8067207ea6 px4_work_queue: rename serial port WQs 2022-01-18 14:56:15 -05:00
bresch 953c90d3a6 failure detector: change imbalanced propeller metric
Use standard deviations instead of variances to get a linear metric
2022-01-18 12:24:35 -05:00
bresch 408cf011b2 failure detector: fix dt computation 2022-01-18 12:24:35 -05:00
Daniel Agar 7eee949a81 Jenkins: hardware tolerate irrelevant uorb status failure 2022-01-18 12:23:05 -05:00
Daniel Agar 548b7d5ece sensors/vehicle_imu: on calibration change don't resume in flight calibration learning immediately 2022-01-18 11:22:41 -05:00
Daniel Agar ece09064c4 parameters: perform verification pass twice
- on NuttX with MTD storage this is to ensure we are verifying what's
actually stored on ramtron or eeprom, not just what's cached by bchlib
2022-01-18 09:47:28 -05:00
alexklimaj cdb6a437a0 Fix UAVCAN beep not started 2022-01-17 21:49:53 -05:00
PX4 BuildBot 0bb9cce1ce Update submodule mavlink to latest Tue Jan 18 00:39:07 UTC 2022
- mavlink in PX4/Firmware (37e04f56da3916dcb518eeba66b0888db1cd8c32): https://github.com/mavlink/mavlink/commit/75204adad281e017e58e0a68fdb0a478c2b74d6f
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/3d8092006ec1b2321f74e84039dadb1ebd3d1f37
    - Changes: https://github.com/mavlink/mavlink/compare/75204adad281e017e58e0a68fdb0a478c2b74d6f...3d8092006ec1b2321f74e84039dadb1ebd3d1f37

    3d809200 2022-01-14 Hamish Willee - MAV_PROTOCOL_CAPABILITY_FLIGHT_INFORMATION - mark as reserved capability (#1775)
68ff649f 2022-01-13 Hamish Willee - MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT - deprecate (#1768)
ae531d97 2022-01-13 Peter Barker - Move "external" dialects to be normal dialects (#1761)
00a3f8ed 2022-01-12 Julian Oes - Revert "Delete unused cmake tree (#1760)" (#1782)
aa0764bd 2022-01-12 Hamish Willee - MAV_PROTOCOL_CAPABILITY_PARAM_UNION - rename/reserved (#1771)
c3b46620 2022-01-12 Hamish Willee - Update mavlink_udp.c example readme to use mavlink 2 (#1780)
0449a5ec 2022-01-12 Tatsuya Yamaguchi - add extended sensor status bits to MAVLink UDP example (#1778)
fc3539e1 2022-01-10 Josh Henderson - ardupilotmega: Sync to ArduPilot downstream 10-JAN-2022 (#1777)
27395aa7 2022-01-06 Julian Oes - pymavlink: update submodule to latest master (#1776)
2180611b 2022-01-06 Hamish Willee - MAV_WINCH_STATUS_CLUTCH_ENGAGED: Winch clutch is engaged allowing motor to move freely
7c6f104f 2022-01-05 Jacob Dahl - Extend WINCH_STATUS_FLAG and WINCH_ACTION (#1766)
dcb44e75 2022-01-06 Hamish Willee - Delete unused cmake tree (#1760)
5b8bec5b 2022-01-05 Hamish Willee - common.xml: AUTOTUNE_AXIS_YAW - fix value to correct one for bitmask (#1767)
2022-01-17 21:36:02 -05:00
Julian Oes be9385ef06 cmake: use at least 1 core to build SITL
If we use -j 0, ninja fails with invalid argument.
2022-01-17 17:07:31 -05:00
Daniel Agar 2fb82789fe lib/wind_estimator: pass q_att as const reference 2022-01-17 16:59:28 -05:00
Beat Küng 4cbee44220 rc.mc_defaults: only set IMU_GYRO_RATEMAX if default
Allows boards to set a higher rate.
2022-01-17 10:41:33 -05:00
Beat Küng 425b268feb boards: add holybro/kakuteh7
known issues:
- flash-based params does not work on H7 (due to ECC), so params are on
  SD card. The last flash sector is still reserved however.
- output channel 6 does not support DShot (the implementation does not
  handle channel gaps)
- flashing of the 2. flash bank is much slower (around 3x), than the 1.
  bank for some unknown reason.
- after the BL jumps to the app, there's several seconds passing until
  stm32_boardinitialize() is called.
2022-01-17 10:41:33 -05:00
Beat Küng cd2bb14f9b stm32h7/micro_hal.h: add RCC_APB1ENR_TIM4EN 2022-01-17 10:41:33 -05:00
Berker Canatar 9249d3ae3d Update current year in LICENSE 2022-01-17 08:10:57 +01:00
Silvan Fuhrer 0ce44cebb7 WindEstimator: use vehicle heading instead of ground course for initialisation
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-14 17:42:01 -05:00
Silvan Fuhrer 1a4b2b37bb AirspeedValidator: remove unused variable _tas_gate
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-14 17:42:01 -05:00
Thomas Stastny 3b6c9448aa npfg: fix format CMakeLists 2022-01-14 22:05:53 +01:00
Thomas Stastny 13c36155ce fw_pos_ctrl: allow npfg to operate without wind estimate, dont switch controllers 2022-01-14 22:05:53 +01:00
Thomas Stastny 082e320191 integrate optional NPFG library for wind-aware fixed-wing guidance 2022-01-14 22:05:53 +01:00
Beat Küng 66cbbf9f2e control_allocator: use 'bidirectional' to clarify reversible motors 2022-01-14 12:18:29 -05:00
Beat Küng 9ca58f5e97 actuator outputs: always add reverse range param
and remove the possibility to set min > max to reverse.

Initially the idea was to add the checkbox on the UI side, to avoid adding
another param, but I don't think I'll go through the extra effort on the
QGC side.
2022-01-14 12:18:29 -05:00
Daniel Agar 98a9748bb8 drivers/dshot: use uORB::PublicationMulti for ORB_ID(esc_status)
- there can be multiple different outupt modules publishing esc_status (eg dshot & uavcan)
2022-01-14 12:17:49 -05:00
Daniel Agar 81ecd130fc uavcan: ESC publish esc_status in callback instead of timer
- this ensures every ESC status gets published with minimal latency
 - also prevents publishing ORB_ID(esc_status) when there's no actual
data (bug)
2022-01-14 12:17:49 -05:00
David Sidrane 25099ce11f fmurt1062-v1:Added GPS driver dropped in move to boardconfig 2022-01-14 07:04:06 -08:00
Julian Oes 651702c2c1 setup: don't install ccache
I don't think the PX4 setup script should decide whether a user is to
use ccache or not. Anecdotally, I've heard from some in the dev team
that they are not using it themselves, so I don't think there is a good
basis to push it onto others.

That being said, we can of course still use ccache as part of the CI
builds nevertheless.
2022-01-14 10:01:23 -05:00
Roman Bapst dc6067ed12 Update src/modules/fw_att_control/fw_att_control_params.c
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-14 16:34:44 +03:00
RomanBapst 34bb671a73 improve parameter descriptions for fw maximum/minimum roll/pitch angles
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-01-14 16:34:44 +03:00
RomanBapst 555ee371e8 FixedWingPositionControl: consistently use the same roll and pitch angle
limits for autonomous and semi-autonomous modes (altitude & position control)

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-01-14 16:34:44 +03:00
Thomas Stastny f8c2ee73db handle line segment termination in navigator
- if following line segment (fixed-wing position control) switch waypoint when in acceptance radius OR passed the second waypoint. this handles the case of being beyond the second waypoint but not within the acceptance radius without the need to fly back to the waypoint (e.g. after a loiter up to waypoint alt)
- sync navigator and fw pos ctrl waypoint acceptance altitude
2022-01-13 13:43:02 +01:00
Claudio Micheli 8a01135a93 Commander: more changes to use events with escs and battery failures
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2022-01-13 08:40:34 +01:00
Claudio Micheli d122513197 extend support for Battery status message
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2022-01-13 08:40:34 +01:00
Daniel Agar bb1177d504 sensor_calibration: refactor and centralize calibration slot logic
- centralize logic for selecting a preferred calibration slot
   - automatically use existing calibration slot if it exists, otherwise
find first available slot, with a preference for a requested index
 - existing commander calibration methods rewrite all calibration slots
to match current sensor ordering
2022-01-12 16:16:26 -05:00
alexklimaj d1304e1ceb Add CANNODE_GPS_RTCM 2022-01-12 15:30:38 -05:00
Silvan Fuhrer 3cd1e0ce19 MCLandDetector: clean up logic for ground effect
Before: in_ground_effect was always true with the default settings (LNDMC_ALT_GND =-1)
 and when a distance sensor was present with valid data.
Now: default of LNDMC_ALT_GND is set to 2m by default, and if set to a negative value
then in_ground_effect is never set to true

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-12 18:41:16 +01:00
Matthias Grob 443406ea2b FlightTaskAuto: use longerThan() when possible in vector calculations 2022-01-12 15:12:24 +01:00
bresch 4fc7348582 mpc: leave room for altitude error control during descent and descent
Since the same parameter is used to generate the trajectory and to
saturate the controller, there is no additional space for the output of
the position controller once it is filled with the feedforward, letting
the altitude grow uncontrolled.
2022-01-12 13:33:48 +01:00
bresch ea7d2334c9 mpc: add parameter for ascent/descent speed in auto modes 2022-01-12 13:33:48 +01:00
Daniel Agar 463513f31f Jenkins: hardware disable auto cal before on board tests 2022-01-11 11:47:02 -05:00
Daniel Agar 2eec7842ae sensors/vehicle_imu: fix SENS_IMU_AUTOCAL saving logic
- on cycles that don't check for updated calibraton (estimated bias) we
check if there's anything valid to save (when disarmed)
2022-01-11 11:47:02 -05:00
romain-chiap 4e06b40e2b sih: add tailsitter support, disable UAVCAN 2022-01-11 08:29:19 +01:00
Julian Oes 6ed48ad0c0 ROMFS: Remove now unused variable 2022-01-10 23:04:10 -05:00
Julian Oes b52972f3f8 ROMFS: remove duplicate startup tune
This must have come back in a rebase.
2022-01-10 23:04:10 -05:00
Julian Oes 1baecf07ad Mantis: remove startup tune volume
Let's just leave it at the default like the rest of the beeps.
2022-01-10 23:04:10 -05:00
Julian Oes 38439256e5 Mantis: move MIXER vars to airframe init
The two were actually conflicting and are now consolidated.
2022-01-10 23:04:10 -05:00
Julian Oes 14fb019821 Mantis: move SYS_DM_BACKEND to board_defaults
Otherwise it is set too late and not used during startup.
2022-01-10 23:04:10 -05:00
Julian Oes feb2987fa8 Mantis: remove unused transition script
When coming from the previous stack there are no params anywhere, so
this will not execute anyway.
2022-01-10 23:04:10 -05:00
Julian Oes a061d7a02a Mantis: use dataman in RAM 2022-01-10 23:04:10 -05:00
Julian Oes b3d830dd11 Mantis: move power off tune to commander
This way we don't allocate inside the interrupt context.
2022-01-10 23:04:10 -05:00
Julian Oes 372a0da987 Mantis: move upload.sh into boards/atl/mantis-edu 2022-01-10 23:04:10 -05:00
Julian Oes 73044c51f9 vmount: only send CONFIGURE cmd if type changes
We don't always have to send MOUNT_CONFIGURE but really only when the
control data type actually changes.
2022-01-10 23:04:10 -05:00
Julian Oes 22180a2639 mavlink: make range params optional
If there is no range sensor compiled in, these two params do not seem to
be available. Hence, we need to make them optional.
2022-01-10 23:04:10 -05:00
Julian Oes 0ffdccbd60 Mantis: Add MPC2520 again 2022-01-10 23:04:10 -05:00
Julian Oes b44f5b49ca Mantis: add tap_esc to Kconfig 2022-01-10 23:04:10 -05:00
Julian Oes 8331339927 atl_mantis: update bootloader binary again
This includes the fix which disables the UART overrun.
2022-01-10 23:04:10 -05:00
Julian Oes b1a1e4913b Mantis: rotate flow by 180 degrees
This seemed to be exactly inverted.
2022-01-10 23:04:10 -05:00
Julian Oes 28d69d3285 Mantis: fix throttle RC calibration 2022-01-10 23:04:10 -05:00
Julian Oes b92aa92bec Mantis: fix mixer loading
The ordering before did not work out, and without the sleep it fails.
2022-01-10 23:04:10 -05:00
Julian Oes 06b5b58b3b Mantis: increase Tx buffer to with gimbal->camera
This way log streaming works with much less drops.
2022-01-10 23:04:10 -05:00
Julian Oes 11b60904c3 Mantis: use lower log streaming rate 2022-01-10 23:04:10 -05:00
Julian Oes ca1fabf80a logger: add rate factor to slow logging down
This is required for the Mantis to reduce the log streaming rate.
2022-01-10 23:04:10 -05:00
Julian Oes f3a278dce5 Mantis: add comment about boot order.
The boot order is now:
1. The PX4 bootloader boots, and starts the camera.
2. The camera starts and sends the boot command to the PX4 bootloader.
3. PX4 starts.
2022-01-10 23:04:10 -05:00
Julian Oes ecfc7cc24f Mantis: set bootloader timeout to 180 seconds
The first byte 0xb4 is 180. This number is read by the bootloader.
2022-01-10 23:04:10 -05:00
Julian Oes e15cbc3a6b Mantis: move tap_esc to extras
This way we work around an issue where tap_esc got stuck during bootup
in a cold boot.
2022-01-10 23:04:10 -05:00
Julian Oes 24bdf79180 ROMFS: fix debug output 2022-01-10 23:04:10 -05:00
Julian Oes c2e0e09b2d commander: reduce PWM max again
This is no longer required now.
2022-01-10 23:04:10 -05:00
Julian Oes e4763f15f6 Mantis: add RC hacks
This changes the way RC is handled for the Mantis:
- The RC values are re-written when arriving over MAVLink. They are
  rescaled from 0..4095 to 1000..2000 and the channel bits added to
  separate channels. This makes the downstream handling easier.
- Gimbal pitch is moved from Aux1 to Aux2 as that should be the default.
- Aux3 and Aux4 are used for the photo and video trigger.
- The speed button is used as the FLTMODE channel and set to switch
  between POSCTL and ALTCTL.
2022-01-10 23:04:10 -05:00
Julian Oes 9fe7a40673 manual_control: enable sending camera commands 2022-01-10 23:04:10 -05:00
Julian Oes 1754e25920 vmount: add param to use RC input for angular rate
Until now RC input was translated to angles only. I added the param
MNT_RC_IN_MODE which allows the RC input to be used for angular rate.
2022-01-10 23:04:10 -05:00
Julian Oes f03990f015 Mantis: prevent output setup from running
This is not required as we start tap_esc directly and load the mixer.
2022-01-10 23:04:10 -05:00
Julian Oes cb15728536 Mantis: save mission in RAM
This is using a reduced number of mission items of 1000 instead of 2000
in order to fit in RAM.
2022-01-10 23:04:10 -05:00
Julian Oes 7d09635fb6 ROMFS: add option for dataman args
This is required for boards requiring dataman in RAM.
2022-01-10 23:04:10 -05:00
Julian Oes bb09646b41 ROMFS: allow the output config to be skipped
This is required for the ATL Mantis-EDU.
2022-01-10 23:04:10 -05:00
Julian Oes 0fbb03dee1 ROMFS: add option for startup tune volume
Otherwise the CBRK_BUZZER param does not work as it should.
2022-01-10 23:04:10 -05:00
Julian Oes a50f7af3b1 Mantis: update bootloader and SYS_AUTOSTART
This adds a check for the previous SYS_AUTOSTART id. If it is still the
old/previous SYS_AUTOSTART id, it will flash the new bootloader as well
as set the proper SYS_AUTOSTART id.
2022-01-10 23:04:10 -05:00
Julian Oes fa282cfe86 Mantis: make startup less loud 2022-01-10 23:04:10 -05:00
Julian Oes 880292f5d7 commander: relax RC min/max 2022-01-10 23:04:10 -05:00
Julian Oes 2b4b87571c Mantis: adapt RC calibration
This is with a newer RC firmware.
2022-01-10 23:04:10 -05:00
Julian Oes aa007dadee commander: fix emergency power off
From what I can see the CONFIG_BOARDCTL_POWEROFF is not really used
anywhere, however, the BOARD_HAS_POWER_CONTROL is something that is set,
e.g. for the Mantis, to allow power off.
2022-01-10 23:04:10 -05:00
Julian Oes 6301fa35c1 commander: add command to power off 2022-01-10 23:04:10 -05:00
Julian Oes 4a43155e69 Mantis: remove duplicate define 2022-01-10 23:04:10 -05:00
Julian Oes 7759ffb00e Mantis: reduce power button hold time
This is more intuitive and matches the tune.
Hopefully, it's still long enough to prevent any false positives.
2022-01-10 23:04:10 -05:00
Julian Oes 6960600c28 Mantis: play power off tune
To play a power off tune, I needed to convert the file to C++, so that I
could use the uORB::Publication.

The current implementation starts playing the power off sound but then
stops it as soon as the button is released.

The problem is mostly that we only get an interrupt when the button is
pressed or released but we don't seem to be able to poll it, at least
not in the current state.
2022-01-10 23:04:10 -05:00
Julian Oes 860b23dd17 tunes: add tune to power off
This is used by the ATL Mantis EDU to help the user realize when the
drone is powered off.
2022-01-10 23:04:10 -05:00
Julian Oes a21fefda48 tune_control: prevent segfault 2022-01-10 23:04:10 -05:00
Julian Oes 856e229482 ROMFS: reset the startup sound for Mantis 2022-01-10 23:04:10 -05:00
Julian Oes 1be4e35ed4 ROMFS: move startup sound further down
This way it works for the Mantis where the tap_esc driver needs to be
running before beeping is posssible.
2022-01-10 23:04:10 -05:00
Julian Oes 76920171c7 tap_esc: fix tunes
This removes the redundant _play_tone flag and instead just polls the
next_note() interface to check if there is something to play.
2022-01-10 23:04:10 -05:00
Julian Oes de1849167d Mantis: Add upload_wifi target to upload firmware 2022-01-10 23:04:10 -05:00
Julian Oes 185e4cfd48 Mantis: set range finder limits, and min quality
The limits might somewhat match the sensor, guessed based on the
original driver.

The quality is set so that spikes when sitting on the ground are not
used.
2022-01-10 23:04:10 -05:00
Julian Oes dd00e43ca3 mavlink: set signal_quality (and sane variance)
Otherwise this distance data is actually not used at all.
2022-01-10 23:04:10 -05:00
Julian Oes aefbd80b53 mavlink: use optical flow limits from params
This makes more sense than hard-coding arbitrary values.
2022-01-10 23:04:10 -05:00
Julian Oes f48c3a2cc6 mavlink: don't handle RC_CHANNELS
This is a status/output but should not be an input for the autopilot.
Instead RC_CHANNELS_OVERRIDE should be used.
2022-01-10 23:04:10 -05:00
Daniel Agar cc1fee525a lib/sensor_calibration: handle calibration slot change on parameter update 2022-01-10 17:16:50 -05:00
Daniel Agar ab547bb982 sensors/vehicle_angular_velocity: RPM notch don't fully disable if first harmonic frequency drops below minimum frequency
- keep higher frequency harmonics enabled per ESC
 - cleanup timestamp handling (timeouts, etc)
2022-01-10 14:51:29 -05:00
Daniel Agar b58922a5d7 sensors/vehicle_angular_velocity: notch filters automatically reset on sufficient parameter change 2022-01-10 14:51:29 -05:00
Daniel Agar 7d632254be NotchFilter push initialization/reset into filter
- this simplifies the reset by allowing a notch filter to reset as
needed
 - improves cascade initialization, on reset each filter will reset
properly from the previous
2022-01-10 14:51:29 -05:00
Daniel Agar 2e2ac36cab drivers/uavcan: make firmware server available on both CAN1/CAN2 always (if enabled)
- uavcan firmware server no longer shuts down when arming (nodes might restart in flight)
 - always handle UAVCAN parameters with or without the FW server active
 - remove legacy ESC enumeration in FW server
2022-01-10 11:13:02 -05:00
Daniel Agar d9e7315420 sensors: automatically set initial accel/gyro calibration if stable bias available 2022-01-10 10:46:37 -05:00
Daniel Agar e731fcdbc0 sensors (accel/gyro/mag) determine if external with device id 2022-01-10 10:31:07 -05:00
Daniel Agar 45040be669 ekf2: accel/gyro/mag sensor cal minor cleanup
- cleanup obsolete comments
 - remove debug helpers
 - add additional variance requirements to mag bias stable (matching accel & gyro)
2022-01-10 09:55:59 -05:00
Daniel Agar c3ca40a98f drivers/px4io: delete monitor command
- the px4io console isn't even connected on most flight controllers
2022-01-10 09:51:11 -05:00
Daniel Agar e5d49f6fff drivers/px4io: delete unused detect 2022-01-10 09:51:11 -05:00
Daniel Agar d077ca15fb delete PWM_SERVO_SET, PWM_SERVO_SET_MODE, systemcmds/motor_ramp, and pwm_out test 2022-01-10 09:51:11 -05:00
Daniel Agar df44df2df6 delete systemcmds/esc_calib
- this is redundant with commander esc_calibration
2022-01-10 09:51:11 -05:00
Daniel Agar 03bdc460d8 drivers/px4io: PWM_SERVO_GET_FAILSAFE_PWM don't get registers directly 2022-01-10 09:51:11 -05:00
Daniel Agar d3301ba826 delete PWM_SERVO_GET_TRIM_PWM 2022-01-10 09:51:11 -05:00
Daniel Agar 8de59dad32 delete PWM_SERVO_SET_TERMINATION_FAILSAFE 2022-01-10 09:51:11 -05:00
Daniel Agar 1739ecc981 delete PWM_SERVO_SET_FORCE_FAILSAFE 2022-01-10 09:51:11 -05:00
Daniel Agar 649d3e3f55 delete PWM_SERVO_SET_DISABLE_LOCKDOWN/PWM_SERVO_GET_DISABLE_LOCKDOWN 2022-01-10 09:51:11 -05:00
Daniel Agar b7ed4fd3e0 delete PWM_SERVO_SET_DISARMED_PWM 2022-01-10 09:51:11 -05:00
Daniel Agar 551a31ce2f delete PWM_SERVO_SET_FAILSAFE_PWM 2022-01-10 09:51:11 -05:00
Daniel Agar daa925137c boards: move default battery calibration defines to parameter defaults 2022-01-10 09:49:36 -05:00
Daniel Agar 78b3d22471 lib/mixer_module: consume output_limit library 2022-01-10 11:59:55 +01:00
Daniel Agar 71d8b15b73 commander: fix COM_HOME_EN missing case
- VEHICLE_CMD_COMPONENT_ARM_DISARM is yet another path that calls set_home_position()
2022-01-09 20:52:07 -05:00
Daniel Agar 0b1402afe2 Tools/HIL/test_airframes.sh enable all mavlink and GPS 2022-01-08 18:11:43 -05:00
bresch 57fa9c545a PosControl: fix hover update equation
The integrator now absorbs properly the change in hover thrust
2022-01-08 15:42:10 +01:00
Daniel Agar 6c97700eaa move sensor calibration parameters to yaml 2022-01-07 19:00:41 -05:00
Matthias Grob bbad4a5397 FlightTaskAuto: Respect altitude with offtrack state
To avoid weird cases where the altitude is different enough and
the offtrack state flies to the target altitude instead of the closest
point on the track between the waypoints.
2022-01-07 10:30:39 -05:00
Julian Oes be0a5b4b32 workflows: Set up batch fuzzing every 24 hours
So instead of fuzzing each and every PR for 10minutes, we just fuzz
30mins every 24 hours, at 6am UTC which should be a time when US and
Europe might be least active.
2022-01-07 10:17:12 -05:00
Julian Oes 2cbc993976 Add clusterfuzzlite to fuzz in CI 2022-01-07 10:17:12 -05:00
Julian Oes 9eda5b373c posix: add fuzz testing using MAVLink messages
This adds the env option PX4_FUZZ which runs the LLVM libFuzzer which
throws random bytes at mavlink_receiver using MAVLink messages over UDP.

The MAVLink messages that are being sent are valid, so the CRC is
calculated but the payload and msgid, etc. are generally garbage, unless
the fuzzing gets a msgid right by chance.

As I understand it, libFuzzer watches the test coverage and will try to
execute as much of the code as possible.
2022-01-07 10:17:12 -05:00
Daniel Agar c17a9e8003 sensors/vehicle_imu: refactor SensorCalibrationUpdate() to separate accel/gyro cal saving 2022-01-07 09:40:51 -05:00
Daniel Agar aec97e0020 sensors: minor IMU bias saving updates
- sensors/vehicle_imu: reset learned cal on any calibration change
during parameter update
 - sensors/vehicle_imu: cleanup logic estimated bias -> calibration offset
saving
   - don't invalidate saved calibration (the point is to keep the last valid)
   - remove old debug code, etc
 - sensors/vehicle_imu: notify parameter changes if accel or gyro
calibration has changed
 - lib/sensor_calibration: add calibrated() and calibration_index()
getters, keep Accelerometer/Gyroscope/Magnetometer in sync
2022-01-07 09:40:51 -05:00
Silvan Fuhrer 5d7ddf5734 FW Pos Control: use SlewRate library for airspeed setpoint
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-07 09:39:10 -05:00
Daniel Agar 30ccfdb2ed sensors/vehicle_magnetomeer: fix copyright year 2022-01-06 20:27:56 -05:00
Julian Oes 07d75d85cf mavsdk_tests: trigger flush to stdout every second 2022-01-06 09:24:32 -05:00
Julian Oes 2d8ebc6839 mavsdk_tests: add timestamp to log output
The timestamp is added when the output is queued up, rather than later
when the queue is emptied and some time might have passed.
2022-01-06 09:24:32 -05:00
Julian Oes dd6fb58f82 mavsdk_tests: don't stall mavsdk_tests binary
This is an attempt to fix the test failure where PX4 detects an RC
timeout presumably because the tester process mavsdk_tests is stalled
and does not send RC control messages in time.
2022-01-06 09:24:32 -05:00
Julian Oes 952cfe2fd7 ekf2: fix uninitalized memory warning
The imu and sensor_combined data should not be used when it has not been
updated yet, otherwise this triggers a memory sanitizer warning:

Conditional jump or move depends on uninitialised value(s)
   at 0x2DA7AA: __sanitizer_cov_trace_const_cmp1 (in build/px4_sitl_default-clang/bin/px4)
   by 0x3C4E79: EKF2::Run() (src/modules/ekf2/EKF2.cpp:401)
   by 0x6EB881: px4::WorkQueue::Run() (platforms/common/px4_work_queue/WorkQueue.cpp:187)
   by 0x6ECB9D: px4::WorkQueueRunner(void*) (platforms/common/px4_work_queue/WorkQueueManager.cpp:230)
   by 0x4C07258: start_thread (in /usr/lib/libpthread-2.33.so)
   by 0x4D415E2: clone (in /usr/lib/libc-2.33.so)

Conditional jump or move depends on uninitialised value(s)
   at 0x3C4E7C: EKF2::Run() (src/modules/ekf2/EKF2.cpp:401)
   by 0x6EB881: px4::WorkQueue::Run() (platforms/common/px4_work_queue/WorkQueue.cpp:187)
   by 0x6ECB9D: px4::WorkQueueRunner(void*) (platforms/common/px4_work_queue/WorkQueueManager.cpp:230)
   by 0x4C07258: start_thread (in /usr/lib/libpthread-2.33.so)
   by 0x4D415E2: clone (in /usr/lib/libc-2.33.so)
2022-01-05 16:20:06 -05:00
romain-chiap 4264ec992d Update 1101_rc_plane_sih.hil
This bugged me for a while, the sih FW would not takeoff from the ground. Now, I found it!
2022-01-05 16:18:53 -05:00
Silvan Fuhrer 0a82025faf FW Position Control: some airspeed setpoint handling adaptions
- introuce slew rate limiting of airspeed setpoint (with slew rate of 1 m/s/s)
- some refactoring and clean up

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-05 17:06:41 +01:00
Silvan Fuhrer 20a1e5f77c FW Position Control: simplify underspeed disabling logic for tecs
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-01-05 17:06:41 +01:00
Matthias Grob bbb04ab4b8 Remove relaying of maximum altitude through land detector 2022-01-05 14:54:59 +01:00
Julian Oes 2445fa8b4c commander: prevent uninitialized warning
This prevents a memory sanitizer/valgrind warning:

Conditional jump or move depends on uninitialised value(s)
   at 0x2DA536: __sanitizer_cov_trace_cmp4 (in build/px4_sitl_default-clang/bin/px4)
   by 0x6590D8: FailureDetector::update(vehicle_status_s const&, vehicle_control_mode_s const&) (src/modules/commander/failure_detector/FailureDetector.cpp:76) by 0x3817DF: Commander::run() (src/modules/commander/Commander.cpp:2605)
   by 0x38B10B: ModuleBase<Commander>::run_trampoline(int, char**) (platforms/common/include/px4_platform_common/module.h:180)
2022-01-05 10:53:51 +01:00
Daniel Agar 170849c8f8 ekf2: expand accel bias stability criteria 2022-01-04 13:57:49 -05:00
PX4 BuildBot 846f807eff Update submodule mavlink to latest Tue Jan 4 12:39:05 UTC 2022
- mavlink in PX4/Firmware (a8c88f1c98212e72a266fec8a9e7c0da2a14f3af): https://github.com/mavlink/mavlink/commit/4bc0de9c38626fe3640de266118af5fd64fe6a18
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/75204adad281e017e58e0a68fdb0a478c2b74d6f
    - Changes: https://github.com/mavlink/mavlink/compare/4bc0de9c38626fe3640de266118af5fd64fe6a18...75204adad281e017e58e0a68fdb0a478c2b74d6f

    75204ada 2022-01-04 Hamish Willee - Add ability to specify axis to autotune (#1759)
2022-01-04 09:32:43 -05:00
bresch d094fbbd70 ekf2: fix delta angle coning metric 2022-01-04 09:28:48 -05:00
PX4BuildBot 6fbc0e95d0 [AUTO COMMIT] update change indication 2022-01-04 09:12:45 -05:00
PX4 BuildBot a89f21d566 Update world_magnetic_model to latest Tue Jan 4 11:14:11 UTC 2022 2022-01-04 09:12:45 -05:00
Daniel Agar e835a7c4ea boards: enable readline history and tab completion on newer boards 2022-01-03 10:44:32 -05:00
Daniel Agar 9d1558af25 ekf2: selector use status timestamp for timeout rather than timestamp_sample (delayed time horizon)
- update stale checks for publication to use hrt elapsed time from
timestamp sample
2022-01-03 09:20:44 -05:00
Daniel Agar 333edfe12f ekf2: use delayed IMU timestamp for publication's timestamp_sample 2022-01-03 09:20:44 -05:00
Daniel Agar 35502c249d ekf2: don't use Vectors for height innovations (baro, rng, etc) 2022-01-03 09:20:20 -05:00
David Sidrane eac92ec671 imxrt:ADC fix timeouts 2022-01-03 06:02:19 -08:00
Jaeyoung-Lim bdec85fdd0 Disable local vehicle setpoints while in transition
This commit adds disabling vehicle setpoints while in transition
2022-01-03 11:09:06 +01:00
Jaeyoung-Lim 4127dfa791 Log vehicle local position setpoints
This commit enables the local position setpoints to be logged by publishing vehicle_local_position_setpoint
2022-01-03 11:09:06 +01:00
Jaeyoung Lim 52418f13b0 Use groundspeed for navigate heading 2022-01-03 10:52:34 +01:00
Jaeyoung-Lim e66e82228f Add support for offboard velocity setpoints for fixedwing vehicles
This commit adds a velocity controller which the setpoint can be passed using offboard setpoints
2022-01-03 10:52:34 +01:00
Daniel Agar 75bb2f8dd2 Jenkins: hardware temporarily tolerate sd_bench failures on px4_fmu-v5_debug 2022-01-02 14:47:52 -05:00
Daniel Agar 673d4544d1 parameters: verify param backup after export 2022-01-02 10:46:34 -05:00
Daniel Agar 8e26b33009 tinybson: file write error add more detail 2022-01-02 10:46:34 -05:00
Daniel Agar 80ef6e19df tinybson: explicitly append int32 or int64 2022-01-02 10:46:34 -05:00
Daniel Agar 9cbb5c9920 parameters: fix export shutdown locking
- in NuttX bchlib keeps a sector sized buffer that might not be written
out to RAMTRON until the file is closed
2022-01-02 10:46:34 -05:00
Daniel Agar 2153710917 Tools/HIL/monitor_firmware_upload.py don't fail on any ERROR
- on first boot we only care that it completes (gets to nsh prompt)
2022-01-02 10:05:30 -05:00
Daniel Agar c421bff73c Tools/HIL: use pyserial spy:// to log all serial traffic and dump on failure 2022-01-01 22:25:29 -05:00
Daniel Agar 7df1721d32 ROMFS: rcS disable simplistic SD I/O test
- this was added when trying to identify SD card issues at boot and
trigger a format, but didn't provide any value
2022-01-01 18:43:27 -05:00
Daniel Agar f76aa0e772 cmake: NuttX ARMV7M_STACKCHECK skip ekf2
- px4_fmu-v5_stackcheck switch from icm20689 -> bmi055 (lower rate)
 - this is to make performance tolerable
2022-01-01 18:43:27 -05:00
Daniel Agar e9283d90cc systemcmds/netman: fix code style 2022-01-01 18:40:47 -05:00
Daniel Agar 0029317e55 Jenkins: hardware additional reboots no longer required 2022-01-01 14:06:05 -05:00
Daniel Agar 439ad7daea Jenkins: hardware disable calib_delay (too slow) and manual SD format 2022-01-01 12:10:28 -05:00
Daniel Agar 501474993e Tools/HIL: default to USB UART if available 2022-01-01 10:49:30 -05:00
Daniel Agar 77b65ee564 boards: px4_fmu-v5_debug disable stack check
- this is redundant with px4_fmu-v5_stackcheck
2021-12-31 19:34:18 -05:00
Daniel Agar 247b975675 Tools/HIL: disable XON/XOFF, consistent timeouts, proper input buffer clear 2021-12-31 19:28:40 -05:00
Daniel Agar 03371f8522 NuttX with bch flush backport 2021-12-31 10:59:56 -08:00
David Sidrane db159a43cc test_dataman:Set SEM_PRIO_NONE on all semaphores 2021-12-31 10:27:24 -05:00
Daniel Agar 1b6700592b parameters: require valid BSON document size 2021-12-30 16:36:23 -05:00
Daniel Agar 3514458f42 Tools/HIL/test_airframes.sh: dump all parameter storage after bootup to verify contents 2021-12-30 12:43:00 -05:00
Daniel Agar b06215d038 Tools/HIL/test_airframes.sh: run param dump after save to verify BSON 2021-12-30 11:11:14 -05:00
PX4 BuildBot 5fc7e551ab Update submodule mavlink to latest Wed Dec 29 12:38:13 UTC 2021
- mavlink in PX4/Firmware (395eeb440a2ca7503591f872d4f733fcd9867218): https://github.com/mavlink/mavlink/commit/bfaf605bd6f25c8c4843d67e455fe02acb5a9452
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/4bc0de9c38626fe3640de266118af5fd64fe6a18
    - Changes: https://github.com/mavlink/mavlink/compare/bfaf605bd6f25c8c4843d67e455fe02acb5a9452...4bc0de9c38626fe3640de266118af5fd64fe6a18

    4bc0de9c 2021-12-27 olliw42 - Component Information Basics: add camera cap flag (#1752)
8035ad4d 2021-12-27 Hamish Willee - GIMBAL_DEVICE_FLAGS_NEUTRAL - note that this can be any angle (#1758)
2021-12-29 17:16:49 -05:00
Daniel Agar 6706d9b434 Jenkins: always fully clean git workspace 2021-12-29 17:14:11 -05:00
Daniel Agar 6d0339ba0c I2CSPIDriverBase: sensor start failure ERROR if internal, WARN if external 2021-12-28 11:05:35 -05:00
Daniel Agar 990d7c159d pwm_out: cleanup and prep for linux compatibility 2021-12-28 11:04:00 -05:00
Daniel Agar 10f4a2e91f boards: omnibus_f4sd_default disable systemcmds to save flash 2021-12-27 12:19:55 -05:00
Daniel Agar 3ef9c2d16c boards: holybro_kakutef7_default disable modules/gyro_calibration to save flash 2021-12-27 12:19:55 -05:00
FengShun 8f8719d33b cmake: use add_definitions instead of add_compile_definitions
Using make tests in docker will fail, because the current basic image used by px4io/px4-dev-simulation-bionic is ubuntu18.04, the default version of cmake is 3.10, and the add_compile_definitions command is only available in cmake 3.12+(ubuntu 20.04).
2021-12-27 12:19:31 -05:00
FengShun 65e976bbc2 docker: update px4-dev-simulation-bionic container versions to 2021-12-11
The current docker image will cause "make tests" to fail: "kconfiglib is not installed or not in PATH"
2021-12-27 12:19:31 -05:00
Daniel Agar d94767ef88 cmake: NuttX use cygwin friendly path for linker script 2021-12-27 12:19:12 -05:00
honglang 17a99bc827 mavlink: add HYGROMETER_SENSOR stream 2021-12-27 12:13:09 -05:00
honglang 983867f9af uavcan: support uavcan hygrometer 2021-12-27 12:13:09 -05:00
honglang b60e59d9be msg: new sensor_hygrometer msg 2021-12-27 12:13:09 -05:00
Daniel Agar 3f17acdcc9 boards: mro_ctrl-zerl-h7-oem pin fixes (sync with mro_ctrl-zero-h7) 2021-12-27 09:25:21 -05:00
Daniel Agar 0f4e1dd9f9 boards: mro ctrl-zero-h7 pin fixes 2021-12-27 09:25:21 -05:00
Daniel Agar 236794235a parameters: export empty BSON document even if there are no parameters to save
- otherwise a 'param reset_all' won't be saved until a parameter is changed
2021-12-27 09:17:00 -05:00
Daniel Agar 33d7b42040 parameters: import quietly retry if there's no data (as a precuation) 2021-12-27 09:17:00 -05:00
Daniel Agar 20d3e6f4e1 parameters: add simple BSON verification pass after export 2021-12-27 09:17:00 -05:00
Beat Küng 72065c3d71 fix protocol_splitter: remove timeout, drop buffer if too full instead
The existing implementation had a flaw: when the buffer was getting full,
mavlink started to busy-loop, as the uart has data (poll returns immediately)
but no new data was read from the uart due to the buffer being full.
As rtps is running at lower prio, it never got the chance to read again,
making the problem even worse.
After 1s the timeout triggered and the buffer was cleared, so it recovered.

Instead of allowing for CPU spikes, we now immediately clear the buffer
(only as much as we have to), ensuring that new data is read from the uart.
2021-12-24 20:28:43 -05:00
Rui Miguel Carvalho 542ee86bc9 landing_target_estimator: custom irlock frame params (#18884)
Signed-off-by: ruimscarvalho98 <ruimsc98@gmail.com>
2021-12-24 20:20:35 -05:00
Silvan Fuhrer 28e01c3510 FW Position controller: make loiter switching logic robust against pos_sp with loiter_rad=0
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:17:15 -05:00
Daniel Agar 98d706772e boards: px4_fmu-v2_rover disable events module to save flash 2021-12-24 20:06:13 -05:00
Beat Küng d202bf9631 control_allocator: add scope to reduce stack usage by 256B 2021-12-24 20:06:13 -05:00
Silvan Fuhrer 48be55dec8 Tiltrotor: disable tilt/thrust compensation when dynamic allocation is enabled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 31d7328f4d Tailsitter: invert roll (make it NED-correct) for filling vehicle_torque_setpoint
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 1ad66e606b ControlAllocation: introduce convention for control surface deflection sign
- horizontal control surfaces: up=positive deflection
- vertical control surfaces (rudder): right=positive deflection
- mixed (V-Tail): up=positive deflection

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng 5259877b1b control_allocator: update matrix normalization
- only normalize rpy for MC matrices
- for thrust use the 3D vector, so it works for FW and tilt rotors as well

This keeps MC unchanged.
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 460a0df850 tiltrotor: fill out thrust_setpoint[0] also in hover, based on tilt and hover thrust
In the tiltrotor case, beside an F_z thrust setpoint also a F_x setpoint must be passed
to the allocator as the matrix has non-zero thrust-x effectiveness when tilts are applied.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng 2333bef670 px4airframes doc: handle common outputs individually
preparation for dynamic control allocation, where we won't have MAIN vs
AUX anymore (at least for the generic frames).
2021-12-24 20:06:13 -05:00
Beat Küng 203e253dfe airframes: sitl boat: switch to dynamic control allocation 2021-12-24 20:06:13 -05:00
Beat Küng 8486ca5766 airframes: sitl cloudship: switch to dynamic control allocation 2021-12-24 20:06:13 -05:00
Beat Küng 9bc9169b77 px4/fmu-v5x: add missing board variants to rc.board_mavlink 2021-12-24 20:06:13 -05:00
Beat Küng 09200b994d airship_att_control: publish thrust + torque setpoint 2021-12-24 20:06:13 -05:00
Silvan Fuhrer 478724c9fe EffectivenessTiltrotor: fix logic for matrix update
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng 6c8f322dfe px4/fmu-v2/test: disable modules to reduce flash 2021-12-24 20:06:13 -05:00
Beat Küng 082cd74cab holybro/kakutef7: disable IST8310 to reduce flash 2021-12-24 20:06:13 -05:00
Beat Küng 8e04934eab commander: consider COM_MOT_TEST_EN for COMMAND_ACTUATOR_TEST as well 2021-12-24 20:06:13 -05:00
Silvan Fuhrer 39d441317a ActuatorEffectivenssTailsitterVTOL: only enable MC yaw control if more than 3 rotors
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 426aa76a59 CA/VTOL: change description of VT_ELEV_MC_LOCK as it applies to not just elevons
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 18008b2de7 CA module.yaml: add motor direction function also to UI for Tailsitter an Tiltrotor
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng 8743b78474 px4/fmu-v2/rover: disable modules to reduce flash 2021-12-24 20:06:13 -05:00
Beat Küng 8c782b7cd9 control_allocator: add Custom + MC with tilts effectiveness
The param group is changed to Geometry, as this reflects the naming in the
QGC UI.
2021-12-24 20:06:13 -05:00
Beat Küng 0818bb4be0 bitcraze/crazyflie{,21}: disable modules to reduce flash 2021-12-24 20:06:13 -05:00
Beat Küng 751539304e omnibus/f4sd: disable modules to reduce flash 2021-12-24 20:06:13 -05:00
Beat Küng 627ec0df5d control_allocator: increase STACK_MAIN to 3000
It was exceeding 2000
2021-12-24 20:06:13 -05:00
Beat Küng 4d38742371 control_allocator: show VT_ELEV_MC_LOCK for vtol mixers in config ui 2021-12-24 20:06:13 -05:00
Beat Küng 28c4d0b7df mixer_module: add unit tests 2021-12-24 20:06:13 -05:00
Beat Küng fe1b726b62 ScheduledWorkItem: do not call ScheduleClear() if not init in destructor
This avoids that unit tests trying to access a wq hang.
It still fails with an error currently.
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 07306c4be3 control_allocator: add support for Tailsitter VTOL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 0568cff299 control_allocator: handle thrust allocation for VTOL's properly
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer 936f2dff52 logger: log both instances of vehicle_thrust/torque_setpoint
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng d688e5dee4 sitl airframes: add control allocation config to some airframes (not enabled)
To use them, manually set SYS_CTRL_ALLOC
2021-12-24 20:06:13 -05:00
Beat Küng 2362feddac airframes/uuv_bluerov2_heavy: switch over to control allocation 2021-12-24 20:06:13 -05:00
Beat Küng 4f8e6a9548 control_allocator: do not update params while armed
As a precaution
2021-12-24 20:06:13 -05:00
Beat Küng e04b4a8dbf control_allocator: add 6DOF configuration 2021-12-24 20:06:13 -05:00
Beat Küng 4c80adfaf1 control_allocator: implement trim + slew rate limits configuration 2021-12-24 20:06:13 -05:00
Beat Küng 301100ce0e uuv_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint 2021-12-24 20:06:13 -05:00
Beat Küng 590239dedb work_queue: increase rate_ctrl stack size by 150 B
WARN  [load_mon] wq:rate_ctrl low on stack! (172 bytes left)
2021-12-24 20:06:13 -05:00
Beat Küng b5c2cdf6c4 vtol_att_control: do not manipulate PWM outputs if SYS_CTRL_ALLOC == 1
Not required anymore
2021-12-24 20:06:13 -05:00
Beat Küng 43e15148f6 rover: switch sitl configs to control allocation 2021-12-24 20:06:13 -05:00
Beat Küng 8d9e2a28c4 control_allocator: add fixed-wing actuator effectiveness 2021-12-24 20:06:13 -05:00
Beat Küng 4d2a403afa control_allocator: add rover actuator effectiveness
This can be generalized later
2021-12-24 20:06:13 -05:00
Beat Küng ed3a115c8f control_allocator: add status publication rate limitation comment 2021-12-24 20:06:13 -05:00
Beat Küng 70e46a194f control_allocator: major refactoring & additions
- allow effectiveness matrix to select control allocator method
  (desaturation algorithm)
- add actuator_servos publication
- add support for multiple matrices (for vtol)
- add updateSetpoint callback method to actuator effectiveness to allow it
  to manipulate the actuator setpoint after allocation
- handle motor stopping & reversal
- add control surfaces & tilt servos
- handle standard vtol + tiltrotor
- rename MC rotors params & class to be more generically usable
- fixes and enables ActuatorEffectivenessRotorsTest
2021-12-24 20:06:13 -05:00
Beat Küng a81f11acdd mc_rate_control: don't publish thrust + torque sp if vtol 2021-12-24 20:06:13 -05:00
Beat Küng 28e995ede2 fw_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint 2021-12-24 20:06:13 -05:00
Beat Küng 4becd6e4c7 rover: publish vehicle_thrust_setpoint & vehicle_torque_setpoint 2021-12-24 20:06:13 -05:00
Beat Küng 5da67e2e28 vtol_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint 2021-12-24 20:06:13 -05:00
Beat Küng d1abdd0f8d output drivers: add option to generate a separate output range reversing param
Makes it a bit easier to configure. Reversing by setting MIN > MAX is still
supported.
2021-12-24 20:06:13 -05:00
Beat Küng 1901edf13c actuator_motors.msg: add reversible flags & implement in mixer_module 2021-12-24 20:06:13 -05:00
Beat Küng ccc1f0e8fa generate_actuators_metadata: minor additions (index_offset, item_label_prefix) 2021-12-24 20:06:13 -05:00
Beat Küng 81cef522fd generate_params.py: fix bitmask param type 2021-12-24 20:06:13 -05:00
Beat Küng 5bcc5d3a13 generate_actuators_metadata.py: add mixer rules support 2021-12-24 20:06:13 -05:00
Beat Küng 230aae580f ROMFS: add control_allocator to all types 2021-12-24 20:06:13 -05:00
Beat Küng 86aa9f9336 Makefile: exclude src/lib/crypto/libtommath from validate_module_configs 2021-12-24 20:06:13 -05:00
Beat Küng 9c767ff1ee control_allocator: make effective source name a class member 2021-12-24 20:06:13 -05:00
Beat Küng 20d96f3bd9 metadata: fix BOARD_WITH_IO detection
Wasn't correctly updated during a rebase.
2021-12-24 20:06:13 -05:00
Daniel Agar 712353ea56 gyro_calibration: increase required samples (to be more conservative)
- make sure variance is checked across all available sensors
2021-12-24 19:53:44 -05:00
Daniel Agar 3f3836afa8 parameters: simplify import mark_unsaved and don't fail bson decode unnecessarily 2021-12-24 14:32:40 -05:00
Daniel Agar d1cd4904dc parameters: param_value_is_default avoid locking if value unchanged 2021-12-24 14:32:40 -05:00
Daniel Agar c0b8f2952c parameters: param_get_default_value avoid locking if value is static default 2021-12-24 14:32:40 -05:00
Daniel Agar 27a113ecab parameters: param_get avoid locking if value is static default 2021-12-24 14:32:40 -05:00
Daniel Agar cd8ce4d01e parameters: remove obsolete perf_end 2021-12-24 14:32:40 -05:00
Daniel Agar 38731662c6 parameters use bitset for mark_unsaved 2021-12-24 14:32:40 -05:00
Daniel Agar 0e0639a5bf Jenkins: hardware don't tolerate logger failures 2021-12-24 14:31:21 -05:00
Daniel Agar b054fc7b8b navigator: trivial code style fix 2021-12-24 10:55:20 -05:00
seungjo0109 0f7c850080 Fix typo(at modules/navigator_main) 2021-12-24 08:54:43 -05:00
PX4 BuildBot 7e9cdef57b Update submodule jMAVSim to latest Thu Dec 23 18:11:33 UTC 2021
- jMAVSim in PX4/Firmware (a4040f7afd): https://github.com/PX4/jMAVSim/commit/b23dc53d558e801b214fbcb605a061c9773105e0
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/66b764ada522893c05224950aa6268c809f8e48a
    - Changes: https://github.com/PX4/jMAVSim/compare/b23dc53d558e801b214fbcb605a061c9773105e0...66b764ada522893c05224950aa6268c809f8e48a

    66b764a 2021-12-17 romain-chiap - Merge pull request #129 from romain-chiap/tailsitter
71444c6 2021-10-04 romain-chiap - Update x_vert.mtl
4cc100e 2021-08-27 Romain Chiappinelli - tailsitter .mtl updated
561a5c4 2021-08-27 Romain Chiappinelli - tailsitter selection and docs
57fbdb8 2021-08-25 Romain Chiappinelli - tailsitter
2021-12-23 17:50:10 -05:00
Daniel Agar 00eae055ac lib/sensor_calibration: don't save uninitialized priority parameter immediately 2021-12-23 17:49:11 -05:00
Daniel Agar e694fa906b tinybson: add more error output on node name overflow 2021-12-23 17:45:50 -05:00
Daniel Agar 47d6a6c63d Tools/HIL/test_airframes.sh dump parameters before reboot (for verification) 2021-12-23 17:45:50 -05:00
Daniel Agar 14c2225b1c ROMFS: rcS dump parameter backup contents before using
- this is mainly for debug comparion
2021-12-23 17:45:50 -05:00
Daniel Agar 38af93085b linux_pwm_out: use PWM_MAIN parameter prefix
- this keeps things simpler for now across the old and new output
configuration
2021-12-23 15:57:11 -05:00
Daniel Agar 64e00c41d4 posix-configs: fix bbblue and rpi param import 2021-12-23 15:57:11 -05:00
Daniel Agar c8f2a29d67 boards: beaglebone_blue_default fix missing linux_pwm_out driver 2021-12-23 15:57:11 -05:00
Daniel Agar a5f58d321e boards: emlid_navio_default fix missing drivers/modules 2021-12-23 15:57:11 -05:00
Daniel Agar 7d7d707db9 commander: add COM_HOME_EN parameter to enable/disable home position 2021-12-23 15:46:31 -05:00
Daniel Agar 28c34a0484 Jenkins: hardware don't force tests dataman to pass and add to stackcheck build 2021-12-23 14:50:47 -05:00
PX4 BuildBot a069a47d50 Update submodule nuttx to latest Thu Dec 23 18:11:37 UTC 2021
- nuttx in PX4/Firmware (d0ce5705359f8beeb9faf7fa0d12279e03bb7ac7): https://github.com/PX4/NuttX/commit/d4c06e9dfb7bb14d0f19ef47b94d838b1caf50f3
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/378032a44ba1ec0e7e3df16a23d21a6e77a2d816
    - Changes: https://github.com/PX4/NuttX/compare/d4c06e9dfb7bb14d0f19ef47b94d838b1caf50f3...378032a44ba1ec0e7e3df16a23d21a6e77a2d816

    378032a44b 2021-12-15 David Sidrane - [BACKPORT] stm32f7:sdmmc invalidate before DMA to avoid eviction overwrite
2021-12-23 14:50:47 -05:00
Daniel Agar a4040f7afd px4io_serial: always perform full abort DMA on error
- enable DMA error perf count
2021-12-23 12:48:42 -05:00
Matthias Grob f68ae39840 Commander: avoid RC actions during calibration 2021-12-22 09:08:23 -05:00
Beat Küng 89974c46b9 mavlink streams: add return in all cases
Generally not needed here, but GCC produced an error when compiling with
-finstrument-functions.
2021-12-22 08:47:33 -05:00
Beat Küng e29759d877 WorkQueueManager: explicitly convert PTHREAD_STACK_MIN to int
fixes a compiler error on GCC 11.2.1:
error: no matching function for call to ‘max(long int, int)’
2021-12-22 08:47:33 -05:00
alessandro 2c8a92c628 sitl config: put model name first
Github constructs the workflow names from the 
matrix configurations. Having latitude and longitude
in the fist columns makes these names rather cryptic.
2021-12-22 12:48:54 +01:00
Daniel Agar 47fcdb1fdb sensors/vehicle_angular_velocity: replace ESC/FFT elapsed perf counters with single cycle perf counter
- non-trivial perf counters (elapsed & interval) are relatively expensive
 - if ESC and FFT notch filtering are enabled this reduces 6 updates (2 per axis) to 1
2021-12-21 14:21:10 -05:00
Julian Oes 5894f302b5 mavlink: add test for zero padding
We want to avoid publishing garbage leftover from earlier publications.
2021-12-21 09:40:36 -05:00
Julian Oes 5cfe30fa2e mavlink: fix include for unit tests
This is required to find the include directory for the unit test of the
MavlinkStatustextHandler.
2021-12-21 09:40:36 -05:00
Julian Oes 2e0286e6bb mavlink: support receiving multi-chunk statustexts
This adds support for mavlink statustext messages arriving in multiple
chunks.
2021-12-21 09:40:36 -05:00
Daniel Agar 0029a75ab0 systemcmds: convert c -> c++ 2021-12-21 09:22:49 -05:00
Julian Oes d2e931858d px4io: remove unused cmake_policy
This should fix the build with older cmake versions.
2021-12-21 09:21:25 -05:00
Julian Oes 9686c81f7d boards: enable flow control on CDCACM
This enables flow control on CDCACM for the NuttX boards which fixes a
problem where HITL would stall.

The stall could happen if the hardware would be a bit too slow in
keeping up with the incoming messages. Often, this happened on arming
because the logger would take some time to log all parameters right at
the beginning.

The stall would then not recover due to NuttX bug where the rx interrupt
would not be restored correctly and instead only a slower watchdog would
release the next read. This watchdog takes 200ms which means it's hard
to impossible to get out of the situation without restarting sim and/or
PX4.  For more information about the issue, see:
apache/incubator-nuttx#3633

As a workaround, until that bug is fixed, and because it makes sense
anyway, I propose to enable FLOWCONTROL for the serial via USB.
2021-12-21 08:01:38 +01:00
DanielePettenuzzo 88521b0145 print error only if the mavlink command fails
In some cases we printed also the mavlink commands that replied
to be unsupported. This is not an error to show in the log.
2021-12-21 07:37:23 +01:00
Julian Oes 199b5e7d48 Revert "mavsdk_tests: retry gz model spawn command"
This reverts commit c15d3f7cfa.
2021-12-20 13:05:46 -05:00
Julian Oes 9184038359 mavsdk_tests: try to restart gzserver
Sometimes gzserver seems to just not start correctly. With this commit
we try to just restart.
2021-12-20 13:05:46 -05:00
TSC21 9894598b63 mavsdk_tests: update to be able to fetch rtps builds as well 2021-12-20 13:05:46 -05:00
Thomas Debrunner 9312c772f1 mavsdk-tests: Re-try to launch a mission for some time before failing. This mitigates an issue where the flight controller has an uploaded mission, but has not finished the mission feasibility checks yet. 2021-12-20 13:05:46 -05:00
Julian Oes 764af19da4 mavsdk_tests: bump MAVSDK version to v0.48.0
This might help with CI tests where we get RC loss because, presumably,
MAVSDK is not sending them in time.
2021-12-20 13:05:46 -05:00
Claudio Micheli 9d02851893 vmount: increase stack size to 2100
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-12-20 13:05:15 -05:00
Julian Oes 90fe4b7a54 vmount: publish gimbal v2 protocol for v1 gimbals
This enables the use case where the gimbal v2 protocol is used
between the ground station and the drone, and the gimbal v1 protocol is
used between the drone and the gimbal.
2021-12-20 13:05:15 -05:00
Julian Oes 6d74b390d9 vmount: use absolute angle for location tracking
I'm pretty sure it makes more sense to use an absolute angle to track a
lat/lon location.
2021-12-20 13:05:15 -05:00
Julian Oes d88f9353e8 vmount: improve debug message
This should help to figure out when gimbal commands don't work.
2021-12-20 13:05:15 -05:00
Julian Oes f7c4034f3c vmount: fix v1 frames with v2 input
It looks like the frames for pitch and roll were not set correctly when
v1 is used in v2 input.
2021-12-20 13:05:15 -05:00
Julian Oes 0ce4eae314 vmount: fix v1 frames for v1 input
This basically means that we want roll and pitch to be absolute, so
relative to the horizon.
2021-12-20 13:05:15 -05:00
Julian Oes 3c5bf497a3 esc_calib: remove unused variable 2021-12-20 10:56:24 -05:00
Julian Oes a6431ab8f0 simulator: fix implicit-const-int-float-conversion 2021-12-20 10:56:24 -05:00
Daniel Agar 019eaf7038 multicopter: minimize dt jitter by using estimate timestamp_sample 2021-12-17 17:52:28 -05:00
Julian Oes dcf69144cb mavsdk_tests: fix type for mypy check
This was probably triggered due to a mypy update.
2021-12-17 17:28:54 +01:00
marcojob 2cfe08b3b1 small typo in vehicle_local_position msg 2021-12-17 15:45:07 +01:00
Igor Mišić 2d680dfd1a pps_capture: fix PARAM_PREFIX for boards with px4io (CONFIG_BOARD_IO) 2021-12-17 07:56:08 +01:00
Igor Mišić 89f828fba7 pps_capture: advertise for logging 2021-12-17 07:56:08 +01:00
Igor Mišić 17f5df2d3e pps_capture: add argument guard 2021-12-17 07:56:08 +01:00
Beat Küng f6ced71d26 pps_capture: make it configurable via output functions 2021-12-17 07:56:08 +01:00
Igor Mišić 0f60e7debf pps_capture: add kconfig 2021-12-17 07:56:08 +01:00
Michael Schaeuble 064a602962 Add PPS capture message to logged topics, simplify timestamp logic and small cleanup 2021-12-17 07:56:08 +01:00
Michael Schaeuble 5ad8b84dec Fix PPS based UTC timestamp in camera trigger and capture messages
The existing implementation has about 100ms difference to a reference clock. With the changes this error less than 25us.
- Use sensor_gps messages with hrt timestamps as RTC reference and not the system realtime clock. The PPS interrupt can then be aligned with the GPS clock system.
- Keep fallback based on system RTC when no PPS pulse was captured
2021-12-17 07:56:08 +01:00
Michael Schaeuble ebb657bcf4 Fix camera trigger via MAVLink when camera capture feedback is enabled
- camera_trigger module always publishes the camera_trigger msg (independent of the camera feedback)
- Use camera_trigger msg and set the feedback flag
- Subscribing modules determine if the message is relevant based on the feedback message
2021-12-17 07:56:08 +01:00
Michael Schaeuble 3e4031cf0f Set rtc_edge_time also in capture_callback
When using an FMU channel as PPS capture GPIO, the rtc_edge_time is now set as well. The delay between actual capture and callback is compensated with the elapsed time of the rtc clock.
2021-12-17 07:56:08 +01:00
Thomas Debrunner 43bc6db99e PPS capture: Add a param to enable / disable PPS capture module. This is important, since it takes over an FMU pin which can no longer be used for actuator output. 2021-12-17 07:56:08 +01:00
Igor Mišić 298a8c4637 boards/fmu-v5x: allocating PPS pin
- start pps_capture before pwm_out
2021-12-17 07:56:08 +01:00
Igor Mišić 60a212f717 px4_arch: add PX4_MAKE_GPIO_EXTI 2021-12-17 07:56:08 +01:00
Igor Mišić c6098ef3dd camera_capture: update to use PPS correction for UTC time 2021-12-17 07:56:08 +01:00
Igor Mišić 8eca35111e camera_trigger: update to use PPS correction for UTC time 2021-12-17 07:56:08 +01:00
Igor Mišić 72b1db4a63 pps_capture: implementation of pulse per second capture driver 2021-12-17 07:56:08 +01:00
Daniel Agar 43a04c9bca fix PARAM_PREFIX for boards with px4io (CONFIG_BOARD_IO) 2021-12-16 07:20:12 +01:00
Daniel Agar ecc2ca7f98 mathlib: int16_t negate explicitly handle both INT16_MIN and INT16_MAX
- technically negating INT16_MAX doesn't need special handling, but
this ensures any simple saturation logic downstream works by default
2021-12-15 12:45:58 -05:00
Daniel Agar d59d16a6cd drivers/accelerometer: adjust int16_t clipping threshold slightly
- consider data clipped/saturated if it's INT16_MIN/INT16_MAX or within 1
 - this accommodates rotated data (|INT16_MIN| = INT16_MAX + 1) and sensors that may re-use the lowest bit for other purposes (sync indicator, etc)
2021-12-15 12:45:58 -05:00
Daniel Agar ea29b45282 ekf2: enable mag check by default, but commander only warn 2021-12-15 09:43:46 -05:00
Daniel Agar 3fba7288af ekf2: selector use hysteresis for healthy flag
- require that an instance is healthy continuously for >= 1s before
allowing it to be used
2021-12-14 09:52:36 -05:00
Thomas Debrunner eb69f15d3a health-flags: Increase health flags to 64 bit bit field to support extended sys status mavlink message
Add SYS_STATUS flag for parachute
2021-12-14 09:41:12 -05:00
Thomas Debrunner 37099f85b9 mavlink: Update to newest mavlink master 2021-12-14 09:41:12 -05:00
Silvan Fuhrer e9b9176ce2 param translation: fix for FW_GPSF_LT and FW_GPSF_R
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-14 08:27:04 +01:00
Jukka Laitinen ce6147f570 uORB: Remove transfer of memory allocation ownership to CDev
- Allocate and free the node name in uORBDeviceNode.
- Add protected build support by de-allocating the name with kmm_free, when
  running in kernel side. strdup allocates from the kernel heap in NuttX kernel
  space.
- Remove the CDev::unregister_driver_and_memory(), it is no longer used

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-13 22:52:36 -05:00
Jukka Laitinen 25c10eb124 cdev: build & link fixes for NuttX protected build
- Always link to nuttx_fs for register/unregister_driver calls

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-13 22:52:36 -05:00
Daniel Agar acdcc35392 tests: dataman fix ssize_t printf 2021-12-13 22:51:23 -05:00
alexklimaj 6133ef0d63 Dronecan fix beep driver 2021-12-13 14:52:46 -05:00
bresch 67a893ac6d WelfordMean: remove unnecessary case for first sample
setting the mean to the sample value and then adding 0 is the same as
setting the mean to zero and then add the sample value divided by 1
2021-12-13 11:42:48 -05:00
bresch 5468841aa5 WelfordMean: add unit test 2021-12-13 11:42:48 -05:00
Daniel Agar fc17797548 ekf2: delete obsolete _bad_vert_accel_detected 2021-12-13 09:13:39 -05:00
Daniel Agar 986cf288da dataman: remove obsolete persistence and reset reason 2021-12-12 12:06:35 -05:00
Daniel Agar ad1bfb5410 Tools/HIL/reboot.py retry every 90 seconds for up to 5 minutes 2021-12-12 11:53:01 -05:00
96moustafa 63189067f6 set the transponder_report message of uavs with no icao address to be their mav id 2021-12-11 15:29:43 -05:00
Daniel Agar 167edcc77b simulator: add standalone sensor_gps_sim module 2021-12-11 15:03:15 -05:00
Daniel Agar 95b961c622 simulator: add standalone sensor_baro_sim module 2021-12-11 15:03:15 -05:00
Daniel Agar 4edfb4799f simulator: add standalone sensor_mag_sim module 2021-12-11 15:03:15 -05:00
Daniel Agar b71b908ac7 Tools/HIL: explain cmd, use monotonic time 2021-12-11 15:02:49 -05:00
Daniel Agar 0f6e30599c Jenkins: hardware tolerate px4_fmu-v5_debug dataman failures for now 2021-12-10 10:28:19 -05:00
bresch 66290de745 ekf: improve range primary height source
allow range fusion to start with fake measurements if the sensor is
providing bad measurements because too close to the ground
2021-12-10 15:18:10 +01:00
bresch 9147d5ea5c ekf2: use ground as ekf altitude datum when in range primary hgt mode 2021-12-10 15:18:10 +01:00
bresch 5e790da634 ekf2: reset the timeout timer in the reset function directly 2021-12-10 15:18:10 +01:00
bresch 0d874cf00a ekf2: move aiding start details in dedicated function
When an aiding source needs to be started, simply call the corresponding
starting function and any required reset is handled in there.
2021-12-10 15:18:10 +01:00
Matthias Grob 897775f38d ManualControlSelector: Allow disabling stick input 2021-12-10 09:11:08 -05:00
Matthias Grob 300e439144 ManualControlSelector: Enable original PX4 default behavior until QGC catches up 2021-12-10 09:11:08 -05:00
Daniel Agar d961a067b9 navigator: reduce NUM_MISSIONS_SUPPORTED 2000->500 for dataman RAM usability 2021-12-10 09:10:02 -05:00
Daniel Agar ca3f6f59f9 dataman: add SYS_DM_BACKEND parameter 2021-12-10 09:10:02 -05:00
Beat Küng f76086ffa1 microRTPS_agent_CMakeLists.txt.em: add install section 2021-12-10 09:03:08 -05:00
Beat Küng a9e918c7b2 fix ina226: use shunt param value 2021-12-10 09:03:08 -05:00
Beat Küng a4ca298ee9 simulator_mavlink: handle MAV_TYPE_VTOL_RESERVED3 2021-12-10 09:03:08 -05:00
Beat Küng 7aed8c4f47 sd_bench: print errno on write failure 2021-12-10 09:03:08 -05:00
Beat Küng 80300c36b4 parameter units: add 'A' (Ampere) 2021-12-10 09:03:08 -05:00
Beat Küng 10f49c99ef px4_add_gtest.cmake: add optional COMPILE_FLAGS, INCLUDES, EXTRA_SRCS and LINKLIBS 2021-12-10 09:03:08 -05:00
Beat Küng 87ec8839c4 px4/fmu-v5x: remove unused base_phy_DP83848C build variant 2021-12-10 09:03:08 -05:00
Igor Mišić d1aec01b86 uavcan/actuators: stop update esc status if there is no UAVCAN ESCs 2021-12-10 09:03:08 -05:00
Beat Küng aa96e39306 kconfig: do not inherit for recovery.px4board from default.px4board 2021-12-10 09:03:08 -05:00
Beat Küng ca6df035b4 px4/fmu-v5x: add arch_io_pins dependency (required in init.cpp) 2021-12-10 09:03:08 -05:00
Beat Küng 0d1d454a4c mavlink: add missing 'sensor_calibration' lib dependency 2021-12-10 09:03:08 -05:00
alexklimaj 31af09f8e7 Fix uavcan distance sensor not being logged 2021-12-10 07:19:34 +01:00
Silvan Fuhrer 24d871f792 FW land detector: tighten thresholds in airspeed-less case
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-09 20:55:09 -05:00
PX4 BuildBot 16621b19b3 Update submodule sitl_gazebo to latest Fri Dec 10 00:38:56 UTC 2021
- sitl_gazebo in PX4/Firmware (95222baa33): https://github.com/PX4/PX4-SITL_gazebo/commit/ffb87ef4a312564cf91791bd5a9d683aacd085a6
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/27298574ce33a79ba6cfc31ed4604974605e7257
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ffb87ef4a312564cf91791bd5a9d683aacd085a6...27298574ce33a79ba6cfc31ed4604974605e7257

    2729857 2021-12-06 Silvan Fuhrer - Plane.sdf: reduce flaps and aileron effectiveness by reducing the angle-to-lift ratio
2021-12-09 20:52:31 -05:00
Thomas Debrunner ade4a1930c trajectory-planning: Added option for PositionSmoothing library with single target waypoint that disables L1 guidance 2021-12-09 20:51:39 -05:00
Jukka Laitinen 77af102cab px4_work_queue: Use px4_task_spawn_cmd for WorkQueueRunner in NuttX protected
In NuttX protected build there are separate work queues in kernel and user sides.

pthreads are only available in user side, so use tasks and kthreads for
memory protected builds.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-09 20:42:28 -05:00
Jukka Laitinen 3aab4d2daf px4_task_spawn_cmd: launch kernel thread in protected/kernel build on kernel side
Also task name is accessible only in kernel side for protected/kernel build

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-09 20:42:28 -05:00
Daniel Agar 8185e2a384 boards: board_app_initialize() don't return early on failure
- depending on the situation we're more likely to get actionable user
feedback by allowing boot to complete rather than silently failing
2021-12-09 20:41:54 -05:00
Daniel Agar 08ee3208b2 mavlink: stop_command fix potential dead lock 2021-12-09 20:40:55 -05:00
Cindy Hsieh ca90c785e9 correct pin in the comment, no code changed 2021-12-09 20:40:34 -05:00
Thomas Stastny 95222baa33 fix incorrect L1 period param documentation (#18811)
* fix incorrect L1 period param documentation

* reduce minimum L1 period
2021-12-08 16:42:50 +01:00
Daniel Agar 8b1543e3b0 mavlink: destroy all instances fix potential dead lock 2021-12-08 09:30:39 -05:00
Silvan Fuhrer b00ebe53bb FlightTaskAuto: use MPC_VEL_MAX instead of MPC_XY_CRUISE for emergency braking thresholds
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-08 09:13:01 +01:00
Julian Oes 94884594bb mavsdk_tests: check gzserver and gz model calls
This adds two checks to make sure gzserver has actually started before
continuing, and also whether the gz model call was successful.
2021-12-08 07:26:32 +01:00
Daniel Agar 51c0e5553e vmount: adjust MNT_RANGE_PITCH and MNT_RANGE_ROLL defaults
- this seems like a much more reasonable default
2021-12-08 01:02:46 -05:00
Daniel Agar 3b94742117 vmount: adjust timeout 50 -> 20 ms (50 Hz) 2021-12-08 01:02:46 -05:00
Julian Oes 9cb2bf389c vmount: add param to use RC input for angular rate
Until now RC input was translated to angles only. I added the param
MNT_RC_IN_MODE which allows the RC input to be used for angular rate.
2021-12-08 01:02:46 -05:00
Daniel Agar 08b0ac9654 dataman: retry file read/write failures and report seek errors 2021-12-07 17:03:07 -05:00
Matthias Grob 495f1c9165 battery: don't initialize _source without constructor 2021-12-07 21:06:51 +01:00
Matthias Grob 68e2940f58 math: support max of three values additional to min and use it everywhere 2021-12-07 21:06:51 +01:00
Matthias Grob e8676fe87a BATTERY_STATUS: improve filling cell voltage
according to review comment
2021-12-07 21:06:51 +01:00
Matthias Grob b41e345a5b battery: correct updateBatteryStatus() description 2021-12-07 21:06:51 +01:00
Matthias Grob ee3bc6673a AnalogBattery: make update variables const 2021-12-07 21:06:51 +01:00
Matthias Grob fdc40880d0 battery: separate out publishing from updating
to allow smart battery drivers to use the battery class and
filling in additional information in case it makes sense.
2021-12-07 21:06:51 +01:00
Matthias Grob e70d70468a battery: pass voltage and current by setter 2021-12-07 21:06:51 +01:00
Matthias Grob 39641494da battery: pass connected flag in by setter 2021-12-07 21:06:51 +01:00
Matthias Grob 38d23f5345 battery: pass priority in by setter 2021-12-07 21:06:51 +01:00
Matthias Grob f9fc9a9af6 battery: pass source in by constructor 2021-12-07 21:06:51 +01:00
Matthias Grob b965923c08 battery: fetch throttle value inside of class 2021-12-07 21:06:51 +01:00
Matthias Grob ddc6b6bc9c battery: move MAVLink specific handling out of battery class 2021-12-07 21:06:51 +01:00
Matthias Grob da2fdf923e battery parameters: allow usage of 1S battery 2021-12-07 21:06:51 +01:00
Jukka Laitinen d0d7f29422 platforms/common/shutdown.cpp: Enable boardctl functions for shutdown and poweroff
Shutdown and poweroff must go through boardctl in NuttX protected build

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-07 09:24:53 -05:00
Daniel Agar 7185bb3243 vmount: output rc simple protections 2021-12-07 13:11:22 +01:00
bresch c947562183 ekf: get rid of intermediate variable "fuse_height" 2021-12-07 09:16:21 +01:00
bresch 9651f78b0a ekf: centralize the height fusion decision 2021-12-07 09:16:21 +01:00
bresch d583ef6b79 ekf2: move height fusion code to separate source file 2021-12-07 09:16:21 +01:00
Daniel Agar 452a7199a6 Jenkins: HIL stop modules before running certain tests 2021-12-06 23:31:49 -05:00
Daniel Agar f9faa97d85 Tools/HIL/run_nsh_cmd.py increase timeout 3->4 minutes 2021-12-06 17:51:03 -05:00
Daniel Agar 01e60e853e navigator: increase stack slightly 2021-12-06 15:10:50 -05:00
Daniel Agar 41378fcef9 ms5611: lower SPI clock 20 MHz -> 16 MHz
- this was necessary to get the secondary ms5611 working reliably on a
particular CubeOrange
 - the sensor is transferring very little data, so lowering the speed by
default everywhere is harmless
2021-12-06 12:51:52 -05:00
Daniel Agar 8cd517f533 dataman: PX4_ERR on create_work_item failure 2021-12-06 10:23:42 -05:00
Daniel Agar 9ab633c18f drivers/imu/invensense: check register bank during probe if necessary
- the WHO_AM_I is only accessible in register bank 0, which might not
be currently selected if the sensor didn't have a clean reset
2021-12-06 10:22:54 -05:00
Daniel Agar 4bf1b46e47 boards: free up flash on crazyflie and omnibus 2021-12-06 09:37:08 -05:00
Daniel Agar 2256def180 Jenkins: hardware run param dump 2021-12-06 09:37:08 -05:00
Daniel Agar 1f6acd0171 parameters: add simple backup and restore mechanism 2021-12-06 09:37:08 -05:00
Daniel Agar e692f4ca01 ROMFS: rcS param import fail try to gather data
- startup tune and console message to notify user
 - save dmesg and param bson copy to microsd
 - run param dump to show full contents of bson
2021-12-06 09:37:08 -05:00
Daniel Agar 674b92df18 parameters: sleep 10 ms before retrying a failed import/export 2021-12-06 09:37:08 -05:00
Daniel Agar 7bfebf5289 parameters: add param dump to read and decode bson to console 2021-12-06 09:37:08 -05:00
Daniel Agar 7560d45c61 parameters: import tolerate unhanlded BSON types 2021-12-06 09:37:08 -05:00
Daniel Agar 9db5bc0755 px4_mtd: increase retries, wait inbetween, try decreasing frequency 2021-12-06 09:37:08 -05:00
Daniel Agar 1af068179e parameters: tinybson print errors and count imported types 2021-12-06 09:37:08 -05:00
Silvan Fuhrer ba1526896d Navigator: VTOL: remove generate_waypoint_from_heading()
The FW Position controller sets the wp to be tracked during a
VTOL front transition, the coordinates sp set here weren't used.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-06 16:30:59 +03:00
Matthias Grob 10ceea2fe6 geo: refactoring on comments and usage 2021-12-06 14:30:14 +01:00
Thomas Debrunner 8db7a6225b geo: Moved the map_projection_* functions and state into a self-contained C++ class 2021-12-06 14:30:14 +01:00
Daniel Agar fe23718e2c drivers/gps: require valid device to start 2021-12-06 08:44:50 +01:00
Daniel Agar 3160e7a3cd Jenkins: run calib_udelay on test rack 2021-12-05 19:42:10 -05:00
PX4 BuildBot 01192e3c37 Update submodule simulation-ignition to latest Sun Dec 5 12:38:56 UTC 2021
- simulation-ignition in PX4/Firmware (4e3d944f58): https://github.com/PX4/px4-simulation-ignition/commit/0ea4dbe2c3dac84f5927a59b1caf5e5561cf942e
    - simulation-ignition current upstream: https://github.com/PX4/px4-simulation-ignition/commit/483193d9b8b89211c3b970c735b4fbb5f724b63a
    - Changes: https://github.com/PX4/px4-simulation-ignition/compare/0ea4dbe2c3dac84f5927a59b1caf5e5561cf942e...483193d9b8b89211c3b970c735b4fbb5f724b63a

    483193d 2021-11-27 JaeyoungLim - Merge pull request #2 from PX4/pr-upstream-merge
4f3fd67 2021-11-27 Jaeyoung-Lim - Merge remote-tracking branch 'origin/master' into pr-upstream-merge
bd96d89 2021-11-27 Jaeyoung-Lim - Use mavlink develop dialect
bba86d6 2021-11-27 Jaeyoung-Lim - Fix firmware build test on github actions
e78ad94 2021-09-04 Jaeyoung-Lim - Update Readme
63ac33c 2021-09-03 Jaeyoung-Lim - Rename world path to accomodate different models
794a8dc 2021-07-12 Jaeyoung-Lim - Add ignition gazebo firmware build test
2021-12-05 19:23:55 -05:00
Daniel Agar 58421f2edc Update submodule GPS drivers to latest Fri Dec 3 12:38:58 UTC 2021
- GPSDrivers in PX4/Firmware (3e0d06c65167c0bd79c193ea75ca5c7959053ff7): https://github.com/PX4/PX4-GPSDrivers/commit/bd72eb6794e8fb4f2ed3e47311a14c2cec69f60b
    - GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/d6940d9c8ccb8ab3273c677097a29d46903021ff
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/bd72eb6794e8fb4f2ed3e47311a14c2cec69f60b...d6940d9c8ccb8ab3273c677097a29d46903021ff

    d6940d9 2021-12-02 alexklimaj - Update F9P moving base with direct UART2 connection
    eb0cb58 2021-11-25 sebastian - always using groundspeed for vel_m_s in ubx driver
    0408160 2021-11-18 alexklimaj - Remove extra UART1 baudrate set
2021-12-05 19:23:07 -05:00
Daniel Agar f63a7642d6 NuttX debug helper improvements
- use NuttX gdb script for nxthreads and thread backtrace
 - update jlink_gdb_backtrace and jlink_debug_gdb helper targets to use
NuttX gdb script
 - Debug/PX4 fix "perf" divide by zero
 - Debug/PX4 add "dmesg"
2021-12-05 19:18:56 -05:00
Daniel Agar 10f2564ae8 systemcmds/tests: dataman test use proper signed type for dm_read() return 2021-12-05 18:08:54 -05:00
Daniel Agar 713350930d boards: px4_fmu-v5 add test variant 2021-12-05 18:08:54 -05:00
Daniel Agar 37c1598f38 boards: cubepilot_cubeorange enable calib_udelay and run on test rack 2021-12-05 14:50:03 -05:00
Daniel Agar 7d515e3d58 boards: cubepilot_cubeorange lower cpu clock 480 -> 400 MHz to reduce temperature 2021-12-05 14:50:03 -05:00
PX4BuildBot aae794965a [AUTO COMMIT] update change indication 2021-12-05 11:03:58 -05:00
PX4 BuildBot 4478877820 Update world_magnetic_model to latest Sun Dec 5 11:14:12 UTC 2021 2021-12-05 11:03:58 -05:00
Matthias Grob 4e3d944f58 mixer_module: typo con(s)tructor 2021-12-03 07:40:23 +01:00
Julian Oes accbdbf129 DEBUG: get some mavsdk_test_runner.py output 2021-12-02 11:40:26 -05:00
Julian Oes 7c0165ea0c ROMFS: avoid setting none params 2021-12-02 11:40:26 -05:00
Julian Oes f537b30c86 init.d-posix: exit on error
This fixes a case where the px4 startup is not stopped when the
px4 process is killled using -SIGKILL against the px4 deamon.
In that case, the currently executing command/client is killed
and properly shutting down with result -1, however, the next command
is started anyway.

This means that the next time we try to run the simulation we get a
"PX4 daemon already running for instance 0" error and PX4 doesn't start
properly.

By adding exit on error, we properly exit in the case where the startup
script gets stopped/killed.
2021-12-02 11:40:26 -05:00
Julian Oes c15d3f7cfa mavsdk_tests: retry gz model spawn command
This should help when gzserver does not respond yet and we end up
without a model and hence can't connect later and time out.

This change also required a fix to prevent the tester to hang on
terminating all runners. By using poll instead of only read we can
prevent that and actually properly join the logger thread.
2021-12-02 11:40:26 -05:00
Daniel Agar 2190f66096 sensors/vehicle_magnetometer: add SENS_MAG_AUTOCAL to enable initial auto cal 2021-12-01 20:24:56 -05:00
Daniel Agar 8fbf79527f magnetometer allow setting initial calibration from bias if available and stable 2021-12-01 20:24:56 -05:00
Daniel Agar b7efd4f947 ekf2: selector treat combined test ratio > 1 as a warning
* ekf2: selector treat combined test ratio > 1 as a warning
* ekf2: wait for 1s of constant warning to trigger an instance switch

Co-authored-by: bresch <brescianimathieu@gmail.com>
2021-12-01 20:22:34 -05:00
Matthias Grob 89892d0d17 px4io: discover PWM_MAIN_TRIMx parameters right away 2021-12-01 20:21:26 -05:00
Julian Oes a9b9362fea commander: handle system broadcast commands
This changes the command handling logic to accept commands which are
targeted at any system, signaled by target_system set to 0.
2021-12-01 20:17:35 -05:00
Daniel Agar a2064cceff boards: enable early MPU reset on any board potentially not using the PX4 bootloader 2021-12-01 20:13:41 -05:00
Peter van der Perk 36ba8cc6dd UAVCANv1 update FMU-V5 config 2021-12-01 09:29:15 -05:00
Peter van der Perk ce10dd90e7 Remove ucannode_gps_demo since it's superseded by uavcan_v1 2021-12-01 09:29:15 -05:00
Peter van der Perk ce909b23b1 UAVCANv1 Node implementation work, PNP, Registers and uORB publisher 2021-12-01 09:29:15 -05:00
Jukka Laitinen 79aa8ee587 src/drivers/sw_crypto: Fix a function call argument type mismatch
Fix one function call argument from unsigned -> size_t

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-01 09:28:02 -05:00
Jukka Laitinen 9c94e4c5ef crypto: define XMALLOC & XFREE for sw_crypto
Use the same memory allocation in sw_crypto driver as what is used in
src/lib/crypto libraries

In addition, in nuttx protected build, allocate all memory from kernel heap

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-01 09:28:02 -05:00
Jukka Laitinen a537925c3c Fix a build error with crypto variants
There was an error that PX4_CRYPTO was cached accross variants, if it was
defined just for one variant.

This synchronizes the caching of BOARD_CRYPTO with other similar BOARD_ flags;
it is set as INTERNAL and "1" when enabled.

Also remove handling of BOARD_KEYSTORE; it is not used anywhere after
changing the crypto under src/drivers. If a separate keystore driver
is required, it is just selected as any other driver in px4board

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-01 09:28:02 -05:00
alexklimaj 2571860ff8 Prevent uavcannode from republishing RTCM data received over uavcan 2021-12-01 09:27:11 -05:00
David Lechner a29820bdf8 gps: fix compiling on mac
This fixes the following compile error on Mac:

    src/drivers/gps/gps.cpp:562:23: fatal error: use of undeclared identifier 'B921600'
            case 921600: speed = B921600; break;
                                ^
2021-12-01 09:25:40 -05:00
alexklimaj bfd5a90a5d UAVCAN Moving Baseline Working
Set uavcan publisher priorities

Switch to ardupilot rtcm message and add heading accuracy
2021-11-30 15:59:08 -05:00
Matthias Grob b59db7dac2 rtl_params: change default and max rtl time margin 2021-11-30 19:46:22 +01:00
Matthias Grob 55dfbdc6a6 Commander: fix remaining flight time user messaging 2021-11-30 19:46:22 +01:00
David Jablonski 4f88c200ec vmount: fix gimbal_manager_status 2021-11-30 19:35:22 +01:00
Thomas 9345f68a93 reapply PR 18614 to refactored FlightTaskAuto 2021-11-30 14:52:16 +01:00
Beat Küng cbd6e735ad fix console_buffer: avoid potential deadlock when using dmesg over MAVLink shell
dmesg was locking the console buffer, then writing to stdout (a pipe in
the case of the MAVLink shell).
This might block, waiting for mavlink to read from the pipe. If however
mavlink tries to write to the console at that time, the lock is already
taken.
This patch avoids nested locking by using a separate buffer.
2021-11-30 08:49:52 -05:00
Julian Oes 01db98fccf vmount: fix RC pitch input scale
When scaling manual input, we should only use pitch -90 to +90 instead
of -180 to 180 degrees which leads to weird behavior as it gets passed
on by a quaternion.
2021-11-30 07:50:20 +01:00
David Sidrane 76585409fa durandal rev 1 has bmi088->icm20602 2021-11-29 21:59:30 -05:00
benjinne 38e7f814d5 mro h7 boards add rtps px4board files 2021-11-29 21:50:32 -05:00
Daniel Agar e348425279 Jenkins: hardware perform board reset immediately after flashing 2021-11-29 21:49:35 -05:00
Daniel Agar bc7001ba49 NuttX apps with [REJECTED] mkfatfs DMA memory change 2021-11-29 21:49:35 -05:00
David Sidrane df1c94dd4e px4_fmu-v5_debug:Increase stack size 2021-11-29 16:01:08 -05:00
David Sidrane ade7315e9b sd_bench:Missing free 2021-11-29 16:01:08 -05:00
Jukka Laitinen c2cbab1e98 Improve stub_keystore configuration
It is possible to either set the keyfile locations in board configuration or
with the same environment variables as before.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-29 11:09:51 -05:00
Jukka Laitinen 929820136a Move sw_crypto and stub_keystore under src/drivers
This is more logical place for the "backend" implementation than
directly under platform.

This also allows making other implementations as "real" drivers, as well as proper configuration via Kconfigs

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-29 11:09:51 -05:00
Daniel Agar 9b7c8c8a8b boards: px4_fmu-v6x_default enable ethernet by default with NuttX optimizations 2021-11-29 09:08:42 -05:00
Daniel Agar b9152dc4d0 boards: px4_fmu-v5x_default increase ETH pktsize to max and enable tcp delayed ack 2021-11-29 09:08:42 -05:00
Daniel Agar bb562a6d10 mavlink: unify find_broadcast_address logic
- remove NuttX special handling
2021-11-29 09:08:42 -05:00
Daniel Agar 0459b73520 boards: px4_fmu-v5x enable mavlink ethernet by default 2021-11-29 09:08:42 -05:00
PX4 BuildBot 2870b5bbb1 Update submodule sitl_gazebo to latest Sat Nov 27 12:38:16 UTC 2021
- sitl_gazebo in PX4/Firmware (d0c931353b047cfe6340b11866c814aa0d43fd34): https://github.com/PX4/PX4-SITL_gazebo/commit/60d6844e17919e8d57aafb3a0c25064df920cfc3
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/ffb87ef4a312564cf91791bd5a9d683aacd085a6
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/60d6844e17919e8d57aafb3a0c25064df920cfc3...ffb87ef4a312564cf91791bd5a9d683aacd085a6

    ffb87ef 2021-11-24 Thomas Stastny - sync baro and diff pres calculations in airspeed and baro plugins
a1d9dfa 2021-11-23 Bearixal - Windy World: Fixed Naming of Parameter according to wind_plugin.cpp and added missing ones. (#830)
71d8a41 2021-11-17 Jaeyoung-Lim - Remove unused configs in windyworld
2021-11-27 11:14:32 -05:00
PX4 BuildBot 5440802aae Update submodule libcanard to latest Sat Nov 27 12:38:19 UTC 2021
- libcanard in PX4/Firmware (748cbbe79a4f91f472207b8d12e1d01e486a82ab): https://github.com/UAVCAN/libcanard/commit/2a116170285fb47fcaae150ad21c2ccde0756a5f
    - libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/2d449453fc8c4060f276c6dc585d4e1e5bf4fd52
    - Changes: https://github.com/UAVCAN/libcanard/compare/2a116170285fb47fcaae150ad21c2ccde0756a5f...2d449453fc8c4060f276c6dc585d4e1e5bf4fd52

    2d44945 2021-09-18 Kalyan Sriram - Fix sonarcloud issues (#181)
d64f82f 2021-09-13 Kalyan Sriram - WIP: Migrate to Github Actions (#174)
2021-11-27 11:11:29 -05:00
David Sidrane e507563911 uvify_core nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 23c73d4e0b px4_fmu-v6x nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 51b55533af px4_fmu-v6u nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane b8bdf7e1c4 px4_fmu-v5x nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 3504541ebd px4_fmu-v5x base_phy_DP83848C:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 60229c28a8 px4_fmu-v5 uavcanv1:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 01681d6b47 px4_fmu-v5 stackcheck:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 32c2160137 px4_fmu-v5 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane cf36435ed3 px4_fmu-v5 debug:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane a6bc41ef75 px4_fmu-v5 cryptotest:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 0951b9b1e7 px4_fmu-v4pro nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane e957ebac56 px4_fmu-v4 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane c3ae713ec1 px4_fmu-v3 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 394b431364 px4_fmu-v2 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane bddee78412 nxp_fmurt1062-v1 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane fa3027537c nxp_fmuk66-v3 socketcan:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 38f017b12f nxp_fmuk66-v3 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 3b6a5dbac3 nxp_fmuk66-e socketcan:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 661512cefe nxp_fmuk66-e nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane afeb0db666 mro_x21 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 8294b9431a mro_x21-777 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 55dceae672 mro_pixracerpro nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 861145fcdc mro_ctrl-zero-h7 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 4f4ada90b1 mro_ctrl-zero-h7-oem nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 1999003cf4 mro_ctrl-zero-f7 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 1179603437 mro_ctrl-zero-f7-oem nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 5fd321ec43 modalai_fc-v2 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 9a9eb35ea8 modalai_fc-v1 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane b7c3d560d3 holybro_pix32v5 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 0bc377ecd3 holybro_kakutef7 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane ddc73b4647 holybro_durandal-v1 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 6921b04600 holybro_can-gps-v1 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 84175eacff freefly_can-rtk-gps nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane ed473a5ebe cubepilot_cubeyellow nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane c82e0e0531 cubepilot_cubeorange test:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 6e1500a7de cubepilot_cubeorange nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 8172a561ca cuav_x7pro nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 947162f998 cuav_nora nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 63bedd8e4a cuav_can-gps-v1 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane d30431527c atl_mantis-edu nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane f59a517be2 ark_can-rtk-gps nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane a3832d3981 ark_can-gps nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane c06e6ffaf7 ark_can-flow nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 8ae0c9aadd airmind_mindpx-v2 nsh:Remove CONFIG_RAMTRON_WRITEWAIT 2021-11-26 19:27:29 -05:00
David Sidrane 7393a68e28 NuttX with ramtron and BCH backports 2021-11-26 19:27:29 -05:00
Julian Oes 7ddf43b443 mavlink_ftp: fix tests on Nuttx
On Nuttx we have an additional check whether the directory is accessible
to check if we are trying to write to storage that is not on the SD
card. This returns the FileProtected error whereas on Linux this just
ends up being a FileNotFound.

The ifdefs around this issue are not pretty but the alternatives of
either removing the tests for /bogus folders, or removing the additional
check on the NuttX side don't seem better either.
2021-11-26 15:50:28 -05:00
Julian Oes 7c90b06628 mavlink_ftp: fix tests after implementation fix
In commit 462b572172 the reading operation
on the PX4 side was changed to only read as many bytes as requested
rather than however many fit in the payload data.

This caused the unit tests to fail which this commit here aims to fix.

What is confusing about MAVLink FTP is that there is a size field which
generally signals how many bytes of the payload data are used/set.

However, in the case of a read requst, the size field is used to
indicate how many bytes should be read. The payload data is empty in
that case though.

This case was, from how I understand it, not implemented/tested in the
unit tests and now failed. In order to implement it I had to change a
few things:
- Change _setup_ftp_msg and _send_receive_msg so that the params contain
  a data length rather than the size field. The size field itself needs
  to be set outside of these methods using payload->size.
- Since we test files smaller, equal, and bigger than one payload data
  length, I implemented that we send multiple read requests until we
  have the whole file and not just the first part.
- Additionally, I saw a lot of uninitialized warnings in valgrind, and
  got rid of them by adding a few zero initializations.
2021-11-26 15:50:28 -05:00
Silvan Fuhrer 42845d6c6e SITL configs VTOL/plane: improve SITL tuning a bit
remvoe some tecs params from configs that acutally lead to worse performance than defaults

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-26 09:24:23 -05:00
Silvan Fuhrer 3a9eef658c Commander: remove preflight check for transition switch
This check enforced setting a VTOL transition switch if an RC as used on a VTOL.
It comes from a time when the only way to transtion was through the RC switch,
whereas now we have also a mavlink message in place for it, so enforcing it is
no longer needed.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-26 11:37:40 +01:00
Daniel Agar fc1aaa58b2 sensors/vehicle_angular_velocity: fallback sensor selection improvements
- avoid unnecessary filter reset on parameter update
 - additional minor optimizations (precomputing dt inverse, etc)
 - moving filter reset check and dynamic notch filter update checks out of the update loops
     - this were necessary previously when the scale factor wasn't applied prior to filtering the otherwise raw data
2021-11-25 22:44:05 -05:00
PX4 BuildBot 2dffb04d61 Update submodule libevents to latest Fri Nov 26 00:39:17 UTC 2021
- libevents in PX4/Firmware (239f1c4eadc57f12b43b57d704bb80bc07a07841): https://github.com/mavlink/libevents/commit/5fd19be22dcbeaccb8afeba146f3a7c931a9b5fb
    - libevents current upstream: https://github.com/mavlink/libevents/commit/6329c909a7b16bb6f97c94cbb598815635b94982
    - Changes: https://github.com/mavlink/libevents/compare/5fd19be22dcbeaccb8afeba146f3a7c931a9b5fb...6329c909a7b16bb6f97c94cbb598815635b94982

    6329c90 2021-11-16 Beat Küng - python: pylint fixes
6251f65 2021-11-16 Beat Küng - events_generated.h.jinja: add '_max' field to generated enums
2021-11-25 21:37:59 -05:00
PX4 BuildBot ffc52cc2fc Update submodule mavlink to latest Fri Nov 26 00:39:19 UTC 2021
- mavlink in PX4/Firmware (2328402f99b8f8931e4148d033e0b9361407d485): https://github.com/mavlink/mavlink/commit/5309ba449a3dc6d7ad84fa7ebeb6deee040e4a04
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/28163a3b39ae6787e7f1fae9e23feef32506a1c4
    - Changes: https://github.com/mavlink/mavlink/compare/5309ba449a3dc6d7ad84fa7ebeb6deee040e4a04...28163a3b39ae6787e7f1fae9e23feef32506a1c4

    28163a3b 2021-11-25 Julian Oes - dev: add new message for component capability (#1724)
5534f76b 2021-11-24 olliw42 - adding some missing MAV_TYPEs (#1679)
2021-11-25 21:37:14 -05:00
Daniel Agar 51da169ccb cmake: nuttx apps build depend .c and .h files 2021-11-25 17:24:23 -05:00
Daniel Agar bf3f7da0a2 Jenkins: hardware restore tests file 2021-11-25 13:11:45 -05:00
Daniel Agar 7d985ec7c5 NuttX with Backports for SD fixes 2021-11-25 13:11:45 -05:00
Daniel Agar c049c26ac5 ROMFS: rcS attempt to format SD if .format file exists 2021-11-25 13:11:45 -05:00
Daniel Agar 585fa12209 Jenkins HIL improve SD testing 2021-11-25 13:11:45 -05:00
David Sidrane 58a9bf0b2e sd_bench:Add verify and keep options 2021-11-25 13:11:45 -05:00
Thomas Stastny 8defbc8829 update correct airsp scale param string in ekf2 2021-11-25 11:01:04 -05:00
Matthias Grob c5fb68b7a1 Commander: force disabling the arm stick gesture when arm switch is in use 2021-11-25 07:56:35 +01:00
David Sidrane e76dda545c hardfault_log:Fix formatting 2021-11-24 15:00:38 -05:00
Sander Swart 462b572172 Fixed mavlink_ftp read
Instead of always reading the max data length, it now properly respects the requested amount of bytes (as per documentation)
2021-11-24 17:51:29 +01:00
David Sidrane 8e3ee9f6cd omnibus_f4sd:Fit in Flash added No Help 2021-11-24 09:46:23 -05:00
David Sidrane b1b948f4bc modalai_fc-v2:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 6327953fe9 modalai_fc-v1:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 83885b0304 cuav_x7pro:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 48b617ee5e cuav_nora:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 2fb615d7e2 holybro_kakutef7:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 04df95436d holybro_pix32v5:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane c4ccde51df holybro_durandal-v1:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane daa1d76909 spracing_h7extreme:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 1922310404 matek_h743-slim:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 5b30d1cd41 av_x-v1:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane d30ef0cac8 atl_mantis-edu:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 511e87f966 mro_ctrl-zero-f7-oem:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 2799a7f436 mro_x21-777:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 5ff96fc77e mro_ctrl-zero-h7-oem:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane a097cb11cd mro_pixracerpro:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 0d203deb34 mro_ctrl-zero-f7:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 376e78b801 mro_ctrl-zero-h7:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane bbe0ed8646 cubepilot_cubeyellow:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane e34aacd520 cubepilot_cubeorange:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 228a0ac5ed px4_fmu-v6u:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 3f67ece322 px4_fmu-v5:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 53b579a79d px4_fmu-v5x:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane c391d6793c px4_fmu-v6x:Set CONFIG_MKFATFS_BUFFER_ALIGMENT=32 2021-11-24 09:46:23 -05:00
David Sidrane 3cf901b29c NuttX Apps with backport CONFIG_MKFATFS_BUFFER_ALIGMENT 2021-11-24 09:46:23 -05:00
Matthias Grob ea3b99e964 navigator: Remove deprecated RangeRTL unit tests 2021-11-24 14:10:24 +01:00
Matthias Grob c522a8b15a Compute RTL time and react if lower than flight time
- Compute RTL time also during RTL
- Calculate correct altitude when finding destination
2021-11-24 14:10:24 +01:00
Matthias Grob 5489005e0b Commander: call battery_status_check on update instead of early return 2021-11-24 14:10:24 +01:00
Beat Küng 5bec3004c3 omnibus/f4sd: disable RGBLED to reduce flash 2021-11-24 11:41:33 +01:00
Jukka Laitinen 5dbbddb13f EKF2: Use _distance_sensor_subs vector directly
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen b66270f8a8 Inline uORBDeviceNode::copy for performance improvement
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen 3f884c5d24 Inline deviceNodeExists and getDeviceNode in uORB DeviceMaster
This gives a small performance improvement

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen d9498ade32 EKF2: Allocate distance sensor subscriptions as member variables
Just create the subscriptions and keep them, instead of
re-creating them continuously

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen bb307cd462 Fix comparing orb_metadata in uORB::DeviceNode::publish
Don't compare pointers to metadata, but the metadata contents.

In protected/kernel build there are two sets of metadata, on on kernel
side and another in user side. Thus the comparison of pointers would just
always fail. Compare orb_id instead

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen 0b9505453d Clean up interfaces towards uORB
Proxy all calls to the DeviceNode through Manager;
- This hides the DeviceNode from publishers and subscribers
- Manager can be made an interface class between user and kernel spaces in protected build
- This doesn't increase code size or harm the performance on flat build

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Beat Küng 99d3b2a4e4 omnibus/f4sd: disable modules to reduce flash 2021-11-23 12:40:22 -05:00
Beat Küng db2a1e5fee px4/fmu-v2: disable modules to reduce flash 2021-11-23 12:40:22 -05:00
Beat Küng 950767f1af holybro/kakutefy: disable modules to reduce flash 2021-11-23 12:40:22 -05:00
Beat Küng 4c03def6e9 boards: add CONTROL_ALLOCATOR + ACTUATOR_TEST 2021-11-23 12:40:22 -05:00
Beat Küng 312d84ca23 metadata: run json schema validation for actuators + parameter metadata 2021-11-23 12:40:22 -05:00
Beat Küng 2809dd8944 control_allocator: remove min/max/scale params 2021-11-23 12:40:22 -05:00
Beat Küng b29d9db7f1 control_allocator: limit status publication rate to 200Hz
Reduces CPU load by ~3.5% on F4 @2khz.
And compute getAllocatedControl as needed (~1.5% CPU reduction)
2021-11-23 12:40:22 -05:00
Beat Küng 93a54ee63d metadata: fix generic param metadata generation
Adds the module.yaml params that was previously split into a separate file.
2021-11-23 12:40:22 -05:00
Beat Küng bcba3dfe52 control_allocator,angular_velocity_controller: run on rate_ctrl wq 2021-11-23 12:40:22 -05:00
Beat Küng a0e43bca96 msg: remove unused vehicle_actuator_setpoint topic 2021-11-23 12:40:22 -05:00
Beat Küng 52a2ef34fd mixer_module: add THR_MDL_FAC for SYS_CTRL_ALLOC=1 2021-11-23 12:40:22 -05:00
Beat Küng 357a16aca6 pwm_out_sim: split module.yaml into HIL+SIM files 2021-11-23 12:40:22 -05:00
Beat Küng b94c5db55d component_information: add actuators json generation & CI deployment 2021-11-23 12:40:22 -05:00
Beat Küng 70b1b19902 uavcan: add configuration parameter to actuator metadata 2021-11-23 12:40:22 -05:00
Beat Küng 19b89e1d35 output_functions: add notes to camera trigger + capture & exclude from testing 2021-11-23 12:40:22 -05:00
Beat Küng 4346ac4a37 control_allocator: add mixer metadata 2021-11-23 12:40:22 -05:00
Beat Küng 282d35bbf0 esc_calibration: handle SYS_CTRL_ALLOC==1 2021-11-23 12:40:22 -05:00
Beat Küng 490a2cd7ae dshot: handle VEHICLE_CMD_CONFIGURE_ACTUATOR 2021-11-23 12:40:22 -05:00
Beat Küng 21699935e8 vehicle_command: add VEHICLE_CMD_ACTUATOR_TEST and VEHICLE_CMD_CONFIGURE_ACTUATOR 2021-11-23 12:40:22 -05:00
Beat Küng 6fdcc43ea8 mixer_module: add testing for SYS_CTRL_ALLOC=1 with actuator_test cmd+uorb msg 2021-11-23 12:40:22 -05:00
Beat Küng 36296794c8 module config: add generate_actuators_metadata.py script 2021-11-23 12:40:22 -05:00
Beat Küng 36d9635518 output_functions.yaml: allow single-instance entry with 'start' but no 'count'
for other additional data
2021-11-23 12:40:22 -05:00
Beat Küng 5d6e785a4b mixer_module: remove unneeded test_motor_s force init 2021-11-23 12:40:22 -05:00
Beat Küng f99c2617ad control_allocator: add module.yaml, add CA_MC_R_COUNT param & update defaults 2021-11-23 12:40:22 -05:00
Beat Küng dbc889a2ae rc.mc_apps: remove 'param set MPC_USE_HTE 0' for control allocation
this is working now
2021-11-23 12:40:22 -05:00
Beat Küng 2ff6baa250 actuator params: use module_name as prefix to channel label 2021-11-23 12:40:22 -05:00
Beat Küng 6537f480b1 module.yaml: make long param description optional
Some params are very simple and don't need more.
2021-11-23 12:40:22 -05:00
Daniel Agar 1b7f4b6003 Jenkins HIL test loading all airframes 2021-11-23 12:38:41 -05:00
Matthias Grob 0153c870d2 Commander: make sure yaw airmode is not possible while arm gesture is enabled
It's unsafe to arm with the gesture when yaw airmode is enabled
because e.g. in Stabilized mode that results in a high yawrate setpoint
that the drone tries to follow even with zero thrust
because of the airmode.

It was handled before by checking the arm switch parameter because that
used to disable the stick arm gesture.
See 24dc316973
2021-11-23 16:03:46 +01:00
Matthias Grob 572890f8c0 ManualControl: add parameter to disable arm/disarm stick gesture 2021-11-23 16:03:46 +01:00
Matthias Grob 468022abba ManualControl: correct arm hysteresis parameter name 2021-11-23 16:03:46 +01:00
Matthias Grob c84b1c6566 ManualControl: ignore unassigned mode slots
They were resulting in a message
"Switching to Unkown is currently not available".
2021-11-23 16:03:46 +01:00
Jaeyoung-Lim af7fa63480 Remove kconfig-frontends installation from setup.sh 2021-11-23 15:17:00 +01:00
Silvan Fuhrer e596607e2e minor comments update
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-23 14:48:51 +01:00
Daniel Agar 7ff72304b4 sensors/vehicle_imu: improve disabled sensor handling
- remove regular callback scheduling when sensor is disabled, register if re-enabled
2021-11-22 21:10:35 -05:00
Daniel Agar 3140bf167c NuttX submodule update with work_usrthread.c fixes 2021-11-22 17:41:49 -05:00
Daniel Agar 1c6b1f7554 pwm_out: parameter failure error messages 2021-11-22 11:27:45 -05:00
Daniel Agar c95dbfd7ac boards: px4_fmu-v5_debug disable debug fs errors 2021-11-22 11:27:45 -05:00
Daniel Agar c2cbf74351 vscode: cmake variants add px4_fmu-v5_debug for convenient debugging 2021-11-22 11:27:45 -05:00
Daniel Agar 577d926639 commander: improve angular velocity validity and message 2021-11-22 11:27:45 -05:00
Daniel Agar f058cbd0e0 boards: px4_fmu-v5_debug disable CONFIG_DEBUG_I2C 2021-11-22 11:27:45 -05:00
Daniel Agar 25846f48c4 boards: px4_fmu-v2/v3 use SPI bus power off rather than full reset 2021-11-22 11:27:45 -05:00
Daniel Agar c4de9f67a1 Jenkins: HIL add simple reboot script that fails on any ERROR 2021-11-22 11:27:45 -05:00
PX4 BuildBot 643002bd86 Update submodule sitl_gazebo to latest Mon Nov 22 12:39:01 UTC 2021
- sitl_gazebo in PX4/Firmware (c73028bb1b): https://github.com/PX4/PX4-SITL_gazebo/commit/607aa4d990ff20b4f8a3a714043d116cf191f8b6
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/60d6844e17919e8d57aafb3a0c25064df920cfc3
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/607aa4d990ff20b4f8a3a714043d116cf191f8b6...60d6844e17919e8d57aafb3a0c25064df920cfc3

    60d6844 2021-11-16 wangwwno1 - Format: Remove extra spaces
e233c6d 2021-11-16 wangwwno1 - Enhance: fuse accel rotation
e8a7f89 2021-11-16 wangwwno1 - Fix: convert accel frame to local NED
2021-11-22 09:12:23 -05:00
PX4 BuildBot 88d9ade4d7 Update submodule mavlink to latest Mon Nov 22 12:39:21 UTC 2021
- mavlink in PX4/Firmware (0e4e8162407a12dc09c8d17635c60d4036b81bc7): https://github.com/mavlink/mavlink/commit/c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/5309ba449a3dc6d7ad84fa7ebeb6deee040e4a04
    - Changes: https://github.com/mavlink/mavlink/compare/c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2...5309ba449a3dc6d7ad84fa7ebeb6deee040e4a04

    5309ba44 2021-11-18 Hamish Willee - Remove backticks - these do not render as a style so not helpful (#1745)
9cac0e5a 2021-11-17 David Jablonski - docs: catch more hyperlinks (#1744)
ea9349b5 2021-11-16 David Jablonski - common: add SET_FOCUS_TYPE_AUTO (#1741)
2021-11-22 09:08:50 -05:00
Daniel Agar 8fc3b05491 mavlink: param_get proper type to silence errors 2021-11-22 09:08:38 -05:00
Daniel Agar cbb743c64d parameters: param type checking use PX4_ERR and enable in PX4_SITL 2021-11-22 09:08:25 -05:00
Beat Küng 7faaad79d0 generate_params.py: add PWM_AUX_* for boards w/o IO and >8 channels 2021-11-22 09:07:23 -05:00
Igor Mišić c73028bb1b iridiumsbd: discard all pending data for flow control enabled 2021-11-22 11:46:15 +01:00
Daniel Agar 7653bd1757 cmake fix NuttX config import for 0 values 2021-11-21 12:33:29 -05:00
wangwwno1 7a1a4ea7a6 Format fix & Remove redundant lines 2021-11-20 16:13:46 +01:00
wangwwno1 51ce8306ee Remove redundant code out of hil_lpos 2021-11-20 16:13:46 +01:00
wangwwno1 b2c5919d29 Update src/modules/simulator/simulator_mavlink.cpp
Co-authored-by: JaeyoungLim <jalim@ethz.ch>
2021-11-20 16:13:46 +01:00
wangwwno1 160fec5f25 Update simulator_mavlink.cpp 2021-11-20 16:13:46 +01:00
wangwwno1 6e2060ddb6 Add accel to vehicle_local_position_groundtruth
Related Issue: #18527 
According to [this doc](https://github.com/mavlink/c_library_v2/blob/92b1a43468e8737da2d4cc1e72304e6443dcfdd3/common/mavlink_msg_hil_state_quaternion.h#L102), the *acc value are mili-Gee, so multiply the value with `CONSTANT_ONE_G/1000.0f` would get the acceleration in `m/s`.
2021-11-20 16:13:46 +01:00
Daniel Agar 505f963dd0 mavlink: receiver fix SENS_FLOW_ROT type 2021-11-19 21:08:04 -05:00
Max Elfgen 7f5fa3d1f7 Using RTPS as a label resulted in the PX4 instance crashing. Removing the label fixed the problem. 2021-11-19 20:30:46 +01:00
Matthias Grob f912ee2c8b Commander: send out parachute MAVLink command when kill switch engaged 2021-11-19 17:15:04 +01:00
Matthias Grob 3193b554ca Add optional preflight check for healthy MAVLink parachute system 2021-11-19 17:15:04 +01:00
Matthias Grob 43c529f294 Add MAVLink parachute system heartbeat detection 2021-11-19 17:15:04 +01:00
Thomas Debrunner fb54324f56 gyro-fft: Disable asm-operand-widths warning on apple silicon. The warning is caused by unused functions only. As with compiling for x86, the functions containing assembly never get used, but since the apple silicon is also an ARM target, they trigger a warning. 2021-11-19 09:14:11 -05:00
Daniel Agar 24090b724c cmake: px4_add_module improve unity build dependencies to avoid unnecessary work 2021-11-19 09:13:07 -05:00
Matthias Grob 4c6621f6cf Commander: Allow arming a rover with the throttle stick in the middle 2021-11-19 10:10:32 +01:00
Jani Paalijarvi 02336acd61 Improve SPI bus implementation
Make possible to define chip-select pin for internal SPI.
By defining chip-select pin, it's possible to start specific SPI device only.
This allows to have several same type of sensors on the same bus with different orientation.
2021-11-19 07:47:18 +01:00
Matthias Grob 35d4986ea7 FlightTasks: remove updateFinalize() concept because it got obsolete 2021-11-18 19:12:44 -05:00
Matthias Grob 9eac0edbc0 FlightTaskAuto: remove generateSetpoints function, replace by implementation 2021-11-18 19:12:44 -05:00
Matthias Grob ece8fdddec FlightTaskAuto: simplify early setpoint preparation based on triplet type 2021-11-18 19:12:44 -05:00
dagar 9646b49b60 [AUTO COMMIT] update change indication 2021-11-18 13:58:53 -05:00
Daniel Agar bffd88ad81 ekf2: don't inhibit accel bias when not in air 2021-11-18 13:58:53 -05:00
Daniel Agar f3472385da sensors/vehicle_imu: fix accel/gyro learned bias calibration updates
- fix confusion between estimated bias and calibration offset when
saving after each flight
 - when the stable bias estiamte is retrieved during flight it's
immediately converted to a sensor offset and saved
 - fixes https://github.com/PX4/PX4-Autopilot/issues/18658
2021-11-18 10:00:26 -05:00
bresch fc155bc57e Ekf2Selector: declare filter unhealthy when high test ratio
Request a switch to another instance when the combined test ratio is too high.
2021-11-18 13:29:01 +01:00
bresch 43fb076828 AngularAcceleration: explicitly disable filter when cutoff <= 0 2021-11-18 09:25:47 +01:00
bresch 4a14a8bc7f AutoLineSV: Always publish a valid yaw setpoint
In MPC_YAW_MODE 3 (along trajectory), the flight task is asked to
produce a yaw setpoint. If the previous yaw value was NAN (e.g.: during
early takeoff), the setpoint should then be reset to the current
estimate.
2021-11-16 18:09:37 -05:00
bresch f751dd2242 FlightTask: set yaw_setpoint to NAN when yaw should not be controlled 2021-11-16 18:09:37 -05:00
bresch 2213343240 ft altitude: use longerThan to save a sqrt operation 2021-11-16 18:09:37 -05:00
bresch 394fa953b8 EKF: get status on yaw alignement in flight
1s after the in air mag reset is performed, the final yaw alignment is
complete and the yaw estimate can be used for yaw control.
2021-11-16 18:09:37 -05:00
Matthias Grob 2a5751233a FlightTasks: remove unused StraightLine library
It was meant as an example for an easy to use interface of a
motion primitive with a minimal implementation. But the implementation
is much worse than the jerk optimized trajectory. We rather
work on making it easier to use. #18390 was a first step towards that.
2021-11-16 18:08:27 -05:00
Daniel Agar e062f4fcf0 mavlink: ORBIT_EXECUTION_STATUS stream limit to 2 instances 2021-11-16 17:10:13 -05:00
Alessandro Simovic 7090e634cc mission_block: always accept yaw in MC takeoff 2021-11-16 12:35:16 -05:00
Beat Küng 0622cb8857 mavlink_ftp: disallow writes outside of /fs/microsd under NuttX
As these files are kept in RAM, it could just fill up the RAM.
2021-11-16 12:34:16 -05:00
Daniel Agar 4e8c234a55 ekf2: only save mag declination if changed 2021-11-16 12:33:48 -05:00
Daniel Agar 96bf3aa5d0 matrix: apply PX4 astyle 2021-11-16 12:30:51 -05:00
Daniel Agar ab07f5300b lib/matrix: delete unused and add testing to PX4 2021-11-16 12:27:14 -05:00
Daniel Agar 4a3d64f1d7 consume PX4/Matrix repository and preserve history 2021-11-16 12:24:19 -05:00
Daniel Agar 38516f7e9c delete matrix submodule 2021-11-16 12:20:57 -05:00
Matthias Grob b36dbf8de4 Remove AutoLineSmoothVel, merged into Auto 2021-11-16 10:08:47 +01:00
Matthias Grob 179b1cdf56 FlightTaskAuto: merge activate(), reActivate() and update() from FlightTaskAutoLineSmoothVel 2021-11-16 10:08:47 +01:00
Matthias Grob 51ebb0f294 FlightTaskAuto: move in helper methods from FlightTaskAutoLineSmoothVel 2021-11-16 10:08:47 +01:00
Matthias Grob aa376c5824 FlightTaskAuto: move in parameters from FlightTaskAutoLineSmoothVel 2021-11-16 10:08:47 +01:00
Matthias Grob 50e13f132f FlightTaskAuto: move in members from FlightTaskAutoLineSmoothVel 2021-11-16 10:08:47 +01:00
Matthias Grob 33e349d71e FlightTask: remove unused _time 2021-11-16 10:08:47 +01:00
PX4 BuildBot 4a66c8c4c4 Update submodule sitl_gazebo to latest Tue Nov 16 00:39:15 UTC 2021
- sitl_gazebo in PX4/Firmware (f5d9b01f5c): https://github.com/PX4/PX4-SITL_gazebo/commit/1c8c9197103e746a21f2d2d2c844dd2f7e2b036b
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/607aa4d990ff20b4f8a3a714043d116cf191f8b6
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1c8c9197103e746a21f2d2d2c844dd2f7e2b036b...607aa4d990ff20b4f8a3a714043d116cf191f8b6

    607aa4d 2021-11-15 Alexander Funke - Wind Plugin: Fixed typo in windGustVelocityMean. Closes #825, fixes #812 Fixed the typo in windGustVeloctiyMean to windGustVelocityMean, so that the parameter in the world file can be correctly read and the mean gust velocity properly set to the parameter's value.
2021-11-15 23:13:43 -05:00
PX4 BuildBot bfcd251a54 Update submodule mavlink to latest Tue Nov 16 00:39:28 UTC 2021
- mavlink in PX4/Firmware (2615146a0770ea416aa24dce70bd61845e45b939): https://github.com/mavlink/mavlink/commit/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2
    - Changes: https://github.com/mavlink/mavlink/compare/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd...c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2

    c3a4b52e 2021-11-14 olliw42 - use [value:] invalid attribute style (#1742)
5f353d79 2021-11-15 Hamish Willee - fix invalid attribute for arrays where first element sets as invalid (#1740)
b354af1c 2021-11-11 Beat Küng - add actuator test and configuration commands (#1738)
a8401492 2021-11-11 Beat Küng - Component information: add actuators (#1729)
2021-11-15 23:13:02 -05:00
Daniel Agar f5d9b01f5c NuttX build in place
- cmake NuttX build wrapper compile in place instead of copying source tree to build directory
    - slightly faster skipping necessary copying (depending on system)
    - allows debugging in place
    - easier to work directly in NuttX following official documentation
    - simplifies overall build which should make it easier to resolve any remaining NuttX dependency issues in the build system
 - the downside is switching back and forth between different builds always require rebuilding NuttX, but I think this is worth the improved developer experience
 - also no longer builds px4io and bootloader in every single build, for most users these rarely change and we're wasting a lot of build time
2021-11-15 18:47:38 -05:00
Daniel Agar 7b7b7acd36 i2c_spi_buses: respect CONFIG_I2C and CONFIG_SPI
- bmp280, dps310, and ms5611 barometers support boards without I2C
2021-11-15 15:57:33 -05:00
Daniel Agar eade2915c1 cleanup old parameter translation 2021-11-15 10:01:22 -05:00
Matthias Grob 91c48606ee battery_status: clearly define and handle zero remaining flight time 2021-11-15 15:44:02 +01:00
Matthias Grob 73287e8e8c battery: compute remaining flight time 2021-11-15 15:44:02 +01:00
Matthias Grob 54f2e91775 battery_status: report remaining flight time in seconds
This allows more accurate reporting and is compliant with the
MAVLink interface.
2021-11-15 15:44:02 +01:00
Beat Küng 4ba84d56c9 logger: introduce optional topics
The current practice of adding topics to the default set isn't scalable,
as it affects all setups.
By making sure topics are advertised on init, logger can just discard
topics that don't exist. This does not work for all topics, so topics are
specifically marked as optional. It can be extended to more topics later
on though.

This reduces the list of topics by ~35 on a pixracer configured as quad,
and reduces RAM usage by ~1KB.
2021-11-15 09:02:03 -05:00
Daniel Agar 177fe4bade logger: log write file allow single retry on write failure 2021-11-13 20:32:29 +01:00
alexklimaj 333629ce37 Update Broadcom AFBR to v1.3.5 API 2021-11-13 12:05:08 -05:00
RomanBapst 439400f76e commander: don't ack gimbal commands
- this leads to an unnecessary amount of acks which can in turn overflow
the orb queue

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-13 11:59:28 -05:00
Daniel Agar 3cb286abc8 gyro_calibration: reset on any sensor timeout 2021-11-13 10:15:25 -05:00
Daniel Agar 29b9e46664 mavlink_tests: add correct mavlink_c_generate dependency 2021-11-12 13:43:32 -05:00
kevindsp 17ad7071c3 fix the quaternion normalization issue
Be course of the numerical computing error . The normalization of the quaternion can't always equal to 1 precisely. It could occasionally trigger the error"attitude estimate no longer valid". So enlarge the threshold to 1e-6f. That keeps it silence.
2021-11-12 16:31:40 +01:00
Daniel Agar 6a60fba96d boards: holybro_kakutef7_default remove systemcmds/ver to save flash 2021-11-11 11:17:15 -05:00
Daniel Agar 0ec3f0d2cb mathlib: LowPassFilter2p update cutoff freq min to match NotchFilter
- numerically the cutoff frequency not being smaller than 1% of the
sample frequency is probably a better choice, but we're mostly filtering
16 bit data now stored in 32 bit float
2021-11-11 11:17:15 -05:00
Daniel Agar 0d171384b3 update IMU_GYRO_DNF_BW default 8->15 Hz
- dshot telemetry feedback can be quite slow (~2 Hz), so I think a
larger default value here makes sense
2021-11-11 11:17:15 -05:00
Daniel Agar 452f15e985 IMU_GYRO_DNF_EN remove from developer category 2021-11-11 11:17:15 -05:00
Daniel Agar 0e2ecdc59a sensors/vehicle_angular_velocity: perf counter naming consistentcy 2021-11-11 11:17:15 -05:00
Daniel Agar c60a9e2981 sensors/vehicle_angular_velocity: avoid unnecessary ESC notch filter resets 2021-11-11 11:17:15 -05:00
Daniel Agar 78436e706c mathlib: NotchFilter add optimized parameter update if only notch frequency changes 2021-11-11 11:17:15 -05:00
Daniel Agar edce30c6de sensors/vehicle_angular_velocity: fix ESC RPM notch filter update 2021-11-11 11:17:15 -05:00
Daniel Agar 376b72fb2f sensors/vehicle_angular_velocity: add new parameter for ESC RPM notch filter BW 2021-11-11 11:17:15 -05:00
Viktor Vladic 02709fcfab Fixes for MPU6000 and MatekH743-slim board
- MPU6000: Added 10us delay for R/W of slow registers
 - Board: Fixed DRDY pin from PB1 to PB2
2021-11-11 08:40:41 -05:00
Beat Küng fdf8461452 ver: print PX4_BOARD_LABEL for 'ver all' 2021-11-11 08:38:42 -05:00
Matthias Grob dbacdedad1 Remove FlightTaskAutoMapper, merged into AutoLineSmoothVel 2021-11-11 09:14:49 +01:00
Matthias Grob a94c61b896 FlightTaskAutoMapper: move parameters into FlightTaskAutoLineSmooth 2021-11-11 09:14:49 +01:00
Matthias Grob 59a395f6a0 FlightTaskAutoMapper: move remaining members into FlightTaskAutoLineSmooth 2021-11-11 09:14:49 +01:00
Matthias Grob f5183348a6 FlightTaskAutoMapper: move remaining methods into FlightTaskAutoLineSmooth 2021-11-11 09:14:49 +01:00
Matthias Grob 0211ef3ba1 FlightTaskAutoMapper: move update() into FlightTaskAutoLineSmooth 2021-11-11 09:14:49 +01:00
Matthias Grob 1cef2ad196 FlightTaskAutoMapper: merge activate() into FlightTaskAutoLineSmooth 2021-11-11 09:14:49 +01:00
wsolichin e9d50b853a Adding MAVLink message stream of GPS_RTCM_DATA 2021-11-10 21:15:01 -05:00
David Lechner d61f5d3d7b mavlink: fix forwarding to target id >= 128
The _MAV_PAYLOAD macro casts the value to a char*. Some compilers treat
char as signed, so we were getting negative system and component ids
if the id was >= 128. This caused later comparisons to fail which
resulted in messages not being forwarded.
2021-11-10 21:14:21 -05:00
Daniel Agar 374d44f38f mavlink: tests add git_mavlink_v2 dependency to avoid build race 2021-11-10 14:06:40 -05:00
PX4 BuildBot e0a9ceb2cb Update submodule mavlink to latest Wed Nov 10 12:39:06 UTC 2021
- mavlink in PX4/Firmware (74a33bad350857b6a7dcfe2a6745e8283baa2ce4): https://github.com/mavlink/mavlink/commit/3718ee300bef7a8e7a25314e25e03c11d9f0b180
    - mavlink current upstream: https://github.com/mavlink/mavlink/commit/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd
    - Changes: https://github.com/mavlink/mavlink/compare/3718ee300bef7a8e7a25314e25e03c11d9f0b180...0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd

    0a728aa8 2021-11-10 Julian Oes - common: request multiple CAMERA_IMAGE_CAPTURED (#1735)
2021-11-10 14:00:28 -05:00
Daniel Agar 5e3701a365 Tools/check_submodules.sh: perform submodule sync again after first update to reach nested submodules 2021-11-10 13:52:51 -05:00
Jukka Laitinen be1023f5e9 smbus_sbs: Define linker language for a header-only library
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-10 09:27:21 -05:00
Jukka Laitinen d02a10b20f Remove src/lib/drivers/accelerometer and gyroscope linking to drivers__device
These are pure uORB publishers, they don't link to drivers__device.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-10 09:26:36 -05:00
Matthias Grob dd05cb3496 FlightTaskManualPosition: simplify optical flow limiting logic 2021-11-09 21:47:06 -05:00
Claudio Micheli 10e329ce9e mc_pos_control: correct MPC_XY_CRUISE description
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-11-09 21:47:06 -05:00
Matthias Grob 7ec8dd9d23 vehicle_constraints: remove deprecated speed_xy constraint 2021-11-09 21:47:06 -05:00
Jukka Laitinen 356de6ccf1 Factor cdc_acm_init away from px4_init
In protected build, this needs to go to user-space initialization as it
calls apps (sercon) and launches mavlink.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-09 21:28:28 -05:00
Jukka Laitinen 39c0c68167 print_load: Remove reference to CONFIG_MAX_TASKS
This is already removed from nuttx, and in posix the size of s->last_times
can be just checked with sizeof()

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-09 21:25:10 -05:00
Jukka Laitinen 9299a5c3f6 hrt: Add interface functions for latency counters
Add interface functions for fetching latency buckets and counters and use
those in perf_counter.cpp. This cleans up the usage of perf counters, when variables defined in hrt_drv are not referenced directly from perf.

This also enables implementing kernel-userspace interface for those for
nuttx protected/kernel build.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-09 21:24:25 -05:00
Jukka Laitinen da51177382 Don't link sensors module to drivers__device
sensors module only works on uORB, it doesn't link to drivers__device

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-09 12:18:49 -05:00
Matthias Grob ab9b9b1eac boards: Add manual_control module to newly added boards 2021-11-09 16:36:42 +01:00
bresch d47f9f155a MC mixer: replace multirotor_motor_limits by control_allocator_status
CA: fix saturation computation
Since the CA matrix is normalized, the same scale applied to be used when using the effectiveness matrix

MCRateControl: use control_allocator_status to get saturation info
2021-11-09 10:35:10 -05:00
Jaeyoung-Lim dd83ef1813 Fix fw position controller takeoff
This was introduced by a rebase
2021-11-09 10:30:28 -05:00
Matthias Grob 00905973c7 boards/kakutef7: remove dmesg to save flash 2021-11-09 16:05:25 +01:00
Matthias Grob 4aa0756d08 ManualControlSelector: correct parameter for any source according to documentation 2021-11-09 16:05:25 +01:00
Matthias Grob fabf865411 Use backwards compatible manual_control_setpoint instead of manual_control_input 2021-11-09 16:05:25 +01:00
Matthias Grob 423aadcc4f ManualControl: fix RC override 2021-11-09 16:05:25 +01:00
Matthias Grob 7e4a079e09 Commander: report when RC selected mode is not available 2021-11-09 16:05:25 +01:00
Matthias Grob a593a51f05 Commander: fix mode initialization with RC 2021-11-09 16:05:25 +01:00
Matthias Grob 9f17f3b0f3 ManualControl: correct source for RC mode switches without mode slot 2021-11-09 16:05:25 +01:00
Matthias Grob 21739c6937 MulticopterRateControl: Add event for landing gear retraction when landed 2021-11-09 16:05:25 +01:00
Matthias Grob 2b29df06fd ManualControl: avoid scheduling based on unchosen input 2021-11-09 16:05:25 +01:00
Matthias Grob 48869ed03e ManualControl: Simplify check if switches updated 2021-11-09 16:05:25 +01:00
Matthias Grob 38ab7e6ab9 Commander: separate function for action request execution 2021-11-09 16:05:25 +01:00
Matthias Grob 820ba07d4b Fix landing gear processing 2021-11-09 16:05:25 +01:00
Matthias Grob 0a02d8e774 Commander: handle denying disarm when not landed centrally 2021-11-09 16:05:25 +01:00
Matthias Grob af54ac7cdb ManualControl: remove unused variables and renaming 2021-11-09 16:05:25 +01:00
Matthias Grob e73e6a490d ManualControl: separate function for stick arming 2021-11-09 16:05:25 +01:00
Matthias Grob a349dae760 Use action_request to command RC VTOL transitions 2021-11-09 16:05:25 +01:00
Matthias Grob dcd26bd2b8 Commander: fix "Manual control lost" showing double in QGC
because of the missing tab in the deprecated message.
2021-11-09 16:05:25 +01:00
Matthias Grob 956997eb1e Replace arm_request and mode_request with combined action_request
Which saves flash space, log size and is extensible to handle e.g.
the VTOL transition and future actions.
2021-11-09 16:05:25 +01:00
Matthias Grob 052e29267d Use mode_request for RC mode switching 2021-11-09 16:05:25 +01:00
Matthias Grob f8e4846851 Use arm_request for manual killing 2021-11-09 16:05:25 +01:00
Matthias Grob af607e3040 Use separate arm_request instead of vehicle_command for RC arming 2021-11-09 16:05:25 +01:00
Matthias Grob c4473bdab7 ManualControl: clean up arm/disarm gesture 2021-11-09 16:05:25 +01:00
Matthias Grob 48ed350b25 ManualControlSelector: simplification refactoring
- clang tidy did't like {bool} == true in a condition
- setpoint_from_input() got small enough ot just put in line
2021-11-09 16:05:25 +01:00
Matthias Grob cc2ec09659 ManualControl: fix arm button logic during testing
The latching logic has to be different than for the arm switch
this difference got lost in the rewrite of the old obfuscated
arming trigger logic.
2021-11-09 16:05:25 +01:00
Matthias Grob 0901b73f50 ManualControlSelector: rename functions and validate chosen inputs all the time 2021-11-09 16:05:25 +01:00
Matthias Grob 28a29ad050 ManualControlSelector: revamp logic to switch when configuration is changed 2021-11-09 16:05:25 +01:00
Matthias Grob 05946ff0c6 mavlink_receiver: remove unused start_helper declaration 2021-11-09 16:05:25 +01:00
Matthias Grob 7a2ef4a917 Commander: don't publish RC_IN_MODE to vehicle_status
This just contains the content of the parameter which
is redundant and results in multiple sources of truth.
2021-11-09 16:05:25 +01:00
Matthias Grob fff2de43a5 commander_params: update description based on ManualControlSelector 2021-11-09 16:05:25 +01:00
Matthias Grob 396bab52ad ManualControlSelector: refactor selection to chose based on a single condition 2021-11-09 16:05:25 +01:00
Matthias Grob 1bd786c71a ManualControlSelector: don't invalidate existing setpoint with other invalid input 2021-11-09 16:05:25 +01:00
Matthias Grob e15f6b27f2 ManualControlSelector: copy manual_control_input struct instead of each individual field 2021-11-09 16:05:25 +01:00
Matthias Grob 63ddb050ef ManualControlSelector: refactor timeout calculation to be consistent 2021-11-09 16:05:25 +01:00
Matthias Grob 2528e8c572 ManualControl: correct calculation of dt in seconds 2021-11-09 16:05:25 +01:00
Matthias Grob 12bb2de175 state_machine_helper: rever explicitly handling unavaialble mission
It was already handled by the existing condition.
2021-11-09 16:05:25 +01:00
Matthias Grob 4dc165efd0 Commander: don't retry to reach the desired_main_state if we reached it 2021-11-09 16:05:25 +01:00
Matthias Grob d48302c841 Commander: send out manual control lost event 2021-11-09 16:05:25 +01:00
Matthias Grob 93bed7f670 vehicle_command: shorten arming action/origin enum names 2021-11-09 16:05:25 +01:00
Matthias Grob 709c909929 commander_params: correct RC override description 2021-11-09 16:05:25 +01:00
Julian Oes b3a5072de5 commander/manual_control: use msg enum for params
Instead of using a private enum class we should define the enum in the
vehicle_command message and then use it consistently.
2021-11-09 16:05:25 +01:00
Julian Oes f1b1068824 commander: remove unused mode/main_state methods
With the previous changes these seem no longer required.
2021-11-09 16:05:25 +01:00
Julian Oes 42af44700b mc_rate_control: always allow landing gear control
Except of course when landed and we try to put it up.
2021-11-09 16:05:25 +01:00
Julian Oes 486a4b0118 mavlink: reduce calls to hrt_absolute_time 2021-11-09 16:05:25 +01:00
Julian Oes 454aa611ae manual_control: add missing 7 2021-11-09 16:05:25 +01:00
Julian Oes 2c0fc686a7 manual_control: don't accept outdated input 2021-11-09 16:05:25 +01:00
Julian Oes 4d00a56230 manual_control: method can be static 2021-11-09 16:05:25 +01:00
Julian Oes 6027398459 manual_control: handle invalid rc_in_mode 2021-11-09 16:05:25 +01:00
Julian Oes 50cca204d8 manual_control: add check for instance 2021-11-09 16:05:25 +01:00
Julian Oes 963d15eacc manual_control: use correct sysid/compid 2021-11-09 16:05:25 +01:00
Julian Oes cfdb53a4d8 manual_control: don't switch gear on first init
This will ignore the first transition from NONE to something.
This matches the behaviour that existed before.
2021-11-09 16:05:25 +01:00
Julian Oes 60de330f18 manual_control: add hysteresis for arm button back 2021-11-09 16:05:25 +01:00
Julian Oes 75209a7552 manual_control: address review comments 2021-11-09 16:05:25 +01:00
Matthias Grob 942eb23248 ManualControlSelector: remove commented stick difference filter draft 2021-11-09 16:05:25 +01:00
Matthias Grob 11a46d3d27 ManualControlSelectorTest: add constantly outdated samples case
Reviewing the code I saw this case arising from the order things
get checked.
2021-11-09 16:05:25 +01:00
Julian Oes 39282a795f manual_control: fix tests 2021-11-09 16:05:25 +01:00
Julian Oes 53bd254502 commander: add valid check
Better checking once too much than once too little.
2021-11-09 16:05:25 +01:00
Julian Oes efd8757fda manual_control: handle NAN 2021-11-09 16:05:25 +01:00
Julian Oes 374c9f38a7 manual_control: use constrain() instead 2021-11-09 16:05:25 +01:00
Julian Oes 2a41ade223 manual_control: update first, get diff after
Not sure why I had this the wrong way round.
2021-11-09 16:05:25 +01:00
Julian Oes d0fea93d72 manual_control: add reset to diff
This should prevent triggering user override right after RC re-appears.
2021-11-09 16:05:25 +01:00
Julian Oes 93c505b163 commander: force arming is not an option from RC 2021-11-09 16:05:25 +01:00
Julian Oes 4a5ef1c81e ROMFS: whitespace 2021-11-09 16:05:25 +01:00
Julian Oes 6a6b8d49fc msg: re-use manual_control_input in setpoint
This way we avoid duplication between manual_control_input and
manual_control_setpoint.
2021-11-09 16:05:25 +01:00
Julian Oes baf81abbab msg: whitespace only 2021-11-09 16:05:25 +01:00
Julian Oes 14cfad74bf manual_control: remove leftover debug statements 2021-11-09 16:05:25 +01:00
Julian Oes 5ae76bdc17 commander: fix potentially wrong user message 2021-11-09 16:05:25 +01:00
Julian Oes bd0c1014d9 manual_control: support arming button
The arming button required some refactoring in order to support to
toggle arm/disarm using the vehicle_command. Otherwise manual_control
would have to subscribe to the arming topic and we would spread out the
logic again, and risk race conditions.
2021-11-09 16:05:25 +01:00
Julian Oes 9cbfa2ca95 manual_control: ORBIT and PRECLAND not supported
ORBIT and PRECLAND are not actually possible on the flight mode switch.
2021-11-09 16:05:25 +01:00
Julian Oes 2e9edfcd89 commander: only override according to param
This got lost in the refactor earlier.
2021-11-09 16:05:25 +01:00
Julian Oes 56b2b81600 manual_control: use filter to check user override
Instead of only looking at the diff between two RC samples to decide
whether a user wants to override, we now look at the filtered diff over
one second. This should be more robust to RC sent at various or varying
rates.
2021-11-09 16:05:25 +01:00
Julian Oes 97d01f200e commander: move manual_control and switches out
This moves the remaining handling of the manual control stuff out
of commander. All communication between manual control now goes through
vehicle commands, and the landing gear topic.
2021-11-09 16:05:25 +01:00
Julian Oes e49b596edc commander: add desired main state
This is an intermediate solution to carry forward the initial state of
the mode slot. Basically, it allows that we start up in Stabilized but
switch to POSCTL as soon we have the required GPS.
2021-11-09 16:05:25 +01:00
Julian Oes b6af068f25 commander: always reset posvel validity
I assume reseting posvel validity is ok for any case, not just all cases
except manual, acro, stabilized.
2021-11-09 16:05:25 +01:00
Julian Oes 52563264e6 commander: move valid mission check inside
I think it makes more sense to move this check inside of
main_state_transition.
2021-11-09 16:05:25 +01:00
Julian Oes 916ffef04c manual_control: send initial mode in the beginning
In order for commander to know the desired mode we need to send the
initial position of the mode slot.
2021-11-09 16:05:25 +01:00
Julian Oes a91fa7f3c1 commander: only move to POSCTL when armed
I don't think we want to switch to POSCTL when the sticks are moved when
armed.
2021-11-09 16:05:25 +01:00
Julian Oes 66b069e788 commander: move main_state_transition out
This is a first step to having a desired main state.
2021-11-09 16:05:25 +01:00
Julian Oes e2e908d0fc mavlink: remove unused methods 2021-11-09 16:05:25 +01:00
Julian Oes 97aa06cc19 commander: move switch handling to manual_control 2021-11-09 16:05:25 +01:00
Julian Oes 08e58a44e9 Fix style 2021-11-09 16:05:25 +01:00
Julian Oes 71d6aa913d manual_control: starting to implement switches 2021-11-09 16:05:25 +01:00
Julian Oes ac121c676a commander: check for valid flag for manual_control 2021-11-09 16:05:25 +01:00
Julian Oes cda6524421 manual_control: move override detection
This also removes the option to ignore throttle for the override
detection as it's not really required anymore.
2021-11-09 16:05:25 +01:00
Julian Oes 1c15cc11d8 manual_control: implement (dis)arming via command 2021-11-09 16:05:25 +01:00
Julian Oes 8876af9150 manual_control: add instance to selector
This instance is then used to schedule the callback for the
subscription.
2021-11-09 16:05:25 +01:00
Julian Oes 14eb656a59 rc_update: use snake_case for namespace name 2021-11-09 16:05:25 +01:00
Julian Oes 6e8ccf6a45 rc_update: rename update method
This reflects better what it actually does.
2021-11-09 16:05:25 +01:00
Julian Oes 723db8bf2a manual_control: add selector class [WIP]
This adds a selector class with unit tests.
The idea is to have a valid flag in manual_control_septoint and set that
according to the selection and/or timeout of manual_control_inputs.
2021-11-09 16:05:25 +01:00
Julian Oes eeb7682fd9 ROMFS: start manual_control for SITL 2021-11-09 16:05:25 +01:00
Daniel Agar 2d816e0b3e [WIP] manual_control selector hacks 2021-11-09 16:05:25 +01:00
Daniel Agar e18cf3da3e sensors/vehicle_imu: use WelfordMean for online mean and variance 2021-11-09 15:19:35 +01:00
Daniel Agar a8c3bcca32 boards: disable CONFIG_STM32H7_SPI_DMATHRESHOLD 2021-11-08 19:20:47 -05:00
Daniel Agar cb34ff1292 posix-configs/SITL/init/test/test_imu_filtering enable gyro dynamic notch filtering by default 2021-11-08 19:14:32 -05:00
Daniel Agar e0d9ccdc18 sensors/vehicle_angular_velocity: small FFT notch update simplification 2021-11-08 19:14:32 -05:00
Daniel Agar 47afab62e7 gyro_fft: limit noise floor to configured range (IMU_GYRO_FFT_MIN/MAX) 2021-11-08 19:14:32 -05:00
Daniel Agar dd3e0b723a gyro_fft: add IMU_GYRO_FFT_SNR parameter 2021-11-08 19:14:32 -05:00
Matthias Grob 6fab6242db setup/python requirements: add future module
which is a requirement for MAVLink header generation.
Found on Ubuntu 20.04 Python 3.
2021-11-08 17:05:30 +01:00
Silvan Fuhrer b216cddf49 state_machine_helper: add place holder in array nav_state_names for removed LANDGPSFAIL mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-08 13:42:55 +01:00
JaeyoungLim 031f7f831b Fixedwing Pos Control: Handle vehicle transition waypoints outside controllers (#18503)
* Handle VTOL transition waypoints outside FW auto control modes
2021-11-08 11:21:08 +01:00
Daniel Agar 66ab7e50df github actions increase NuttX compile ccache limit slightly 2021-11-07 20:37:58 -05:00
Daniel Agar 3b68f8e510 Tools/check_submodules.sh revert attempted submodule improvements
- this wasn't helping break out of submodule issues
2021-11-07 20:36:47 -05:00
Daniel Agar 4627f5514e boards: holybro_kakutef7_default disable load_mon to save flash 2021-11-07 20:36:47 -05:00
Jaeyoung-Lim 6a2ebfc0cc Handle setpoint types properly for fixedwing position control
Handle setpoint types properly for fixedwing position control
2021-11-07 19:21:00 -05:00
Daniel Agar f43adaeeb5 Tools/check_submodules.sh disable parallel jobs
- this is already run separately for each submodule (potentially in parallel)
2021-11-07 18:12:30 -05:00
Silvan Fuhrer dbd9b88bea FW position controller: only allow switching to AUTO_ALTITDUE or AUTO_CLIMBRATE if pos_sp_curr_valid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-07 23:31:21 +01:00
Daniel Agar 2f8cb5a1c2 mavlink: initial support for MAG_CAL_REPORT stream 2021-11-07 16:03:34 -05:00
Daniel Agar 24b00317b5 Tools/check_submodules.sh attempt update before sync to handle changes 2021-11-07 16:00:13 -05:00
Viktor Vladic 5b3e1a2347 boards: add MatekH743-slim support 2021-11-07 15:39:50 -05:00
JaeyoungLim cda7c6ceaa Enable offboard actuator setpoints 2021-11-07 15:38:42 -05:00
Guilherme Lawless 47a191489e cmake: sitl_gazebo build use memory information from the system to estimate the parallel jobs
Using cmake_host_system_information, grabs AVAILABLE_PHYSICAL_MEMORY and adds another job for every 1.5GB of available memory.

This is tested on a single system with 16 logical cores and 16GB RAM (~11.5GB available, reported correctly by cmake).
2021-11-07 15:37:48 -05:00
Daniel Agar 68026eadeb save significant IMU bias changes learned by the EKF
* ekf2: make publishing of learned accel biases more robust
* ekf2: reset accel bias if calibration updated
* msg: add separate accel and gyro calibration counters
* ekf2: use separate accel and gyro calibration counters
* ekf2: rework logic to reset biases when calibration counters increment
* sensors: add saving of learned accel biases
* ekf2: generalized saving accel/gyro/mag in flight sensor calibration
* boards: holybro kakutef7 disable systemcmds/perf and systemcmds/top to save flash

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2021-11-07 15:34:27 -05:00
Jacob Crabill 5969508fa7 mavlink: cmake generate mavlink headers at build time
- mavlink/mavlink is now directly included as a submodule instead of the generated mavlink/c_library_v2
 - this also switches to mavlink development.xml by default
2021-11-05 23:01:38 -04:00
Julian Oes 88489ae8bd mavlink: Check target for mavlink shell
The SERIAL_CONTROL MAVLink message now contains a target_system and
target_component field that we should check.

Without this we might be answering to a command on the network that is
meant for another system.
2021-11-05 23:48:44 +01:00
David Sidrane 96101a9c11 NuttX backports of imxrt dcache fixes to support WB & USB 2021-11-05 13:50:02 -04:00
David Sidrane af6bedaded nxp_fmurt1062:Needs pwm_out 2021-11-05 13:50:02 -04:00
David Sidrane ff43923567 nxp_fmurt1062-v1:Use Write Back Dcache 2021-11-05 13:50:02 -04:00
David Sidrane dedad87e82 nxp_fmurt1062-v1:Force no no-unaligned-access
This results in a load saving (no dcache) of 16.82% at a cost
  of 0.03% Flash, .07% XIP Flash and .45% SRAM

Forced Alighment

With: -mno-unaligned-access

Memory region         Used Size  Region Size  %age Used
           flash:      606568 B         7 MB      8.26%
        flashxip:      622920 B         1 MB     59.41%
            sram:      640848 B       856 KB     73.11%
            itcm:          0 GB         0 GB
            dtcm:          0 GB       128 KB      0.00%

 PID COMMAND                   CP
   0 Idle Task                   87640 20.047   204/  748   0 (  0)  READY  3
   1 hpwork                          0  0.000   332/ 1784 249 (249)  w:sig  3
   2 lpwork                         26  0.008   780/ 1616  50 ( 50)  w:sig  4
   3 init                            0  0.000  1980/ 2928 100 (100)  w:sem  3
   4 wq:manager                      0  0.000   508/ 1256 255 (255)  w:sem  4
 327 navigator                     910  0.204  1124/ 1832 105 (105)  READY  6
  23 wq:lp_default                3479  0.795  1252/ 1920 205 (205)  READY  4
  30 wq:hp_default               23554  5.415  1332/ 1904 237 (237)  READY  4
  47 dataman                         0  0.000   820/ 1208  90 ( 90)  w:sem  4
  57 wq:I2C1                     26849  6.190  1060/ 2336 246 (246)  w:sem  4
  60 wq:I2C2                     24045  5.440   732/ 2336 245 (245)  w:sem  4
  86 wq:SPI1                     47127 10.804  1352/ 2336 253 (253)  w:sem  4
  91 wq:I2C3                      1935  0.436   980/ 2336 244 (244)  w:sem  4
 101 wq:SPI3                      6932  1.585  1028/ 2336 251 (251)  w:sem  4
 237 wq:nav_and_controllers      16743  3.832  1236/ 2240 242 (242)  w:sem  4
 248 wq:rate_ctrl                 9008  2.074  1572/ 1952 255 (255)  w:sem  4
 250 wq:INS0                     37182  8.450  4372/ 6000 241 (241)  w:sem  4
 264 commander                   29395  6.732  1260/ 3224 140 (140)  READY  5
 287 mavlink_if0                 60513 13.828  1876/ 2728 100 (100)  READY  4
 294 mavlink_rcv_if0              5946  1.387  1292/ 4560 175 (175)  READY  4
 307 wq:UART5                     3345  0.770   844/ 1632 229 (229)  READY  4
 370 log_writer_file                 0  0.000   372/ 1176  60 ( 60)  w:sem  3
 369 logger                       2121  0.484  2468/ 3648 230 (230)  READY  3
 393 top                         37523  8.641  3060/ 4080 237 (237)  RUN    3

Processes: 24 total, 10 running, 14 sleeping
CPU usage: 77.08% tasks, 2.87% sched, 20.05% idle
DMA Memory: 5120 total, 1024 used 1024 peak
Uptime: 441.946s total, 87.640s idle

Allow Un-Alighment
With Out: -mno-unaligned-access
Memory region         Used Size  Region Size  %age Used
           flash:      604008 B         7 MB      8.23%   8.26%    +0.03

        flashxip:      622240 B         1 MB     59.34%  59.41%    +0.07
            sram:      636752 B       856 KB     72.64%  73.11%    +0.45
            itcm:          0 GB         0 GB
            dtcm:          0 GB       128 KB      0.00%  0.00%

 PID COMMAND                   CPU(ms) CPU(%)  USED/STACK PRIO(BASE) STATE FD
   0 Idle Task                    2418  3.190   264/  748   0 (  0)  READY  3
   1 hpwork                          0  0.000   332/ 1784 249 (249)  w:sig  3
   2 lpwork                         12  0.004   852/ 1616  50 ( 50)  w:sig  3
   3 init                            0  0.000  1932/ 2928 100 (100)  w:sem  3
   4 wq:manager                      0  0.000   548/ 1256 255 (255)  w:sem  4
 327 navigator                      22  0.203  1052/ 1832 105 (105)  READY  6
  23 wq:lp_default                  83  0.743  1252/ 1920 205 (205)  READY  4
  30 wq:hp_default                 637  5.886  1332/ 1904 237 (237)  READY  4
  47 dataman                         0  0.000   820/ 1208  90 ( 90)  w:sem  4
  57 wq:I2C1                       162  1.063  1060/ 2336 246 (246)  w:sem  4
  60 wq:I2C2                        98  0.500   732/ 2336 245 (245)  w:sem  4
  86 wq:SPI1                      1166 10.771  1352/ 2336 253 (253)  w:sem  4
  91 wq:I2C3                        48  0.437  1060/ 2336 244 (244)  w:sem  4
 101 wq:SPI3                       178  1.653  1028/ 2336 251 (251)  w:sem  4
 237 wq:nav_and_controllers        410  3.781  1324/ 2240 242 (242)  w:sem  4
 248 wq:rate_ctrl                  222  2.050  1572/ 1952 255 (255)  w:sem  4
 250 wq:INS0                       940  8.691  4372/ 6000 241 (241)  w:sem  4
 264 commander                     753  6.475  1472/ 3224 140 (140)  READY  5.03
 287 mavlink_if0                  1440 13.973  1780/ 2728 100 (100)  READY  4
 294 mavlink_rcv_if0               139  1.304  1276/ 4560 175 (175)  READY  4
 307 wq:UART5                       83  0.785   828/ 1632 229 (229)  READY  4
 370 log_writer_file                 0  0.000   372/ 1176  60 ( 60)  w:sem  3
 369 logger                         54  0.493  2468/ 3648 230 (230)  READY  3
 393 top                          1053 10.015  3060/ 4080 237 (237)  RUN    3
 396 mavlink_rcv_if1               166  1.608  1380/ 4560 175 (175)  READY  4
 395 mavlink_if1                  2167 23.459  1812/ 2824 100 (100)  READY  4

Processes: 26 total, 12 running, 14 sleeping
CPU usage: 93.90% tasks, 2.91% sched, 3.19% idle     77.08% tasks, 2.87% sched, 20.05% idle -16.82%
DMA Memory: 5120 total, 1024 used 1024 peak
Uptime: 18.242s total, 2.419s idle
2021-11-05 13:50:02 -04:00
David Sidrane 4225193456 nxp_fmurt1062-v1:Proper USB HS config 2021-11-05 13:50:02 -04:00
David Sidrane e2b4e435a9 Build system:Board level control of no-unaligned-access 2021-11-05 13:50:02 -04:00
David Sidrane af9f8f08c6 NuttX PX4 build - capture log in VERBOSE=True|1 2021-11-05 13:50:02 -04:00
David Sidrane d4c2476699 nxp_fmurt1062-v1:init Fix Spelling 2021-11-05 13:50:02 -04:00
David Sidrane 46b208ba21 nxp_fmurt1062-v1:init Define ret indepenent of enabled IP Blocks 2021-11-05 13:50:02 -04:00
David Sidrane 29eb27632a nxpfmurt1062-v1:Add USB dev 2021-11-05 13:50:02 -04:00
RomanBapst 56cf77a74c addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
RomanBapst e36e527488 fixed wrong path
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
Roman Bapst d58d13b2e8 APX4-1617: Fix manual climb rate in TECS (#1463)
* tecs: workaround for the fact that vel smoothing lib uses a DOWN coordinate system

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
RomanBapst 7cb99f521c moved ManualVelocitySmoothing to motion_planning lib
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
RomanBapst 924298e9c3 addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
RomanBapst 0ac3077bdc tecs: use trajectory generation library to compute height rate setpoint
- added ability to specify maximum acceleration constraint for height rate setpoint
- added support for locking altitude setpoint when in height rate control
mode and height rate input is zero

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
RomanBapst 6e75b7cffd FixedWingPositionControl: push altitude setpoint locking into TECS
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 18:04:33 +01:00
Beat Küng 296db60a58 camera_capture: use output functions for pin configuration if SYS_CTRL_ALLOC==1 2021-11-05 12:36:04 -04:00
Beat Küng 6d993a9301 camera_trigger: use output functions for pin configuration if SYS_CTRL_ALLOC==1 2021-11-05 12:36:04 -04:00
Silvan Fuhrer f492fa9d3a fix typo
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
RomanBapst 514cf12c57 addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer 3bd114bf9f RTL: if vehicle is a VTOL in hover, always consider all safe landing points
Unless there is already a mission landing in progress,
in that case stay on the mission landing if RTL_TYPE
isn't set to closest.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer 1163a52c17 Navigator: remove unnecessary (duplicated) info messages for RTL
There is already (a more precise) info message on RTL activation.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer f4f9b8ebf2 RTL: replace deny_mission_landing logic by getDestinationTypeMissionLanding()
The rtl instance decides on destination of RTL, and Navigator then switches to
mission mode if required.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer ab08bbdb58 RTL: improve RTL info message
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer 775a1eb4b6 RTL: remove unused function and non-informative comments
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer dd987c08a5 RTL: rename enum names for RTLType
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer a012f01dbc Navigator: clean up get_rtl_type()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Silvan Fuhrer 8dc6d5f208 RTL: set destination type to mission landing also in MC
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 17:58:21 +03:00
Daniel Agar 9c15be22d6 mc_autotune_attitude_control: add new MC_AT_EN parameter to enable
- only enabled by default on boards that aren't memory constrained
2021-11-05 09:52:07 -04:00
bresch 1e94512719 FD: use flags union instead of bitmask 2021-11-05 09:45:52 -04:00
bresch 3f1025fb1e FD: add dedicated topic to log more internal states
log imbalanced propeller check metric

add failure_detector_status message
2021-11-05 09:45:52 -04:00
bresch b8ed457371 Commander: trigger failsafe action if imbalanced propeller detected 2021-11-05 09:45:52 -04:00
bresch 5dfb8e594a FD: add imbalanced propeller check 2021-11-05 09:45:52 -04:00
bresch bf2fb70d67 vehicleIMU: compute and log accel variance 2021-11-05 09:45:52 -04:00
Silvan Fuhrer f02786d112 Navigator/Commander: make GPS failsafe consitent: switch to Descend also for FW and VTOL
- remove GPS failsafe mode
- for VTOL: transition to hover in Descend (unless NAV_FORCE_VT is not set)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 12:09:39 +03:00
Silvan Fuhrer b77487d69c Fixed-wing Position controller: add modes for auto altitude and auto descend
- bit of clean up
- add GPS failsafe mode auto_altitude, that will keep current altitude with a fixed-bank angle
for some time, then switches to auto_descend that will descend with constant sink rate
of 0.5m/s
- params controlling GPS failsafe are not FW params: NAV_GPSF_R --> FW_GPSF_R and
NAV_GPSF_LT --> FW_GPSF_LT

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-05 12:09:39 +03:00
Daniel Agar c73a1b4c68 update UAVCAN-v0 dsdl to DroneCAN 2021-11-04 21:36:13 -04:00
Daniel Agar 67437396f1 mpu6000: add USER_CTRL I2C_MST_EN bit to checked registers 2021-11-04 21:22:14 -04:00
Daniel Agar 8fbb241c2e mpu6000: add gyro/accel self test bits to checked registers 2021-11-04 21:22:14 -04:00
Daniel Agar bffcdd6fad boards: modalai_fc-v2 fix bootloader board type 2021-11-04 15:43:29 -04:00
Matthias Grob f55590ce78 FlightTaskOrbit: remove duplicate newlines 2021-11-03 17:37:52 +01:00
Matthias Grob 6cea707330 FlightTaskOrbit: increase acceptance radius from 1 to 2m
to avoid reaproaching when tracking is not perfect while
acc/deccelerating by stick.
2021-11-03 17:37:52 +01:00
Matthias Grob eda9dce033 FlightTaskOrbit: fix direction change via MAVLink command 2021-11-03 17:37:52 +01:00
Thomas Debrunner d450afead6 FlightTaskOrbit: Direct orbit approach with slowdown at intersection point 2021-11-03 17:37:52 +01:00
Thomas Debrunner 0d0b87e193 Update src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2021-11-03 17:37:52 +01:00
Thomas Debrunner 9bd46be124 Orbit: Switch to PositionSmoothing library.
This also fixes the bug with altitude not follows and smoothes orbit approach trajectory
2021-11-03 17:37:52 +01:00
Vatsal Asitkumar Joshi ea1ae73526 Support for Raspberry PI RP2040 MCU (#18083) 2021-11-03 12:14:30 -04:00
Daniel Agar 8f6fd5f37b sensors/vehicle_angular_velocity: gyro RPM dynamic notch filter handle negative RPM
- some UAVCAN ESCs report negative RPM for reverse rotation
 - lower hard coded safety limit RPM limit to 10 Hz (600 RPM)
 - avoid disabling notch filters that weren't configured
2021-11-02 09:36:02 -04:00
Peter van der Perk c6f249f7f1 Kconfig merge_config only set to 'n' when BOOL
Run make updateconfig to fix delta's of derived configs
2021-11-02 09:34:21 -04:00
Daniel Agar fec0d6c5ed ekf2: change indication further reduce data precision 2021-11-02 10:21:54 +01:00
bresch 1317b1a6e1 [AUTO COMMIT] update change indication 2021-11-01 13:59:34 +01:00
bresch 9e54c6d1aa ekf2: move generic functions to control.cpp
these functions aren't specific to GPS fusion
2021-11-01 13:59:34 +01:00
bresch e90734881b ekf2_test: add more GPS fusion control tests 2021-11-01 13:59:34 +01:00
bresch 8aae39e82a ekf2: move GPS control logic to separate source file 2021-11-01 13:59:34 +01:00
bresch 689ab12845 ekf2: refactor gps vel/pos fusion control logic 2021-11-01 13:59:34 +01:00
bresch 9afc390552 ekf2: move gps yaw reset in starting function 2021-11-01 13:59:34 +01:00
Daniel Agar 1461eb0e32 logger: increase optimization to ${MAX_CUSTOM_OPT_LEVEL}
- ${MAX_CUSTOM_OPT_LEVEL} is -O2 on boards that aren't flash constrained
2021-11-01 09:13:12 +01:00
Thomas Debrunner 32be88404a commander: Only run estimator navigation checks when armed 2021-10-28 12:06:31 -04:00
PX4 BuildBot 7006b0aee9 Update submodule jMAVSim to latest Thu Oct 28 12:38:55 UTC 2021
- jMAVSim in PX4/Firmware (c9b89ee869): https://github.com/PX4/jMAVSim/commit/0a5a8c6d9da05bee5f82faa25430213d97d396b0
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/b23dc53d558e801b214fbcb605a061c9773105e0
    - Changes: https://github.com/PX4/jMAVSim/compare/0a5a8c6d9da05bee5f82faa25430213d97d396b0...b23dc53d558e801b214fbcb605a061c9773105e0

    b23dc53 2021-10-08 Ilya Petrov - Use low resolution texture also on Windows
2021-10-28 11:41:02 -04:00
Harrison MG c9b89ee869 fixed ulanding_radar autostart command 2021-10-28 00:01:37 -04:00
Daniel Agar be5c5856e7 cmake: px4_add_module always add module to PX4_MODULE_PATHS so that parameters aren't pruned 2021-10-27 23:00:40 -04:00
Peter van der Perk 51abb804ac UAVCANv1 Fix NodeClient header and Kconfig merge logic 2021-10-27 10:07:01 -04:00
Beat Küng 0decdb1c7b github action: run ./Tools/generate_board_targets_json.py in container
As it requires kconfiglib
2021-10-27 15:23:23 +02:00
Silvan Fuhrer e715e6c245 Fixed-wing position control: set yaw_sp to yaw_current instead of nav_bearing when not controlled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-27 14:35:00 +03:00
Silvan Fuhrer b53808d11b fixed-wing: set yaw_sp to yaw_current instead of 0 when not controlled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-27 14:35:00 +03:00
Silvan Fuhrer da4d6dc657 L1: increase the max allowed tangential velocity in the opposite direction to 2m/s
There is logic in L1 that prevents the vehicle from trying to achieve
an impossible loiter entry (e.g. due to wind). That check makes the
vehicle track the loiter center if the tangential velocity is in the wrong
direction while loitering. After the vehicle flies through the center, it can
then turn the other way around to join the loiter.
This check is though too sensitive if it purely checks for the wrong direction,
and it can end in delayed loiter entry for no reason.
This commit increases the threshold to 2m/s of tangential velocity
in the wrong direction to trigger the check.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-27 12:32:58 +03:00
RomanBapst eee5f501cd navigator: fix flyaway when altitude change is commanded without a valid
triplet

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-27 11:01:13 +03:00
RomanBapst bf6a47ba6a navigator: cleanup of set_loiter_item
Unwraps the set_loiter_item() to solve the issue where the altitdue setpoint
in a MC takeoff wasn't correctly used.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-27 11:01:13 +03:00
Silvan Fuhrer cb78ba34d7 Mission: for tangential loiter exit, set current position setpoint typ to position
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-27 11:01:13 +03:00
Silvan Fuhrer 4b21c0c49e Fw Pos C: always reset pos_sp type from LOITER to POSITION if far away
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-27 11:01:13 +03:00
RomanBapst d678e792cc mission_block: don't require an exiting heading when loitering if the next
waypoint is within the loiter radius of the current waypoint

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-27 11:01:13 +03:00
Michael Schaeuble 5e1f62e9d0 Add option to warn the pilot in case of strong magnetic interference but still allow arming.
This PR changes the COM_ARM_MAG_STR parameter to accept values. If the parameter is set to 2, the check is performed and a warning is logged but the vehicle can still arm.
2021-10-27 09:59:18 +02:00
ponomarevda 2b6bd452df fix hardpoint hardfault by checking argc before std::strcmp 2021-10-27 08:11:23 +02:00
Beat Küng de488f0f40 omnibus/f4sd: add topic listener & change timer order
So it matches the usage in the channel definition order
2021-10-27 08:03:55 +02:00
Beat Küng 8476875b4d Kconfig: add missing serial ports 2021-10-27 08:03:55 +02:00
Beat Küng 48344c6e2a state_machine_helper: add missing 'break' (no behavior change) 2021-10-27 08:03:55 +02:00
Daniel Agar 6d0c6bb6ce lib/world_magnetic_model: cmake remove helper target BYPRODUCTS
- otherwise ninja will try to rebuild these
2021-10-26 18:52:12 -04:00
dagar a2801bab80 [AUTO COMMIT] update change indication 2021-10-26 14:39:58 -04:00
Daniel Agar 88a979cf1d lib/world_magnetic_model: add cmake helpers for updating tables
- `world_magnetic_model_update` to fetch latest geo_magnetic_tables.hpp
 - `world_magnetic_model_tests_update` to fetch latest test_geo_lookup.cpp
2021-10-26 14:39:58 -04:00
Peter van der Perk 24ab430466 Tools/generate_board_targets_json.py: fix json board targets regression from #17100 2021-10-26 16:15:39 +02:00
bresch d0f89f7fff ekf2: refactor wind reset functions 2021-10-26 10:18:56 +02:00
bresch 456dfcb4b9 ekf2: update getter for true airspeed 2021-10-26 10:18:56 +02:00
bresch 3927c183de ekf2_test: adjust airspeed unit test
an airpseed of > 2m/s is required to start the fusion (set by param)
fw mode is also required

Given the larger estimated windspeed after those changes, the change of
static pressure is larger and the height estimate takes more time to
reach the final value
2021-10-26 10:18:56 +02:00
bresch 6e8f0e92ff ekf2: refactor airspeed fusion control logic 2021-10-26 10:18:56 +02:00
bresch 8873e92c7c ekf: force fallback to baro if GPS is stopped while in GPS height mode
Otherwise, no height aiding source is used
2021-10-26 10:05:28 +02:00
bresch 0a140ec59a ekf2_test: add GPS height to baro fallback 2021-10-26 10:05:28 +02:00
bresch f4c21cedd9 ekf2_test: use motion_planning for dynamic yaw emergency test 2021-10-25 18:06:38 -04:00
bresch 340a2caa8e ekf2_test: use motion_planning library
The VelocitySmoothing class from the motion_planning library is used to
generate trajectories in order to test the EKF convergence during motion
2021-10-25 18:06:38 -04:00
David Sidrane 38e2e6a01f Use NuttX MPU Reset (#18283)
* NuttX with MPU reset backports

* Use NuttX MPU reset
2021-10-25 18:05:31 -04:00
alexklimaj 8088c82b6a Add CANNODE_FLOW_ROT 2021-10-25 16:31:00 -04:00
Jaeyoung-Lim 5dcaadf492 Fix px4vision defaults 2021-10-25 16:29:52 -04:00
Landon Haugh 24cd0c6fa3 Enablement of PX4 SPI driver for UCANS32K146 2021-10-25 08:36:54 -07:00
Daniel Agar a548c94230 boards: holybro_durandal-v1_default disable modules to save flash 2021-10-25 13:41:31 +02:00
bresch 6ec9ab11f2 add fw auto-tune module to board configs 2021-10-25 13:41:31 +02:00
bresch 95e2941b17 fw att: inject system identification signal to controller 2021-10-25 13:41:31 +02:00
bresch 6af0856558 add FF to FW rate controllers 2021-10-25 13:41:31 +02:00
bresch 55f0860c31 fw atune: add fixed-wing auto-tuning module 2021-10-25 13:41:31 +02:00
bresch 8dfdb1e3db compute and publish fixed-wing control power 2021-10-25 13:41:31 +02:00
RomanBapst d84b0296d2 support orbit command in fixed wing mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>

commander: support orbit mode for fixed wings

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

FwPositionControl: publish orbit status

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

commander:reject orbit mode while doing a vtol transition

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

FixedWingPositionControl: explicitly cast waypoint for Orbit status

FixedwingPositionControl: fill missing orbit_status fields

navigator_main: handle reposition/orbit corner cases

- set orbit rotation direction correctly
- send mavlink message when orbit is rejected

FixedWingPositionControl: correctly report rotation direction in orbit_status

navigator: hack to not break orbit while doing altitude changes

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

navigator: set cruise throttle for orbit command

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-25 09:48:27 +02:00
Daniel Agar 93eb0162e5 drivers/uavcan_v1: fix Kconfig trailing whitespace 2021-10-25 08:15:46 +02:00
Silvan Fuhrer f9cfcc5cfa AirspeedSelector: add bitmask to enable checks seperately in ASPD_DO_CHECKS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer 73fe300c00 WindEstimator: remove option to disable scale estimation
The situation where this would be desired is unclear, plus it's basically
the same as setting ASPD_SC_P_NOISE to a very small value.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer b38bf23d6e WindEstimator: avoid division by 0
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer c0754cf324 AirspeedValidator: pass vI as reference
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer f9682b86d1 AirspeedSelector: some clean up
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer 7537fa36c8 AirspeedValidator: fix airspeed scale validation (feed raw TAS)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer a2faac148f AirspeedValidator: check_airspeed_innovation() check absolute innovations
Do no longer use tas_innovation from wind estimator and test ratio, but calculate
the innovation  based on wind estimate, TAS measurement (including currently applied scale)
and ground velocity. Use innovations directly to trigger failure.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer f6d37ecacf AirspeedSelector: make sure we don't try to access a negative array index
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer ccab93e68b AirspeedSelector: use Vector3f
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer 259b851ba7 WindEstimator: remove filter reset due to airspeed measurement rejection
As the purpose of this wind estimator is to (mainly) catch airspeed failures,
we don't value estimator stability as much as the reliability to catch
actual sensor issues, and thus do not reset the filter (as this may hide
a real issue with the sensor)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer 3ad901e51d Wind Estimator: use time_literals
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer cad7851774 AirspeedSelector: add _CAS_scale_validated to airspeed_wind for logging
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
Silvan Fuhrer 625f556b0e AirspeedSelector: airspeed scale estimation improvements and robustification
- run airspeed scale estimation always, not in dedicated mode
- add option to apply scale automatically, with extra feasibility check
- add airspeed scale for all 3 possible airspeed instances
- clean up parameters
- add check for data stuck (non-changing airspeed data)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-22 17:00:35 +02:00
RomanBapst 8e8c6efd66 Mission block: do not care for altitdue acceptance when approaching backtransition point
Not accepting the waypoint causes the vehicle to perform a sharp turn after passing
the land waypoint and this causes worse unexected behavior.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-22 15:37:10 +02:00
Matthias Grob 3d50adc5fe astyle: restore backwards compatibility with old pre-commit hook
I removed the filtering logic from the shell script in #18482 because
the new pre-commit hook already takes care of it.

The problem is if you don't update the .git/hooks/pre-commit file and
use the new shell script there's no filtering
of files done and it checks all files for every file.

This commit restores backwards compatibility because it does not hurt
until I have an automatic way to update the pre-commit hook file.
2021-10-22 12:56:21 +02:00
bresch 78fe6e2152 VelocitySmoothing: fix issue when delta vel is the same on all axes
When the change in velocity is exactly the same on several axes, the T1
of the recumputed trajectories after time sync was set to 0 because it
was skipping both if and else if.
2021-10-22 10:54:36 +02:00
mcsauder 9301288d1f Add parameter and logic to set RTL heading mode. 2021-10-22 09:28:30 +02:00
Matthias Grob 6938d24ec7 pre-commit hook: show all style issues, not just the ones from the first file 2021-10-21 19:07:13 -04:00
Matthias Grob 2716ce7a56 pre-commit hook: clear output with error, file name, diff, instructions 2021-10-21 19:07:13 -04:00
Matthias Grob 4454fe9770 pre-commit hook: don't unstage the entire file containing a style issue 2021-10-21 19:07:13 -04:00
Daniel Agar 19952768fb boards: try to keep test boards in sync 2021-10-21 15:59:15 -04:00
Daniel Agar 6fb1c79ef0 mixer_module: reject mixer load and reset when dynamic mixing is enabled 2021-10-21 11:27:33 -07:00
Daniel Agar f1016dc32c boards: add systemcmds/topic_listener to CAN nodes 2021-10-21 14:06:11 -04:00
Daniel Agar 17328bef69 Jenkins attach GDB and print back trace on failure 2021-10-21 14:04:33 -04:00
David Sidrane 258cde668c nxp_fmurt1062-v1:Pared down boardconfig 2021-10-21 11:04:34 -04:00
David Sidrane 0e29cb31e6 nxp_fmurt1062-v1:Pull more code into XIP Flash 2021-10-21 11:04:34 -04:00
David Sidrane ff3a76d918 nxp_fmurt1062-v1:Needs to usne ocram Linker script 2021-10-21 11:04:34 -04:00
Daniel Agar ea9c64dcd9 drivers/uavcan: add new UAVCAN_SUB_* parameters to enable subscriptions
- only GPS and mag are enabled by default
2021-10-21 09:55:04 -04:00
Silvan Fuhrer fd96bbf9b9 Mavlink: bump MAX_REMOTE_COMPONENTS to 16
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-21 07:48:50 +02:00
Daniel Agar 4247e1320b px4io: allow switching to rate ctrl wq 2021-10-20 09:56:42 -04:00
Beat Küng c0f75b1c79 dshot: add missing '#pragma GCC diagnostic push' 2021-10-20 08:11:07 +02:00
Daniel Agar 757424c2c0 clang-tidy ignore modernize-raw-string-literal for now 2021-10-20 08:10:05 +02:00
Beat Küng 8a2b310b83 topic_listener: avoid code generation, use existing metadata at runtime
This reduces flash size for v5 by ~110KB, the topic listener now only adds
about 1.2KB.
2021-10-20 08:10:05 +02:00
Beat Küng a0e72b35a4 replay: ignore ULogMessageType::PARAMETER_DEFAULT messages 2021-10-20 08:10:05 +02:00
Beat Küng 4c73ac3805 uorb: use single byte for internal types in o_fields metadata
Reduces flash usage by ~9KB.
2021-10-20 08:10:05 +02:00
Landon Haugh 9aaf6e3f3e [NXP_UCANS32K146] Increase usermain stack size to prevent init overrun 2021-10-19 20:17:11 -04:00
Thomas Debrunner f4a85fa951 rcS: Allow startup files to be located on SD card 2021-10-19 14:08:38 -04:00
alexklimaj 6daa579e46 Add ARK RTK GPS Debug, turn on UART RX DMA 2021-10-19 13:30:46 -04:00
mcsauder 21163d859e Whitespace cleanup. 2021-10-19 13:29:26 -04:00
Daniel Agar 4cf8eb8226 ekf2: EKF vehicle_at_rest always require some rotation in addition to vibration metrics 2021-10-18 21:39:40 -04:00
Daniel Agar 33954a904f lib/tunes: never play tunes if circuit breaker is set 2021-10-18 21:37:09 -04:00
Daniel Agar b08f20806b ROMFS: rcS don't play startup tune until after UAVCAN and px4io
- fixes potential duplicate startup tune
2021-10-18 21:37:09 -04:00
Tia 6e3e6846f4 Fix srf05 driver. 2021-10-18 21:00:59 -04:00
bazooka joe b35dd86d04 mc_pos_control: remove unused var 2021-10-18 20:37:18 -04:00
bazooka joe c8d6f8f5e5 remove proto for unused function limit_thrust_during_landing() 2021-10-18 20:37:18 -04:00
Daniel Agar 9d7c4596f7 navigator: increase stack 1800 -> 1864 bytes 2021-10-18 20:31:35 -04:00
Daniel Agar b20d8207a7 Jenkins: compile delete obsolete px4_fmu-v5_ctrlalloc 2021-10-18 20:11:58 -04:00
Beat Küng 3e9c88e48e px4/fmu-v5 test, uavcanv0periph: disable modules to reduce flash 2021-10-18 18:45:19 -04:00
Beat Küng da1df5352c fix pwm: only update oneshot timers owned by the current pwm_out instance
This fixes the case where oneshot was enabled with multi-instance pwm_out,
triggering oneshot updates too close to each other and as a result could
lead to spinning motors while disarmed.
2021-10-18 18:45:19 -04:00
Daniel Agar 2ed623c8ae boards: px4_fmu-v6x_default disable modules to save flash 2021-10-18 18:45:19 -04:00
Daniel Agar be868aae92 boards: px4_fmu-v5_uavcanv0periph disable modules to save flash 2021-10-18 18:45:19 -04:00
Daniel Agar a7a2aa3b74 boards: px4_fmu-v3_test disable modules to save flash 2021-10-18 18:45:19 -04:00
Beat Küng cc1d24a5fe ci compile_nuttx: disable fail-fast
So that all failures can be evaluated.
2021-10-18 18:45:19 -04:00
Beat Küng d01f2b1d40 cubepilot/cubeorange test: disable uavcan to reduce flash usage 2021-10-18 18:45:19 -04:00
Beat Küng dbd4426271 nxp/fmurt1062-v1: set CONSTRAINED_FLASH 2021-10-18 18:45:19 -04:00
Beat Küng e36a8f3765 ROMFS: disable vtol airframes for kakutef7 2021-10-18 18:45:19 -04:00
Beat Küng f1686b1abf px4io: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 837a1066e0 px4io, pwm_out: update pwm default checking
The defaults changed in the previous commit for per-channel params,
so we make sure that the overall params are still used as long as the
per-channel params are default.
2021-10-18 18:45:19 -04:00
Beat Küng ab1d76ae7d params: use PWM_MAIN_* instead of PWM_FMU_* 2021-10-18 18:45:19 -04:00
Beat Küng ba4a1ec6c4 boards/px4/io-v2: swap timer definitions
So that the ordering of the generated params make more sense.
TIM1 is now for channels 2-4 instead of 5-8.
2021-10-18 18:45:19 -04:00
Beat Küng 319e90961b output_groups_from_timer_config.py: fix timer index
The implementation assumed timers are defined in the same order as used
in the channels. This could lead to a mismatch between TIMx param and
actual timer config.
Now we use the actual array index, same as in the code.
2021-10-18 18:45:19 -04:00
Beat Küng 183ab8bbe7 control_allocator: avoid default argument for virtual method getEffectivenessMatrix
clang tidy error:
/__w/PX4-Autopilot/PX4-Autopilot/src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessMultirotor.cpp:50:34: error: default arguments on virtual or override methods are prohibited [google-default-arguments,-warnings-as-errors]
ActuatorEffectivenessMultirotor::getEffectivenessMatrix(matrix::Matrix<float, NUM_AXES, NUM_ACTUATORS> &matrix,
2021-10-18 18:45:19 -04:00
Beat Küng 563cf61126 module_schema.yaml: add actuator_output section
The parameter additions are only used internally for the pwm generator.
2021-10-18 18:45:19 -04:00
Beat Küng 8b3ab7e36d fix pwm_out: ensure up_pwm_servo_arm() is never continuously called
This happened with multi-instance, when the second instance did not load
a mixer. Then the first instance would always return false in
update_pwm_out_state, and continuously call up_pwm_servo_arm.
This led to irregular pulses, e.g. with an output set to fixed 1500us, I
saw pulses of e.g. 1800us occationally (they were in a range of
[1500-2100]).
2021-10-18 18:45:19 -04:00
Beat Küng 838ec5d485 airframes: set output function params for ctrlalloc airframes 2021-10-18 18:45:19 -04:00
Beat Küng 44bbe87165 pwm_out_sim: use PWM_FMU for sitl and HIL_ACT for hitl
We might want to change this later, but for now it allows to use the same
airframe configs for sitl/real, and independent hitl configuration.
2021-10-18 18:45:19 -04:00
Beat Küng 2b039b2af8 px4/fmu-v6x: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng 4e0e2dec57 fmu-v6u: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng 4a4acf7ead px4/fmu-v5x: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng faf481df31 modalai/fc-v2: remove unused DIRECT_PWM_CAPTURE_CHANNELS define 2021-10-18 18:45:19 -04:00
Beat Küng d28dd5cc14 holybro/pix32v5: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng d9bf03b2dc holybro/durandal-v1: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng 0ab4a24de8 px4/fmu-v5: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Beat Küng a01cf2efc0 rc.mc_apps: allow to set COM_PREARM_MODE with control allocation
This is safe now.
2021-10-18 18:45:19 -04:00
Beat Küng 21c1671693 pwm_out_sim: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 0871b7974d uavcan_v1: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng ae15ad14a8 tap_esc: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 35ce6d1b73 pca9685_pwm_out: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 955179e992 linux_pwm_out: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng c1e5e666f0 pwm_out, dshot: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 3ff6014a3c uavcan: implement servo outputs 2021-10-18 18:45:19 -04:00
Beat Küng 07fa8c5295 uavcan: reduce sensor status output verbosity 2021-10-18 18:45:19 -04:00
Beat Küng 49f8131f82 uavcan: add dynamic mixing support 2021-10-18 18:45:19 -04:00
Beat Küng 5f0781b6e9 output modules: add param prefix argument to MixingOutput 2021-10-18 18:45:19 -04:00
Beat Küng f5fbcb0770 dshot: handle telemetry index correctly when dynamic mixer is used 2021-10-18 18:45:19 -04:00
Beat Küng d951c74a7d spracing/h7extreme: use single-line comments instead of multi-lines
Required for output_groups_from_timer_config.py parser
2021-10-18 18:45:19 -04:00
Beat Küng 916447e804 params: add script to parse timer_config.cpp for timer group info
This allows to generate pwm params in the form of:
module_name: PWM Output
actuator_output:
  output_groups:
    - generator: pwm
      param_prefix: PWM_FMU
      channel_labels: ['PWM Main', 'PWM Capture']
      standard_params:
        disarmed: { min: 800, max: 2200, default: 900 }
        min: { min: 800, max: 1400, default: 1000 }
        max: { min: 1600, max: 2200, default: 2000 }
        failsafe: { min: 800, max: 2200 }
      extra_function_groups: [ pwm_fmu ]
      pwm_timer_param:
        description:
            short: Output Protocol Configuration for ${label}
            long: |
                Select which Output Protocol to use for outputs ${label}.

                Custom PWM rates can be used by directly setting any value >0.
        type: enum
        default: 400
        values:
            -5: DShot150
            -4: DShot300
            -3: DShot600
            -2: DShot1200
            -1: OneShot
            50: PWM50
            100: PWM100
            200: PWM200
            400: PWM400
        reboot_required: true
2021-10-18 18:45:19 -04:00
Beat Küng db28ea9cfa generate_params.py: extend params 'definitions' section to support a list
allows to add multiple entries for a multi-instance param with different
instance_start
2021-10-18 18:45:19 -04:00
Beat Küng 6f01b69f49 mixer_module: add param generation for disarmed, min, max, failsafe 2021-10-18 18:45:19 -04:00
Beat Küng 6424faccb1 generate_params.py: fix parse_yaml_parameters_config
Correctly handle multiple parameter sections
2021-10-18 18:45:19 -04:00
Beat Küng 15daded6b0 refactor output_limit: split output_limit_calc_single into separate function 2021-10-18 18:45:19 -04:00
Beat Küng c55626d2d6 refactor Tools/serial: move non-serial param generation into separate script 2021-10-18 18:45:19 -04:00
Beat Küng a65533b469 mixer_module: add output functions for servos, landing gear, parachute, RC passthrough & gimbal 2021-10-18 18:45:19 -04:00
Beat Küng 4b37a3d017 mixer_module: generate output_functions header from yaml file 2021-10-18 18:45:19 -04:00
Beat Küng fd76e5488e mixer_module: add output functions 2021-10-18 18:45:19 -04:00
Beat Küng ab3fe77f46 mavlink_receiver: publish MAV_CMD_DO_SET_ACTUATOR command 2021-10-18 18:45:19 -04:00
Beat Küng 5103f00de3 vehicle_command.msg: add VEHICLE_CMD_DO_SET_ACTUATOR 2021-10-18 18:45:19 -04:00
Beat Küng 38fa65a47e control_allocator: remove direct mixer, add actuator_{motors,servos} instead 2021-10-18 18:45:19 -04:00
Beat Küng a51c465b54 control allocation: introduce parameter SYS_CTRL_ALLOC & unify build targets 2021-10-18 18:45:19 -04:00
Beat Küng 0c5a79d84d fix mixer_module: use PRIx32 for debug printf 2021-10-18 18:45:19 -04:00
Beat Küng ad1bcfd77c commander: correct lockdown CLI description 2021-10-18 18:45:19 -04:00
AuroraRAS 62dd38fe35 Prepare for Android NDK build
Modify CMakeList.txt prepare for Android NDK build

Signed-off-by: AuroraRAS <chplee@gmail.com>
2021-10-18 14:55:56 -04:00
Alex Klimaj b482986e8e uavcannode: Add CANNODE_TERM parameter (configure CAN termination on ARK cannodes)
- adds functionality to enable the built in can termination on the ARK cannodes
2021-10-15 09:29:56 -04:00
Jari van Ewijk 55910caec5 UCANS32K146: Enable CONFIG_BCH to use EEEPROM as character driver 2021-10-15 05:54:27 -07:00
Silvan Fuhrer a66b0829b0 Standard VTOL: add airspeed to back transition logic and refactor it a bit
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-15 09:58:48 +02:00
Silvan Fuhrer 358c67226e Tiltrotor: backtransition logic improvements
-use groundspeed in body x for exit condition
-use airspeed for speed exit condition if no valid groundspeed

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-15 09:58:48 +02:00
Silvan Fuhrer cba80a6338 Tiltrotor: front transition: fade out yaw equally to roll
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-15 09:58:48 +02:00
Silvan Fuhrer 641383cbfb VTOL backtransition improvements
* vtol_type: only allow positive pitch setpoints during backtransition

* vtol params: set default of VT_B_DEC_FF to 0, as for most frames a FF is not necessary

* Tiltrotor: fix throttle during first part of back transition

* Tiltrotor: only enable all motors in second phase of backtransition (tilting phase)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-15 09:58:48 +02:00
RomanBapst af291e2040 FlightTaskTransition: Transition improvements
- use fw pitch setpoint offset during transition
- take over previous vertical velocity and smooth out over transition

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-15 09:58:48 +02:00
Silvan Fuhrer d39c32619e Tiltrotor: add minimum throttle of 0.25 during front transition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-15 09:58:48 +02:00
RomanBapst f61853d428 vtol: implement throttle blending out and into transition
- blend into TECS throttle after front transition
- blend out of TECS throttle during backtransition

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-15 09:58:48 +02:00
RomanBapst 8dd76050e0 vtol: take fixed wing attitude setpoint during transition if altitude is
not controlled

- required as there is no flightask running if altitude is not controlled

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-15 09:58:48 +02:00
Daniel Agar 435e5515df github actions: increase nuttx and linux ccache max size to 100M 2021-10-14 19:45:29 -04:00
Daniel Agar 7e71b7eafc github actions: compile nuttx archive bin files and remove duplicate nuttx cannode builds 2021-10-14 19:45:29 -04:00
Daniel Agar 12c7056ae5 drivers/imu: icm20602/icm20649/icm20948 remove timestamp_sample adjustments 2021-10-14 16:37:11 -04:00
Daniel Agar 56823b5ac9 ekf2: EKF control don't allow invalid flow gyro to propagate 2021-10-14 16:31:22 -04:00
Daniel Agar e8a064af02 github actions: try increasing nuttx ccache limit 2021-10-14 11:54:19 -04:00
Daniel Agar b88c8eb245 Jenkins: hardware stop commander before sensors module to avoid errors
- this is only done to silence timeouts during small benchmarks
2021-10-14 09:17:50 -04:00
Daniel Agar d35cf78e4a commander: PX4_ERR if attitude or angular velocity become invalid 2021-10-14 09:17:50 -04:00
Daniel Agar 4559230de6 drivers/imu/invensense: adjust icm20602/icm20649/icm20948 rescheduling logic
- this handles the case where the driver might be more than one full
transfer cycle behind
2021-10-14 09:17:11 -04:00
Daniel Agar ef4d4c3093 sensors/vehicle_imu: fix timestamp_sample increasing check 2021-10-14 09:12:45 -04:00
Jaeyoung-Lim 4535b18a80 Set setpoint type as const 2021-10-14 11:18:02 +02:00
Jaeyoung-Lim 07d72f8604 Fix comments 2021-10-14 11:18:02 +02:00
Jaeyoung-Lim 443666199e Move setmode outside of control_position
This commit moves the position controller mode handling outside of the control_position method.

The control_method is renamed to control_auto
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim ae9e91f90c FW Pos controller: fix format in new switch
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-14 11:18:02 +02:00
Silvan Fuhrer c3e961a1ed FW Pos C: move setting of control_mode_current to separate function and minor clean ups
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-14 11:18:02 +02:00
Silvan Fuhrer 0cf3ef87e3 FW Position Controller: move nav_speed_2d calculation to function
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim 581ec224be Encapsulate loiter and position setpoint handling
This commit encapsulates the position setpoint and loiter setpoint handling into a single method, in order to make the code easier to understand
4be452
2021-10-14 11:18:02 +02:00
Thomas Debrunner f08f2a340d motion_planning: In VelovitySmoothing, mark const functions const 2021-10-13 21:25:43 -04:00
Thomas Debrunner fed234de81 flight_mode_manager: Extracted position trajectory motion planning into a library
Extract the functionality to plan smooth position motion trajectories into a
motion planning library, such that it can be used in other parts of the code as well.
2021-10-13 21:25:43 -04:00
Peter van der Perk 07303af8f8 UAVCANv1 Fix typo in #define 2021-10-13 21:22:15 -04:00
Peter van der Perk ed394027b1 UAVCANv1 Include Kconfig & Fix #18396 2021-10-13 21:22:15 -04:00
mcsauder a732ddaefb Deprecate 4250_teal from CMakeLists.txt. 2021-10-13 17:25:18 -04:00
mcsauder c1b0d78077 Minimize flash by migrating MIXER quad_x and PWM_OUT 1234 to rc.mc_defaults. Deprecate 4250_teal config file. 2021-10-13 17:25:18 -04:00
Matthias Grob 8b37db7825 Functions: fix corner case x_low == x_high == value resulting in NAN
and added unit test to cover it
2021-10-13 17:24:16 -04:00
alexklimaj f5e1da5b0f Fix broadcom afbrs50 build 2021-10-13 17:22:26 -04:00
Daniel Agar 7de00469a6 platforms: nuttx px4_init fix USB serial mavlink autodetect 2021-10-13 16:34:45 -04:00
Julian Oes f91aa76645 boards: add v5x RTPS version again
I just copied this from v5 and removed the heater.
2021-10-13 16:20:43 -04:00
David Lechner 426efb515f setup: fix installing in virtual env on Ubuntu
This fixes running the Ubuntu setup script in a Python virtual
environment. This was failing because pip doesn't allow the --user
option in virtual environments.
2021-10-13 16:19:24 -04:00
Jukka Laitinen 351f679c2f parameters: Use px4::atomic_bool instead of px4::atomic<bool>
This enables us to define the actual atomic bool type in px4_platform

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-10-13 15:01:26 -04:00
Jukka Laitinen e6658547cf sensors/vehicle_imu: Fix compiler warning for implicit INFINITY double->float cast
This pops up on some newer compilers

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-10-13 15:01:26 -04:00
Jukka Laitinen 5509235517 commander: Fix implicit NaN conversion from double to float compiler warning
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-10-13 15:01:26 -04:00
Daniel Agar 41a4045630 boards: nxp_fmuk66 fix serial_dma_poll 2021-10-13 13:45:39 -04:00
Daniel Agar 49a4283d0d boards: px4_fmu-v5x restore rc.board_mavlink
- this was unintentionally removed in https://github.com/PX4/PX4-Autopilot/pull/16180
2021-10-13 17:34:20 +02:00
alexklimaj ffb47466df Add ARK GPS passthrough 2021-10-12 22:00:58 -04:00
Mathieu Bresciani 56b0c46444 ekf2: improve optical flow angular rate compensation 2021-10-12 13:17:29 -04:00
Daniel Agar fab053d33b mavlink: receiver battery_status prevent out of bounds access
- fixes https://github.com/PX4/PX4-Autopilot/issues/18385
2021-10-12 09:20:40 -04:00
Daniel Agar 12670b70f4 Jenkins: hardware quick cal skip sleeps 2021-10-11 15:21:43 -04:00
Silvan Fuhrer 801ef2d520 VTOL main: add local variable for int(vehicle_command.param1 + 0.5)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-11 18:15:18 +02:00
Silvan Fuhrer 342e9900f8 vtol main: only guard against transition to FW in certain flight modes, never to MC
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-11 18:15:18 +02:00
SalimTerryLi 5ebe41efbf pilotpi: fix upload cmake 2021-10-11 10:43:59 -04:00
RomanBapst 8f8304f31e FixedWingPositionController: Set l1 variables to NAN if no l1 guidance
took place

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-11 16:41:42 +02:00
RomanBapst ae5d3103f4 fw l1 controller: added a flag to indicate if navigation has updated
- can be used to check if l1 controller ran during a cycle

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-11 16:41:42 +02:00
Jaeyoung-Lim e2f048f608 Add sitl glider model
Add airframe configs for SITL glider model

This commit adds an airframe config for a glider model
2021-10-10 12:33:25 -04:00
Shubham Shah 99b098f608 Update FixedwingAttitudeControl.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah c92cd65831 Update EKF2.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah 6576e1fda9 Update battery_status.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah b56bd7cb21 Update AirspeedValidator.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah 47a72a6b7b Update vtol_att_control_main.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah 9fd19a2c83 Update standard.cpp 2021-10-09 19:39:43 -04:00
Shubham Shah af34b21ba8 Update tiltrotor.cpp 2021-10-09 19:39:43 -04:00
Jacob Dahl 98f655815a mavlink: add LAND_TARGET stream 2021-10-09 10:29:02 -04:00
Daniel Agar 4be45229bf fw_pos_control_l1: fix launch detector dt update
- fixes https://github.com/PX4/PX4-Autopilot/issues/18354
2021-10-08 17:34:14 -04:00
Daniel Agar 089f96f800 lib/drivers/{accelerometer,gyroscope} skip obselete Vector3f construction
- FIFO clip count only check if value is INT16_MIN/MAX rather than abs() call
2021-10-08 17:33:27 -04:00
Jacob Dahl fd39d5b9a1 drivers/distance_sensor/lightware_laser_serial: add LW20/C support 2021-10-08 17:30:41 -04:00
Igor Mišić 47dc2ae5a5 Revert "protocol_splitter: delete non rtps or mavlink data from buffer"
This reverts commit 0cae3c129d.
2021-10-08 14:35:12 -04:00
alexklimaj 2ba369dd54 Add uavcannode fix2 mode and submode 2021-10-08 11:00:37 -04:00
Peter van der Perk d8e88aedc6 motor_ramp ram cleanup 2021-10-08 10:51:06 -04:00
Nicolas Martin ba66f8a1e2 reset hover thrust value in controllers when disarmed
During landing, hover thrust value can be very incorrect so it should be
reset before taking off
2021-10-08 10:39:49 +02:00
bresch ba1b7f3a07 CA pseudo inverse: set all small elements in CA matrix to zero
This avoids problems in the sequencial desaturation method where vectors
of the CA matrix are used to desaturate the motors.
2021-10-08 09:35:40 +02:00
bresch d1a2d6e1aa h480_ctrlalloc: tune rate controller 2021-10-08 09:35:40 +02:00
bresch 984a698760 matrix: update to include min/max of slices 2021-10-08 09:35:40 +02:00
bresch 21b1f090e6 SITL: add typhoon_h480_ctrlalloc target 2021-10-08 09:35:40 +02:00
bresch b18b7e84d2 CA pseudo-inverse: normalize control allocation matrix 2021-10-08 09:35:40 +02:00
bresch 927c0c4296 McRateControl: publish torque and thrust setpoint for control allocator 2021-10-08 09:35:40 +02:00
bresch 212df95193 ctrlalloc: use normal rate controller 2021-10-08 09:35:40 +02:00
Peter van der Perk 3de5623556 Kconfig remove defconfig in root directory after gen
Cleanup fmu configs
2021-10-07 10:09:01 -04:00
Peter van der Perk eb8620a0da Kconfig FMU-V5 flash cleanup 2021-10-07 10:09:01 -04:00
Daniel Agar cb6b1bd427 boards: delete unused test and debug variants 2021-10-07 10:09:01 -04:00
Peter van der Perk 6b7237aa3a Kconfig add WIFI serial port option 2021-10-07 10:09:01 -04:00
Peter van der Perk 05d71c8118 Kconfig fix CI issues after rebase 2021-10-07 10:09:01 -04:00
Peter van der Perk 96994b82bb Kconfig cmake change rm to remove to remain compatible with CMake older then 3.17 2021-10-07 10:09:01 -04:00
Peter van der Perk ed5fee1a72 Backport #18311 mc atune 2021-10-07 10:09:01 -04:00
Peter van der Perk 454c907b7d Kconfig backport #18327 mag_bias 2021-10-07 10:09:01 -04:00
Peter van der Perk 36191e649a Kconfig backport #18289 and other flash size fixes 2021-10-07 10:09:01 -04:00
Peter van der Perk 500d80c329 Kconfig backport 51758bd7e6 2021-10-07 10:09:01 -04:00
Peter van der Perk bfa87fdac7 Kconfig fix wrong nuttx submodule commit 2021-10-07 10:09:01 -04:00
Peter van der Perk bb7b033e11 Kconfig backport #18259 & remove contrained flash depedency on NO_HELP 2021-10-07 10:09:01 -04:00
Peter van der Perk c3c9910f04 Backport #17814 to Kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk 5e98f38f78 Kconfig rebase backports 26-09-21 2021-10-07 10:09:01 -04:00
Peter van der Perk 6a1675ac28 Backport #17864 to px4board config 2021-10-07 10:09:01 -04:00
Peter van der Perk 60790f7112 Backport boards: modalai_fc-v1 update default.cmake (#18202) 2021-10-07 10:09:01 -04:00
Peter van der Perk 9b55a8083a Backport to kconfig: boards: remove camera_capture from sitl and linux targets 2021-10-07 10:09:01 -04:00
Peter van der Perk 12898ea560 [Kconfig] Update configs 06-09-21 2021-10-07 10:09:01 -04:00
Peter van der Perk 010d854023 [Kconfig] Add extra SITL cmake variables 2021-10-07 10:09:01 -04:00
Peter van der Perk 0571932e7c [Kconfig] Backport rebase config changes 2021-10-07 10:09:01 -04:00
Peter van der Perk 7c6b995cb4 [Kconfig] Replace find_executable by python module, moved python check before calling kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk c6e7b8bae1 [Kconfig] Fix SITL by adding rpm/rpm_simulator 2021-10-07 10:09:01 -04:00
Peter van der Perk f7803fb686 [Kconfig] Bloaty 2nd pass 2021-10-07 10:09:01 -04:00
Peter van der Perk 2dcfe533d6 [Kconfig] Telemetry don't include iridum by default 2021-10-07 10:09:01 -04:00
Peter van der Perk 33fd65e5fe [Kconfig] Fix regressions found by bloaty and cleanup unused cmake 2021-10-07 10:09:01 -04:00
Peter van der Perk 43a3de8c18 [Kconfig] Fix px4 fmu configs 2021-10-07 10:09:01 -04:00
Peter van der Perk a918025adb [Kconfig] fix fmu-v2 configs 2021-10-07 10:09:01 -04:00
Peter van der Perk 892d673b45 [Kconfig] fix flash overflow test builds 2021-10-07 10:09:01 -04:00
Peter van der Perk 8951ed9f12 [Kconfig] fmu-v5 match cmake configs 2021-10-07 10:09:01 -04:00
Peter van der Perk 1eb9a77a9b [Kconfig] Added missing sensor drivers 2021-10-07 10:09:01 -04:00
Peter van der Perk 603d0c594d [Kconfig] fix boards configs 2021-10-07 10:09:01 -04:00
Peter van der Perk efc91d2b69 [Kconfig] Fixed inclusion of microbench bydefault when TESTING was enabled
Added full optimization option
2021-10-07 10:09:01 -04:00
Peter van der Perk a1247d6bcf [Kconfig] Backport cmake config changes 2021-10-07 10:09:01 -04:00
Peter van der Perk 9f38553ab0 [Kconfig} update broken board configs px4 fmu-v4/v5 2021-10-07 10:09:01 -04:00
Peter van der Perk cc752f11df [Kconfig] python script doesn't remove delta, thus we've to manually add remove deltas 2021-10-07 10:09:01 -04:00
Peter van der Perk d4fbd5674e [Kconfig] Change patern matching order so that xx_xx doesnut result xx if it exists 2021-10-07 10:09:01 -04:00
Peter van der Perk b3e799e277 [Kconfig] Add all distance sensors 2021-10-07 10:09:01 -04:00
Peter van der Perk 5542402ca0 [Kconfig] CI fixes and SITL fix 2021-10-07 10:09:01 -04:00
Peter van der Perk 6d0829c251 [Kconfig] px4 io-v2 fix toolchain 2021-10-07 10:09:01 -04:00
Peter van der Perk b44c0eb434 [Kconfig] FMUv4 CI fixes 2021-10-07 10:09:01 -04:00
Peter van der Perk 21e6547ac7 [Kconfig] Toolchain & platform fixes, SITL still broken 2021-10-07 10:09:01 -04:00
Peter van der Perk d1e7642b9a [Kconfig] temporily updated github actions to latest to test CI 2021-10-07 10:09:01 -04:00
Peter van der Perk 4ba1a2f395 [Kconfig] Fix Posix / SITL build 2021-10-07 10:09:01 -04:00
Peter van der Perk 0400c24af5 [Kconfig] 17-08-21 rebase fixes 2021-10-07 10:09:01 -04:00
Peter van der Perk c2ad07b983 [Kconfig] Don't inherit kconfig when bootloader (and canbootloader) 2021-10-07 10:09:01 -04:00
Peter van der Perk 6af0477733 [Kconfig] Gnerate px4board from old cmake
Added make updateconfig to update all config when default's have changed
Added cmake to px4board conversion script
2021-10-07 10:09:01 -04:00
Peter van der Perk 815617e670 Added common options for sensor drivers
uavcan_board_identity check for existance
Added kconfig for compiler definitions
2021-10-07 10:09:01 -04:00
Peter van der Perk 82888d3320 [Kconfig] Merge/diff fixes and added some FMUv5 targets 2021-10-07 10:09:01 -04:00
Peter van der Perk ea393b54d9 [Kconfig] non-default labels config inherit default.px4board config 2021-10-07 10:09:01 -04:00
Peter van der Perk b7f03cec5e [Kconfig] Add FMU-V5 and PX4-IOv2 px4board config 2021-10-07 10:09:01 -04:00
Peter van der Perk 56472eeed7 Completely removed px4_add_board 2021-10-07 10:09:01 -04:00
Peter van der Perk 57593cc56a Initial attempt to make px4_add_board obsolute 2021-10-07 10:09:01 -04:00
Peter van der Perk 7aa28ba9cd Kconfig remove clean use configure depends and apps timestamp instead 2021-10-07 10:09:01 -04:00
Peter van der Perk abd85cd219 Rebase 06-07-21 and add batman Kconfig support 2021-10-07 10:09:01 -04:00
Peter van der Perk 4e4aabc03f Update Kconfig after rebasing 03-05-21 2021-10-07 10:09:01 -04:00
Peter van der Perk d5e3e9a7bc [Kconfig] Decompose Kconfig, now each module has its own Kconfig
Which is better for versioning and decomposability
2021-10-07 10:09:01 -04:00
Peter van der Perk 094d3557d7 Add Kconfig for Gyro calibration #17040 2021-10-07 10:09:01 -04:00
Peter van der Perk a0821afafd [Kconfig] Move UAVCANv0 num interfaces to Kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk 16f86a99c2 Swap pwm_out with pwm_sim_out to get same binary output as the non-kconfig build 2021-10-07 10:09:01 -04:00
Peter van der Perk e4f9fd8f53 [Kconfig] forgot distance sensor furthermore K66 build should be equal now 2021-10-07 10:09:01 -04:00
Peter van der Perk 29c4d234ec Add make clean after boardconfig configure 2021-10-07 10:09:01 -04:00
Peter van der Perk 787b9b54e1 Board config now saved as defconfig which is smaller and friendlier for version control 2021-10-07 10:09:01 -04:00
Peter van der Perk 8df21b0b42 Changed CMake warning to status to not kill the CI
Furthermore removed obsolete uavcanconfig target
2021-10-07 10:09:01 -04:00
Peter van der Perk 7a747b43f6 Initial boardconfig working with FMUK66 2021-10-07 10:09:01 -04:00
Peter van der Perk 4044fbd4a0 Initial Kconfig implementation in CMake
Used fmuk66-v3 as test case
2021-10-07 10:09:01 -04:00
Peter van der Perk 4b89ff29ce PX4 full firmware Kconfig PoC 2021-10-07 10:09:01 -04:00
Peter van der Perk 55aa2e50ff UAVCANv1 menuconfig make it board label configurable 2021-10-07 10:09:01 -04:00
Peter van der Perk b9bcb7fe7f uavcanconfig force CMake reconfiguration after use 2021-10-07 10:09:01 -04:00
Peter van der Perk 95e593f3b8 Added python menuconfig.py fallback 2021-10-07 10:09:01 -04:00
Peter van der Perk 37271d334b [UAVCANv1] Initial uavcanconfig menuconfig example 2021-10-07 10:09:01 -04:00
Igor Mišić 0cae3c129d protocol_splitter: delete non rtps or mavlink data from buffer
protocol_splitter: add missing buffer_size checker
2021-10-07 09:23:23 -04:00
Silvan Fuhrer a202bcbc73 VTOL: fix param description concerning VT_PITCH_MIN
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-07 09:22:59 -04:00
Silvan Fuhrer fb8bf7eaa6 ROMFS: remove default params from configs
Remove params from airframe configs that are just set again
to the param default value or to the value that is
specified in the mc_default, fw_default or vtol_default.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-07 09:22:59 -04:00
Beat Küng 393f59ae71 param jsonout: handle @boolean flag
This got lost when switching from xml to json metadata
2021-10-07 09:20:50 -04:00
bresch d03bf42f60 slice: add min and max functions 2021-10-07 09:19:28 -04:00
Daniel Agar dc9e072e83 github actions ccache set hash_dir=false 2021-10-06 17:55:50 -04:00
Daniel Agar bbfaa4694c boards: cleanup serial RX DMA hrt_call_every
- remove ts_to_abstime dependency
2021-10-06 14:39:59 -04:00
Matthias Grob b40dbd3d6f FlightTaskAuto: hotfix filter for yawspeed feed-forward
to get rid of derivative spikes when navigator is
continuously updating the yaw setpoint in the
triplet for a POI but is running at a lower rate.

The proper solution is to generate that yaw setpoint
with high rate in the flight task and have the triplet
just guid to the next waypoint at low rate.
2021-10-06 14:06:58 -04:00
Daniel Agar 3e6ff2451b github actions increase newly added timeouts 2021-10-06 13:47:12 -04:00
Daniel Agar 6e057a644b github actions remove ccache from deploy metadata and low priority builds
- this is an attempt to preserve our limited amount of github actions
cache storage
2021-10-06 13:46:20 -04:00
Daniel Agar 0bdcd54184 mavlink: reciever trajectory_representation_waypoints resepect valid_points
- fixes https://github.com/PX4/PX4-Autopilot/issues/18369
2021-10-06 13:45:15 -04:00
Silvan Fuhrer 31a599f303 Commander: add comment in COM_RC_OVERRIDE that it's always enabled in Descend mdoe
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:32:23 -04:00
Silvan Fuhrer eeb6244c6b Commander: add wind speed warning
Publishes periodically (max every 1 min) a warning if the current wind estimate
is above COM_WIND_WARN.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:31:13 -04:00
Silvan Fuhrer 1a4ce136f3 Tiltrotor: add hover tilt offset to pusher assist tilt
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:27:19 -04:00
Silvan Fuhrer 4e3fa7cf35 VTOL: rework forward actuation assist
-allow positive pitch offsets in hover
-add param for min pitch during LAND

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:27:19 -04:00
Silvan Fuhrer f0de88fada vtol_type: fix motor_state::VALUE
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:26:39 -04:00
Matthias Grob a461bb971a FlightTask: preserve vertical velocity during reactivation
to allow descending by stick for reliable land detection.
Issue:
Stick smoothing gets completely reset to state when not taken off
-> downwards velocity setpoint is gone when not taken off
-> in_descend flag of land detection is never true when not taken off
-> when landing but falling out of landing it landing detection fails
bafore taking off and landing again
2021-10-06 11:25:51 -04:00
Matthias Grob c20e5e3a00 FlightTaskManualAltitudeSmoothVel: remove separate reactivate handling
It was added before the activation was able to work with the previous
setpoint.
2021-10-06 11:25:51 -04:00
Matthias Grob 9b92862980 MulticopterLandDetector: correct in_descend comment 2021-10-06 11:25:51 -04:00
Daniel Agar 10bc778651 boards: freefly_can-rtk-gps delete unused include 2021-10-06 10:41:36 -04:00
bresch d95e387d79 angular acceleration: change 2nd order to 1st order LPF
Having a 2nd order low-pass filter in the derivative loop reduces
stability at low cutoff values as too much phase is lost through
the filter. Using a 1st order filter avoids this issue because its
maximum phase loss is 90 degrees instead of 180 degrees for a 2nd order
lpf.
2021-10-06 16:26:03 +02:00
bresch 1b58202b0d AlphaFilter: add function to set param from cutoff frequency 2021-10-06 16:26:03 +02:00
Daniel Agar b5d401b20c drivers/imu: ensure timestamp_sample adjustment isn't done as float (continued) 2021-10-06 10:19:01 -04:00
Daniel Agar e31dd34388 lib/led: replace subscription missed error with perf count 2021-10-06 09:31:44 -04:00
Daniel Agar 113ea5ea26 github actions add timeout to all_variants nuttx compile job 2021-10-06 09:28:27 -04:00
Daniel Agar 6edb1fa1f8 github actions add timeout to SITL tests run 2021-10-06 09:28:27 -04:00
Daniel Agar ad27d2c49a github actions enable ccache hash_dir for SITL tests 2021-10-06 09:28:27 -04:00
Daniel Agar 52fccb1e75 github actions decrease ccache max_size selectively 2021-10-06 09:28:27 -04:00
Daniel Agar d002002ceb github actions increase ccache compression level 2021-10-06 09:28:27 -04:00
Daniel Agar ddd1dea4f0 ekf2: avoid uint64 timestamp conversion to float 2021-10-06 09:27:06 -04:00
Daniel Agar dc1b423721 drivers/imu: ensure timestamp_sample adjustment isn't done as float
- larger HRT timestamps can't be represented exactly when cast to float
2021-10-06 09:26:26 -04:00
Julian Oes 6b8840a01b commander: fix switch to ALTCTL when RC regained
This fixes the case where we sometimes switch to altitude control
instead of position control when RC is regained.

What happens is that we detect that the pilot wants to take over control
right when RC comes back. This means that we try to go in position
control in main_state_transition, however, we are already in position
control because we come back from the failsafe state. The result of
main_state_transition is then TRANSITION_NOT_CHANGED, and therefore we
"fall back" to altitude control even though being already in position
control would have been fine.

This fix checks the return result of main_state_transition correctly and
only reacts to TRANSITION_CHANGED and TRANSITION_DENIED but ignores
TRANSITION_NOT_CHANGED.
2021-10-06 10:30:08 +02:00
Daniel Agar 51758bd7e6 boards: delete unused variants 2021-10-05 23:14:04 -04:00
Daniel Agar 3570e5a4f0 boards: cuav_nora_test disable attitude_estimator_q to save flash 2021-10-05 20:43:43 -04:00
Silvan Fuhrer 2dca51216c vtol: change message for transition timeout warning
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-05 18:19:33 -04:00
Silvan Fuhrer bdc57178d4 Tailsitter: add add transition timeout (abort transition after VT_TRANS_TMEOUT, Quadchute)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-05 18:19:33 -04:00
Silvan Fuhrer 1a1bb2629d tiltrotor: add transition timeout (abort transition after VT_TRANS_TIMEOUT, Quadchute)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-05 18:19:33 -04:00
Daniel Agar 02aed782e3 boards: px4_fmu-v6x_default disable sd_stress to save flash 2021-10-05 18:17:22 -04:00
Daniel Agar beb358a344 px4_work_queue: adjust status formatting to accommodate longer names (eg mc_autotune_attitude_control) 2021-10-05 18:09:00 -04:00
Silvan Fuhrer 98c7f664c1 FW Position control: add roll slewrate also in manual Position flight mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-05 18:06:49 -04:00
Matthias Grob 2edd97102b Sticks/StickYaw: refactor to use constructor properly 2021-10-05 18:05:54 -04:00
Matthias Grob 0cc13f0799 FlightTaskAutoMapper: add horizontal and yaw nudging during final descent 2021-10-05 18:05:54 -04:00
Matthias Grob bb9f167d79 StickAccelerationXY: add reseting position to specified coordinates 2021-10-05 18:05:54 -04:00
Daniel Agar 578d57a060 Jenkins: hardware disable sd_stress temporarily
- currently failing intermittantly when run on the test rack
2021-10-05 17:55:52 -04:00
Daniel Agar b4d33a36f8 boards: px4_fmu-v6x_default disable examples/fake_gps to save flash 2021-10-05 17:11:47 -04:00
Daniel Agar 2b9ebb7ed6 boards: holybro_kakutef7 disable systemcmds/work_queue to save flash 2021-10-05 17:10:30 -04:00
Thomas Stauber 983dd4db29 don't switch to SETPOINT_TYPE_LOITER during transitions (#18350) 2021-10-05 14:40:14 +02:00
Julian Oes 75b8e11b90 commander: make LAND failsafe stick
By default we would leave the LAND failsafe as soon as a link comes
back. With this change, we switch to the LAND failsafe like a proper
mode change, immediately disabling the failsafe as such.
This is as the same that is done for RTL in fact.

This is not optimal but a workaround for the problem where we switch out
of failsafe right on landing and then discover takeoff again and start
looping through it again and again without ever disarming.
2021-10-05 14:02:22 +02:00
Daniel Agar 896ad3a627 cmake: fix find_program ozone 2021-10-04 18:27:50 -04:00
Daniel Agar a519916d79 systemcmds/sd_stress: return -1 on FAIL 2021-10-04 17:38:31 -04:00
Daniel Agar c271a9e3e6 add sd_stress to all boards and run on test rack 2021-10-04 17:38:31 -04:00
Julian Oes 397b1ed8d6 Add sd_stress command 2021-10-04 17:38:31 -04:00
Julian Oes 4701a513c2 mavlink: fix errno for rename 2021-10-04 17:38:31 -04:00
Julian Oes 59b56dd06f mavlink: add more error messages 2021-10-04 17:38:31 -04:00
Julian Oes 74b2fe326d mavlink: don't (mis)use errno as global variable
I think it was not the best idea to use errno as a global variable to
keep track of the error code. I saw the errno change from where it was
set to where it was actually used, maybe because part of it is called in
the receive thread and part in the regular update/send() thread.

To be safe, I just created a class variable instead.
2021-10-04 17:38:31 -04:00
Julian Oes 96388f07fd mavlink: improve debugging around MAVLink FTP
- Remove ifdefs with MAVLINK_FTP_DEBUG and use PX4_DEBUG instead
- Add a couple of more PX4_DEBUG lines
2021-10-04 17:38:31 -04:00
Daniel Agar c35f68b49d boards: px4_fmu-v5 sync UAVCAN_TIMER_OVERRIDE across all variants 2021-10-04 15:27:15 -04:00
Daniel Agar 00b15798da Tools/HIL/run_tests.py - temporarily disable flaky dataman test until it can be reviewed 2021-10-04 12:54:01 -04:00
Daniel Agar 1325b9c876 Jenkins: hardware retry checkout if necessary 2021-10-04 12:54:01 -04:00
benjinne 413e15d083 Add vscode cmake-variant for px4_sitl_rtps 2021-10-04 11:58:26 -04:00
Beat Küng 540c024cbb parameters: avoid printing errors for erased flash devices
Errors:
ERROR [parameters] param import failed (-1) attempt 1, retrying
ERROR [parameters] param import failed (-1) attempt 2, retrying
ERROR [parameters] param import failed (-1) attempt 3, retrying
ERROR [parameters] param import failed (-1) attempt 4, retrying
ERROR [param] importing from '/fs/mtd_caldata' failed (-1)
2021-10-04 10:25:32 -04:00
Daniel Agar cc4152e10d gyro_fft: require higher SNR for initially tracking a peak
- initial frequency peak tracking SNR increased from 10->15 db
 - after initial detection the threshold decreases to SNR 5db
 - gyro_fft large method refactored into smaller pieces
 - sensors/vehicle_angular_velocity: dynamic notch FFT make sample rate
check a percentage and relax lower bound safety threshold
2021-10-04 10:17:16 -04:00
Daniel Agar 6d78054f50 mavlink USB auto start/stop on boards with VBUS
- no longer start sercon or mavlink usb by default
 - on USB connection (VBUS) monitor serial USB at low rate and start Mavlink if there's a HEARTBEAT or nshterm on 3 consecutive carriage returns
 - the mavlink USB instance is automatically stopped and serdis executed if USB is disconnected
 - skipping Mavlink USB (and sercon) saves a considerable amount of memory on older boards
2021-10-03 15:32:54 -04:00
bresch 07e307b074 FieldSensorBiasEst: fix bias learning equation
Also compensate the tuned learning gains for the new equation to keep
the same tuning
2021-10-02 21:25:21 -04:00
bresch e0bcc17f5b mbe: integrate pre-takeoff mag bias estimate in VehicleMagnetometer 2021-10-02 21:25:21 -04:00
bresch 1443f773da mbe: add module to targets 2021-10-02 21:25:21 -04:00
bresch ec178c8745 create new mag_bias_estimator module
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-10-02 21:25:21 -04:00
bresch d858835fd0 mbe: initialize estimator with current measurement 2021-10-02 21:25:21 -04:00
bresch 9067d9cae9 mbe: improve algorithm and fix unit test 2021-10-02 21:25:21 -04:00
Matthias Grob 24dc627e8a Add MagnetometerBiasEstimator for online magnetometer calibration 2021-10-02 21:25:21 -04:00
bresch 5874b1f87c mc atune: add module to all targets
- adjust flash constrianed targets to fit
2021-10-02 18:12:05 -04:00
bresch b99dbcc6a7 ModuleDocumentation: add autotune categorie 2021-10-02 18:12:05 -04:00
bresch 61dabca4c8 mavlink_receiver: Add mavlink handler with progress report 2021-10-02 18:12:05 -04:00
bresch d463dfe2d8 mavlink_receiver: handle auto-tuning command 2021-10-02 18:12:05 -04:00
bresch cd61065aea sitl: start MC autotune module 2021-10-02 18:12:05 -04:00
bresch 9681f819a8 mc_att: inject identification signal in att control output 2021-10-02 18:12:05 -04:00
bresch 0498ee92d0 mc atune: add multicopter attitude auto-tuner module 2021-10-02 18:12:05 -04:00
bresch d3cb806627 pid_design: add model-based PID tuning law based on GMVC 2021-10-02 18:12:05 -04:00
bresch 404145c655 sysID: add system identification library 2021-10-02 18:12:05 -04:00
bresch d504b49695 mc_rate: compute control energy and publish to status msg 2021-10-02 18:12:05 -04:00
Alex Klimaj 0a662ef22c Add uavcannode RTCM subscriber 2021-10-01 20:43:49 -04:00
alexklimaj 05ee31072a Add ARK RTK GPS 2021-10-01 20:34:32 -04:00
Daniel Agar c1c86bc349 Jenkins: hardware clear ccache stats before compiling 2021-10-01 20:31:29 -04:00
Daniel Agar a53946649a sensors/vehicle_magnetometer: only check if sensor enabled after parameters loaded 2021-10-01 20:30:46 -04:00
Daniel Agar 3c8f1f2a50 Jenkins: reduce build agent cpu share 2021-10-01 18:18:51 -04:00
SungTae Moon 2adf3f959b Update Tools/gazebo_sitl_multiple_run.sh
Co-authored-by: JaeyoungLim <jalim@ethz.ch>
2021-10-01 16:09:32 +02:00
stmoon bc5d55c4a4 fix the problem related to sitl multiple vehicle environment 2021-10-01 16:09:32 +02:00
marcojob 68a13326f0 mavlink: remove unused strncpy (#18300) 2021-10-01 10:58:25 +02:00
David Sidrane 7c9903f610 stm32h7:px4io_serial use TRBUFF
- includes NuttX with TRBUFF backports
2021-09-29 23:55:00 -04:00
David Sidrane 25a27d26e0 logger:log_writer_file Do not try to store ulog name on systems without hardfault logging 2021-09-29 23:51:25 -04:00
David Sidrane f56701e72f micro_hal:Remove px4_savepanic on arch without hardfault logging 2021-09-29 23:51:25 -04:00
David Sidrane cb47203a9e NuttX with deglitched GPIO backports 2021-09-29 23:50:11 -04:00
Daniel Agar f3a904c109 Jenkins: HIL increase timeout
- occasionally we have a considerable backlog
2021-09-29 20:37:07 -04:00
David Sidrane 63e29b821c holybro_can-gps-v1:Ensure sensors are powered 2021-09-29 14:37:17 -04:00
David Sidrane 2abbf791b3 NuttX with deglitched GPIO backports 2021-09-29 14:37:17 -04:00
David Sidrane 70eca23468 ark_can-gps_debug:Fit in Flash w/o loosing tools 2021-09-29 14:37:17 -04:00
David Sidrane 20c1f763d2 px4_fmu-v4:CAN build needs .app_descriptor 2021-09-29 14:34:42 -04:00
David Sidrane 797bd9592b mxp_ucans32k146:using padding of 8 2021-09-29 14:34:42 -04:00
David Sidrane f4e9672fde make_can_boot_descriptor:Add padding argument 2021-09-29 14:34:42 -04:00
Peter van der Perk 360c3781f3 UCANS32K146-01 Add CAN tranceiver self test 2021-09-29 09:36:14 -07:00
Daniel Agar c39a21aa54 ekf2: selector remove special timeout condition
- this mainly produces false positives when disarmed and bench testing
2021-09-29 09:59:08 -04:00
Paul Riseborough ed7c5991eb ekf2: Fix dimensional error in gyro and accel bias variance conversions 2021-09-29 09:58:41 -04:00
Hyungsub 5677ab042b tap_esc: fix resource leak (#18296) 2021-09-29 14:51:31 +02:00
Daniel Agar 03bd5e0f48 lib/led: move drivers/lights/rgbled LED_RGB_MAXBRT -> SYS_RGB_MAXBRT 2021-09-28 10:09:55 -04:00
Nicolas Martin b24e5fc0af clean remaining offboard_control_signal_found_once
offboard_control_signal_found_once is not used any more
2021-09-28 09:25:04 -04:00
Nicolas Martin 417a50b2cc fix typo in comment 2021-09-28 09:24:47 -04:00
Jukka Laitinen 6cae4c92e7 Add a header to logfile encryption key exchange file
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 9a4ef709ca Add parameters for configuring the logfile encryption
SDLOG_ALGORITHM for selecting the crypto algorithm
SDLOG_KEY for selecting the key in keystore to use with the algorithm.
  for symmetric algorithms which are currently supported, this is just a free
  slot to be used, the key is generated at logging start
SDLOG_EXCH_KEY for selecting an RSA2048 key for encrypting the SDLOG_KEY

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 1687cab56c FMUv5: Add a build target for crypto interface testing, px4_fmu-v5_cryptotest
To avoid messing with existing targets, and to automatically set the test keys
for the keystore.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen ce76380051 Add a simple script to decrypt ulog files
This now only decrypts xchacha20 encrypted logs, where keys are
exchanged with rsa_oaep_sha256 and nonce appended to the end of the
key

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 9472f79307 Take crypto interfaces into use in logger, to encrypt ulog data
- Generate a symmetric encryption key and a nonce value
- Use a public key in keystore to encrypt the symmteric key
- Write the encrypted key and the nonce value to disk into .ulgk, name matching with the encrypted log file
- use quick stream encryption to crypt the .ulg file contents

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 6b22fe99b7 Globally define -DPX4_CRYPTO when the board defines some crypto backend
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 3db76d88fe Add crypto key generation functions
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 4c6779812d Add keystore_put_key interface function for storing keys permanently
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen fc2668cba1 Add encryption function for the crypto_backend and px4_crypto
Take into use libtomcrypt library to add RSA and some other algorithms
for SW ecnryption use case

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 634d911b74 Add a test key for RSA2048
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen 40063bd54b Add libtomcrypt and libtommath submodules
These provide e.g. rsa_oaep, which can be used for sw crypto

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen be4f7cabf9 Add compilation of nuttx_crypto
NuttX has lots of usable functionality for crypto, such as rng with entropy pool

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen d36a91ceaf Add generic px4 interface for crypto features
Add common functions, implemented for nuttx, and link to architecture specific libraries

Make a separate library to wrap nuttx random number generator as "os_random".

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Jukka Laitinen aa61bc4942 Add functions for initializing empty crypto backend handles
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Julian Oes 9290ea974e commander: allow force disarming
Allows to do commander disarm -f to disarm no matter what.
2021-09-27 09:58:03 -04:00
Daniel Agar 333f539900 mavlink: add simple incoming message stats to status 2021-09-27 09:48:00 -04:00
PX4 BuildBot feff564882 Update submodule jMAVSim to latest Mon Sep 27 00:38:51 UTC 2021
- jMAVSim in PX4/Firmware (592885480e): https://github.com/PX4/jMAVSim/commit/0a5375a70689aac53143768de9033034f3636022
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/0a5a8c6d9da05bee5f82faa25430213d97d396b0
    - Changes: https://github.com/PX4/jMAVSim/compare/0a5375a70689aac53143768de9033034f3636022...0a5a8c6d9da05bee5f82faa25430213d97d396b0

    0a5a8c6 2021-09-02 Julian Oes - Merge pull request #130 from PX4/pr-udp-connection
2590b24 2021-09-01 Julian Oes - UDPMavLinkPort: add debug output around wait
7255b28 2021-08-31 Julian Oes - src: enable UDP connection in client and host mode
2021-09-27 08:05:48 +02:00
Daniel Agar 592885480e boards: ark_can-gps_debug disable perf to save flash 2021-09-26 12:29:11 -04:00
Daniel Agar 9a3fa6199b uorb top report total publication rate 2021-09-26 12:29:11 -04:00
Julian Oes e81214a22f mavlink: avoid double trigger using sequence
By adding the sequence number we can avoid double triggering due to
command retransmissions. This is according to the mavlink spec for
MAV_CMD_IMAGE_START_CAPTURE.
2021-09-25 20:18:07 -04:00
bresch 76615f8df3 VTOL: set HTE horizontal speed sensitivity threshold low 2021-09-25 20:07:28 -04:00
bresch 904ed57aba HTE: decrease sensitivity with speed
VTOL planes are getting lift from the wing when flying in MC mode at
high speed. They (and some other drones) also get extra drag when
climbing and descending at high speed, corrupting the hover thrust
estimate.

To avoid this, two speed thresholds (vertical and horizontal) are defined
above which the sensitivity of the estimator is decreased by linearly
increasing the observation noise.
2021-09-25 20:07:28 -04:00
achim c67d943158 boards: mro_ctrl-zero-h7-oem board.h fix SPI5 (#18294)
- fix spi pin missmatch PF9=GPIO_SPI5_MOSI_2
2021-09-25 20:05:18 -04:00
Daniel Agar e4b0fa25a2 systemcmds/tests: remove px4io conv test 2021-09-25 19:15:05 -04:00
Beat Küng 1b0bfd6381 dataman: remove nonexisting SYS_RESTART_TYPE param 2021-09-25 19:15:05 -04:00
Daniel Agar 089c962d92 px4io: moving mixing to FMU side
Using mixers on the IO side had a remote benefit of being able to
override all control surfaces with a radio remote on a fixed wing.
This ended up not being used that much and since the original design
10 years ago (2011) we have been able to convince ourselves that the
overall system stability is at a level where this marginal benefit,
which is not present on multicopters, is not worth the hazzle.

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-09-25 19:15:05 -04:00
PX4 BuildBot f772b0f45d Update submodule sitl_gazebo to latest Sat Sep 25 12:38:57 UTC 2021
- sitl_gazebo in PX4/Firmware (e800e7c27663ae0a08ae1e377cbccd2272657ad0): https://github.com/PX4/PX4-SITL_gazebo/commit/53d606b32f5729cc70d59281085d639bd97b30d7
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/d8366bf2389eae6106d1dbfaac72ebfdf23a5d2d
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/53d606b32f5729cc70d59281085d639bd97b30d7...d8366bf2389eae6106d1dbfaac72ebfdf23a5d2d

    d8366bf 2021-09-19 Mohamed ElDewany - Fix gazebo plugin for laser sensor
37a3a64 2021-09-16 Julian Oes - camera: fix stream URI
2561ff0 2021-09-01 Julian Oes - mavlink_interface: enable HITL over UDP
9216dab 2021-09-01 Julian Oes - mavlink_interface: remove poll before writing
8e9eb3f 2021-09-01 Julian Oes - mavlink_interface: clean up switch case
a009174 2021-09-01 Julian Oes - mavlink_interface: use flag from mavlink_interface
6f1243a 2021-09-01 Julian Oes - mavlink_interface: remove redundant inline keyword
2021-09-25 11:56:50 -04:00
David Sidrane f01cab3be1 px4io:Ensure proper lifecycle of registration of cdev 2021-09-24 19:01:54 -04:00
Igor Mišić 9ad0e5b357 mavlink_receiver: updated sens flow parameters to be dynamically handle 2021-09-23 09:23:22 +02:00
Beat Küng e73172b537 hrt: remove hrt_elapsed_time_atomic
There's no protection on posix
2021-09-23 09:23:08 +02:00
Beat Küng 6f902e54f9 mavlink: correctly lock radio status
- hrt_elapsed_time_atomic is not atomic on posix
- other fields like _radio_status_mult need protection as well
2021-09-23 09:23:08 +02:00
Beat Küng 0bfb1a983b px4iofirmware: avoid using hrt_elapsed_time_atomic
It's only ever read and written in controls_tick() after startup
2021-09-23 09:23:08 +02:00
Beat Küng eec94965f2 serial: add pixhawk payload bus option 2021-09-23 09:23:08 +02:00
Igor Mišić 682db4b8ac dshot: timeout if commands are not processed 2021-09-23 09:22:49 +02:00
bresch e53d2907d7 AutoSmoothVel: adjust controller constraints in emergency braking
When engaging auto mode at high vertical speed, we don't want to cut the velocity
trajectory setpoint in order to create a smooth deceleration.
2021-09-23 09:22:32 +02:00
bresch 316e0dfeb5 AutoLineSmoothVel: add emergency braking mode
Currently only for the Z axis. If the current downward velocity is more
than twice the maximum allowed value, the emergency braking mode is
activated. In this mode, a higher vertical acceleration and jerk is used
until the vehicle stops moving.
2021-09-23 09:22:32 +02:00
Igor Mišić 92696b589f sdp3x: stop continuous measurement while reconfig 2021-09-23 09:22:09 +02:00
Igor Mišić 3a148bc777 camera_trigger: remove camera trigger secondary
camera_trigger: publish trigger when capture feedback is not enabled
2021-09-23 09:21:56 +02:00
Hamish Willee f41e5985e8 vehicle_local_position: clarify origin of system 2021-09-22 10:14:23 +02:00
Thomas Debrunner 43ece74fa0 ina238: Do not expose raw adc config to user, make specific to ina238 2021-09-22 10:02:17 +02:00
Thomas Debrunner b8d0bb44c4 ina23X: Support for ina23X power monitors 2021-09-22 10:02:17 +02:00
Daniel Agar cf5da66e9f Jenkins: hardware disable gyro auto cal and FFT before running tests 2021-09-21 19:13:30 -04:00
Daniel Agar 87db18c1a0 Jenkins: hardware don't allow board cleanup commands to fail build 2021-09-21 19:13:30 -04:00
Daniel Agar a92e44c90e Tools/HIL/run_nsh_cmd.py: echo success cmd twice to avoid missing dropouts 2021-09-21 19:13:30 -04:00
Julian Oes faca2b17d0 camera_trigger: only get param if available 2021-09-17 12:23:30 +02:00
Daniel Agar 7af5a33ff3 commander: don't play failsafe tune if disarmed 2021-09-16 09:17:00 -04:00
Matthias Grob ecb1264832 vscode: do not disable autocomplete on enter 2021-09-16 09:11:52 -04:00
Julian Oes c779946e05 setup: Use available Java version for Ubuntu 20.04
14 was not available for me, 16 would have been.
2021-09-16 13:59:27 +02:00
Julian Oes addb978364 setup: Let's not ignore errors
Otherwise the script finishes and you don't know if it worked.
2021-09-16 13:59:27 +02:00
Daniel Agar 3d56836850 boards: nxp_fmurt1062-v1 disable extra barometers to save flash 2021-09-15 12:59:36 -04:00
Thomas Stauber 2b80a6958a fix disable airspeed check with negative ASPD_FS_INTEG (#18186)
* fix disable airspeed check with negative ASPD_FS_INTEG

* improve logic when nav velocity data is not good

* simplify logic. Reset integrator state when the check is not run.
2021-09-14 12:13:56 +02:00
Matthias Grob e7a90bf367 PositionControl: correct horizontal margin calculation
It was using the already reduced vertical thrust to do
the horizontal limitation resulting in no margin.
2021-09-14 10:57:38 +02:00
Matthias Grob d1f1e02afb Refactor mode button changes 2021-09-14 09:52:32 +02:00
Claudio Micheli 05d40f40d4 Handle rc toggle mode buttons to initialize flight modes
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-09-14 09:52:32 +02:00
Claudio Micheli c50daae4a3 rc_update: introduce support for toggle buttons via RC channels
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-09-14 09:52:32 +02:00
Daniel Agar ca2d8f6de2 Update submodule simulation-ignition to latest Tue Sep 14 00:39:01 UTC 2021 2021-09-13 21:09:50 -04:00
Daniel Agar e6552370ab imu/invensense: adjust scheduling dynamically if not using data ready interrupt 2021-09-12 17:34:35 -04:00
Claudio Micheli fa4fc5f347 esc_report: change esc_temperature field to allow negative values
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-09-11 15:14:49 -04:00
David Jablonski 7d7200cf2f Added yaw to CMD_DO_SET_HOME 2021-09-11 15:14:01 -04:00
Hamish Willee ce206d992b RC_FAILS_THR and RC_MAP_FAILSAFE improve parameter description 2021-09-11 15:12:54 -04:00
Daniel Agar 212898ff42 Makefile: fix submodulesupdate 2021-09-11 15:10:56 -04:00
Beat Küng 810d2e9497 ModuleParams: remove parent in destructor
This allows for dynamic deletion of children objects (in most cases this
is not used).

Uses ~100B memory.
2021-09-11 15:07:49 -04:00
bresch f09b34007e CA: reload CA matrix to newly created CA class properly
Also remove the dependency of ActuatorEffectivenessMultirotor
to param update uORB topic; the CA module
sends a "force" parameter when needed
2021-09-11 15:07:49 -04:00
bresch cf5917d188 control_allocator: restructure param update
recompute effectiveness on param change
clear update at the end
2021-09-11 15:07:49 -04:00
David Jablonski 9d974062d0 replay: improved logging for format mismatchs 2021-09-11 14:37:52 -04:00
Beat Küng bf48057090 px4/fmu-v2_test: disable modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 946857ddf7 px4/fmu-v6x: disable modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 673de86553 cubepilot/cubeorange: disable system_time and motor_ramp to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 759d03e5f9 nxp/fmurt1062-v1: disable modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng ce747fac62 cuav/x7pro: disable modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 3e899564d4 cuav/nora: disable some modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng c49e78cbac holybro/durandal-v1: disable modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 5b674ea831 ROMFS: remove some airframes and mixers on v2 to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 1a743e1117 collision_prevention: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 5b70fd4a1d airspeed_selector: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 5fb16e4395 fw_pos_control_l1: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 0a1ae37c1a logger: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 38eca0c64b logger: start session & log index at 100
To avoid leading zeros, as the events interface does not support that (yet)
2021-09-11 14:08:41 -04:00
Beat Küng b31276a4f5 mavlink: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 90940c3672 mc_pos_control: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 79a0edafb5 vehicle_air_data: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng a8cc2f9ef6 vehicle_imu: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng acb73fde14 vehicle_magnetometer: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng f8dc915789 vtol_att_control: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng dc87f8a7a4 events: unescape message to match the behavior of the C++ compiler 2021-09-11 14:08:41 -04:00
Beat Küng e1b8611323 px4/fmu-v5/optimized: disable some modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 9bba13f3e2 px4/fmu-v2/multicopter: disable some modules to reduce flash 2021-09-11 14:08:41 -04:00
Beat Küng 1f73294ad7 navigator: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng 5ac43e7236 commander: switch to events 2021-09-11 14:08:41 -04:00
Daniel Agar 8866215d1d sensors/vehicle_imu: add protections for bad sensor data
- check for inconsistent timestamps, zero samples, and numerical issues in online mean
2021-09-11 13:04:46 -04:00
Matthias Grob 3c57c67ce3 Make arch setup script executable
I usually called it using `source arch.sh`
but if it's executable it could also be called using `./arch.sh`
and that's also what's done for the ubuntu setup script.
2021-09-10 07:50:23 +02:00
m4v3r a238965228 boards: modalai_fc-v1 update default.cmake (#18202)
- makes TELEM/SERIAL-4 (VOXL-Flight J1009) work
2021-09-09 09:03:21 -04:00
Jukka Laitinen 28dbd8dc1d NuttX at 10.1.0+
NuttX backport fixing ARM protected build
2021-09-09 04:43:22 -07:00
Thomas Schneider 2e36fff31d Implement option to reboot px4 using protocol_splitter format when flashing. 2021-09-09 10:12:11 +02:00
Jukka Laitinen ffa5abbd65 ci: update container versions to 2021-09-08
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-09 09:43:15 +02:00
Beat Küng c5c80e31b6 boards: remove DIRECT_INPUT_TIMER_CHANNELS from board_config.h 2021-09-08 16:10:24 -04:00
Beat Küng ae8733c2d4 pwm_input: remove 'test' command and use 'status' instead 2021-09-08 16:10:24 -04:00
Beat Küng f1aafe83b3 pwm_out: cleanup, remove _output_mask & only update owned channels
_pwm_mask reflects the actually owned channels.
2021-09-08 16:10:24 -04:00
Beat Küng a8e75d174c boards: remove BOARD_HAS_PWM and use DIRECT_PWM_OUTPUT_CHANNELS 2021-09-08 16:10:24 -04:00
Beat Küng 1ee423e3c8 pwm_out, dshot: remove mode_* handling and capture ioctl's
They now use all unused pins, whereas camera_capture, camera_trigger and
pwm_input modules start before to reserve their pins.
2021-09-08 16:10:24 -04:00
Beat Küng 062dd28f4d camera_capture: use up_input_capture_set directly
It reserves the channel and pwm_out will not use it
2021-09-08 16:10:24 -04:00
Beat Küng 78b5cdae4c s32k1xx: io_timer: reserve pins & timers on first use 2021-09-08 16:10:24 -04:00
Beat Küng ab828b8e94 kinetis: io_timer: reserve pins & timers on first use 2021-09-08 16:10:24 -04:00
Beat Küng 7d9a3bf29f imxrt: io_timer: reserve pins & timers on first use 2021-09-08 16:10:24 -04:00
Beat Küng 9a74c6f3c6 stm32: io_timer: lock around io_timer_allocate_channel and io_timer_get_channel_mode
This is to avoid potential race conditions during startup.
All startup code runs sequentially atm, so this is just for robustness
for later (e.g. concurrent pwm_out and dshot start).
2021-09-08 16:10:24 -04:00
Beat Küng 847bd120fa io_timer: reserve pins & timers on first use
This allows modules to do a first-come-first-serve pin/timer reservation
on bootup.
E.g. camera trigger reserves any of the pins, and then PWM/DShot output
will just use the rest of the available pins.
2021-09-08 16:10:24 -04:00
Beat Küng 0d7176b766 boards: remove camera_capture from sitl and linux targets
It uses io_timer lib
2021-09-08 16:10:24 -04:00
Daniel Agar 422a0f7103 boards: px4_fmu-v5_debug enable more debug errors and warnings 2021-09-08 16:04:45 -04:00
bresch aad11ecc65 PreFltCheck: do not force to report ekf2 failures on GCS connection
EKF2 has a grace period of 10 seconds after boot where it doesn't need
to warn the user while the sensors (especially GNSS) are still
converging.
A connection to a GCS shouldn't skip this grace period but
an arming request should.
2021-09-08 14:41:26 -04:00
Matthias Grob 58ea97a699 MulticopterPositionControl: add horizontal margin for saturation cases 2021-09-08 19:55:27 +02:00
benjinne 06a91ec752 Improve offboard failsafe (#18160)
* state_machine_helper: improve offboard failsafe

* state_machine_helper: add missing parameter to set_link_loss_nav_state

* state_machine_helper: fix no rc and offboard reason

* Fix offboard test by enabling rcl_except

* mavros_test fix offboard_posctl_test with rcl_except

* autopilot_tester make RcLossException bits explicit

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

* autopilot_tester change rcl_except to rc_loss_exception

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

* autopilot_tester fix rc_loss_exception renaming errors

Co-authored-by: Julian Oes <julian@oes.ch>
2021-09-08 18:19:53 +02:00
ShiauweiZhao 686bcff8a7 new TDK ICM42670p IMU driver support (#18141)
Co-authored-by: zhaoxiaowei <zhaoxiaowei@efy-tech.com>
2021-09-08 10:24:22 -04:00
Daniel Agar 000765e9f0 NuttX mount procfs and binfs in px4 init 2021-09-08 10:21:24 -04:00
Daniel Agar 29a91306b5 lib/led: error if dropping ORB_ID(led_control) messages 2021-09-08 10:21:09 -04:00
Daniel Agar 5c7882b787 icm42688p: properly disable anti-aliasing and notch filter 2021-09-08 10:20:57 -04:00
Daniel Agar 4b5a91bf7d experimental driver for the Tattu 12S 16000mAh Smart Battery on /dev/can0 (#18164)
-  This driver is highly specific to this model of Tattu battery and cannot work with other models without code changes. 
 - The driver simply reads CAN frames using the NuttX CAN character device interface and converts the data into the proper format as specified in the Tattu datasheet

Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2021-09-08 10:20:14 -04:00
Daniel Agar 5eddf32cd3 boards: cubepilot_cubeorange only start ADSB mavlink if console not present
- cubepilot_cubeorange_test has the console enabled (used for test rack and bench debugging)
2021-09-06 11:52:58 -04:00
Sander Swart dbb0974b0c Removed TEL3 from cube orange default.cmake as it is used for the built in ADS-B receiver 2021-09-06 09:51:38 +02:00
Sander Swart bce1c06174 Added new line at the end of the file as per code style 2021-09-06 09:51:38 +02:00
Sander Swart 223410e17a Enable Cube Orange built in ADS-B receiver by default 2021-09-06 09:51:38 +02:00
Daniel Agar 8c47a190ac Jenkins: hardware stop sensors module before mirobenchmarks
- ignore irrelevant sensor timeouts during microbenchmarks
2021-09-05 23:18:28 -04:00
Daniel Agar cf0a4e06db boards: px4_fmu-v5x_test disable unused drivers to save flash 2021-09-05 23:18:28 -04:00
Daniel Agar 560ff42923 boards: px4_fmu-v2_test disable ms4525 to save flash 2021-09-05 23:18:28 -04:00
Daniel Agar 56a8f5f73e boards: px4_fmu-v2_test disable mc_hover_thrust_estimator to save flash 2021-09-05 23:18:28 -04:00
Daniel Agar 3dda360fac boards: px4_fmu-v5_optmized disable all additional barometers to save flash 2021-09-05 23:18:28 -04:00
Daniel Agar 476e050000 boards: cubepilot_cubeorange_test disable unused modules to save flash 2021-09-05 23:18:28 -04:00
Beat Küng 291ca246d2 matrix: update submodule (improves matrix inversion) 2021-09-05 23:18:28 -04:00
Beat Küng 73ab153fe0 fix test_microbench_math: don't try to measure single instructions
The clock is simply not accurate enough to do that.
Plus the measuring overhead is much higher than the executed instruction.

Remaining issue: memory transfers (due to volatile) add non-negligible
overhead and distort the result. Could be solved by using inline assembly.
2021-09-05 23:18:28 -04:00
Daniel Agar 02ca1a6711 Update submodule mavlink v2.0 to latest Sun Sep 5 12:39:18 UTC 2021 2021-09-05 20:42:54 -04:00
PX4 BuildBot 6278c072c9 Update submodule sitl_gazebo to latest Mon Sep 6 00:40:01 UTC 2021
- sitl_gazebo in PX4/Firmware (51697b0d07665d85ca1ebd9105e3cdc621b41969): https://github.com/PX4/PX4-SITL_gazebo/commit/7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/53d606b32f5729cc70d59281085d639bd97b30d7
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0...53d606b32f5729cc70d59281085d639bd97b30d7

    53d606b 2021-09-01 stmoon - fix the bug for the low real time factor in gazebo
2021-09-05 20:42:33 -04:00
Daniel Agar a4e9444ca4 Makefile: submodulesupdate include fetching all tags recursively 2021-09-05 14:50:56 -04:00
RomanBapst 93075ad5e8 rtl: fixed computation of return altitude if destination is not home
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-09-05 10:26:24 +02:00
Jaeyoung-Lim d32f0d6168 Support headless mode for ignition gazebo
This adds support for `HEADLESS=1` when starting ignition gazebo with headless mode
2021-09-04 14:01:39 +02:00
Jaeyoung-Lim 3aa3f542ae Update simulation-ignition submodule 2021-09-03 15:54:46 +02:00
Jaeyoung-Lim 121bdfa630 Add verbose option for ignition gazebo
This commit adds verbose option for ignition gazebo
2021-09-03 15:54:46 +02:00
Jaeyoung-Lim 3c57626627 Update world path for ignition gazebo 2021-09-03 15:54:46 +02:00
xdwgood c35293107d tailsitter.cpp:If transition timeout,abort transition 2021-09-03 13:41:40 +02:00
Beat Küng 007a7f78ae CI: switch to github actions 2021-09-03 12:07:26 +02:00
Beat Küng c96f0a48b6 test: update gtest to v1.11.0 2021-09-03 12:07:26 +02:00
Beat Küng 7c1860f286 geninv(): pass result as argument
depending on usage, this reduces stack usage a bit.
2021-09-03 12:07:26 +02:00
Beat Küng dc7f119b99 geninv(): improve runtime performance and reduce stack usage
- use associativity of matrix operations to reduce size of temporary
  matrices and number of multiplications in the M <= N case
- minimize the number of temporary matrices required
2021-09-03 12:07:26 +02:00
RomanBapst 92abf0545a GeofenceBreachAvoidance: fixed bug which caused min vertical distance to fence
not to be calculated

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-09-02 15:45:19 +03:00
profff 9418d36cc9 Tools/docker_run.sh: use recent docker image to fix missing python jsonschema when compiling linux arm based targets (#18178) 2021-09-01 19:11:54 -04:00
Daniel Agar 99d7cf4255 parameters: only warn on invalid parameter import 2021-09-01 15:16:00 -04:00
Daniel Agar 92a48657e3 Jenkins: hardware tolerate listener command failure
- these are only for casually inspecting the system
2021-09-01 15:16:00 -04:00
Daniel Agar 86bd6a253b Jenkins: hardware test rebooting back to back multiple times 2021-09-01 15:16:00 -04:00
Daniel Agar 06c673a94f Jenkins: hardware move sd_bench to test section 2021-09-01 15:16:00 -04:00
Daniel Agar 478cc576ee commander: warn on offboard mission init
- this could happen because the SD card was formatted
2021-09-01 15:16:00 -04:00
Daniel Agar 347720e049 Jenkins: hardware always reset board when finished 2021-09-01 15:16:00 -04:00
Daniel Agar e7607b858d sensors: use vehicle_imu timestamp_sample instead of timestamp 2021-09-01 15:16:00 -04:00
Daniel Agar 45001d1ba4 boards: px4_fmu-v5x_test disable modules to save flash 2021-09-01 15:16:00 -04:00
Daniel Agar f1d00fe697 Tools/HIL: only print timestamp if newline in output 2021-09-01 15:16:00 -04:00
Daniel Agar 6ee16156bb Jenkins: hardware only list relevant parameters 2021-09-01 15:16:00 -04:00
Daniel Agar 33a3bc143b boards: ark_can-gps_debug disable systemcmds to save flash 2021-09-01 15:16:00 -04:00
Daniel Agar 225bd2d5a3 Jenkins: hardware limit stackcheck and debug build cpu usage 2021-09-01 15:16:00 -04:00
Daniel Agar a5a457d744 sensors: relax default data_validator timeout 20->40ms 2021-09-01 15:16:00 -04:00
Daniel Agar 3ff9295cbd Jenkins: hardware nxp_fmuk66-v3 limit IMU_GYRO_RATEMAX to save cpu 2021-09-01 15:16:00 -04:00
Daniel Agar bd8937642f lib/sensor_calibration: only warn if external rotation resetting
- this also happens with the actual default parameter value (-1)
2021-09-01 15:16:00 -04:00
Daniel Agar 40e5477edb NuttX boards fix mkfatfs and rcS logic 2021-09-01 15:16:00 -04:00
Daniel Agar 65b1a9648d Tools/HIL/run_nsh_cmd.py: fail if ERROR printed in output 2021-09-01 15:16:00 -04:00
Daniel Agar 2f99857b0a systemcmds/bl_update: add CONFIG_ARCH_CHIP_STM32F7 file size limit 2021-09-01 15:16:00 -04:00
Daniel Agar 369776cd4e Jenkins: hardware don't tolerate px4io status on known hardware 2021-09-01 15:16:00 -04:00
Daniel Agar c6dd03a8aa Tools/HIL/run_nsh_cmd.py - raise timeout slightly
- helps on slower debug builds
2021-09-01 15:16:00 -04:00
Daniel Agar c508404975 boards/px4/fmu-v4pro: fix incorrectly sized FRAM 2021-09-01 15:16:00 -04:00
Daniel Agar 61931fcbbc Jenkins: hardware failure allow px4_fmu-v5_debug monitor firmware upload failure
- due to reported errors in NuttX low level drivers
2021-09-01 15:16:00 -04:00
Daniel Agar 9e0fa8e82b boards: set SENS_TEMP_ID defaults 2021-09-01 15:16:00 -04:00
Daniel Agar 5dfc07cb1b systemcmds/param: add set-default sient (-s) option 2021-09-01 15:16:00 -04:00
Daniel Agar 054d0b995c px4iofirmware: remove police lights to avoid getting stuck 2021-09-01 15:16:00 -04:00
Daniel Agar 2864735c44 Tools/HIL/monitor_firmware_upload.py - fail if there's an ERROR during startup 2021-09-01 15:16:00 -04:00
Daniel Agar 70831a8e2c px4io: checkcrc warn on mismatch 2021-09-01 15:16:00 -04:00
Daniel Agar 8434da6f79 px4io: reduce upload retries 5 -> 2 2021-09-01 15:16:00 -04:00
Daniel Agar 6be7926ed3 px4io: add watchdog
- F1 iwdg:Support optional configuable init

Co-authored-by: David Sidrane <David.Sidrane@NscDg.com>
2021-09-01 15:16:00 -04:00
Daniel Agar f856b89723 boards: Holybro H7 boards clear MPU early in board init
- needed if the bootloader configures the memory protection unit (MPU)
2021-09-01 08:53:05 +02:00
Daniel Agar c700ffff92 boards: CUAV H7 boards clear MPU early in board init
- needed if the bootloader configures the memory protection unit (MPU)
2021-09-01 08:53:05 +02:00
Lorenz Meier 965f11e923 MRO: Set up MPU after boot to app
This is needed in case the bootloader configured the MPU, which could interfere with the app as the bootloader memory map / configuration is different.
2021-09-01 08:53:05 +02:00
Daniel Agar a819a7b7c4 boards: cube orange fully clear any existing MPU configuration as soon as possible 2021-09-01 08:53:05 +02:00
Daniel Agar 7925787f62 px4io_serial: ensure TX DMA is stopped if exiting early on stream error
- otherwise the next retry can happen quickly enough that dma setup
hangs waiting for the stream
2021-08-31 23:11:07 +02:00
Julian Oes 6cb0259b79 commander: improve progress output
Instead of outputting progress at weird percentages and dropping 100%,
this now sends the progress every 10 %.
2021-08-30 21:05:40 -04:00
Daniel Agar ca685490a9 drivers/rc_input: only print vrssi if analog stable 2021-08-30 12:45:56 -07:00
Daniel Agar 15c01a9732 drivers/rc_input: flush buffers when beginning new scan state 2021-08-30 12:45:56 -07:00
Daniel Agar a305fc9c34 drivers/rc_input: only invert RC when starting/ending SBUS 2021-08-30 12:45:56 -07:00
Daniel Agar 79703c9c7a drivers/rc_input: don't resume scanning if armed 2021-08-30 12:45:56 -07:00
Daniel Agar 98f89aae9b drivers/rc_input: always report new lock 2021-08-30 12:45:56 -07:00
Hylke Faas 34483aef0f Do not resend a mission request if it is not the expected sequence number, this can cause an excessive increase of used bandwith (#18082) 2021-08-30 13:39:51 +02:00
Daniel Agar a917793248 mavlink: only block parameter sync until boot complete 2021-08-30 13:27:51 +02:00
Daniel Agar ab1c90d831 boards: cubeorange/cubeyellow use amber LED for armed state 2021-08-28 09:15:41 -04:00
Jukka Laitinen c3c30e5d4f Fix memory corruption when work queue is being deleted
When the last WorkItem is deleted, it is removed from a work queue and the
queue is being stopped. But, the queue itself might get deleted in the middle,
in a higher priority thread than where the WorkItem deletion was performed from

If the WorkQueue::Detach accesses the member variables after this, there is memory
corruption

This happens in particular when launching i2c or spi devices in
I2CSPIDriverBase::module_start:

- The "initializer" is deleted when the instance is not found and the iterator
  while loop continues.
- The workqueue is deleted in the middle of "initializer" deletion when the
  WorkQueueRunner returns.

This prevents deletion of the WorkQueue before the Detach has been finished,
in the specific case that the ::Detach triggers the deletion

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-27 10:43:45 +02:00
Daniel Agar 99463fce48 Update submodule mavlink v2.0 to latest Thu Aug 26 12:39:19 UTC 2021 (#18153)
- mavlink v2.0 in PX4/Firmware (c6a6403ce2): https://github.com/mavlink/c_library_v2/commit/51204fc82bc89b6862ebf03a1f49e80c52feeecc
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e0e24de6228326101ff85dd5cdea638f2569c70e
    - Changes: https://github.com/mavlink/c_library_v2/compare/51204fc82bc89b6862ebf03a1f49e80c52feeecc...e0e24de6228326101ff85dd5cdea638f2569c70e

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-08-26 11:43:31 -04:00
Daniel Agar c6a6403ce2 px4io: increase stack 1500 -> 1536 bytes 2021-08-25 21:32:05 +02:00
Daniel Agar f59b54abd7 boards: io-v2 increase idle thread stack 280 -> 316 bytes 2021-08-25 21:32:05 +02:00
Daniel Agar 22e62a044a px4iofirmware: never directly touch mixer from isr 2021-08-25 21:32:05 +02:00
Jacob Crabill 1ee5f75aa5 uavcan_v1: Add PublicationManager and uORB Publisher (#17863) 2021-08-25 14:56:23 -04:00
Beat Küng d8214f5e00 component_information: merge extra component_information_header target
With Makefile build, generate_component_general.py was called twice during
build, which did not happen with the ninja build.

This created a race condition with the following error in rare cases:
Traceback (most recent call last):
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
    save_compressed(filename)
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
    with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1

Merging the targets avoids the duplicate execution.
2021-08-25 10:04:39 -04:00
Beat Küng af53b60713 Revert "component_information: add debug instrumentation for FileNotFoundError exception"
This reverts commit ca454c93d1.
2021-08-25 10:04:39 -04:00
Jukka Laitinen 8f03045fb2 Increase micrortps_client_rcv stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen 69021dbafa Increase navigator stack for 64-bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen e49791cdf2 Increase mavlink stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen 523578d2ce Increase stack size of wq:manager and worker threads for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen 29248cb6b8 Increase gps stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen 733b1e9e67 Increase logger stack size for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen 8cf121fc9d Increase dataman stack size for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Kjersti Brynestad 62aa9c9f34 Correct conversion from sec to usec 2021-08-23 20:17:26 +01:00
Andrew Brahim 04adf6c9be drivers/distance_sensor/vl53l1x: added multiple region of interest settings (#18073)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2021-08-23 14:15:41 -04:00
Daniel Agar a4527485a3 mavlink: update radio status timestamp atomically
- this is updated by the mavlink rx thread, but checked in the tx thread
2021-08-23 11:16:10 -04:00
Daniel Agar 61702d0d97 sensors: always start baro/GPS/mag aggregators if SYS_HAS_* set
- add new SYS_HAS_GPS parameter
2021-08-23 10:59:58 -04:00
Thomas Stauber 6d3120d00d lower case c in Quadchute 2021-08-23 09:08:53 -04:00
Thomas a260ea8233 more consistent quadchute messages 2021-08-23 09:08:53 -04:00
Daniel Agar 2b1c97eb37 Update world_magnetic_model to latest Sun Aug 22 11:14:24 UTC 2021 2021-08-22 16:28:00 -04:00
Daniel Agar 60d50b9d5d boards: px4_fmu-v6x_default disable batmon to save flash 2021-08-22 14:48:01 -04:00
David Sidrane 1339dd3681 px4_fmuv6x:Use parameter setting for ina22x 2021-08-22 14:48:01 -04:00
David Sidrane f2925d234e px4_fmuv5x:Use parameter setting for ina22x 2021-08-22 14:48:01 -04:00
David Sidrane bf89771710 ina22x:Enabled by paramaters 2021-08-22 14:48:01 -04:00
David Sidrane f820771ea2 px4_fmuv6x:Add INA228 2021-08-22 14:48:01 -04:00
David Sidrane 7e7cbceaea px4_fmuv5x:Add INA228 2021-08-22 14:48:01 -04:00
David Sidrane f819be2075 Support INA228 2021-08-22 14:48:01 -04:00
Beat Küng fdb92d4746 protocol_splitter: check available bytes before read()
This is to avoid blocking in any case.
If we don't do that, ioctl() may signal data available while the other
protocol does a read(), and when the first protocol tries to do a read(),
it would not have data anymore and would block (so this avoids a race
condition).
2021-08-22 10:42:13 -04:00
Beat Küng 5d1e78befb protocol_splitter: return correct FIONSPACE
This is now possible since we don't parse the protocol.
2021-08-22 10:42:13 -04:00
Beat Küng 6edb55c874 protocol_splitter: simplify write()
With the protocol header we don't need to parse the protocol anymore.
2021-08-22 10:42:13 -04:00
Beat Küng 868f9cebb0 protocol_splitter: return 0 when no data to read instead of -1
This avoids mavlink adding another usleep() due to read error
2021-08-22 10:42:13 -04:00
Beat Küng 375b014444 protocol_splitter: reduce poll timeout from 100ms to 10ms
This matches the timeout in mavlink_receiver.
With the higher timeout sending of e.g. mavlink logging was done at a lower
rate.
2021-08-22 10:42:13 -04:00
Beat Küng 00d939995b fix micrortps_transport: set poll fd when baudrate is 0 2021-08-22 10:42:13 -04:00
Daniel Agar 0885f37667 micrortps_bridge: add "msg/tools/urtps_bridge_topics.yaml" to CMAKE_CONFIGURE_DEPENDS
- this is necessary because urtps_bridge_topics.yaml is processed at
cmake configure time (via cmake execute_process)
2021-08-22 10:41:04 -04:00
Daniel Agar 4422030037 micrortps_bridge/micrortps_client: fix topic path dependencies 2021-08-22 10:41:04 -04:00
Christian Llanes c0efbe1f9c change PublicationMulti-> Publication as a temporary fix 2021-08-20 19:56:56 +01:00
David Sidrane 376b1c9987 rgbled_ncp5623c:Add comand line mapping of PWM to color 2021-08-20 10:15:57 -04:00
David Sidrane 8e04985940 rgbled_ncp5623c:Needs 2 retries 2021-08-20 10:15:57 -04:00
David Sidrane 74903cf215 rgbled_ncp5623c:Can change address, return actual 2021-08-20 10:15:57 -04:00
David Sidrane cba78081af rgbled_ncp5623c:Document support for ncp5623[c|b] parts 2021-08-20 10:15:57 -04:00
David Sidrane 78b76cb636 i2c_spi_buses:Support devices that may change address 2021-08-20 10:15:57 -04:00
David Sidrane 075cb39c34 vcm1193l:Bug Fix set default address 2021-08-20 10:15:57 -04:00
David Sidrane 8f4811daa8 px4_fmu-v5x:Newer HW Start BARRO on bus 2 2021-08-20 10:15:57 -04:00
David Sidrane 566d1499bc px4_fmu-v6x:Use HB 10pin GPS rotation 2021-08-20 10:15:57 -04:00
David Sidrane dc5fd25e8c px4_fmu-v5x:Use HB 10pin GPS rotation 2021-08-20 10:15:57 -04:00
David Sidrane 1618933014 rcS:Scope netman to all 5X and 6X 2021-08-20 10:15:57 -04:00
Daniel Agar 69d1a73f85 Update submodule GPSDrivers to latest Fri Aug 20 12:39:20 UTC 2021 (#18111)
- GPSDrivers in PX4/Firmware (1cbb007b95d375ababeae79f753cfafae9a9a4de): https://github.com/PX4/PX4-GPSDrivers/commit/8af5336d3f112278fd321e2c512453f23a350540
    - GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6fcf06894973240d45dc49d3b31565917dc8f2f6
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/8af5336d3f112278fd321e2c512453f23a350540...6fcf06894973240d45dc49d3b31565917dc8f2f6

6fcf068 2021-08-18 Femtomes - Femto_gps_driver: change UNLOGALL command
c51adac 2021-08-18 Oleg Evseev - nmea: add rtcm parsing and add debug ouput
2021-08-20 10:14:47 -04:00
Daniel Agar df3608d38a Update submodule mavlink v2.0 to latest Fri Aug 20 12:39:17 UTC 2021
- mavlink v2.0 in PX4/Firmware (31545f85fb): https://github.com/mavlink/c_library_v2/commit/5095bcd856537330e66e6fc833a1c7bf689bf5ed
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/51204fc82bc89b6862ebf03a1f49e80c52feeecc
    - Changes: https://github.com/mavlink/c_library_v2/compare/5095bcd856537330e66e6fc833a1c7bf689bf5ed...51204fc82bc89b6862ebf03a1f49e80c52feeecc
2021-08-20 09:05:23 -04:00
Daniel Agar 31545f85fb gitmodules update NuttX branches to latest v10.1.0 2021-08-19 13:02:31 -04:00
Beat Küng c4b91c8558 calibration params: avoid using NaN as default
- NaN is not supported by JSON, and leads to parsing failure in QGC.
 - fixes https://github.com/PX4/PX4-Autopilot/issues/18095
2021-08-19 11:29:26 -04:00
Daniel Agar 507cce78d5 boards: px4_fmu-v6{u,x} fix test variant flash overflow and sync defaults 2021-08-19 11:25:21 -04:00
Daniel Agar c4499aa7bb uavcan: save parameter after successful set 2021-08-19 02:06:02 -07:00
Daniel Agar 06c2d14903 ekf2: multi-mode allow first instance to save EKF2_MAG_DECL 2021-08-19 10:14:35 +02:00
Daniel Agar 1af2ecaff6 boards: px4_fmu-v5_test disable attitude_estimator_q and local_position_estimator to save flash 2021-08-18 19:31:24 -04:00
Christian Llanes 6423ea50e6 add sensor_combined to urtps_bridge_topics.yaml 2021-08-18 23:52:45 +01:00
Daniel Agar 3423c5e48a boards: nxp_fmurt1062-v1_default disable attitude_estimator_q and local_position_estimator to save flash 2021-08-18 18:06:22 -04:00
Daniel Agar 3fc4ee6c90 boards: px4_fmu-v6x_default disable attitude_estimator_q to save flash 2021-08-18 18:01:14 -04:00
Daniel Agar 4c401b070e boards: cuav_can-gps-v1 delete unused debug variant 2021-08-18 17:40:33 -04:00
Beat Küng 7b9d16d2f8 fix gps: remove Wno-cast-align & fix it 2021-08-18 12:24:17 -04:00
Beat Küng 4b49f9261e gps: add generic nmea driver 2021-08-18 12:24:17 -04:00
Beat Küng 22e2fc9465 gps: add missing case & arguments for femtomes driver 2021-08-18 12:24:17 -04:00
Daniel Agar 49f81a9e0e boards: px4_fmu-v2_default disable load_mon to save flash 2021-08-18 12:20:13 -04:00
Daniel Agar 7b8ef07235 github actions: add all CAN nodes 2021-08-18 12:17:46 -04:00
Claudio Micheli 2607527d63 Commander: improve user notification for yaw emergency
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-08-18 10:16:02 -04:00
Hyungsub d089d4a6a4 fix memory bugs in replay and bl_update 2021-08-18 07:45:51 +02:00
alexklimaj 810dbbd25b AFBR mode switching, rate switching, and test 2021-08-17 19:38:33 -04:00
Hamish Willee c1f588806a BAT_ADC_CHANNEL should point to BAT1_I_CHANNEL 2021-08-17 19:35:11 -04:00
Daniel Agar cb610caf1e drivers: minimize additional I2C retries 2021-08-17 09:54:50 -04:00
Daniel Agar 8a8171c7aa platforms/nuttx: px4_init initialize and reset all I2C buses 2021-08-17 09:54:50 -04:00
Daniel Agar 2b581ef407 platforms/nuttx: s32k14x & s32k1xx add i2c_hw_description.h 2021-08-17 09:54:50 -04:00
Daniel Agar 29616ec387 Jenkins: remove modalai_fc-v1 temporarily
- board test harness needs to be repaired
2021-08-16 21:45:37 -04:00
Beat Küng 474b0188f7 mixer_module: set MAX_CUSTOM_OPT_LEVEL 2021-08-16 11:05:39 -04:00
Beat Küng f00f3d1a27 dshot: improve performance by removing extra motor_buffer array
Reduces CPU load by almost 1.5% @ 2khz on F4 and F7.

This changes the motor ordering on boards where the timer ordering does
not match the order of the timer usage in the channels defintion.
Only omnibus f4sd is affected.
2021-08-16 11:05:39 -04:00
Beat Küng afed10618b dshot: inline up_dshot_motor_data_set and up_dshot_motor_command
Slight performance improvement (~0.1% @1khz on F4)
2021-08-16 11:05:39 -04:00
Hamish Willee 8aecc64a73 generate uorb - support multiline descriptions 2021-08-16 08:29:44 +02:00
Hamish Willee 9c081ed24b ekf2_timestamps.msg - make first line a complete sentence
Fixes the docs.
2021-08-16 08:29:44 +02:00
Hamish Willee 51fa834ac6 generate_msg_docs: generate better page title 2021-08-16 08:29:44 +02:00
Daniel Agar ff39e27e2d sensor calibration: save temperature at calibration time for monitoring 2021-08-15 11:19:24 -04:00
Daniel Agar a76bcd3e01 CI fix renamed uorb_to_ros_rtps_ids.py -> uorb_to_ros_urtps_topics.py 2021-08-14 15:53:14 -04:00
Daniel Agar c6931814fa Jenkins: fix msg docs stash and archive 2021-08-14 15:18:57 -04:00
Daniel Agar b98656ccb4 Jenkins: fix msg files stash 2021-08-14 14:58:57 -04:00
Daniel Agar f2bae02f87 msg: purge unused qshell 2021-08-14 12:54:01 -04:00
Daniel Agar 5fb386a1bb magnetometer/bosch/bmm150: free all perf counters 2021-08-14 11:42:53 -04:00
Daniel Agar a83675c622 gyro_fft: improve scheduling
- move to high priority work queue (from low priority)
 - schedule slightly more often to avoid missing messages
 - perf counter include all FFT processing work
 - lazily allocate gyro gap perf counters on initial sensor selection
2021-08-13 15:00:08 -04:00
David Sidrane 8952fa2935 rc.sensors:Fix Shell Check warning 2021-08-13 14:22:00 -04:00
David Sidrane 3c227b6f76 hardfault_log:Remove verbose output when CONSTRAINED_FLASH_NO_HELP is lit 2021-08-13 14:22:00 -04:00
David Sidrane 53c81d986e atl_mantis-edu:Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane c4b810eef9 tap_esc_uploader:Use inttypes 2021-08-13 14:22:00 -04:00
David Sidrane a7123f115c sih:Fix type mismatch 2021-08-13 14:22:00 -04:00
David Sidrane e8c418caaf EKF:Use inttypes 2021-08-13 14:22:00 -04:00
David Sidrane 79f8865e65 px4_fmu-v2:All configs Use NO_HELP option to save flash 2021-08-13 14:22:00 -04:00
David Sidrane 3e9c8e401e freefly_can-rtk-gps_canbootloader: Stub out printf to remove write dependancy 2021-08-13 14:22:00 -04:00
David Sidrane 518700b39b platforms/nuttx/CMakeLists:Resolve fs->libc(strcat) libc->fs 2021-08-13 14:22:00 -04:00
David Sidrane bb913ae11a system_load:Track Dynamic PID hash 2021-08-13 14:22:00 -04:00
David Sidrane e6d9c2b734 px4_fmu-v5_optimized: Fit in flash 2021-08-13 14:22:00 -04:00
David Sidrane cf292bef07 px4_fmu-v6x: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic 2021-08-13 14:22:00 -04:00
David Sidrane f5d679fae4 px4_fmu-v5x: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic 2021-08-13 14:22:00 -04:00
David Sidrane cab2ba209e px4_fmu-v5x: Update base_phy_DP83848C defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic 2021-08-13 14:22:00 -04:00
David Sidrane 53477a1f82 av_x-v1: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic 2021-08-13 14:22:00 -04:00
David Sidrane a1c90057cb px4_fmu-v5:ARM Stack check (debug) needs headroom 2021-08-13 14:22:00 -04:00
David Sidrane 10d3909087 px4_fmu-v5:ARM Stack check needs headroom 2021-08-13 14:22:00 -04:00
David Sidrane 58fc5b21b8 NuttX at 10.1.0+
With PX4 contrib for building
2021-08-13 14:22:00 -04:00
David Sidrane e2d05157dd afbrs50: Use inttypes 2021-08-13 14:22:00 -04:00
David Sidrane 9455bfd857 px4_fmu-v5: Update uavcanv1 defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane e3104861df cuav_can-gps-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 8cdea33074 modalai_fc-v2: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 02ef9dc188 modalai_fc-v2: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 5beda51fa4 modalai_fc-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane b600c7cc55 cuav_x7pro: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane a0c74a8563 cuav_x7pro: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 51b1cf774c cuav_nora: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane b8aa6ccaa1 cuav_nora: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane a73b688566 holybro_kakutef7: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane b3555ada6b holybro_can-gps-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 7d572c515c holybro_pix32v5: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 55bf2c7610 holybro_durandal-v1: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane b45e0dd872 holybro_durandal-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 6b27c28787 uvify_core: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 9e3d275f0c omnibus_f4sd: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 3c78d7285a freefly_can-rtk-gps: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 24a263a6bc av_x-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 9676b3fd27 airmind_mindpx-v2: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 2731238ce3 ark_can-gps: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 7268c344e4 ark_can-flow: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane defbb0e17a mro_ctrl-zero-f7-oem: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 47f1b934d3 mro_x21: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 0823bb5584 mro_x21-777: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane f527286200 mro_ctrl-zero-h7-oem: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 5446d4bde8 mro_ctrl-zero-h7-oem: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane e96c3e5093 mro_pixracerpro: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 1d789863b4 mro_pixracerpro: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane fe8c902f90 mro_ctrl-zero-f7: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 49c85e7713 mro_ctrl-zero-h7: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 0d47f1a3cb mro_ctrl-zero-h7: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 181e82dd17 nxp_fmurt1062-v1: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 89c553b161 nxp_fmuk66-v3: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane ea1538a04f nxp_fmuk66-v3: Update socketcan defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 6ad56c537f nxp_fmuk66-e: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 71d5de5715 nxp_fmuk66-e: Update socketcan defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 44b29b6126 nxp_ucans32k146: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane cc6d15b4fd bitcraze_crazyflie: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 655a10ffdd bitcraze_crazyflie21: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 64bf02384f cubepilot_cubeyellow: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 281a238bb0 cubepilot_cubeyellow: Update test defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 9c1752bf4d cubepilot_io-v2: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane d9da05bd02 cubepilot_cubeorange: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 2a4b4824e5 cubepilot_cubeorange: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane f5b22d8832 cubepilot_cubeorange: Update test defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 9b15d2db10 px4_fmu-v6u: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane d4d149758d px4_fmu-v6u: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane ffc9ed8a75 px4_fmu-v5: Update debug defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 3e020a33b9 px4_fmu-v5: Update optimized defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 33897727cd px4_fmu-v5: Update stackcheck defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 63198fb6cb px4_fmu-v5: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 0b084461b5 px4_fmu-v4pro: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 6e93251169 px4_fmu-v5x: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 7344c050a8 px4_fmu-v5x: Update base_phy_DP83848C defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane cb150b3ced px4_fmu-v3: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane c3d9504933 px4_io-v2: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane be479654c2 px4_fmu-v2: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 0316010027 px4_fmu-v6x: Update bootloader defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 639486f4ba px4_fmu-v6x: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane d709bafa11 px4_fmu-v4: Update nsh defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 2e4e4018b6 px4_fmu-v5:ARM Stack check needs headroom (237 bytes) 2021-08-13 14:22:00 -04:00
David Sidrane bea495999f spracing_h7extreme:Update defconfig NuttX 10.1.0+ 2021-08-13 14:22:00 -04:00
David Sidrane 173e5c7554 NuttX:Track Stack naming changes 2021-08-13 14:22:00 -04:00
David Sidrane 069130403d LoadMon:Support NuttX Dynamic FDs 2021-08-13 14:22:00 -04:00
David Sidrane 4353d0faf3 print_load:Support NuttX Dynamic FDs 2021-08-13 14:22:00 -04:00
David Sidrane ec61512cdf NuttX inits null console 2021-08-13 14:22:00 -04:00
David Sidrane 01ef9cf3e6 NuttX at 10.1.0+
With PX4 contrib for building
2021-08-13 14:22:00 -04:00
Silvan Fuhrer 40f9b53b90 Remove a couple of unnecessary reboot_required from parameter meta data
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-08-13 10:35:43 -04:00
Jaeyoung-Lim d30760a2ea Remove flap scaling to prevent flaps being deployed in manual mode
This commit restores the flap scaling since it was always getting deployed in manual flight modes
2021-08-13 15:46:23 +02:00
Beat Küng 72bc8647a9 commander: add sensors reset to factory calibration 2021-08-12 10:20:33 -04:00
Daniel Agar 3f172dbfa7 ROMFS: new parameters for starting differential pressure sensors 2021-08-12 10:11:13 -04:00
romain-chiap c8346534f1 sih: using Quatf::expq(), fuselage added 2021-08-12 10:10:03 -04:00
Beat Küng 265c77b02a logger: remove unused topics, move some to debug profile 2021-08-12 10:09:11 -04:00
Beat Küng c0285611ec fix logger: turn off lockstep when starting log streaming
Lockstep created deadlocks between logger and mavlink, due to logger
waiting for mavlink and mavlink waiting for lockstep.
2021-08-12 10:09:11 -04:00
Beat Küng f88f224fe6 logger: avoid data bursts by distributing slow subscription updates over time
There's an increasing amount of slow logged topics at 1-2Hz, which were all
updated in the same logger iteration, leading to data bursts. For log
streaming this started to exceed uart buffer sizes. By distributing updates
more equal over time those bursts are removed, reducing buffer size
requirements.

Tests showed during steady state a reduction of maximum topic updates per
iteration from 40 down to 17.
Also the SD log buffer fill level is more constant.
2021-08-12 10:09:11 -04:00
Beat Küng d3c45c00c7 mavlink_ulog_streaming: when stopping, wait after receiving the ack
So we log additional data send afterwards
2021-08-12 10:09:11 -04:00
Beat Küng e1ac6fe297 logger: send post-flight perf data when stopping mavlink log streaming
- send out VEHICLE_CMD_RESULT_IN_PROGRESS
- delete the ulog object when receiving the ACK from logger, instead of
  the stop command
2021-08-12 10:09:11 -04:00
Beat Küng 0f6bf6bc0e refactor gps: use enum class for gps_driver_mode_t 2021-08-12 10:06:39 -04:00
Beat Küng 09a42e7af2 gps: extend GPS_DUMP_COMM param to enable RTCM output + logging 2021-08-12 10:06:39 -04:00
Martina Rivizzigno 159c87a6fb ll40ls: add support for LidarLite V4
Co-authored-by: Claudio Micheli <claudio@auterion.com>
2021-08-12 10:05:19 -04:00
Daniel Agar 68dcc25709 flight_mode_manager: ManualAcceleration support weathervane yaw handler
- fixes https://github.com/PX4/PX4-Autopilot/issues/17911
2021-08-12 09:58:29 -04:00
TSC21 21953daa3b microRTPS: transport: fix UART configuration 2021-08-12 08:44:53 +02:00
TSC21 4b6646c5f3 microRTPS: transport: normalize configs with mavlink/mavlink-router 2021-08-12 08:44:53 +02:00
TSC21 af8a6117fa microRTPS: agent: add missing 'g' option 2021-08-12 08:44:53 +02:00
TSC21 2a368b4db1 uorb_to_ros_urtps_topics: minor cleanup 2021-08-12 08:44:53 +02:00
TSC21 74557c9071 uorb_to_ros_msgs: minor cleanup 2021-08-12 08:44:53 +02:00
TSC21 00ad0d3b82 microRTPS: add make targets to update the PX4-ROS2/microRTPS bridge
This allows to easily update the px4_ros_com and/or px4_msgs through a make target and by passing the location of their directories
2021-08-12 08:44:53 +02:00
TSC21 8762dce762 microRTPS: transport: small format fix 2021-08-12 08:44:53 +02:00
TSC21 fae1627d92 microRTPS: client: cleanup and make arguments consistent 2021-08-12 08:44:53 +02:00
TSC21 109b031156 microRTPS: agent: cleanup and make arguments consistent 2021-08-12 08:44:53 +02:00
TSC21 e83a3a6cf7 microRTPS: update RTPS message list naming from 'ids' to 'msgs' 2021-08-12 08:44:53 +02:00
TSC21 0b23679f98 msg: templates: update empy contexts, required fields and license header years 2021-08-12 08:44:53 +02:00
TSC21 ffa70ac0fd microRTPS: generate_microRTPS_bridge: run fastrtsgen only once for all files
Reducing the generation time to a 4th of the time (!!)
2021-08-12 08:44:53 +02:00
TSC21 a8a56a03a4 microRTPS: rename uorb_to_ros_rtps_ids to uorb_to_ros_urtps_topics and remove the 'id' references on it 2021-08-12 08:44:53 +02:00
TSC21 4609949bbb microRTPS: generate_microRTPS_bridge: only run the generator for the topics that are actually marked to be used 2021-08-12 08:44:53 +02:00
TSC21 695e1fa574 uorb_to_ros_rtps_ids: add an header with a notice regarding the autogneration of the 'px4_ros_com' urtps_bridge_topics.yaml file
Although it can be modified manually, we are going to recommend the developer to generate it from the PX4-Autopilot side instead
2021-08-12 08:44:53 +02:00
TSC21 c478e2985a microRTPS: simplify the attribution of the RTPS IDs by makiing it automatic
1. The RTPS IDs are now automatically assigned to the topics
2. Only the topics that get defined to be sent or received in the urtps_bridge_topics.yaml (renamed, since now it doesn't contain IDs) receive the IDs
3. Any addition or removal on the urtps_bridge_topics.yaml file might update the topic IDs - this will require that the agent and the client ID list has to be in sync. This will further require a robustification of the way we check the IDs and the message definitions when starting the bridge.
2021-08-12 08:44:53 +02:00
TSC21 f557fbc99f protocol_splitter: add perf counters for the stats so they can be logged 2021-08-12 08:44:53 +02:00
TSC21 5a75277ff1 protocol_splitter: update header length and payload length position
To match the change on the microRTPS message header, which adds the sys ID as the 5th byte of the header
2021-08-12 08:44:53 +02:00
TSC21 ba3dbbd38d microRTPS: send the system ID with the RTPS packet header and remove the need for extra id fields in uORB
This allows that all messages (not only timesync messages) that get received on the same system that sent them do not get parsed. As the microRTPS agent is built currently, this will only happen right now if someone sets the same UDP port to send and receive data, or by manually changing the agent topics (which were always autogenerated).
2021-08-12 08:44:53 +02:00
TSC21 a10dab516c timesync: remove system ID field from the timesync message 2021-08-12 08:44:53 +02:00
TSC21 25dbffe1aa microRTPS: agent: split FMU input from output topics in Pubs/Subs 2021-08-12 08:44:53 +02:00
TSC21 d31b7feb31 microRTPS: agent: publish timesync status 2021-08-12 08:44:53 +02:00
TSC21 a324e5465a timesync: extend timesync_status message with protocol source field and enum 2021-08-12 08:44:53 +02:00
TSC21 a930edf34b init.d-posix: rcS: allow to use a different startup config to the micrortps_client in UDP 2021-08-12 08:44:53 +02:00
TSC21 6d4f65a47a microRTPS: allow timesync using ROS time 2021-08-12 08:44:53 +02:00
TSC21 e762d57222 sitl_run: allow to start required ROS2 plugins with Gazebo when ROS_VERSION is set to 2 2021-08-12 08:44:53 +02:00
Julian Oes cb2b09b80f protocol_splitter: implement with one read buffer
This is an attempt to implement the protocol_splitter with one
read buffer only. The idea is to prevent additional copy
operations from an incoming buffer to the respective protocol buffer.

Right now the benefit is not really there because we are not using a
ringbuffer and have to shift data around quite a bit.

We also try to parse and copy data to the reader immediately without
doing a read from the device which potentially takes 100ms.

We further use a timeout mechanism to prevent starvation if one reader
disconnects and the buffer would fill up from unread data.
2021-08-12 08:44:53 +02:00
Julian Oes 0c9fefce32 urtps: rectify comment 2021-08-12 08:44:53 +02:00
Julian Oes 31b1241de8 uorb_microcdr: collect all messages
Without this we are potentially too slow to collect them all which can
lead to the buffer in protocol_splitter to overflow and be reset.
2021-08-12 08:44:53 +02:00
Daniel Agar 326c4f95ce ROMFS cmake remove directory VERBATIM 2021-08-11 13:29:14 -04:00
Beat Küng 61e3ec53b0 mixer_module: check for motor test after topic update
Otherwise if a module restricts the update rate via setMaxTopicUpdateRate()
and then motor_test is used, the module might run faster than expected.
2021-08-11 12:06:32 -04:00
Claudio Micheli a6d88cad18 mavlink_main: add ESC_INFO & ESC_STATUS to onboard_lowbandwith configuration
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-08-11 17:20:08 +02:00
Oleg Evseev a93f8dade4 mavlink: receiver fix geo include 2021-08-10 08:18:28 -04:00
PX4 BuildBot e9a21ee911 Update submodule devices to latest Mon Aug 9 00:39:11 UTC 2021
- devices in PX4/Firmware (48b31124a4cdab9f7f91dba14649206f41c30c97): https://github.com/PX4/PX4-GPSDrivers/commit/f51267815db3331723b880ab20afc5a67a87c22b
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6815e1d3b294cd6ea583294ebadf191321e4beba
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/f51267815db3331723b880ab20afc5a67a87c22b...6815e1d3b294cd6ea583294ebadf191321e4beba

    6815e1d 2021-08-04 zhangft - femtomes: add UAVSTATUS and fall back to 10Hz rate if 20Hz not supported
2021-08-08 22:31:14 -04:00
Daniel Agar c8366e736e ROMFS: update ATL Mantis EDU optical flow defaults 2021-08-08 14:21:28 -04:00
Daniel Agar 66cfacaec2 boards: px4_fmu-v6x_test disable attitude_estimator_q to save flash 2021-08-08 14:20:58 -04:00
Daniel Agar 2ad448a4e8 boards: holybro_pix32v5 remove unused test build 2021-08-08 14:20:58 -04:00
alexklimaj a904bb506f Fix afbrs50 high cpu load from switching 2021-08-08 11:42:30 -04:00
bresch 741f9c6d1a Commander: change attitude quaternion check to avoid numerical issues 2021-08-08 11:41:23 -04:00
Daniel Agar fb4ac0f08c ekf2: remove redundant IMU vibration metrics
- consume IMU vibration metrics from vehicle_imu_status
2021-08-08 06:26:03 -07:00
Daniel Agar a397004bf8 adis16448: add additional delay after transfer in case of back to back transcations
- add verified register read method
2021-08-08 06:25:16 -07:00
Julian Oes 0033c0fc51 navigator: fix param description 2021-08-05 15:18:55 +02:00
bresch 01d0b8800e commander: report GNSS yaw fault to user 2021-08-05 11:10:02 +02:00
bresch 44219e9f45 EKF: add GNSS yaw to emergency yaw fallback test 2021-08-05 11:10:02 +02:00
bresch 11cd51c132 EKF: allow emergency reset in GNSS yaw and EV yaw aiding modes 2021-08-05 11:10:02 +02:00
bresch 4ebfbc6eab GNSS yaw: use NIS sequence to detect bias in state
A constant large value in the (signed) normalized innovation test ratio is a sign
of bias in the state estimate. This metric can be used to trigger a
covariance boost or reset
2021-08-05 11:10:02 +02:00
bresch 3fe04a91f6 GNSS yaw: add observation jump on ground
Some receivers are initializing to some heading and then resetting to
the correct one after a couple of seconds. EKF2 should detect that and
reset to the new value
2021-08-05 11:10:02 +02:00
bresch 30c7a596af GNSS yaw: allow unlimited resets on ground 2021-08-05 11:10:02 +02:00
bresch e90e1c7e2a GNSS yaw: use dedicated observation noise 2021-08-05 11:10:02 +02:00
romain-chiap 718e5b5b5d sih: add fixed-wing support 2021-08-05 09:16:14 +02:00
PX4 BuildBot 6060ec8c9a Update submodule matrix to latest Thu Aug 5 00:39:10 UTC 2021
- matrix in PX4/Firmware (6be58a88905d2ef63bc3aaa1a01c82346c181742): https://github.com/PX4/PX4-Matrix/commit/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/3d1c9b988dff1d95f36cdd1df3e84d7a2365501c
    - Changes: https://github.com/PX4/PX4-Matrix/compare/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd...3d1c9b988dff1d95f36cdd1df3e84d7a2365501c

    3d1c9b9 2021-08-05 romain-chiap - quaternion exponential (#164)
2021-08-04 21:59:01 -04:00
romain-chiap 3d1c9b988d quaternion exponential (#164) 2021-08-04 19:04:57 -04:00
Daniel Agar be2f65be35 drives/tap_esc: refactor to use OutputModuleInterface 2021-08-04 17:15:24 -04:00
Daniel Agar 2e02ad7c4e atl_mantis-edu front and rear status LEDS 2021-08-04 17:15:24 -04:00
Daniel Agar 89b920333b boards: px4_fmu-v2_multicopter disable gyro_calibration module to save flash 2021-08-04 17:15:24 -04:00
Daniel Agar fb3b7a4649 mavlink: receiver handle RC_CHANNELS if from MAV_COMP_ID_SYSTEM_CONTROL 2021-08-04 17:15:24 -04:00
Daniel Agar 2b96e330a5 boards: atl_mantis-edu add bootloader 2021-08-04 17:15:24 -04:00
Daniel Agar 5d06ef8256 drivers/barometer/mpc2520: MaierTek MPC2520 barometer support
- used in the Advanced Technolgy Labs (ATL) Mantis EDU
2021-08-04 17:15:24 -04:00
Daniel Agar 6ab8153f32 drivers/tap_esc: Advanced Technology Labs (ATL) Mantis EDU ESC support
Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-08-04 17:15:24 -04:00
Daniel Agar e900f2ea54 boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061)
Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-08-04 17:15:24 -04:00
David Sidrane 8f64f7ce90 uavcan_1:Fixed hardfault on stop 2021-08-04 10:40:34 -04:00
Hamish Willee 6aa4e12b5f Typo in LTEST_MEAS_UNC docs 2021-08-04 08:01:39 +02:00
Hamish Willee f5dd0edc9f LTEST_VEL_UNC_IN typo in docs 2021-08-04 08:01:39 +02:00
Hamish Willee b157bc407e Typo in docs for LPE_VIS_DELAY 2021-08-04 08:01:39 +02:00
Hamish Willee b82464f0ef Parameter typo PLD_MAX_SRCH 2021-08-04 08:01:39 +02:00
Beat Küng ca454c93d1 component_information: add debug instrumentation for FileNotFoundError exception
The following exception occurs in some rare cases (but only with make build: NO_NINJA_BUILD=1 px4_sitl_default):
Traceback (most recent call last):
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
    save_compressed(filename)
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
    with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1
2021-08-03 10:36:25 +02:00
Beat Küng b9e2d2c0f2 4100_tiltquadrotor: remove LED_RGB_MAXBRT 2021-08-03 10:36:25 +02:00
Beat Küng 95789252d0 airframes: minor param cleanups (remove commented 'param set') 2021-08-03 10:36:25 +02:00
Beat Küng 0e1f3a2d62 px4_add_board: infer VENDOR, MODEL & LABEL from cmake file name 2021-08-03 10:36:25 +02:00
Beat Küng 86dc35022a generate_msg_docs.py: simplify logic a bit 2021-08-03 07:54:41 +02:00
Beat Küng 45ed1c5b5d uorb_graph: improve module dependency search 2021-08-03 07:54:41 +02:00
Beat Küng 91cae70097 uorb_graph: fix module scope logic 2021-08-03 07:54:41 +02:00
Hamish Willee bf59fd84ba Add simple comment parser 2021-08-03 07:54:41 +02:00
Beat Küng fccb56d76b Jenkinsfile: deploy uorb graph 2021-08-03 07:54:41 +02:00
Beat Küng 2320477839 uorb graph: some minor fixes, add full graph w/o mavlink 2021-08-03 07:54:41 +02:00
Beat Küng da6275e43a msg: add script structure to generate docs from .msg files 2021-08-03 07:54:41 +02:00
InspiredBrandon b2def13d6f NCP5623c RGB LED driver I2C address auto detect
* Enables the LED on mRobotics GPS receivers
 * Probes I2C addresses and sets colors accordingly
2021-08-02 20:36:09 -04:00
Daniel Agar 93aa6e3f78 ekf2: baro bias publish minor cleanup
- naming consistency (estimator prefix as "namespace")
 - only publish if baro is available and bias is changing as a small logging optimization
 - avoid unnecessary copying (get const reference to status directly)
 - trivial code style fixes
2021-08-02 13:59:38 -04:00
Daniel Agar d997a8d308 mavlink: receiver fix HIL_STATE_QUATERNION map projection init
- fixes https://github.com/PX4/PX4-Autopilot/issues/17977
2021-08-02 09:59:09 -04:00
David Jablonski 9c36236565 ekf2: increase stack size to 3600 2021-08-02 09:47:38 -04:00
Hamish Willee 219c9cf4b7 More specific airframe css 2021-08-02 08:26:46 +02:00
Hyungsub 1e2877cedf Tune down solo roll rate controller 2021-08-02 07:51:13 +02:00
murata e33d2141ec px4io: Changing the timeout time description (NFC) 2021-08-01 20:27:25 -04:00
PX4 BuildBot e01ae95768 Update submodule jMAVSim to latest Sun Aug 1 16:12:33 UTC 2021
- jMAVSim in PX4/Firmware (8261aa1f0b): https://github.com/PX4/jMAVSim/commit/0a816d8100e9860a031ccfccfb9941bcd6eedc81
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/0a5375a70689aac53143768de9033034f3636022
    - Changes: https://github.com/PX4/jMAVSim/compare/0a816d8100e9860a031ccfccfb9941bcd6eedc81...0a5375a70689aac53143768de9033034f3636022

    0a5375a 2021-07-24 Romain Chiappinelli - vehilce model selectio
5f51d98 2021-07-19 Romain Chiappinelli - added cessna visual model
2021-08-01 17:03:03 -04:00
Daniel Agar 1c48a81993 Jenkins fix compile job
- this was broken during the Snapdragon purge (#17921) that happened to correspond with the primary Jenkins master (ci.px4.io) being down.
2021-08-01 17:02:47 -04:00
PX4 BuildBot 4ca6e42c47 Update submodule sitl_gazebo to latest Sun Aug 1 16:12:39 UTC 2021
- sitl_gazebo in PX4/Firmware (d6eb3b0cb90d4988409b1aaf3e10662ecc361aac): https://github.com/PX4/PX4-SITL_gazebo/commit/b6be00542be4d77f436c66ee48c22ca911601a2a
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b6be00542be4d77f436c66ee48c22ca911601a2a...7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0

    7fda4d3 2021-07-27 Jaeyoung-Lim - Reduce yaw authority for tecpod
6b87853 2021-07-27 Jaeyoung-Lim - Reduce yaw authority on plane
7505aee 2021-07-18 Jaeyoung-Lim - Add glider model
32893bc 2021-07-14 Jaeyoung-Lim - Add control allocation module for the typhoon h480
55e479a 2021-06-12 TSC21 - gazebo_mavlink_interface: get latest occurrence of '::' to obtain the sensor name
f650396 2021-07-13 Jaeyoung-Lim - Add Believer fixedwing model
2021-08-01 13:55:15 -04:00
PX4 BuildBot 8963c403c6 Update submodule v2.0 to latest Sun Aug 1 16:12:42 UTC 2021
- v2.0 in PX4/Firmware (c82a4412bd255753bf802b90d2e9bd459ca626aa): https://github.com/mavlink/c_library_v2/commit/94963ac650f39709df20e4fc03c1a9ed8f740b35
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/5095bcd856537330e66e6fc833a1c7bf689bf5ed
    - Changes: https://github.com/mavlink/c_library_v2/compare/94963ac650f39709df20e4fc03c1a9ed8f740b35...5095bcd856537330e66e6fc833a1c7bf689bf5ed

    5095bcd8 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b030a760e8c350aa078542036bd9e8f39a494ac1
f57b9ff5 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2cc1a22e30e0f8ef4e119424e968a82877636c67
a3b97841 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/d484de4eb18906a94104ca56026391304be31aa1
f66b31fc 2021-07-15 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/a764308f30903e269090c8cda87d92f46d318b3e
2021-08-01 13:54:18 -04:00
Daniel Agar 54918f650b Update world_magnetic_model to latest Sun Aug 1 16:57:37 UTC 2021 2021-08-01 13:53:53 -04:00
Daniel Agar 8261aa1f0b boards: cuav_nora_test disable local_position_estimator to save flash 2021-07-31 20:59:45 -04:00
Igor Mišić af2247bd94 mavlink: use dynamic camera comp id instead of hardcoded value 2021-07-31 12:41:49 -04:00
David Sidrane 6379f2b032 px4_fmu-v2:Use NO_HELP option to save flash 2021-07-30 22:35:02 -04:00
David Sidrane ced366b74e Add Option NO_HELP for CONSTRAINED_FLASH system 2021-07-30 22:35:02 -04:00
Dima Ponomarev d08d0443bc Add internal combustion engine status uavcan bridge and mavlink EFI_STATUS stream 2021-07-30 22:31:43 -04:00
Sam Chamberlin 7764183f89 Broadcom AFBR-S50LV85D Distance Sensor Driver: Automatic Range Mode Switching 2021-07-30 22:27:27 -04:00
bresch 1016600ded Revert "mc_pos_control: omit initial warning"
This reverts commit 446598d003.

The first warning was due to a race condition that is fixed by the previous commit;
don't omit the first warning anymore
2021-07-30 21:39:18 -04:00
bresch e7a2c1d88e MCPosControl: fix invalid setpoint race condition
Only modify the _setpoint for takeoff when there is a new uORB message
to avoid a race condition where both vel_sp(2) and accel_sp(2) can be
NAN at the same time.
2021-07-30 21:39:18 -04:00
Silvan Fuhrer 44f12acafe mavsdk tests: remove hover missions for VTOL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-07-30 21:27:53 -04:00
Daniel Agar 713a1d08a3 sensors: add accel/gyro current priority to sensors_status_imu
- later the sensor priorities (user configurable) can be factored into the estimator selection criteria
2021-07-30 21:20:01 -04:00
Daniel Agar b33fdf704b boards: px4 fmu-v2/v3 swap external SPI chip select order
- fixes https://github.com/PX4/PX4-Autopilot/issues/17858
2021-07-30 09:28:04 -04:00
Ramon Roche 607be59fd5 Github: Issue Template update link to Slack invite 2021-07-28 07:39:20 +02:00
Ramon Roche 5918fe6a37 README: update slack invite and badge 2021-07-28 07:39:20 +02:00
leonardosimovic e6166dfc76 AirspeedSelector: Improve wording of sensor failure message 2021-07-28 07:37:38 +02:00
bresch 521b9f5dcc control: do not constantly ask for mag reset if yaw not aligned
This also prevents triggering the `_mag_yaw_reset_req` flag in magless
mode; preventing the GNSS fustion from starting.
2021-07-27 13:34:53 +02:00
bresch 639e0a39cf EKF2: add yaw estimator alignment test 2021-07-27 13:34:53 +02:00
Mathieu Bresciani 17ebcd2456 mag_control: fuse fake heading during leveling fine alignment (#17964)
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-07-27 11:50:50 +02:00
Daniel Agar f2ae8ae814 sensors/vehicle_imu: vibration metrics use acceleration and angular velocity
- this avoids any jitter in the integration timespan from impacting the vibration metrics
 - vehicle_imu_status vibration metrics are not consumed by anything
(yet), so changing the scaling of the metric shouldn't matter
2021-07-26 13:55:47 -04:00
Daniel Agar e01b631465 ekf2: change indication test limit float precision to minimize false positives 2021-07-26 13:54:36 -04:00
Daniel Agar e84c6664bb ROMFS: update airframes/4901_crazyflie21 legacy battery parameter 2021-07-23 19:58:38 -04:00
Daniel Agar 6f4111e073 ROMFS: update airframes/17003_TF-G2 legacy battery parameter 2021-07-23 19:58:38 -04:00
Daniel Agar e9f84ba708 keep minimal legacy battery parameters for older QGC usability
- BAT_V_EMPTY, BAT_V_CHARGED, BAT_V_LOAD_DROP, BAT_N_CELLS
2021-07-23 15:07:53 -04:00
Daniel Agar fe1eb8cd62 cmake cleanup jlink flashing helpers 2021-07-23 15:07:25 -04:00
Daniel Agar 7846771c68 sensors: populate sensors_status_imu healthy flags even in multi-EKF mode 2021-07-23 11:17:08 -04:00
Julian Oes af50e25647 mavsdk_tests: update to MAVSDK v0.41.0
This required replacing some of the methods which had been deprecated
and now removed.
2021-07-23 09:05:31 +02:00
Julian Oes 11480cdbc7 mavlink: fix offboard velocity input
This reverts the behavior for offboard velocity setpoint.

Back in v1.11, the velocity input in NED_BODY was assumed to be in the
world frame but rotated by yaw to the vehicle frame. With the current
state the frame is completely fixed to the body. While this might be
technically correct, it doesn't seem much intuitive for multicopters
and breaks the MAVSDK offboard velocity API.

So as an example, with a velocity setpoint of 5 m/s forward, the drone
would in
- v1.11: fly forward with 5 m/s
- v1.12: start to fly forward by pitching down but then descend rapidly
  as the forward velocity would translate to a setpoint in Z into the
  ground as it is pitched down.

This commit restores the behavior to what we had previously.
2021-07-22 09:40:29 +02:00
alessandro bd17653383 Fix template_module header
- SubscriptionInterval.hpp includes Subscription.hpp, but not vice versa
- The time literal 1_s is defined in the namespace time_literals
2021-07-21 09:44:09 -04:00
Oleg Evseev 440449b85f mavlink: use explicit routing for message forwarding
Forward message to other mavlink channels only if it is broadcast or the target component was seen on this link before (at least one message was received)
2021-07-21 10:39:14 +02:00
Daniel Agar b1eb762753 drivers/imu: set sample timestamp from interrupt (if available)
- minor scheduling improvements
   - if expected number of samples larger than expected adjust timestamp sample and save sample for next iteration
   - when scheduling via data ready interrupt (with no FIFO watermark) count continuously without clearing
2021-07-21 02:19:11 -04:00
honglang 6ac6917430 boards: CUAV-x7pro: reoder brick to fixed cuav hvpm cannot detect voltage 2021-07-20 22:02:03 -07:00
Daniel Agar 949fef1f3b boards: px4_fmu-v5_optimized disable optical_flow drivers to save flash 2021-07-20 21:43:48 -04:00
David Sidrane d6ee418cdf nxp_fmuk66:Add Serial RX DMA on Console 2021-07-20 18:22:35 -04:00
David Sidrane 0709a9bb1c NuttX With Kinetis LPUART DMA backport 2021-07-20 18:22:35 -04:00
DonLakeFlyer 0af1716864 Fix incorrect max for INT32 2021-07-20 16:29:39 -04:00
David Sidrane 78ecad6170 Revert "nxp_fmuk66-v3:DMA Poll not needed"
This reverts commit 962f02220a.
2021-07-20 07:52:10 -07:00
David Sidrane 89dff2d31c Revert "nxp_fmuk66-e:DMA Poll not needed"
This reverts commit 39d684958d.
2021-07-20 07:52:10 -07:00
David Sidrane b85a01f4c2 NuttX with Kinetis SerialPoll back in 2021-07-20 07:52:10 -07:00
Kirill Shilov e13884410b heater: added support of inverted IMU heat controller output 2021-07-20 10:37:53 -04:00
TSC21 205d4400eb add baro_bias_estimate to RTPS list 2021-07-20 04:56:33 -07:00
Oleg 8fbbf56c4d microRTPS: fix setting UART communication flags
bitwise not should be used instead of logical not
2021-07-20 12:34:58 +02:00
PX4 BuildBot 34160bb6c9 Update submodule sitl_gazebo to latest Fri Jul 16 12:39:10 UTC 2021
- sitl_gazebo in PX4/Firmware (4a0fa08953): https://github.com/PX4/PX4-SITL_gazebo/commit/1f3f1b1dec5a31c2c400f141fc344f11f68659c9
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/b6be00542be4d77f436c66ee48c22ca911601a2a
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1f3f1b1dec5a31c2c400f141fc344f11f68659c9...b6be00542be4d77f436c66ee48c22ca911601a2a

    b6be005 2021-07-13 Jaeyoung-Lim - Add iris model for control allocation development
2021-07-19 20:19:28 -04:00
JaeyoungLim 58060b23d9 Add ignition gazebo support for PX4 Software-In-The-Loop simulations
This commit adds SITL support for ignition gazebo. Ignition gazebo is a replacement for the "classic" gazebo for future applications.

The simulation can be run as the following
```
make px4_sitl ignition
```
2021-07-19 19:59:41 -04:00
dagar a8e3c46cdb [AUTO COMMIT] update change indication 2021-07-19 16:53:45 -04:00
Daniel Agar 14274ab071 boards: px4_fmu-v5_optimized disable pwm_input to save flash 2021-07-19 16:53:45 -04:00
bresch 54c7e74de3 EKF: add baro bias estimator using GNSS altitude 2021-07-19 16:53:45 -04:00
Daniel Agar 10f4fc7783 ekf2: don't print distance_sensor selection unless there are multiple options 2021-07-19 12:17:12 -04:00
Daniel Agar 1a222bf06e Tools/HIL/run_nsh_cmd.py handle missing echo, but cmd succeeded 2021-07-19 11:53:54 -04:00
Daniel Agar 87610957a4 flight_mode_manager: pass deltas on estimator reset 2021-07-19 09:34:07 -04:00
Daniel Agar d79eea0c41 Jenkins: HIL flash bootloaders
- add new jlink_upload_bootloader helper target
2021-07-18 23:33:00 -04:00
Daniel Agar 4c59997ff4 Jenkins: HIL attempt to set certain parameters initially
- attempt to minimize issues on heavily loaded debug and stackcheck builds
 - disable systemcmds/bl_update on debug and stackcheck fmu-v5
2021-07-18 21:25:00 -04:00
Daniel Agar 774ad80ba0 systemcmds/tests: split out microbenchmarks and remove obsolete tests
- reorganize Jenkins HIL tests
2021-07-18 18:02:33 -04:00
Daniel Agar 0101934f47 ekf2: multi-EKF instance message INFO -> DEBUG 2021-07-18 18:02:33 -04:00
Daniel Agar 0ad65738db gyro_calibration: reset on any parameter change
- perform fresh calibration once system has settled
2021-07-18 18:02:33 -04:00
Daniel Agar 9ac860ac33 ekf2: test fix double promotion warnings 2021-07-18 15:49:53 -04:00
Daniel Agar 9087ba2259 world_magnietc_model: update to latest and fix code style
- minimize test_geo_lookup.cpp optimization to improve compile times
2021-07-18 15:49:53 -04:00
mcsauder f34862f143 Delete redundant Ekf class member variable constructor initilizations and add missing C++ style initializers to the header file. 2021-07-17 12:24:56 -04:00
Daniel Agar eeb73fdbe6 ekf2: resetting IMU bias message INFO -> DEBUG 2021-07-17 10:57:09 -04:00
Daniel Agar 36dea8487c Jenkins: HIL remove redundant board_adc test 2021-07-17 10:57:09 -04:00
Daniel Agar bc79ea54dc Jenkins: HIL lower quick cal sleep time before checking parameters 2021-07-17 10:57:09 -04:00
Daniel Agar 858a30df21 systemcmds/tests: replace warnx -> PX4_INFO 2021-07-17 10:57:09 -04:00
Daniel Agar 209fde9ff3 Tools/HIL: console print timestamps 2021-07-17 10:57:09 -04:00
Daniel Agar 847b3b5b64 Tools/HIL/nsh_param_set.py bump timeout slightly 2021-07-16 22:18:07 -04:00
Igor Mišić 54c91002cd mavlink_ulog: update ulog_stream message lost errors to perf counter 2021-07-16 21:38:56 -04:00
Beat Küng cfef0c5d5a mavlink_ulog: check for lost ulog_stream ulog messages 2021-07-16 21:38:56 -04:00
Daniel Agar 5a046cae7e Tools/HIL: fix terminal colors (ANSI escape codes) 2021-07-16 21:37:48 -04:00
Daniel Agar f80f0e6c7e Jenkins: HIL set CCACHE_NOHASHDIR and remove obsolete "make sizes" 2021-07-16 21:06:07 -04:00
Daniel Agar cbf6c97682 Jenkins: HIL print dmesg output only on boards with enough memory 2021-07-16 19:33:27 -04:00
Daniel Agar 8c6ade0fc8 Tools/HIL: color output (ERROR, WARN, etc) 2021-07-16 19:33:27 -04:00
Daniel Agar 7f4ffcef93 Jenkins: HIL add separate status for flash constrained boards 2021-07-16 19:33:27 -04:00
Daniel Agar e61d8d6e7e Tools/HIL: add nsh_param_set.py and use on test rack 2021-07-16 19:33:27 -04:00
Daniel Agar ae0438e8f5 Jenkins: HIL no longer tolerate SD failures 2021-07-16 19:33:27 -04:00
Daniel Agar 65745a3676 purge broken qurt support and atlflight boards 2021-07-16 08:53:36 -04:00
Daniel Agar 4a0fa08953 Tools/HIL/run_nsh_cmd.py fail if command failed 2021-07-15 23:29:46 -04:00
Daniel Agar c8e6d93cc0 ekf2: backend apply code style (generated code still exempt) 2021-07-15 21:15:41 -04:00
Daniel Agar 12ad7b17ce Makefile: add all_variants_@ helper target and consolidate github actions builds 2021-07-15 21:09:50 -04:00
Daniel Agar fcf0d3536f NuttX debug jlink scripts minor improvements
- script return non-zero exit if there's a failure
 - upload script look for both gdb-multiarch and arm-none-eabi-gdb
2021-07-15 17:07:51 -04:00
Hamish Willee f70b6fbf0b Fix rendering if name has inch symbol 2021-07-15 17:16:12 +02:00
Hamish Willee 72d08fe915 improve airframe generated output 2021-07-15 17:16:12 +02:00
Daniel Agar 2cf66a5d8f ekf2: move EKF out of ecl 2021-07-15 10:38:24 -04:00
Daniel Agar 883624d915 lib/geo: move from ecl 2021-07-15 10:38:24 -04:00
Daniel Agar 6f6d3f98a6 wind_estimator: move from ecl and consolidate airspeed selector 2021-07-15 10:38:24 -04:00
Daniel Agar fedf8f0266 world_magnetic_model: move from ecl 2021-07-15 10:38:24 -04:00
Daniel Agar b5430c22c4 AlphaFilter: move from ecl -> mathlib 2021-07-15 10:38:24 -04:00
Daniel Agar 645fb2ff8c Update submodule mavlink v2.0 to latest Thu Jul 15 00:38:28 UTC 2021 2021-07-14 21:54:54 -04:00
Daniel Agar 7f2acb6d59 consume PX4 ecl submodule and preserve all history 2021-07-14 07:00:52 -04:00
Blake McHale 4a436f1ac9 Add missing receive port arg to micrortps_client start 2021-07-13 21:42:10 -04:00
Daniel Agar 18dcec43d3 github actions: add standalone ecl builds and testing 2021-07-13 19:01:19 -04:00
Daniel Agar ad11927661 ROMFS: delete redundant wing mixers
- these are nearly identical with slightly different scaling and haven't been tested for years
2021-07-13 21:12:11 +02:00
Oleg a8bf8d42db sensors: add include for sensor_baro topic 2021-07-13 14:18:31 -04:00
Daniel Agar 06cd1c79dd logger: limit distance_sensor to 2 instances 2021-07-13 14:11:42 -04:00
Daniel Agar 3924f0ef30 ROMFS: delete Hobbyking Micro PCB 2021-07-13 14:07:45 -04:00
Jaeyoung-Lim db1dc1c9a1 Add airframe configuration and make target for believer
This commit adds an airframe configuration and make target for believer
2021-07-13 18:04:52 +02:00
Daniel Agar dbaed99626 cmake remove git_ecl target 2021-07-13 10:03:06 -04:00
Daniel Agar a5f7406211 Merge entire PX4/ECL submodule and history into PX4-Autopilot 2021-07-13 10:01:09 -04:00
Daniel Agar cd1e04d034 delete ecl submodule 2021-07-13 09:54:02 -04:00
bresch 8a0510d52e update change indicator 2021-07-13 10:49:32 +02:00
bresch 97485f131a update covariance prediction 2021-07-13 10:49:32 +02:00
bresch 2d8e183aa3 update EKF derivation auto-generated code 2021-07-13 10:49:32 +02:00
bresch dccd662dfe EKF python derivation: use unit quaternion constraint
This produces a more numerically stable and simpler derivation as it
already contains the unit quaternion constraint
2021-07-13 10:49:32 +02:00
bresch 0bebe1a656 Add gyro bias initialization unit test 2021-07-13 10:49:32 +02:00
bresch 057a95a954 EKF_init: check for accel bias amplitude 2021-07-13 10:49:32 +02:00
bresch 9f2d1f9e27 CI: update container version 2021-07-13 10:29:05 +02:00
Oleg 76b34132a5 mavlink: fix incorrect rejection of forwarded alien commands 2021-07-12 10:34:43 +02:00
Daniel Agar d8704cee67 platforms: px4 log build string then print (fputs) 2021-07-10 13:14:49 -04:00
Oleg 76dedfec5d mavlink: optimize message forwarding 2021-07-10 12:04:17 -04:00
DanAbara 64448e17ca Update README.md to fix broken crazyflie2.0 link 2021-07-10 12:03:30 -04:00
Daniel Agar 552ec4a37c Jenkins: hardware test rack remove Holybro Durandal
- IMUs on this particular unit no longer function
2021-07-10 12:02:45 -04:00
Daniel Agar 62144c6b6b optical_flow/paw3902: minor improvements
- configure a backup schedule when using motion interrupt otherwise the
sensor will stop publishing entirely in the dark
 - as a precaution issue full reset if sensor is stuck in a bad state
(no vaid data for an extended period)
 - update light mode change criteria to match datasheet exactly
2021-07-10 09:46:56 -04:00
David Sidrane f5e5794930 platforms/common:SPI - fix hang on bords supporting BOARD_HAS_BUS_MANIFEST 2021-07-10 11:37:29 +02:00
Daniel Agar d01cec192f Makefile: remove check_px4_fmu-v2_lpe 2021-07-09 11:54:06 -04:00
Florian Achermann d4ee5a52c9 Adjust lower bound for CAL_AIR_TUBED_MM to 1.5 mm
Below 1.5 mm the tube pressure drow compensation will result in unrealistic compensation factors causing the measured airspeed to be too high.
In addition sensirion recommends a diameter of 1.8 mm or larger for the tubes.
2021-07-09 16:10:21 +02:00
TSC21 e39e3b3418 events interface: chance uORB 'sequence' to 'event_sequence'
The reason is that sequence is an IDL reserved keyword, which results on failure when parsing with FastRTPSGen.
2021-07-09 13:24:13 +02:00
Beat Küng 5a370bf575 CI: update remaining container to 2021-05-04 2021-07-09 10:51:47 +02:00
Paul Riseborough 223ca11aed ekf2: update drag fusion parameter descriptions 2021-07-08 22:19:52 -04:00
Paul Riseborough 2d6363e0ef ekf2: Add parameter for propeller momentum drag 2021-07-08 22:19:52 -04:00
Paul Riseborough 909326e9d8 ecl: use latest version with momentum drag fusion 2021-07-08 22:19:52 -04:00
Daniel Agar c5b1fe86ca delete deprecated BAT_* parameters 2021-07-08 22:19:12 -04:00
PX4 BuildBot 19bc1f9d02 Update submodule sitl_gazebo to latest Fri Jul 9 00:39:54 UTC 2021
- sitl_gazebo in PX4/Firmware (7144566afe): https://github.com/PX4/PX4-SITL_gazebo/commit/822050a7ab6fd87972e59f16312f451bce217a56
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/1f3f1b1dec5a31c2c400f141fc344f11f68659c9
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/822050a7ab6fd87972e59f16312f451bce217a56...1f3f1b1dec5a31c2c400f141fc344f11f68659c9

    1f3f1b1 2021-06-18 Jonas Vautherin - Add plugin allowing to draw a force (e.g. liftdrag) (#771)
2021-07-08 21:56:36 -04:00
Beat Küng 7144566afe metadata.cmake: ensure events directory exists & add px4 enums 2021-07-08 16:29:37 -04:00
Beat Küng 6938b1710a fix github deploy_all.yml: explicitly call events_json
Some targets don't build it (e.g. ark can bootloader)
2021-07-08 16:29:37 -04:00
Daniel Agar 23688d8234 monocypher submodule point to px4 branch 2021-07-08 13:54:34 -04:00
Daniel Agar bcfed93c57 github actions: fix airframe_metadata 2021-07-08 13:11:53 -04:00
Beat Küng e644036325 drivers: use updated I2C SPI driver interface 2021-07-08 12:59:35 -04:00
Beat Küng c5aef9d512 i2c_spi_buses: add support for multiple instances of the same device on a bus
This also simplifies the API a bit, since we anyway have to change the
drivers to pass additional information (the bus device index).

The orientation flag is merged with the rotation.
2021-07-08 12:59:35 -04:00
Daniel Agar e4983ab88c px4_platform_common: atomic support larger types with critical sections (on NuttX) 2021-07-08 10:56:25 -04:00
Beat Küng 32fe63916d mixers: exclude FX79.main.mix from px4_fmu-v2 2021-07-08 10:07:52 +02:00
Igor Mišić 376450ccf0 navigator: reduce traffic alert messages 2021-07-08 07:28:38 +02:00
Sam Chamberlin 496e3fe2e0 afbr-s50: added gate for processing distance measurements
updating variable naming convention

publish data when measurements are invalid, just set them to zero

add quality to distance measurements
2021-07-07 21:40:29 -04:00
Beat Küng dfd6999643 px4/fmu-v5: disable dumpfile & motor_ramp commands in optimized.cmake
Reduce flash
2021-07-07 21:38:09 -04:00
Beat Küng 5670db033d ark/can-gps: add EXTERNAL_METADATA
It has no mavlink, so no use in adding the metadata in the first place.
2021-07-07 21:38:09 -04:00
Beat Küng d9aec564f3 px_process_events.py: canonicalize + remove duplicate source files 2021-07-07 21:38:09 -04:00
Beat Küng 7f2bab9b0f px4/fmu-v6x: remove some modules to reduce flash 2021-07-07 21:38:09 -04:00
Beat Küng d30720c960 airframes: exclude some mixers + airframes (HIL, vtol) from fmu-v2
To reduce flash
2021-07-07 21:38:09 -04:00
Beat Küng e3972d563a cmake: ensure generated source files exist before extracting events
Only needed for Makefile-based builds:
gmake[3]: *** No rule to make target 'src/modules/flight_mode_manager/FlightTasks_generated.hpp', needed by 'events/px4.json'.  Stop.
2021-07-07 21:38:09 -04:00
Beat Küng b12b884f4c ci: update container version to 2021-05-04 2021-07-07 21:38:09 -04:00
Beat Küng c6eccd4518 requirements.txt: add jsonschema (required for events json validation) 2021-07-07 21:38:09 -04:00
Beat Küng 594f47c9f8 mission: switch to events 2021-07-07 21:38:09 -04:00
Beat Küng 38ee923658 px4io: switch to events 2021-07-07 21:38:09 -04:00
Beat Küng 7bb123c65e voted_sensors_update: switch to events 2021-07-07 21:38:09 -04:00
Beat Küng 6d26cabdbb github ci: deploy airframes metadata to s3 2021-07-07 21:38:09 -04:00
Beat Küng ab701ae502 rtl: switch to events 2021-07-07 21:38:09 -04:00
Beat Küng 59f359f7dc events: add custom (px4-specific) enums json file 2021-07-07 21:38:09 -04:00
Beat Küng 14d3582d38 events parser: make '/* EVENT' optional, but prevent 'using namespace events'
Allows for more compact code for very simple events w/o description
2021-07-07 21:38:09 -04:00
Beat Küng e1852a7a9a github ci: deploy events metadata 2021-07-07 21:38:09 -04:00
Beat Küng 60850fa528 metadata: add extract_events target
This will collect the events from the whole source tree
2021-07-07 21:38:09 -04:00
Beat Küng 38f3b8d356 mavlink & system: add events interface
- sending protocol
- uorb event message & template methods for argument packing
- libevents submodule to send common events and handle json files
- cmake maintains a list of all (PX4) source files for the current build
  (PX4 modules + libs), which is used to extract event metadata and
  generate a json file
2021-07-07 21:38:09 -04:00
Beat Küng 7c5838116a Tools: add parser to extract event definitions in source & generate json output
Example definition:
			/* EVENT
			 * @description
			 * test description
			 * @arg1: test
			 */
			events::send<uint8_t>(events::ID("test_event"),
					"test message", events::Log::Error, 0);
2021-07-07 21:38:09 -04:00
mcsauder fef2c43395 Modify occurrences of control_mode to vehicle_control_mode in MulticopterPositionControl.cpp/hpp to reflect the existing naming convention in the files. 2021-07-06 22:02:15 -04:00
Daniel Agar 1ee3484827 drivers/gps: close port if configure fails
- open if necessary at beginning of each iteration
2021-07-06 22:01:24 -04:00
JacobCrabill 3143756d97 uavcan_v1: Cleanup _uavcan_subs in SubMgr
Remove hard-coding of PX4 param names - use subject name and instance
instead

Also cleanup duplicates of CANARD_PORT_ID_UNSET/MAX vars
2021-07-06 22:00:07 -04:00
JacobCrabill 8f55c960b6 uavcan_v1: Change '_PID' params to '_SUB' for clarity 2021-07-06 22:00:07 -04:00
JacobCrabill 10019bbccc fmu-v5_uavcanv1: Increase CAN FIFOSIZE to 32 2021-07-06 22:00:07 -04:00
JacobCrabill fce809841f uavcan_v1: Revert HeapSize to 8192 2021-07-06 22:00:07 -04:00
JacobCrabill a644cf19c5 uavcan_v1: Update SubscriptionManager
Make _uavcan_subs struct 'const' again
Refactor updateDynamicSubscriptions()
Add getSubjectName(), getInstance() to BaseSubscriber class
2021-07-06 22:00:07 -04:00
JacobCrabill ab46b8026c uavcan_v1: Don't re-subscribe to fixed port ID subscribers 2021-07-06 22:00:07 -04:00
JacobCrabill a99b657f03 uavcan_v1: Fix SubscriptionManager dynamic update 2021-07-06 22:00:07 -04:00
JacobCrabill db460daf46 uavcan_v1: Bugfix: pop timed-out transfers from tx queue 2021-07-06 22:00:07 -04:00
JacobCrabill c9f743049b uavcan_v1: Increase _uavcan_heap size 2021-07-06 22:00:07 -04:00
JacobCrabill 4ba1f966e5 uavcan_v1: Add update and print support to SubscriptionManager 2021-07-06 22:00:07 -04:00
JacobCrabill 74d0f46279 uavcan_v1: Publisher: Fix port_id update 2021-07-06 22:00:07 -04:00
Daniel Agar 1b5e65df04 gyro_fft: change default length 1024 -> 512 to decrease latency
- change default FFT length (1024 -> 512)
      - this doubles the update rate because half the number of samples are required for each
 - decrease number of peaks (4 -> 3)
      - so far 3 seems to be sufficient on most vehicles
 - increase median filter window (3 -> 5)
 - decrease SNR requirement (likely needs to be configurable)
2021-07-06 21:54:18 -04:00
Daniel Agar ca4932cfc0 EKF: initialize vertical position and velocity variables
- otherwise checkVerticalAccelerationHealth() can fail if GPS or EV
aren't available to correctly set vertical velocity fusion time and
innovation ratio
2021-07-06 17:11:16 -04:00
Oleg Evseev f296a41737 cdev: fixes hardfaults when device get disconnected (#17846)
check if inode is not unlinked before use
2021-07-06 12:35:47 -04:00
Daniel Agar a5ee28883a gyro_fft: track FFT peaks and median filter frequency 2021-07-06 12:32:25 -04:00
alexklimaj 72389c2306 Increase hp work priority. Turn on SPI2 DMA for AFBR. 2021-07-06 11:35:01 -04:00
Paul Riseborough 0c15624a0c EKF: Fix clang-tidy complaint 2021-07-06 15:20:39 +02:00
Daniel Agar 9524e8ec03 drivers/px4io: mirror PWM_MAIN_OUT support 2021-07-05 21:23:04 -04:00
Daniel Agar 6dd0a58302 [at24c] free perf counter if px4_at24c_initialize fails
- add driver prefix to perf counter naming
2021-07-05 21:22:08 -04:00
murata c9b5e488f5 NCP5623C: Change the class name to the device name 2021-07-04 14:22:20 -04:00
David Sidrane 9dee09b81b NuttX and Apps updated w/ALL backports 2021-07-02 09:08:10 -07:00
David Sidrane 962f02220a nxp_fmuk66-v3:DMA Poll not needed 2021-07-02 09:08:10 -07:00
David Sidrane 39d684958d nxp_fmuk66-e:DMA Poll not needed 2021-07-02 09:08:10 -07:00
David Sidrane 2a7c95d7ac nxp_fmuk66-v3:Use eDMA 2021-07-02 09:08:10 -07:00
David Sidrane cd8182ba3c nxp_fmuk66-e:Use SPI DMA 2021-07-02 09:08:10 -07:00
David Sidrane 5ea4b7dc9e NuttX with Kinetis eDMA (SPI, Serial) Backports 2021-07-02 09:08:10 -07:00
Matthias Grob acf848ba99 PWM: Draft implementation to respect PWM_OUT when loading defaults 2021-07-02 12:48:04 +02:00
Beat Küng 50b0f0e392 iridiumsbd: disable module until everything is fixed
There seem to be more issues in combination with MAVLink.
2021-07-02 12:45:18 +02:00
Beat Küng fcf3bb5af9 fix iridiumsbd: use ModuleBase
fixes hardfaults, e.g. when device not connected
2021-07-02 12:45:18 +02:00
Beat Küng 9b7170551c ModuleBase: allow configurable timeout for wait_until_running() 2021-07-02 12:45:18 +02:00
Peter van der Perk cf524cd2c9 [UAVCANv1] Added uORB actuator_outputs publisher 2021-07-02 00:58:38 -04:00
Beat Küng 6a44fc7cac fix vtol_att_control: set _current_max_pwm_values to current values on init 2021-07-02 00:53:42 -04:00
Beat Küng 894ecac8da px4io: ensure pwm params are loaded before any other module starts
The vtol module will read them later on.
2021-07-02 00:53:42 -04:00
alexklimaj 962c2cc960 Add fmuv6x to vscode cmake variants 2021-07-01 20:14:05 -04:00
David Sidrane 3e00450052 NuttX with SDMMC BACKPORT 2021-07-01 11:51:14 -07:00
Thies Lennart Alff cacab75b42 define decimals for uuv_att_control gains
decimal for the uuv_att_control gain parameters was not defined. So
QGroundControl displays them as integers what is rather unhandy.
2021-07-01 11:08:16 -04:00
Daniel Agar 0aa14deb5d drivers/distance_sensor/broadcom/afbrs50: minimize IRQ_LOCK()/IRQ_UNLOCK() calls 2021-07-01 10:47:53 -04:00
Matthias Grob 62546350f1 battery: use local instead of global member battery_status message 2021-07-01 14:24:38 +02:00
Matthias Grob fa976f84b1 battery: clear interface for determineWarning() 2021-07-01 14:24:38 +02:00
Matthias Grob f41c294028 BatterySimulator: No need to explicitly mention throttle being set to zero 2021-07-01 14:24:38 +02:00
Matthias Grob b824f33ae9 battery: publish measured values also when battery not connected 2021-07-01 14:24:38 +02:00
Matthias Grob a99ddd0845 battery: don't reset on every loop iteration 2021-07-01 14:24:38 +02:00
Matthias Grob 8d74e52bb7 battery: omit separate publish() function 2021-07-01 14:24:38 +02:00
Matthias Grob 9c0c85c9e2 battery_status: naming consistency current_filtered_a -> current_average_a 2021-07-01 14:24:38 +02:00
Matthias Grob 41cc73e555 battery: simplify battery_initialized condition 2021-07-01 14:24:38 +02:00
Matthias Grob a51d47f8e8 battery: connected check outside of determineWarning() 2021-07-01 14:24:38 +02:00
Jaeyoung-Lim e45b862f1d Specify orientaiton of ADIS16448 IMU from rc.sensors
Specify orientaiton of ADIS16448 IMU for from the rc.sensors

WIP: Currently only handling one orientation
2021-06-30 09:34:12 -04:00
Daniel Agar 33bf4e0303 EKF: set uninitialized vel/pos/hgt test ratios to NAN
- ensure valid min is numerically larger than 0 (float32)
2021-06-30 09:30:44 -04:00
Daniel Agar d87cd171f4 sensors/vehicle_imu: continue integrating gyro if there's a gap in data
- minor improvement that helps to determine the sensor publication rate
as soon as possible
2021-06-30 09:13:49 -04:00
Daniel Agar 7ddcb7fe3c adis16470: disable debug 2021-06-30 01:01:07 -04:00
Daniel Agar 982692f5ed ekf2: selector handle NAN test ratios as uninitilaized
- requires https://github.com/PX4/PX4-ECL/pull/1020
2021-06-29 21:36:24 -04:00
Daniel Agar f08a22934e boards: px4_fmu-v4_test remove deleted drivers/tap_esc 2021-06-29 21:27:29 -04:00
Daniel Agar f0d8d53da6 sensors/vehicle_imu: minor IMU integration improvements
- IMU integrator set max dt based on final return size (uint16)
 - improve integration consuming gyro as needed then integrate all available accel until caught up
 - increase required number of samples for sensor rate measurement (online Welford mean)
2021-06-29 10:43:09 -04:00
Daniel Agar 3fcd323f6a drivers/imu/invensense: store offset registers on configure, trigger reset on any change
- this can catch subtle failures that occur after self hours of continuous operation on some units
2021-06-29 10:33:03 -04:00
alexklimaj 9d3e18dbe1 ARK Flow rev 2 add icm42688p 2021-06-25 09:44:45 -04:00
TSC21 a67e66000e protocol_splitter: including magic number on XOR for checksum 2021-06-25 13:05:24 +02:00
TSC21 4741ec25ce microRTPS: increase base message ID space to 179 2021-06-25 13:05:24 +02:00
Matthias Grob 5ac5399d83 Remove horizontal slow down close to ground
Because based on the numerous complaints it was disabled by default
(only velocities above 10m/s were limited)
and since then no one intentionally used it anymore. But
there were some minor investigations of drones not reaching
their maximum speed which always showed 10m/s.
2021-06-25 11:15:41 +02:00
Matthias Grob 055c9db178 state_machine_helper: allow takeoff and hold without any link 2021-06-25 10:46:43 +02:00
Matthias Grob 15096ead5f state_machine_helper: explicitly notify about rca and data link loss 2021-06-25 10:46:43 +02:00
Matthias Grob bec9eef5b0 state_machine_helper: react on link losses during takeoff
The same way like in loiter. This should be further unified in the code
but at least we can increase safety in the case the takeoff altitude is
very high and the vehicle never reaches it but looses links.
2021-06-25 10:46:43 +02:00
Matthias Grob 11556d4e9a Commander: allow disabling RC loss failsafe for mission, hold, offboard independently 2021-06-25 10:46:43 +02:00
Matthias Grob 933d31b476 commander_params: correct parameter group from Mission to Commander 2021-06-25 10:46:43 +02:00
Matthias Grob 6ee8f7be0f Commander: switch to static_cast<> for set_nav_state parameters 2021-06-25 10:46:43 +02:00
Jukka Laitinen d83033f449 Take the crypto_backend library into use in bootloader for signature verification
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen 0d4f481035 Add simple SW implementations for crypto_backend and keystore_backend
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen d068ae48d6 Add header file for arhitecture/implementation specific px4 crypto and
configuration for cmake

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen b3e9904df0 Add monocypher crypto library in src/lib/crypto/monocypher
This simple crypto library is used as an example default backend for the crypto
interfaces

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen 09e62f96b2 Put all the test key material into same directory
Move Tools/test_key.json and key0.pub into same directory.

key0.pub is just a hex-dump of the public key part from the test_key.json,
for easy inclusion into bootloader monocypher sw crypto

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen caed8e4b05 Fix cryptotools.py signature alignment
If the signature start address is already aligned, the tool erroneously adds 4 filling bytes

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Roman Dvořák ab0e3b6001 icm20948_i2c_passthrough: allow to configure i2c address 2021-06-25 07:50:31 +02:00
Beat Küng d79229f958 mavlink_shell.py: allow scripted use
E.g. echo free|./Tools/mavlink_shell.py

Or creating a virtual nsh console:
socat pty,rawer,link=/tmp/fmu_nsh_pts exec:"mavlink_shell.py 0.0.0.0\\:14550,pty,rawer"
2021-06-24 15:18:06 +02:00
Sander Swart aa60d76963 camera trigger: don't keep triggering while enabled but paused 2021-06-24 06:56:58 +02:00
achim 6b356068cb boards: mro_x21-777 board.h fix SPI 2 SCK pin
- SPI 2 had the wrong SCK PIN -> PB10 instead of PB13 -> accidentally the kill pin
could be probably wrong on other mro boards
2021-06-23 15:00:20 -04:00
Mathieu Bresciani 9cedb169fc HTE: relax validity condition when already valid (#17783)
The condition to get valid requires a low variance and test ratio. but
to stay valid, only the variance is required.

Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-06-23 07:33:11 +02:00
Hamish Willee 74cc1d901d Thoneflow - fix up links to docs 2021-06-22 13:43:53 -04:00
Paul Riseborough 3beb5bcbe0 EKF: Fix momentum drag density altitude scaling and update comments 2021-06-22 18:50:56 +10:00
Paul Riseborough 97b5ae1e96 EKF: Fix derivation comments for drag fusion 2021-06-22 18:50:56 +10:00
Paul Riseborough 58d376e2be EKF: prevent /0 and use pre-computed inverses 2021-06-22 18:50:56 +10:00
Paul Riseborough de8625d255 EKF: fix sign error in bluff body drag fusion 2021-06-22 18:50:56 +10:00
Paul Riseborough 73d1e514d0 EKF: Extend drag fusion to include propeller momnetum drag 2021-06-22 18:50:56 +10:00
Matthias Grob 0dee7af81f ekf2_params: enable baro ground effect compensation by default 2021-06-22 10:32:54 +02:00
BazookaJoe1900 91808f7c9e Update EKF/common.h
Set non-zero default value for airspeed threshold to enable it by default

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2021-06-22 18:30:47 +10:00
Bazooka Joe 9c0a52d52a delay time: potentially reduce delay time if baro/aux velocity/airspeed is not used 2021-06-22 18:30:47 +10:00
bresch 611ace0ed6 EV_yaw: reset ev_to_ekf to identity when yaw is reset to EV
Otherwise, the old rotation matrix is used and not updated anymore
because the EKF is fusing EV yaw data.
2021-06-22 10:25:55 +02:00
bresch 804c3563fb heading_fusion: fix yaw gyro bias oscillation on ground
When the mag is pulled away before takeoff, the EKF can end up learning
a bad yaw gyro bias. This bad gyro bias makes the estimated heading spin
and even if the bias continues to be learned, it can end up being stuck
in limit cycle due to the innovation changing its sign every time the
heading estimate overshoots the measurement.
To prevent this, the Z gyro bias variance is reset when the mag heading
fusion test ratio fails on ground.
2021-06-22 16:45:26 +10:00
Thomas a264541861 explicitly set param2 to 0 in existing *DO_VTOL_TRANSITION commands. add a guard against NaNs. 2021-06-21 22:39:54 +02:00
TSC21 0c5f2d3b8c microRTPS: add missing header for PRIu32 and PRIu16 macros
Co-authored-by: squizz617 <seulbae@gatech.edu>
2021-06-21 16:36:44 +02:00
TSC21 9fb53d4276 microRTPS: add option to build the microRTPS agent after its generation 2021-06-21 16:36:44 +02:00
TSC21 084a992572 microRTPS: agent: only allow to whitelist the localhost when using FastDDS as the rmw 2021-06-21 16:36:44 +02:00
TSC21 79f7986715 apply ROS2 default memory management and publish mode QoS policies; make sure that SharedMemory is only used with FastDDS as the rmw 2021-06-21 16:36:44 +02:00
Igor Mišić 39909128ec micrortps_client: increased stack size by 250B
Co-authored-by: Nuno Marques <n.marques21@hotmail.com>
2021-06-21 16:36:44 +02:00
TSC21 d3a23cee40 microRTPS: agent: fix double free memory problem on SIGINT
It fixes also some minor issues when exiting the agent, including the printed stats
2021-06-21 16:36:44 +02:00
TSC21 6d5f12d2a2 microRTPS: client: add TX rate limiter 2021-06-21 16:36:44 +02:00
TSC21 ac2b38603c microRTPS: client: add missing "-p" option for the UART poll timeout and use microsecs for the send/rcv thread sleeps 2021-06-21 16:36:44 +02:00
TSC21 0cc79f3e48 microRTPS: client: show diagnostic of current bandwidth usage on the 'status' option 2021-06-21 16:36:44 +02:00
TSC21 d6ee15596d microRTPS: client: show diagnostic of average bandwidth usage on the 'status' option 2021-06-21 16:36:44 +02:00
TSC21 40462bfc1f microRTPS: client: reduce name set by pthread_setname_np since Linux requires names (with NUL) to fit in 16 chars, otherwise returns ERANGE (34) 2021-06-21 16:36:44 +02:00
TSC21 145e7387fb posix: start the microRTPS client in sim every time the module is available 2021-06-21 16:36:44 +02:00
TSC21 773d81f208 microRTPS: client: fix send per allocated topic 2021-06-21 16:36:44 +02:00
TSC21 f2fad6d966 microRTPS: by default, when FastDDS >= 2.0, enable Shared Memory transport for the agent participants when the localhost network is enabled 2021-06-21 16:36:44 +02:00
TSC21 320b414511 microRTPS: client: match the code style from the PX4 Firmware 2021-06-21 16:36:44 +02:00
TSC21 63571b3e3f microRTPS: agent: match the code style from the PX4 Firmware 2021-06-21 16:36:44 +02:00
TSC21 323ce797f8 microRTPS: allow communications only in the localhost network when ROS_LOCALHOST_ONLY env variable is set 2021-06-21 16:36:44 +02:00
TSC21 578e426e9e microRTPS: set trajectory_waypoint to be sent only, as this is outgoing data with vehicle_trajectory_waypoint_desired 2021-06-21 16:36:44 +02:00
Pieter-Jan Dewitte 155d3c7d36 FW pos control: fix airspeed input constaining 2021-06-21 10:55:21 +02:00
Claudio Micheli b1829e5766 Predict and use braking distance when Pausing auto modes (for multicopters) (#17269) 2021-06-18 10:45:03 +02:00
Daniel Agar 76a8617529 sensors: fix IMU init race condition
- IMU init requires valid published data (device ids, etc)
 - orb_group_count will include advertised instances before data is published, so this can't be used to throttle IMU init attempts
2021-06-17 10:38:33 -04:00
Peter van der Perk b2742658b7 UAVCANv1 port unset fixes and deinitialization 2021-06-17 10:02:17 -04:00
Beat Küng 1c3f30be01 protocol_splitter: tcflush() uart before closing it 2021-06-17 09:40:57 -04:00
Beat Küng 14ec7a0d93 mavlink: tcflush() uart before closing it
On NuttX with flow control, if no one was reading from the uart, the
close() call would block indefinitely waiting for data to be sent.
2021-06-17 09:40:57 -04:00
honglang 074ed24d02 nora:fixed syntax error 2021-06-17 09:37:04 -04:00
Daniel Agar 500c45e798 uORB: Subscription check if uORB::Manager instance is valid
- this is necessary if uORB::Subscription is used with static storage
duration
2021-06-17 08:07:24 +02:00
David Sidrane a728431e43 spracing_h7extreme:Track NuttX assert changes 2021-06-16 17:07:47 +02:00
David Sidrane b399b8d5ea protocol_splitter:Track NuttX assert changes 2021-06-16 17:07:47 +02:00
David Sidrane 61f80c087a px4io:Fix Type 2021-06-16 17:07:47 +02:00
David Sidrane 18960f0b82 RoboClaw:Fix Types 2021-06-16 17:07:47 +02:00
David Sidrane 9377b02c58 Track NuttX Timer changes 2021-06-16 17:07:47 +02:00
David Sidrane 05bdef867d Track NuttX syslog change 2021-06-16 17:07:47 +02:00
David Sidrane 028ae9561d logger:watchdog Track NuttX file reorg 2021-06-16 17:07:47 +02:00
David Sidrane eea1477e80 FakeImu:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 37d93320eb uavcan_v1:Uavcan: Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 026d36dee8 microRTPS:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane fd68fd2933 tests:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane f3624c172c kinetis pinirq:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 93c37e4e0c syslink:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 8d078eb02e vtol_att_control:Fix type 2021-06-16 17:07:47 +02:00
David Sidrane bec5d6de9b vmount:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 350e43f02c dataman:fix types 2021-06-16 17:07:47 +02:00
David Sidrane 77082188d8 temperature_calibration:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane d73f842151 sensors:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 274c55a4ae navigator:mission Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 65d026d45c mavlink:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 5faa116681 logger:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 3b725e5525 gyro_fft:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 07fbf8681d gyro_calibration:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 85f4f13e8a flight_mode_manager:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 9a423e222b ekf2:Use inttypes and fix types 2021-06-16 17:07:47 +02:00
David Sidrane ed474794cc commander:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane a3593d7d07 analog_battery:Use inttytpes 2021-06-16 17:07:47 +02:00
David Sidrane 9c87766021 sensor_calibration:Use inttytpes 2021-06-16 17:07:47 +02:00
David Sidrane 4bc7f1f3f3 lib/perf:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane f50b238c78 lib/parameters:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane b4ebc68a40 lib/drivers/nuttx/ I2C SPI:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane ff2748ba53 PX4Gyroscope:Fix types 2021-06-16 17:07:47 +02:00
David Sidrane 42e51b0215 PX4Accelerometer:Fix types 2021-06-16 17:07:47 +02:00
David Sidrane 17502da493 lib/battery:Fix types 2021-06-16 17:07:47 +02:00
David Sidrane 42e4ea86b1 uavcannode_gps_demo:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 616401190c UavcanNode:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 71f3a02c65 uavcan:use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane a07390a2d7 iridiumsbd:use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 2af9934f1c pcf8583:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 4ecda97fc1 roboclaw:Fix types 2021-06-16 17:07:47 +02:00
David Sidrane 4aa7bff8c6 rc_input:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane e7406bbd46 px4io:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 3747d0bc80 px4io:Fix types 2021-06-16 17:07:47 +02:00
David Sidrane 9443dd6345 pwm_out:use inttypes, match signature 2021-06-16 17:07:47 +02:00
David Sidrane bd511e1074 dShot: Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 810e9e174f distance_sensor: Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane c12a3330b8 camera_trigger: Use proper types 2021-06-16 17:07:47 +02:00
David Sidrane 7b2a1d4742 drivers:camera_trigger Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane b6435bb7f2 drivers:camera_capture Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 3a0770499a drivers:batt_smbus Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 05007944f1 drivers:barometer Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 824dbce941 drivers:ADC Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 6e5a86b6fe dshot:Matched signature to drv_pwm_output.h 2021-06-16 17:07:47 +02:00
David Sidrane dc23c85085 px4/common:mtd Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 1b80018f30 systemcmds:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane 62fd132047 boards:Use inttypes
nxp_ucans32k146:Fix constant

spracing_h7extreme:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane 84dd8839a2 i2c_spi_buses:Track NuttX change to getopts avoid name collision
NuttX #defined optarg and getopt to move to TLS. This fixes the
  name collision.
2021-06-16 17:07:47 +02:00
David Sidrane 64db89ab20 px_generate_uorb_topic_helper: Use inttypes 2021-06-16 17:07:47 +02:00
bresch 0ef5d7d4c8 test_replay: remove setting read-only parameter 2021-06-16 15:38:17 +02:00
AlexKlimaj dddd2c3297 drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver
* Basic Broadcom AFBR-S50 driver using vendor API and binary blob https://github.com/Broadcom/AFBR-S50-API
* fix ARK Flow paw3902 rotation
2021-06-15 12:12:24 -04:00
Julian Oes e828ba4288 commander: send parachute command on termination (#17564)
* commander: send parachute command on termination

This sends the DO_PARACHUTE command to parachute component.

* commander: fix lying comments and printf

* commander: use one flag for termination triggered

This merges the duplicate flags _flight_termination_triggered and
_flight_flight_termination_printed.

* commander: correct variable name

* commander: always send tune with parachute

* commander: fix target_component for parachute cmd

The previous changes were wrong in that all commands were now sent to
the parachute component which doesn't make any sense. Of course only the
parachute command should be sent there.
2021-06-15 11:50:30 +02:00
Jukka Laitinen b550ad22b9 EKF2: Always publish global position
For historical reasons, there is a check in EKF2 to only publish global
position if it has moved for 1mm.

This is no longer necessary, and also this if doesn't save any cpu cycles
in real conditions where GPS errors are always much bigger that this.

When using simulated or fake GPS, based on some other positioning
system, the GPS coordinate input can be very accurate due to quantization
or true accuracy. In this case this check bites and perfectly valid position
doesn't get published.

Just removed this if.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-15 10:55:39 +02:00
Julian Oes 8415692f2a commander: enable user override when GPS is lost
When user override using the RC sticks is allowed, I would expect this
feature to also work in the case where GPS is lost and the vehicle goes
into a blind land/descent.

Without this commit, the vehicle would switch to Land mode and a pilot
could not take over control unless they switch to Altitude control in
a ground station.

With this commit, user override works as I would expect it and it will
switch to Altitude control allowing a pilot to recover in this
situation.
2021-06-15 10:36:11 +02:00
TSC21 749f213ca5 make_list: check if file exists before the other operations 2021-06-14 11:54:05 +02:00
TSC21 c4d54d983b mavsdk_tests: bump MAVSDK version to 0.40.0 2021-06-14 09:23:38 +02:00
Daniel Agar 0c303f03f4 Update submodule mavlink v2.0 to latest Mon Jun 14 00:39:13 UTC 2021 2021-06-13 21:30:10 -04:00
Hamish Willee d6f69ef2a0 aion robotic frame - fix broken link to R1 UGV docs 2021-06-12 11:58:26 -04:00
TSC21 0f47ae8e7b update submodule Tools/sitl_gazebo 2021-06-12 11:57:17 -04:00
David Sidrane 9c8e95db8d NuttX w/NXP contrib for FlexCAN fixes 2021-06-12 06:22:01 -07:00
David Sidrane 5b9201e5b4 cuav:Nora X7 Pro:Camera trigger is on 13/14 2021-06-11 15:13:23 +02:00
David Sidrane e0fab172a4 camera_trigger:Support more than 8 channles 2021-06-11 15:13:23 +02:00
Beat Küng 615e1f3e29 mavlink: fix module doc for broadcast 2021-06-11 09:01:41 +02:00
Beat Küng 468aea9409 cmake: enable --ethernet to generate common param metadata
This will add the MAV_x_BROADCAST params.
2021-06-11 09:01:41 +02:00
Peter van der Perk 8c4b900f9a uavcan_v1: Correct transmission deadline check & fix SocketCAN tx deadline 2021-06-10 02:26:28 +00:00
Julian Oes ca86416ce6 mavlink: don't read garbage target sysid/compid
This fixes a tricky bug that we discovered in MAVSDK:
https://github.com/mavlink/MAVSDK/pull/1464

It turns out the target_system and target_component fields can
potentially be:
1. at the end of a message payload,
2. and zero,

and therefore they get trimmed. When you then try to read it you
potentially read some garbage from the CRC fields.
2021-06-09 15:40:46 -04:00
echoG 6bc09138c1 Adding BatMon smart battery as a module and refactoring SMBUS based SBS 1.1 spec to a library 2021-06-09 12:17:45 -04:00
Julian Oes 8be1034346 workflows: fixes typo on python package name (#17740)
The previous PR was merged optimistically.
2021-06-09 09:11:28 -07:00
bresch 514845592b en-/disable mc position controller using explicit control mode flag 2021-06-09 18:10:22 +02:00
Julian Oes 17ea92bb54 workflows: add missing dependency for mypy (#17736) 2021-06-09 08:52:21 -07:00
Daniel Agar 328c5cb1cf mavlink: properly cleanup instance on exit 2021-06-09 10:58:34 -04:00
Hamish Willee 9f87702074 px4moduledoc/markdownout.py - source links to PX4-Autopilot 2021-06-09 11:11:08 +02:00
Hamish Willee 665d2ea74e markdownout for parameters - makes link internal 2021-06-09 11:09:48 +02:00
Hamish Willee f9201811b4 airframes markdownout.py - fix link to not open file for editing 2021-06-09 11:08:37 +02:00
JacobCrabill 0931ff10d5 uavcan_v1: Clean up handling of invalid port IDs
Always convert 'invalid' port ID values (e.g., the default PX4 port-ID
parameter value of -1) to CANARD_PORT_ID_UNSET in all comparisons.
2021-06-08 20:13:19 -04:00
JacobCrabill 73ef22ae77 uavcan_v1: Fix heartbeat pub timestamp
The hrt_abstime value used to control the 1s pub rate was the value of
the timestamp_usec of the CanardTransfer, which has a timeout of 100ms
added to it.

Since hrt_abstime is an unsigned datatype, if the hrt_elapsed_time()
check was called <100ms apart, the negative value would result in a
large hrt_elapsed_time, and the bus would be spammed with Heartbeat
messages (or error messages from canardTxPush).
2021-06-08 20:13:19 -04:00
Daniel Agar 251f1a069b ekf2: update message lost error messages to perf counters
- only allocate these perf counters if data source is present
2021-06-08 20:12:17 -04:00
bresch 841914462d MC pos control: use vz<->z_deriv blending in pure vel mode only
This logic was introduced to avoid large altitude drifts in velocity
mode (altitude not controlled) due to potential velocity estimate bias
in case of IMU problems (see PR #8445). After some refactorings,
the logic started to be used in altitude-controlled modes as well, which is not needed.
2021-06-08 14:58:14 +02:00
Daniel Agar 47b9016f5e I2CSPIDriverBase: print rotation and i2c address if set 2021-06-08 09:27:21 +02:00
CUAV_gitfishup c61c1a15ee cuav/x7pro: fix syntax error in rc.board_sensors 2021-06-08 09:18:20 +02:00
honglang 8b1d2b8551 change fmu-v5's uavcan timer5 to timer6 2021-06-07 20:07:03 +02:00
achim 00229c4fd2 drv_pwm_output.h: increase highest max pwm limit from 2150 to 2500
- servo linkages in vtol often need further travel of the servos to cover the full tilt travel
2021-06-07 09:13:39 -04:00
Daniel Agar 578c003c13 ekf2: selector handle uninitalized test ratios
- choose the best instance regardless of tilt or yaw alignment
2021-06-07 08:56:37 -04:00
Matthias Grob ed62ae0e4f mavlink: add actuator_armed header to heartbeat 2021-06-07 08:55:49 -04:00
Julian Oes 446598d003 mc_pos_control: omit initial warning 2021-06-07 08:54:19 -04:00
Daniel Agar 4f850c7cd0 sensors: preserve all valid calibration parameters even if sensor currently missing
- mark calibration slots active for first N sensors found
 - calibration procedure don't bother resetting unused slots
2021-06-07 08:50:32 -04:00
Daniel Agar 2ccd86102b ekf2: add command line option to manually select instance 2021-06-07 08:47:17 -04:00
achim 66dbc1e25f Update rc.board_arch_defaults
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:30 -04:00
achim fd2161b6bf Update rc.board_arch_defaults
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:10 -04:00
achim 1ab7943940 Update rc.board_arch_defaults
Logger doesn´t start at all with 4k buffer
2021-06-05 11:45:53 -04:00
Daniel Agar 4f8f1a5f7e mavlink: streams HEARTBEAT fix code style 2021-06-04 20:43:25 -04:00
Daniel Agar d31a45a62d github actions SITL test run standard_vtol with address sanitizer 2021-06-04 13:27:42 -04:00
Matthias Grob faabe2d431 mavlink: make sure heartbeat reports flight termination 2021-06-04 12:48:22 -04:00
achim 6fb1ba7583 Update rcS
remove sd index file spoofing
2021-06-04 11:43:17 -04:00
Matthias Grob 70050ae4f5 mc_pos_control_params: correct MPC_POS_MODE docs since 1 is depracated 2021-06-04 09:32:03 -04:00
Peter van der Perk 9756c70491 UAVCANv1 Iteration, dynamic subscribers and decoupling (#17624)
* Update to use libcanard callback
Reworked param system with lambda

* Use callback instead of lambda saves 500 bytes of flash

* [UAVCANv1] Added ServiceRequest class, subscribers decoupled

* PX4 UAVCANv1 portID param default CANARD_PORT_ID_UNSET (65535U)

* [UAVCANv1] uORB sensor_gps modify timestamp for now untill we've got timesync working

* UAVCANv1 update parameter definition to use -1 as unset
2021-06-04 09:30:17 -04:00
Daniel Agar 470c3cfa6e mavlink: streams HEARTBEAT fix vehicle_control_mode copy 2021-06-04 15:19:34 +02:00
CUAVmengxiao 98fb373590 mavlink: 14S battery support 2021-06-04 09:15:40 -04:00
RomanBapst ad9288536b TECS: enable direct height-rate control
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-06-04 14:51:27 +02:00
RomanBapst f6de99d42e FixedWingPositionControl: control only height rate when using pitch stick
in manual altitude controlled modes

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-06-04 14:51:27 +02:00
Silvan Fuhrer 3d87bfcc0a rename FW_T_CLIMB_R_SP to FW_T_CLMB_R_SP
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-06-04 14:51:27 +02:00
RomanBapst 19449a4e75 FixedWingPositionControl: use target climb/sink rate parameters as maximum
rates in manual altitude controlled modes

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-06-04 14:51:27 +02:00
RomanBapst a5cc449e69 tecs: propagate altitude setpoint based on target climb/sink rate
- avoids tecs always climbing and sinking and max rates and allows to fine tune these rates
- avoid numerical calculation of feedforward velocity using derivative, this
 was prone to jitter in dt

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-06-04 14:51:27 +02:00
RomanBapst 4b7416c05b FixedWingPosControlL1: added target climb and sink rate parameters
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-06-04 14:51:27 +02:00
Travis Bottalico 861e15be4c - update CDCAM_PRODUCTID to match bootloader 2021-06-03 21:38:53 -04:00
bresch 8ad0f36f48 pwm: specific fail/disarm parameters should default to global value 2021-06-03 21:26:13 -04:00
Daniel Agar db1657fa84 sensors/vehicle_magnetometer: apply current compensation regardless of arming state
- simplify update on mag compensation type change
2021-06-03 10:08:19 -04:00
Julian Oes 60235f8474 mavlink: properly initialize vehicle_command queue
This makes sure that the vehicle_command topic is properly
initialized from the beginning.

orb_exists returns -1 or 0 and not a bool as one would expect.
2021-06-03 08:53:39 -04:00
Hamish Willee 00cc1323ea gpio.cpp: Add backticks around gpio command docs 2021-06-03 12:37:48 +02:00
alexklimaj 3e9b295c22 Add watchdog_init to ark boards to ensure watchdog pauses during debugging 2021-06-03 00:54:57 -04:00
Daniel Agar 284375efc3 px4io: only update PWM MAX/MIN/DIS/FAIL/REV once
- Updating PWM params on param change was interfering with VTOL
parameter settings (e.g. PWM_MIN is set by VTOL at init, and
was then overwritten here after an arbitrary param change).
2021-06-03 00:52:05 -04:00
Silvan Fuhrer 697d713faf pwm out: disable PWM parameter update on param change
Only update PWM params on initialisation.
Updating PWM params on param change was interfering with VTOL
parameter settings (e.g. PWM_MIN is set by VTOL at init, and
was then overwritten here after an arbitrary param change).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-06-03 00:52:05 -04:00
Daniel Agar c6d5bd868e boards: px4_fmu-v6x_default disable LPE to save flash 2021-06-02 09:12:24 -04:00
honglang 5672af4299 CUAV X7pro and Nora: use icm42688p instead of bmi088 2021-06-02 09:11:37 -04:00
Julian Oes 1b67187770 navigator: protect against 0 acceptance radius
This seems to slip in e.g. as part of the VTOL_LAND command.
2021-06-02 07:28:19 +02:00
Julian Oes ab23a44b99 navigator: fix acceptance radius for multicopter
This fixes a regression introduced in
https://github.com/PX4/PX4-Autopilot/pull/16646
which meant that the acceptance radius was no longer used at all for
multicopter, and instead only the NAV_ACC_RAD param was used.

With this change we use the acceptance radius of the mission item again
if it is actually set (and not NAN) which we did not do before, and we
only do that for multicopter.
2021-06-02 07:28:19 +02:00
Daniel Agar 5f775b508f boards: enable CONFIG_OTG_ID_GPIO_DISABLE on all F7/H7 2021-06-01 15:19:15 -04:00
David Sidrane 32e92ba817 Revert:Pull downs - bad levels cause motor spins 2021-06-01 15:18:47 -04:00
Beat Küng dfa5964719 Accelerometer: fix thermal calibration index 2021-06-01 10:01:36 -04:00
Daniel Agar d430e13401 sensors: wait for real sample rate to initialize LowPassFilter2p 2021-06-01 08:58:10 -04:00
Daniel Agar 438b0abc7a mathlib: Biquad filters use internal fields for parameter update 2021-06-01 08:58:10 -04:00
Daniel Agar 9661eddef8 mathlib: LowPassFilter2p initialize b0 to 1 for safety 2021-06-01 08:58:10 -04:00
Daniel Agar e52c0ceca5 Update submodule mavlink v2.0 to latest Tue Jun 1 00:39:07 UTC 2021 2021-05-31 21:11:01 -04:00
RomanBapst b06b46b224 log raw airspeed derivative, pitch setpoint and airspeed innovation for TECS
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-31 23:56:23 +02:00
Daniel Agar 806b462935 px4_work_queue: increase UART stack 2021-05-31 14:49:40 -04:00
Daniel Agar 5831494164 boards: px4_fmu-v2_default disable gyro_calibration module to save flash
- this doesn't impact regular gyro calibration
2021-05-31 12:11:53 -04:00
Daniel Agar 90e106ede3 boards: cuav_x7pro_test disable LPE to save flash 2021-05-31 10:26:45 -04:00
Daniel Agar 5493d96d17 mathlib: merge LowPassFilter2p, LowPassFilter2pArray, and LowPassFilter2pVector3f
- fix reset for direct form 2
 - push NAN checks out to filter users
2021-05-31 10:26:45 -04:00
Daniel Agar 2a792ca201 gyro_fft: add simple SNR requirement and reduce number of peaks 2021-05-31 10:26:45 -04:00
Daniel Agar 3269ee8df1 sensors/vehicle_angular_velocity: accumualted notch filtering and reset improvements
- apply sensor scaling immediately to keep things simple (FIFO vs regular)
 - inline filter helpers (minor performance improvement)
 - dynamic notch filtering
    - reorder by axis (applied per axis)
    - don't remove notch filters immediately if ESC or FFT data times out
    - constrain notch filter frequency and bandwidth to safe range (minimum bandwidth for flaot precision, Nyquist, etc)
 - add safe constraint on dt
2021-05-31 10:26:45 -04:00
Daniel Agar 561cfca4f9 fake_imu: add fake ESC status for testing dynamic notch filters 2021-05-31 10:26:45 -04:00
Daniel Agar f25a70a674 mathlib: Notchfilter updates
- merge NotchFilterArray into regular NotchFilter (apply vs applyArray)
 - only use direct form 1 to prevent reset confusion
 - safe default field initialization
 - update VehicleAngularVelocity usage
2021-05-31 10:26:45 -04:00
Daniel Agar 055b5404c3 sensors/vehicle_imu: switch to WelfordMean library and other improvements
- use WelfordMean library to determine sensor sample rate average
 - if gyro samples exceeds queue depth, instead round to nearest even integer to ease scheduling
 - force update if publication latency is falling behind
 - remove redundant sample interval perf counters
 - status print accel & gyro interval standard deviation
2021-05-31 10:05:10 -04:00
Daniel Agar 3340fca332 sensors/vehicle_imu: move accel & gyro updates to separate methods 2021-05-31 10:05:10 -04:00
Daniel Agar a5979e16be sensors/vehicle_imu: move publish to separate method 2021-05-31 10:05:10 -04:00
Daniel Agar 0b9e4a5902 sensors/vehicle_imu: Integrator simplify and make header only 2021-05-31 10:05:10 -04:00
Silvan Fuhrer cf5e6e4133 Sensors: subscribe to differential_pressure in vehicle_air_data to calculate air density
-constrain range to -20..35°C
-do not use temperature readings if exactly 0 (as likley not filled by driver at all in this case)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-31 09:53:47 +02:00
David Sidrane 973068ebfe holybro_can-gps-v1:Rev to RC9 HW
holybro_can-gps-v1:Fix LEDs

holybro_can-gps-v1:Only CAN1

holybro_can-gps-v1:ncp5623c at 0x39
2021-05-29 10:53:27 -04:00
Daniel Agar 51f738e54c boards: bootloader.cmake trivial whitespace cleanup 2021-05-28 23:56:20 -04:00
modaltb e25cfaaa2f boards: Add ModalAI Flight Core v2 initial support 2021-05-28 22:26:40 -04:00
Jukka Laitinen 34de392425 Add compiler cmake files for RISC-V (rv64gc) targets
This adds the basic support for riscv64-unknown-elf compiler amd rv64gc ISA

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 22:22:57 -04:00
Jukka Laitinen 935253357a nuttx compilation: Don't assume "arm" to enable risc-v compilation
Replace "arm" by "${CONFIG_ARCH}"

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 22:22:57 -04:00
Jukka Laitinen 12f33524fa fix legacy data types again
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 17:55:02 -04:00
Peter van der Perk ed0b5a7c1a FMUK66 update socketcan configs 2021-05-28 08:03:58 -07:00
Jukka Laitinen 0de0709be3 Fix github url for uavcan_v1/legacy_data_types
The URL is spelled wrong, it should be capital "PX4"

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 10:36:30 -04:00
Julian Oes 1da4e2f441 vmount: fix param limit 2021-05-28 14:46:40 +02:00
Silvan Fuhrer 4b42a1639b TECS: in airspeed-less mode, set airspeed estimate to cruise airspeed
In airspeed-less mode, instead of the average of min/max airspeed, take the cruise
airspeed (from param) for current airspeed estimate. A diff of the airspeed setpoint
from this value results in increased enegery demand (incerase of throttle) even
in airspeed-less mode.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-28 14:25:53 +02:00
Nuno Marques f9fe0e3746 ROS2/microRTPS: Add support for ROS2 Galactic and ROS2 Rolling (#17664)
microRTPS: generate_microRTPS_bridge: add support for ROS2 versions
* Galactic
* Rolling
2021-05-27 09:32:16 -07:00
Daniel Agar ad534561d3 commander: only play safety change tunes if initialized 2021-05-27 10:13:49 +02:00
Daniel Agar af71b2e3ab commander: fix COM_DISARM_PRFLT parameter description typos 2021-05-26 21:48:41 -04:00
Jukka Laitinen 675a5a2b2c bootloader: change flash_cache addresses to uintptr_t
To fix comilation errors on 64 bit platforms

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-26 12:57:37 -07:00
Jukka Laitinen 071eaef884 Adjust paths to bootloader include files for boards
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-26 12:57:37 -07:00
Jukka Laitinen 64d264b49a bootloader: Move chip specific things under chip specific folders
- move systick.c under chip specific sources
- move do_jump into chip specific main.c as arch_do_jump
- wrap flash writes to "arch_flash_write" and implement in chip specific main.c
- add bootloader TOC check
- sync image_toc.h with the version currently in use with old bootloader

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-26 12:57:37 -07:00
David Sidrane 3e18fa12d6 px4_fmu-v5x:Remove vcm1193l 2021-05-26 13:41:10 -04:00
David Sidrane 2feb096fb9 vtrantech Rename to match V1.1 vcm5883->vcm1193l 2021-05-26 11:24:11 -04:00
Daniel Agar b264577daa sensors/vehicle_acceleration: require valid sample rate before running
- this fixes a minor edge case when you only have a single accelerometer and haven't made any parameter changes, the sensor sample rate (used for filtering) might not have been updated from default
2021-05-24 21:39:42 -04:00
Daniel Agar 22838f491a ekf2: replace mag missed error message with perf count
- this error is primarily useful when significant gaps in magnetometer are present, otherwise the occasional gaps at startup, etc are distracting in regular usage
2021-05-24 20:52:07 -04:00
PX4 BuildBot 187297653a Update submodule ecl to latest Mon May 24 12:39:12 UTC 2021
- ecl in PX4/Firmware (17da6293aa8e32a0e41c8fe10b8ffbf4e3e922b3): https://github.com/PX4/PX4-ECL/commit/e57af44d71dea2da62055076f186b3d15278ae7e
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/71fc1b81612fa9b5184d5abb93b69d109e9d0e4b
    - Changes: https://github.com/PX4/PX4-ECL/compare/e57af44d71dea2da62055076f186b3d15278ae7e...71fc1b81612fa9b5184d5abb93b69d109e9d0e4b

    71fc1b8 2021-05-20 bresch - airspeed fusion: use yaw from 312 sequence when pitch is close to 90deg
2021-05-24 18:59:56 -04:00
Daniel Agar 0fc98b2793 move IMU_GYRO_FFT_EN parameter to developer category
- these need more work and testing before we should encourage wider usage
2021-05-24 18:59:32 -04:00
Daniel Agar e18b1c0355 mpu9250: tolerate missing/mismatching FIFO samples if I2C slave mag active
- when the mpu9250 mag is active it disrupts IMU sampling
 - this change modifies the simple mpu9250 FIFO integrity checks (comparing duplicate accel samples) to tolerate these samples that don't match if the mag is active
 - fixes #17615
2021-05-24 11:22:13 -04:00
Daniel Agar 6549017993 navigator: GeofenceBreachAvoidance remove duplicate type alias 2021-05-23 17:51:08 -04:00
bresch 71fc1b8161 airspeed fusion: use yaw from 312 sequence when pitch is close to 90deg
This caused bad initialization of the wind estimate on tailsitters
2021-05-23 15:58:50 +10:00
Daniel Agar 8327335fa4 Update submodule mavlink v2.0 to latest Sat May 22 00:38:27 UTC 2021 2021-05-22 13:35:50 -04:00
PX4 BuildBot a6148d6320 Update submodule libcanard to latest Sat May 22 12:39:12 UTC 2021
- libcanard in PX4/Firmware (e2ba4858a3285fe7ff0f2888d8b1ce5dbda589a1): https://github.com/UAVCAN/libcanard/commit/38796831f9083c0f0674319543d8d10813429eb5
    - libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/2a116170285fb47fcaae150ad21c2ccde0756a5f
    - Changes: https://github.com/UAVCAN/libcanard/compare/38796831f9083c0f0674319543d8d10813429eb5...2a116170285fb47fcaae150ad21c2ccde0756a5f

    2a11617 2021-05-20 Pavel Kirienko - Update the changelog
a1efa3a 2021-05-20 Peter van der Perk - Expose CanardRxSubscription fields for read-only use (#167)
2021-05-22 13:35:03 -04:00
PX4 BuildBot 142d6f3dbc Update submodule ecl to latest Sat May 22 12:39:15 UTC 2021
- ecl in PX4/Firmware (2a18b8feeb24dcb07c2dd141e6097e211f83e6bd): https://github.com/PX4/PX4-ECL/commit/85f5a935fe6095f585bfb12b584e0813126cbc2a
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/e57af44d71dea2da62055076f186b3d15278ae7e
    - Changes: https://github.com/PX4/PX4-ECL/compare/85f5a935fe6095f585bfb12b584e0813126cbc2a...e57af44d71dea2da62055076f186b3d15278ae7e

    e57af44 2021-05-18 Bazooka Joe - set parameters that doesn't change with const attribute, for clearification
2021-05-22 13:34:31 -04:00
PX4 BuildBot 68e386cf2d Update submodule sitl_gazebo to latest Sat May 22 00:38:23 UTC 2021
- sitl_gazebo in PX4/Firmware (61e972ba35): https://github.com/PX4/PX4-SITL_gazebo/commit/f10ccb7ec34e35842254fe969d49beea699a8ffb
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/5c248898524cb670df496149de5e4692e16e69dc
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/f10ccb7ec34e35842254fe969d49beea699a8ffb...5c248898524cb670df496149de5e4692e16e69dc

    5c24889 2021-05-20 Andrew Voznytsa - Use cmake to find and link to gstreamer-app-1.0
2021-05-22 06:48:03 +02:00
Daniel Agar 61e972ba35 px_uploader.py remove special pyserial checks that fail on some platforms 2021-05-21 08:56:12 +02:00
Julian Oes 518222bae4 navigator: fix home altitude feasibility check
This includes the following:
- Remove warning/throw_error flag as it is always !home_alt_valid.
- Remove impossible code path when home_alt_valid = false and
  throw_error = false.
- Add home_alt_valid check in second check before using home_alt.
- Only use warning for the second check to allow waypoints below home.
- Don't return early when only warning.
2021-05-20 10:50:54 -04:00
Julian Oes 90a33d59e4 commander: blink red on invalid mission
It doesn't make sense to blink green when something is not good.
2021-05-20 10:50:54 -04:00
Julian Oes 4ccc60e2b0 commander: neutral beep on mission with warning
When a mission is uploaded we should beep consistenly:
- valid -> positive
- warn -> neutral
- invalid -> negative

Before this, it was:
- valid -> positive
- warn -> negative
- invalid -> negative
2021-05-20 10:50:54 -04:00
Julian Oes b7890529b2 navigator: reset mission feasibility warning flag
Without reseting the warning flag commander would complain about a
warning but still allow arming and flying the mission which was weird.
2021-05-20 10:50:54 -04:00
Daniel Agar 9969edfabc mavlink: STATUSTEXT stream use perf count for missed messages
- don't send stale messages
 - process all queued messages until tx buffer is full
2021-05-20 10:39:11 -04:00
Bazooka Joe e57af44d71 set parameters that doesn't change with const attribute, for clearification 2021-05-20 18:19:33 +10:00
Julian Oes 1f40a65210 mavlink: improve command param5/6, x/y handling
This adds support to handle INT32_MAX for COMMAND_INT.x/y by converting
it to NAN internally.

It also adds paranoid checks to prevent:
- NAN being used sent by a COMMAND_INT by mistake.
- INT32_MAX being used sent by a COMMAND_LONG by mistake.
2021-05-20 09:26:30 +02:00
PX4 BuildBot 4bb53e2afc Update submodule libcanard to latest Wed May 19 00:39:15 UTC 2021
- libcanard in PX4/Firmware (7c7657e6a0254b62959ea6b908b89815f0cfee5a): https://github.com/UAVCAN/libcanard/commit/55938c51cf7da3096679933302693c9dae7a2b33
    - libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/38796831f9083c0f0674319543d8d10813429eb5
    - Changes: https://github.com/UAVCAN/libcanard/compare/55938c51cf7da3096679933302693c9dae7a2b33...38796831f9083c0f0674319543d8d10813429eb5

    3879683 2021-05-18 Pavel Kirienko - Add canardRxAccept2(), fix #163 (#164)
2021-05-19 00:24:00 -04:00
CUAVcaijie ffe9f8a942 boards: CUAV Nora/X7Pro ICM20649 on SPI6 bus will be replaced by ICM20689 2021-05-18 18:49:25 -04:00
Daniel Agar 10f33cdd35 boards: px4_fmu-v6x_default re-enable top and free up flash 2021-05-18 16:22:02 -04:00
Daniel Agar e498023d0f ist8308: improve configuration
- disable noise suppression filter
 - select more appropriate dynamic range
 - carefully set and clear all ODR, DR, and OSRCNTL bits
 - retry in probe multiple times
2021-05-18 13:20:21 -04:00
David Sidrane 4acc18ca60 Add VCM5883 Magnetometer
Fix LSB/G
2021-05-18 12:57:46 -04:00
Daniel Agar 820a442fe3 drivers/imu/analog_devices/adis16448: minor fixes and compatibility with older model
- increase SPI stall time slightly
 - tolerate mag self test failure (could be due to local magnetic field)
 - register configuration compatible with older ADIS16448AMLZ
 - don't publish duplicate accel/gyro
 - only allocate CRC perf counter if using CRC
2021-05-18 12:44:37 -04:00
PX4 BuildBot eee08601af Update submodule sitl_gazebo to latest Tue May 18 00:50:37 UTC 2021
- sitl_gazebo in PX4/Firmware (c3884b5bc1): https://github.com/PX4/PX4-SITL_gazebo/commit/402897d22505a13505c19adca23c03a47224175f
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/f10ccb7ec34e35842254fe969d49beea699a8ffb
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/402897d22505a13505c19adca23c03a47224175f...f10ccb7ec34e35842254fe969d49beea699a8ffb

    f10ccb7 2021-05-17 grahamjamesaddis - Fix non unique name warning in tailsitter.sdf.jinja (#756)
05b8625 2021-05-13 Andrew Voznytsa - Fix gstreamer timestamps; Use push mode all the way; Avoid duplicated frame encoding; Cleanup a bit there and here
9ec04cc 2021-05-16 Graham James Addis - Tidy rotor colours Grey/Blue.
493c5dc 2021-05-16 Graham James Addis - Minimal conversion to jinja format.
2021-05-17 23:03:51 -04:00
Daniel Agar db3c89b1e3 Update submodule mavlink v2.0 to latest Tue May 18 00:50:40 UTC 2021 2021-05-17 21:53:36 -04:00
PX4 BuildBot 319cab6c2c Update submodule ecl to latest Tue May 18 00:50:43 UTC 2021
- ecl in PX4/Firmware (4668ea5c32075aca28fd813881a349f765ad8d2a): https://github.com/PX4/PX4-ECL/commit/29243ac5cbb5d27ac71744e88afcd786df6f748d
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/85f5a935fe6095f585bfb12b584e0813126cbc2a
    - Changes: https://github.com/PX4/PX4-ECL/compare/29243ac5cbb5d27ac71744e88afcd786df6f748d...85f5a935fe6095f585bfb12b584e0813126cbc2a

    85f5a93 2021-05-11 bresch - [AUTO COMMIT] update change indication
f7c687e 2021-05-11 bresch - GNSS yaw unit test: test fallback to non yaw aiding mode
a4fe2b1 2021-05-11 bresch - yaw_align: let the mag control logic do the alignement and resets
2cc0230 2021-05-11 bresch - mag control: select mag mode before doing the reset
fe943cf 2021-05-11 bresch - mag reset: force align in MC custom mode (aka. indoor mode)
cadcc58 2021-05-11 bresch - mag reset: do not stop the fusion from inside the reset function
6248646 2021-05-11 bresch - EV yaw: move EV yaw reset out of resetMagHeading function
48722a2 2021-05-07 bresch - control: inhibit EV yaw from restarting when GPS aid wants to start
a685987 2021-05-07 bresch - GNSS yaw: unset yaw_align if fusion stops before takeoff
7ee6970 2021-05-04 bresch - GNSS yaw: add test case when measurement jumps
7a11871 2021-05-04 bresch - GNSS yaw tests: adjust timing
51197a5 2021-05-03 bresch - GNSS yaw selection logic refactor
2021-05-17 21:52:00 -04:00
Daniel Agar c3884b5bc1 fake_imu (formally fake_gyro) updates for testing gyro filtering
- fake_imu now publishes sine sweeps over 10 seconds
 - accel is also published so that fake IMU can be selected when the only option
2021-05-17 20:26:25 -04:00
Daniel Agar 39c90c8fc9 Update submodule GPSDrivers to latest Mon May 17 12:38:15 UTC 2021 2021-05-17 19:25:45 -04:00
Daniel Agar 87b861d0f0 IMU_GYRO_CUTOFF and IMU_DGYRO_CUTOFF increase default slightly 2021-05-17 17:37:52 +02:00
Peter van der Perk 60a083b662 canbootloader clear pending systick interrupts 2021-05-17 05:05:24 -07:00
Daniel Agar 3a3cc33d69 drivers/optical_flow/paw3902: require >= 10 valid consecutive readings before deciding mode changes
- improve mode change requirements comments
 - reduce verified read/write retries (these are mostly wasting time)
2021-05-16 20:29:06 -04:00
PX4 BuildBot 9d54b7b64e Update submodule jMAVSim to latest Sun May 16 12:39:03 UTC 2021
- jMAVSim in PX4/Firmware (5f14ee2a97): https://github.com/PX4/jMAVSim/commit/2b610caab81726ab79019de0f2fa8cff5e341bd5
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/0a816d8100e9860a031ccfccfb9941bcd6eedc81
    - Changes: https://github.com/PX4/jMAVSim/compare/2b610caab81726ab79019de0f2fa8cff5e341bd5...0a816d8100e9860a031ccfccfb9941bcd6eedc81

    0a816d8 2021-05-12 Beat Küng - mavlink: update message definitions to latest master
2021-05-16 17:23:40 -04:00
PX4 BuildBot 093854d29b Update submodule public_regulated_data_types to latest Sun May 16 12:39:17 UTC 2021
- public_regulated_data_types in PX4/Firmware (b0b812007a76a7d3cfb3e1d2d32f245a681800d7): https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/0a773b93ce5c94e1d2791b180058cb9897fab7e1
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae...0a773b93ce5c94e1d2791b180058cb9897fab7e1

    0a773b9 2021-05-10 Kalyan Sriram - reg/drone: remove redundant timestamp in Velocity3Var (#117)
2021-05-16 17:23:01 -04:00
PX4 BuildBot 723e803ab9 Update submodule public_regulated_data_types to latest Sun May 16 12:39:14 UTC 2021
- public_regulated_data_types in PX4/Firmware (b00f416229a5bcef2bdad4ec29c90e4846c701af): https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/0a773b93ce5c94e1d2791b180058cb9897fab7e1
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae...0a773b93ce5c94e1d2791b180058cb9897fab7e1

    0a773b9 2021-05-10 Kalyan Sriram - reg/drone: remove redundant timestamp in Velocity3Var (#117)
2021-05-16 17:22:40 -04:00
Daniel Agar 904f827df0 Jenkins: increase timeout and build history 2021-05-16 15:59:56 -04:00
AlexKlimaj 4a93f7cea1 Add ARK CAN GPS Board Config 2021-05-16 13:21:44 -04:00
Damien SIX e4f235001b fix timesync for timestamp sample (including SFINAE detection) 2021-05-16 13:15:37 -04:00
Daniel Agar ecf2cd3afb CAN node STM32F7 support and Freefly RTK GPS CAN node 2021-05-16 13:10:02 -04:00
Beat Küng 1ad25369e7 Makefile: ensure 'clean' does not fail if build directory does not exist 2021-05-16 13:01:20 -04:00
Beat Küng 5114158090 px4/fmu-v6x: disable dumpfile (reduce flash) 2021-05-16 13:01:20 -04:00
Beat Küng 9fbbcc9c73 mavlink ATTITUDE_TARGET: send also if vehicle_attitude_setpoint is not updated
This is the case in MC acro
2021-05-16 13:01:20 -04:00
Beat Küng 2a84afb6a2 mavlink: avoid 'stream xy not found' warnings on CONSTRAINED_FLASH targets
e.g.:
WARN  [mavlink] stream ADSB_VEHICLE not found
WARN  [mavlink] stream GIMBAL_DEVICE_ATTITUDE_STATUS not found
WARN  [mavlink] stream GIMBAL_MANAGER_STATUS not found
WARN  [mavlink] stream GIMBAL_DEVICE_SET_ATTITUDE not found
WARN  [mavlink] stream GPS2_RAW not found
WARN  [mavlink] stream UTM_GLOBAL_POSITION not found
ERROR [mavlink] configure_streams_to_default() failed
2021-05-16 13:01:20 -04:00
PX4 BuildBot 9e352e92bd Update submodule sitl_gazebo to latest Sun May 16 12:39:08 UTC 2021
- sitl_gazebo in PX4/Firmware (7cb3ed98b61c514d01fc9a68ba87445f8b9aa142): https://github.com/PX4/PX4-SITL_gazebo/commit/2496b85dd22d2f9c1c1281d5ef77dfb86ef604a3
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/402897d22505a13505c19adca23c03a47224175f
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/2496b85dd22d2f9c1c1281d5ef77dfb86ef604a3...402897d22505a13505c19adca23c03a47224175f

    402897d 2021-05-09 Jaeyoung-Lim - Update mavsdk version scripts
2021-05-16 12:55:28 -04:00
Jonas Vautherin 5f14ee2a97 busy -> invalid item 2021-05-13 12:22:16 +02:00
Daniel Agar ad0482155e ROMFS: reduce LOGGER_BUF default to 8 kB on older boards 2021-05-12 17:06:33 +02:00
bresch 85f5a935fe [AUTO COMMIT] update change indication 2021-05-12 08:33:07 +10:00
bresch f7c687e433 GNSS yaw unit test: test fallback to non yaw aiding mode 2021-05-12 08:33:07 +10:00
bresch a4fe2b1e72 yaw_align: let the mag control logic do the alignement and resets 2021-05-12 08:33:07 +10:00
bresch 2cc023038b mag control: select mag mode before doing the reset 2021-05-12 08:33:07 +10:00
bresch fe943cf104 mag reset: force align in MC custom mode (aka. indoor mode)
Checking the parameter is enough to decide if we want to force the yaw
alignment or not
2021-05-12 08:33:07 +10:00
bresch cadcc58415 mag reset: do not stop the fusion from inside the reset function
The start/stop is already handled in the dedicated mag control logic
The early return is not required as this case is handled just below
2021-05-12 08:33:07 +10:00
bresch 6248646bff EV yaw: move EV yaw reset out of resetMagHeading function
Also remove the unnecessary 2nd "manual reset" done in the start function
2021-05-12 08:33:07 +10:00
bresch 48722a2a92 control: inhibit EV yaw from restarting when GPS aid wants to start 2021-05-12 08:33:07 +10:00
bresch a685987082 GNSS yaw: unset yaw_align if fusion stops before takeoff
We do not want to rely on a potentially badly initialized heading as it
could lead to a flyaway directly after takeoff

Also remove the resetMagHeading() call from the GPS fusion control logic
as this is properly handled in mag_control.
2021-05-12 08:33:07 +10:00
bresch 7ee69706e8 GNSS yaw: add test case when measurement jumps 2021-05-12 08:33:07 +10:00
bresch 7a11871566 GNSS yaw tests: adjust timing
the starting condition needs more than 1 sample to determine if the data
comes regularly

the timeout on "no data" is defined by the fusion reset timeout
parameter (7 seconds)
2021-05-12 08:33:07 +10:00
bresch 51197a5d82 GNSS yaw selection logic refactor 2021-05-12 08:33:07 +10:00
Beat Küng d300a879f1 cmake: remove romfs content before tar extraction
This avoids incremental build errors when switching between branches with
a different set of airframes.

E.g:
Aborting due to missing @type tag in file: 'Firmware/build/px4_fmu-v5_default/etc/init.d/airframes/13030_generic_vtol_quad_tiltrotor'
2021-05-11 13:14:42 -04:00
Beat Küng e77b4418a5 fix logger: use free() instead of 'delete[]' for _buffer
The allocation got changed to px4_cache_aligned_alloc
2021-05-11 18:12:56 +02:00
Igor Mišić 05a2d4d5a9 gps: updated submodule to fix for heading 2021-05-11 08:34:23 +02:00
Igor Mišić d9e31d67aa gps: Updated timeout time for the rover with moving base
The MB rover will wait as long as possible to compute a navigation solution, possibly lowering the navigation rate all the way to 1 Hz while doing so.
2021-05-11 08:34:23 +02:00
Silvan Fuhrer b7e563bdbe Airspeed selector: fix in_air_fixed_wing condition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
Silvan Fuhrer 596da5b7d3 Airspeed selector: use module params for FW_AIRSPD_STALL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
Silvan Fuhrer 2f73115b54 translate ASPD_STALL to FW_AIRSPD_STALL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
Silvan Fuhrer bf311ed77d addressed review comments (fixes in error message and comments)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
Silvan Fuhrer 63a53d48e7 FW Position controller: improve parameter sanity checks (provide more feedback)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
Silvan Fuhrer c8ec6b3d08 Airspeed selector: remove ASPD_STALL and replace by FW_AIRSPD_STALL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-10 13:43:05 +02:00
RomanBapst 3b27864e53 vehicle_status: added field for geofence violation
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-10 10:46:49 +03:00
RomanBapst 3ac8c23dd0 commander: added prearm check for geofence violation
- if geofence action is not none, then don't allow arming outside of geofence

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-10 10:46:49 +03:00
RomanBapst 6215e6c7ec navigator: do not emit geofence warnings if system is not armed
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-10 10:46:49 +03:00
David Sidrane e87a6c755d px4_fmu-v5x:Add support for Revision 2 FMUM HW using ICM20649 not BMI088 2021-05-10 09:11:50 +02:00
David Sidrane 69e0c2fc10 px4:platform support SPI configuration selection on HW REV 2021-05-10 09:11:50 +02:00
Julian Oes e4ee7c7d98 sitl_gazebo: update submodule
This fixes the simulation stalling after 30mins due to an int overflow.
2021-05-09 15:17:25 +02:00
David Sidrane 541697d193 NuttX Backports Fixing SDIO/SDMMC Data Timeouts
stm32, F7 and H7
2021-05-08 04:40:54 -07:00
Daniel Agar c49c8932de commander: mag_calibration fail immediately if no mags available 2021-05-08 13:03:42 +02:00
Peter van der Perk 0c926250a2 UAVCANv1 cleanup and uORB over UAVCANV1 move to own subclass 2021-05-08 13:03:02 +02:00
Daniel Agar dfb4ec56b1 Makefile: clean and distclean updates
- update clean to recurse all build directories and use build system clean
 - git clean is used to remove submodule generated build artifacts that
are left in the source tree
 - distclean now discards all build directories and any gitignored
filess that were generated in source directories (but not top level)
2021-05-08 12:29:16 +02:00
Daniel Agar f15eefcc95 ekf2: selector increase status rate before potential instance change 2021-05-07 22:38:47 -04:00
Julian Oes 29730e30fa ekf2: don't timeout in HITL mode
Otherwise ekf2 might not start if HITL isn't started within 30 seconds.
2021-05-07 22:38:03 -04:00
Julian Oes ac97b5520c commander: assume power is fine for HITL
This means that the preflight check indicator in QGC is green for HITL.
2021-05-07 22:38:03 -04:00
Julian Oes 648a21f11d commander: ignore calibration in HITL
The calibration is not found in HITL mode. Therefore, I suggest to
ignore this step and assume the calibration is fine.

This mostly fixes the preflight check indicator in QGC, arming was (for
some reason?) already possible.
2021-05-07 22:38:03 -04:00
Hamish Willee d3fd03a014 airspeed calibration: instruct to blow into front of pitot
... rather than across it
2021-05-07 21:34:53 -04:00
David Sidrane b1e0702657 px4_fmuv2:Save Flash CONFIG_LIBC_STRERROR=n 2021-05-07 11:50:38 -07:00
David Sidrane 8d82560308 NuttX Backports
[BACKPORT] binnfmt:Fix return before close ELF fd
   stm32h7: serial: use dma tx semaphore as resource holder
   [BACKPORT] stm32h7:Serial Add RX and TX DMA
   [BACKPORT] drivers/serial: fix Rx interrupt enable for cdcacm
   [BACKPORT] stm32h7:Allow for reuse of the OTG_ID GPIO
   [BACKPORT] stm32f7:Allow for reuse of the OTG_ID GPIO
2021-05-07 11:50:38 -07:00
PX4 BuildBot e265ebabc5 Update submodule ecl to latest Thu May 6 12:39:12 UTC 2021
- ecl in PX4/Firmware (a300d32523e24df3f366a0d564b764261e1c1909): https://github.com/PX4/PX4-ECL/commit/a7b8afe420f438554ad90bcba0f1f4872325e75b
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/29243ac5cbb5d27ac71744e88afcd786df6f748d
    - Changes: https://github.com/PX4/PX4-ECL/compare/a7b8afe420f438554ad90bcba0f1f4872325e75b...29243ac5cbb5d27ac71744e88afcd786df6f748d

    29243ac 2021-05-05 bresch - yaw_reset: reduce minimum vector length to compute yaw error
aad4840 2021-05-02 Kabir Mohammed - EKF: increase allowed difference between flow and gyro ODRs
2021-05-06 13:53:40 -04:00
Daniel Agar 9419f9c5e8 Update submodule mavlink v2.0 to latest Thu May 6 12:39:02 UTC 2021 2021-05-06 13:52:43 -04:00
bresch 29243ac5cb yaw_reset: reduce minimum vector length to compute yaw error
A value of 1m/s was too conservative and the EKF takes too much time to
trigger a yaw reset. The value can be safely reduced because the
threshold is computed using the accuracy of the measurement and estimate
before being limited by this value.
2021-05-06 19:13:54 +10:00
Silvan Fuhrer 08dab18a8b vtol_type: in FW, set min PWM to PWM_DEFAULT_MIN instead of PWM_MOTOR_OFF
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-06 10:20:24 +02:00
benjinne 099c2d13f6 dshot: add 3D capability 2021-05-06 08:12:07 +02:00
Daniel Agar 177ee4cbca drivers/optical_flow/paw3902: properly discard samples after mode change
- respect mode 2 shutter requirements from datasheet (should not operate with Shutter < 0x01F4 in Mode 2)
 - sensor reset is handled by mode change
2021-05-05 21:48:01 -04:00
Daniel Agar b1ebd16c61 ekf2: improve selector reset handling
- handle reset count rollover (uint8_t)
 - compute full reset delta if primary estimator instance has changed or if we missed a reset
2021-05-05 21:45:13 -04:00
Alessandro Simovic d1d5eba320 follow-me: log follow_target msg 2021-05-05 16:13:50 -04:00
Alessandro Simovic 48f3bd4078 follow-me: formatting 2021-05-05 16:13:50 -04:00
Alessandro Simovic 5f19eeaaa5 follow_target: copy also velocity fields from uorb 2021-05-05 16:13:50 -04:00
Alessandro Simovic 2d6bc9b6e0 follow_target: use actual velocity measurement 2021-05-05 16:13:50 -04:00
Alessandro Simovic 5d9b3504f7 follow-target: correctly set "updated" flag 2021-05-05 16:13:50 -04:00
Alessandro Simovic f1fca0939f follow-target: name variable correctly 2021-05-05 16:13:50 -04:00
David Sidrane 3702140e24 PWMOut:Arm once all channels are initalized. 2021-05-05 20:48:06 +02:00
David Sidrane 3d166d3279 PWM:Add Channel mask to up_pwm_servo_arm & up_pwm_servo_deinit 2021-05-05 20:48:06 +02:00
David Sidrane 19fa5cfe25 px4_fmu-v6x: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane baa37c1143 px4_fmu-v5x: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane 0385245ae1 px4_fmu-v5: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane 1f61dcfb06 modalai_fc-v1: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane 3779ff3690 holybro_pix32v5: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane 21cf26a69f holybro_durandal-v1: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane a654c37306 cuav_x7pro: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane 07e38563ba cuav_nora: Disable OTG_ID_GPIO 2021-05-05 20:48:06 +02:00
David Sidrane d5b60f7002 NuttX with WIP OTG_ID 2021-05-05 20:48:06 +02:00
David Sidrane 923af2c65b spracing_h7extreme: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 2d3800fa25 px4_fmu-v6x: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 4f8c1ccfe8 px4_fmu-v6u: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 7dd57d55f6 px4_fmu-v5x: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 69bf437e9a px4_fmu-v5: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 633fbe147a nxp_fmuk66-v3: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 118839e75c nxp_fmuk66-e: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 3f5a0e49a4 mro_pixracerpro: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 86360d076c mro_ctrl-zero-h7: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 3820f761b1 mro_ctrl-zero-h7-oem: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 50d3af1ba1 mro_ctrl-zero-f7: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 867aa9d4bc mro_ctrl-zero-f7-oem: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 310d166899 modalai_fc-v1: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 9c761d9ae5 holybro_pix32v5: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane b3b74eaaf6 holybro_kakutef7: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 4c8dca738c holybro_durandal-v1: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 4da1ec1146 cubepilot_cubeyellow: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 1a5741f984 cubepilot_cubeorange: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 4d4d8ed887 cuav_x7pro: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane eae01a06e7 cuav_nora: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane d6a54910b4 av_x-v1: Initalize PWM as input with Pull Downs 2021-05-05 20:48:06 +02:00
David Sidrane 362db92515 Define PX4_MAKE_GPIO_INPUT_PULL_DOWN 2021-05-05 20:48:06 +02:00
David Sidrane dd4ffb3c0c PWMOut:Fix pwm status 2021-05-05 20:48:06 +02:00
David Sidrane 44cdc52ef8 PWMOut:Use rates from single instance & init all instances channels 2021-05-05 20:48:06 +02:00
David Sidrane dcbfc9de2d io_timer:Fixed imposible logic 2021-05-05 20:48:06 +02:00
Peter van der Perk 9a085126fd FMUK66 free up some RAM 2021-05-05 18:52:56 +02:00
Jukka Laitinen ac6e7a1c6c FlightTaskManualAltitude: Fix double->float conversion in initialization
This gives an error on some new compilers, e.g. riscv64-unknown-elf 10.2.0

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-05 09:31:07 +02:00
Jukka Laitinen 532f370e7d Fix implicit float to double conversions
The both results of ?: should be of same type, and some compilers give error
on this:
	" implicit conversion from 'float' to 'double' to match other result of conditional"

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-05 09:31:07 +02:00
Peter van der Perk 62dc926891 Add support for UCANS32K146B board revision 2021-05-04 22:13:24 -04:00
Daniel Agar c1d3be4258 Makefile: keep git clean for submodules to resolve incomplete dependency problems 2021-05-04 21:22:56 -04:00
Daniel Agar 68a9e981b1 boards: px4_fmu-v5_optimized disable temperature_compensation to save flash 2021-05-04 21:20:32 -04:00
Daniel Agar f5b6656a6c cmake: set MAX_CUSTOM_OPT_LEVEL to -O3 if Release 2021-05-04 21:20:32 -04:00
Daniel Agar 3b7ce61901 px4_work_queue: increase wq:rate_ctrl stack slightly 2021-05-04 17:40:56 -04:00
Daniel Agar 3ec40a5956 collision_prevention: fix CP_GO_NO_DATA parameter type 2021-05-04 16:41:32 -04:00
Peter van der Perk 24c2967511 legacy_data_types specify branch 2021-05-04 13:23:14 -04:00
Matthias Grob ee87257a8d FlightModeManager: move velocity control feedback into FlightTask
This was only handled outside because FlightTaks lived in the
multicopter position controller which produces the data that was
needed but now it doesn't make sense anymore to handle this
subscription separately.

It's better to have it inside the base task to have the data available
on task activation sucht that e.g. Altitude mode can take over smoothly
from Position mode.
2021-05-04 16:47:48 +02:00
Matthias Grob c28533677d MulticopterLandDetector: use setpoint generation to infer decend intent
For any normal use case where a downwards velocity setpoint is set
this works exactly the same as before.
E.g. autonomous landing, landing in Altitude or Position mode

The advantage is that the very common case where a vehicle tries
to hold a constant altitude but fails to do so e.g. during a hard brake
with too much lift the resulting downwards velocity was interpreted
as descend intent and since the vehicle already struggled to hold altitude
with low thrust and was not moving fast anymore because it was braking
this lead to a lot more false positives on certain vehicle types.

The disadvantage is that not setting a downwards velocity setpoint but
just moving the position setpoint into the ground does not result in
land detection anymore. We do not use this method of landing anymore for
quite a while. It's not recommended and I wonder if there's some rare use
case like offboard where this is done.

We could add an additional case for the specific case to land with a
position setpoint only.
2021-05-04 16:43:33 +02:00
Matthias Grob 2e292abfff MulticopterLandDetector: Make land detection time configurable
The tree stages used arbitrary 350, 250 300ms totally 900ms
So this changes it to each stage to a third of the parameter.
Default it is 1 second -> 333ms per stage.
2021-05-04 16:43:33 +02:00
RomanBapst 269ce07cb5 land detector: log more states in order to facilitate debugging ground contact state
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-04 16:43:33 +02:00
Daniel Agar 3348869ae1 Makefile: git clean properly preserve project files (.project, .cproject, etc) 2021-05-04 09:49:50 -04:00
Jari Nippula 04b7ee43bc protocol_splitter: Sp2Header defined as union (#17511)
Aligned with agent_protocol_splitter to make byte access easier
for checksum generation

Co-authored-by: Nuno Marques <n.marques21@hotmail.com>
2021-05-04 10:09:24 +02:00
Mikołaj Grzybek 4e69952ee4 arch.sh: Syntax error fix
Script failed for me with following error
PX4-Autopilot/Tools/setup/arch.sh: line 159: syntax error near unexpected token `else'
PX4-Autopilot/Tools/setup/arch.sh: line 159: `			else'
Seems like there is nothing to do in case of positive if case.
Changed code should maintain logic
2021-05-04 10:06:39 +02:00
RomanBapst cd4378b8c6 vtol: init boolean consistently
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-05-03 18:58:26 -04:00
Thomas ab10e68a40 update Quadchute trigger from mavlink PR 1569 2021-05-03 21:44:27 +03:00
Thomas bf9758247b add VEHICLE_VTOL_STATE_QC and remove hardcoding 2021-05-03 21:44:27 +03:00
Thomas d3ddbe8db5 Allow quadchute from external command 2021-05-03 21:44:27 +03:00
Peter van der Perk ecc5154a44 Reflect dynamically allocate block pointers instead of using heap 2021-05-03 14:04:02 -04:00
David Sidrane cd2aceb363 stm32_common:board_reset Fix reboot -b broke by canbootloader 2021-05-03 05:21:25 -07:00
Kabir Mohammed aad48407c2 EKF: increase allowed difference between flow and gyro ODRs
In the normal and lowlight mode for the PAW3902/3 sensor, the ODR is 66Hz, while in super lowlight mode it is 50Hz.

The IMU ODR vs flow ODR mismatch threshold was too conservative for the 66Hz ODR, since https://github.com/PX4/PX4-ECL/pull/928. The EKF would keep waiting for the data to line up and never fuse measurements.
2021-05-03 11:08:16 +02:00
Silvan Fuhrer 2c6b3eeb02 Navigator: NAV_CMD_DO_VTOL_TRANSITION: accept once in correct vtol state
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-03 08:40:54 +02:00
Silvan Fuhrer 5579a1d789 Navigator: remove WORK_ITEM_TYPE_CMD_BEFORE_MOVE
It was used to make the vehicle needing to accept the waypoint after a VTOL transition in the new VTOL mode

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-03 08:40:54 +02:00
Silvan Fuhrer 3c4b0c1b8c tiltrotor: only allow increasing tilt during first part of transition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-05-02 21:51:09 -04:00
Jukka Laitinen fa9fdce6e6 sensors/vehicle_gps_position: Fix raw_dt and present_dt calculation in gps_blending
If the GPS data is passed from companion computer, there may be inaccuracies
with timesync. This may cause time deltas to overflow.

Make the time delta calculation using floats directly, wich results in negative
numbers in case there are such inaccuracies.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-02 13:59:50 -04:00
Daniel Agar e78a4287f9 parameters: attempt import multiple times 2021-05-02 13:48:16 -04:00
Daniel Agar 3b24abaa1b Makefile: clean use git clean to delete all gitignore files recursively 2021-05-02 13:47:54 -04:00
Daniel Agar feebb24106 logger: skip multi-EKF logging if CONSTRAINED_MEMORY 2021-05-02 13:47:28 -04:00
Femtomes 783a780207 drivers/gps: add femtomes gps driver protocol 2021-05-02 13:46:39 -04:00
Julian Oes abee13df1a mavlink: improve rx stats printf 2021-05-02 13:45:39 -04:00
Julian Oes d96ba2d88a mavlink: use 4s for HITL
This is more inline with SITL.
2021-05-02 13:45:39 -04:00
Julian Oes e9a1599355 mavlink: clang-tidy fix 2021-05-02 13:45:39 -04:00
Julian Oes aa0752ad86 mavlink: fix pthread usage 2021-05-02 13:45:39 -04:00
Julian Oes 5784f1d951 mavlink: add detailed stats about rx messages 2021-05-02 13:45:39 -04:00
Julian Oes 370d9ee409 mavlink: use px4::atomic instead of volatile 2021-05-02 13:45:39 -04:00
Julian Oes 4498509426 mavlink: move thread handling into MavlinkReceiver
In my opinion this makes it much cleaner and will allow mavlink main to
directly call the receiver.
2021-05-02 13:45:39 -04:00
Julian Oes 71bd35fcaa mavlink: keep track of seq for any component
Instead of only keeping track of the sequence ID of specific "supported"
components, we now keep track of any sysid/compid of an incoming
message. Before this change, unknown components (such as jMAVSim) would
completely screw up the mavlink message stats and create confusion (at
least in my case).

With this change we currently keep track of up to 8 other components.
Once we reach the limit, we will print a warning.
2021-05-02 13:45:39 -04:00
Julian Oes 6ae23e7b7b mavlink: fix HITL battery status publication
Without these fields the pre-arm check would complain and fail.

Also, the voltage is adjusted to be at around 70% rather than 30% which
would almost start to trigger warnings.
2021-05-02 13:45:39 -04:00
Julian Oes cfcc074e9d mavlink: remove unused methods 2021-05-02 13:45:39 -04:00
Daniel Agar b4e0a8396e Tools/process_sensor_caldata.py - median filter sensor data
- this makes it a bit easier to see what's going on now that the raw sensor data (sensor_accel, sensor_gyro) is completely unfiltered
2021-05-02 13:42:09 -04:00
Daniel Agar 5ec5a12f5e Tools/setup: update ubuntu.sh with current NuttX dependencies 2021-05-02 13:10:47 -04:00
TSC21 18dc0e4900 update submodule micro-CDR 2021-05-02 13:05:16 -04:00
Daniel Agar 6e2343a485 Jenkins: fix new px4io/px4-dev-nuttx-focal container tag 2021-05-02 12:34:48 -04:00
SalimTerryLi 514d4fd57b drivers/distance_sensor: GY-SR04 sonar range finder driver 2021-05-02 12:09:35 -04:00
PX4 BuildBot 32d354e5fe Update submodule ecl to latest Sun May 2 12:39:08 UTC 2021
- ecl in PX4/Firmware (cb999f37d4891ebfbbc21b4ce9b3851888b39ad4): https://github.com/PX4/PX4-ECL/commit/5d34d7a24ef72b826c320a3259ee0ec68b1936df
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/a7b8afe420f438554ad90bcba0f1f4872325e75b
    - Changes: https://github.com/PX4/PX4-ECL/compare/5d34d7a24ef72b826c320a3259ee0ec68b1936df...a7b8afe420f438554ad90bcba0f1f4872325e75b

    a7b8afe 2021-04-30 Eike - Allow rangefinder fusion in vision height mode (Fix for #994) (#999)
4ac57d3 2021-04-25 Daniel Agar - EKF: increase fault flags value size to fit current flag bits (> 16)
2021-05-02 11:47:36 -04:00
Daniel Agar 92dc1a71a6 github actions delete MAVROS avoidance tests
- these aren't currently running properly on github actions, but continue to use build resources
2021-05-02 11:44:06 -04:00
Daniel Agar 165420598e Update submodule mavlink v2.0 to latest Sat May 1 00:38:27 UTC 2021 2021-05-01 19:17:28 -04:00
PX4 BuildBot 8ef10c9b38 Update submodule public_regulated_data_types to latest Sat May 1 12:41:36 UTC 2021
- public_regulated_data_types in PX4/Firmware (bb5225ddae32f3a85f6c01fa5957f1b30cb73a14): https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/309b251a7e8d713d6bf428e18e28d91d5f07b73e...1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae

    1337b1c 2021-04-23 Pavel Kirienko - Update the `nominal_voltage` in battery parameters (#114)
2021-05-01 19:17:02 -04:00
PX4 BuildBot 199db72d5f Update submodule public_regulated_data_types to latest Sat May 1 12:41:39 UTC 2021
- public_regulated_data_types in PX4/Firmware (d052cf4a6963d576e0e108b6c95b6fa4fab57584): https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/309b251a7e8d713d6bf428e18e28d91d5f07b73e...1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae

    1337b1c 2021-04-23 Pavel Kirienko - Update the `nominal_voltage` in battery parameters (#114)
2021-05-01 19:16:42 -04:00
mcsauder 4eb758edf0 Alphabetize flight_mode_manager CMakeLists.txt list, and group/format types in FlightTask.cpp/hpp. 2021-05-01 10:46:27 -04:00
Yannick Fuhrer 759a60ac82 Update rc.vtol_defaults
based on our experience with VTOL it makes sense to change the yaw mode default. You always want your VTOL to yaw in transition direction before starting the transition.
2021-05-01 10:45:14 -04:00
PX4 BuildBot dd0465070c Update submodule jMAVSim to latest Sat May 1 12:41:22 UTC 2021
- jMAVSim in PX4/Firmware (d2a118ee86): https://github.com/PX4/jMAVSim/commit/358b6cca4093646eb96e0cb075e45efa8f4a0c48
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/2b610caab81726ab79019de0f2fa8cff5e341bd5
    - Changes: https://github.com/PX4/jMAVSim/compare/358b6cca4093646eb96e0cb075e45efa8f4a0c48...2b610caab81726ab79019de0f2fa8cff5e341bd5

    2b610ca 2021-04-21 Julian Oes - Merge pull request #126 from PX4/pr-forwarding
75f2aa3 2021-04-21 Julian Oes - Serial/TCP/UDP ports: mark messages as forwarded
2021-05-01 10:31:43 -04:00
Daniel Agar 186bc2bda4 Update submodule GPSDrivers to latest Sat May 1 00:38:31 UTC 2021 2021-05-01 10:31:09 -04:00
PX4 BuildBot d2a118ee86 Update submodule sitl_gazebo to latest Sat May 1 00:38:24 UTC 2021
- sitl_gazebo in PX4/Firmware (283138e87d46e573ce101033e01a59b273430928): https://github.com/PX4/PX4-SITL_gazebo/commit/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4c27fc7dd659c262257abeea2308e2f1c54e9029
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25...4c27fc7dd659c262257abeea2308e2f1c54e9029

    4c27fc7 2021-04-20 JaeyoungLim - Update mavsdk versions for firmware SITL tests (#741)
2021-04-30 21:04:25 -04:00
David Sidrane 92344b96b3 CI Update to 2021-04-29 2021-04-30 14:32:40 -04:00
Eike a7b8afe420 Allow rangefinder fusion in vision height mode (Fix for #994) (#999)
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-04-30 14:17:39 -04:00
Julian Oes 4f52c0b6da mavsdk_tests: unused var and index fix 2021-04-29 21:08:33 -04:00
Julian Oes f16913c175 mavsdk_tests: fix timeout at 1x speed 2021-04-29 21:08:33 -04:00
Julian Oes e7fcfbf658 mavsdk_tests: use global position instead of local
We are currently not testing with flow only anyway, so we might as well
remove this for now.
2021-04-29 21:08:33 -04:00
Julian Oes 43fccece61 mavsdk_tests: check installed version
Starting with MAVSDK 0.39.0 we can specify the version required. This
way we can fail at configure time instead of later during compilation or
linking.
2021-04-29 21:08:33 -04:00
Julian Oes 14e51098e5 workflows: use MAVSDK_VERSION in sitl_tests 2021-04-29 21:08:33 -04:00
Julian Oes 7384bd2675 mavsdk_tests: specify required MAVSDK version
This way it can be better picked up by CI scripts.
2021-04-29 21:08:33 -04:00
Daniel Agar 64688b04d8 boards: mro pixracerpro set BOARD_SUPPORTS_RC_SERIAL_PORT_OUTPUT instead of RC_SERIAL_SINGLEWIRE 2021-04-29 21:06:39 -04:00
Peter van der Perk 96bc58f0eb CMake Bloaty add static ram usage breakout 2021-04-29 10:16:43 -04:00
TSC21 4f098a01bc drivers: protocol_splitter: some style updates 2021-04-29 11:57:35 +02:00
Jari Nippula 9980d2a556 Utilize header struct instead of control bytes directly 2021-04-29 09:37:48 +02:00
Jari Nippula 757f1df068 Protocol_splitter: 4-byte header with checksum 2021-04-29 09:37:48 +02:00
korotkoves d62204856c ROMFS/px4fmu_common/init.d-posix/rcS: split and source data from files in PATH 2021-04-28 09:00:47 +02:00
CUAVcaijie b898aabfed Fix the repeated configuration of PWM rate after initialization 2021-04-28 00:22:07 +02:00
Kalyan Sriram b2d73dca26 uavcan_v1: cmake: nunavut generation message 2021-04-27 10:30:33 -04:00
Kalyan Sriram 925213db8f requirements: bump nunavut minimum version 2021-04-27 10:30:33 -04:00
Beat Küng 38c1ec6a9c ekf2: check if ChangeInstance succeeded 2021-04-27 10:29:09 -04:00
Beat Küng 0a98c5a7f4 Subscription: fix ChangeInstance 2021-04-27 10:29:09 -04:00
Beat Küng 1a89f165fd fix bmi088: set correct accel scale
This affected the clipping limit, which was set too low
2021-04-27 10:27:57 -04:00
RomanBapst 171c26373b land_detector: robustify land detection by using distance to ground info
- if distance to the ground is available then hysteresis times will be increased
by a factor of 3 if vehicle is higher than 1m above ground

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-04-27 08:19:19 +02:00
RomanBapst f6a34e1e80 vtol_type: reset accel to pitch integrator
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-04-27 07:43:38 +03:00
Alex Mikhalev cbf34109d1 paw3902: Default to using SENS_FLOW_ROT rotation
This restores the behavior to what it was previous to #16338 (74083d6).

Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2021-04-26 15:14:17 -04:00
Daniel Agar c266c3e43a parameters: remove unnecessary param_get_system_default_value() locking 2021-04-26 09:49:15 +02:00
benjinne 3664d9e4ce rover: publish actuator controls with rate of gyro
Some ESC's with DShot don't initialize otherwise (as the 200Hz of the vehicle attitude rate is too low).
2021-04-26 08:53:20 +02:00
JacobCrabill cc81c7d49e poor-mans-profiler: Add documentation
Now sets the GDB serial device to the path of a DroneCode Probe by
default, with option command-line option override.

A few usage instructions added to the top of the file.
2021-04-26 08:47:49 +02:00
Daniel Agar 4ac57d3bde EKF: increase fault flags value size to fit current flag bits (> 16) 2021-04-25 17:05:09 -04:00
Daniel Agar 6e9e503ee6 sensors/vehicle_imu: accel clipping warning minor improvements
- no warning if accel is disabled
 - threshold increased 100 -> 1000 (only warn if severe ongoing clipping)
 - more generic warning message (vehicle isn't necessarily in air flying)
2021-04-25 17:03:43 -04:00
Daniel Agar 8478d1ea37 sensors/vehicle_angular_velocity: properly handle filter reset on FIFO data scale changes
For the sake of efficiency (at 8 kHz) all filtering is performed on the raw data before the calibration and rotation is applied to only the final output. As a result we have to be a bit more careful when switching between sensors or in cases where the gyro scale factor changes (eg icm42688p 20 bit data rescaled to fit in int16 output).
2021-04-25 14:20:32 -04:00
Daniel Agar ed0fa99198 icm42688p: limit to 8 kHZ for now 2021-04-24 20:23:19 -04:00
Daniel Agar 59b70a881d commander: temporarily increase worker thread stack substantially 2021-04-23 22:13:12 -04:00
Matthias Grob 5416679735 check_code_style_all.sh: remove ignored xargs parameter
to suppress the warning message:
`xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value`
when running make format.
2021-04-23 22:09:16 -04:00
Matthias Grob 6df299738e FlightTask: reactivate tasks on ground with empty setpoint
Such that they properly reset and don't try to take over smoothly from
their own setpoints generated in the last loop iteration.
2021-04-23 21:57:27 -04:00
Matthias Grob 9e2375ab91 FlightTaskManualAcceleration: change reset order, check all components for NAN
Just cleanup and completeness.
2021-04-23 21:57:27 -04:00
Matthias Grob 5e75f17680 StickAccelerationXY: fix acceleration reset using x component instead of y
This entire feature only has an impact if the last mode set
a huge acceleration and we have to take over as smooth as possible.
But it's stil lworth fixing.
2021-04-23 21:57:27 -04:00
Matthias Grob fee4728b1f StickAccelerationXY: change function name feasibility limit -> jerk limit
for clarity because it's more accurate.
2021-04-23 21:57:27 -04:00
Daniel Agar c71a228f15 Tools/setup: macos use pip as python3 module 2021-04-23 16:47:49 -04:00
bazooka joe 112fc5c9cd log battery status every 0.2sec instead of 0.3sec
Battery status is logged every 0.3Sec.
but BMS data published every 0.25Sec, so there are many drops of data.
2021-04-23 16:46:02 -04:00
Beat Küng 51f527d845 param: update 'param show-for-airframe' to use set-default 2021-04-23 16:44:55 -04:00
Beat Küng 1730cd1971 param: avoid warning for 'param show -c' or 'param show -a' 2021-04-23 16:44:55 -04:00
Igor Mišić d631a5d39f Commander: checking COM_ARM_CHK_ESCS param for ESCs telemetry
COM_ARM_CHK_ESCS set to 0. The user will need to enable it manually.
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-04-22 13:46:08 +02:00
Claudio Micheli bff99f9794 Commander:esc_checks minor improvements
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-04-22 13:46:08 +02:00
Claudio Micheli 371fa98579 Commander/preflight checks: Add monitoring to ESC failures
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-04-22 13:46:08 +02:00
Thies Lennart Alff 1c624d20f5 srcparser support for vectored 6 dof uuv airframe added 2021-04-22 08:30:11 +02:00
Matthias Grob 789d91900d commander_params: lower COM_DISARM_PRFLT but disable for fixed-wing 2021-04-21 14:55:04 +02:00
Daniel Agar f9d8c613b0 px4_work_queue: increase nav_and_controllers stack 2021-04-21 07:34:13 +02:00
Peter van der Perk 8b3aa46c01 [UAVCANv1] Publisher default timeout, has to be tuned further for all publishers 2021-04-20 21:44:40 +02:00
Peter van der Perk 1804cea92c [UAVCANv1] TX deadline fix and other fixes 2021-04-20 21:44:40 +02:00
Peter van der Perk 02a4d93c74 [UAVCANv1] snprintf and cleanup ram usage ~4KB 2021-04-20 21:44:40 +02:00
Peter van der Perk 399815469f [UAVCANv1] Subscriber multi topic subscription
reg.drone.bms full support
legacy.equipment.bms support
2021-04-20 21:44:40 +02:00
Matthias Grob 5e7ebbe47c FlightTask: correct comment about setpoints 2021-04-20 18:18:21 +02:00
Matthias Grob 45ada2dd4c MulticopterLandDetector: remove unnecessary newline 2021-04-20 18:18:21 +02:00
Matthias Grob 4865d027f9 StickAccelerationXY: factor in stricter tilt limit on takeoff 2021-04-20 18:18:21 +02:00
Matthias Grob 29e07b1e52 MulticopterPositionControl: publish stricter tilt limit during takeoff 2021-04-20 18:18:21 +02:00
Matthias Grob ff67da1bb4 SlewRate: add getter for current state without update 2021-04-20 18:18:21 +02:00
Lorenz Meier 3d8a35288e Rename Snapdragon Spektrum RC
The previous name was confusing because it did not clarify that this driver was specific to the Snapdragon platform.
2021-04-18 18:35:03 +02:00
Daniel Agar 38bc46fd1a re-add RC_MAP_RATT_SW (unused) and mark active for QGC 2021-04-16 13:07:02 -04:00
mcsauder 3b72f3b641 Create publish_status() method in the heater driver, add a status field to indicate if the temperature setpoint has been met within 2.5C, breakout update_params() method from the Heater::Run() method and simplify logic. 2021-04-16 08:09:51 -04:00
benjinne 3dad16bc40 RTPS client remove redundant baudrate check 2021-04-16 14:01:27 +02:00
benjinne 42108eb4af Fix microRTPS_client_main.cpp format 2021-04-16 14:01:27 +02:00
benjinne 76e15b4a21 RTPS client get baudrate parameter if requested, and mark the device baud rate parameter as used so it shows up in QGC 2021-04-16 14:01:27 +02:00
Daniel Agar 2492fb35e4 rc_update: require consecutive valid input_rc before publishing 2021-04-15 16:40:54 -04:00
PX4 BuildBot 96c7fe4978 Update submodule matrix to latest Thu Apr 15 12:39:10 UTC 2021
- matrix in PX4/Firmware (501b463b36b07481181c15b734861704d9f27020): https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
    - Changes: https://github.com/PX4/PX4-Matrix/compare/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3...b8568a89db8455d0ab2e2e391e2149ba2e5e10dd

    b8568a8 2021-04-14 Daniel Agar - Euler: improve quaternion constructor
2021-04-15 13:27:07 -04:00
Daniel Agar 5c4582ccce rc: dsm allow full range 2021-04-15 18:27:33 +02:00
Igor Mišić bd4839e855 commander: changed msg "connection to GCS lost" from critical to info
update
2021-04-15 11:29:02 -04:00
Beat Küng 2219e096d7 cmake: embed param metadata if not CONSTRAINED_FLASH and not "test" LABEL 2021-04-15 08:16:51 +02:00
PX4 BuildBot 592dc65bae Update submodule matrix to latest Thu Apr 15 00:39:06 UTC 2021
- matrix in PX4/Firmware (d9ebf2a842f611976d7ba5078d3f31ad8cde55a7): https://github.com/PX4/PX4-Matrix/commit/3679f7fd5160c7d2a8271b1134ca1e601f1a4254
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
    - Changes: https://github.com/PX4/PX4-Matrix/compare/3679f7fd5160c7d2a8271b1134ca1e601f1a4254...1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3

    1d0e7f1 2021-04-14 Daniel Agar - Matrix: use naive per element copy instead of memcpy call
1344ce0 2021-04-14 Daniel Agar - Euler: simplify DCM constructor
2021-04-14 23:11:41 -04:00
Daniel Agar b8568a89db Euler: improve quaternion constructor 2021-04-14 22:56:03 -04:00
Daniel Agar 1d0e7f1ca1 Matrix: use naive per element copy instead of memcpy call 2021-04-14 15:44:18 -04:00
Daniel Agar 1344ce06fd Euler: simplify DCM constructor
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-04-14 15:40:24 -04:00
Jukka Laitinen b99e597a73 flashparams: Fix a null-pointer dereference crash
Fix a potential crash caused by calling erase_sector with a null
sector_descriptor (current_sector == 0).

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-04-14 07:55:33 -07:00
Daniel Agar 58b40fbbb9 boards: move testing to dedicated test variants 2021-04-14 09:21:31 +02:00
Daniel Agar 047fb13922 IMU_GYRO_RATEMAX: enforce reasonable constraint and update metadata 2021-04-13 20:26:57 -04:00
Barcis, Michal 7053919a9f fixed micrortps_agent usage description 2021-04-13 21:28:27 +02:00
Daniel Agar 2d15c96b9b ekf2: Multi-EKF let new instance schedule itself immediately on successful init
- this is to minimize missed sensor data (and unnecessary error output) between EKF2 construction and once it actually starts running
2021-04-13 14:24:46 -04:00
Daniel Agar 6a4c589c62 examples/work_item: add ModuleParams and more uORB::Subscription example usage 2021-04-13 14:23:36 -04:00
Lorenz Meier bf09089a26 PWM out: Collect settings for all outputs
There are settings that have to be the same for a split output across multiple instances, like for example the PWM mask and rate configurations. This change collects them for all outputs of the same underlying driver structure and applies the complete set.
2021-04-13 18:39:27 +02:00
Lorenz Meier 6bc11596fe VTOL mixer: Correct alt rate channels
The baby shark config did mark main rate outputs (50 Hz) as alt rate, resulting in the alt rate being set to 50 Hz.
2021-04-13 18:39:27 +02:00
Daniel Agar aa22407d87 drivers/pwm_out: only print rates if changed 2021-04-13 09:55:21 +02:00
Daniel Agar a07bccc046 boards: modalai simplify defaults with new parameter defaults mechanism (AUTOCNF replacement) 2021-04-12 21:27:53 -04:00
Daniel Agar f44f497e3f parameters: better handle export failures and retry 2021-04-12 21:26:50 -04:00
Daniel Agar edc445a1b2 parameters: tinybson fill total document length for bson compatibility 2021-04-12 21:26:50 -04:00
PX4 BuildBot b9e0a16594 Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:35 UTC 2021
- public_regulated_data_types in PX4/Firmware (9101f5707a251c33048289249bd565eba5d3a848): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e

    309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113)
2021-04-12 19:51:35 -04:00
Lorenz Meier 991c07eef9 Global: Allow users to arm with USB
This change reflects the medium-term experience with users using USB as data link or power source in R&D setups. While we still discourage this for volume products, not allowing it seems like a major hurdle and blocker in R&D setups.
2021-04-12 19:11:22 -04:00
Lorenz Meier 3a004ffd68 PWM Out: Simplify startup logic
The simpler logic is more robust towards future refactoring.
2021-04-12 19:11:22 -04:00
PX4 BuildBot 5f6b8fcb9f Update submodule sitl_gazebo to latest Mon Apr 12 12:45:32 UTC 2021
- sitl_gazebo in PX4/Firmware (8acdb8ca3f): https://github.com/PX4/PX4-SITL_gazebo/commit/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6...05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25

    05e2cd9 2021-04-10 Manuel Galliker - Removed unused computation of CoG (#737)
2021-04-12 14:22:14 -04:00
Daniel Agar f0f16b9cc5 mavlink: streams fix SCALED_IMU size reporting 2021-04-12 13:02:10 -04:00
Beat Küng faaee0f077 fix pwm_out: avoid race condition when setting mode
Bootup failed in some cases with:
ERROR [mixer] can't reset mixers on /dev/pwm_output1

The reason was the mode change was not applied yet.
2021-04-12 18:39:51 +02:00
PX4 BuildBot 18f17dcb96 Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:37 UTC 2021
- public_regulated_data_types in PX4/Firmware (9f25ac4175fd81259b11cfe79f0f875a21562d3d): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e

    309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113)
2021-04-12 09:58:48 -04:00
Silvan Fuhrer 381c97d3c6 Commander: baro check: only report failure of mandatory instances
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-04-12 09:27:12 -04:00
tututu123-tu 8acdb8ca3f Update .gitmodules 2021-04-12 08:18:16 -04:00
CUAVmengxiao 45b9e18195 UAVCANv0: add CUAV smart battery support 2021-04-11 21:27:31 -04:00
David Sidrane 96d0755afd NuttX with SDMMC Backport 2021-04-09 15:53:26 -04:00
Tarik Agcayazi 1520805a20 README: remove redundant autogyro, add High altitude balloons 2021-04-09 08:48:17 +02:00
Daniel Agar 39c96a8884 gps add device_id 2021-04-08 08:27:07 +02:00
Alex Mikhalev 1f4960d480 boards: cubeorange enable pwm_input
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2021-04-07 21:34:44 -04:00
alexklimaj 0c3e64a7f5 Fix support for Cube Black Heater 2021-04-07 10:23:02 -04:00
benjinne 9b7eae4043 rc: enable crsf and ghst telemetry on supported boards
Co-authored-by: Benjamin Linne <benjamin.linne.civ@mail.mil>
2021-04-07 08:51:49 +02:00
Hamish Willee 6fbb409e43 Param markdown - fix sensor param table 2021-04-07 08:46:11 +02:00
alessandro b46e505b0d Handle velocity fields in follow_target message
The mavlink message FOLLOW_TARGET has additional
fields that are not being parsed here. See
https://mavlink.io/en/messages/common.html#FOLLOW_TARGET
for more details.
2021-04-06 22:11:23 -04:00
Hamish Willee aa94a60043 COM_ARM_WO_GPS - values round the wrong way 2021-04-06 22:10:02 -04:00
obicons a7e920d276 Updated MavlinkReceiver::handle_message_landing_target to warn users when they provide a landing target with an unsupported coordinate frame.
Updated Simulator::handle_message_landing_target to warn users when they provide a landing target that is not relative to a captured image.
2021-04-06 16:02:54 -04:00
Daniel Agar 31b9efdaeb sensors/vehicle_imu: increase threshold for clipping warning 2021-04-06 15:42:26 -04:00
Daniel Agar f33fee99c1 ROMFS: init.d-posix/airframes migrate EKF2_GPS_MASK -> SENS_GPS_MASK 2021-04-06 13:48:40 -04:00
Julian Oes bb0fe9ee61 mavsdk_tests: losen time limit for VTOL mission 2021-04-06 11:35:18 -04:00
Julian Oes 2eaf677de3 mavsdk_tests: correctly locate plan 2021-04-06 11:35:18 -04:00
Julian Oes cd66a79747 mavsdk_tests: move waypoints to vehicle position
This way it shouldn't matter where the test is run.
2021-04-06 11:35:18 -04:00
Julian Oes 9eadabcb02 sitl_tests: update MAVSDK to v0.38.0 2021-04-06 11:35:18 -04:00
Julian Oes d714c2faec mavsdk_tests: add VTOL mission tests
This adds VTOL mission tests to the CI integration tests.
This depends on MAVSDK v0.38.0.
2021-04-06 11:35:18 -04:00
Julian Oes 1e88939605 mavsdk_tests: report speed factor every second
This helps in debugging slow CI.
2021-04-06 11:35:18 -04:00
Daniel Agar e05a4badf8 ROMFS: rcS start uavcan earlier
- starting this earlier is a minor improvement for things like lights and buzzers on UAVCAN or parameter sync over mavlink
2021-04-06 09:48:11 -04:00
Daniel Agar 4189eb11f5 simulator: GPS populate all sensor_gps fields (alt_ellipsoid, etc) 2021-04-06 09:44:18 -04:00
Daniel Agar 015849b402 mathlib: LowPassFilter2p and NotchFilter add magnitude response getter 2021-04-05 22:47:30 -04:00
Daniel Agar f9460107d0 cleanup PWM param naming inconsistencies 2021-04-05 22:41:06 -04:00
PX4 BuildBot f741606c60 Update submodule sitl_gazebo to latest Tue Apr 6 00:39:03 UTC 2021
- sitl_gazebo in PX4/Firmware (2a0a747598): https://github.com/PX4/PX4-SITL_gazebo/commit/e703e2726a4cd82cf3c57614e9c33d6354310885
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e703e2726a4cd82cf3c57614e9c33d6354310885...5761bd66cd36ded2d0dccf8127e30a1522fe1ac6

    5761bd6 2021-04-05 Jaeyoung-Lim - Switch tailsitter sdf version to 1.6
2021-04-05 22:28:47 -04:00
Daniel Agar 436a6fce38 Update submodule mavlink v2.0 to latest Tue Apr 6 00:39:07 UTC 2021 2021-04-05 22:28:10 -04:00
PX4 BuildBot 997abf382d Update submodule public_regulated_data_types to latest Tue Apr 6 00:39:10 UTC 2021
- public_regulated_data_types in PX4/Firmware (5e242d366f2e266e8226f7baa33e5973783e2045): https://github/commit/7f5489e6e916cc8b13db0582dcf9930e225594b9
    - public_regulated_data_types current upstream: https://github/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - Changes: https://github/compare/7f5489e6e916cc8b13db0582dcf9930e225594b9...53a7dbbf85554e11517c13ad91b9efb871599ad1

    53a7dbb 2021-03-31 Pavel Kirienko - Change wording in uavcan.pnp.NodeIDAllocationData to reflect the less static nature of UAVCAN v1 (#111)
c3aa82f 2021-03-23 Pavel Kirienko - Update Readiness as discussed at the DS-015 call
fcc1062 2021-03-16 Pavel Kirienko - Doc amendment for uavcan.register.Access: mapping between registers and environment variables (#109)
342f358 2021-02-22 Pavel Kirienko - Remove misleading comment in battery.Status.0.2
1baa9cb 2021-02-22 Pavel Kirienko - Add link to Nunaweb and synchronize the description with the front page (#108)
2021-04-05 21:23:06 -04:00
Benjamin Linne 2a0a747598 boards: modalai-fc-v1 add rtps.cmake add to ci 2021-04-05 17:01:35 -04:00
Benjamin Linne a1bc520df8 boards: modalai-fc-v1 add rtps.cmake add to ci 2021-04-05 17:01:35 -04:00
Benjamin Linne 3261118538 boards: modalai-fc-v1 add rtps.cmake 2021-04-05 17:01:35 -04:00
Daniel Agar 54438140e1 ROMFS: posix airframes update to new parameter defaults mechanism (AUTOCNF replacement) 2021-04-05 15:29:34 -04:00
Daniel Agar 565c644b2e boards: CUAV keep Nora and X7pro in sync 2021-04-05 12:54:41 -04:00
Daniel Agar 695adbc037 Jenkins: hardware skip AUTOCNF, don't force px4io update, show configured parameters 2021-04-05 12:30:55 -04:00
Daniel Agar 357b322eb5 ROMFS: tune_control stop if px4io update fails 2021-04-05 11:49:55 -04:00
PX4 BuildBot 74e848d57e Update submodule public_regulated_data_types to latest Mon Apr 5 12:40:16 UTC 2021
- public_regulated_data_types in PX4/Firmware (1557f3a23461a144dd75edae4595665e5684597d): https://github.com/UAVCAN/public_regulated_data_types/commit/7f5489e6e916cc8b13db0582dcf9930e225594b9
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/7f5489e6e916cc8b13db0582dcf9930e225594b9...53a7dbbf85554e11517c13ad91b9efb871599ad1

    53a7dbb 2021-03-31 Pavel Kirienko - Change wording in uavcan.pnp.NodeIDAllocationData to reflect the less static nature of UAVCAN v1 (#111)
c3aa82f 2021-03-23 Pavel Kirienko - Update Readiness as discussed at the DS-015 call
fcc1062 2021-03-16 Pavel Kirienko - Doc amendment for uavcan.register.Access: mapping between registers and environment variables (#109)
342f358 2021-02-22 Pavel Kirienko - Remove misleading comment in battery.Status.0.2
1baa9cb 2021-02-22 Pavel Kirienko - Add link to Nunaweb and synchronize the description with the front page (#108)
2021-04-05 11:26:01 -04:00
Daniel Agar e8d98c1f8a uavcan: skip beep if CBRK_BUZZER circuit breaker set 2021-04-05 11:25:37 -04:00
Daniel Agar 8e8826c516 Makefile: uorb_graphs exclude src/lib from graph_full 2021-04-05 11:03:43 -04:00
Daniel Agar 186e987efb Jenkins: fetch all tags before generating Airframe & Parameter documentation (master only) 2021-04-05 09:51:18 -04:00
Daniel Agar 2e390009f0 Jenkins: fetch all tags before make documentation (master only) 2021-04-05 09:24:21 -04:00
Julian Oes 8720655683 sitl_gazebo: update submodule
This fixes the airspeed sensor orientation for tailsitter.
2021-04-05 14:14:31 +02:00
Silvan Fuhrer 8400f2c9bc FW attitude controller: add protection against division by zero in airspeed scaling
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-04-04 21:22:28 -04:00
Beat Küng 436258c1c5 config: cleanup ethernet configuration 2021-04-04 21:20:36 -04:00
Daniel Agar ad934b4911 icm20948 i2c passthrough driver for ak09916 magnetometer (Here+ GPS/compass)
- include icm20948 on most boards by default
 - create more test variants for default boards near flash limit (cuav_nora_test, cuav_x7pro_test, holybro_durandal-v1_test)
2021-04-04 21:18:16 -04:00
Daniel Agar c6a0161047 commander: COM_PREARM_MODE disable by default 2021-04-03 20:15:05 +02:00
Daniel Agar bbf27d6960 boards: mro pixracerpro Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
Daniel Agar 43da43ddc6 boards: cubepilot cubeorange Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
Daniel Agar fffa10ade4 boards: px4_fmu-v6u sync with other stm32h7 boards 2021-04-03 14:13:23 -04:00
Daniel Agar 825d81dd57 boards: px4_fmu-v6x sync with other stm32h7 boards 2021-04-03 14:13:23 -04:00
David Sidrane dcfa3c97ba px4 fmu-v6x:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 38485a5d41 px4 fmu-v6u:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 961bac759a mro pixracerpro:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 2f9a57c604 mro ctrl-zero-h7:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 5c7a9204a2 mro ctrl-zero-h7-oem:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane f63f1f3969 holybro durandal-v1:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 55ed76522e cuav x7pro:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane df201342bb cuav nora:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 5e73fe588e NuttX with SRAM4-heap-bp 2021-04-03 14:13:23 -04:00
Jaeyoung-Lim 01083cecfc Enable adis16448 with parameter
This commit adds enabling adis16448 with a parameter
2021-04-03 13:58:25 -04:00
Nidhish Raj 01d8c3da3d vtol_att_control: occasional tailsitter forward transition failure issue solved
Tailsitter VTOLs very occasionally gets stuck with zero roll and pitch angle in multicopter mode after
a forward transition command is issued.
This very rare behavior is triggered by the following events:
1> a forward transition is triggered either in auto or manual mode.
2> in the vtol_att_control main loop, if multicopter and fixed wing attitude setpoints are not updated, transition state is not updated
3> the commander changes the vehicle status to transition mode.
4> multicopter pos controller initiated  Transition flight task. This results in zero roll and pitch setpoint due to zero acceleration setpoint
5> now vtol_att_control executes and updates the transition state. Specifically, _q_trans_start and _q_trans_sp are set with zero roll and pitch sp
6> tilt is evaluated to be NaN, despite _q_trans_sp being normalized. This happens for 25% of all yaw angles when using float datatype. This can be
   verified using the matrix library
7> once tilt is evaluated to be NaN, _q_trans_sp is never updated again and is stuck in this state for ever.

This has been fixed by constraining the cos(tilt) within +1 to -1 range
Further, _q_trans_start and _q_trans_sp are immedietly initialized after a transition event is triggered.
2021-04-03 19:19:48 +02:00
Daniel Agar b30f3917d3 sensors/vehicle_imu: periodically send mavlink critical message if clipping 2021-04-03 10:32:16 -04:00
Daniel Agar 588883f663 uavcan: quiet server output
- remove verbose UAVCAN command bridge prefix
 - disable many normal PX4_INFO messages entirely (kept as PX4_DEBUG)
 - properly exit when arming (silently)
2021-04-03 10:07:50 -04:00
David Sidrane 2fcdadfbd1 holybro_durandal-v1:Enable UAVCAN 2021-04-03 12:47:20 +02:00
David Sidrane 003ef59019 px4_fmu-v6x:Enable UAVCAN 2021-04-03 12:47:20 +02:00
Lorenz Meier c96ca0434e Update README.md
Sort autopilot generations according to relevance to potential users (latest first)
2021-04-03 12:21:02 +02:00
PX4 BuildBot 9a02141d0d Update submodule ecl to latest Fri Apr 2 12:39:10 UTC 2021
- ecl in PX4/Firmware (744cd1182e183b62a0ab4b2f3e4e3c4aa6f5c15f): https://github.com/PX4/PX4-ECL/commit/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/5d34d7a24ef72b826c320a3259ee0ec68b1936df
    - Changes: https://github.com/PX4/PX4-ECL/compare/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054...5d34d7a24ef72b826c320a3259ee0ec68b1936df

    5d34d7a 2021-03-31 Eike - Height source vision: Fallback to rangefinder if available (#994)
da06f25 2021-03-28 PX4BuildBot - [AUTO COMMIT] update change indication
85fcf93 2021-03-28 PX4 BuildBot - Update geo_lookup WMM  to latest Sun Mar 28 11:48:06 UTC 2021
2021-04-02 11:46:19 -04:00
Lorenz Meier 1ec8ce58c7 Commander: Increase auto-disarm timeout to 25 seconds after arming 2021-04-02 09:37:40 +02:00
Daniel Agar 278633c980 boards: cuav x7pro include correct adis IMU 2021-04-01 17:13:54 -04:00
Daniel Agar c017f76a36 github actions add all NuttX builds 2021-04-01 10:21:14 -04:00
Lorenz Meier 82f319a84a Commander: Add support for pairing via commandline 2021-04-01 09:56:09 -04:00
斯东Stone e789124bd9 Remove duplicated line in 50003_aion_robotics_r1_rover 2021-04-01 09:36:20 -04:00
Beat Küng 369d375417 holybro_can-gps-v1_debug: disable ekf & listener due to flash overflow 2021-04-01 08:35:36 -04:00
Daniel Agar 9171a84324 IMU_DGYRO_CUTOFF increase default 10 -> 20 Hz 2021-04-01 08:30:09 -04:00
Jaeyoung-Lim 19c4fdd7c5 Add support for 3D body thrust setpoint for offboard attitude control
This adds support for filling up the 3D thrust setpoint using SET_ATTITUDE_TARGET message
Update mavlink submodule
2021-04-01 13:58:04 +02:00
Nico van Duijn 8d3335906a v5x: use low bandwidth mavlink mode
This changes the default mavlink message set from onboard to
onboard_low_bandwidth, which drastically reduces the bandwidth required to get a
usable connection.
2021-04-01 07:28:43 +02:00
Daniel Agar 846695f986 ekf2: replace vehicle_imu lost error message with perf count 2021-03-31 22:07:32 -04:00
Daniel Agar 00f86eb895 drivers/uavcan: silence redundant exit message 2021-03-31 22:01:35 -04:00
Chris Lovett 292a66ce41 Add support for simulators running on a different host than the PX4 instance 2021-03-31 20:56:38 -04:00
RomanBapst b66ae5f2d4 tecs: use raw inertial acceleration for true airspeed complementary filter
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-03-31 20:12:40 -04:00
Beat Küng 9dd6bef7f9 autostart scripts: remove SYS_PARAM_VER
With the airframe defaults there's no use for that anymore
2021-03-31 20:12:05 -04:00
Beat Küng aec63eacbe mavlink_receiver: avoid spamming 'unsupported component id' 2021-03-31 20:10:15 -04:00
Matthias Grob 5f4802a239 SlewRate: add back dummy file for mac build 2021-03-31 15:50:16 +02:00
Matthias Grob 8fec39ad39 MulticopterPositionControl: readd takeoff ramp fix
added in #14821 and accidentally removed in #14665
2021-03-31 15:21:42 +02:00
Eike 5d34d7a24e Height source vision: Fallback to rangefinder if available (#994) 2021-03-31 14:24:38 +02:00
Bastian Jäger 752bc9ebce startup scripts: fix rc.mavlink_override 2021-03-31 14:05:24 +02:00
Julian Kent 5c5ec1a0ea Receive telemetry_status, send vehicle_trajectory_waypoint_desired 2021-03-31 13:26:00 +02:00
Julian Kent b5a64f957e Update RTPS messages to match what is needed for PX4/Avoidance 2021-03-31 13:26:00 +02:00
Julian Kent c1cb964c2a RTPS timesync don't use MONOTONIC_RAW 2021-03-31 13:25:27 +02:00
Julian Kent 1011382098 Clamp RTPS -> uorb timestamps to system time 2021-03-31 13:25:27 +02:00
TSC21 eca4d90a91 init.d-posix: adjust COM_OBC_LOSS_T when using PX4_SIM_SPEED_FACTOR 2021-03-31 13:25:01 +02:00
TSC21 7abce87ae4 commander: add COM_OBC_LOSS_T for setting onboard computer loss time-out 2021-03-31 13:25:01 +02:00
Beat Küng e9370c658a nuttx cmake: include upload.cmake if it exists (same as on posix) 2021-03-31 11:25:11 +02:00
RomanBapst 5b08362ba3 position_controller_status message: added comments regarding NAN
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-03-31 11:23:33 +02:00
Matthias Grob c06b5a1de9 MulticopterPositionControl: improve tilt limit readability and scope
according to @bresch's review comment.
2021-03-31 10:03:08 +02:00
Matthias Grob 94469d84ae MulticopterPositionControl: fix twitch on tilt limit relaxation 2021-03-31 10:03:08 +02:00
Matthias Grob 34a5948692 Adapt SlewRate includes to convention 2021-03-31 10:03:08 +02:00
Matthias Grob c16b937221 Takeoff: switch internally to use a ramp progress 2021-03-31 10:03:08 +02:00
Matthias Grob 8ca76feaba Takeoff: remove updateRamp() early return 2021-03-31 10:03:08 +02:00
Matthias Grob b7600f4e4d Commander: check_posvel_validity use return value 2021-03-30 22:33:01 -04:00
Matthias Grob 29e1e0905c Commander: switch main_state functions to pass by reference 2021-03-30 22:33:01 -04:00
Matthias Grob 531de5c588 Commander: switch all state_machine_helper functions to pass by reference 2021-03-30 22:33:01 -04:00
Matthias Grob d97fba67e5 Commander: switch helper functions to pass by reference 2021-03-30 22:33:01 -04:00
Daniel Agar 0fa91f7cb0 commander: centralize main_state strings and simplify main state change attempts
* commander: centralize main_state strings and simplify main state change attempts
2021-03-30 17:56:28 +02:00
Daniel Agar 18be1bacdc state_machine_helper: automatically initialize to assist mode if using mavlink manual control 2021-03-30 17:56:28 +02:00
Claudio Micheli b001865e5c Commander: clean up logic for flight mode transitions and add joystick mode initialization
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-03-30 17:56:28 +02:00
Daniel Agar 9a35756cd1 ekf2: enable range aid by default
- this is to help more users get the benefit (by default) and perhaps circumvent the common mistake of setting EKF2_HGT_MODE to range sensor
 - this should be safe to enable as the range aid defaults are fairly conservative (max horizontal velocity 1 m/s, and range aid gate 1 SD)
2021-03-30 10:23:18 -04:00
Daniel Agar 6874e9fba0 boards: NuttX disable all NSH memory debug commands (mb, mh, mw) by default
- closes https://github.com/PX4/PX4-Autopilot/issues/17062
2021-03-30 09:23:43 -04:00
Michael Schaeuble f9af1bbe2d PreFlightCheck: Check if SD card is present only once and store the result
statfs accesses the file-system and can be blocking for an extended period. Since the SD card check is part of the preflight checks in the main thread of commander, it could block its execution and cause various issues. The SD card is only mounted in rcS during boot so the state will not change after the first check.
2021-03-30 08:20:49 +02:00
Daniel Agar c2350c06c1 commander: ManualControl avoid unnecessary copy 2021-03-30 08:19:07 +02:00
Beat Küng 416a663d11 params: add build dependency for *parameters.c
Makes sure changes to these files trigger metadata rebuild
2021-03-30 08:18:49 +02:00
Beat Küng 42a865f349 param json: ensure category is set to Standard if not set
For xml this was previously done on the QGC side.
2021-03-30 08:18:49 +02:00
Beat Küng 2d2799b739 IMU_GYRO_CUTOFF: add 800 (used by SITL) 2021-03-30 08:18:49 +02:00
Beat Küng 346f269d8f IMU_INTEG_RATE: add 250 (used by SITL) 2021-03-30 08:18:49 +02:00
Beat Küng 6a7688cbca component_information: rework to reflect mavlink message changes 2021-03-30 08:18:49 +02:00
Daniel Williams 0f29b87101 [uorb-graph][squash][refactor] Rework of uorb-graph script -- Greatly expands handled test cases
- Source processing now happens on original source files:
    - processing to line-by-line
    - required overhaul of regex match patterns + processing
    - pros:
        - enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
        - simplifies code
        - reduces computational complexity
    - cons:
        - certain declarations are harder to parse: multiline declarations
- refactors:
    - added specific subclasses for each: Publications, Subscriptions, Ambiguities
    - added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
- regexes:
    - added cases for C++-style classes
    - expanded C++-style regex cases to accommodate templates
    - `ORB_ID::` is accepted wherever `ORB_ID(` is accepted
    - adds 'orb_copy' regex to the subscription cases
    - emit ambiguous-line warning for declarations with `ORB_ID` on the same line
    - emit ambiguous-line warning for `ORB_ID` with a declaration on the same line
- changed 'module whitelist' to 'scope-whitelist'
    - whitelist may now apply to libraries
    - libraries are optionally merged with their depending modules (but not by default)
    - may be merged with their depending modules with the `--merge-depends` cli flag
    - eliminates some redundant 'special-case' handling code
- debug output
    - raises exception and aborts if a topic is found outside of a scope
    - debug output is now printed & filtered with the python 'logging' standard module
    - alphabetizes topic output in debug logging
    - fixes debug output if package dependencies are missing
    - now warns on ambiguous matches
    - prints a list of ambiguous source sites (aka warnings) on completion
    - (still) emits a warning if we find ORB_ID outside of a scope
    - adds warnings if any of the source paths are invalid
    - do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
    - added 'none' output options: undocumented debugging option to silence file output while debugging
    - added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
2021-03-29 09:36:34 +02:00
PX4BuildBot da06f25216 [AUTO COMMIT] update change indication 2021-03-28 21:22:25 -04:00
PX4 BuildBot 85fcf9393d Update geo_lookup WMM to latest Sun Mar 28 11:48:06 UTC 2021 2021-03-28 21:22:25 -04:00
Daniel Agar 3d667b1675 delete unused drivers/lights/blinkm 2021-03-28 19:21:29 -04:00
Daniel Agar 631d1647d3 boards: minimize unnecessary differences in default variants 2021-03-28 14:46:47 -04:00
Daniel Agar fcc4153c26 drivers/gps: explicitly link libm
- needed on stripped down builds
2021-03-28 12:39:22 -04:00
Daniel Agar 7314b69adc cmake: fix jlink_flash_uavcan_bin helper 2021-03-28 12:39:22 -04:00
Daniel Agar f5c7f89a76 vscode add holybro can-gps-v1 variants 2021-03-28 12:39:22 -04:00
Daniel Agar e58af90bac boards: holybro can-gps-v1 create separate default and debug variants 2021-03-28 12:39:22 -04:00
Daniel Agar 86b831b019 Update submodule GPSDrivers to latest Sun Mar 28 12:39:06 UTC 2021 (#17253)
- devices in PX4/Firmware (22b74424d42fa89ebc4df84422ca7ea633843878): https://github.com/PX4/PX4-GPSDrivers/commit/e7f0b23f47d65490b72e9bacaff191bda2d99496
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/f2eb62c2c78a2ec47bccfe993ff59acc94155e7e
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/e7f0b23f47d65490b72e9bacaff191bda2d99496...f2eb62c2c78a2ec47bccfe993ff59acc94155e7e

    f2eb62c 2021-02-21 chenhui.yu - sbf: fix #430 longitude judgement bug

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-03-28 11:13:58 -04:00
Daniel Agar f65781025e boards: mRo x21 enable mpu9250 mag (only internal)
- fixes #17244
2021-03-26 21:02:30 -04:00
Daniel Agar b1c913244f boards: CUAV X7pro restore lights 2021-03-26 18:25:39 -04:00
Daniel Agar e77bffe582 boards: STM32H7 remove CONFIG_MM_REGIONS=3 2021-03-26 17:40:44 -04:00
Daniel Agar a260ddd8ff posix-configs: rpi multi-EKF defaults
- the ekf2 frontend typically runs in the background for up to 30 seconds waiting for all instances to appear, but this isn't supported by the legacy posix launcher
2021-03-26 14:24:34 -04:00
Daniel Agar a9b47558b1 magnetometer/lsm9ds1_mag: fix register typo and refactor to new style with state machine and configuration monitoring 2021-03-26 14:23:25 -04:00
bresch a124426541 ecl: apply same GNSS speed accuracy for EKF2 and yaw estimator 2021-03-25 12:57:36 -04:00
bresch ace6f81c93 commander: report estimator mag fault detection to ground station 2021-03-25 12:57:36 -04:00
bresch 2c5342acd4 commander: increase nav_test_failed hysteresis time
This is to avoid race condition with the yaw emergency estimator having
the same trigger delay of 1 second. Commander will now give more time to
EKF2 to reset itself before switching to altitude mode.
2021-03-25 12:57:36 -04:00
Serhat Aksun beadae6dfc process_sensor_caldata.py: Fix 2nd barometer plot
fixed the figure numbers to avoid plot conflicts
2021-03-25 09:53:15 -04:00
bresch 6f2dec726a gps sacc: apply same minimum for EKF2 and yaw estimator 2021-03-25 09:54:30 +01:00
Daniel Agar 5a1eb3f9ef Update submodule GPSDrivers to latest Thu Mar 25 00:41:54 UTC 2021 2021-03-25 00:25:29 -04:00
PX4 BuildBot 98e1e25d93 Update submodule sitl_gazebo to latest Thu Mar 25 00:41:48 UTC 2021
- sitl_gazebo in PX4/Firmware (7f2566dd8a): https://github.com/PX4/PX4-SITL_gazebo/commit/1f339cdf5c5da27097e58ec2beb2793bf6057c7d
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/3e5fed04d8e574b10e17e446d2938346bc6152ca
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1f339cdf5c5da27097e58ec2beb2793bf6057c7d...3e5fed04d8e574b10e17e446d2938346bc6152ca

    3e5fed0 2021-03-22 JaeyoungLim - Multiple airspeed sensors in SITL with multi HIL_SENSOR instances (#731)
2021-03-24 23:54:49 -04:00
David Sidrane 7f2566dd8a NuttX STM32H7 16 bit SPI fixes + ADIS16470 updates for proper 16 bit mode in burst 2021-03-24 19:29:40 -04:00
Daniel Agar 92910de81d gyro_fft: silence initial sensor selection attempt
- early in startup the selected gyro may not be published yet
2021-03-24 18:58:18 -04:00
David Sidrane d9d832c568 NuttX with BACKPORT libc/stdio: Preallocate the stdin, stdout and stderr 2021-03-24 18:27:30 -04:00
Daniel Agar 2d6deb4f1c drivers/rc_input: don't accept RX_PAIR cmd when armed 2021-03-24 15:13:38 -04:00
Lorenz Meier 435ef38eda RC Input: Reset lock state when switching to a new protocol 2021-03-24 15:13:38 -04:00
Daniel Agar 3502ba53ba Update submodule mavlink v2.0 to latest Wed Mar 24 12:38:18 UTC 2021 2021-03-24 11:25:00 -04:00
Beat Küng c4ae667157 generate_board_targets_json.py: exclude uavcanv1 for now
px4_fmu-v4_uavcanv1 fails to build:
../../src/drivers/uavcan_v1/Uavcan.cpp: In static member function 'static int UavcanNode::start(uint32_t, uint32_t)':
../../src/drivers/uavcan_v1/Uavcan.cpp:140:29: error: 'interface' was not declared in this scope
  140 |  _instance = new UavcanNode(interface, node_id);
2021-03-24 10:08:41 -04:00
Beat Küng c46c6e63ae px4/fmu-v4/uavcanv1: remove non-existing tap_esc module & gyro_fft example 2021-03-24 10:08:41 -04:00
Beat Küng f528c5d206 github ci: push parameter metadata to s3 2021-03-24 10:08:41 -04:00
Beat Küng c3985709e4 version: add optional oem version tag (ext/oem-<version>) and log it 2021-03-24 10:08:41 -04:00
Beat Küng be3849f0b2 px4_mkfw.py: fix byte to string conversion 2021-03-24 10:08:41 -04:00
Beat Küng bac2a02a65 git: ignore git tags starting with 'ext/' when getting the version tag
Allows for external/extra tags
2021-03-24 10:08:41 -04:00
Daniel Agar ae010ea55c sensors/vehicle_angular_velocity: unify filtering for both FIFO and regular use cases 2021-03-24 09:23:40 +01:00
PX4 BuildBot 8c173b2e7f Update submodule ecl to latest Wed Mar 24 00:38:46 UTC 2021
- ecl in PX4/Firmware (a730f0f5ce7a2cc909cb3d0dfab5f0106a9b3aeb): https://github.com/PX4/PX4-ECL/commit/bb950a1550ba55de36ed66877817ec7f2f47b349
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/e3d1ade66092d47478488c89e4a6f6d21f0435a4
    - Changes: https://github.com/PX4/PX4-ECL/compare/bb950a1550ba55de36ed66877817ec7f2f47b349...e3d1ade66092d47478488c89e4a6f6d21f0435a4

    e3d1ade 2021-03-12 Daniel Agar - EKF: use flow for vel test ratio if only active source of horizontal aiding
2021-03-23 22:17:11 -04:00
Daniel Agar b2faea7f43 pwm_out: check PWM_OUT_MAX_INSTANCES with conditional
- PWM_OUT_MAX_INSTANCES is a constant (static constexpr) not available to the preprocessor
2021-03-23 22:13:18 -04:00
Silvan Fuhrer 3983f0b833 ROMFS: add new VTOL config and mixer (generic quadplane tiltrotor VTOL) 2021-03-23 19:55:19 -04:00
Beat Küng 2dace0c9ea param: limit short description lenght to 150 for existing, 70 for yaml 2021-03-23 12:55:11 -04:00
Beat Küng 629f7ba15b params: ensure short description is only a single line
So a UI can display it properly
2021-03-23 12:55:11 -04:00
Julian Oes 2ab276f5ca ROMFS: disable MAVLink broadcast by default
I don't think we should be broadcasting by default as we haven't done
that in the past. This suddenly spams the network with a lot of
messages, and leads to confusing situations in offices where there are
multiple PX4 SITL and QGC intances are open.
2021-03-23 12:54:46 -04:00
Daniel Agar ea902e7f38 systemcmds/tests: split out individual module test commands 2021-03-23 11:39:14 -04:00
Daniel Agar e3d1ade660 EKF: use flow for vel test ratio if only active source of horizontal aiding 2021-03-23 15:56:22 +01:00
Daniel Agar 9b1cf98474 drivers/pwm_out: fix launch for non-multi case
- skip _objects[1] access if only 1 possible instance
 - command line request new mode via atomic
2021-03-23 10:40:22 -04:00
David Sidrane 06cd3eded5 Revert "boards: CUAV Nora don't start icm20649 on SPI6 by default"
This reverts commit bcae99e34a.
2021-03-23 05:52:27 -07:00
David Sidrane 644794d134 Revert "boards: CUAV x7pro disable SPI6 IMU until NuttX BDMA is fixed"
This reverts commit 0b4006ae86.
2021-03-23 05:52:27 -07:00
David Sidrane 817d21bb39 px4 fmu-v6x:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane 5f28ea10c0 px4 fmu-v6u:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane bbdb671dd2 mro pixracerpro:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane a8ece584e5 mro ctrl-zero-h7-oem:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane 4eabee00d6 holybro durandal-v1:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane e813385f12 cuav x7pro:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane 344be233cf mro ctrl-zero-h7:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane ba3a099775 cuav nora:Properly configure BDMA 2021-03-23 05:52:27 -07:00
David Sidrane 3581099c09 Revert "boards: disable BDMA on STM32H7 for now"
This reverts commit f0d1f1d679.
2021-03-23 05:52:27 -07:00
David Sidrane 55abe48925 NuttX with BDMA enable fix backpork 2021-03-23 05:52:27 -07:00
Peter van der Perk 8c5e51dba6 Add nxp_ucans32k146_canbootloader to CI archive to distribute UCANS32K146 bootloader 2021-03-23 04:43:56 -07:00
Mohamed Moustafa 5802dce699 mavlink: ignore self published UTM_GLOBAL_POSITION msgs in simulation using sys id (#17193) 2021-03-23 10:32:21 +01:00
Daniel Agar 5f6832e101 px4_work_queue: increasae UART stack 2021-03-22 22:48:58 -04:00
Beat Küng e2cd39bf6c micro_hal: use inline methods instead of #define's
Fixes errors in the form of 'error: statement has no effect'
2021-03-22 15:38:21 -04:00
Daniel Agar e57aaaaa5e rotate accel/gyro FIFO before publish and fix angular velocity filter resets
- rotates accel & gyro FIFO data before publication both to simplify downstream usage (including log review) and fix other issues
     - to best handle int16_t data rotations are now either performed with swaps if possible, otherwise promoted to float, rotated using the full rotation matrix, then rounded back to int16_t
 - fix sensors/vehicle_angular_velocity filter reset both with proper rotation and new calibration uncorrect helper
      - in FIFO case filtering is done before calibration is applied, but we need to handle a possible reset from a completely different sensor (vehicle body angular velocity -> sensor frame uncorrected data)
2021-03-22 12:01:12 -04:00
Star Simpson d4dd019578 removing hardcoded units from parameter descriptions throughout land_detector_params 2021-03-22 11:39:53 +01:00
Dongoo Lee 32012cb3ee for cmake option GENERATE_ROS_MODELS to make ROS sdf models 2021-03-22 08:59:48 +01:00
Star Simpson 48219ab1e6 fixed typo in description of RWTO_PSP parameter 2021-03-22 00:37:18 -04:00
Daniel Agar 7563438558 sensors/vehicle_angular_velocity: fix dynamic notch ESC in FIFO case
- last timestamp sample must be set in FIFO case for ESC RPM dynamic filter update
 - slightly relax thresholds for dynamic notch FFT apply or reset
2021-03-21 20:46:54 -04:00
PX4 BuildBot 1e507f41ca Update submodule sitl_gazebo to latest Sun Mar 21 12:39:01 UTC 2021
- sitl_gazebo in PX4/Firmware (6e9f745809): https://github.com/PX4/PX4-SITL_gazebo/commit/b195315b869a5e86e31bcb934ca85172d4f5f33f
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/1f339cdf5c5da27097e58ec2beb2793bf6057c7d
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b195315b869a5e86e31bcb934ca85172d4f5f33f...1f339cdf5c5da27097e58ec2beb2793bf6057c7d

    1f339cd 2021-03-20 Dongoo Lee - Pass ros_distro in CMakeLists.txt instaed of checking it in jinja_gen.py (#712)
1b1afca 2021-03-18 David Jablonski - gst camera: add RTMP streaming and nvidia encoding (#727)
2021-03-21 10:43:26 -04:00
PX4 BuildBot e79b3930f3 Update submodule ecl to latest Sun Mar 21 12:39:12 UTC 2021
- ecl in PX4/Firmware (81e811997b8e611aff08fa25c81322e4b956425f): https://github.com/PX4/PX4-ECL/commit/4df005487379436dcdde10402d3cea7b78d76c19
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/bb950a1550ba55de36ed66877817ec7f2f47b349
    - Changes: https://github.com/PX4/PX4-ECL/compare/4df005487379436dcdde10402d3cea7b78d76c19...bb950a1550ba55de36ed66877817ec7f2f47b349

    bb950a1 2021-03-10 Morten Fyhn Amundsen - Expose terrain vpos reset counter
ab69681 2021-03-10 Morten Fyhn Amundsen - Add parameter for terrain timeout
2021-03-21 10:42:43 -04:00
Lorenz Meier 6e9f745809 PWM out: Robustify initialization
This ensures that all PWM outputs get correctly inialized on targets that only support one.
2021-03-21 00:21:10 +01:00
Daniel Williams f6eae08597 [uorb_graph][fix][doc] FIxes type around regex definition
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-03-20 08:11:41 +01:00
Daniel Williams e7b1ffbd4c [uorb_graph][fix] broadens regex for ambiguous subscription arrays
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-03-20 08:11:41 +01:00
Daniel Williams 1dce38a8fe [uorb_graph][fix] fixes typo in Graph class __init__
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-03-20 08:11:41 +01:00
Daniel Williams 711422d755 [uorb-graph][squash][refactor] Rework of uorb-graph script -- Greatly expands handled test cases
- debug output is now printed & filtered with the python 'logging' standard module
- changed 'module whitelist' to 'scope-whitelist'
    - whitelist may now apply to libraries
    - libraries are not included by default
    - may be merged with their depending modules with the `--merge-depends` cli flag
    - eliminates redundant 'special-case' handling code
- greatly expands debugging output
    - fixes debug output if package dependencies are missing
    - still crashes on error matches
    - now warns on ambiguous matches
    - prints a list of ambiguous source sites (aka warnings) on completion
    - adds warnings if any of the source paths are invalid
    - do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
    - added 'none' output options: undocumented debugging option to silence file output while debugging
    - added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
- Source processing now happens on original source files:
    - processing to line-by-line
    - required overhaul of regex match patterns + processing
    - pros:
        - enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
        - simplifies code
        - reduces computational complexity
    - cons:
        - certain declarations are harder to parse (multiline arrays)
- refactors:
    - added specific subclasses for each: Publications, Subscriptions, Ambiguities
    - added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
2021-03-20 08:11:41 +01:00
Daniel Williams 8c87ef4272 [refactor][uorb-graph] add a pythonic __main__ idiom to the uorb-graph tool script 2021-03-20 08:11:41 +01:00
Daniel Agar aef3c474e2 cmake: add install_python_requirements helper
- this is useful because it installs the python requirements using the
python interpreter found and used by cmake
2021-03-19 23:58:16 -04:00
Julian Oes a13459858d commander: improve logic for ekf2 preflight check
With this change we prevent the case where arming silently fails within
the first 10 seconds after boot.

Also, we now set the sensors as healthy as soon as the ekf is healthy,
and don't wait 10 seconds without actually checking.
2021-03-19 15:58:14 -04:00
Julian Oes 2f024a9a8a commander: pass in correct time since boot
This fixes the case where the preflight check fail right after the start
and report "sensors unstable".
2021-03-19 15:58:14 -04:00
Morten Fyhn Amundsen 19533377b3 drv_hrt: Fix hrt_abstime literal argument names
The user-defined literals for milli- and microseconds
should have argument names matching their units. The
current argument names 'seconds' is probably an oversight.
2021-03-19 16:36:36 +01:00
David Sidrane 0d4f48a8d2 spracing h7extreme:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane cdcff35760 cubepilot cubeorange:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 2373ba47a2 mro pixracerpro:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 6780428a9d mro ctrl-zero-h7:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane fa5dfb29cb mro ctrl-zero-h7-oem:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 216959e221 holybro durandal-v1:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 7bc2393936 cubepilot cubeorange:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane a67edf229a cuav x7pro:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 4f3d74b9d3 cuav nora:Enable ADC3 in support of temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane 833501dee6 stm32h7:adc fix temperature sensing 2021-03-19 15:48:47 +01:00
David Sidrane cc098f9dff netman:Fix setting on first boot 2021-03-19 15:48:25 +01:00
Daniel Agar 19fc33a66e boards: ark/can-flow add debug build and reduce default 2021-03-19 15:44:57 +01:00
bresch 6fda6e43af StickAcceleration: synchronize XY acceleration profiles 2021-03-19 13:51:15 +01:00
Matthias Grob c8c3f57ba1 mc_pos_control_params: correct cruise speed description
It is used in autonomous modes only and has no influence
on Position mode.
2021-03-19 13:35:17 +01:00
Daniel Agar 2360c50713 boards: spracing/h7extreme remove temperature_compensation and differential_pressure sensors to save flash 2021-03-18 19:34:51 -04:00
Daniel Agar b74bdb0250 sensors/vehicle_angular_velocity: RPM filter add harmonics 2021-03-18 19:34:51 -04:00
Daniel Agar 8f242ec444 cmake: add jlink_flash_uavcan_bin helper 2021-03-18 19:33:19 -04:00
Daniel Agar a86e854a3b boards: CUAV CAN GPS enable safety button
- the circuit breaker was changed to set by default (disabling the safety button)
2021-03-18 19:33:19 -04:00
David Sidrane e9409e59e6 NuttX with flexcan CTRL1 fixes backports 2021-03-18 21:38:56 +01:00
David Sidrane 395519ac66 uavcan_stm32h7:can driver preserve ordering
Refering to the refernece manual:

     Tx queue operation is configured by programming FDCAN_TXBC.TFQM to 1. Messages
     stored in the Tx queue are transmitted starting with the message with the lowest message
     ID (highest priority). **In case that multiple queue buffers are configured with the same
     message ID, the queue buffer with the lowest buffer number is transmitted first**

    Tx FIFO operation is configured by programming FDCAN_TXBC.TFQM to 0. Messages
    stored in the Tx FIFO are transmitted starting with the message referenced by the get index
    FDCAN_TXFQS.TFGI. After each transmission the get index is incremented cyclically until
    the Tx FIFO is empty. The Tx FIFO enables transmission of messages with the same
    message ID from different Tx buffers in the order these messages have been written to the
    Tx FIFO

    The issue will be cancelation:

    The FDCAN supports transmit cancellation. To cancel a requested transmission from a
    dedicated Tx buffer or a Tx queue buffer the Host has to write a 1 to the corresponding bit
    position (= number of Tx buffer) of register FDCAN_TXBCR. Transmit cancellation is not
    intended for Tx FIFO operation.

    But there is nothing preventing it. This seems to indicate it will
    work. When a transmission request for the Tx buffer referenced by the get index is canceled, the
    get index is incremented to the next Tx buffer with pending transmission request and the Tx
    FIFO free level is recalculated. When transmission cancellation is applied to any other Tx
    buffer, the get index and the FIFO free level remain unchanged.
2021-03-18 18:31:05 +01:00
David Sidrane 52a29ac6cf uavcan_stm32h7:can driver add proper timeouts 2021-03-18 18:31:05 +01:00
Morten Fyhn Amundsen bb950a1550 Expose terrain vpos reset counter 2021-03-18 14:25:07 +01:00
Morten Fyhn Amundsen ab69681744 Add parameter for terrain timeout 2021-03-18 14:25:07 +01:00
dinomani 4bf894a35d Update platforms/nuttx/src/px4/stm/stm32h7/include/px4_arch/micro_hal.h
Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2021-03-18 06:13:24 -07:00
dino 44b2e0b729 As David request 2021-03-18 06:13:24 -07:00
dino 7c8b7fa44d Fixed typo and added support for H7 temperature sense on ADC3 2021-03-18 06:13:24 -07:00
dino 6d04a67b02 Moving define to microhal.h files, for each ST architecture. Correct channels were verified with ST_CUBE header files. For the H7 its a simplification for the current used H7x3. Other devices in that family expect the temperarture on channel 18.
F1: channel 16
F3: channel 16
F4: channel 18
F7: channel 18
H7: channel 17, on STMf32Hx3
2021-03-18 06:13:24 -07:00
dino 528dc41822 changed #elif to #else, to build on all targets 2021-03-18 06:13:24 -07:00
dino 3c77ef7eb3 Fixed adc config, to read internal reference to get cpu temperature 2021-03-18 06:13:24 -07:00
Daniel Agar 7c2b945c21 ROMFS: posix rcS add gyro_fft and gyro_calibration start 2021-03-18 10:04:04 +01:00
Daniel Agar 8000e6feba gyro_fft: reduce default max
- we're mainly looking for lower frequencies that may be an issue for control
2021-03-18 10:04:04 +01:00
Daniel Agar c7c6122bfd gyro_fft: manually inline subset of arm_rfft_init_q15 to save flash 2021-03-18 10:04:04 +01:00
Daniel Agar 1429423876 gyro_fft: support sensor_gyro (non-fifo) 2021-03-18 10:04:04 +01:00
alexklimaj 69e57b22ac Add LEDs to ARK Can Bootloader 2021-03-17 18:10:22 -04:00
alexklimaj 38ce892582 ARK Flow sensor rotations 2021-03-17 18:06:38 -04:00
Dima Ponomarev e660b50021 uavcan: add IMU sensor support 2021-03-17 18:04:12 -04:00
Lorenz Meier d35ce21594 PWM out: Ensure correct loading on single-bank targets 2021-03-17 22:03:18 +01:00
Lorenz Meier 9490c64ad4 PWM out: provide running state
Important to know if the app is running.
2021-03-17 22:03:18 +01:00
Lorenz Meier 33c5f4210a X7 disable FFT
This depends on the IMU driver supporting queue
2021-03-17 22:03:18 +01:00
Lorenz Meier 935cc05c47 FMU PWM OUT: Start driver in interface 2021-03-17 22:03:18 +01:00
Lorenz Meier dd400e9562 Modal: Fix tabs in start script 2021-03-17 22:03:18 +01:00
Lorenz Meier 8cc3247d21 PWM command: Switch default to status, leave info 2021-03-17 22:03:18 +01:00
Lorenz Meier 0efa7556fe VTOL airframe: Remove spurious tab 2021-03-17 22:03:18 +01:00
Lorenz Meier 595b3a05fb Draco airframe: Remove tabs 2021-03-17 22:03:18 +01:00
Lorenz Meier 4af42be3f3 IFO-S airframe: Remove tabs 2021-03-17 22:03:18 +01:00
Lorenz Meier e887aa902f IFO airframe: Remove tabs 2021-03-17 22:03:18 +01:00
Lorenz Meier 06f7c49d3a Baby-shark airframe: Remove spurious tabs 2021-03-17 22:03:18 +01:00
Lorenz Meier 3c19853f6c ROMFS pruner: Detect spurious tabs
This is necessary to make sure that users cannot insert tabs into shell commands.
2021-03-17 22:03:18 +01:00
Lorenz Meier 21f5f9fba0 Param: Print failing param name
This is important for any sort of boot logs to know which parameter failed.
2021-03-17 22:03:18 +01:00
Lorenz Meier c4e86f69c6 X7: Correct RGB led configuration
This removes unused modules and keeps the currently used ones in place.
2021-03-17 22:03:18 +01:00
Lorenz Meier dc1e7335a3 UAVCAN: Lower debug print level 2021-03-17 22:03:18 +01:00
Lorenz Meier 9fe2f84db5 CUAV X7 Pro: Remove unneeded drivers. 2021-03-17 22:03:18 +01:00
Lorenz Meier 13e0b74782 MAVLink: Increased stack size
This is needed for MAVLink shell and UAVCAN.
2021-03-17 22:03:18 +01:00
Lorenz Meier c904767f1d Always start airspeed
This ensures we get readings in the log and in the telemetry even if the sensor is disabled.
2021-03-17 22:03:18 +01:00
Lorenz Meier 891b231215 Ensure that AUX mixer is loaded when 2nd bank is present 2021-03-17 22:03:18 +01:00
Lorenz Meier 38f306908d Remove PWM14 VTOL airframe 2021-03-17 22:03:18 +01:00
Daniel Agar e7722b11eb pwm_out multi-instance support
PX4 uses banks of 8 outputs as a logical structure. Boards that have
more outputs than 8 get multiple instances. This is an arbitrary choice
that helps with overall structure and enables the mixing of different
device classes (like FMU, IO or UAVCAN).
2021-03-17 22:03:18 +01:00
Daniel Agar c1c0a62be5 drivers/gps: log automatic gain control (AGC) monitor 2021-03-17 15:11:43 -04:00
Daniel Agar 385512aead uORB: test multi timestamp requirement only applies per topic instance 2021-03-17 12:35:53 -04:00
Daniel Agar 205beb9526 boards: revert remaining CONFIG_ARMV7M_LAZYFPU 2021-03-17 09:58:23 -04:00
Matthias Grob 25dd12382a FlightTaskOrbit: default center at exact vehicle location 2021-03-17 09:50:11 -04:00
Matthias Grob ef774578e1 FlightTaskOrbit: NACK command if coordinates could not get applied 2021-03-17 09:50:11 -04:00
Ryan Johnston bffa83bd47 Reverting LAZYFPU for v1.12 beta1 Compatibility
Without reverting this a constant boot loop occurs.

Prior to merging, why this occurs on some F7 boards and not this one should be looked at.

With LazyFPU enabled, v1.12.0 beta1 will not boot but without it removed it works fine.
2021-03-17 06:10:02 +01:00
David Sidrane ccee36bb68 sd_bench and logger use aligned buffers 2021-03-17 05:27:53 +01:00
David Sidrane 45d0603627 micro_hal:Fixed DCACHE_LINESIZE abuse 2021-03-17 05:27:53 +01:00
garfieldG e9725a5fa7 Merge pull request #17089 from garfieldG/pr-safety_switch_status
send safety switch status to ground
2021-03-17 05:23:31 +01:00
PX4 BuildBot 5ad8ed6994 Update submodule devices to latest Wed Mar 17 00:38:33 UTC 2021
- devices in PX4/Firmware (dd479f9cca): https://github.com/PX4/PX4-GPSDrivers/commit/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/0acaf6185245382389f7f6019cee6537d8f5a8e6
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652...0acaf6185245382389f7f6019cee6537d8f5a8e6

    0acaf61 2021-02-26 Beat Küng - output mode: add GPS+RTCM output for PPK
2021-03-17 05:21:20 +01:00
Daniel Agar dd479f9cca drivers/imu/analog_devices/adis16470: Analog Devices ADIS16470 IMU driver for CUAV x7pro 2021-03-16 18:00:06 -04:00
Daniel Agar 4092f87390 paw3902: fixes and improvements
- fully respect datasheet quality and shutter metrics for mode changes
 - use MOTION pin for scheduling if available
 - log light mode
 - refactor common enable LED code
 - respect read and write time delays
2021-03-16 15:52:03 -04:00
Daniel Agar 34ea056bd2 Update submodule mavlink v2.0 to latest Tue Mar 16 12:39:08 UTC 2021 2021-03-16 15:50:23 -04:00
PX4 BuildBot c368aa180a Update submodule sitl_gazebo to latest Tue Mar 16 12:39:03 UTC 2021
- sitl_gazebo in PX4/Firmware (00016e53fa): https://github.com/PX4/PX4-SITL_gazebo/commit/6b6f4749a74215b9a4fb81cfaa99a3950f13464d
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/b195315b869a5e86e31bcb934ca85172d4f5f33f
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/6b6f4749a74215b9a4fb81cfaa99a3950f13464d...b195315b869a5e86e31bcb934ca85172d4f5f33f

    b195315 2021-03-16 JaeyoungLim - Revert "Pr liftdrag coefficients (#690)" (#730)
2021-03-16 15:49:58 -04:00
David Sidrane 243adf5250 NuttX with SDMMC back ports 2021-03-16 15:37:41 -04:00
Fabrizio Romanelli 853459c21b Tools/setup/ubuntu.sh: Update to allow multiple host architectures 2021-03-16 13:33:48 -04:00
Daniel Agar 00016e53fa boards: holybro/kakutef7 disable CONSTRAINED_FLASH to increase optimization 2021-03-16 10:30:32 +01:00
Inhwan Wee c67d85945b [commander] more detailed print_status 2021-03-16 01:00:55 -04:00
Daniel Agar 29d4ad1848 fw_pos_control_l1: OFFBOARD fully populate position_setpoint_triplet 2021-03-16 00:58:04 -04:00
Ryan Johnston bcf93304c7 Board ID Update
Needed for updating firmware (due to boot loader).
2021-03-16 00:51:17 -04:00
Ryan Johnston 8e6987d480 Board ID update
Needed for firmware to update.
2021-03-16 00:51:17 -04:00
Daniel Agar 5d63306427 Update submodule GPS drivers to latest Tue Mar 16 00:40:31 UTC 2021 2021-03-16 00:50:13 -04:00
Daniel Agar be58db1ec9 boards: cubepilot_cubeorange_console add gyro_fft 2021-03-16 00:49:45 -04:00
Daniel Agar 8261ee5fd7 boards: px4_fmu-v5_stackcheck add gyro_fft 2021-03-16 00:49:45 -04:00
Daniel Agar ed8f6aa8fe gyro_fft: fix bucket_index size
- needed for larger FFT lengths (eg 1024, 2048, etc)
2021-03-16 00:49:45 -04:00
Daniel Agar 0eac534b80 geo: purge globallocal_converter 2021-03-15 16:16:19 -04:00
Daniel Agar 4df0054873 geo: purge old globallocal_converter 2021-03-15 14:43:53 -04:00
Daniel Agar ae67c53b1e boards: px4_fmu-v6u_default address flash shortage
- create separate px4_fmu-v6u_test variant for onboard testing code
2021-03-15 14:19:00 -04:00
Daniel Agar 4b99bd2077 boards: remove optional external ADIS IMUs to save flash 2021-03-15 13:37:24 -04:00
Daniel Agar b20949e664 mission feasibility: Fix first wp too far message overflow
Co-authored-by: Sander Smeets <sander@droneslab.com>
2021-03-15 12:40:52 -04:00
Daniel Agar 6cdc034f08 camera_trigger: cleanup
- add copyright headers and update year
 - move initializers to header
 - add PX4_DEBUG messages
2021-03-15 12:35:41 -04:00
Sander Smeets 517a1d0116 battery_status: factor in total current consumption in battery remaining estimation 2021-03-15 12:32:45 -04:00
RomanBapst 82a2126f97 TECS: add feedforward gain for total energy balance rate
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-03-15 11:47:07 -04:00
Daniel Agar edd42cfa86 boards: px4/fmu-v5x disable optional external IMU drivers 2021-03-15 11:16:38 -04:00
Daniel Agar 0b4006ae86 boards: CUAV x7pro disable SPI6 IMU until NuttX BDMA is fixed 2021-03-15 10:54:43 -04:00
Daniel Agar 20d8de2dca gyro_fft: reduce run frequency (still consuming all queued data) 2021-03-15 09:42:35 -04:00
Daniel Agar 3c80db9796 boards: stm32f7 run gyro_fft by default 2021-03-15 09:42:35 -04:00
Lorenz Meier a5151f92ea Merge pull request #17065 from PX4/pr/fix-mavlink-shell
MAVLink shell: Ensure that nothing is written to the file handles during shell creation.
2021-03-15 09:47:58 +01:00
Daniel Agar 2257c3767e simple gyro auto calibration module 2021-03-15 09:46:47 +01:00
jciberlin 01c9a4f24d ghst: fix warning generated on PR (Clang Tidy)
Fix warning generated on PR (Clang Tidy).
2021-03-15 09:42:53 +01:00
jciberlin 6f5efbeab5 ghst_telemetry: send battery status
Send battery status (ghst_telemetry). Apply factors to show correct values of volts, amps and mAh. Change ghost protocol code to follow more MISRA C++ guidelines.
2021-03-15 09:42:53 +01:00
Daniel Agar af3573e464 gyro_fft: log peak frequency magnitudes 2021-03-15 09:42:08 +01:00
Daniel Agar 3665f9a3c4 gyro_fft: increase default range and length to improve test data 2021-03-14 20:17:41 -04:00
Daniel Agar 893eee4cb8 logger: double sensor_gyro_fft logging rate 2021-03-14 20:17:41 -04:00
Daniel Agar cfb3099870 boards: mRo pixracer pro restore USART6, but RX only 2021-03-14 16:32:22 -04:00
Lorenz Meier 72ca6902f0 Updated README - general refresh 2021-03-14 14:56:24 +01:00
Jaeyoung-Lim 6b4ccaa53e Handle invalid yaw rate setpoints 2021-03-14 00:01:57 +01:00
Jaeyoung-Lim 06e3d38bbd Fix yaw rate ignore flag for attitude setpoints
This PR fixes the yaw rate ignore case handling for offboard control using the SET_ATTITUDE_TARGET message
2021-03-14 00:01:57 +01:00
David Sidrane 28681405ae nxp_fmuk66-v3:Disable CONFIG_MMCSD_MULTIBLOCK (_DISABLE=y) 2021-03-12 20:45:45 +01:00
David Sidrane 3e443f7dcc nxp_fmuk66-e:Disable CONFIG_MMCSD_MULTIBLOCK (_DISABLE=y) 2021-03-12 20:45:45 +01:00
CarlOlsson 528127c372 fw_att_ctrl: remove unused variable 2021-03-12 12:19:29 -05:00
romain-chiap f150e1e7aa sih: time constant added on thrusters, and minor cleanup 2021-03-12 12:04:14 -05:00
ArkadiuszNiemiec 1d8c55db4a mavlink: fix yaw and yaw_rate ignore mask check 2021-03-12 16:34:41 +01:00
Daniel Agar 7fb43559f8 gyro_fft: run by default on STM32H7 2021-03-12 07:50:31 -05:00
Beat Küng 9ceef80e06 param: remove set-default print's during bootup 2021-03-12 13:44:10 +01:00
Beat Küng af8c3215f2 logger: add airframe and system-wide default parameters
- adds new ulog message & compatibility flag
- separately add airframe and system-wide defaults
- log only non-volatile defaults that are different from the current value
- additional size is ~3KB for 100 params
2021-03-12 13:44:10 +01:00
Beat Küng b512a3d8f7 param: add param_get_system_default_value 2021-03-12 13:44:10 +01:00
Daniel Agar c356181f90 px4_work_queue: increase wq:rate_ctrl stack 2021-03-11 22:35:25 -05:00
Daniel Agar 0079cb708c gyro_fft: don't update FFT length while running
- this is used for the length of dynamically allocated buffers that
aren't resized while running
2021-03-11 21:53:59 -05:00
Daniel Agar ee7b6c0e9f mavlink: delete fake CAMERA_CAPTURE stream 2021-03-11 23:00:00 +01:00
Daniel Agar d98e1ded6b mavlink: mavlink main report lost vehicle_command_ack 2021-03-11 15:04:53 -05:00
Daniel Agar b0a4f35024 mavlink: mavlink main vehicle_commands only handled in iridium mode 2021-03-11 15:04:53 -05:00
Daniel Agar eef304110d uavcan: uavcan_servers only acknowledge supported commands 2021-03-11 15:04:53 -05:00
Julian Oes c13266ad26 Tools: add env variable to disable follow mode
This adds the env variable PX4_NO_FOLLOW_MODE to disable the follow mode
in Gazebo.
2021-03-11 20:02:16 +01:00
Daniel Agar 4a7b2c490a mavlink: messages cleanup remaining headers 2021-03-11 11:46:14 -05:00
Daniel Agar 3f872ebf20 mavlink: move HEARTBEAT to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 0c138b7e03 mavlink: move CAMERA_TRIGGER to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar b955c41a63 mavlink: move COMMAND_LONG to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 801202f208 mavlink: move BATTERY_STATUS to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar dc1418a3b4 mavlink: move SYS_STATUS to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 5a025cfa28 mavlink: move SMART_BATTERY_INFO to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar ec6758f5af mavlink: move HIGHRES_IMU to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 248978b25e mavlink: move SCALED_PRESSURE to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 477d8c3738 mavlink: only include HIGH_LATENCY2 stream on non flash constrained builds 2021-03-11 11:46:14 -05:00
Daniel Agar c6311324d2 mavlink: move VFR_HUD to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar d46ae7983f mavlink: move GPS_RAW_INT to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 67a204206a mavlink: move GPS2_RAW to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar e2f7427679 mavlink: move AUTOPILOT_STATE_FOR_GIMBAL_DEVICE to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 462d67f2b6 mavlink: move TIMESYNC to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 849000ebeb mavlink: move SYSTEM_TIME to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar af06adecd3 mavlink: move ADSB_VEHICLE to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar ecfbd79a90 mavlink: move UTM_GLOBAL_POSITION to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar e04252151c mavlink: move GIMBAL_DEVICE_ATTITUDE_STATUS to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar c9d44d5741 mavlink: move GIMBAL_MANAGER_INFORMATION to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar aaf7b41dda mavlink: move GIMBAL_MANAGER_STATUS to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 581e28eb33 mavlink: move GIMBAL_DEVICE_SET_ATTITUDE to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar ddca669852 mavlink: move CAMERA_IMAGE_CAPTURED to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 50bd757037 mavlink: move GLOBAL_POSITION_INT to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar ede01e8f1a mavlink: move ODOMETRY to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 7daa97f279 mavlink: move LOCAL_POSITION_NED to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 5f7d577e04 mavlink: move ESTIMATOR_STATUS to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar a1a557cfe3 mavlink: move VIBRATION to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 239ed19827 mavlink: move ATT_POS_MOCAP to separate stream header
- now only available on non flash constrained boards
2021-03-11 11:46:14 -05:00
Daniel Agar 3964cfb3a7 mavlink: move HOME_POSITION to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar f7ee6b3c5e mavlink: move SERVO_OUTPUT_RAW to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 5eef9358d9 mavlink: move ACTUATOR_CONTROL_TARGET to separate stream header 2021-03-11 11:46:14 -05:00
Daniel Agar 7d78cf8505 parameters: param_value_is_default() add note about params_changed bitset usage 2021-03-11 11:30:43 -05:00
Daniel Agar a991e78e18 parameters: fix runtime default edge case 2021-03-11 11:30:43 -05:00
Matthias Grob ceb445caa0 Run mc_pos_control for acceleration control mode flag 2021-03-11 10:37:03 -05:00
Daniel Agar 6a6352577c cmake: nuttx error if GCC <= 7 2021-03-11 03:36:34 -08:00
Daniel Agar f725813128 add bootloader flash helper target (jlink_flash_bootloader) 2021-03-11 09:03:42 +01:00
Matthias Grob 8816601efb FlightTaskManualAcceleration: fix velocity setpoint initialization 2021-03-11 00:40:27 +01:00
Matthias Grob 89b502b9a0 FlightModeManager: remove switching out of a task for every mode change
This was an idea to be able to reinitialize on mode change e.g. from
Holde mode to Land mode which are currently all still handled by
FlightTaskAuto and don't require a task switch.

But I found out it leads to issues because the last setpoint and the
ekf reset counter state from the previous task are lost and as a result
the setpoint transition cannot be handled consistently anymore.
2021-03-11 00:40:27 +01:00
Matthias Grob 63a35ccabd StickAccelerationXY: fix losing the internal velocity setpoint state
because of a failing position unlock with NAN velocity setpoint feedback.
2021-03-11 00:40:27 +01:00
Matthias Grob 54fe0ae98c FlightModeManager: rename updateVelocityController{IO} to {Feedback} 2021-03-11 00:40:27 +01:00
David Jablonski 02abb760a3 SITL: add iris with fog-simulating lidar 2021-03-11 00:39:09 +01:00
Daniel Agar f8eaa6e46b ROMFS handle bl_update generically
- include all available legacy bootloaders
2021-03-11 00:38:18 +01:00
Daniel Agar 3ad0da51c4 Makefile: wipe incomplete ninja build generation 2021-03-10 17:16:19 +01:00
mohamed.moustafa 6914ebef4e added messages required by offboard_control example 2021-03-10 08:42:33 -05:00
Jaeyoung-Lim 1d66b033a4 Append mixer with aux outputs 2021-03-10 07:15:53 +01:00
Jaeyoung-Lim 0db29866f1 Add standard_vtol drop 2021-03-10 07:15:53 +01:00
PX4 BuildBot d2b63f137e Update submodule ecl to latest Wed Mar 10 00:59:16 UTC 2021
- ecl in PX4/Firmware (557d8f65d89cd3da4a0e88af2a7bb1a16ebf3ff9): https://github.com/PX4/PX4-ECL/commit/4bad2a272cfbcfd2ef2c77bb4af788f5b569aaaa
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/b3c1bd6d40952a9d467497162f91f28400ae0a3d
    - Changes: https://github.com/PX4/PX4-ECL/compare/4bad2a272cfbcfd2ef2c77bb4af788f5b569aaaa...b3c1bd6d40952a9d467497162f91f28400ae0a3d

    b3c1bd6 2021-03-09 Paul Riseborough - EKF: Remove un-used code
2021-03-09 23:19:22 -05:00
Daniel Agar 684424bf73 parameters: delete unused BSON_BINDATA handling 2021-03-09 19:29:42 -05:00
Daniel Agar 4d288512b5 add board architecture specific init defaults 2021-03-09 19:59:41 +01:00
Silvan Fuhrer e53e001de1 Airspeed Selector: do not run checks during landing
Stall speed check would otherwise trigger during landing if airspeed falls below
stall speed before landing is detected.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-03-09 19:23:48 +01:00
Daniel Agar 440e72e697 boards: cuav nora/x7pro don't have low speed external (LSE) oscillator 2021-03-09 10:49:57 -05:00
Daniel Agar a11d2207e4 commander: simplify failure detector is attitude stabilized check 2021-03-09 10:47:00 -05:00
Daniel Agar dff975698e mc_rate_control: delete unused _landing_gear_pub 2021-03-09 10:47:00 -05:00
Daniel Agar cc3c6f63e5 mc_rate_control: simplify manual_control_setpoint update 2021-03-09 10:47:00 -05:00
Daniel Agar bb12fce66c delete RATTITUDE flight mode 2021-03-09 10:47:00 -05:00
Daniel Agar d37510a43d update UUV and rover controllers to use trajectory_setpoint and cleanup unused position_setpoint fields 2021-03-09 10:36:34 -05:00
Daniel Agar a0b9b44ff6 boards: stm32h7 set CONFIG_SDMMC1 consistently 2021-03-09 09:37:05 -05:00
Daniel Agar bd1c575ce8 lib/sensor_calibration: add simple offset and scale sanity checks 2021-03-09 09:27:21 -05:00
Peter van der Perk c4ab2797eb Added the notion of BaseSubscriber which allows to
subsscription for services responses and request and helps the usage of fixed
port subscribers Furthermore move register autconfigure logic from Uavcan.cpp
to NodeManager
2021-03-09 14:35:50 +01:00
Paul Riseborough b3c1bd6d40 EKF: Remove un-used code 2021-03-09 21:23:38 +11:00
CUAVcaijie 9f9b01504d Modify the way to clear Data 2021-03-09 11:00:03 +01:00
David Jablonski 063bb75891 simulator: fix lidar sensors 2021-03-08 21:27:39 -05:00
Matthias Grob c96d9a79b8 mc_att_control_params: remove frequency unit from attitude gains 2021-03-08 11:14:01 -05:00
David Sidrane c792879612 Nuttx: PX4 Contrib Ethernet Hardening 2021-03-08 10:37:08 -05:00
Daniel Agar cbb2fa440b sensors/vehicle_angular_velocity: only allocate dynamic notch perf counters if enabled (IMU_GYRO_DYN_NF) 2021-03-08 10:35:48 -05:00
Daniel Agar 68c171fd4f land_detector: continue respecting hover thrust throughout descent 2021-03-08 11:33:36 +01:00
Jaeyoung-Lim 1fa08c3997 Fix actuator controls timestamps for MAV_CMD_DO_SET_ACTUATOR
Fix actuator controls timestamps for MAV_CMD_DO_SET_ACTUATOR
2021-03-07 20:31:24 -05:00
Paul Riseborough 4465c4fbf6 ekf2: Publish and log EKF warning and information events (NEW msg estimator_event_flags)
* msg: Add estinator information and warning events message (estimator_event_flags)
 * ekf2: publish information and warning events
 * logger: log estimator_event_flags
 * update ecl submodule to latest

Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-03-07 16:16:48 -05:00
Peter van der Perk 18a8d89fa4 PNP fixed allocation scheme
Fixed register scheme
Incrased wq:uavcan stack since it overflowed when sending register response
2021-03-07 21:49:05 +01:00
Peter van der Perk 28c76663cd UAVCANv1 Move PNP from UAVCAN.cpp to NodeManager.cpp 2021-03-07 21:49:05 +01:00
Kevin Dominic Merkel d5e468a19e change typhoon_h480 roll-/pitchrate P gain to reduce oscillations (#17044) 2021-03-07 18:18:00 +01:00
Daniel Agar 35488337d3 mc_pos_control: add OFFBOARD takeoff intent 2021-03-07 11:04:17 +01:00
Daniel Agar 22abe1619b Update submodule mavlink v2.0 to latest Sat Mar 6 00:39:07 UTC 2021 2021-03-05 21:00:39 -05:00
PX4 BuildBot 1eff1aa83c Update submodule sitl_gazebo to latest Sat Mar 6 00:39:04 UTC 2021
- sitl_gazebo in PX4/Firmware (263b00b65f): https://github.com/PX4/PX4-SITL_gazebo/commit/bebb9a95f0b61bf9e4c3de345fab70985c1329b3
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/c7524aa977539d8cc972d9336355bc82e2f2cfa5
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/bebb9a95f0b61bf9e4c3de345fab70985c1329b3...c7524aa977539d8cc972d9336355bc82e2f2cfa5

    c7524aa 2021-02-28 Jaeyoung-Lim - Fix MAVSDK SITL tests
f4d5594 2021-02-28 JaeyoungLim - Increase rover model realtime factor (#715)
2021-03-05 21:00:07 -05:00
Paul Riseborough 4bad2a272c EKF: Use debug prints for NuttX builds 2021-03-05 19:06:59 -05:00
Daniel Agar 0f47cae1e1 remove ECL_{INFO,WARN,ERN}_TIMESTAMPED macros
- we already have mechanisms to print these messages timestamped
2021-03-05 19:06:59 -05:00
Paul Riseborough c1f1415696 EKF: Add usage warning comment 2021-03-05 19:06:59 -05:00
Paul Riseborough c2b86cdb20 EKF: Provide external reset of event records 2021-03-05 19:06:59 -05:00
Paul Riseborough 9d51ab079a EKF: Remove duplicated event recording 2021-03-05 19:06:59 -05:00
Paul Riseborough 140ca3f48f EKF: Add external monitoring of warning and information events 2021-03-05 19:06:59 -05:00
Paul Riseborough 90a445ddbc EKF: upgrade some events from into to warning status 2021-03-05 19:06:59 -05:00
Daniel Agar 263b00b65f ekf2 support SET_GPS_GLOBAL_ORIGIN and remove globallocalconverter usage
- vehicle_command cmd extended from uint16 to support PX4 internal commands that don't map to mavlink
2021-03-05 18:25:14 -05:00
David Sidrane 12a4b0334f px4_fmu-v6u:Use Auto LSE Drive setting 2021-03-05 15:40:09 -05:00
David Sidrane 2af106d888 px4_fmu-v6x:Use Auto LSE Drive setting 2021-03-05 15:40:09 -05:00
David Sidrane d94ff14e6b px4_fmu-v5x:Use Auto LSE Drive setting 2021-03-05 15:40:09 -05:00
David Sidrane f44a299e3b px4_fmu-v5:Use Auto LSE Drive setting 2021-03-05 15:40:09 -05:00
David Sidrane c2a5b5ed88 holybro_durandal-v1:Use Auto LSE Drive setting 2021-03-05 15:40:09 -05:00
Ryan Johnston 9d0a8928bd Update chip type
Update chip type from NI to II.
2021-03-05 21:28:36 +01:00
Ryan Johnston 0958b30804 Fix i2c4 bus
Fix i2c4 bus (and subsequent CI errors)
2021-03-05 21:28:11 +01:00
Ryan Johnston 2bf508061a Update i2c bus
Change internal bus 2 to external.
2021-03-05 21:28:11 +01:00
Ryan Johnston 17b48102f4 Update i2c mapping and i2c clock source
i2c4 was mapped incorrectly and i2c4 clock source wasn't present.
2021-03-05 21:28:11 +01:00
bbworld 7525722b1a Add support for specifying spawn location in Gazebo multi sim
This commit adds support for specifying the spawn location of vehicles
in the Gazebo multi-vehicle simulator script (frame:number:x:y).
Behavior when x and y are not specified remains the same as before.
2021-03-05 21:26:54 +01:00
Ryan Johnston daf744c678 MRO Control Zero F7 OEM Fixes (#16977)
* Update i2c 4 pinmap on F7 OEM

Update i2c 4 pinmap

* Fix i2c Internal to External on F7 OEM

Fix i2c Internal to External on F7 OEM

* Add Can2 Silent Pin

Add Can2 Silent Pin
2021-03-05 21:26:15 +01:00
Nicolas MARTIN 66beffa2f3 Enable pre-arm checks in HIL modes
by airframe parameters HIL mode will still disable:
 - usb check
 - power checks
 - safety switch
2021-03-05 21:23:31 +01:00
CarlOlsson b4b424bf7d tecs: also fix the bug in update_vehicle_state_estimates() 2021-03-05 19:44:20 +01:00
CarlOlsson 0f461f7f60 TECS: Fix internal state init if dt is large 2021-03-05 19:44:20 +01:00
Matthias Grob 114e85d260 MultiCopterPositionControl: hotfix emergency failsafe
that prevents the vehicle from crashing with invalid setpoints or
states.

This broke with #16869 when the scheduling of the position control module
and the setpoint generation got independent. The failsafe mechanism assumed
the setpoint is overwirtten by the possibly infeasible input on every loop
iteration which is not the case anymore. As a result the failsafe reset its
histeresis based on the failsafe setpoint from the last loop iteration.

Keeping the failsafe_setpoint separate solves this issue. Note that
these setpoints to the bare minimum to keep the vehicle safely in the air
and do not suffer from sideffects ignoring the EKF reset.
2021-03-05 11:29:36 -05:00
Daniel Agar fddcb73802 sensors/vehicle_angular_velocity: dynamic notch filter support ESC RPM (untested) 2021-03-05 10:56:54 -05:00
Daniel Agar 573034aa8e Jenkins hardware print ORB_ID(sensor_selection) 2021-03-05 10:56:54 -05:00
Daniel Agar d5d5b7d82e sensors/vehicle_angular_velocity: add perf counters 2021-03-05 10:56:54 -05:00
Daniel Agar 19de1e57e3 gyro_fft promote to modules and include on all boards 2021-03-05 10:56:54 -05:00
Daniel Agar 00b3b3678b sensors/vehicle_angular_velocity: gyro dynamic notch filters updated from onboard FFT 2021-03-05 10:56:54 -05:00
David Sidrane ed6269b9a5 STMx7 LSE backports 2021-03-05 10:10:19 -05:00
Daniel Agar 077afdf9aa commander: extend reliant on opt flow to ALTCTL (degraded from POSCTL)
If you're flying in manual position control mode and lose position the state machine will put you in altitude control mode. Extending the reliant on optical flow relaxed position validity thresholds allows you to potential get back into position control mode with flow alone.
2021-03-05 10:07:36 -05:00
Daniel Agar d0c9a5fc93 OFFBOARD mode architecture overhaul (#16739)
- handle SET_POSITION_TARGET_LOCAL_NED and SET_POSITION_TARGET_GLOBAL_INT with ORB_ID(trajectory_setpoint)
 - FlightTaskOffboard not needed at all
 - bypass position_setpoint_triplet entirely (start removing extraneous fields)
 - simplify offboard_control_mode to map to supported control modes
2021-03-05 09:39:46 -05:00
David Jablonski 5233737a86 adjust some limits to prevent divide-by-zero 2021-03-05 10:42:19 +01:00
Gonçalo Atanásio 9f6c882d2a boards: crazyflie v2.1 Default to EKF2 with no MAG
Co-authored-by: TheLegendaryJedi <goncalo.atanasio@gmail.com>
2021-03-04 19:30:17 -05:00
Matthias Grob 5bbc66f3af ManualControl: name, message, comment, const qualifier improvements
addressing review from @bresch, @julianoes and @JonasVautherin
2021-03-04 10:41:21 +01:00
Matthias Grob 2f39651f77 ManualControl: use current sample for timeout check 2021-03-04 10:41:21 +01:00
Matthias Grob a43a829fdf Commander: gate manual control setpoint processing on new data 2021-03-04 10:41:21 +01:00
Matthias Grob 935423b563 ManualControl: start to distinguish rc arming methods 2021-03-04 10:41:21 +01:00
Matthias Grob c16b48fd2c Commander: Replace manual_control_setpoint use 2021-03-04 10:41:21 +01:00
Matthias Grob 49c240f49e Commander: simplify rc arming disabling logic 2021-03-04 10:41:21 +01:00
Matthias Grob ca3bfb5ea1 ManualControl: simplify multicopter manual thrust logic 2021-03-04 10:41:21 +01:00
Matthias Grob a796903e21 ManualControl: fix arm button use case 2021-03-04 10:41:21 +01:00
Matthias Grob 37ea78a7ff Commander: move rc arming to ManualControl class
Separating the different arming methods is the next step.
2021-03-04 10:41:21 +01:00
Matthias Grob 00a4133042 ManualControl: make members private again 2021-03-04 10:41:21 +01:00
Matthias Grob ee2d408edc Commander: move rc availability to ManualControl 2021-03-04 10:41:21 +01:00
Matthias Grob 0e1f1a9f57 Commander: use parameters directly in ManualControl 2021-03-04 10:41:21 +01:00
Matthias Grob dda895c94b Commander: split out rc override logic into ManualControl 2021-03-04 10:41:21 +01:00
Matthias Grob a4da15edf5 Commander: RC override back to stick change
Instead of deflection mainly because:
- Spring loaded throttle -> bad user experience
- Stale RC data -> Vehicle not savable
2021-03-04 10:41:21 +01:00
Matthias Grob 3d87982bba Commander: reintroduce last stick position 2021-03-04 10:41:21 +01:00
Julian Kent cdadfabccc Bring back RC throttle override with a parameter to disable it 2021-03-04 10:41:21 +01:00
bresch cb8367026c [AUTO COMMIT] update change indication 2021-03-04 19:43:01 +11:00
bresch 93dd4e5754 fix unit tests 2021-03-04 19:43:01 +11:00
bresch 5d441d65e1 Accelerate tilt fine alignment by reducing obs noise when at rest
Fine tilt alignment is accomplished by fusing fake position data after
a coarse tilt leveling. The observation noise can be reduced if the
vehicle is at rest to speed up the process.
2021-03-04 19:43:01 +11:00
SungTae Moon b7ff54b034 add label option for various airframes using same model (#17003) 2021-03-04 09:29:38 +01:00
Ryan Johnston bc8d9af23e Add Lazy FPU
Reported that LAZYFPU  interact with the MTD (FRAM) driver.

https://github.com/PX4/PX4-Autopilot/issues/16548
2021-03-03 14:43:40 -05:00
Ryan Johnston 0047e518aa Add Lazy FPU to Defconfig
Reported that LAZYFPU interacts with the MTD (FRAM) driver.
2021-03-03 14:43:17 -05:00
Matthias Grob 28b89b024f MulticopterPositionControl: fix Takeoff ramp use
- guard against NAN speed_up limit as input to ramp see #14339
- allow negative speed_up limit for ramp to work
2021-03-03 18:53:56 +01:00
Daniel Agar 0eb327743e move min/max distance to ground limits to FlightTask ManualAltitude 2021-03-03 18:53:56 +01:00
Daniel Agar ecd5e57ab5 remove debug 2021-03-03 18:53:56 +01:00
Daniel Agar 0ada59e57b ekf reset remove NAN checks 2021-03-03 18:53:56 +01:00
Daniel Agar 7a7d316a32 Update src/modules/mc_pos_control/PositionControl/CMakeLists.txt
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-03-03 18:53:56 +01:00
Daniel Agar 87f835710b Update src/modules/flight_mode_manager/FlightModeManager.hpp
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-03-03 18:53:56 +01:00
Daniel Agar c891db19f9 Update src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.cpp
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-03-03 18:53:56 +01:00
Daniel Agar 266ea377da move takeoff state machine flight_mode_manager -> mc_pos_control 2021-03-03 18:53:56 +01:00
David Sidrane 823c6078d9 Add rtps build to workflows 2021-03-03 04:55:53 -08:00
David Sidrane 72a3c05ffc nxp_fmuk66-e:Add rtps build 2021-03-02 15:49:03 -05:00
David Sidrane 6542c6e58b nxp_fmuk66-e:Add rtps build 2021-03-02 15:49:03 -05:00
Daniel Agar c9a2d0ed34 IMU_GYRO_RATEMAX set system default to 400 Hz
- MC default is still 800 Hz
2021-03-02 10:08:49 -05:00
Nico van Duijn 16af63e99c v6x: fix icm20649 rotation 2021-03-02 05:27:31 -08:00
Kalyan Sriram b257f9d1fd actuator: add support for MAV_CMD_DO_SET_ACTUATOR
Adds support for using the MAVLink command MAV_CMD_DO_SET_ACTUATOR to
update the actuator values on control group 3 aux{1, 2, 3}. A simple
deconfliction with rc_update is implemented: when a MAVLink command is
sent, RC is disabled for that channel until a major stick movement is
detected.
2021-03-02 12:41:02 +01:00
Beat Küng ada05165f1 mc_pos_control_params: fix param descriptions for negative values 2021-03-02 08:29:58 +01:00
Daniel Agar 4d9e88141e px4_work_queue: increase wq:nav_and_controllers stack 2021-03-02 00:03:17 +01:00
Daniel Agar 0ba1bc0ce1 MPC_POS_MODE remove old metadata and explicitly handle invalid configuration 2021-03-01 09:10:11 +01:00
Alex Mikhalev d01806a0c6 lib/battery: Fix cell voltages with >10S
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2021-02-28 22:10:23 -05:00
Daniel Agar 9d0c966b15 sensors: publish sensor_selection initially regardless of SENS_IMU_MODE
- in multi-EKF mode the EKF selector becomes repsonsible for sensor
selector rather than the sensors module
 - this updates the sensors module to still make the initial primary IMU
selection on startup before the EKF selector (including if the
estimators never fully initialize)
2021-02-27 20:19:05 +01:00
Daniel Agar 9d47f7ecda simulator: make first accel/gyro simulated FIFO 2021-02-26 18:40:37 -05:00
Daniel Agar 0e796fc17b boards: emlid navio2 enable ADIS16448 2021-02-26 17:56:14 -05:00
Daniel Agar 6b1e7ffdb8 rc_input: fix possible string truncation (-Werror=stringop-truncation) 2021-02-26 17:56:14 -05:00
Daniel Agar e0ade94d25 platforms: add px4_udelay and px4_mdelay
- NuttX: up_udelay and up_mdelay
 - Linux: usleep and msleep
2021-02-26 17:56:14 -05:00
Daniel Agar f1f396e338 uORB: PublicationMulti get_instance() advertise if not already advertised
- fixes UAVCANv0 sensor bridge uORB usage, but also a reason thing to do in general
2021-02-26 17:55:30 -05:00
Daniel Agar 33d12db580 cmake: sitl_target sort lists and trim a few options 2021-02-26 16:14:19 -05:00
David Sidrane da61938792 Jenkinsfile-compile:Fix breakage 2021-02-26 15:15:45 -05:00
Benjamin Perseghetti 52bb99688f Optimize number of logical cores used during sitl builds. 2021-02-26 14:14:52 -05:00
bresch be9b3404a2 lpf test: test several sampling frequencies 2021-02-26 14:06:45 -05:00
bresch 3277648959 lpf test: move to common function 2021-02-26 14:06:45 -05:00
bresch 844602c961 Add unit tests for Butterworth 2nd order low-pass filter 2021-02-26 14:06:45 -05:00
David Sidrane 2345d3ac4a NuttX:FlaxCan Backports 2021-02-26 09:48:14 -08:00
Matthias Grob c2151cb4fa Commander: remove unused arm mode command residue 2021-02-26 07:38:02 -05:00
Daniel Agar 94bcda7c57 navigator: poll mission to run feasibility checks immediately 2021-02-26 10:28:49 +01:00
Daniel Agar 7393d5d761 delete aerotenna ocpoc 2021-02-26 08:38:45 +01:00
Igor Mišić 5f9a98e316 drivers/gps: update RTC only if time drift for 5s
Add interrupt pause comment to help future code archeologists
2021-02-26 08:36:41 +01:00
Daniel Agar 143ebbad98 Update submodule mavlink v2.0 to latest Fri Feb 26 00:40:09 UTC 2021 2021-02-25 21:25:47 -05:00
Daniel Agar fd1fff89d4 dataman: remove flash backend 2021-02-26 00:28:48 +01:00
Daniel Agar 321df7ed84 delete remaining intel aero references 2021-02-25 17:46:18 -05:00
Daniel Agar 3bed87e4bd platforms/posix: try increasing sitl_gazebo build parallelism
- this was limited to single threaded due to CI issues and even
developer machines with limited resources
2021-02-25 16:57:24 -05:00
Daniel Agar ac5167b459 init.d-posix: delete rc.mavlink_override 2021-02-25 13:44:19 -08:00
Daniel Agar a63e25f581 mavlink: GPS_GLOBAL_ORIGIN on by default, but only send on change or when requested 2021-02-25 12:43:30 -05:00
garfieldG 8db37225d6 Added rc.mavlink_override to test the new parameters with sitl 2021-02-25 08:52:38 -08:00
garfieldG 3cd9b3c2cf Added support in Mavlink Ethernet channel parameters
Mavlink Ethernet channel settings such as udp port, remote port and broadcast mode now can be changed dynamically via parameters.
2021-02-25 08:52:38 -08:00
Daniel Agar b66a9629e0 ekf2: update to latest ecl with new global origin helpers 2021-02-25 10:43:07 -05:00
斯东Stone e5b689e33c Add TCBP001TA Barometer Driver (#14774) 2021-02-25 07:11:58 -08:00
Daniel Agar 6482120d9a sensors/vehicle_angular_velocity: use full raw FIFO data (sensor_gyro_fifo) if available 2021-02-25 10:06:17 -05:00
Daniel Agar 8f625e5744 Revert "cmake: Limit color output to terminals"
This reverts commit c1da999748.
2021-02-25 09:34:02 -05:00
Beat Küng 0e8c73f4af drivers: remove snapdragon_pwm_out
- it would need to be refactored to use mixer_module
- rather than having a separate driver it should use linux_pwm_out
2021-02-25 09:28:37 -05:00
Beat Küng 3fa825bf88 boards: remove intel/aerofc-v1
it's discontinued
2021-02-25 09:28:37 -05:00
Beat Küng 7e33d03470 drivers: remove tap_esc
- it's not used anymore
- it would need a refactoring to use mixer_module
2021-02-25 09:28:37 -05:00
Beat Küng 8986264feb airframes: remove aerofc as it's discontinued 2021-02-25 09:28:37 -05:00
Beat Küng f0cc8a344b linux_pwm_out: refactor to run on a work queue and use mixer_module 2021-02-25 09:28:37 -05:00
Beat Küng 439fb00aed linux_pwm_out: move protocols to board-specific directories
This also removes the pca9685 output, which was unused, and there's also
pca9685_pwm_out.
2021-02-25 09:28:37 -05:00
斯东Stone b0a5d431d3 optical_flow/thoneflow: update the data timespan 2021-02-24 21:28:29 -05:00
Daniel Agar 45ba9d1dd5 add all mRo ctrl zero variants to CI 2021-02-24 13:23:21 -05:00
Jacob Crabill 4cca86b5d6 uavcan_v1: Apply feedback from Pavel Kirienko
Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com>
2021-02-24 19:22:11 +01:00
JacobCrabill a7a7e33614 uavcan_v1: Rename Subscription --> Subscriber 2021-02-24 19:22:11 +01:00
JacobCrabill b5ac6f1eb8 uavcan_v1: Refactor Pub/Sub class constrctors
Each class now sets the 'subject name', and the base class looks for a
parameter following the format uavcan.pub/sub.SUBJECT_NAME.INSTANCE.id
2021-02-24 19:22:11 +01:00
JacobCrabill c8e66a2f5c uavcan_v1: Rename Publication --> Publisher 2021-02-24 19:22:11 +01:00
JacobCrabill d1eda5ee84 uavcan_v1: Add missing uavcanv1.cmake for fmu-v4 2021-02-24 19:22:11 +01:00
JacobCrabill e654fe71f5 uavcan_v1: Fix 'unset' port ID (use 65535) 2021-02-24 19:22:11 +01:00
JacobCrabill 935bf75b61 uavcan_v1: Fix bugs in MixingOutput / EscClient
Also add commented-out code for use with PR-16808
(MixingOutput + output_control)
Bench-tested PWM output on a Pixracer via UAVCANv1 ESC commands from a
Pixhawk 4.
2021-02-24 19:22:11 +01:00
JacobCrabill 04ea1cf5c6 uavcan_v1: Add to EscClient implementation
Add outline of EscServer implementation
Add some comments and cleanup
2021-02-24 19:22:11 +01:00
JacobCrabill 4b73566b76 uavcan_v1: Add Publisher base; Gnss Publisher 2021-02-24 19:22:11 +01:00
JacobCrabill 216a66b535 uavcan_v1: Remove unused vars 2021-02-24 19:22:11 +01:00
JacobCrabill 35f822fca6 uavcan_v1: Working ESC setpoint pub/sub 2021-02-24 19:22:11 +01:00
JacobCrabill 170345040a uavcan_v1: Add rough ESC Client; Reorg Subscribers 2021-02-24 19:22:11 +01:00
JacobCrabill 00814815f4 uavcan_v1: Reorganize uavcan params and Subscriber 2021-02-24 19:22:11 +01:00
JacobCrabill 088014c2e1 uavcan_v1: Basic subscriber working 2021-02-24 19:22:11 +01:00
JacobCrabill b88e8b6684 uavcan_v1: Increase stack size
Also increases stack frame size limit, which was what the compiler was
throwing an error on.
2021-02-24 19:22:11 +01:00
JacobCrabill 70ff6703b7 uavcan_v1: More work on subscribers and reg access
Now running into issues with running out of stack frame memory
For now I'm going to leave the relevant code in so it's at least
readable, but in its current state it will not compile
2021-02-24 19:22:11 +01:00
JacobCrabill 7d2a6afb79 uavcan_v1: More work on Subscriber class 2021-02-24 19:22:11 +01:00
JacobCrabill c5184f3b46 uavcan_v1: Update UAVCANv1 DSDL submodule 2021-02-24 19:22:11 +01:00
JacobCrabill e267dc0206 uavcan_v1: Start adding framework for Subscribers 2021-02-24 19:22:11 +01:00
JacobCrabill e5cf92f20d uavcan_v1: Refactor RX handling into functions
Cleans up the main transfer-handling loop
2021-02-24 19:22:11 +01:00
David Sidrane 9fd7eb5944 canbootloader:Per UAVCAN call display Percentage not KB 2021-02-24 19:20:15 +01:00
David Sidrane a1be559978 canbootloader:Remove Rate limiting on FW update 2021-02-24 19:20:15 +01:00
David Sidrane fd0494555c canbootloader:stm32_boarddeinitialize->board_deinitialize 2021-02-24 19:20:15 +01:00
David Sidrane 944536fa50 canbootloader:Remove duplicated file from bring it back to repo 2021-02-24 19:20:15 +01:00
David Sidrane 500fe5c98c uavcannode_gps_demo:Add UAVCAN bootloader AppDescriptor 2021-02-24 19:20:15 +01:00
David Sidrane dd3c3098f2 nxp_ucans32k146:Add Can Bootloader build
nxp_ucans32k146:Relocation for Bootloader

nxp_ucans32k146:can_boot enable CAN

nxp_ucans32k146:Save Space use Non Optimize memcpy

nxp_ucans32k146:Increase to 24K

nxp/ucans32k146:Canbootloader LED Driver

nxp_ucans32k146:Can bootloader shut down CAN

nxp_ucans32k146:Use NVMEEPROM for Paramaters

nxp_ucans32k146:Use bootloader AppDescriptor

px4 mtd:Support onchip emulated eeprom
2021-02-24 19:20:15 +01:00
David Sidrane 62c0c96749 canbootloader:Use Micro hal and arch selection
nxp/s32k14x:board_identity: Return length of mfguid

nxp/s32k14x:CAN driver

nxp/s32k14x:Drver Added ABORT on error

canbootloader:Use N words for first word

canbootloader:Ensure the up_progmem API always defined
2021-02-24 19:20:15 +01:00
David Sidrane ea255234da nuttx:[BACKPORT] s32k1xx:Support ramfunc 2021-02-24 19:20:15 +01:00
Beat Küng 46b9acac6d mag_calibration: fix typo 2021-02-24 17:27:31 +01:00
Beat Küng 558fe18dfe sitl: add 'commander takeoff' to history 2021-02-24 17:27:31 +01:00
Beat Küng 836c7c6575 StickAccelerationXY: brake a bit faster
The drag is based on max_acc/max_vel, which means that increasing the
maximum velocity leads to slower braking (at the same starting speed).

Especially a combination of small max_acc (slow responsiveness) with high
max_vel led to an exceedingly high braking distance.
This improves that while still being smooth.
2021-02-24 17:27:31 +01:00
Beat Küng 1be4163506 mc_pos_control_params: increase velocity limits a bit
I hit those on my vehicle
2021-02-24 17:27:31 +01:00
Beat Küng ad9688e63c mc: remove unused param definitions MPC_JERK_MIN and MPC_DEC_HOR_SLOW 2021-02-24 17:27:31 +01:00
Matthias Grob a637f282ce FunctionsTest: cover lerp 2021-02-24 17:27:31 +01:00
Beat Küng 14bf9cf753 mc: add SYS_VEHICLE_RESP param to configure vehicle responsiveness 2021-02-24 17:27:31 +01:00
Beat Küng 2a0a82fd90 param: add commit_no_notification(T val) API 2021-02-24 17:27:31 +01:00
David Sidrane 3ef93823f4 srgbled:Fix warning 2021-02-24 08:05:39 -08:00
Daniel Agar 5f3e883f2c sensors/vehicle_imu: vehicle_imu_status include accel/gyro full raw FIFO sample rate 2021-02-24 08:13:53 -05:00
Ryan Johnston cec31fd685 Remove mkblctrl from default.cmake
Mkblctrl needs to be removed for the build to now succeed.
2021-02-24 08:54:22 +01:00
Ryan Johnston 45dde177ee Remove mkblctrl from default.cmake
Mkblctrl needs to be removed for the build to succeed.
2021-02-24 08:53:35 +01:00
David Sidrane dd736f8540 holybro_can-gps-v1:Ensure yeild is used for FLASH programing 2021-02-23 17:45:25 -05:00
David Sidrane 84b3f51c6b ark_can-flow:Ensure yeild is used for FLASH programing 2021-02-23 17:45:25 -05:00
David Sidrane d8b9def3f8 cuav_an-gps-v1:Ensure yeild is used for FLASH programing 2021-02-23 17:45:25 -05:00
Daniel Agar 6c3262c54b cmake cleanup src/drivers/imu 2021-02-23 15:58:36 -05:00
Daniel Agar 11ad41f7cb delete old imu/mpu6000 driver 2021-02-23 15:58:36 -05:00
Daniel Agar 4364e23633 delete unused imu/bmi160 2021-02-23 15:58:36 -05:00
Daniel Agar f9705c96f7 delete unused imu/bma180 2021-02-23 15:58:36 -05:00
Daniel Agar e38560b928 sensor_calibration: increase threshold for updating calibration offsets or scale
- this is to minimize needlessly writing negligible parameter changes and triggering unnecessary estimator bias resets
2021-02-23 13:32:00 -05:00
Nicolas MARTIN d65d06f82d SIH/gps: express gps position noise in meters and reduce noise value
Previous horizontal position noise was a white Gaussian noise with std=0.8m
It results in a noise with high frequencies too high making some ekf
position tests fail (test ratio to allow arming).

The new noise values are below real GPS errors but as theses errors are
generally low frequency, so they cannot be modeled with a white noise.
2021-02-23 13:27:28 -05:00
Daniel Agar 6cf06319d2 boards: nxp_fmurt1062-v1 remove irlock and lights/blinkm to save flash 2021-02-23 13:23:36 -05:00
Nicolas MARTIN 80a73ab5b5 SIH: add distance sensor fault simulation 2021-02-23 12:57:40 -05:00
Nicolas MARTIN ab41319009 SIH: add distance sensor 2021-02-23 12:57:40 -05:00
Daniel Agar 69bd3ecf95 sensor_calibration: respect board rotation even if uncalibrated
- fixes https://github.com/PX4/PX4-Autopilot/issues/16873
2021-02-23 15:24:14 +01:00
Daniel Agar e2563388eb Jenkins compile removed deleted variant 2021-02-22 20:33:03 -05:00
Daniel Agar cd7713eba2 boards: delete unused variants 2021-02-22 20:08:36 -05:00
Daniel Agar 4a65ad9148 github actions decrease max ccache size
- lower compression level to 5 as recommended by ccache manual
2021-02-22 18:59:35 -05:00
brad112358 d53fcb0bab mavlink: use RADIO_STATUS to regulate parameter sending 2021-02-22 18:57:29 -05:00
Daniel Agar bcae99e34a boards: CUAV Nora don't start icm20649 on SPI6 by default
- waiting on NuttX SPI6 BDMA to be fixed
2021-02-22 12:11:16 -05:00
Daniel Agar 7cc4aa6fe2 vtol_att_control: fix code style 2021-02-22 12:09:39 -05:00
Nicolas MARTIN 50ec809fdf SIH: add mag offset from parameters
An absolute value superior to 10000 block mag publication
2021-02-22 11:56:16 -05:00
Nicolas MARTIN 8f54dc402d SIH: add baro offset (or pressure change) from parameters
An absolute value superior to 10000 block barometer publication
2021-02-22 11:56:16 -05:00
Nicolas MARTIN 1df63cb6b1 SIH: add gps fix loss simulation from parameters
A new parameter allows to change the SIH number of gps satellites used
If it is below 4, fix is lost
2021-02-22 11:56:16 -05:00
Daniel Agar 098d5ce5c0 EKF allow range aid without horizontal aiding
- skip range aid velocity check when horizontal aiding isn't active
2021-02-22 11:55:56 -05:00
Sander Smeets a8a9832b59 Allow new modes for forward thrust 2021-02-22 11:18:49 -05:00
Lorenz Meier 1b8a3079e6 Update commander_params.c
Better documentation boolean settings, removed duplicate boolean.
2021-02-22 11:17:16 -05:00
Lorenz Meier 90f5d7338c Commander: Relax pre-arm check for EKF
The previous testing ratios could lead to extremely tight pre-arm acceptance.
2021-02-22 11:17:16 -05:00
Lorenz Meier f12d368a64 Commander: Document arming check params 2021-02-22 11:17:16 -05:00
Lorenz Meier 87f98f096f Commander: Respect position circuit breaker
This ensures that commander respects the position check circuit breaker and allows arming without position.
2021-02-22 11:17:16 -05:00
Daniel Agar 382e0cbaec px4_work_queue: increase wq:nav_and_controllers stack 1760->1824 2021-02-22 11:15:01 -05:00
David Jablonski ed7a5314d8 rtl: head towards home location after descend 2021-02-22 16:37:08 +01:00
David Jablonski aeccb621c5 rtl: added loiter radius for descending 2021-02-22 16:37:08 +01:00
Nicolas MARTIN 29943a2c09 EKF test ratio status return current height source test ratio 2021-02-22 09:22:45 -05:00
Daniel Agar 30e8a14be3 logger: update SDLOG_PROFILE comment to reflect current default
- closes https://github.com/PX4/PX4-Autopilot/issues/16904
2021-02-22 08:45:10 +01:00
Ryan Johnston 410ca51a4a boards: MRO Control Zero F7 OEM minor update
- Updating Serial port mapping to be the same across all Control Zero boards
 - CAN2 Silent Pin Update
2021-02-21 21:08:38 -05:00
Ryan Johnston a1fa6a72ea boards: MRO Control Zero H7 Board Support 2021-02-21 21:07:36 -05:00
Ryan Johnston 5376178987 boards: MRO Control Zero H7 OEM Board Support 2021-02-21 21:06:27 -05:00
Lorenz Meier aacbc04730 PX4IO: Robustify upgrade process
These changes remove the two code paths to updates (forceupdate and update) and try to reboot and bootload IO independent of its state, wether it is in bootloader mode already, safety switch is off or if it is in "nominal state" (running and safety on). This ensures that there are no conditions where user error or boot sequence can prevent a successful upgrade. The only state where an upgrade will not be done is if the system is fully armed.
2021-02-21 19:56:16 -05:00
Daniel Agar 82200fab9e mavsdk_tests: relax MC "Fly straight" speed threshold 2021-02-21 22:51:51 +01:00
Daniel Agar bbc721917c mavlink: mission ignore takeoff pitch error
- this mission rejection was only added recently in https://github.com/PX4/PX4-Autopilot/pull/16792
 - causing QGC compatibility issues https://github.com/mavlink/qgroundcontrol/pull/9464
2021-02-21 16:40:38 -05:00
Daniel Agar bfc019364a Update submodule mavlink v2.0 to latest Sun Feb 21 12:42:06 UTC 2021
- mavlink  v2.0 in PX4/Firmware (414f9f81d9): https://github.com/mavlink/c_library_v2/commit/4e25dfa47b28adc177ea7badad837d8b84173712
    - mavlink  v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/bf7df5c01d856f174c3b98e5b6527e777b173935
    - Changes: https://github.com/mavlink/c_library_v2/compare/4e25dfa47b28adc177ea7badad837d8b84173712...bf7df5c01d856f174c3b98e5b6527e777b173935

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-02-21 15:28:22 -05:00
Daniel Agar 1956cd8ff1 cmake: add px4io binary as ExternalProject build byproduct
- needed for incremental px4io changes to actually make it all the way through to the ROMFS
2021-02-21 14:04:26 -05:00
Daniel Agar 414f9f81d9 move fake GPS to standalone module 2021-02-20 14:13:36 -05:00
Silvan Fuhrer 0ea8104344 select single system-wide wind estimate message (current best)
- publish wind estimate only from EKF, and wind speeds from airspeed selector to new separate topic (airspeed_wind)
 - rename message wind_estimate to wind
 - publish wind from currently used ekf instance (ekf2selector)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-20 13:15:01 -05:00
jciberlin 9d65e9a980 ghst: keep the previous values for channels that are not updated
Keep the previous values for channels that are not updated (ghost protocol). Add new test data for ghost protocol.
2021-02-20 11:29:57 +01:00
jciberlin 96c72a5657 RCTest: add tests for ghost protocol
Add tests for ghost protocol
2021-02-20 11:29:57 +01:00
jciberlin ca192a98c5 ghst: add test data
Add test data for ghost protocol
2021-02-20 11:29:57 +01:00
Juraj Ciberlin c0f7429f8c ghst: use memcpy instead of for loop
PR review, ghost protocol, use memcpy instead of for loop

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-02-20 11:29:57 +01:00
jciberlin 64342f568d Ghost protocol
ghst: add ghost protocol
2021-02-20 11:29:57 +01:00
Daniel Agar 711a69854b uthash: move remaining utarray usage to parameters and delete unused
- this is to discourage further use until utarray can be dropped entirely
2021-02-20 11:28:22 +01:00
Daniel Agar 9ed959402e mavlink: store instances in array
- simplify mavlink header writes that go back through the mavlink module
 - add locking around mavlink command line usage (start, stop, status, etc)
2021-02-20 11:28:22 +01:00
Lorenz Meier 4984c19700 PX4 IO: Retry upgrades of IO
This adds robustness to system timing and bad link.
2021-02-20 11:07:53 +01:00
alexklimaj ed20bc92c3 Fix uavcannode build 2021-02-20 10:49:08 +01:00
Beat Küng 9d11d94e7e px4iofirmware: guard against parsing multiple RC protocols
It was for example possible that DSM got parsed, and in the next iteration
SBUS got parsed, leading to multiple PX4IO_P_STATUS_FLAGS_RC_ flags set.
input_rc::input_source was then incorrectly set to DSM.

Partially guarding was already done: if SBUS got parsed, DSM and others
were skipped.

The IO will still clear all PX4IO_P_STATUS_FLAGS_RC_* flags on RC loss.
2021-02-19 09:28:46 -05:00
Daniel Agar 5c27c47746 Jenkins hardware limit px4_fmu-v5 to generic quadcopter at default rates
- the same boards are used for stackcheck and debug builds which are cpu constrained
2021-02-19 09:27:38 -05:00
mcsauder 164e53bad3 Add unit tests and update ekf_helper setEkfGlobalOrigin() method to allow for condition when current position is unitialized. 2021-02-19 08:59:47 -05:00
Daniel Agar 63f64b57c1 EKF: set global origin method
EKF: add convergence after global origin reset test
2021-02-19 08:59:47 -05:00
PX4 BuildBot c863d6a346 Update submodule ecl to latest Fri Feb 19 12:39:03 UTC 2021
- ecl in PX4/Firmware (5be2f2c8f835fde0ce648561636cf565d95f5741): https://github.com/PX4/PX4-ECL/commit/310f41517590165a82f807562b3cbb9a76e4c7d8
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/81937370ac5234a4c318d838acee4d9bb4bfa697
    - Changes: https://github.com/PX4/PX4-ECL/compare/310f41517590165a82f807562b3cbb9a76e4c7d8...81937370ac5234a4c318d838acee4d9bb4bfa697

    8193737 2021-02-18 bresch - [AUTO COMMIT] update change indication
04844a0 2021-02-16 bresch - ekf control: move time_last_in_air/on_ground out of GPS control logic
b00d4a9 2021-02-16 bresch - mag fusion: improve on ground forced mag fusion logic
2021-02-19 08:34:17 -05:00
Daniel Agar 5dc5ebc0a1 boards: cleanup uavcan test targets (v1 and v0 embedded peripherals) 2021-02-18 11:54:41 -05:00
Daniel Agar 5e188b3cd7 ekf2: populate local_position dist_bottom_sensor_bitfield 2021-02-18 10:37:02 -05:00
Alex Mikhalev 06e2bca3a6 batt_smbus: Use orb_publish_auto 2021-02-18 07:52:26 -05:00
Alex Mikhalev 6bd4dff51f drivers/smbus: Increase max block size to 34
batt_smbus for BQ40Z80 transfers up to 34 bytes (32 byte block + 2 byte
address), but this was overflowing and failing the PEC check.
So increase the buffer size

Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2021-02-18 07:52:26 -05:00
Alex Mikhalev 93b1a148b7 batt_smbus: Pass device address to base class
Fixes a warning printed at runtime

Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2021-02-18 07:52:26 -05:00
bresch 81937370ac [AUTO COMMIT] update change indication 2021-02-18 10:11:51 +01:00
bresch 04844a04ed ekf control: move time_last_in_air/on_ground out of GPS control logic 2021-02-18 10:11:51 +01:00
bresch b00d4a9237 mag fusion: improve on ground forced mag fusion logic
While a yaw test ration > 1 rejects the mag data in air, the fusion is
forced with a limited innovation on ground to fix gyro bias and local
magnetic effects problems pre-takeoff. However, the same logic is
applied after landing and immediately after the land detector detects
landing. In some cases, this can disturb the other EKF states which can
lead to a state change of the land detector.
To avoid such a loop, the start of this forced yaw fusion is delayed by
5 seconds after landing.
2021-02-18 10:11:51 +01:00
Daniel Agar 4678201da4 update libuavcan to latest 2021-02-17 22:47:35 -05:00
Daniel Agar 46eb790188 boards: new uavcan board variants remove delete mkblctrl driver 2021-02-17 22:47:35 -05:00
David Sidrane e0e796a2b9 ROMFS:Bake in UAVCAN FW with builds that end in _uavcan
The configuration are mostly for testing now.
2021-02-17 22:47:35 -05:00
David Sidrane 8c2678bca1 uavcan_servers:Reworked file naming and use ROM fs as fall back
Supporting direct down loads from ROMFS with preferece give to the
   files fould on the SD card first. This will allow a user to provide
   an updated uavcan firware on the SD card, and there is no overhead
   of coping files from the ROM FS to the SD card.
2021-02-17 22:47:35 -05:00
David Sidrane 57195843bf cuav_can-gps-v1:Use for ALT Bootloader an Option 2021-02-17 22:47:35 -05:00
David Sidrane 5ea56af5f0 canbootloder:Make support for ALT Bootloader an Option 2021-02-17 22:47:35 -05:00
David Sidrane 174f2624df holybro_can-gps-v1:board_id uses as Uavcan HW version 2021-02-17 22:47:35 -05:00
David Sidrane d1cadb6441 ark_can-flow:Assign board_id 2021-02-17 22:47:35 -05:00
David Sidrane 070db73e91 holybro_can-gps-v1:Use common uavcan board identity 2021-02-17 22:47:35 -05:00
David Sidrane 51a5c63bac ark_can-flow:Use common uavcan board identity 2021-02-17 22:47:35 -05:00
David Sidrane 3f6388f9a1 uav_can-gps-v1:Use common uavcan board identity 2021-02-17 22:47:35 -05:00
David Sidrane 51b54c025b canbootloader:Send number of KB written while updating FW 2021-02-17 22:47:35 -05:00
David Sidrane d426dd771f canbootloader:Ensure common crc is set valid after autobaud 2021-02-17 22:47:35 -05:00
David Sidrane 58e5c8fbca canbootloader:Prefer bootloader_app_shared over bootloader_alt_app_shared 2021-02-17 22:47:35 -05:00
David Sidrane 05c0deae14 UavcanNode:Only write alt id not booted by PX4 2021-02-17 22:47:35 -05:00
David Sidrane 71c4f5a05b UavcanNode:Support Dynamic Node ID allocation 2021-02-17 22:47:35 -05:00
David Sidrane e4b519aca0 UavcanNode:Add support for the Alternate bootloader app shared 2021-02-17 22:47:35 -05:00
David Sidrane b27beac50c UavcanNode:Add feed back to bootloader that the App ran 30S 2021-02-17 22:47:35 -05:00
David Sidrane 8943644566 board_common:Add board_configure_reset and board_booted_by_px4 API 2021-02-17 22:47:35 -05:00
David Sidrane 7a6ed0281b uavcan bootloader:Add support alt boot_alt_app_shared 2021-02-17 22:47:35 -05:00
David Sidrane 28030e96e2 cuav_can-gps-v1:UavcanNode app ensure IWDG off in debuger 2021-02-17 22:47:35 -05:00
David Sidrane 6ea06892ac Fix case were descriptor has no or bad length 2021-02-17 22:47:35 -05:00
David Sidrane 5c80b2d3dd cuav_can-gps-v1:canbootloader - enable SWD and Pause IWDT whils stepping 2021-02-17 22:47:35 -05:00
David Sidrane da67537291 Uavcan Node Pets the watchdog 2021-02-17 22:47:35 -05:00
David Sidrane ef29ed7db3 Uavcan bootloader Starts Watchdog for Application 2021-02-17 22:47:35 -05:00
David Sidrane 77d0eae40b Add SMT32F4xxx Watchdog driver 2021-02-17 22:47:35 -05:00
David Sidrane 8747b343d9 Non-compliant nodes support
WorkQueueManager:Increase UAVCAN stack size
2021-02-17 22:47:35 -05:00
David Sidrane c7182d5453 cuav_can-gps-v1:CMakeList remove .h files 2021-02-17 22:47:35 -05:00
David Sidrane 878baabce8 cuav GPS use appdes 2021-02-17 22:47:35 -05:00
David Sidrane 760e47bbf9 uavcan bootloader use new AppDes 2021-02-17 22:47:35 -05:00
Daniel Agar bfdc6cd675 Update submodule sitl_gazebo to latest Wed Feb 17 12:42:47 UTC 2021 (#16862)
- sitl_gazebo in PX4/Firmware (51dd141c86): https://github.com/PX4/PX4-SITL_gazebo/commit/4f26815d4127e3af84e01bbc1f8683c4fe30521f
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/bebb9a95f0b61bf9e4c3de345fab70985c1329b3
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/4f26815d4127e3af84e01bbc1f8683c4fe30521f...bebb9a95f0b61bf9e4c3de345fab70985c1329b3

bebb9a9 2021-02-11 Dongoo Lee - Add depth camera model for ROS2 environment (#707)
54e1a19 2021-02-10 TSC21 - gazebo_mavlink_interface: generate subscribers for nested models with sensors
97c167d 2021-02-10 Julian Oes - Implement gimbal controller as MAVLink gimbal v2 device (#703)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-02-17 21:17:13 -05:00
Daniel Agar cff7a01d5e ekf2: estimator_status log reset counts 2021-02-17 21:16:34 -05:00
Daniel Agar 6d42fe28bf Update submodule GPS drivers to latest Wed Feb 17 12:42:56 UTC 2021 2021-02-17 21:14:56 -05:00
Daniel Agar 2a47583be5 boards: nxp/fmurt1062-v1 disable vmount 2021-02-17 13:54:34 -05:00
Julian Oes 1493ebf350 mavlink: reset MAVLink version to auto-detect 2021-02-17 13:54:34 -05:00
Julian Oes b812763a5a mavlink: no gimbal messages on constrained flash 2021-02-17 13:54:34 -05:00
Julian Oes 20bc924668 boards: disable vmount for fmu-v2 2021-02-17 13:54:34 -05:00
Julian Oes a2d419c91a vmount: use copyTo to copy quaternions 2021-02-17 13:54:34 -05:00
Julian Oes f39216b9c3 vmount: use math functions instead of macros 2021-02-17 13:54:34 -05:00
Julian Oes 6672be040a mavlink: limit mavlink channels based on memory 2021-02-17 13:54:34 -05:00
Julian Oes 10add72b00 sitl_gazebo: update submodule
This includes the new gimbal controller which implements the MAVLink
gimbal v2 device protocol.
2021-02-17 13:54:34 -05:00
Julian Oes 7633b119f7 gimbal: merge fixes 2021-02-17 13:54:34 -05:00
Julian Oes fecd96dc28 ROMFS: add remote port for gimbal mavlink instance
Previously, we did not set a remote port which meant that the default
remote port 14550 was used. This meant that the mavlink instance
talking to the gimbal was interfering with the connection to the ground
station (on 14550).
2021-02-17 13:54:34 -05:00
Julian Oes 3a2e4db309 vmount: mute gimbal manager ignoring messages 2021-02-17 13:54:34 -05:00
Julian Oes db09a1386f vmount: fix regression around stabilize flags
We use the stabilize param to set the input. Like this the input flags
can be changed using the configure message later, and then eventually
used in the output.
2021-02-17 13:54:34 -05:00
Julian Oes 086c45d406 vmount: fix POI for gimbal v2
This includes several changes to fix POI when used with MAVLink gimbal
v2 input:
- Correctly set capability flag that POI is supported.
- Keep lat/lon and calculate attitude on each cycle, instead of only
  once on init.
- Always publish gimbal manager information, with or withoug gimbal v2
  device.
2021-02-17 13:54:34 -05:00
Julian Oes b0d7d19bab vmount/mavlink: update gimbal information message
We should be using gimbal_manager_information and not
gimbal_device_information. Plus, this updates the fields and flags
according to the MAVLink changes.
2021-02-17 13:54:34 -05:00
Julian Oes cb3ad39406 vmount: add comment about possible NAN values 2021-02-17 13:54:34 -05:00
Julian Oes cd0509d2ef vmount: fix AUX gimbal output for v2 mavlink input
This should fix the case where AUX gimbals don't work anymore when
gimbal input is mavlink gimbal v2.

The fix is mostly to take care against NAN inputs.
2021-02-17 13:54:34 -05:00
Julian Oes 17dce18b32 mavlink: reduce GIMBAL_MANAGER_STATUS message rate
This was way too fast.
2021-02-17 13:54:34 -05:00
Julian Oes 6561b07caf vmount: support legacy gimbal v1 mission commands
This is a hotfix to restore gimbal functionality for SITL set-ups that
are set to MNT_MODE_IN 4 (gimbal protocol v2) but still need to accept
gimbal v1 commands that might be part of a mission, e.g. uploaded by
MAVSDK.
2021-02-17 13:54:34 -05:00
Julian Kent a3e0e2e84f Fix RTPS builds 2021-02-17 13:54:34 -05:00
Julian Oes 6f56797f3d mavlink: hack to forward messages from gimbal
This is a hack to make sure the messages from the gimbal arrive at other
links (e.g. the ground station). It means that the gimbal does not get
flooded with all other messages that would get forwarded but messages
from the gimbal will still make it through.
2021-02-17 13:54:34 -05:00
Julian Oes b8ad7092dc mavlink: use Mavlink 2 by default 2021-02-17 13:54:34 -05:00
Julian Oes 8da3a490af ROMFS: use gimbal v2 protocol with typhoon_h480 2021-02-17 13:54:34 -05:00
Julian Oes 642adbead8 if750a: use MAVLink gimbal v2 device 2021-02-17 13:54:34 -05:00
Julian Oes e6b1775bb6 vmount/navigator/mavlink: gimbal v2 changes
This is a collection of commits all having to do with changes in the
Mavlink gimbal v2 protocol as described in:
https://mavlink.io/en/services/gimbal_v2.html
2021-02-17 13:54:34 -05:00
Julian Oes 422bac4bfd mavlink: add gimbal mode to talk to gimbal device 2021-02-17 13:54:34 -05:00
Julian Oes 2a0ddf9f44 mavlink: enable 6 instead of 4 instance 2021-02-17 13:54:34 -05:00
Julian Oes a16939f47e ROMFS: start mavlink instance for gimbal 2021-02-17 13:54:34 -05:00
Martina Rivizzigno 48b00ff678 Support for gimbal v2 protocol
- add command to request a message
- add gimbal attitude message

mavlink_receiver handle GIMBAL_MANAGER_SET_ATTITUDE

first implementation of new vmount input MavlinkGimbalV2
- setup class
- decode gimbal_manager_set_attitude in ControlData

add gimbal information message

add gimbal manager information and vehicle command ack

mavlink messages: add stream for GIMBAL_MANAGER_INFORMATION

mavlink_receiver: handle GIMBAL_DEVICE_INFORMATION

remove mavlink cmd handling from vmount input MavlinkGimbalV2

complete gimbal manager:
- send out fake gimbal_device_information for dummy gimbals
- complete ROI handling with nudging

small fixes

fix typos

cleanup
- gimbal device information
- flags lock
- check sanity of string

add support for CMD_DO_GIMBAL_MANAGER_ATTITUDE

stream GimbalDeviceAttitudeStatus for dummy gimbals
- add uROB gimbal_attitude_status
- fill status in vmount output_rc for dummy gimbals not able to send the
status themselves
- stream mavlink GimbalDeviceAttitudeStatus

better handle the request for gimbal infomation request

clean up

bring gimbal information back on vmount init

add new gimbal message to mavlink normal stream

fix publication of gimbal device information

rename gimbal_attitude_status to gimbal_device_attitude_status

stream gimbal_manager_status at 5Hz

mavlink: send information only on request

Sending the information message once on request should now work and we
don't need to keep publishing it.

mavlink: debug output for now

make sure to copy over control data

mavlink: add missing copyright header, pragma once

mavlink: address review comments

mavlink: handle stream not updated

Our answer does not just depend on whether the stream was found but
whether we actually were able to send out an update.

mavlink: remove outdated comment

vmount: add option for yaw stabilization only

The stabilize flag is used for gimbals which do not have an internal IMU
and need the autopilot's attitude in order to do stabilization. These
gimbals are probably quite rare by now but it makes sense to keep the
functionality given it can e.g. be used by simple servo gimbals for
sensors other than highres cameras.

The stabilize flag can also be re-used for gimbals which are capable of
stabilizing pitch and roll but not absolute yaw (e.g. locked to North).
For such gimbals we can now set the param MNT_DO_STAB to 2.

We still support configuring which axes are stabilized by the
MAVLink command DO_MOUNT_CONFIGURE, however, this is generally not
recommended anymore.

vmount: fix incorrect check for bit flag

mavlink_messages: remove debug message

Signed-off-by: Claudio Micheli <claudio@auterion.com>

use device id

remove debug print

gimbal attitude fix mistake

clang tidy fix

split:
- gimbal_attitude -> gimbal_device_set_attitude, gimbal_manager_set_attitude
- gimbal_information -> gimbal_device_informatio, gimbal_manager_information

add gimbal protocol messages to rtps msg ids

support set attitude for gimbal directly speaking mavlink

clean up gimbal urob messages

vmount: address a few small review comments

vmount: split output into v1 and v2 protocol

This way we can continue to support the MAVLink v1 protocol. Also, we
don't send the old vehicle commands when actually using the new v2
protocol.

vmount: config via ctor instead of duplicate param

vmount: use loop to poll all topics

Otherwise we might give up too soon and miss some data, or run too fast
based on commands that have nothing to do with the gimbal.

typhoon_h480: use gimbal v2 protocol, use yaw stab

Let's by default use the v2 protocol with typhoon_h480 and enable yaw
lock mode by stabilizing yaw.
2021-02-17 13:54:34 -05:00
Julian Oes 46e75ebddb mavsdk_tests: remove leftover debug line 2021-02-17 18:13:14 +01:00
Julian Oes 2703a34900 mavsdk_tests: add link back to github action 2021-02-17 18:13:14 +01:00
Daniel Agar ab0d0fd0be uORB move to PX4 platform layer 2021-02-17 11:25:56 -05:00
TSC21 6bbb2faf8a CI: fix colcon build 2021-02-17 15:03:47 +01:00
Ildar Sadykov 51dd141c86 RTPS: adjust timestamp_sample in urtps_agent 2021-02-17 13:19:05 +01:00
Daniel Agar e48a869160 boards: mRo pixracer pro disable USART6 (conflicts with SPI6) 2021-02-16 22:28:13 -05:00
Daniel Agar 2702306849 boards: mRo pixracer pro fix incorrect SPI2 sck 2021-02-16 22:28:13 -05:00
PX4 BuildBot 0edee1e2e9 Update submodule ecl to latest Wed Feb 17 00:39:16 UTC 2021
- ecl in PX4/Firmware (a5a1d4caa0d04cb79ba29e98ba0af04e20c53de9): https://github.com/PX4/PX4-ECL/commit/d4258cc66d24c6871688ae83f42de3b46c96d033
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/310f41517590165a82f807562b3cbb9a76e4c7d8
    - Changes: https://github.com/PX4/PX4-ECL/compare/d4258cc66d24c6871688ae83f42de3b46c96d033...310f41517590165a82f807562b3cbb9a76e4c7d8

    310f415 2021-02-16 Daniel Agar - EKF add const state reset status access
0c5291d 2021-02-16 isidroas - Heading reset to magnetometer from GPS or EV (#969)
2021-02-16 22:00:12 -05:00
Daniel Agar a416731656 drivers/heater: add logging and minor improvements
- new heater_status logging message
 - run continously at low rate until configured sensor is found
 - fix px4io fd bugs (fd open/close/ioctl must be same thread)
2021-02-16 15:16:19 -05:00
Daniel Agar 5abf29d93c commander: auto TAKEOFF to LOITER/MISSION minor fix to avoid failsafe confusion
- base on nav_state rather than main_state
2021-02-16 13:02:14 -05:00
Julian Oes 64d0ce43b6 mavsdk_tests: upload to logs.px4.io in test_runner
By doing the upload directly inside the mavsdk_test_runner.py we have
more context such as the model, case, etc.
2021-02-16 17:07:21 +01:00
Julian Oes 18281eee29 workflows: more meta information to log upload
This adds a little bit more information but still lacks the one to one
mapping between test and uploaded file.
2021-02-16 17:07:21 +01:00
Julian Oes 2315618b85 mavsdk_tests: use autopilot timestamps to sleep
This way we should be able to avoid some of the timeouts happening on
the PX4 side if MAVSDK doesn't send setpoints in time.
2021-02-16 17:07:21 +01:00
Julian Oes 6c26387e85 mavsdk_tests: try to prevent auto-disarm
We should not spend too much time sending RC init messages because if it
takes too long, we might auto-disarm in the meantime.
2021-02-16 17:07:21 +01:00
Julian Oes c1de27acf7 mavsdk_tests: use more conservative speed_factor 2021-02-16 17:07:21 +01:00
Julian Oes 0ebb8c6981 mavsdk_tests: use microseconds to avoid sleep(0) 2021-02-16 17:07:21 +01:00
Julian Oes b6b9ce5f11 mavsdk_tests: robustify test by climbing longer 2021-02-16 17:07:21 +01:00
Julian Oes b79553862e mavsdk_tests: remove timeout for mission upload
Just use what is MAVSDK internal.
2021-02-16 17:07:21 +01:00
Daniel Agar 310f415175 EKF add const state reset status access 2021-02-16 10:33:43 -05:00
isidroas 0c5291d194 Heading reset to magnetometer from GPS or EV (#969) 2021-02-16 14:37:34 +01:00
PX4 BuildBot cf2ffb1086 Update submodule ecl to latest Tue Feb 16 12:39:08 UTC 2021
- ecl in PX4/Firmware (4de4b8012999a53b3401701fe63fafb4056fa58f): https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/d4258cc66d24c6871688ae83f42de3b46c96d033
    - Changes: https://github.com/PX4/PX4-ECL/compare/ffab483504a6c2eb3b61ae10d612cb35c8fbc550...d4258cc66d24c6871688ae83f42de3b46c96d033

    d4258cc 2021-02-15 Mathieu Bresciani - yaw emergency: check angle between vel observation and estimate (#975)
2021-02-16 08:34:02 -05:00
Daniel Agar 44df0fb7a2 Analog Devices ADIS16448 rewrite
- new IMU driver structure with state machine (no sleeps in bus thread)
 - verify all configured registers and trigger reset on failure
 - detect if DIO1 or DIO2 are actually connected for data ready interrupt usage
 - don't use CRC-16 on burst transfers except for verified lots
2021-02-16 10:29:07 +01:00
mcsauder 59b31e3c5b Minor cleanup/error checking, static_casts, print_status() additions, and formatting in the heater driver. 2021-02-16 08:20:14 +01:00
Ramon Roche 15392f8e53 silent success and log failures
Co-authored-by: Nuno Marques <n.marques21@hotmail.com>
2021-02-15 20:28:19 +01:00
CAI Dongcai 2ad1cb24cc fix empty log file "micrortps_bridge.log" 2021-02-15 20:28:19 +01:00
Tim 540e4f9464 Uuv position control extension (#16688)
* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module reseives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module receives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

Currently not solved/missing:
 - Problem with gazebo model(propeller moving chaotically).
 - Mixer correct gazebo vs real life (has to be tested in the future)
 - correct integration in uuv.apps (when choose which module)
 - very basic controller chosen (could be improved a lot in the future)

* Remove error caused by unused variables and a different build error

* added better description of the parameter. Additionally the group is changed.

* added better description of the parameter. Additionally the group is changed.
Fixed bug about parameter

* Added EOF to the files.

* Removed parameter for direct position control for safety reasons.

* small bugfix
2021-02-15 18:40:28 +01:00
Daniel Agar 0618f048f2 commander: use control mode flags and cleanup arm_disarm
- keep `vehicle_control_mode` last state in commander and use appropriate flags in place of various main_state and nav_state checks
 - consolidate scattered arming requirements in `arm_disarm()`
   - there were a number of different requirements from arming via RC vs Mavlink that don't make any sense
        - if geofence enabled require valid home before arming
        - throttle requirements for manual modes
 - remove unnecessary mavlink feedback that differs between arming interfaces (mavlink vs RC)
      - let the preflight/prearm checks respond directly in most cases 

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-02-15 12:03:21 -05:00
Jari Nippula 37f78537c3 protocol-splitter: Additional protocol layer added 2021-02-15 14:00:39 +01:00
Mathieu Bresciani d4258cc66d yaw emergency: check angle between vel observation and estimate (#975)
use thresholds based on state and obs variance

* [AUTO COMMIT] update change indication
2021-02-15 10:31:16 +01:00
Daniel Agar 40a452dcd2 ekf2: selector improve timeout handling and reporting
- relax estimator_status timeout unless attitude hasn't published recently
2021-02-14 21:08:56 -05:00
Lorenz Meier 4c5d2363d4 Rover control: Use roll sticks
It is more intuitive to use the roll stick as lateral control input given that drones defined this category, plus this is how consumer car / rover radio controls have been working already.
2021-02-14 11:17:28 +01:00
Lorenz Meier 4c9b2c65b5 Support v5X build variants
This adds support for the different implementation variants of the v5X standard.
2021-02-14 11:17:28 +01:00
Lorenz Meier 2be482c5ae Sensors: New parameter for baro priority
This allows to give external barometers priority if they are present.
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim fdd9b3ea51 Add support for stabilized flight mode for rovers
This commit adds support for stabilized flight mode for rovers, which enables the rover tracking a fixed heading that is set with a manual input
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim 3c12573e93 Use uORB::Subscription for rover_pos_control
Modernize rover position control
2021-02-14 11:17:28 +01:00
Lorenz Meier 8d78b8a01d Change wording in GPS failure handling
This matches better the different platforms that are using this functionality.
2021-02-14 11:17:28 +01:00
Lorenz Meier cc11fb2818 Multicopter rate controller: Protect for full throttle scaling
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier 66d86aae2e Flight mode manager: Protect for full throttle scaling
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier ec2cf70276 Rover position controller: Modernize implementation
This commit moves the steering output from yaw to the roll channel to better reflect the lateral control input / reaction mapping. It also removes old unused parameters and modernizes the mainloop to remove unnecessary polling.
2021-02-14 11:17:28 +01:00
Lorenz Meier bb0b4db028 ROMFS: Better defaults for rover 2021-02-14 11:17:28 +01:00
Lorenz Meier 3135e4d31a SITL: Set correct L1 period 2021-02-14 11:17:28 +01:00
Lorenz Meier 15219fbfe5 MC att control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the multicopter controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 548e070b91 FW pos control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 6d489a4b4d FW att control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 0d3676e5b0 Safety switch: Default to safety off
90% of all real-world vehicle configs default to this and it is something that users stumble over if they configure a new system. There are valid cases where this would not be desired - for these it can be still switched off.
2021-02-14 11:17:28 +01:00
Lorenz Meier 8a448718b9 RC update: Do not constrain throttle
If the user calibrated to negative throttle, enable them to use it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 9d20dea3b8 Rover: remove unused parameter 2021-02-14 11:17:28 +01:00
Daniel Agar fb2a199621 delete unmaintaned mkblctrl driver 2021-02-14 10:38:15 +01:00
Lorenz Meier c04d23645c IO: Fix reverse mapping
The reverse mapping was off-by-one in the IO driver.
2021-02-13 15:21:10 -05:00
Ryan Johnston 5a58f25d6a boards: MRO Control Zero F7 OEM Support 2021-02-13 11:16:55 -05:00
Daniel Agar ce552a3364 navigator: RTL don't get invalid params 2021-02-13 00:34:56 +01:00
Daniel Agar 1981519aad L1 position controller: use double precision floating point for all lat/lon 2021-02-12 21:59:56 +01:00
Silvan Fuhrer 31a6edff07 Fixed-wing: remove roll offset param (FW_RSP_OFF)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-12 13:57:15 -05:00
Silvan Fuhrer a70cf950f4 fw_pos_control_l1: apply pitch setpoint offset centrally
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-12 13:57:15 -05:00
Daniel Agar f61d8539cb fw_pos_control_l1: add takeoff minimum pitch parameter
- remove mavlink mechanism for setting minimum pitch
2021-02-12 13:57:15 -05:00
PX4 BuildBot 89f19fd657 Update submodule v2.0 to latest Fri Feb 12 12:42:14 UTC 2021
- v2.0 in PX4/Firmware (c76477963097ac72b7bd2f165a845a493ffb724e): https://github.com/mavlink/c_library_v2/commit/43f2f3180a49720804c5f006377889a164fabadb
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/4e25dfa47b28adc177ea7badad837d8b84173712
    - Changes: https://github.com/mavlink/c_library_v2/compare/43f2f3180a49720804c5f006377889a164fabadb...4e25dfa47b28adc177ea7badad837d8b84173712

    4e25dfa4 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e4269aaf680b0797ba594b130d4e92dda889100c
82dcec27 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/08e57d08ad17f1218334b74fa3766a0177783ea6
2021-02-12 16:31:28 +01:00
Daniel Agar 15e76ad993 PWM12 mode for pwm_out and dshot 2021-02-12 09:19:18 -05:00
Daniel Agar 0614789db3 tests: add simple parameter custom default testing 2021-02-12 08:27:47 -05:00
Daniel Agar e6bc6438e8 ROMFS: airframes use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar b67aa77d29 ROMFS: use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar a257120e8d boards: use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar ce64951578 parameter_update.msg: add basic status info 2021-02-12 08:27:47 -05:00
Daniel Agar b8b13bb882 parameters runtime defaults 2021-02-12 08:27:47 -05:00
Daniel Agar da1a38b44e parameters: merge generated files ito single static constexpr header
- store parameter type and if volatile separately (saves kilobytes of flash)
 - use Bitset for tracking active and changed parameters
 - use atomic for autosave_enabled flag
 - compile at ${MAX_CUSTOM_OPT_LEVEL} (-O2 on non flash constrained boards)
2021-02-12 08:27:47 -05:00
PX4 BuildBot 71c7c69c9d Update submodule ecl to latest Fri Feb 12 12:42:24 UTC 2021
- ecl in PX4/Firmware (2292cf3ed4f8c4391131870936881331bc870260): https://github.com/PX4/PX4-ECL/commit/602e65146c975c12482560fafab7e05bf43b0029
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
    - Changes: https://github.com/PX4/PX4-ECL/compare/602e65146c975c12482560fafab7e05bf43b0029...ffab483504a6c2eb3b61ae10d612cb35c8fbc550

    ffab483 2021-02-11 Loic Dubois - Waiting for the filter to be initialized to set global origin
2021-02-12 08:26:10 -05:00
Daniel Agar c3172a91d9 ekf2: try reselecting distance_sensor on timeout 2021-02-12 08:25:27 -05:00
Matthias Grob a002a07ed5 sdcardCheck: minor refactor
I was late for the review.
2021-02-12 00:17:43 -05:00
Daniel Agar 5db906314a uavcan: stm32h7 driver silence debug output 2021-02-11 23:08:17 -05:00
Daniel Agar dcb35e9a8c Update submodule mavlink v2.0 to latest Fri Feb 12 00:38:48 UTC 2021 2021-02-11 23:06:40 -05:00
Daniel Agar 8a0bf15b9e boards: CUAV X7Pro fix BMI088 orientation 2021-02-11 23:05:48 -05:00
Daniel Agar 7f76666fe9 Jenkins: hardware avoid unnecessary checkout 2021-02-11 23:04:26 -05:00
Daniel Agar c63107bb57 uORB: tests increase priorities to minimize failures with stackcheck/debug enabled
- also relax the maximum mean by 50%
2021-02-11 22:58:57 -05:00
Daniel Agar cb7aabf932 fw_pos_control_l1: cleanup body velocity and acceleration usage
- minimize storing unnecessary state (msg copies)
2021-02-12 00:41:39 +01:00
Jaeyoung-Lim 9ebf783214 Use smaller loiter radius for rovers 2021-02-11 23:24:34 +01:00
Julian Oes aca1e85da4 mavsdk_tests: don't forget to check for rootfs dir 2021-02-11 22:25:07 +01:00
Julian Oes 4184c204c4 autopilot_tester: don't poll mission progress
Instead use subscription here as well in order not to miss an update.
2021-02-11 22:25:07 +01:00
Julian Oes 2971ce8664 mavsdk_tests: don't clear logs 2021-02-11 22:25:07 +01:00
bresch 9d3ff12a94 commander: reword nav failure message 2021-02-11 16:20:30 -05:00
bresch 5726e8e0a3 commander: do not fail nav check on GPS position glitch
In case of a diverge of the nav filter, both position and velocity test
ratios are large. If only one of them is too large, the nav filter is
most likely not diverging but is encountering a GNSS position reset and
it is still safe to fly in position mode.
2021-02-11 16:20:30 -05:00
bresch b1b032d6e1 commander: rework nav failure check
Allows to recover from a failed test with a stricter test
2021-02-11 16:20:30 -05:00
Lorenz Meier 80b8e6a48f v5X: Register board variants
This is needed to properly identify new variants.
2021-02-11 22:14:02 +01:00
Daniel Agar 5b44bd67bb ist8310: fix 16 times average configuration 2021-02-11 13:18:13 -05:00
Loic Dubois ffab483504 Waiting for the filter to be initialized to set global origin 2021-02-11 12:55:25 -05:00
Daniel Agar 7e18cffc5f Update submodule mavlink v2.0 to latest Thu Feb 11 12:41:13 UTC 2021 2021-02-11 12:51:22 -05:00
Daniel Agar 3679f7fd51 add double precision alias declarations and remove typedefs 2021-02-11 12:40:54 -05:00
Julian Oes 176d932f23 mavsdk_tests: prevent missing updates
It seems like we are often missing updates from topics like flight mode
or in air state, both topics that are sent out infrequenctly e.g. at 1
Hz. Therefore, instead of polling for that data we should probably
subscribe to the updates and that way get notified of each an every
update.

For instance this should prevent the case where we miss the mode change
from mission to descend and back to mission once landed and disarmed.
2021-02-10 16:37:02 -05:00
Jaeyoung-Lim 3d9cde885d Add comment for reserve autostartIDs
This commit adds a comment where the autostart IDs 22000-22999 should be reserved for custom models
2021-02-10 16:34:01 -05:00
Matthias Grob 82d6cc3dba FlightTasks: use .xy() where possible
to take the first two elements of a Vector3f.
2021-02-10 15:56:58 +01:00
Matthias Grob 7686533abb FlightTaskManualAcceleration: adapt position reset to new structure
The mapping itself was seprated out into a calls because it was reused
for the experimental nudging implementation.
The position resets which were handled correctly before now
change the wrong setpoints and I adjusted.

The nudging has to be before any filtering, then these member setpoints
which are essentially copies are not needed anymore.
2021-02-10 15:56:58 +01:00
Julian Oes c524e61b97 airspeed_selector: fix timeout check
I think this check was the wrong way round which meant that we would end
up with an unsigned int overflow and trigger a reset.
2021-02-10 12:58:23 +01:00
Igor Mišić 236975c56c astyle: excluded libcanard for uavcannode_gps_demo 2021-02-10 03:05:02 -08:00
Daniel Agar a76e429b1a calibration parameters volatile (offsets and scale factors)
- anything set vehicle side should be volatile and excluded from the
param hash
2021-02-10 09:01:47 +01:00
PX4 BuildBot bf29ec2da2 Update submodule ecl to latest Wed Feb 10 00:39:35 UTC 2021
- ecl in PX4/Firmware (afb692ecffccc3ba7ade39c5906c8c5660066121): https://github.com/PX4/PX4-ECL/commit/cd38621dd6a4ef0f42eb29a2b4145f58023e7910
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/602e65146c975c12482560fafab7e05bf43b0029
    - Changes: https://github.com/PX4/PX4-ECL/compare/cd38621dd6a4ef0f42eb29a2b4145f58023e7910...602e65146c975c12482560fafab7e05bf43b0029

    602e651 2021-02-05 Paul Riseborough - EKF: Remove unnecessary initialisation
6f664ab 2020-07-20 Paul Riseborough - EKF: Non functional changes arising from review
b87778e 2020-06-30 Paul Riseborough - EKF: Make clip detection logic easier to follow
9aa8d93 2020-06-30 Paul Riseborough - EKF: Use isRecent function
e948b35 2020-06-29 Paul Riseborough - EKF: Don't reject vertical aiding data if inertial solution is bad
c566318 2020-06-23 Paul Riseborough - EKF: misc improvements to handling of accel clipping
9c89fa3 2020-06-02 Paul Riseborough - EKF: Use IMU clipping to adjudicate bad accel data check
2021-02-10 00:16:42 -05:00
David Sidrane 3570e1b4da nxp_fmuk66-e: Sync defconfig with latest V3 changes 2021-02-09 23:53:38 -05:00
David Sidrane df3e94bcff nxp_fmuk66-e:Disabled icm42688p until load issue is resolved 2021-02-09 23:53:38 -05:00
David Sidrane 4610692813 nxp_fmuk66-e:Set CONFIG_CDCACM_PRODUCTSTR 2021-02-09 23:53:38 -05:00
David Sidrane b4c17cc8e7 nxp_fmuk66-e:Set Rotation of bmi88 2021-02-09 23:53:38 -05:00
David Sidrane 8c8f48530e nxp_fmuk66-e:Fix missing line rc.board_defaults 2021-02-09 23:53:38 -05:00
David Sidrane 264efde0c9 nxp_fmuk66-v3:SD enable Multi block 2021-02-09 23:50:58 -05:00
David Sidrane ef444da689 BUGFIX Hardfault Commander Calibration 2021-02-09 15:20:50 +01:00
Julian Oes 2772022785 mavsdk_tests: disable mag stuck test
The estimator sometimes diverges in vz after landing which makes the
test fail. This needs to be dealt with first before we can enable the
test again.
2021-02-09 11:32:41 +01:00
Julian Oes e592bed7d3 mavsdk_tests: use timestamp from attitude field
The flight_information field was not updated often enough which lead
to timeouts.
2021-02-09 11:32:41 +01:00
Julian Oes f08804da07 workflows: update to MAVSDK 0.36.0
This is required for the timestamp that comes with the attitude
information.
2021-02-09 11:32:41 +01:00
Julian Oes 397fa84cd0 mavsdk_tests: add time in front of debug lines 2021-02-09 11:32:41 +01:00
Matthias Grob dec353219d FlightTaskManualAcceleration: smooth position unlock
The velocity setpoint of the position controller
does a jump when unlocking position with a non-zero position error.

This is solved by using the velocity setpoint feedback to smoothly
take over.
2021-02-09 11:31:35 +01:00
Matthias Grob c9eac29d25 StickAccelerationXY: access member setpoints directly
This is a leftover from before converting the logic into
a completely separate class.
2021-02-09 11:31:35 +01:00
Matthias Grob 79739c5676 StrickAccelerationXY: name setpoints unambiguous 2021-02-09 11:31:35 +01:00
Benjamin Perseghetti ab03cd8bb9 Unified tool for launching advanced configurations of HITL or SITL in Gazebo with gz_sim.sh, works with PX4-SITL_gazebo PR 651. 2021-02-09 10:29:23 +01:00
Paul Riseborough 602e65146c EKF: Remove unnecessary initialisation 2021-02-09 19:55:32 +11:00
Paul Riseborough 6f664abc4a EKF: Non functional changes arising from review 2021-02-09 19:55:32 +11:00
Paul Riseborough b87778e61d EKF: Make clip detection logic easier to follow 2021-02-09 19:55:32 +11:00
Paul Riseborough 9aa8d93efc EKF: Use isRecent function 2021-02-09 19:55:32 +11:00
Paul Riseborough e948b3505f EKF: Don't reject vertical aiding data if inertial solution is bad
Also reduce clipping count threshold
2021-02-09 19:55:32 +11:00
Paul Riseborough c566318db5 EKF: misc improvements to handling of accel clipping 2021-02-09 19:55:32 +11:00
Paul Riseborough 9c89fa3b29 EKF: Use IMU clipping to adjudicate bad accel data check 2021-02-09 19:55:32 +11:00
Beat Küng b0abc0c111 airframes: exclude from 1100, 4018 and 6003 px4_fmu-v2 2021-02-09 09:44:50 +01:00
Beat Küng 5a1c60b5a1 component_information: switch from gzip to xz
Improves compression, e.g. current params file: 62KB to 51KB

There's also a PRESET_EXTREME option, which reduces by another 2KB.
We can revisit that once needed, as it increases mem usage as well.
2021-02-09 09:44:50 +01:00
Beat Küng cedfae9e46 jenkins: upload params.json.gz to S3 2021-02-09 09:44:50 +01:00
Beat Küng f8989fe5aa mavlink: speed up ftp transfers on POSIX
Around 900 KB/s - not fast, but should be fast enough for the use-cases.
2021-02-09 09:44:50 +01:00
Beat Küng d0e35efe3a parameters: remove uid from json output
Got removed from the spec
2021-02-09 09:44:50 +01:00
Beat Küng 4ca883f843 parameters: fix JSON output types
All types were previously output as strings
2021-02-09 09:44:50 +01:00
Beat Küng 5a244888cd Tools: add validate_json.py
Can be used to validate the schemas under
https://github.com/mavlink/mavlink/tree/master/component_information
2021-02-09 09:44:50 +01:00
Beat Küng 1f8e7de824 mavlink: implement COMPONENT_INFORMATION
- implement COMP_METADATA_TYPE_VERSION & add component_version.json.gz to
  ROMFS for all targets.
- implement COMP_METADATA_TYPE_PARAMETER (only enabled for SITL currently)
2021-02-09 09:44:50 +01:00
Daniel Agar 9f00fd2796 move PWM params to lib 2021-02-09 08:57:00 +01:00
PX4 BuildBot 8a047c8965 Update submodule ecl to latest Tue Feb 9 04:48:03 UTC 2021
- ecl in PX4/Firmware (24abafdfc91875020fd9ecc792f6989cf2058a77): https://github.com/PX4/PX4-ECL/commit/46251db4a11e1f80ce1cce226c7664f875260832
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/cd38621dd6a4ef0f42eb29a2b4145f58023e7910
    - Changes: https://github.com/PX4/PX4-ECL/compare/46251db4a11e1f80ce1cce226c7664f875260832...cd38621dd6a4ef0f42eb29a2b4145f58023e7910

    cd38621 2021-02-08 bresch - flow terrain: use dedicated variable for last fusion time
9521e81 2021-02-08 PX4BuildBot - [AUTO COMMIT] update change indication
ae0c054 2021-02-08 PX4 BuildBot - Update geo_lookup WMM  to latest Mon Feb  8 11:48:14 UTC 2021
5aaa6c6 2021-01-28 bresch - lpos accuracy: bump variance if deadreckon time exceeded
2021-02-09 00:50:36 -05:00
bresch cd38621dd6 flow terrain: use dedicated variable for last fusion time
This avoids confusion with the flow "for velocity" fusion in the main
EKF
2021-02-08 23:26:33 -05:00
Daniel Agar 8f0918a16b boards: remove unused linker __param section 2021-02-08 23:22:48 -05:00
PX4BuildBot 9521e81b09 [AUTO COMMIT] update change indication 2021-02-08 09:43:53 -05:00
PX4 BuildBot ae0c054d75 Update geo_lookup WMM to latest Mon Feb 8 11:48:14 UTC 2021 2021-02-08 09:43:53 -05:00
bresch 5aaa6c6dde lpos accuracy: bump variance if deadreckon time exceeded 2021-02-08 09:01:51 -05:00
Beat Küng 76a447ed0f fix StickAccelerationXY: avoid setpoint oscillations around 0
With a higher responsiveness, after centering the stick, the velocity and
acceleration setpoints could oscillate around 0 and never reach 0, due to
discretization.
This also prevented position lock engagement.
2021-02-08 13:51:36 +01:00
Mathieu Bresciani 77884bdd34 SITL boat: tune L1 and speed controllers (#16784) 2021-02-08 07:18:49 +00:00
PX4 BuildBot 8d0f96f22c Update submodule libcanard to latest Mon Feb 8 00:39:35 UTC 2021
- libcanard in PX4/Firmware (0c6cf6cb99): https://github.com/UAVCAN/libcanard/commit/cde670347425023480a1417fcd603b27c8eb06c1
    - libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/55938c51cf7da3096679933302693c9dae7a2b33
    - Changes: https://github.com/UAVCAN/libcanard/compare/cde670347425023480a1417fcd603b27c8eb06c1...55938c51cf7da3096679933302693c9dae7a2b33

    55938c5 2020-12-29 Pavel Kirienko - Merge pull request #160 from UAVCAN/readme-fix
1c91c49 2020-12-29 Pavel Kirienko - Improve the example in README, fix #159
2021-02-07 21:42:30 -05:00
PX4 BuildBot 05164d0a6a Update submodule libcanard to latest Mon Feb 8 00:39:43 UTC 2021
- libcanard in PX4/Firmware (fef2f1c150ee15ba430c2da74fb432483fd888d8): https://github/commit/cde670347425023480a1417fcd603b27c8eb06c1
    - libcanard current upstream: https://github/commit/55938c51cf7da3096679933302693c9dae7a2b33
    - Changes: https://github/compare/cde670347425023480a1417fcd603b27c8eb06c1...55938c51cf7da3096679933302693c9dae7a2b33

    55938c5 2020-12-29 Pavel Kirienko - Merge pull request #160 from UAVCAN/readme-fix
1c91c49 2020-12-29 Pavel Kirienko - Improve the example in README, fix #159
2021-02-07 20:27:59 -05:00
Lorenz Meier 0c6cf6cb99 Revert "boards: px4/fmu-v5 disable px4io in rc.board_defaults"
This reverts commit d7b89ecc86.
2021-02-08 00:21:32 +01:00
Lorenz Meier d03d46b8a3 Initialize MAVLink on v5X variants
This will ensure that the different baseboard configurations are properly accounted for depending on HW variants.
2021-02-07 17:23:13 +01:00
Peter van der Perk 8242968b2b UAVCAN v1 GPS demo with MAVCAN autoconfigure 2021-02-07 17:18:45 +01:00
Peter van der Perk 5f8ad65c40 FMUK66 NuttX 10 SocketCAN initialization 2021-02-07 17:18:45 +01:00
Peter van der Perk 8b2d20df34 "MAVCAN" PNP & Register example implementation 2021-02-07 17:18:45 +01:00
Peter van der Perk e5d29d4079 UAVCANv1 demo UAVCAN146 <-> BMS-722 is working
Fixed UAVCAN146 linker script that caused CXX initalization to wrong
Enabled uORB listener command
Updated UAVCANv1 msg definition

Known isssue: PX4 params are not working on the UAVCAN146
2021-02-07 17:18:45 +01:00
Daniel Agar 58ca575871 UAVCAN v1 bridge
- NuttX stm32f4/stm32f7 uses character device driver
 - NuttX kinetis and s32k uses socketcan
2021-02-07 17:18:45 +01:00
Daniel Agar 1848ac3bc7 mavlink: receiver accept ODOMETRY MAV_ESTIMATOR_TYPE_UNKNOWN for legacy support 2021-02-07 09:51:05 -05:00
Daniel Agar f461481548 Revert "mavlink: ODOMETRY handler accept all other estimator_types for now"
This reverts commit b216714d56.
2021-02-07 09:51:05 -05:00
Daniel Agar b216714d56 mavlink: ODOMETRY handler accept all other estimator_types for now 2021-02-06 22:32:20 +01:00
Daniel Agar d67a84d941 boards: holybro can-gps-v1 fix bosch bmm150 path 2021-02-06 15:56:11 -05:00
Daniel Agar 41b0f83c0c drivers/magnetometer: Bosch BMM150 rewrite
- same pattern as other new drivers (state machine, checked register mechanism, no sleeps, etc)
 - self test has been rolled into regular startup sequence
 - still I2C only, but will be expanded in the future
 - configure to high accuracy preset
2021-02-06 12:50:23 -05:00
bazooka joe 8834741be8 gps blending make test to work without templated gps_blending class 2021-02-06 12:59:04 +01:00
bazooka joe 8087fac3fc gps_blending add protection against accessing non-exist array item 2021-02-06 12:59:04 +01:00
bazooka joe a0d500b30a changing gps_blending to be non-template class
because there is no multiple instance types on singular machine
2021-02-06 12:59:04 +01:00
PX4 BuildBot 80d9f1c5fb Update submodule sitl_gazebo to latest Sat Feb 6 00:38:25 UTC 2021
- sitl_gazebo in PX4/Firmware (9e69b16c3c): https://github.com/PX4/PX4-SITL_gazebo/commit/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4f26815d4127e3af84e01bbc1f8683c4fe30521f
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17...4f26815d4127e3af84e01bbc1f8683c4fe30521f

    4f26815 2021-02-05 Julian Oes - workflows: fix macOS build
2021-02-05 21:28:41 -05:00
PX4 BuildBot b9034dbb5d Update submodule ecl to latest Sat Feb 6 00:38:38 UTC 2021
- ecl in PX4/Firmware (1e079d0142b813c3c65c6796576e79d5662a217b): https://github.com/PX4/PX4-ECL/commit/b919f3ddf41ab422d09af91eaea2b2f9729fab13
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/46251db4a11e1f80ce1cce226c7664f875260832
    - Changes: https://github.com/PX4/PX4-ECL/compare/b919f3ddf41ab422d09af91eaea2b2f9729fab13...46251db4a11e1f80ce1cce226c7664f875260832

    46251db 2021-02-05 Daniel Agar - geo: explicitly link libm
2021-02-05 20:38:49 -05:00
Daniel Agar 61e935105f Update submodule mavlink v2.0 to latest Sat Feb 6 00:38:29 UTC 2021 2021-02-05 20:20:50 -05:00
PX4 BuildBot df66c8580c Update submodule CMSIS_5 to latest Sat Feb 6 00:38:34 UTC 2021
- CMSIS_5 in PX4/Firmware (6f03b880f05d0a1d4015f5040054b61012725794): https://github.com/ARM-software/CMSIS_5/commit/4ed5730787a0f98e8858c9998e406c608ab10b28
    - CMSIS_5 current upstream: https://github.com/ARM-software/CMSIS_5/commit/20285262657d1b482d132d20d755c8c330d55c1f
    - Changes: https://github.com/ARM-software/CMSIS_5/compare/4ed5730787a0f98e8858c9998e406c608ab10b28...20285262657d1b482d132d20d755c8c330d55c1f

    202852626 2021-02-01 Christopher Seidl - Updated CMSIS-Pack documentation
2021-02-05 20:18:25 -05:00
David Sidrane 8167023dfb holybro_can-gps-v1: Reorder Sensor Startup for reliabiltiy 2021-02-05 19:55:16 -05:00
David Sidrane 9e834d26f8 holybro_can-gps-v1:Add Flash Based Parameters 2021-02-05 19:55:16 -05:00
David Sidrane 7b3ce832d6 holybro_can-gps-v1: Add UAVCAN CAN2 Support 2021-02-05 19:55:16 -05:00
David Sidrane fe732930d2 holybro_can-gps-v1:Fix ver HW NAME 2021-02-05 19:55:16 -05:00
David Sidrane caba734d26 PR review AIs 2021-02-05 19:55:16 -05:00
David Sidrane 6f78a5e201 holybro_can-gps-v1:Add to CI 2021-02-05 19:55:16 -05:00
David Sidrane 9e1b13683f Add hardware ver/rev to st32f4 2021-02-05 19:55:16 -05:00
David Sidrane 41c9f085ef holybro_can-gps-v1:Temparary LED support 2021-02-05 19:55:16 -05:00
David Sidrane 0554755ed2 holybro_can-gps-v1:Added Support for holybro can gps 2021-02-05 19:55:16 -05:00
Daniel Agar 46251db4a1 geo: explicitly link libm 2021-02-05 19:00:53 -05:00
Lorenz Meier 9e69b16c3c ROMFS: Add new VTOL standard airframe 13015 using all MAIN outputs
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-02-05 19:00:26 -05:00
David Sidrane c1435c744c px_uploader:Fixes breakage for real serial ports caused by 00e6d11
The code was pitching an exception. It was invaild. That then left
   the baud rate AFU
2021-02-05 20:15:20 +01:00
Claudio Micheli d4bea8323f PreFlightCheck: Detect missing FMU SD card
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-02-05 20:14:48 +01:00
bresch 72e34e02ef VTOL defaults: increase tracking tolerance for VTOL planes 2021-02-05 20:13:30 +01:00
bresch 44872807b3 MC auto: add parameter to set the trajectory slow-down
In some cases e.g.: (VTOL in wind) a good tracking cannot be
achieved. This condition then needs to be relaxed, otherwise the
drone cannot land properly.
2021-02-05 20:13:30 +01:00
Daniel Agar 9d90529e7f Jenkins hardware print vehicle_status and vehicle_status_flags 2021-02-05 20:11:13 +01:00
Daniel Agar 6633ff5089 commander: vehicle_status_flags add attitude and angular velocity 2021-02-05 20:11:13 +01:00
David Sidrane 168027ac3d NuttX apps with REJECTED commit 2021-02-05 10:07:03 -08:00
David Sidrane 3b25790b06 px4_fmu-v2:Make room 2021-02-05 08:27:28 -08:00
bresch a399bb9894 ekf2: fix mismatch between ecl and firmware flag definition 2021-02-05 14:30:09 +01:00
Matthias Grob f13c3a7d44 state_machine_helper: stop mission on RC loss
This allows to still fly missions completely without RC
but reacts if RC is lost during the mission because
the safety pilot expects to be able to take over.
2021-02-04 10:54:52 +01:00
Matthias Grob f87dbe57c2 state_machine_helper: don't finish mission if all links are lost except for when no reaction is configured 2021-02-04 10:54:52 +01:00
Matthias Grob cd51cf2996 state_machine_helper: handle zero failsafe_timestamp 2021-02-04 10:54:52 +01:00
Matthias Grob b44b770972 commander: RC loss delay renaming/reordering 2021-02-04 10:54:52 +01:00
Matthias Grob e2e5fc85f8 state_machine_helper: fix infinite delay with intermittent failsafes 2021-02-04 10:54:52 +01:00
Matthias Grob 1736be41cf state_machine_helper: only apply delay on manual piloted rc loss cases 2021-02-04 10:54:52 +01:00
Matthias Grob e65cc6bd6f state_machine_helper: do failsafe delay for all modes 2021-02-04 10:54:52 +01:00
Matthias Grob 26d74bf57d Commander: enable failsafe delay for position and mission mode
Instead of directly doing the link loss reaction which by default is RTL a delay
can be configured such that the drone first switches to hold and waits
for the link to be regained.
2021-02-04 10:54:52 +01:00
Antonio Sanjurjo Cortés fa45eacea3 Fix and unify the maximum allowed PDOP references 2021-02-04 10:20:22 +01:00
Julian Oes be3cdc0439 sensors: correct comment logic
By removing the no the comment matches the implementation (which I think
makes sense).
2021-02-04 10:14:44 +01:00
Matthias Grob 3ab4213314 IO safety button: cleanup disabling safety 2021-02-04 06:25:43 +01:00
Matthias Grob 3fbd008c4e FMU safety button: cleanup disabling safety 2021-02-04 06:25:43 +01:00
Lorenz Meier 867b006861 IO safety button: Latch to disabled state
As hardware buttons are not particularly reliable and the user flow is to disable safety then arm, then disarm via software / remote, it makes sense to make the button safety state itself sticky and require it to be reset via software.
2021-02-04 06:25:43 +01:00
Lorenz Meier 7157584fe1 FMU safety button: Latch to disabled state
As hardware buttons are not particularly reliable and the user flow is to disable safety then arm, then disarm via software / remote, it makes sense to make the button safety state itself sticky and require it to be reset via software.
2021-02-04 06:25:43 +01:00
Daniel Agar 3f1ca4dfc9 Update submodule mavlink v2.0 to latest Wed Feb 3 18:41:38 UTC 2021 2021-02-03 18:41:02 -05:00
JacobCrabill e6f1812bae ROMFS: Fix typo in S500 CtrlAlloc airframe 2021-02-03 15:29:10 -05:00
xdwgood 89878fcc88 clean up 2021-02-03 17:54:27 +01:00
Paul Riseborough 4b4a9a925b logger: Log takeoff_status 2021-02-03 17:44:12 +01:00
Paul Riseborough 9d1de3118f land_detector: Rework ground effect calculation for MC 2021-02-03 17:44:12 +01:00
Gerald 88c68914a9 update uorb_rtps_message_ids.yaml for id: 30
For some usecases like starting video recording on a companion computer or triggering a ROS based (offboard control) mission control execution the status of RC channel is needed in ROS(2). This allows the user to start/stop such functionalities from the RC transmitter.

Therefore InputRc to be changed accordingly.
add 'Set send: true' for id: 30
2021-02-03 08:52:44 -05:00
David Sidrane 9a08c0f48e NuttX: PX4 stm32f412 contrib 2021-02-03 05:22:04 -08:00
JaeyoungLim b2f0c149ec Set cruise trottle to non-zero (#16724) 2021-02-03 04:39:30 +00:00
Ian 4dc44688a7 Update current year in LICENSE
2020 now is in the past.
2021-02-02 23:05:48 +01:00
Andrew C. Smith 1a428aa5c2 boards: Add support for PX4 FMUv6U 2021-02-02 10:50:26 -05:00
TSC21 10d94e5981 update uorb_rtps_message_ids.yaml 2021-02-02 13:55:42 +01:00
TSC21 701a585a81 RTPS: add check for IDs on multi-topics/alias messages as well 2021-02-02 13:55:42 +01:00
CarlOlsson 835e3258ed uavcannode: use correct vertical position uncertainty 2021-02-02 11:56:07 +01:00
dino bb37fd2f29 Enabled LSE clock for RTC, set clk drive strength to 3. Else the quarzt on the fmuv5x does not socillate reliabel. 2021-02-02 09:58:47 +01:00
Daniel Agar a2442ffb48 board: enable UAVCAN sensors by default on F7/H7 2021-02-02 09:01:12 +01:00
Benoit Landry 8b0ec5a78e mavlink: ATTITUDE_TARGET thrust use thrust_body magnitude
- vehicle_attitude_setpoint thrust_body is a vector, but mavlink ATTITUDE_TARGET thrust is only a magnitude
 - this allows the stream to be correct for both MC & FW use cases
2021-02-01 21:31:36 -05:00
Lorenz Meier 13e875645c Revert "systemcmds/param: use PX4_INFO_RAW directly (delete qurt special case)"
This reverts commit 470f24037e.
2021-02-02 00:53:45 +01:00
Lorenz Meier cd148cda88 Revert "platforms: px4 log build string then print (fputs)"
This reverts commit 9e112dd48b.
2021-02-02 00:53:32 +01:00
Lorenz Meier 0a58482e51 Align message names to avoid CRC mismatch with deployed units
This will ensure that the CRCs will match with deployed units to avoid unnecessary incompatibilities while we are figuring out how to best standardize these between stakeholders.
2021-02-02 00:28:41 +01:00
Peter van der Perk 0c74028976 FMUK66 Decrease telnetd ram usage 2021-02-01 11:50:43 -05:00
Daniel Agar a9a8a95c44 drivers/distance_sensor: add drivers_rangefinder linking dependency
- fixes https://github.com/PX4/PX4-Autopilot/issues/16715
2021-02-01 09:25:23 -05:00
Silvan Fuhrer b9b9c55325 Navigator: change default of GF_ACTION to 2 (Hold)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-01 11:07:53 +01:00
Claudio Micheli c2154df2f6 ekf2checks: split GPS checks from AHRS checks - minor cleanup
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-02-01 09:02:19 +01:00
Daniel Agar 78dff6adcb boards: add CONSTRAINED_MEMORY build option
- currently the main change is that it reduces the max number of ORB multi instances to 4, but usage will be expanded as needed
 - limits number of EKF2 multi instances to 2.
 - enabled on all cortex m4 boards
2021-02-01 08:56:22 +01:00
Chungkyeong Lee 834ac38841 fix condition in ekf2Check 2021-02-01 08:55:41 +01:00
Daniel Agar d1a3590aac PWM: transition PWM_{MIN,MAX,DISARMED,RATE} -> PWM_MAIN 2021-02-01 08:53:33 +01:00
Daniel Agar 8b8adbf48e Jenkins hardware reduce IMU_GYRO_RATEMAX on some boards 2021-01-31 21:26:26 -05:00
Daniel Agar 3b71e8e62d boards: cubepilot fix BAT2_V_DIV param default typo 2021-01-31 21:16:42 -05:00
Daniel Agar b1e85b0b04 Jenkins hardware add CUAV X7 Pro 2021-01-31 19:48:00 -05:00
Daniel Agar 61d7be82cc Jenkins hardware add CubePilot CubeOrange 2021-01-31 18:51:32 -05:00
Lorenz Meier 27138578f0 Disable unmaintained MAVROS tests
The overhead of the MAVROS setup means that most developers are not using it, leading to tests that are not suitable for day-to-day workflows. We are replacing these with MAVSDK tests that can be run locally pre-commit.
2021-01-31 17:03:04 -05:00
Jaeyoung-Lim f833861fbb Cleanup unsused rover mixers
This PR cleansup unused rover mixers from the ROMFS
2021-01-31 19:17:38 +01:00
Lorenz Meier f19f93eedf MacOS: Disable OS tests
This is suboptimal but survivable since MacOS is not a deployment target. We still need to identify the root cause.
2021-01-31 10:45:43 -05:00
PX4 BuildBot afd50acce2 Update submodule sitl_gazebo to latest Sun Jan 31 12:39:22 UTC 2021
- sitl_gazebo in PX4/Firmware (bb7dd0cf00): https://github.com/PX4/PX4-SITL_gazebo/commit/46aef29718495d2f668c1648f4c0b0f43b9d9671
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/46aef29718495d2f668c1648f4c0b0f43b9d9671...e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17

    e580bbc 2021-01-30 JaeyoungLim - Use include model syntax for bluerov (#702)
663a553 2021-01-30 Tim - Added GPS and changed the Thruster config of the bluerov2 SDF file (#700)
4674826 2021-01-29 Thies Lennart Alff - increased ODE solver iterations to avoid deflection of the thrusters (#701)
2021-01-31 10:44:04 -05:00
Daniel Agar 5097d531bf mavlink: send LINK_NODE_STATUS 2021-01-31 15:02:30 +01:00
Daniel Agar 4cbbd0ebf3 mavlink: receiver estimate total lost messages 2021-01-31 15:02:30 +01:00
David Sidrane f9d4bd53ef Apply suggestions from code review
Co-authored-by: Beat Küng <beat-kueng@gmx.net>

Apply suggestions from code review use stdout

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-01-31 14:42:09 +01:00
David Sidrane 39c6229c37 Netman:Data in network order 2021-01-31 14:42:09 +01:00
David Sidrane d22eb76187 Add a simple network manager
This system command will display, set and save the network
   settings.

   netman show   - Displays the current settings.

   netman update - Will check for a net.cfg file on the SD card.
                   If present, it will update the paramaters,
                   delete the file, and reboot. Using the new settings.

   netman save - Saves the current settings to net.cfg on the SD card.
                 This file shoulf be renamed to preserver it across
                 reboots or editited to chech networkin paramates.

   File format is name<space>value:

   echo DEVICE=eth0           > /fs/microsd/net.cfg
   echo BOOTPROTO=fallback    >> /fs/microsd/net.cfg
   echo IPADDR=192.168.0.4    >> /fs/microsd/net.cfg
   echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
   echo ROUTER=192.168.0.254  >>/fs/microsd/net.cfg
   echo DNS=192.168.0.254     >>/fs/microsd/net.cfg

   Valid values for `proto` are `dhcp`, `static`, `falback`
   Both will try dhcp for CONFIG_NETINIT_FALLBACK times
   and fall back to the static address.

   NETMASK - is the network mask.
   IPADDR  - this nodes ip address for static or fall back.
   ROUTER  - The default route.
   DNS     - The address of the dns server.
2021-01-31 14:42:09 +01:00
David Sidrane ed996e2dd1 fmu-v5x:Add net monitoring an DHCP
px4_fmu-v5x:Use Bin Net settigns
2021-01-31 14:42:09 +01:00
David Sidrane e9dabfbe28 Nuttx apps with rejected Network Monitor add a polled option 2021-01-31 14:42:09 +01:00
Daniel Agar bb7dd0cf00 modules/sih: move to px4 work queue (wq:rate_ctrl)
- respect IMU_GYRO_RATEMAX for configured interval
 - optionally compile at higher optimization level per board (${MAX_CUSTOM_OPT_LEVEL})
2021-01-31 12:56:45 +01:00
Alexey Rogachevskiy c01d459011 Add support for STM32F42x/STM32F43x rev. 5/B (#15407)
* stm32_common: Add support for STM32F42x/STM32F43x rev. 5/B

According to ST, both 5 and B share the same REV_ID.

Signed-off-by: Alexey Rogachevskiy <sfalexrog@gmail.com>

* stm32_common: Change comment to match code, change enum names to match revisions
2021-01-31 12:34:16 +01:00
Daniel Agar 470f24037e systemcmds/param: use PX4_INFO_RAW directly (delete qurt special case) 2021-01-31 11:43:47 +01:00
Daniel Agar 9e112dd48b platforms: px4 log build string then print (fputs) 2021-01-31 11:43:47 +01:00
Daniel Agar 0c58d12216 mavlink: receiver estimate total lost messages 2021-01-31 11:41:56 +01:00
Matthias Grob fbd64fbdd8 FlightModeManager: publish takeoff status 2021-01-31 11:37:00 +01:00
Daniel Agar b30bd7f589 drivers: no longer any need to advertise immediately (baro, mag, rangefinder) 2021-01-31 11:35:46 +01:00
Igor Mišić f80a422f9c mavlink receiver: battery status - publish temperature 2021-01-31 11:20:42 +01:00
Igor Mišić 5f0a014595 mavlink receiver: battery status - publish cells voltage 2021-01-31 11:20:42 +01:00
Daniel Agar 6a4835bbcc sensors: vehicle_magnetometer combine extra _vehicle_magnetometer_pub 2021-01-30 21:50:01 -05:00
Daniel Agar ce76c84ce2 sensors: vehicle_magnetometer respect publication rate limit SENS_MAG_RATE 2021-01-30 21:50:01 -05:00
Daniel Agar 318c7e83b3 support up to PWM 14
- generate PWM_MAIN 1-14
 - generate PWM_AUX 1-8
 - generate PWM_EXTRA 1-8
 - px4io and pwm_out directly read configuration parameters
    - only available and active physical outputs are actually shown for configuration
 - overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
bresch cdd6df4e27 VehicleGPSPosition: remove unused "using" 2021-01-30 11:32:47 +01:00
bresch 6abbbdeb4b gps blend: add parameter to select the primary instance 2021-01-30 11:32:47 +01:00
bresch 889602ed5e gps blend: always pass through GpsBlending class for selection 2021-01-30 11:32:47 +01:00
bresch b4051b62a3 gps blend: add failover logic and unit test
also remove dependency to hrt library
2021-01-30 11:32:47 +01:00
bresch 9bff7a1c41 gps blend: add selector unit tests 2021-01-30 11:32:47 +01:00
bresch 1dbf4957df vehicle gps pos: remove useless gps_updated array 2021-01-30 11:32:47 +01:00
bresch b60bfb920c gps blend: add initial working test 2021-01-30 11:32:47 +01:00
bresch 1cde5074ea gps blend: move definition to header file 2021-01-30 11:32:47 +01:00
bresch 1333664a14 gps blend: move blending logic to class 2021-01-30 11:32:47 +01:00
Roman Dvořák 075165699d Update CMakeLists.txt 2021-01-30 11:29:42 +01:00
Jakub Kákona 21e70381fe Update default parameters. 2021-01-30 11:29:42 +01:00
Roman Dvorak 42439829b0 use LPE estimator 2021-01-30 11:29:42 +01:00
Roman Dvorak 6c839f9b02 add balloon defaults 2021-01-30 11:29:42 +01:00
Roman Dvorak 1fea1a2822 Initial TF-B1 commit 2021-01-30 11:29:42 +01:00
Claudio Micheli c2a68debd9 add jamming_state to gps sensor module
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-01-30 11:26:42 +01:00
Claudio Micheli cadd2cf883 update gps submodule
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-01-30 11:26:42 +01:00
Claudio Micheli 5eb4ab6d73 vehicle_gps_position: add jamming_state
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-01-30 11:26:42 +01:00
Daniel Agar e7f2195a9b ekf2: error if unable to copy every sensor publication 2021-01-29 22:12:29 -05:00
CUAVcaijie e30b8495b8 Enable x7pro and nora spi4 DMA 2021-01-29 21:30:12 -05:00
Dan George c1da999748 cmake: Limit color output to terminals
VIm's Quickfix is useless with escape sequences embedded in
compiler output.
2021-01-29 17:52:32 -05:00
David Sidrane 1375221c56 srgbled_dma:Fix wrong timer init 2021-01-29 21:36:12 +01:00
Silvan Fuhrer 85d8e74609 Navigator: yaw error from param and pos_ctl_status.acceptence_rad checks before using
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer 4d6749edc2 mission_block: change loiter handling logic
- add ability of "heading wait" for NAV_CMD_LOITER_TIME_LIMIT
- For both LOITER_TIME and LOITER_TO_ALT in fixed-wing flight, unify logic:
--> reach position --> start loitering --> reach altitude --> start timer (if applicable)
	--> reach exit heading (if applicable) --> declare mission item reached

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer 5c9fac58c8 Mission: do not autocontinue if in multicopter mode and next wp has a hold time
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer f3adf6d67f mission_block: rename altitude_amsl to mission_item_altitude_amsl to make clear it's a setpoint
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer ab9d5498bc mavlink_mission: MAV_CMD_NAV_LOITER_TIME: set force_heading corresponding to param2
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer 017567792b Navigator: for loiter position acceptance, use L1 distance and loiter radius
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 19:36:59 +01:00
Silvan Fuhrer acbada73dd RTL: VTOL: do the land delay loitering (RTL_LAND_DELAY) in fixed-wing flight
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-29 15:46:33 +03:00
Jaeyoung-Lim cc29754163 Update jsbsim bridge submodule 2021-01-29 09:41:32 +01:00
Daniel Agar f0d1f1d679 boards: disable BDMA on STM32H7 for now 2021-01-28 21:16:23 +01:00
alexklimaj 741c1da634 ARK Flow Basic Functionality 2021-01-28 08:56:10 -05:00
Ricardo Marques 19576c5db3 logger: Correct max instances of actuator_outputs.
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2021-01-28 14:22:55 +01:00
Julian Kent ce1157e398 Work around broken coverage interface 2021-01-28 12:02:06 +01:00
Julian Kent 14cb98a6b4 Increase corridor check thresholds for mission tests 2021-01-28 12:02:06 +01:00
Julian Kent 7fac2fe6cd Consolidate uploading of coverage info for unit tests 2021-01-28 12:02:06 +01:00
Julian Kent e014954c91 Remove old matrix inversion routines 2021-01-28 09:14:08 +01:00
Julian Kent e96e028327 Refactor LM mag calibration routines 2021-01-28 09:14:08 +01:00
Julian Kent a9fc104387 Add inline to avoid double definition errors 2021-01-28 09:14:08 +01:00
bresch c79bd033c0 mag test: add ellipsoid test 2021-01-28 09:14:08 +01:00
bresch 1da2cd5b4d mag test: add magnetometer calibration unit tests 2021-01-28 09:14:08 +01:00
bresch a8a8819060 mag cal: move sphere and ellipsoid regression algirithms 2021-01-28 09:14:08 +01:00
JacobCrabill bf4ae81995 Device: Add MAVLINK bus type 2021-01-28 09:09:11 +01:00
Peter Blom a4745c6825 Simulator: Fix for arg count increase breaking remote host option.
The number of arguments was increased by one, see: https://github.com/PX4/PX4-Autopilot/commit/1719ff9892f3c3d034f2b44e94d15527ab09cec6

Because the above commit was merged before https://github.com/PX4/PX4-Autopilot/pull/15443 . It broke support for the remote host option.

This has been fixed in this commit by increasing all argv's by one.

Signed-off-by: Peter Blom <peterblom.mail@gmail.com>
2021-01-28 08:32:14 +01:00
Daniel Agar cf43d07f70 uavcannode: refactor into separate publishers and subscribers 2021-01-27 20:57:23 -05:00
JacobCrabill 39ad84e069 drv_sensor.h: Add missing SRF05 devtype 2021-01-27 17:02:20 -05:00
JacobCrabill e49717513c simulator: Fix distance sensor device_id
Also add DRV_DIST_DEVTYPE_SIM
2021-01-27 17:02:20 -05:00
JacobCrabill a09e13631c distance_sensors: Fix assignment of serial bus ID 2021-01-27 17:02:20 -05:00
JacobCrabill 01462ce627 Device: Add missing SERIAL enum to bus_string function 2021-01-27 17:02:20 -05:00
JacobCrabill 153756b933 drivers: Add support for SF30/[B,C] rangefinders (Serial) 2021-01-27 17:02:20 -05:00
JacobCrabill 7f2f0a04f1 uavcan: remove unused variables in gnss bridge 2021-01-27 17:02:20 -05:00
JacobCrabill 85796fbd84 Drivers: Distance Sensors: Add proper device IDs
Add new DeviceBusType_SERIAL to Device::DeviceId union
Add DRV_DIST_DEVTYPE's for all distance sensors
Change distance_sensor_s.id to distance_sensor_s.device_id
Modify all distance_sensor drivers to apply 'proper' device_id
2021-01-27 17:02:20 -05:00
Daniel Duecker adf2d2f73a extend uuv_att_control module by thrust in y/z-direction (#16642)
* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction

* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction

* update formatting

* fix submarine sitl: indicate motor channel range 0..1 or -1..1 in simulation_mavlink.cpp (#16637)

change motor_count variable to 'pos_thrust_motor_count'
This is more specific to what is actually happening in the code.
'pos_thrust_motors_count' indicates number of motor channels which are configured with 0..1 range (positive thrust) all other motors are configured for -1..1 range

submarine only have motors with -1..1 range.
Thus, pos_thrust_motor_count = 0

Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com>

* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction

* update formatting

Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com>
2021-01-27 22:35:24 +01:00
Daniel Agar c033681c56 uavcannode: add parameter default value 2021-01-27 13:11:41 -05:00
Daniel Agar 1b9d68abd5 parameters: add new param_get_default_value() 2021-01-27 13:11:41 -05:00
Lorenz Meier 2308cb8a40 CUAV CAN GPS support UAVCAN standard/indication/Button.uavcan
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-01-27 10:46:49 -05:00
Jukka Laitinen 5e79773275 Add signing of px4 binary into makefiles
When an environment variable "SIGNING_TOOL" is defined, the make will
call this with two filename arguments: <input> and <output>.

The SIGNING_TOOL will read in the binary from input, and append
signature to the output. For example:

SIGNING_TOOL=${PWD}/Tools/cryptotools.py make px4_fmu-v5_default

Will use the example "cryptotools.py" to sign the px4_fmu-v5.bin

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-01-27 08:36:08 +01:00
Jukka Laitinen 0f80296340 Modify cryptotools.py
- Append signature in the end of the signee
- Add parameters for output file and rd certificate
- Add a default test key

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-01-27 08:36:08 +01:00
Jukka Laitinen 5c9e7c2581 Add table of contents structure for px4_fmuv5 targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-01-27 08:36:08 +01:00
Jukka Laitinen 15ab477e73 Add header file describing px4 image table-of-contents
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-01-27 08:36:08 +01:00
dino 642d20cebe Added cryptotools.py to support secure bootloader 2021-01-27 08:36:08 +01:00
PX4 BuildBot 124258fb18 Update submodule sitl_gazebo to latest Wed Jan 27 00:46:05 UTC 2021
- sitl_gazebo in PX4/Firmware (ab0f761e9f): https://github.com/PX4/PX4-SITL_gazebo/commit/4048ae60ae4e8bc84840b4878d13e0e685e21b9a
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/46aef29718495d2f668c1648f4c0b0f43b9d9671
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/4048ae60ae4e8bc84840b4878d13e0e685e21b9a...46aef29718495d2f668c1648f4c0b0f43b9d9671

    46aef29 2021-01-25 JaeyoungLim - Rename geotagged_images_plugin to camera_manager_plugin (#698)
38224fb 2021-01-25 Pieter-Jan Dewitte - Pr liftdrag coefficients (#690)
2021-01-27 06:24:22 +01:00
David Sidrane ab0f761e9f uavcan:Beep Repeated tunes are OK 2021-01-26 19:22:14 -05:00
Daniel Agar 53a14e847d drivers/rc_input: support RC_RSSI_PWM_CHAN 2021-01-26 18:19:52 -05:00
David Sidrane ab650373d6 cuav gps:Add Beep indication 2021-01-26 17:04:40 -05:00
Daniel Agar 3b26b7adaf sensors: magnetometer preserve original mag cal offset for status message 2021-01-26 16:04:10 -05:00
Daniel Agar 15cbe8c09a px4_work_queue: wq:nav_and_controllers increase stack 1730 -> 1760 bytes 2021-01-26 16:03:37 -05:00
Daniel Agar b422da45ec boot_app_shared automatically generate UAVCAN bootable image 2021-01-26 10:21:29 -08:00
Daniel Agar 347c185967 UAVCAN bootloader merge duplicate boot_app_shared 2021-01-26 10:21:29 -08:00
Daniel Agar e656c9c13f drivers/uavcannode: Add a simple parameter server (simpler version for merging) (#16649)
* drivers/uavcannode: Add a simple parameter server

Added a simple parameter server using the libuavcan ParamServer class.
The parameter server exposes a selection of PX4 parameters via UAVCAN.
Also, Increased the stack size of the uavcan work queue in order to
prevent a stack overflow.

* uavcannode: fetch all active PX4 parameters

Co-authored-by: Kenneth Thompson <ken@flyvoly.com>
2021-01-26 10:19:20 -08:00
David Sidrane 525361cbc7 uavcannode:Add Indication Controller 2021-01-26 12:05:18 -05:00
Daniel Agar d1dfa26903 consume all available queued vehicle_commands 2021-01-26 12:00:18 -05:00
Daniel Agar d5c7e243a9 vehicle_command: increase queue depth 4 -> 8
- prevent slower modules from missing commands
2021-01-26 12:00:18 -05:00
Daniel Agar 350ebf5a1f boards: CUAV CAN GPS flash based parameters 2021-01-26 08:06:54 -08:00
bazooka joe f45b67af59 re-add boolean attribute to the parameters xml
and small cleanup, make Volatile as bool in the internal variable
2021-01-26 08:24:59 +01:00
Daniel Agar 39ef2fd0b7 delete unused struct pwm_output_rc_config 2021-01-25 10:55:57 -05:00
Daniel Agar 75f02d64b6 delete unused PWM_SERVO_SET_SBUS_RATE 2021-01-25 10:55:57 -05:00
Daniel Agar 2b0a047f0c delete unused DSM_BIND_POWER_UP 2021-01-25 10:55:57 -05:00
Daniel Agar 439c573242 delete unused PWM_SERVO_SET_TRIM_PWM 2021-01-25 10:55:57 -05:00
Daniel Agar 2ff69a4456 delete unused PWM_SERVO_SET_COUNT 2021-01-25 10:55:57 -05:00
Daniel Duecker f9e07337f8 fix submarine sitl: indicate motor channel range 0..1 or -1..1 in simulation_mavlink.cpp (#16637)
change motor_count variable to 'pos_thrust_motor_count'
This is more specific to what is actually happening in the code.
'pos_thrust_motors_count' indicates number of motor channels which are configured with 0..1 range (positive thrust) all other motors are configured for -1..1 range

submarine only have motors with -1..1 range.
Thus, pos_thrust_motor_count = 0

Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com>
2021-01-25 14:17:24 +01:00
David Sidrane 455f762516 px4_fmu-v6x:Support RC03 HW 2021-01-25 09:18:24 +01:00
honglang 43e1cda8ac uavcan: add tune_control/beep 2021-01-25 08:38:15 +01:00
PX4 BuildBot f571b29ae8 Update submodule matrix to latest Sun Jan 24 12:39:24 UTC 2021
- matrix in PX4/Firmware (92f2043d8b): https://github.com/PX4/PX4-Matrix/commit/054f8b12f4da79767df6e05bb1d2cc8d679b99f3
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/977cf52322ab3ca93125423a0f9e9b3eca0516d7
    - Changes: https://github.com/PX4/PX4-Matrix/compare/054f8b12f4da79767df6e05bb1d2cc8d679b99f3...977cf52322ab3ca93125423a0f9e9b3eca0516d7

    977cf52 2021-01-22 Julian Kent - Ignore debug line in code coverage
4837316 2021-01-22 Julian Kent - Fix small inconsistencies and compiler warnings
d540ca5 2021-01-13 Julian Kent - Coerce default epsilon values to Type
2021-01-24 09:21:02 -05:00
Silvan Fuhrer 92f2043d8b TECS: add EAS_sp to tecs_status.msg and rename other airspeeds to TAS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-23 09:34:34 -05:00
Silvan Fuhrer 5e32e9be5a TECS: rename variables and methods to make clear which are EAS and which TAS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-23 09:34:34 -05:00
Silvan Fuhrer 4922659ef4 FW Position controller: specify in params that the airspeed setpoints are for calibrated airspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-23 09:34:34 -05:00
jinger26 8118886f63 updated roadmap link 2021-01-23 09:32:19 -05:00
David Sidrane 1414c02471 msg:led_control Extend to support 8 LEDS 2021-01-23 09:30:59 -05:00
David Sidrane 7800f94dcb cuav_can-gps-v1 Use SK6812 Serial PWM LED Driver 2021-01-23 09:30:59 -05:00
David Sidrane 2c4d1d8fe0 Add SK6812 Serial PWM LED DMA Driver 2021-01-23 09:30:59 -05:00
David Sidrane 64531c4521 Add SK6812 Serial PWM LED Driver 2021-01-23 09:30:59 -05:00
David Sidrane 0b85039882 Add Neopixel Driver 2021-01-23 09:30:59 -05:00
David Sidrane fdba8f1f23 cuav_can-gps-v1:Use corrected pinout 2021-01-23 09:30:59 -05:00
David Sidrane f7aea05b19 Nuttx with STM32F4412 corrected pinmap 2021-01-23 09:30:59 -05:00
Julian Kent 977cf52322 Ignore debug line in code coverage 2021-01-22 17:30:00 +01:00
Julian Kent 4837316f9b Fix small inconsistencies and compiler warnings 2021-01-22 17:30:00 +01:00
Jaeyoung-Lim fa5a6cf712 Add option for custom mavlink configuration
This commit enables a option for users to add a custom mavlink configuration through rc.mavlink_override
2021-01-22 17:03:09 +01:00
이충경 17ea6f68e2 fix variable name in EKF2Selector (#16621) 2021-01-22 15:32:32 +01:00
Silvan Fuhrer da7f6d06f3 AirspeedSelector: set default of ASPD_DO_CHECKS to 1 and ASPD_FS_INTEG to 5.
That enables the sensor checks by default
The default for the innovation check integral of 5 is rather conservative, thus
makeing it less likely to be triggered by accidnet (e.g. due to bad wind estimate).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 28f9214e56 AirspeedSelector: parameter clean up and disable re-enabling if clear delay negative
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 98d057b8c9 AirspeedValidator: change logic for innovation checks
Previously, the logic was not consistent with the description in the params.
It now, if the integral is enabled, declares innovation check failed if
integral is above threshold.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 0c2099e788 AirspeedSelector: improve messaging on airspeed sensor switches
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer aecc0aa0c3 AirspeedSelector: do checks for data stopped in airspeed selector, not validator
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 7132e674d6 AirspeedValidator: Simplify data missing check
The data_stopped check should be independent of the innovation
and load factor check.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 083cd6f1c1 AirspeedValidator: remove unnecessary _checks_failing
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 37a49dbb6a AirspeedValidator: improve readability
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 061fb9ac07 AirspeedSelector: add const
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer cd2c366e22 AirspeedSelector: remove unnecessary reboot required and Experimental comments in params
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 11dbc7e17f AirspeedSelector: improve description of ASPD_FALLBACK_GW
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
Silvan Fuhrer 0f1207dd7e AirspeedSelector: improve readability
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-22 14:16:22 +01:00
PX4 BuildBot 1d8808183d Update submodule ecl to latest Thu Jan 21 17:04:02 UTC 2021
- ecl in PX4/Firmware (18bac6aff5): https://github.com/PX4/PX4-ECL/commit/99575d73e10aad06eb7d5b6415ea2db4151c5045
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/b919f3ddf41ab422d09af91eaea2b2f9729fab13
    - Changes: https://github.com/PX4/PX4-ECL/compare/99575d73e10aad06eb7d5b6415ea2db4151c5045...b919f3ddf41ab422d09af91eaea2b2f9729fab13

    b919f3d 2021-01-21 Paul Riseborough - EKF: Restore protection from extreme innovation values
efb78de 2021-01-21 Paul Riseborough - EKF: Set position fusion gate option false by default
556a195 2021-01-19 Paul Riseborough - EKF: Improve handling of non position mode large position innovations
2021-01-21 12:33:25 -05:00
Daniel Agar 18bac6aff5 ROMFS: posix rcS set EXTRA_MIXER_MODE 2021-01-21 11:26:23 -05:00
Daniel Agar e0b33ba842 mavlink: temporarily disable ACTUATOR_OUTPUT_STATUS stream by default
- the presence of this stream appears to be causing the MAVSDK tests to fail and needs to be investigated
2021-01-21 11:25:42 -05:00
Matthias Grob 7cdb9e9412 MulticopterPositionControl: altitude comment typo 2021-01-21 09:43:12 -05:00
Matthias Grob 4ce4fe05c5 BlockLowPass: initialize state in definition 2021-01-21 09:43:12 -05:00
ArthurLamberticus 82d32c7f3f mavlink: add ACTUATOR_OUTPUT_STATUS stream
Co-authored-by: Lise Prunier <lise.prunier@aerialcoboticus.com>
2021-01-21 09:30:43 -05:00
Matthias Grob 4becf74cbc .gitmodules: adapt submodule names to repo renaming 2021-01-21 11:52:14 +01:00
Paul Riseborough b919f3ddf4 EKF: Restore protection from extreme innovation values 2021-01-21 20:55:42 +11:00
Paul Riseborough efb78deef9 EKF: Set position fusion gate option false by default 2021-01-21 20:55:42 +11:00
Paul Riseborough 556a195320 EKF: Improve handling of non position mode large position innovations
These changes fix a bug that allowed IMU gyro errors that cause large tilt errors prior to start of aiding not resulting in large innovation test ratios.
2021-01-21 20:55:42 +11:00
Matthias Grob 65884960fa Remove ancient submodules
that were accidentally added back without URL in #16471
2021-01-21 10:46:29 +01:00
Hamish Willee bd00aec936 Parameter markdown use page css for layout 2021-01-21 09:08:26 +01:00
Daniel Agar 9a066959d4 delete empty src/lib/DriverFramework 2021-01-20 14:15:49 -05:00
TheLegendaryJedi 64c857562d Crazyflie v 21 (#16502)
Build model name fix.

Co-authored-by: TheLegendaryJedi <goncalo.atanasio@gmail.com>
2021-01-20 19:51:45 +01:00
TheLegendaryJedi dd9b0ded0f [UPDATE] - Remove duplicate syslink code 2021-01-20 19:51:45 +01:00
TheLegendaryJedi 641665f2e9 [UPDATE] - Workflows and Jenkins CI builds CF21 2021-01-20 19:51:45 +01:00
TheLegendaryJedi b3d9efedfa [UPDATE] - Code clean and format 2021-01-20 19:51:45 +01:00
TheLegendaryJedi e450c5a9d9 [UPDATE] - Crazyflie parameter config 2021-01-20 19:51:45 +01:00
TheLegendaryJedi 40f971c082 [NEW] - bmi088 i2c drivers and crazyflie 2.1 conf 2021-01-20 19:51:45 +01:00
bresch d7812f83f1 mag_cal: fix race condition causing invalid mag calibration
In some cases, the fitness of the optimizer does not shrink at each
iteration, causing the "decreasing fitness check" to fail. This stops
the optimization and returns with sub-optimal, or unrealistic results.
2021-01-20 10:50:35 -05:00
Beat Küng b190d98d6d Jenkinsfile: remove dev-guide metadata deployment
dev guide got merged with the user guide.
2021-01-20 10:03:00 -05:00
Mathieu Bresciani 8d8b58efc3 Add logging of mag calibration data (mag_worker_data)
Co-authored-by: Julian Kent <julian@auterion.com>
2021-01-20 09:44:45 -05:00
Jari van Ewijk 6a32301ed5 Add NXP FMUK66E build to CI
This build was not yet available in the CI. We just got the first hardware and are doing the first tests right now. So far most things seem to work.
2021-01-20 05:52:50 -08:00
Hamish Willee 59a1148aec Modify airframe gen to use html.escape 2021-01-20 00:22:30 +01:00
Hamish Willee d2eefbf2fb Escape < and > in maintainer field 2021-01-20 00:22:30 +01:00
AlexKlimaj 386b56fbce drivers/imu/bosch/bmi088: Add BMI090L accel ID 2021-01-19 15:49:53 -05:00
Ryan Johnston d22eef9396 boards: mRo Control Zero F7 fix for voltage/current sensing
* Rename GPIO_nVDD_BRICK1v to GPIO_VDD_BRICK1
2021-01-19 15:48:17 -05:00
CUAVcaijie bed77c2988 add notes 2021-01-19 20:42:58 +01:00
CUAVcaijie 297a428cc0 Fix the case where the flight controller is connected to the battery (charge 100), QGC shows no battery 2021-01-19 20:42:58 +01:00
Ryan Johnston cea8ad4236 Control Zero F7 - RSSI Fix - SBUS Only/PPM Partial
This fixes RSSI for the Control Zero F7 but I have noticed that while this works perfectly for SBUS receivers, for PPM receivers it does not decrease the RSSI visual value in QGC when removing the RC transmitter connection.

When a PPM receiver is connected and the connection is lost the autopilot goes into RC Scan Mode (in the RC Update Module) to determine what is connected (even though something already is connected).

The main issue with this is that PPM receivers don't go into RC Failsafe but I don't think it is an issue with this autopilot. It looks to be an issue with the RC Update Module and how it is handled at the module level for non I/O coprocessor autopilots. 


Tested with an X8R (SBUS) and a Dragonlink (PPM) as well as a Dragonlink set to SBUS as the output. SBUS worked as intended. See screenshots below.
2021-01-19 20:42:28 +01:00
Daniel Agar ac8f4e3c48 mc_pos_control: only update constraints if topic updated
- update failsafe constraints
2021-01-19 14:44:42 +01:00
Matthias Grob 39b0c7b2bf battery: report at least one cell for a connected battery 2021-01-18 17:53:17 +01:00
Matthias Grob d9954ecaf0 lib/magnetometer_bias_estimator: Add library for online magnetometer calibration on the ground
Co-authored-by: bresch <brescianimathieu@gmail.com>
2021-01-18 11:44:58 -05:00
Matthias Grob 36d15ada1c vscode: do not enable smart case search
in workspace settings. This comes down to user preference
and there's no particular reason to change this based on the workspace.
I found it confusing to have this non-default behavior
just for PX4 editing.
2021-01-18 11:33:21 -05:00
Daniel Agar 77b21680fb sync ctrlalloc boards and add to CI 2021-01-18 11:25:37 -05:00
Daniel Agar 311a2bd3e8 update ctrlalloc airframe location 2021-01-18 11:25:37 -05:00
Daniel Agar 3e5e5ab1d5 control_allocator and angular_velocity_controller throttle parameter_update subscription 2021-01-18 11:25:37 -05:00
Beat Küng c36340d29a ActuatorEffectivenessMultirotor: set effectiveness to zero when computing the matrix
Just to be on the safe side.
2021-01-18 11:25:37 -05:00
Beat Küng 212ec821b1 control_allocator: set unused actuators to trim instead of min 2021-01-18 11:25:37 -05:00
Beat Küng 3606f86518 control_allocator: ensure unused outputs are initialized to min
Mostly important in cases where the ouputs would change (e.g. param change)
2021-01-18 11:25:37 -05:00
Beat Küng 3dad79d8f5 control_allocator: inline one-line setters & getters 2021-01-18 11:25:37 -05:00
Beat Küng 164511a7b5 control_allocator: avoid vector copies and sqrt() 2021-01-18 11:25:37 -05:00
Beat Küng 0e66b0876b control_allocator: change SequentialDesaturation to existing MC mixer
And limit the operations to the number of configured outputs.

Only using the number of configured actuators reduces CPU load by ~2% on
F7 @1khz.
2021-01-18 11:25:37 -05:00
Beat Küng 308f614735 refactor control_allocator: directly get the effectiveness matrix when updated
Reduces stack + RAM usage
2021-01-18 11:25:37 -05:00
Beat Küng 38782029ad fix control_allocator: set _last_run at the correct place 2021-01-18 11:25:37 -05:00
Beat Küng 0e86ab47f6 fix control_allocator: use 'delete' instead of 'free', guard against out-of-memory 2021-01-18 11:25:37 -05:00
Beat Küng 066464c4e8 control_allocator: remove unused _task_start 2021-01-18 11:25:37 -05:00
Beat Küng 25f3fe8456 fix control_allocator_status: torque_setpoint_achieved and thrust_setpoint_achieved are bool 2021-01-18 11:25:37 -05:00
Julien Lecoeur 343cf5603e initial control allocation support
- control allocation module with multirotor, VTOL standard, and tiltrotor support
 - angular_velocity_controller
 - See https://github.com/PX4/PX4-Autopilot/pull/13351 for details

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Roman Bapst <bapstroman@gmail.com>
2021-01-18 11:25:37 -05:00
Julian Kent fc6b61dad1 Try 'min' for units 2021-01-18 16:26:53 +01:00
Julian Kent d99d52960e Fix default _rtl_xxx values 2021-01-18 16:26:53 +01:00
Julian Kent d965f1cbc0 Add rtl_flight_time message 2021-01-18 16:26:53 +01:00
Julian Kent 5a9fe312b5 Fix test failure on rebase: set lpos valid 2021-01-18 16:26:53 +01:00
Julian Kent af8d178ae5 Fix spurious RTL triggers
Two sources:
1. global to local conversion was sometimes giving issues, so do everything in global
2. on startup the RTL didn't check if the home position was valid before processing it
2021-01-18 16:26:53 +01:00
Julian Kent b5f0a7ea03 Fix RangeRTL test 2021-01-18 16:26:53 +01:00
Julian Kent 5500a84b6a Add timestamp to RTL message 2021-01-18 16:26:53 +01:00
Julian Kent f169247bc2 Add RTL topics to ulog default profile 2021-01-18 16:26:53 +01:00
Julian Kent 67082ccb2b Test the vehicle type parameter usage 2021-01-18 16:26:53 +01:00
Julian Kent 100c64c790 Test the navigator side, and fix another trig edge case 2021-01-18 16:26:53 +01:00
Julian Kent a736ba2435 Minor tweak in wind handling 2021-01-18 16:26:53 +01:00
Julian Kent e847ef1a4d Add trig tests for wind calculations, and fix bugs / edge cases 2021-01-18 16:26:53 +01:00
Julian Kent 7482413005 Add Range-based RTL 2021-01-18 16:26:53 +01:00
Ricardo Marques e817fb83f5 pwm_extra: Add PWM_EXTRA parameters.
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2021-01-18 15:43:28 +01:00
Ricardo Marques 7a8203bf19 Enable third mixer when using UAVCAN for main mixer. 2021-01-18 15:43:28 +01:00
Matthias Grob 02c0f08060 flashfs: fix alignment ambiguity
Instead of ignoring the warnings.
Thanks to @Ole2mail and @yuhaim for the suggestions.
2021-01-18 14:19:29 +01:00
TSC21 920d6d84b5 rtps: increase non-alias ID range by reducing the alias space ID 2021-01-18 09:33:14 +01:00
TSC21 54486b995e uorb_rtps_message_ids: add required topics to enable offboard control from DDS 2021-01-18 09:33:14 +01:00
Daniel Agar dab90f86a4 drivers/gps: limit to ublox only flash constrained targets 2021-01-18 09:30:01 +01:00
Ricardo Marques 78c05275d2 tailsitter: Fix differential thrust in FW mode.
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2021-01-18 09:04:27 +01:00
Daniel Agar e4d223f098 boards: CUAV Nora fix BMI088 orientation 2021-01-17 23:19:18 -05:00
Daniel Agar 1ec10bfcc6 boards: disable CONFIG_ARMV7M_LAZYFPU again (#16573)
- this was causing hard faults on the CUAV Nora and possibly other boards, disabling everywhere until we fully understand the root cause
2021-01-17 22:40:21 -05:00
Daniel Agar 3abe2e82d1 mpu9250: create dedicated i2c version and delete legacy driver
- update crazyflie and bbblue usage
 - eventually this should be merged with the SPI version after interface
changes are made
2021-01-17 16:11:19 -05:00
Daniel Agar c9a7894230 boards: bitcraze crazyflie fix boot
- add console to USART3 for now
2021-01-17 16:11:19 -05:00
David Jablonski 2ed48f041c mavlink: Templated SCALED_IMU mavlink stream 2021-01-17 12:32:51 -05:00
Matthias Grob 031bbb7f3e FlightModeManager: handle commands all the time
Moving the command handling to a separate function that gets called
whenever a vehicle command is available to always react on commands
and not just when already a task is running.

This solves e.g. commanding an Orbit when in Staibilized.
2021-01-17 15:46:30 +01:00
Matthias Grob df54f938ef FlightModeManager: correct setpoint struct initialization
It is important that setpoints get initialized with NAN and not overwritten
if specifically set by a successful flight task execution. It's then
clear if any setpoints were intentionally and successfully set.
Crucial for the position controller's emergency failsafe and the
seamless setpoint handover to the next flight task.
2021-01-17 15:46:30 +01:00
Matthias Grob 63db61a700 FlightModeManager: correct acceleration setpoint feedback naming
The variable was never renamed correctly in this in between layer when
we switched from normalized thrust to acceleration setpoints.
2021-01-17 15:46:30 +01:00
Daniel Agar 4d7b875ee2 flight_mode_manager: merge with flight_tasks 2021-01-17 15:46:30 +01:00
RomanBapst b1e442b830 vehicle_local_position: added bitfield for terrain estimate sensor info
- indicate how the distance to the bottom is estimated as this is important
to know in the context

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-17 12:06:59 +01:00
bresch eaa2ae9dc9 ekf2: add param to enable synthetic mag Z fusion mode 2021-01-17 12:06:59 +01:00
bresch 983234e29d ekf2: add param to set rng check hysteresis 2021-01-17 12:06:59 +01:00
Silvan Fuhrer 195a900ecf change default of RTL_LAND_DELAY to 0
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-17 12:05:30 +01:00
Silvan Fuhrer 037c821142 ROMFS: increase max distance between waypoints for VTOL and FW to 5km
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-17 12:05:30 +01:00
JacobCrabill 8e8497ff77 heater: px4io: Add support for heaters on IO MCU 2021-01-17 12:03:53 +01:00
Jaeyoung-Lim 653fef56de Update sitl_gazebo 2021-01-17 11:18:11 +01:00
Jaeyoung-Lim af1b4c473e Start user camera plugin
This commit starts the gazebo_user_camera_plugin together with the gzclient, so that it is always following the vehicle
2021-01-17 11:18:11 +01:00
Matthias Grob 8a7878f65c arch.sh: update zsh support, latest ARM GCC, gazebo AUR 2021-01-17 10:58:39 +01:00
Silvan Fuhrer cee4016665 Preflight checks: Airspeed checks update
-check for valid airspeed_validated (declared valid plus updated less than 1s ago)
-added param (COM_ARM_ARSP_EN) to enable/disable check for max airspeed for arming set max
airspeed limit to half of stall airspeed

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-16 10:26:55 -05:00
Can Berk Durmus ba9611621d Retune Typhoon H480 PID 2021-01-16 09:32:09 +01:00
David Sidrane 1c0ed74d6a platforms/nuttx/NuttX/nuttx net backports 2021-01-15 11:44:21 -08:00
Beat Küng ade3871bee adc: add support for multiple sensor voltage channels 2021-01-15 10:57:20 -05:00
Beat Küng e2337a34eb system_power: add comp_5v_valid and can1_gps1_5v_valid
And fill it in from the v5x GPIO expander.
2021-01-15 10:57:20 -05:00
Beat Küng 704a82aaa6 gpio: extend support for /dev/gp* GPIO's
Note that there's a small CLI interface change.
2021-01-15 10:57:20 -05:00
Beat Küng 88fe047556 px4/v5x: enable mcp23009 GPIO driver 2021-01-15 10:57:20 -05:00
Beat Küng 3e4b8763a5 nuttx: add mcp23009 gpio driver 2021-01-15 10:57:20 -05:00
Beat Küng e1983381e7 rcS: add SYS_PARAM_VER to param reset_all exception list
Avoids an extra reboot when resetting the airframe
2021-01-15 10:57:20 -05:00
Matej Frančeškin ba6a8080ea mavlink: don't respond to MAV_CMD_REQUEST_MESSAGE if component doesn't match
PX4 is responding with NACK to MAV_CMD_REQUEST_MESSAGE from a GCS to
payload-manager which confuses a GCS.
PX4 shouldn't respond to commands that are not broadcasted or specificaly
addressed to it.
2021-01-15 10:57:20 -05:00
Beat Küng 26e8c231b0 v5x,v6x: move mtd_caldata after mtd_id partition
to avoid losing factory calibration params on existing setups
2021-01-15 10:57:20 -05:00
Lorenz Meier a282f3df8d CLI test: Disable by default on NuttX
First target is to enable this for POSIX tests and then later to roll them out to NuttX.
2021-01-15 10:57:20 -05:00
Lorenz Meier 03e9e10847 Add CLI tests for basic soak testing
This is in no way a complete test suite but is intended as a starting point to get minimal
test coverage for CLI handling tests in. This is necessary to QA the CLI handling
(e.g. removal of commands) and to ensure that we are exercising these code paths in
stack check and alike tests.
2021-01-15 10:57:20 -05:00
Julian Oes 5ae5c03c66 mavlink: handle param4/5 from mission_item_int
It turns out that we did not properly handle param4 and param5 if they
are transferred using mission_item_int if the frame is
MAV_FRAME_MISSION.
2021-01-15 10:57:20 -05:00
Beat Küng 12ebbd995d bmp388: wait a bit longer to schedule first cycle after reset 2021-01-15 10:57:20 -05:00
Beat Küng 529c3112ac bmp388: quiet if startup fails (no sensor on bus) 2021-01-15 10:57:20 -05:00
David Sidrane 1e7dfe227a stm32_common:board_hw_rev_ver Use Analog resistor detection
When the VER_DRIVE and REV_DRIVE are the same GPIO
   we need to use Analog detection.
2021-01-15 10:57:20 -05:00
Jakub Kákona b87dd317d4 airframes: add new airframe for ThunderFly TF-G2 autogyro (#16551)
Co-authored-by: Roman Dvorak <romandvorak@mlab.cz>
2021-01-15 13:54:17 +01:00
Thomas df41c99b61 make failsafe handling consistent over all VTOL types 2021-01-15 09:19:07 +03:00
Thomas 38e46ff341 Rename VtolAttitudeControl::abort_front_transition(const char *reason) to VtolAttitudeControl::quadchute(const char *reason) 2021-01-15 09:19:07 +03:00
Thomas Stauber 40fbfdc054 Undo make format change
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-01-15 09:19:07 +03:00
Thomas 83ddb77a5f delete excess empty lines 2021-01-15 09:19:07 +03:00
Thomas b90fafd5cd Fix quadchute logic so that it also works during back transition 2021-01-15 09:19:07 +03:00
Daniel Agar 420ceb76fc cmake: NuttX generated vscode launch.json requires DEBUG_DEVICE found 2021-01-14 10:32:26 -05:00
SalimTerryLi 1ee98417f8 scumaker pilotpi updates
* replace default mag with qmc5883l
* fix rotation and quiet startup
* fixedwing script & Multi-EKF cfg
* set default params only when initial startup
2021-01-14 09:16:13 -05:00
Daniel Agar 52b07a932a github actions build and store cannode uavcan firmware 2021-01-14 08:52:38 -05:00
RomanBapst 96dfa7fc71 ROMFS: set cruise throttle correctly for all gazebo vtol configs
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-14 09:58:37 +03:00
Silvan Fuhrer 0633c3956f ROMFS: improve tuning of tailsitter VTOL SITL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-14 09:58:37 +03:00
Silvan Fuhrer 6104fe8932 ROMFS: improve tuning of tiltrotor VTOL SITL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-14 09:58:37 +03:00
Silvan Fuhrer 2ce310925c ROMFS: improve tuning of standard VTOL SITL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-14 09:58:37 +03:00
Daniel Agar e96571b45d uavcannode: GPS working on cuav_can-gps-v1
- use sensor_gps directly from sensor rather than vehicle_gps_position (aggregated value)
2021-01-13 22:06:46 -05:00
Daniel Agar d8e8e23947 vscode: add cuav_can-gps-v1_canbootloader variant 2021-01-13 22:06:46 -05:00
Daniel Agar 58909b208d boards: cuav can-gps-v1 add safety button and LED 2021-01-13 22:06:46 -05:00
Daniel Agar a894ca30e8 cmake: add STM32F412CE debug helper 2021-01-13 22:06:46 -05:00
David Sidrane 529841ba7c make_can_boot_descriptor:Get padding math correct 2021-01-13 22:06:46 -05:00
David Sidrane 1ac70cc72f can-gps-v1:Correct Memory size used by app and bootloader size 2021-01-13 22:06:46 -05:00
David Sidrane d04216aa48 Nuttx with stmf412 fixes 2021-01-13 22:06:46 -05:00
David Sidrane 618bd5978a can-gps-v1:canbootloader SAFETY is GETNODEINFO_JUMPER 2021-01-13 22:06:46 -05:00
David Sidrane 2deef30d12 canbootloader:Add 48Mhz CAN Clock Settings 2021-01-13 22:06:46 -05:00
David Sidrane 177109a1af can-gps-v1:LED Trimming 2021-01-13 22:06:46 -05:00
David Sidrane 54abd997de canbootloader:Update to use NuttX 2021-01-13 22:06:46 -05:00
David Sidrane 271f87f8d2 canbootloader:Fixed Warning 2021-01-13 22:06:46 -05:00
David Sidrane 238c28d458 SK6812 Led driver 2021-01-13 22:06:46 -05:00
David Sidrane 85bd04f0c7 can-gps-v1:canbootloader Fixed 2021-01-13 22:06:46 -05:00
David Sidrane 3e08fd6682 can-gps-v1: Removed GPIO_CAN_CTRL 2021-01-13 22:06:46 -05:00
David Sidrane c2c92cb2c8 can-gps-v1: Added LED pin 2021-01-13 22:06:46 -05:00
David Sidrane cdae8bf168 can-gps-v1:Fixed Clock 2021-01-13 22:06:46 -05:00
Daniel Agar a0d8d5ac74 sensors/vehicle_gps_position: untangle and remove unnecessary state 2021-01-13 20:17:49 -05:00
Daniel Agar bc8ec5d1f5 uavcannode: support optical_flow 2021-01-13 19:35:28 -05:00
RomanBapst 47364ce8d6 updated tuning for gazebo plane airframe config
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst f05599caff tecs: use speed derivative provided by local position
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer b230bbfe88 ROMFS: remove outdated TECS parameter from configs
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
RomanBapst e546584555 tecs: moved trivial getter methods to header file
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Roman Bapst 701c105ab6 Update src/lib/tecs/TECS.cpp
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst fa559aef43 TECS: stop learing integrator if airspeed is not available, but don't zero it
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst d4d1c0fe01 TECS: some cosmetics
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 97cc1e25dd TECS: hande pitch and throttle integrator saturation consistently
- don't decay integrator during saturation but prevent it from being learned
into the direction which causes more actuator saturation

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 77627a08ca TECS: don't allow speed height weights to be larger than one
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer dca89763b3 TECS: apply FW_LND_THRTC_SC to altitude error time constant
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 3d3ff75495 TECS: update some params to latest results from flight testing
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 3102b9f071 TECS: remove throttle integral limits
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
RomanBapst 987c320825 TECS: removed unused parameter
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 5c4c2c240c tecs: dot not clip throttle integrator during saturation but only allow
it to propagate into a direction which does not saturate

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 2ca4269464 TECS: separate integral gains for throttle and pitch loops
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 72dfb2078a TECS: adapt params to new control structure
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
RomanBapst 01f891618b TECS: move to new control loop architecture
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 447e14906c TECS: log more TECS states to enable better analysis
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 8823f5e1ec TECS: added method to get SKE weighting
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst d0e8b882a2 TECS: added alpha filter classes to energy rate and tas derivative
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
xdwgood cabb50a67b 13001_caipirinha_vtol:Ensure that the max/min pwm changes take effect 2021-01-13 11:32:01 +01:00
Julian Kent be0f5a7fe4 Fix implicit float->double conversions in tests 2021-01-13 10:26:10 +01:00
Julian Kent 2d6758a39d Cleanup of dataman mocks and check interval definition 2021-01-13 10:26:10 +01:00
Julian Kent a97a4d8bb8 Fix enum and param update 2021-01-13 10:26:10 +01:00
Julian Kent c745c8bb45 Small navigator refactor/cleanup 2021-01-13 10:26:10 +01:00
Julian Kent 04d859e36e Fix test failure from parameter autosave starting WQ 2021-01-13 10:26:10 +01:00
RomanBapst f97dcde4e2 GeofenceBreachAvoidanceTest: added tests for max dist to home
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
RomanBapst 3fa15cec91 GeofenceBreachAvoidance: improve behavior when using max dist to home option
- ensure that the vehicle is loitering with sufficient clearance to the boundary

Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
Julian Kent a5dfa0c803 Add helper function for decel distances
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 10:26:10 +01:00
RomanBapst 0ac597fba8 Use new GeofenceBreachAvoidance from Navigator
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
RomanBapst e536868104 Add GeofenceBreachAvoidance class
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
Julian Kent 8622c21496 Move VelocitySmoothing to new motion_planning library
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 10:26:10 +01:00
Julian Kent d540ca5de2 Coerce default epsilon values to Type 2021-01-13 10:17:09 +01:00
Jannik Beyerstedt 3834690c4b Add parameter to select the set of used GNSS systems 2021-01-13 08:33:07 +01:00
JacobCrabill 917fef546a uavcan: Remove single-GNSS limitation from UavcanGnssBridge 2021-01-12 22:04:52 -05:00
Daniel Agar a57b9f9381 delete drv_baro.h, drv_mag.h, drv_range_finder.h, drv_device.h and purge UAVCAN CDev usage 2021-01-12 22:04:52 -05:00
Daniel Agar 7f5fae91b0 boards: mro ctrl zero f7 fix default power module calibration 2021-01-12 16:51:05 -05:00
Jaeyoung-Lim 16b1b220fd Fix roslaunch multivehicle regression caused by #16497 2021-01-12 21:19:36 +01:00
Beat Küng daaf8b61dc drivers: remove ism330dlc
not used anymore
2021-01-12 09:55:59 -05:00
Beat Küng 9f5dee2ecf v5x/v6x: update IMU sensors (remove ISM330DLC) 2021-01-12 09:55:59 -05:00
Daniel Agar 48f125f150 estimated IMU bias preflight checks
- commander preflightcheck use estimator_sensor_bias message instead of EKF state index magic number
 - ekf2 publish estimated bias limits in estimator_sensor_bias
 - preflightcheck only error if bias estimate exceeds half of configured limit (delete COM_ARM_EKF_AB and COM_ARM_EKF_GB parameters)
2021-01-12 09:09:42 +01:00
TSC21 7c95e99156 tools: make sure that uORB type names found as part of field names are not capitalized as ROS types 2021-01-12 09:05:59 +01:00
Daniel Agar cb74cb8692 boards: enable CONFIG_ARMV7M_LAZYFPU everywhere 2021-01-12 09:04:38 +01:00
Daniel Agar abec2bd8df msg: estimator_status_flags shorten fields
- previously this message exceeded the logger total field length (1500 bytes)
2021-01-11 11:49:51 -05:00
Daniel Agar 04f9ada500 ekf2: selector improve fallback selection when the primary becomes unhealthy
- if an ekf instance becomes unhealthy prefer switching to the next best healthy instance on a different IMU
2021-01-11 09:38:26 -05:00
Daniel Agar 967d35a6b6 rate limit most parameter_update subscriptions
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Daniel Agar 70e503cb91 rotation: use Dcmf for all rotations that aren't direct swaps
- increase optimization to ${MAX_CUSTOM_OPT_LEVEL} (max per board)
2021-01-10 18:08:41 -05:00
TSC21 06b733bb86 msg: rtps: improve verbosity when the the client is not capable of parsing a specific ID 2021-01-10 22:22:22 +01:00
TSC21 3f1c303b16 msg: rtps: improve verbosity when the the agent is not capable of parsing a specific ID 2021-01-10 22:22:22 +01:00
bazooka joe 9b9163813d avoid re-initiate RTL or land in battery emergency
if the mode is already running
2021-01-10 21:19:52 +01:00
Nicolas de Palezieux 6260c164e7 fmu v4: make starting mavlink on WIFI port configurable and make it start by default 2021-01-10 21:16:02 +01:00
Nicolas de Palezieux 653b7c0007 fmu v4: add option to run DShot telemetry on UART usually used for the ESP WIFI module 2021-01-10 21:16:02 +01:00
Matthias Grob 3cc8e7a210 commander_params: Make multicopter only COM_RC_OVERRIDE more visible 2021-01-10 21:12:09 +01:00
TSC21 cef3d36af2 simulator: delete PublicationMulti ptrs for sensor_gps 2021-01-10 19:58:54 +01:00
Daniel Agar f73d93ef6c ekf2: selector improve status reporting
- publish estimator_selector_status at minimal rate or immediately on change
 - log all estimator_selector_status updates
2021-01-10 19:25:53 +01:00
Matthias Grob 2fc212e064 geofence_params: clarify EKF vs baro altitude source 2021-01-10 18:40:58 +01:00
Hamish Willee d5c8d0a233 GF_ALTMODE: Update in line with Lorenz feedback 2021-01-10 18:40:58 +01:00
Hamish Willee d43444fce7 geofence: GF_ALTMODE clarification 2021-01-10 18:40:58 +01:00
Muesli_Reep fe7908feb0 Simulator: Added remote host option (#15443)
* Added an option to the Simulator module to connect to remote Gazebo servers.

This is usefull when the Gazebo simulation is running on a different host than the PX4 instance.
For example, we are running instances of PX4 with a companion application in multiple Dockers, for swarming simulations, which then connect to a remote Gazebo server.

A "-t" input argument has been added and can be called from the rcS startup script as: simulator start -t "192.168.178.122" $simulator_tcp_port

* _tcp_remote_ipaddr defaults to nullptr. This way testing against nullptr it can be determined if localhost or remote host is desired by the user.
* Documented the option in usage().

Signed-off-by: Peter Blom <peterblom.mail@gmail.com>
2021-01-10 18:37:37 +01:00
Daniel Agar 763c3b8fda boards: start enabling multi-EKF by default on F7/H7 2021-01-10 17:56:34 +01:00
Jaeyoung-Lim b3257c0bf2 Support relative altitude for offboard global position setpoints
Previously the coordinate_frame flag for setpoint_target_global_int message was not handled, resulting in the vehicle to not handle altitude correctly. This commit handles the relative altitude correctly.
2021-01-10 17:54:53 +01:00
Daniel Agar 662f177830 ekf2: multi instance numbering consistent with uORB publication instances 2021-01-09 13:20:26 -05:00
Daniel Agar c3fc96fd42 uORB::PublicationMulti add get_instance() 2021-01-09 13:20:26 -05:00
PX4 BuildBot 0398a936e3 Update submodule ecl to latest Sat Jan 9 16:06:23 UTC 2021
- ecl in PX4/Firmware (c6af260a41): https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
    - ecl current upstream: https://github/commit/99575d73e10aad06eb7d5b6415ea2db4151c5045
    - Changes: https://github/compare/c212975abe83bf462bc512288ba30358f9a17865...99575d73e10aad06eb7d5b6415ea2db4151c5045

    99575d7 2021-01-09 Paul Riseborough - EKF: Add bad accel bias checking for EV and range finder height use cases
ff3c0a6 2021-01-08 Paul Riseborough - EKF: Fix bug preventing recovery from bad delta velocity bias estimates
c25c97f 2021-01-08 priseborough - [AUTO COMMIT] update change indication
9641810 2021-01-08 Paul Riseborough - test: Allow for larger vel variance growth due to dvel bias variance
1b1c049 2021-01-08 Paul Riseborough - test: Update unit test to match expected behaviour
dd259a2 2021-01-07 Paul Riseborough - EKF: Don't modify accel bias states and variances when inhibited
3e1f2d8 2021-01-07 Paul Riseborough - EKF: Set dvel bias variance to stored value when state is inactive
2021-01-09 12:57:25 -05:00
Daniel Agar c6af260a41 log_message increase queue depth 2->4 2021-01-09 11:04:32 -05:00
Paul Riseborough 99575d73e1 EKF: Add bad accel bias checking for EV and range finder height use cases 2021-01-09 11:03:31 -05:00
Paul Riseborough ff3c0a6136 EKF: Fix bug preventing recovery from bad delta velocity bias estimates 2021-01-09 11:03:31 -05:00
priseborough c25c97f8b5 [AUTO COMMIT] update change indication 2021-01-09 11:03:31 -05:00
Paul Riseborough 96418101e1 test: Allow for larger vel variance growth due to dvel bias variance 2021-01-09 11:03:31 -05:00
Paul Riseborough 1b1c049e81 test: Update unit test to match expected behaviour 2021-01-09 11:03:31 -05:00
Paul Riseborough dd259a288f EKF: Don't modify accel bias states and variances when inhibited 2021-01-09 11:03:31 -05:00
Paul Riseborough 3e1f2d8674 EKF: Set dvel bias variance to stored value when state is inactive 2021-01-09 11:03:31 -05:00
Jaeyoung-Lim d42e57a066 Update sitl_gazebo to latest
This PR updates sitl_gazebo to latest
2021-01-08 21:33:22 -05:00
Daniel Agar b9a721726d sensors/vehicle_magnetometer: respect calibration offset update success
- the magnetometer calibration offset setter returns false if the new offset change is negligible
2021-01-08 15:34:48 -05:00
Mohamed Abdelkader Zahana 80dd841cad Update launch files to enable multi-video stream in SITL (#16497)
* Update launch files to support multi-video stream in SITL

* Pass extra args to jinja_gen.py inside gazebo_sitl_multiple_run.sh to enable multi-video streaming
2021-01-08 19:29:47 +01:00
Silvan Fuhrer 706f806943 VTOL: standard VTOL and Tiltrotor manual MC throttle during transition
This sets the throttle of the Multicopter actuators to the throttle stick position
while in Stabilized, Acro or Manual mode.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-08 10:28:00 +01:00
xdwgood 802c68a62e Do not run transition flight task when not enable altitude control 2021-01-08 10:28:00 +01:00
Daniel Agar bf330a51b2 sensors/vehicle_magnetometer: reduce offset update message length to fit 2021-01-08 01:22:31 -05:00
Thies Lennart Alff eb60479e4c UUV introduce param to skip controller (#15706)
* added skip_ctrl param to uuv

* fixed formatting
2021-01-08 06:50:40 +01:00
PX4 BuildBot 064511c2df Update submodule flightgear_bridge to latest Fri Jan 8 00:39:45 UTC 2021
- flightgear_bridge in PX4/Firmware (168468c12a): https://github.com/PX4/PX4-FlightGear-Bridge/commit/44b51d5b1ccc6679e82090e24177ed73a3d4f5de
    - flightgear_bridge current upstream: https://github.com/PX4/PX4-FlightGear-Bridge/commit/7c2c623da9f5dcb3f01d32830af1a2ed958de363
    - Changes: https://github.com/PX4/PX4-FlightGear-Bridge/compare/44b51d5b1ccc6679e82090e24177ed73a3d4f5de...7c2c623da9f5dcb3f01d32830af1a2ed958de363

    7c2c623 2021-01-06 slimonslimon - Switch Ign-math to Eigen3 (#5)
2021-01-07 21:21:02 -05:00
PX4 BuildBot 168468c12a Update submodule ecl to latest Thu Jan 7 12:50:52 UTC 2021
- ecl in PX4/Firmware (c999734463c9b23c6b56670d5242ca4496f9e6ef): https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
    - ecl current upstream: https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
    - Changes: https://github/compare/03fed323ab950125114eb34309d3a79119e572ee...c212975abe83bf462bc512288ba30358f9a17865

    c212975 2021-01-06 bresch - rng height: reset to baro using common logic
2021-01-07 12:08:21 -05:00
Daniel Agar 88f8da27ef save learned mag bias per sensor (Multi-EKF support)
- handle saving the mag bias per sensor (across all estimator instances using that mag) in sensors/vehicle_magnetometer
 - this is now saving back to the actual mag calibration CAL_MAGn_OFF{X,Y,Z}
 - ekf2 reset mag mag bias on any magnetometer or calibration change
 - use Kalman filter scheme to update stored mag bias parameters using all available bias estimates for that sensor

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2021-01-07 09:54:13 -05:00
Matthias Grob 537ee5b19b FlightTaskOrbit: smooth yaw like in missions 2021-01-07 13:31:05 +01:00
Matthias Grob 44606ca872 FlightTaskOrbit: further simplify circling yaw setpoint calculation
The whole angle adding and pi wrap was just necessary because the
correct atan2 arguments were never completely thought through.
2021-01-07 13:31:05 +01:00
Matthias Grob f435bea57c state_machine_helper: orbit failsafe just with data link loss
RC is like the comment says not required.
2021-01-07 13:31:05 +01:00
Matthias Grob 6b8fa417e1 SlewRate: Add SlewRateYaw handling [-pi,pi] wraps 2021-01-07 13:31:05 +01:00
bresch c212975abe rng height: reset to baro using common logic
The failsafe from rng height to baro height should occur after a reset
to baro triggered by the controlHeightSensorTimeouts function and not in
the fusion selector.

Until now, the EKF was fusing baro measurements between rng updates if
the range finder ODR was slower than the EKF update rate. This is not
the case anymore as the height reset occurs after 5 seconds.

The unit test has been extended to show this behavior.
2021-01-07 10:07:57 +01:00
Daniel Agar 6c9072720e invensense/icm42688p: use full 20 bit data, increase ODR, disable all filters 2021-01-06 17:03:39 -05:00
Jaeyoung-Lim d2b0f63e1f Handle offboard mode with acceleration setpoints
The case when acceleration setpoints were being passed in offboard mode was triggering control_climbrate_mode. This prevented the vehicle from taking off, since it made the vehicle skip the rampup phase of the takeoff
This commit fixes this by handling the case properly
2021-01-06 20:38:18 +01:00
garfieldG 3fb8f5df62 drivers/lsm303agr: fixed bug incorrectly assembling signed 16 bit integer from bytes 2021-01-05 21:37:08 -05:00
PX4 BuildBot 01e3f0d586 Update submodule matrix to latest Tue Jan 5 12:40:51 UTC 2021
- matrix in PX4/Firmware (fd97e28019fa9c665d9b3c6995098dd51b4ab022): https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
    - matrix current upstream: https://github/commit/054f8b12f4da79767df6e05bb1d2cc8d679b99f3
    - Changes: https://github/compare/15e54ceda176f05e1ae38e71692d15cafb9e3a62...054f8b12f4da79767df6e05bb1d2cc8d679b99f3

    054f8b1 2021-01-04 Julian Kent - Use a single inverse implementation for a single matrix size
2021-01-05 19:24:42 -05:00
PX4 BuildBot ff82911d86 Update submodule ecl to latest Tue Jan 5 12:40:47 UTC 2021
- ecl in PX4/Firmware (824f78466ac4e32aecd6bda785e95eb348e1b31e): https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
    - ecl current upstream: https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
    - Changes: https://github/compare/78ce46f00777f07d24c31bdc5e2edb203be2c0f4...03fed323ab950125114eb34309d3a79119e572ee

    03fed32 2021-01-05 Paul Riseborough - EKF: Fix formatting
31fca9c 2021-01-05 Paul Riseborough - EKF: Update GPS loss message
c65cf13 2020-12-15 Paul Riseborough - EKF; Treat combined sideslip and airspeed as a horizontal aiding source
211c84c 2021-01-04 bresch - Rng finder unit test: cover "un-stuck" logic
2021-01-05 19:23:25 -05:00
Paul Riseborough 64ed96bd95 ekf2: Correct airspeed used by EKF for calibration errors 2021-01-05 19:22:53 -05:00
Daniel Agar b94e346488 Update submodule sitl_gazebo to latest Tue Jan 5 12:40:40 UTC 2021 (#16493)
- sitl_gazebo in PX4/Firmware (850d0bc588): https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/44de4acc3f9cf9e44db58006f99ea190d217017a
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/054e0a1be67b715ca1802397082e7814a1427f52...44de4acc3f9cf9e44db58006f99ea190d217017a

    44de4ac 2021-01-02 Lorenz Meier - Update README.md

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-01-05 19:34:11 +01:00
Paul Riseborough 03fed323ab EKF: Fix formatting 2021-01-05 21:08:28 +11:00
Paul Riseborough 31fca9c31d EKF: Update GPS loss message 2021-01-05 21:08:28 +11:00
Paul Riseborough c65cf13bb8 EKF; Treat combined sideslip and airspeed as a horizontal aiding source 2021-01-05 21:08:28 +11:00
bresch 211c84c85b Rng finder unit test: cover "un-stuck" logic 2021-01-05 20:04:17 +11:00
Julian Kent 054f8b12f4 Use a single inverse implementation for a single matrix size 2021-01-05 09:02:09 +01:00
Silvan Fuhrer 850d0bc588 vtol_type: remvoe const from function declaration
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 15:32:00 +01:00
RomanBapst 0871f0f52d vtol: refactor of maximum pwm value settings for main and alternate motors
- main motors are the ones which are meant to be used as propulsion in fw mode
- alternate motors are the ones usually meant to be switched off in fw mode

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 15:32:00 +01:00
Daniel Agar bc1e9f72f7 Jenkins hardware temporarily remove px4_fmu-v2 2021-01-04 09:30:47 -05:00
Silvan Fuhrer 92634e7549 RTL: during climb, set NAV_CMD_WAYPOINT for RW modes, NAV_CMD_LOITER_TO_ALT for FW
Do not use LOITER_TO_ALT for rotary wing mode as it would then always climb to
at least MIS_LTRMIN_ALT, even if current clib altitude is below
(e.g. RTL immediately after take off)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 0b86c11c66 FW POS: remove setting of curr_sp to LOITER if next wp invalid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 55a1d090a1 RTL: use NAV_CMD_LOITER_TO_ALT for Climb state
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
RomanBapst 68f27ba7b7 navigator: deactivate line following after backt-ransition and before landing
- especially when there are strong winds it's better to just go straight
to the landing point instead of trying to follow the planned path

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst b63f756745 navigator: don't execute land pattern if vtol in rotary wing mode
- if vtol and in rotary wing mode then don't execute the mission landing
because it's designed to be flow as a fixed wing
- if vtol and in rotary wing mode and mission land is available then fly directly
to landing point and don't go home!

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 6c3f413379 mission: reset work_item_type during mission inactivation
- this fixes a race condition which happens when an RTL is triggered
during the final approach of a mission landing. In that case the mission inactive
method is never called.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst b63f202b3c various fixed for bugs encountered during testing
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst cfb3cdc82f rtl: use math namespace
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 94d3ab28ee rtl: fixed computation of return altitude when mission landing is available
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 12875f7869 mission: when land start marker present, look for loiter to altitude item
instead of using the previous waypoint as landing target
- the previous waypoint could be miles away

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst e0c394a00b mission: fixed bug in computation of landing altitude
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst a4a03e86da mission: be more intelligent about saying that we are on a mission landing
- previously the decision of being on a landing pattern was taken by just
looking at the current mission index. However, even if the current mission
index indicates a landing pattern the vehicle could be at an arbitrary location, far
from being established on the pattern.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 29c3ce6d5d reworked RTL cone implementation
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst dad5ce1e41 rtl: set proper acceptance radius for move_to_land item
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 6ff95ae645 RTL: implement proper RTL sequence for VTOL
- descend to RTL descend altitude
- transition
- move to land waypoint
- loiter and then land

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 197a21a22e rtl: for fixed wing (also vtol) make the descend state of RTL use type
NAV_CMD_LOITER_TO_ALT

- this allows vtol to track the loiter circle during the transition instead
of trying to fly to the landing position

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst bb2826ad27 rtl: for vtol first desend down to RTL descend altitude before doing a transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst e81d5daa66 rtl: if very close to home then do not descend if higher than RTL_DESCEND_ALT
before reaching home

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 7c727edc3f Simple mixer: add output slew rate
This adds the option to limit the rate of change (slew rate) of an output that's mixed by a simple mixer.
To enable it, a positive number has to be added at the end (6th number) of the output scaler line of the mixer,
specifying the min rise time of this output.
E.g. O:      10000  10000      0 -10000  10000 20000 for a rise time of 2s, resp. a max slew rate of 0.5s^-1.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:32:22 +01:00
Daniel Agar 98cff94702 px4_work_queue: directly support SITL lockstep
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
 - per workqueue register a lockstep component whenever a work item is
added (if not already registered)
 - once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
PX4 BuildBot 8c71ecd97e Update submodule ecl to latest Sat Jan 2 12:39:29 UTC 2021
- ecl in PX4/Firmware (03925cc70fd13c15a5dfe8ecc5653b91098ac68d): https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
    - ecl current upstream: https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
    - Changes: https://github/compare/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef...78ce46f00777f07d24c31bdc5e2edb203be2c0f4

    78ce46f 2020-12-19 Kamil Ritz - Removing Matlab derivation
2021-01-02 11:54:56 -05:00
RomanBapst d502292d07 mission: for vtol takeoff don't use next waypoint as target during transition
- this caused the navigator to use the next waypoint (after the vtol takeoff item)
to be used as target during the transition. If the altitude of that waypoint
was much higher than the takeoff altitude then there were FOH effects
after the transition which caused the vehicle to first descend before
climbing again.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-02 02:18:59 +01:00
PX4 BuildBot a1b81df445 Update submodule sitl_gazebo to latest Fri Jan 1 12:39:16 UTC 2021
- sitl_gazebo in PX4/Firmware (a444d2610a): https://github.com/PX4/PX4-SITL_gazebo/commit/ca6c738fff30c516a5d2b9866ad268826a9ff0ff
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ca6c738fff30c516a5d2b9866ad268826a9ff0ff...054e0a1be67b715ca1802397082e7814a1427f52

    054e0a1 2021-01-01 pjdewitte - Jinja generation: add protection against accidental overwriting (#682)
869225e 2020-12-31 JaeyoungLim - Fix lightsource for high fidelity worlds (#680)
2021-01-01 21:57:05 +01:00
Kamil Ritz 78ce46f007 Removing Matlab derivation 2021-01-02 06:29:11 +11:00
Lorenz Meier 0bdae5745a Update dsm.cpp
Fix documentation comment (reported by @Roman-, thanks!)
2021-01-01 15:30:25 +01:00
Lorenz Meier 9409122638 RC tests: Add new test file
This file is using a PX4IO-bound receiver on a DX9
2021-01-01 14:26:36 +01:00
Lorenz Meier 8d6239f11f PX4IO: Use DSM frame drops
These will now be reported the same as on SBUS.
2021-01-01 14:26:36 +01:00
Lorenz Meier 47fcf97442 DSM: Report frame drops
Frame drops were measured but not reported on PX4IO.
2021-01-01 14:26:36 +01:00
Lorenz Meier 00e6d11dfa PX Uploader: Disable windowed mode
The windowed mode has been added for Windows targets originally. It gets very often incorrectly detected and slows down flashing considerably. This even applies to serial links. We are disabling it now in most circumstances.
2021-01-01 14:26:36 +01:00
Daniel Agar 95dd2f7e8d rc/dsm: remove system field check, add new validity checks
- unfortunately we can't depend on the system field due to potential
external binding and non-genuine Spektrum equipment
 - reject any DSM frame with duplicate channels
 - add 16 channel mask
 - tighten valid PWM range 990-2010us (±100% travel is 1102-1898µs)
 - update RCTest rejected frame count
2021-01-01 14:26:36 +01:00
Daniel Agar d7b89ecc86 boards: px4/fmu-v5 disable px4io in rc.board_defaults
- avoid keeping this kind of logic in the common rcS
2021-01-01 14:12:26 +01:00
Lorenz Meier a444d2610a Spektrum passive power: Only use if present 2020-12-31 13:22:52 +01:00
Lorenz Meier 641cc33d79 RC input: Always report DSM state 2020-12-31 13:22:52 +01:00
Lorenz Meier e85afb22a5 FMUv5: Default Spektrum power to passive 2020-12-31 13:22:52 +01:00
Lorenz Meier cc34d4601d FMUv5: Support passive power controls
This ensures that FMU-side power controls are not interfering with IO-side power controls of DSM receivers if they happen to be OR-ed in the schematics
2020-12-31 13:22:52 +01:00
Lorenz Meier 6529e1444f RC input: Better monitoring
The output is now less confusing in terms of which protocol is currently active.
2020-12-31 13:22:52 +01:00
Lorenz Meier af28a298e5 DSM driver: Add option for passive power controls 2020-12-31 13:22:52 +01:00
Lorenz Meier 4237c8be25 Commander: Do not acknowledge binding
This is now done in the respective modules directly and based on implementation and execution state.
2020-12-31 13:22:52 +01:00
Lorenz Meier 2d1551e5bf PX4IO: Acknowledge binding 2020-12-31 13:22:52 +01:00
Lorenz Meier 8445a08bff RC input: Acknowledge binding (or indicate that feature is not implemented) 2020-12-31 13:22:52 +01:00
Lorenz Meier 44bdd5456f PX4IO: Bind if not armed
DSM binding was disabled before if safety was off, which on a lot of multicopters is today the default. The logic is now checking instead for wether the system is armed.
2020-12-31 13:22:52 +01:00
Lorenz Meier a34e57a4cc Simulator: Increase stack, publication affinity
This commit increases the send thread stack size and changes the thread affinity of the lockstep clocking topic. It also improves verbosity in case error states occur.
2020-12-31 01:05:30 +01:00
Lorenz Meier fda63f802e Tone alarm: Adjust log levels
The earlier log levels represented normal operation scenarios as errors, this aligns the log levels.
2020-12-31 01:05:30 +01:00
Lorenz Meier 3cc53f551d MAVSDK tests: Use full system timeout off
Depending on loop iterations for timeouts is not accurate, as usleep behavior depends on the system load and asking for a 0 ms sleep can potentially return immediately.
2020-12-31 01:05:30 +01:00
Lorenz Meier e27d80abc4 Camera feedback: Indicate success
If the feedback module is loaded then we want to provide capture feedback.
2020-12-30 23:36:47 +01:00
Daniel Agar 404f74f996 boards: mro/pixracerpro add flight_mode_manager 2020-12-30 10:25:08 -05:00
RomanBapst fe2e299046 FlightModeManager: small rebase change
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-30 10:25:08 -05:00
Matthias Grob e92795b474 Temporary logging addition to debug CI 2020-12-30 10:25:08 -05:00
Matthias Grob fafbb687d8 FlightModeManager: fix integral reset on ground
This information could also be used for yaw and integral
resets of the lower level controllers.
2020-12-30 10:25:08 -05:00
Matthias Grob 7de288877a MulticoperPositionControl: 3rd pass get rid of zombie members 2020-12-30 10:25:08 -05:00
Matthias Grob 62ada2e2dc FlightModeManager: restore weathervane calls
I had to do an extra subscription to the vehicle attitude.
I don't know how to test this.
2020-12-30 10:25:08 -05:00
Matthias Grob aa888223f0 FlightModeManager: fix takeoff state in stabilized mode 2020-12-30 10:25:08 -05:00
Matthias Grob 8edb06e94f FlightModeManager: make sure emergency failsafe works 2020-12-30 10:25:08 -05:00
Matthias Grob 8329208b84 FlightModeManager: fix takeoff ramp from zero 2020-12-30 10:25:08 -05:00
Matthias Grob 88c274b3cd MulticopterPositionControl: 2nd pass to move to FlightModeManager 2020-12-30 10:25:08 -05:00
Matthias Grob f52bad87e2 mc_pos_control: separate out flight_tasks (into FlightModeManager) 2020-12-30 10:25:08 -05:00
Matthias Grob 7545249215 Add flight_mode_manager to all targets with mc_pos_control 2020-12-30 10:25:08 -05:00
Matthias Grob fa7170bc4f Add FlightModeManager
to separate out setpoint generation from controllers
2020-12-30 10:25:08 -05:00
Daniel Agar 49d4cc7d5b commander: CMD_NAV_LAND/CMD_NAV_PRECLAND reply RESULT_ACCEPTED unless transition is denied 2020-12-30 12:05:41 +01:00
Benjamin Linne 80068093d6 add esc_battery module to modalai/fc-v1 build 2020-12-29 23:41:22 -05:00
Daniel Agar 91f5f26618 commander: main_state_transition call trivial style fixes 2020-12-30 00:26:14 +01:00
Daniel Agar 4f62355dec msg: new estimator_status_flags message for more accessible ekf2 status logging
- log all estimator (ekf2) flags as separate booleans in a new dedicated low rate message (only publishes at 1 Hz or immediately on any change)
 - this is a bit verbose, but it avoids the duplicate bit definitions we currently have across PX4 msgs, ecl analysis script, flight review, and many other custom tools and it's much easier for casual log review in FlightPlot, PlotJuggler, csv, etc
 - for compatibility I've left estimator_status filter_fault_flags, innovation_check_flags, and solution_status_flags in place, but they can gradually be removed as tooling is updated

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-29 11:27:21 -05:00
Lorenz Meier ddc1f964d2 Mac OS CI: Harden against intermittent install failures 2020-12-28 23:43:57 +01:00
Lorenz Meier 565da15f2f MAVSDK test: Increase timeout 2020-12-28 22:04:08 +01:00
Lorenz Meier 7510e6ba0a FMUv2: Exclude rarely used configurations 2020-12-28 21:02:03 +01:00
Lorenz Meier 53711926ab FMUv2: Exclude specialized fixed wing configs
The FMUv2 users can default back to generic configs for those.
2020-12-28 21:02:03 +01:00
Lorenz Meier aa28c3bd3c VTOL airframes: Exclude FMUv2
This excludes FMUv2 targets, since VTOL is already disabled on FMUv2.
2020-12-28 21:02:03 +01:00
Lorenz Meier 3d809134f5 Updating SITL gazebo (Mac OS fixes) 2020-12-28 20:41:48 +01:00
Daniel Agar adb98d5702 mavlink: move HIL_ACTUATOR_CONTROLS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 3b20310e9c mavlink: move POSITION_TARGET_GLOBAL_INT to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 672a1c90aa mavlink: move POSITION_TARGET_LOCAL_NED to separate streams header
- position type_mask
2020-12-28 11:09:46 +01:00
Daniel Agar 6b1d02feb7 mavlink: move RC_CHANNELS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 48be6962d1 mavlink: move MANUAL_CONTROL to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 629d03b684 mavlink: move TRAJECTORY_REPRESENTATION_WAYPOINTS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 5762c3b356 mavlink: move NAV_CONTROLLER_OUTPUT to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 9f57df75e8 remove rotation 41 (ROLL_270_YAW_180)
- duplicate of 31 (ROLL_90_PITCH_180)
2020-12-28 11:07:08 +01:00
Daniel Agar a66cb0cbaf mavlink: check TX buffer before processing command ack 2020-12-28 11:05:42 +01:00
bazooka joe 8d5813994f format smart battery serial number as string on mavlink
according to change on mavlink protocol message
formatted as 'dd/mm/yy-123456'
2020-12-28 11:04:54 +01:00
Daniel Agar ceadcd74d0 mavlink: CAMERA_TRIGGER stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar ae706537b8 mavlink: CAMERA_IMAGE_CAPTURED stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar 27b631e827 mavlink: ADSB_VEHICLE stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar 0d72b47571 mavlink: COLLISION stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar dcb897307d mavlink: HEARTBEAT stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Nicolas MARTIN e06d218ff2 commander: disable arm_auth request for prearm status continuous publication 2020-12-27 16:23:05 -05:00
Daniel Agar 02a08c42b7 tests: perf don't bother printing all perf counters 2020-12-27 15:29:45 -05:00
Daniel Agar 12bf035642 uORB: tests limit latency to only orb_test_medium and remove some unnecessary output 2020-12-27 15:29:45 -05:00
Daniel Agar 409ea2ac02 mavlink: parameters manually mark active minimal QGC set on first send 2020-12-27 13:54:03 -05:00
Lorenz Meier 4b0d8efbc1 Commander: move static overload_start to class 2020-12-27 13:44:32 -05:00
Jaeyoung-Lim 4f30037980 Add yosemite world as SITL target for gazebo
This commit adds yosemite world as a SITL target for gazebo
2020-12-27 12:53:25 -05:00
Daniel Agar 092060cde2 posix: improve error out for mlockall() and pthread_create
- add strerror
 - mlockall skipped in lockstep builds (ENABLE_LOCKSTEP_SCHEDULER)
2020-12-27 12:43:32 -05:00
Daniel Agar 48da0055a1 boards: add initial mRo Pixracer Pro (M10064C) support 2020-12-27 12:12:15 -05:00
PX4 BuildBot aa54db42ed Update submodule ecl to latest Sat Dec 26 12:39:53 UTC 2020
- ecl in PX4/Firmware (6a278fb230365aaf369956878ee08c3161ae739d): https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
    - ecl current upstream: https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
    - Changes: https://github/compare/df7f261e038aa80b07a91857f2f952280938bfc6...18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef

    18f334f 2020-12-25 Mathieu Bresciani - flow: add unit test for yaw motion (#950)
2020-12-26 14:39:47 -05:00
Mathieu Bresciani 18f334f4db flow: add unit test for yaw motion (#950) 2020-12-25 09:47:14 +01:00
Dan George 051bcf75b3 Fix PX4_CMAKE_BUILD_TYPE=Debug configuration
Set CMAKE_RUNTIME_OUTPUT_DIR_DEBUG & _RELEASE to match
CMAKE_RUNTIME_OUTPUT_DIR as is already done in top level CMakeLists.txt.

Fixes Issue 16445 - px4-alias.sh: not found

Co-authored-by: Dan George <dgeorge@anduril.com>
2020-12-24 19:02:07 -05:00
Daniel Agar 92afe45f7f vtol_att_control: improve readability of fill_actuator_outputs()
- vtol standard pass through landing gear for MC and flaps for FW
2020-12-24 09:29:17 -05:00
Silvan Fuhrer 9849ff4a9c Standard VTOL: set idle PWM during backtransition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-24 09:25:08 +01:00
Silvan Fuhrer 7e01938341 VTOL: rename class variable flag_idle_mc to _flag_idle_mc
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-24 09:25:08 +01:00
Ramón Hernán Roche Quintana 5c93403db7 Tools: Python >3.7 requires the wheel packge
currently installing pymavlink witouth the wheel package results in an
error when using Python 3.7 or later

https://github.com/ArduPilot/pymavlink/issues/486
2020-12-23 23:56:05 -05:00
Lorenz Meier 70c372329c MAVLink FTP: Update implementation according to updates specs
The MAVLink specs for CreateFile in MAVLink FTP were updated on Dec 23, 2020 (today) with a behavior change to truncate a file if it already existed, following the UNIX standard behavior: https://pubs.opengroup.org/onlinepubs/9699919799/functions/creat.html. This change is tracking that spec change. While it is a functional change, the limited usage of the FTP protocol and the fact that implementations should not rely on error states to determine wether to truncate a file or not makes this a viable change.
2020-12-23 13:45:01 +01:00
PX4 BuildBot 7861377e20 Update submodule devices to latest Tue Dec 22 00:39:39 UTC 2020
- devices in PX4/Firmware (68b6cca3bc4cd3c70ab1ea5c439e5941370e801e): https://github/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
    - devices current upstream: https://github/commit/9282d3d73391859f51c759a343a052dfb1be02e0
    - Changes: https://github/compare/86b09d332041acebc35c9a0476d8dfc2752dfe39...9282d3d73391859f51c759a343a052dfb1be02e0

    9282d3d 2020-12-21 Silvan Fuhrer - ubx: change uart2_baudrate to 230400
2020-12-22 07:43:50 +01:00
Silvan Fuhrer a88b7fc517 ROMFS: Tiltrotor SITL: improve tuning and remove unnecessary params from config
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-20 21:25:50 -05:00
PX4 BuildBot 3ff7cd94dd Update submodule ecl to latest Mon Dec 21 00:39:54 UTC 2020
- ecl in PX4/Firmware (caa35af3961aa96e2549a36f1fddb1a10ee802b2): https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
    - ecl current upstream: https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
    - Changes: https://github/compare/a8e0e82858318042500f96f5ee882c638f201426...df7f261e038aa80b07a91857f2f952280938bfc6

    df7f261 2020-12-20 Kamil Ritz - Add missing const modifier
2020-12-20 21:24:52 -05:00
PX4 BuildBot ec79361548 Update submodule sitl_gazebo to latest Mon Dec 21 00:39:43 UTC 2020
- sitl_gazebo in PX4/Firmware (5868463d06): https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4043287bbe07a9d091d579b755796e70d45058e8
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/563f0876a52d5c0fba1b7cd1aa420c613ec7025b...4043287bbe07a9d091d579b755796e70d45058e8

    4043287 2020-12-20 Silvan Fuhrer - tiltrotor: increase wing area to 0.5 per side (#678)
f004811 2020-12-20 JaeyoungLim - Update mavsdk version for SITL tests (#673)
2020-12-20 21:23:34 -05:00
Kamil Ritz df7f261e03 Add missing const modifier 2020-12-20 14:04:29 +01:00
PX4 BuildBot 5868463d06 Update submodule matrix to latest Fri Dec 18 12:38:33 UTC 2020
- matrix in PX4/Firmware (a505e82391bdb9d81c03d45919f2158cee6baa8c): https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
    - matrix current upstream: https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
    - Changes: https://github/compare/ea43303c1cd55b0da8e152373b49dd2d5e381772...15e54ceda176f05e1ae38e71692d15cafb9e3a62

    15e54ce 2020-11-04 Julian Kent - Rework rank-detection tolerance in pseudoinverse
d9a5e3d 2020-11-04 Julian Kent - Add test for new cutoff threshold
2020-12-18 10:15:20 -05:00
JaeyoungLim 39c585ac97 Enable SITL tests for macos (#16329)
This commit enables SITL testing on macOS
2020-12-18 20:31:51 +09:00
jaeyoung c8d18c2719 Fix tiltrotor model for sitl_gazebo 2020-12-18 12:27:07 +01:00
Julian Kent 15e54ceda1 Rework rank-detection tolerance in pseudoinverse 2020-12-18 12:07:19 +01:00
Julian Kent d9a5e3dec2 Add test for new cutoff threshold 2020-12-18 12:07:19 +01:00
bresch c253badba4 HTE: remove dist_bottom validity check
Without range finder, the validity flag goes to false quite quickly and
if can be that a vehicle never starts HTE is the takeoff is too slow.
In this specific context of takeoff detection, since
the exact value is not important, we can safely ignore the validity flag.
2020-12-18 12:05:22 +01:00
bresch 690c1158ad HTE: do not update the estimator during fast up/down motions
Drag and prop wash effects produce significant forces at high speed
that can bias the estimator when applied for an extended period of time
2020-12-18 12:05:22 +01:00
bresch 39251daf28 HTE: pull status from class instead of returning struct 2020-12-18 12:05:22 +01:00
bresch 652cc4350e HTE: empty braces initialization of struct 2020-12-18 12:05:22 +01:00
bresch d532bc9555 HTE: only run in air
the _landed flag only is not enough to tell if the drone is still touching
the ground, so an additional check based on the altitude AGL is required.

to have this in_air detection correctly updated, the module needs to be
scheduled on the vehicle_local_position message as no setpoint is
produced in non-assisted modes.
2020-12-18 12:05:22 +01:00
Daniel Agar c05c213042 mavlink: ALTITUDE stream initialize local_pos 2020-12-18 08:32:04 +01:00
PX4 BuildBot 66b3562080 Update submodule ecl to latest Fri Dec 18 00:39:53 UTC 2020
- ecl in PX4/Firmware (dc358857c877ae01b922d84a6c6fffe6d8c46810): https://github/commit/1541e4b414fe63ec9d6c3077375db7e20c20ef4a
    - ecl current upstream: https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
    - Changes: https://github/compare/1541e4b414fe63ec9d6c3077375db7e20c20ef4a...a8e0e82858318042500f96f5ee882c638f201426

    a8e0e82 2020-12-08 Daniel Agar - EKF: update mag LPF immediately
398fe15 2020-11-02 Daniel Agar - EKF: allow initialising without mag depending on configuration
1237087 2020-12-16 Daniel Agar - AlphaFilter add constructor that takes alpha and use in EKF
37e84b7 2020-12-16 Daniel Agar - README: fix zenodo badge (rename ecl -> PX4-ECL)
5ccb8b4 2020-12-15 Mathieu Bresciani - fakePosFusion: reset _last_known_posNE to current state when starting (#943)
9d22f14 2020-12-10 bresch - gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc
b0cf45e 2020-12-10 bresch - gps_alt: rename getGpsAltVar -> getGpsHeightVariance
62f2e26 2020-12-10 bresch - gps_alt: reset GPS alt variance usign helper function
f7bddda 2020-12-10 bresch - gps_alt: do not scale up reported gps vertical accuracy
02369cd 2020-12-10 bresch - gps_alt: extract measurement variance computation and saturation
2020-12-17 20:13:03 -05:00
PX4 BuildBot e5a00033f5 Update submodule matrix to latest Thu Dec 17 23:05:20 UTC 2020
- matrix in PX4/Firmware (788e6b9ad163f314ddd53a23f3705ca0018519f4): https://github/commit/a504b6e88152d88dba936bc74e449f2f281b84e2
    - matrix current upstream: https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
    - Changes: https://github/compare/a504b6e88152d88dba936bc74e449f2f281b84e2...ea43303c1cd55b0da8e152373b49dd2d5e381772

    ea43303 2020-12-16 JacobCrabill - test/vector3: Add test for scalar +/- operators
158409a 2020-03-23 JacobCrabill - Vector3f: Add operator+/- for scalars
2020-12-17 19:05:46 -05:00
PX4 BuildBot 2a187a76d6 Update submodule sitl_gazebo to latest Thu Dec 17 23:05:03 UTC 2020
- sitl_gazebo in PX4/Firmware (90f61c2f9a): https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/19981d61cfe656d2985fef5285b4a4d14f3be199...563f0876a52d5c0fba1b7cd1aa420c613ec7025b

    563f087 2020-12-17 JaeyoungLim - Fix tiltrotor model (#675)
0e2d63a 2020-12-17 JaeyoungLim - Fix wind transmormations for motor model (#674)
e5d0d65 2020-12-13 JaeyoungLim - Update container versions for tests (#672)
bccb487 2020-12-12 BazookaJoe1900 - mavlink_interface: rename serial link related function to include 'serial' (#670)
2020-12-17 18:45:08 -05:00
JacobCrabill ea43303c1c test/vector3: Add test for scalar +/- operators 2020-12-17 18:05:46 +01:00
JacobCrabill 158409abce Vector3f: Add operator+/- for scalars 2020-12-17 18:05:46 +01:00
Daniel Agar a8e0e82858 EKF: update mag LPF immediately 2020-12-17 10:46:04 +01:00
Daniel Agar 398fe159ce EKF: allow initialising without mag depending on configuration
- reduce initial number of required mag and baro samples before init
2020-12-17 19:55:51 +11:00
Ramón Hernán Roche Quintana 90f61c2f9a Update submodule GPSDrivers to latest Wed Dec 16 18:45:08 UTC 2020
ubx: fix #63: NAV-SAT/ SVINFO parser bug https://github.com/PX4/PX4-GPSDrivers/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
2020-12-17 08:28:25 +01:00
Daniel Agar 74083d6bd1 optical_flow/paw3902: minor improvements
- verify register writes
 - cleanly reset on lighting mode changes as per the datasheet
 - perf counters for mode switches and other errors
 - cleanly reset on false motion detection
 - minimize sleep on reset
 - allowing setting custom rotation yaw angle directly on command line with -Y (ignoring SENS_FLOW_ROT)
 - enable LED output
2020-12-16 20:04:46 -05:00
Daniel Agar 43b4cf39bd sitl_gazebo build single threaded
- building sitl_gazebo in parallel within a parallel PX4 build isn't load balanced
2020-12-16 19:45:08 -05:00
Daniel Agar 1237087d70 AlphaFilter add constructor that takes alpha and use in EKF 2020-12-16 13:55:59 -05:00
Daniel Agar 4d30f327f9 Github Actions: skip Mavros tiltrotor mission for now (#16405) 2020-12-16 17:34:32 +01:00
Daniel Agar a152fb65cb parameters: remove unnecessary duplicated shutdown lock in param_save_default()
- param_export already takes the shutdown lock
2020-12-16 10:50:05 -05:00
Daniel Agar 37e84b763a README: fix zenodo badge (rename ecl -> PX4-ECL) 2020-12-16 10:47:21 -05:00
Daniel Agar c7db0942ba sensors: vehicle_imu don't round measured accel and gyro sample rates 2020-12-16 10:12:27 -05:00
Daniel Agar bf5ee99952 sensors: acceleration always get accel rate from vehicle_imu_status
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar 7038cb8518 sensors: angular_velocity always get gyro rate from vehicle_imu_status
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar 336176b2f0 Mavlink FLIGHT_INFORMATION fix arming time (ms -> us) and add takeoff time
- fixes https://github.com/PX4/PX4-Autopilot/issues/16393
2020-12-16 09:38:05 -05:00
bresch b23d8244f0 ekf2: fix dist bottom constraint 2020-12-16 09:33:38 -05:00
Hamish Willee acc647c518 remove duplicate this in COM_HLDL_LOSS_T 2020-12-16 08:37:42 +01:00
Hamish Willee 4bc60cca69 remove more occurrences 2020-12-16 08:37:42 +01:00
Hamish Willee d58ee9400c system_params - remove duplicate text in param 2020-12-16 08:37:42 +01:00
Daniel Agar 8e14e13369 README.md update PX4/Firmware -> PX4/PX4-Autopilot 2020-12-15 20:27:03 -05:00
Mathieu Bresciani 5ccb8b457d fakePosFusion: reset _last_known_posNE to current state when starting (#943)
* [AUTO COMMIT] update change indication
2020-12-15 10:09:01 +01:00
Robin Lilja aa244a098c Clarification of coordinate systems for sensors_* and vehicle_* messages (#16339)
Changed all 'NED' references to 'FRD'. Also cleaned up mixing of m/s/s and m/s^2 to use the latter. Corrected m/s/s to Pascals. Plus minor typos. Also made some minor cosmetic clean ups.

Co-authored-by: Robin <robin@Robins-MacBook-Pro-Work.local>
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-15 09:18:05 +01:00
Mathieu Bresciani fdd1d6d244 Multicopter rounded turns (#16376)
* AutoLineSmoothVel: Implement l1-style guidance in turns
2020-12-14 13:04:01 +01:00
Julian Oes 9b065b4975 Update src/systemcmds/tests/test_dataman.c
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-12-14 09:26:18 +01:00
Julian Oes 5cb1bb7731 systemcmds: fix dataman test 2020-12-14 09:26:18 +01:00
Julian Oes 1719ff9892 simulator: fix after px4_task_spawn_cmd change
argv[0] now contains the task name, so everything moves by one.
2020-12-14 09:26:18 +01:00
Julian Oes dba3c642d2 posix: set task name as argv[0] to match Nuttx
This changes px4_task_spawn_cmd to match the NuttX task_spawn. It adds
the task name as argv[0]. See example below:

px4_task_spawn_cmd("task_name",
		   SCHED_DEFAULT,
		   SCHED_PRIORITY_DEFAULT,
		   1024,
		   (px4_main_t)&Something::start_helper,
		   (char *const *)argv);

with:

argv[0]: "something"
argv[1]: "start"
argv[2]: nullptr

becomes in Something::start_helper:

argv[0]: "task_name"
argv[1]: "something"
argv[2]: "start"
argv[3]: nullptr
2020-12-14 09:26:18 +01:00
Julian Oes 862fd1d450 module: remove NuttX only quirk
The behaviour on NuttX and Posix should now be the same anyway.
2020-12-14 09:26:18 +01:00
Julian Oes 314b5e721f src: remove NuttX ifdefs around args
It doesn't look like they are required anymore.
2020-12-14 09:26:18 +01:00
Julian Oes 5be2066e1a posix: small cleanup 2020-12-14 09:26:18 +01:00
bresch 9d22f140dd gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc 2020-12-13 14:39:50 +11:00
bresch b0cf45e2d2 gps_alt: rename getGpsAltVar -> getGpsHeightVariance 2020-12-13 14:39:50 +11:00
bresch 62f2e26c49 gps_alt: reset GPS alt variance usign helper function 2020-12-13 14:39:50 +11:00
bresch f7bddda3d5 gps_alt: do not scale up reported gps vertical accuracy
The comment said that the horizontal accuracy needs to be scaled up
using the typical epv/eph ratio but the epv (vacc) is already available,
so no scaling is required.
2020-12-13 14:39:50 +11:00
bresch 02369cd415 gps_alt: extract measurement variance computation and saturation 2020-12-13 14:39:50 +11:00
Thomas e51000c5be fix syntax of prev commit 2020-12-11 22:00:56 +01:00
Thomas Stauber eec64c5c0f More compact if statement
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-11 22:00:56 +01:00
Thomas d025787334 replace _vehicle_status 2020-12-11 22:00:56 +01:00
Thomas db58269577 Add support for set_position_target_local_ned message 2020-12-11 22:00:56 +01:00
Thomas 1e6976234f Remove reset_offb_cruising_speed(). Make more explicit that this PR only affects offboard mode. 2020-12-11 22:00:56 +01:00
Thomas f1524fe27d renaming the new functions 2020-12-11 22:00:56 +01:00
Thomas 9cc9e4f89f Handle MAV_CMD_DO_CHANGE_SPEED command for FW Offboard global position control. 2020-12-11 22:00:56 +01:00
Daniel Agar 0433f4d33c land_detector: decrease default LNDFW_AIRSPD_MAX 8 -> 6 m/s 2020-12-11 21:58:43 +01:00
Daniel Agar ae2b1a265c commander: POSCTL optical flow aiding continue updating GPOS validity
- updating the global position validity should happen regardless of
being in manual position control mode with only optical flow
 - condition_global_position_valid needs to be accurate to adjudicate
main state changes (eg going into AUTO MISSION)
2020-12-11 15:33:50 -05:00
Daniel Agar 6bda8af97c commander: merge duplicated position and velocity validity checks 2020-12-11 15:33:50 -05:00
Daniel Agar 5cd4a9c73f commander: global position validity respect local position xy_valid 2020-12-11 15:33:50 -05:00
Daniel Agar ef6209ba03 new manual_control_switches msg (split out of manual_control_setpoint) (#16270)
- split out switches from manual_control_setpoint into new message manual_control_switches
 - manual_control_switches published at minimal rate (~ 1 Hz) or immediately on change
 - simple switch debounce in rc_update (2 consecutive identical decodes required)
 - manual_control_switches logged at full rate rather than sampled at (5-10% of messages logged)
 - manual_control_setpoint publish at minimal rate unless changing
 - commander handle landing gear switch for manual modes
 - processing of mode_slot and mode_switch is now split so we only do one or the other (not both)
     - a future step will be to finally drop mode_switch and accompanying switches entirely

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-12-11 12:11:35 -05:00
Daniel Agar 25ef76b3b8 navigator: fix LOITER_TO_ALT
- this was overzealously removed in https://github.com/PX4/PX4-Autopilot/pull/15677
2020-12-11 16:28:08 +01:00
Jannik Beyerstedt c5a6a60903 Also log transponder_report and satellite_info
* log full data rate transponder_report message by default
* log satellite_info (GPS_STATUS) as part of debug topics
2020-12-11 12:44:23 +01:00
RomanBapst fd18ba6496 tiltrotor: allow to finish transition if groundspeed is below cruise speed
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-11 09:40:47 +03:00
Roman Bapst 842d98d572 AirspeedValidator: fuse true airspeed before sideslip (#742)
- the states can be initialised more accurately using an airspeed measurement
and the wind estimator uses the first measurement to initialise

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-11 09:37:09 +03:00
Daniel Agar d44e537084 ekf2: update to new ecl to fix fault status getter
- estimator_status filter_fault_flags was broken because the union within ecl/EKF has exceeded 16 bits
2020-12-10 12:45:41 -05:00
Daniel Agar 1541e4b414 EKF: update control status and fault status getters
- the fault status union exceeded 16 bits, but the getter was get_filter_fault_status(uint16_t *val)
2020-12-10 09:13:12 -05:00
zhaoxiaowei fbf67bdef9 reset gps height use vacc 2020-12-10 10:07:59 +01:00
Beat Küng 72420dfff3 mavlink_receiver: remove unused _param_com_flight_uuid 2020-12-10 08:47:04 +01:00
PX4 BuildBot 7db555573b Update submodule ecl to latest Wed Dec 9 12:40:07 UTC 2020
- ecl in PX4/Firmware (ef162f7629ce29be8fd556b81357b96720d8e21f): https://github/commit/da7d41e78aecdc07d226bd7d723c747895d1c615
    - ecl current upstream: https://github/commit/8f3df7a97b348dd7bf06233004f9821fe2ea88d1
    - Changes: https://github/compare/da7d41e78aecdc07d226bd7d723c747895d1c615...8f3df7a97b348dd7bf06233004f9821fe2ea88d1

    8f3df7a 2020-12-09 Mathieu Bresciani - flow: restructure optical flow control logic (#928)
3835800 2020-12-09 kritz - Auto update change indication by github actions
688a054 2020-12-08 Daniel Agar - EKF: controlDragFusion() add parenthesis for readability
944b18c 2020-12-05 Paul Riseborough - EKF: Remove non useful status print
ee94980 2020-12-03 Paul Riseborough - EKF: Clean up wind state activation logic
44ebfb8 2020-12-02 Paul Riseborough - EKF: Don't report local position as valid when in a non-position mode
2020-12-09 13:12:58 -05:00
flbernier bca2d3139a Enable dshot driver for fmu-v4pro 2020-12-09 17:56:11 +01:00
Orkun Aşa f2aa7d3f88 Update ROMFS/px4fmu_common/init.d/rc.sensors
parameter comparison logic is changed.

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-12-09 17:55:38 +01:00
Orkun Aşa a6b7add2fe SENS_EN_VL53L1X parameter is implemented to enable VL53L1X distance sensor 2020-12-09 17:55:38 +01:00
Igor Campos 9c3b70d517 remove default value for roll angle 2020-12-09 17:54:53 +01:00
Igor Campos bbad1bdd6e add comment. 2020-12-09 17:54:53 +01:00
Igor Campos 33b831efe3 rename variables 2020-12-09 17:54:53 +01:00
Igor Campos dfcd6a7c16 fix typo 2020-12-09 17:54:53 +01:00
Igor Campos c316af6ec7 update to match new feature as a new mavlink command Oblique Survey 260 2020-12-09 17:54:53 +01:00
Igor Campos 390ed3765f disable pseudo-oblique mode if param4 is 0. 2020-12-09 17:54:53 +01:00
Igor Campos 38a5b8a502 fix comment description for pitch angle 2020-12-09 17:54:53 +01:00
Igor Campos d0ae931543 adjust minimum number of positions to 2. 2020-12-09 17:54:53 +01:00
Igor Campos 0cb3ce4886 fix readability 2020-12-09 17:54:53 +01:00
Igor Campos e1e06364da fix formatting 2020-12-09 17:54:53 +01:00
Igor Campos 73f7b08873 add Camera Auto Mount Pseudo Oblique Solution (CAMPOS)
add target system and component ids to vmount commands

Signed-off-by: Igor Campos <igor.gama.90@gmail.com>
2020-12-09 17:54:53 +01:00
Thomas 7e2da11d67 reenable WV after FT alignment 2020-12-09 17:36:20 +01:00
Mathieu Bresciani 8f3df7a97b flow: restructure optical flow control logic (#928)
- extract motion checks performed on ground
- move all non-timing check to controlOpticalFlowFusion. This simplifies and standardirzes the setOpticalFlowData function. Furthermore, in some cases (SITL, PX4Flow), the dt is forced to 0 when the quality is 0 (which is usual on ground) so the ekf needs to ignore those values on ground to initialize properly the flow fusion.
- add filter convergence test
- move check for dt time max in setOpticalFlowData
- in the simulator, do not update dt as this is the sensor integration
period.
2020-12-09 11:33:00 +01:00
Julian Oes a1b54eb655 mavlink: check index for out-of-bounds
If a MAP_RC_PARAM message is sent with an index > 2, this would lead
to undefined behaviour or a segfault/hardfault.
2020-12-09 08:59:57 +01:00
Mark Sauder dd4ee5c48c dshot: breakout driver header file, use static_casts, add const specifiers (#15908)
* Break out dshot.h from dshot.cpp and rename files to reflect the class name.
Move DShot class specific #defines from drv_pwm_output.h to dshot.h.
Replace c-style casts with static_casts, standardize method naming, single line comment styles, and formatting.
Rename update_dshot_out_state() to enable_dshot_outputs().
2020-12-09 08:51:47 +01:00
Daniel Agar cf010f44d0 Update submodule sitl_gazebo to latest Wed Dec 9 00:39:59 UTC 2020 (#16354)
- sitl_gazebo in PX4/Firmware (cd1ffa63cd): https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4...19981d61cfe656d2985fef5285b4a4d14f3be199

    19981d6 2020-12-08 Flavio Tonelli - Fix plugin misspelling (#665)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-12-09 08:43:45 +01:00
Daniel Agar cd1ffa63cd commander: auto transition to LOITER if disarmed with no RC only requires a valid global position 2020-12-08 18:26:03 -05:00
kritz 38358002bb Auto update change indication by github actions
Co-authored-by: kamilritz <kamilritz@users.noreply.github.com>
2020-12-08 18:05:28 -05:00
Daniel Agar 688a054bdb EKF: controlDragFusion() add parenthesis for readability 2020-12-08 18:03:04 -05:00
Paul Riseborough 944b18c63e EKF: Remove non useful status print
Local position is never valid when filter is initialised so there is no use printing the status.
2020-12-08 18:03:04 -05:00
Paul Riseborough ee94980a8f EKF: Clean up wind state activation logic
Ensure wind states are deactivated in one place and always when in a non-position mode.
Activate wind states separately for each observation method.
2020-12-08 18:03:04 -05:00
Paul Riseborough 44ebfb8c43 EKF: Don't report local position as valid when in a non-position mode 2020-12-08 18:03:04 -05:00
Daniel Agar 82746af07a ekf2: use new IMU and mag bias and variance getters in ecl/EKF
- reset IMU bias on calibration change (only works with multi-ekf)
 - standardize PX4_INFO/PX4_WARN/PX4_ERR output for multi-ekf with instance number
 - https://github.com/PX4/PX4-ECL/pull/924
2020-12-08 16:06:18 -05:00
Daniel Agar 8f5f564c05 commander: preflightcheck only report failure once per sensor type
- either way the user action is to recalibrate, so we might as well try
to minimize the noise/annoyance
2020-12-08 13:18:22 -05:00
Daniel Agar da7d41e78a EKF: add mag bias reset helper and update IMU bias reset to match (#924) 2020-12-08 12:16:59 -05:00
Silvan Fuhrer edaf9f2bb6 FW Position Controller: consolidate mission throttle adaptions for position and loiter waypoints
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 12:08:36 -05:00
Silvan Fuhrer 6d255df0a8 airspeed selector: disable beta fusion when not in fixed-wing mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 11:43:27 -05:00
Silvan Fuhrer 59564af860 wind_estimate message: add identifier for source
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 11:43:27 -05:00
Roman Dvořák bc1c8fb73a GPS_DUMP_COMM: dump all gps instances 2020-12-08 11:45:24 +01:00
Julian Oes fd261b590c battery: don't init uint16_t with -1.0f
This was flagged as undefined behaviour by fuzz testing.
2020-12-08 09:58:29 +01:00
Daniel Agar 681590c510 ekf2: multi-ekf force initial selection (and sensor_selection publication)
- depending on the particular sensor configuration and startup timing we were getting an initial sensor_selection publication without valid accel & gyro device ids (only applies to Multi-EKF)
 - fix faulty accel and gyro device ids
 - initialize unused test ratio fields to NAN for logging clarity
2020-12-07 21:37:24 -05:00
bresch 3276916df9 HomePos: check corresponding validity before using data 2020-12-07 10:24:23 -05:00
bresch 711bd2ce87 Commander: use helper to set home position 2020-12-07 10:24:23 -05:00
bresch f3e5b86b06 Commander: set home position in air
en/dis-able in-air home position via parameter COM_HOME_IN_AIR
2020-12-07 10:24:23 -05:00
JaeyoungLim e8cefcafbc Fix gazebo_sitl_multiple_run.sh scripting (#16340)
This commit fixes the problem when using scripting options. This regression was introduced by #15463
2020-12-07 06:17:15 +01:00
Julian Oes a2ff53b018 mavlink: remove typedef of anonymous struct
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
Julian Oes 8900c6200d commander: remove typedef of anonymous struct
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
David Sidrane 1cd36d4c8c PX4 NuttX 10.0.0+ With IMX backports 2020-12-04 12:59:09 -05:00
David Sidrane 1b70e5f978 nxp_fmurt1062-v1:Rev B will be Using active CD 2020-12-04 12:59:09 -05:00
David Sidrane 394c2edea3 nxp_fmurt1062-v1:Added Single wire support for SBUS 2020-12-04 12:59:09 -05:00
David Sidrane 171cb7119e nxp_imxrt,rt106x add imxrt_gpiosetevent 2020-12-04 12:59:09 -05:00
David Sidrane d4a78cea5a nxp_fmurt1062-v1:Correct intial state of PIO_nVDD_5V_{HIPOWER|PERIPH}_E to OFF 2020-12-04 12:59:09 -05:00
David Sidrane 67a78a70ea nxp_fmurt1062-v1:Telem 1 & 2 Swapped to have real HW HS on Telm2 2020-12-04 12:59:09 -05:00
David Sidrane 1dd22acd12 nxp_fmurt1062-v1:Fix memory overflow 2020-12-04 12:59:09 -05:00
David Sidrane 0ca7783ea5 nxp_fmurt1062-v1:Refreshed defconfig fixing 'if-then' disabled 2020-12-04 12:59:09 -05:00
David Sidrane 8d8a31c56d WorkQueueManager:Increase stack size 2020-12-04 12:59:09 -05:00
JaeyoungLim e6992db1ca Use enums for set attitude setpoint typemasks for offboard mode (#16327)
This commit switches the typemask comaparision to enums for better readability
2020-12-04 17:44:33 +01:00
PX4 BuildBot 3783ab4a6a Update submodule sitl_gazebo to latest Fri Dec 4 00:39:14 UTC 2020
- sitl_gazebo in PX4/Firmware (25c113a527): https://github.com/PX4/PX4-SITL_gazebo/commit/cd8ba25c81f32d6fe088482e37f8a38892209ef4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/cd8ba25c81f32d6fe088482e37f8a38892209ef4...e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4

    e01ba8f 2020-12-03 JaeyoungLim - Add macos build tests for Bigsur (#663)
a6698f5 2020-11-19 Daniel Agar - update gitignore (#658)
2020-12-03 23:50:40 -05:00
Daniel Agar 5e6189ee5a Update submodule mavlink v2.0 to latest Fri Dec 4 00:39:20 UTC 2020
- mavlink v2.0 in PX4/Firmware (dce7cfbddefe53fd0381582121883134a4df1b73): https://github.com/mavlink/c_library_v2/commit/1de17e039b27c541ccdb9ed214ea41aaaf180ae0
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8f481688d70541e8f91ee8c4fc233ca70cd7fad9
    - Changes: https://github.com/mavlink/c_library_v2/compare/1de17e039b27c541ccdb9ed214ea41aaaf180ae0...8f481688d70541e8f91ee8c4fc233ca70cd7fad9

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-12-03 23:49:28 -05:00
Daniel Agar cc979d2249 Update submodule GPSDrivers to latest Fri Dec 4 00:39:25 UTC 2020
- devices in PX4/Firmware (1303a8f17c5174a02b1c3ed22acd88da499e5a53): https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
    - devices current upstream: https://github/commit/5afc11588b2b6ec0861ecf9ef673c7a9e2109129
    - Changes: https://github/compare/0bf63c9820f4af997d0a48743dcc1008d119e49c...5afc11588b2b6ec0861ecf9ef673c7a9e2109129

    5afc115 2020-11-30 Beat Küng - gps_helper: define M_PI_F if not defined (was missing for ubx)
2020-12-03 23:48:29 -05:00
Daniel Agar 01620420fa ekf2: update to latest ecl with RingBuffer minor improvements
- includes https://github.com/PX4/PX4-ECL/pull/938
2020-12-03 21:17:22 -05:00
Daniel Agar 03cfcb903e EKF: RingBuffer minor improvements
- allocate IMU and output buffers on construction according to defaults
 - determine buffer max time delay based on configuration parameters
 - reorder flowSample and extVisionSample to minimize padding
 - adjust parameter defaults to match PX4-Autopilot
2020-12-03 20:48:51 -05:00
Matthias Grob 25c113a527 StickAccelerationXY: boost low speed brake 2020-12-03 18:19:42 +01:00
Matthias Grob badaf1eae0 Functions: add squareroot linear function 2020-12-03 18:19:42 +01:00
Matthias Grob 3f3a82e034 FlightTaskManualAcceleration: reset position lock on reactivation
to prevent having a fixed position lock while moving the vehicle
on the ground before flying.
2020-12-03 18:19:42 +01:00
Matthias Grob 66f8fc08c0 FlightTasks: refactor to use isAnyTaskActive() 2020-12-03 18:19:42 +01:00
David Sidrane 229f02a4f9 mtd:Reduce functionality on memory constrained systems 2020-12-02 20:40:23 -05:00
David Sidrane b4693f41da rcS:Use mft query not mtd start 2020-12-02 20:40:23 -05:00
David Sidrane 22bc176885 Added mft for queries 2020-12-02 20:40:23 -05:00
David Sidrane f8148593ad uvify_core: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 94825ddc6e spracing_h7extreme: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 44ffc855dc px4_fmu-v6x: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane d9151af291 px4_fmu-v4pro: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane c9063beacc px4_fmu-v4: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79bedbc908 px4_fmu-v3: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 313b3edc04 px4_fmu-v2: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6e9f50f48e omnibus_f4sd: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 74a0693040 nxp_ucans32k146: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane ad1c603af4 nxp_fmurt1062-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 65b3b0b2e7 nxp_fmuk66-v3: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6f27deab40 nxp_fmuk66-e: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 434f63d479 mro_x21: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 7c07ce9649 mro_x21-777: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 5703070974 mro_ctrl-zero-f7: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 2247779216 modalai_fc-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6dba2425c2 intel_aerofc-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a2a8d2fcf2 holybro_pix32v5: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 2b69fad3ac holybro_kakutef7: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79744ec156 holybro_durandal-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 55c091e0fc cubepilot_cubeyellow: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6b93865cfc cubepilot_cubeorange: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 16f388d625 cuav_x7pro: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 26e164c3ba cuav_nora: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79f177fe94 cuav_can-gps-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 1bb2b0b06c bitcraze_crazyflie: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a09d240c72 av_x-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 4c5aa12a18 airmind_mindpx-v2: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 52b5856ff0 px4_fmu-v5:Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a60df85a09 px4_fmu-v5x:Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane e83a00c604 px4_manifest:Add Queries 2020-12-02 20:40:23 -05:00
David Sidrane 68ab736b16 Refactor mtd to make available to board startup 2020-12-02 20:40:23 -05:00
David Sidrane 1b9ab2a3e2 px4_fmu-v5x:Manifest Update Adde Rev 1 HW and fix VER 1
VER is on BASE
   REV is on FMU
     ver|rev
     bas|fmu
    {0x0000, hw_mft_list_v0500, ...(hw_mft_list_v0500)},
    {0x0001, hw_mft_list_v0501, ...(hw_mft_list_v0501)}, <-- was wrong

    This falsly selected the NO I/O version
2020-12-02 19:56:14 -05:00
PX4 BuildBot 67f13f7ede Update geo_lookup WMM to latest Wed Dec 2 11:48:25 UTC 2020 2020-12-02 19:47:46 -05:00
Daniel Agar 378c0b5093 parameters: find and get perf counters aren't threadsafe 2020-12-02 10:11:42 -05:00
Daniel Agar e69aea0a9b parameters: don't keep in memory if set to default 2020-12-02 10:11:42 -05:00
Daniel Agar c305774fae commander: move vehicle_status into class 2020-12-02 10:20:50 +01:00
Daniel Agar b7de10fca3 commander: move vehicle_status_flags to class 2020-12-02 10:20:50 +01:00
Daniel Agar dc435c4c90 commander: control_status_leds() use _armed directly 2020-12-02 10:20:50 +01:00
Daniel Agar 8ac2581d7b commander: handle_command() use _armed directly 2020-12-02 10:20:50 +01:00
Daniel Agar 741a0b43e8 commander: move mavlink_log_pub into class 2020-12-02 10:20:50 +01:00
Daniel Agar a03b91c01e commander: move answer_command() to class 2020-12-02 10:20:50 +01:00
Daniel Agar d5dc7e2873 commander: move actuator_armed state into class 2020-12-02 10:20:50 +01:00
Matthias Grob de66616341 MulticopterPositionControl: don't switch out of Orbit task
when it got started via vehicle_command
2020-12-01 10:00:46 -05:00
Matthias Grob 8f40558f41 MulticopterPositionControl: reset task when switching mode
to make sure the state is clean between auto mode switches.
2020-12-01 10:00:46 -05:00
Daniel Agar 85f3ab1960 rc_update: only decode if RC input is stable (channel count and source) 2020-12-01 09:40:24 -05:00
Daniel Agar d654be761c ms4525: remove old voltage corrections
- this isn't correct for all boards and we now have airspeed scale
factor estimation
2020-12-01 09:34:47 -05:00
Alex Mikhalev 378b41af6a tunes: Improve logic for interrupting tunes
src/lib/tunes already knows which tunes are interruptable, so add
return values to expose than and use than in tone_alarm.
This fixes the issue that repeating tunes cannot be interrupted without
tune_override set to true.

Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2020-11-30 16:56:13 -05:00
JaeyoungLim bd943d872c Use explicit typemasks for offboard position setpoints (#16296)
This uses enums of the POSITION_TARGET_TYPEMASK in order to separate typemasks that are part of the mavlink specs more explicitly
2020-11-30 22:12:06 +01:00
Beat Küng a63e8cc149 fix mavlink: ensure vehicle_command topic exists
If the first publisher publishes multiple commands right after each other
(e.g. on 'commander takeoff'), mavlink would miss the first and print an
error like 'vehicle_command lost, generation 0 -> 2'.

This is due to a recent uORB behavior change.
2020-11-30 11:53:22 -05:00
Beat Küng 05a3492174 commander: remove low priority thread, run tasks in a worker thread on demand
- removes race conditions
- removes dependencies on static data & methods
- reduces RAM usage by ~3.8KB
2020-11-30 11:53:22 -05:00
Beat Küng 419b336a15 commander: fix ModuleBase usage, remove volatile flag 2020-11-30 11:53:22 -05:00
Antonio Sanjurjo Cortés aa80167b47 mavlink: rename OPTICAL_FLOW header and defines to OPTICAL_FLOW_RAD
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 7dde298664 mavlink: move COLLISION to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 2243931abd mavlink: move ATTITUDE_TARGET to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés ce28aa089b mavlink: move ATTITUDE_QUATERNION to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 8ac2ada0e6 mavlink: move ATTITUDE to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 0bf622e211 mavlink: move OPTICAL_FLOW to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
斯东Stone 5f0ecc893e boards: holybro/durandal add TELEM3 (/dev/ttyS4) 2020-11-29 10:17:18 -05:00
Jaeyoung-Lim d59ba2032f Handle takeoff waypoints for rover
Fix
2020-11-29 00:08:53 +01:00
TSC21 1d1fbdb1d3 microRTPS: remove byte ordering for nested types 2020-11-28 21:26:50 +01:00
SalimTerryLi 2d0eb4a41a pca9685_pwm_out: small improvement (#16196)
* reduce I2C transfers and enable EXTCLK support
* schedule rate limit arg
* apply state machine and do actual init in Run()
2020-11-27 17:17:45 -05:00
Silvan Fuhrer 3309bf21dd FW att C: do not lock or reset integrator if tailsitter and in hover
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:28:52 +03:00
Silvan Fuhrer efe42451b6 tailsitter_duo mixer: remove output scaling (that reduced the max deflection of the elevons)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:28:52 +03:00
Silvan Fuhrer 646b5bb578 L1: Do only check for wrong tangent_vel if in circle_mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:04:06 +03:00
JaeyoungLim c5486ca47e sitl: fix sitl_run to run on macOS (#16287)
This commit removes the readarray command from the Tools/sitl_run.sh.
This fixes the issue where SITL was not able to run due to readarray not being available on macOS
2020-11-27 10:49:22 +01:00
Ricardo Marques 3215c50660 commander: Fix comment typos.
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-11-27 10:25:32 +01:00
Hamish Willee 336639897e Fix incorrect docs URLs in airframes definitions (#16288) 2020-11-27 07:44:02 +01:00
BazookaJoe1900 bd09be43c0 simulator mavlink actuator limits (#15861)
using unified way to decide which output should be scale as rotor
fixed case that actuator that wasn't set (value 0 "PWM") results output of -3
make default actuator mode to set all actuator to range of -1 to +1
cleanups
2020-11-26 14:42:31 +01:00
Jukka Laitinen fdb4ede6c2 Add topic namespace support for micrortps agent generation
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2020-11-26 12:34:56 +00:00
Matthias Grob ce8f4dece2 rc_update_params: clarify failsafe channel and threshold 2020-11-26 10:55:35 +01:00
Silvan Fuhrer 5382d3b8fb rc.VTOL_defaults: enable wind estimation in EKF by default and remove MPC_LAND_SPEED being, as it's just set to param default
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-26 08:50:49 +01:00
Daniel Agar ec9f8998a7 commander: limit mode switch re-evaluation logic on estimate validity changes
- re-evaluating mode switches on altitude or position validity change can create confusing when also relying on mode changes via mavlink
 - limiting this logic to only apply when disarmed solves the original problem (respecting initial switch position) without introducing potential problems mid-flight
 - fixes https://github.com/PX4/PX4-Autopilot/issues/16235
2020-11-25 21:14:55 -05:00
Paul Riseborough 3e4c38f6e8 ekf2: Fix bug causing excessive lane selection switching 2020-11-25 10:00:07 -05:00
Daniel Agar 5e855c6747 commander: preflightcheck and calibration remove hash (#) from mavlink message
- QGroundControl is reading these as "Hash" and I don't think it's ambiguous if removed
2020-11-23 21:56:23 -05:00
Beat Küng 615333badb logger: log gps_dump if GPS_DUMP_COMM is set 2020-11-20 11:04:52 -05:00
David Sidrane 0db70ea475 nxp_fmurt1062-v1:Track fixes on schematic USDHC CD now correct polarity 2020-11-20 00:48:31 -05:00
David Sidrane 136b6a3509 nxp_fmurt1062-v1:Track fixes on schematic OC/EN had been swapped 2020-11-20 00:48:31 -05:00
Daniel Agar 71306f7f83 update all container tags to 2020-11-18 2020-11-19 13:37:57 -05:00
David Sidrane ee3285a34f Fixed PX4IO uploader debug output 2020-11-19 13:35:36 -05:00
Matthias Grob 65e1b702c9 GPS_GLOBAL_ORIGIN: simplify send logic 2020-11-19 19:00:37 +01:00
Matthias Grob 0ca63120eb mavlink_messages: add GPS_GLOBAL_ORIGIN
sending out local position reference.
Only send as anser to a request message command or
when the origin was changed from externally to verify.
2020-11-19 19:00:37 +01:00
Matthias Grob 41b56f20b8 mavlink_messages: fix raw rpm message size 2020-11-19 19:00:37 +01:00
Matthias Grob c845265b1b mavlink_receiver: use SET_GPS_GLOBAL_ORIGIN to set the origin
The message GPS_GLOBAL_ORIGIN is meant as a telemtry information message
to send out the components reference and not to set it. I had to switch
to listen to SET_GPS_GLOBAL_ORIGIN such that I can implement sending out
GPS_GLOBAL_ORIGIN.
2020-11-19 19:00:37 +01:00
Daniel Agar 1425d87640 boards: px4_fmu-v5 sync all defconfigs 2020-11-19 11:21:47 -05:00
jaeyoung fb3b1f8bd9 Update sitl_gazebo submodule 2020-11-19 10:03:59 -05:00
jaeyoung 68855b5c9b Update mavlink 2020-11-19 10:03:59 -05:00
David Sidrane b6f24eefb2 The PX4IO driver uses DMA but not NuttX's TXDMA 2020-11-19 09:39:08 -05:00
alessandro f18e70029a Correct topic name for thermal corrections
The message used is ./msg/sensor_correction.msg
2020-11-19 08:23:25 +01:00
CUAV_gitfishup 80df04ddca UAVCAN: publish ardupilot::indication::SafetyState (enables CUAV NEO v2 pro GPS) 2020-11-18 10:00:49 -05:00
Jari van Ewijk a246defb68 NXP UCANS32K146: Configure PWM timer for production version 2020-11-18 04:54:38 -08:00
JaeyoungLim 5e693180d9 Fix bash error when running SITL Gazebo (#16221) 2020-11-18 04:23:19 +01:00
Matthias Grob fabeb22ae4 mavlink_receiver: remove unused decode_switch_pos function 2020-11-17 19:48:01 -05:00
Daniel Agar 7baeb78964 mavlink: STATUSTEXT track missed mavlink_log messages 2020-11-17 19:47:06 -05:00
Daniel Agar e1168070d1 mavlink: decrease task stack 2020-11-17 19:47:06 -05:00
Daniel Agar 3f9e5a6934 drivers/device/ringbuffer: move into crazyflie syslink (only remaining user) 2020-11-17 19:47:06 -05:00
Daniel Agar ed8a30d73e mavlink: STATUSTEXT directly use mavlink_log subscription
- ORB_ID(mavlink_log) increase queue depth now that mavlink ringbuffer is gone
2020-11-17 19:47:06 -05:00
Sander Swart 387659d615 Added support for models located in all paths defined in GAZEBO_MODEL_PATH (#16214)
Co-authored-by: Sander Swart <sander.swart@live.nl>
2020-11-17 16:12:31 +01:00
bbworld1 5e6f8a9606 Add typhoon h480 support to gazebo multiple sim (#16210)
* Add typhoon h480 support to gazebo multiple sim

This commit adds support for the typhoon_h480 model for the
gazebo_sitl_multiple_run.sh script.

* Update sitl_gazebo to latest version
2020-11-17 04:20:45 +01:00
Daniel Agar fb1f360724 mavsdk_tests: consistent 180s disarm timeout 2020-11-16 15:55:10 -05:00
Daniel Agar f5660c6b0c mavsdk_tests: adjust px4 and gzserver priority relative to mavsdk_test
- this is to avoid starving the test runner
2020-11-16 15:55:10 -05:00
Daniel Agar 22fbcf98cf Tools/setup: requirements.txt add pymavlink
- needed for Tools/mavlink_shell.py
2020-11-16 12:14:41 -05:00
Daniel Agar ce51a01822 boards: cubepilot orange and yellow start isolated sensor bus (SPI4) first
- this makes the isolated sensors primary by default
2020-11-16 09:31:12 -05:00
Daniel Agar f7452bff4d ROMFS: startup remove bootlog.txt 2020-11-16 09:19:35 -05:00
Silvan Fuhrer b58e270fd4 FW Position Control: remove manual climbout mode trigger via pitch stick
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-16 14:41:01 +01:00
SalimTerryLi ad4068f472 platforms/posix: mlockall() support
* add basic mlock support to increase stability when system is under high load and RAM is almost full
 * mainly about minimizing or completely eliminating RAM page swap time
2020-11-15 23:53:10 -05:00
PX4 BuildBot 37567bbee0 Update submodule sitl_gazebo to latest Mon Nov 16 00:38:40 UTC 2020
- sitl_gazebo in PX4/Firmware (eb3135e79c): https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/0a4d0708e839388668575d61623903c297a73a34
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/27e06e2a4906cc0a028d8e688f243dfafa7920a4...0a4d0708e839388668575d61623903c297a73a34

    0a4d070 2020-11-13 BazookaJoe1900 - clean build warning due to wrong string size
2020-11-15 21:32:51 -05:00
Daniel Agar eb3135e79c systemcmds/tests: always build with optimization
- needed to keep Matrix stack usage reasonable
 - split matrix tests to further minimize stack usage
2020-11-15 19:15:56 -05:00
Daniel Agar 963d101375 boards: fmu-v5 debug and stackcheck increase interrupt stack 2020-11-15 17:00:11 -05:00
Daniel Agar 053bf7e732 Jenkins HIL tolerate certain failures
- px4_fmu-v5 debug and stackcheck builds initial configuration is best effort
 - nxp_fmuk66-v3 allow overall tests command to fail due to intermittent serial console issues
2020-11-13 21:50:13 -05:00
Daniel Agar ee9ce1087a IMU_DGYRO_CUTOFF add conservative default (0 Hz -> 30 Hz) 2020-11-13 21:26:35 -05:00
PX4 BuildBot 683fcdc910 Update submodule sitl_gazebo to latest Fri Nov 13 20:14:29 UTC 2020
- sitl_gazebo in PX4/Firmware (40bf460717): https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1...27e06e2a4906cc0a028d8e688f243dfafa7920a4

    27e06e2 2020-11-12 JaeyoungLim - Add catkin build test (#652)
6f6f420 2020-11-12 JaeyoungLim - Replace water level to ocean model (#649)
2020-11-13 19:00:32 -05:00
Daniel Agar 174c5c5797 Jenkins HIL fmu-v5 debug and stackcheck attempt to config conservative defaults before flashing
- keep minimal rate for expensive fmu-v5 debug and stackcheck builds
2020-11-13 18:03:09 -05:00
Daniel Agar dd3c1a3653 Tools/HIL: relax command retry for now 2020-11-13 18:03:09 -05:00
Jaeyoung-Lim 40bf460717 Update jsbsim bridge to latest
This commit updates the jsbsim bridge to the latest
2020-11-13 12:45:21 -05:00
Daniel Agar 29658961ef mavlink: move DISTANCE_SENSOR to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 860a7fd1db mavlink: move ALTITUDE to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar a8f0987028 mavlink: move WIND_COV to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 4a9f293596 mavlink: move MOUNT_ORIENTATION to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 4a6c90b8ea mavlink: STATUSTEXT check TX buffer before sending
- Note the TX buffer size check is lazily ignoring the possibility of messages that span multiple Mavlink STATUSTEXT. This at least accommodates the calibration use case and it's no worse than before for longer messages.
2020-11-13 09:52:05 -05:00
CUAV_gitfishup e399dbc440 boards: CUAV Nora support cuav_neo_v2_pro and disable CONFIG_STM32H7_BDMA 2020-11-13 09:45:57 -05:00
BazookaJoe1900 66edc822fe boards: px4/fmu-v5 fix DMAmap documentation
- fixed notes and removed none used definitions
 - set defconfig to define UART8_RXDMA and UART8_TXDMA though the DMA is not handled by nuttx, just to clarity
2020-11-12 11:26:45 -05:00
Daniel Agar d14b4221f1 sensor calibration: apply board level adjustment to external sensors (#16127)
- apply SENS_BOARD_{X,Y,Z}_OFF to external sensors to prevent unnecessary misalignment with internal IMU
2020-11-12 10:37:30 -05:00
bresch 5f0c572c61 GPS_YAW_OFFSET: fix param description 2020-11-12 09:35:40 +01:00
Daniel Agar 3cf072debc HIL tests remove deleted smoothz test 2020-11-11 20:22:06 -05:00
Daniel Agar 1659447abb px4_work_queue: reduce INS (ekf2) stack by 1200 bytes 2020-11-11 20:17:52 -05:00
Daniel Agar 5d7ea62190 estimator_innovations: remove unimplemented fake vel & pos fields
- easy to readd if and when they're needed
2020-11-11 20:17:52 -05:00
Daniel Agar 880dc6accd ekf2: compile at MAX_CUSTOM_OPT_LEVEL 2020-11-11 20:17:52 -05:00
Daniel Agar 1e03285405 ekf2: avoid storing in_ground_effect state 2020-11-11 20:17:52 -05:00
Daniel Agar 26de630dc5 ekf2: remove landed flag and use control_status directly 2020-11-11 20:17:52 -05:00
Daniel Agar 89ab6a5dbf ekf2: preflight checks only reset on STANDBY change
- avoid storing unnecessary state and call setVehicleCanObserveHeadingInFlight() directly
2020-11-11 20:17:52 -05:00
Daniel Agar b9fff2c221 ekf2: sensor_selection only updated in non-multi mode
- publish attitude as soon as possible
2020-11-11 20:17:52 -05:00
Daniel Agar 7264577eec ekf2: split perf counters (full update or not) and reorganize Run() slightly 2020-11-11 20:17:52 -05:00
Daniel Agar a68fe4dbd7 ekf2: move parameter update to beginning of cycle 2020-11-11 20:17:52 -05:00
Daniel Agar 5ae7c80a18 ekf2: move rangeSample update to UpdateRangeSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 991015c5c6 ekf2: move magSample update to UpdateMagSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 68f49619b7 ekf2: move gps_message update to UpdateGpsSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 0db706011a ekf2: move FlowSample update to UpdateFlowSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 8ee197acad ekf2: move vehicle_odometry_aligned publication to PublishOdometryAligned() 2020-11-11 20:17:52 -05:00
Daniel Agar b29f3c7ce5 ekf2: move ExtVisionSample update to UpdateExtVisionSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 0f56793116 ekf2: move BaroSample update to UpdateBaroSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 6b30f01daf ekf2: move AuxVelSample update to UpdateAuxVelSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 651e292d42 ekf2: move AirspeedSample update to UpdateAirspeedSample() 2020-11-11 20:17:52 -05:00
Daniel Agar f4f3ba47a2 ekf2: move mag calibration to UpdateMagCalibration() 2020-11-11 20:17:52 -05:00
Daniel Agar 96178a6fb0 ekf2: publish yaw estimator status last 2020-11-11 20:17:52 -05:00
Daniel Agar 05de61ff15 ekf2: move estimator innovations publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 387186c11d ekf2: move estimator innovation test ratios publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 3b9965ff8d ekf2: move estimator innovation variances publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 94415a45fa ekf2: move estimator status publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 03388f4656 ekf2: move estimator states publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 98334d1325 ekf2: move local position publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar c09a5e0d9f ekf2: move global position publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 8616345346 ekf2: move estimator_sensor_bias publication to method
- only publish if there's a change in bias
 - publish current estimated mag bias, including saved mag bias
2020-11-11 20:17:52 -05:00
Daniel Agar e397cbf8bb ekf2: move ekf_gps_drift publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 0d657c74bf ekf2: rename publish helpers mixed case (google style guide) 2020-11-11 20:17:52 -05:00
Daniel Agar 68f24954cf imu/st/lsm9ds1: refactor to same form as other new IMU drivers
- register configuration captured in table and checked periodically
 - simple state machine
 - all driver sleeps removed
 - driver respects IMU_GYRO_RATEMAX
2020-11-11 19:22:12 -05:00
Silvan Fuhrer 5dd14dfd54 FW Position Control: re-add wrongly removed airspeed_poll()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-11 19:20:03 -05:00
Daniel Agar a8f665739d mavsdk_tests: manual fly forward for slightly longer 2020-11-11 19:16:39 -05:00
Daniel Agar 756609c3e8 mavsdk_tests: relax corridor radius default for missions 2020-11-11 19:16:39 -05:00
Matthias Grob ff801fbc08 FlightTasks: remove FlightTaskManualPositionSmooth
alias first smooth position control version from 2017.

RIP it served well.
2020-11-11 21:16:18 +01:00
Matthias Grob e6338d8a2f MulticopterPositionControl: default cases with unsupported POS_MODE 2020-11-11 21:16:18 +01:00
Matthias Grob 0b8f092d2b Add acceleration stick mapping for position mode 2020-11-11 21:16:18 +01:00
Daniel Agar b50e6bda69 cmake: NuttX apps build updates
- NuttX Apps no longer generates the .built file
2020-11-11 12:06:39 -05:00
Daniel Agar 9767a73619 ROMFS: silently compare optional parameters
- not all build configurations have these parameters/modules
2020-11-11 08:03:48 +01:00
Daniel Agar 7ba73b46ca uORB: tests decrease stack
- save a bit of memory for running on older boards
2020-11-10 23:44:02 -05:00
Daniel Agar 3924792c20 Jenkins: HIL improve run_tests.py and run_nsh_cmd.py helper
- switch to python3
 - run_nsh_cmd.py return error if command fails
 - decrease timeout in checking for output
 - Jenkins hardware tests tolerate certain command failures that aren't available on all boards (flash constrained, etc)
2020-11-10 22:45:50 -05:00
AlexanderAurora ea09d9ebbf landing_slope: added wrap_pi to getLandingSlope and getFlareCurve
- fixes https://github.com/PX4/PX4-Autopilot/issues/16132
2020-11-10 18:58:14 -05:00
PX4 BuildBot f4964aea52 Update submodule sitl_gazebo to latest Tue Nov 10 19:18:06 UTC 2020
- sitl_gazebo in PX4/Firmware (79ad5eab34b76fbe54c2056974230a122362a62f): https://github.com/PX4/PX4-SITL_gazebo/commit/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5...ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1

    ee7661e 2020-11-06 Julian Oes - cmake: don't link to protobuf
2020-11-10 18:54:08 -05:00
PX4 BuildBot 824238ecb8 Update submodule devices to latest Tue Nov 10 19:18:16 UTC 2020
- devices in PX4/Firmware (e65317c5fd7440ebb983cb8b07f48d67678ab86e): https://github/commit/592e4289d941eb0b7d84e6da9d72d731083633ee
    - devices current upstream: https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
    - Changes: https://github/compare/592e4289d941eb0b7d84e6da9d72d731083633ee...0bf63c9820f4af997d0a48743dcc1008d119e49c

    0bf63c9 2020-11-05 Morton Lin - replace non-ascii characters in source code (#61)
2020-11-10 18:53:40 -05:00
PX4 BuildBot 8b9ae49508 Update submodule ecl to latest Tue Nov 10 19:18:21 UTC 2020
- ecl in PX4/Firmware (579a8c3a688e536b1ae4177c3e3edcea438e74d5): https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
    - ecl current upstream: https://github/commit/da9f314b69585ba169d033fec293e9ea48b9d1fd
    - Changes: https://github/compare/a21092804a784d012939f96cc633e7da5f5e8cde...da9f314b69585ba169d033fec293e9ea48b9d1fd

    da9f314 2020-11-10 bresch - mag: use strength in Gauss
c4d162f 2020-11-04 Claudio Micheli - EKF: range_finder parameterize range sensor quality hysteresis time
6158d6d 2020-11-02 Daniel Agar - EKF: add const reference getters for status flags
2020-11-10 18:53:03 -05:00
Daniel Agar b491929ad6 Jenkins: HIL tests only finish on PASSED, FAILED, or timeout 2020-11-10 16:41:13 -05:00
Daniel Agar d33a48eb24 systemcmds/topic_listener: remove excludes
- this is a bit wasteful, but we can afford it for now everywhere listener is enabled
2020-11-10 13:46:48 -05:00
Daniel Agar c8dfcf7f0d Github Actions: break up MAVSDK SITL tests
- run only 1 vehicle type per location
2020-11-10 13:11:51 -05:00
SalimTerryLi 6728a3a05a boards: rename AirPi2 to PilotPi, add arm64 support, add to CI
* rename all
* add arm64 support
* change internal ist8310 onto I2C-1
2020-11-10 11:04:47 -05:00
Daniel Agar 38fbb452da vscode add navio2 variant and native debug launch 2020-11-10 10:38:46 -05:00
bresch da9f314b69 mag: use strength in Gauss 2020-11-10 20:25:09 +11:00
Nicolas Martin 1965cd38ba arm auth: add parameters migration
should be reverted in v1.13
2020-11-10 09:03:59 +01:00
Nicolas MARTIN 8b96ff57d7 arm auth: split COM_ARM_AUTH in 3 parameters
new params are:
- COM_ARM_AUTH_ID
- COM_ARM_AUTH_MET
- COM_ARM_AUTH_TO
2020-11-10 09:03:59 +01:00
Nicolas MARTIN 6579544fca arm_auth: use ack reception timestamp to compute authorization timeout 2020-11-10 09:03:59 +01:00
Nicolas MARTIN e89c21155a arm_auth: check authorization timestamp to skip old commands 2020-11-10 09:03:59 +01:00
David Sidrane defa437b88 Add HY-SRF05 ultrasonic sensor driver
* nxp_fmuk66-e: Use srf05 distance sensor
 * nxp_fmuk66-v3: Use srf05 distance sensor
2020-11-08 13:25:58 -05:00
Daniel Agar c60743b306 boards: NuttX increase file name max 32 -> 40 2020-11-08 12:51:59 -05:00
PX4 BuildBot 5ce0b5a32c Update submodule matrix to latest Sat Nov 7 19:38:27 EST 2020
- matrix in PX4/Firmware (0c3c9bea0f8466d0c14326d134fd0fa06f480cf5): https://github/commit/ce6b10b99af722a4e653387d40019a8428d2a54f
    - matrix current upstream: https://github/commit/a504b6e88152d88dba936bc74e449f2f281b84e2
    - Changes: https://github/compare/ce6b10b99af722a4e653387d40019a8428d2a54f...a504b6e88152d88dba936bc74e449f2f281b84e2

    a504b6e 2020-11-04 Mitchell-Lee-93 - precision of tol for float has been changed
2020-11-08 12:35:27 +01:00
stou-sandalski 6b23e28971 Fix for missing battery voltage from UAVCAN power modules (#16138)
It seems that battery.voltage_* is no longer used and QGC is getting voltage data from the cell voltage array instead.
2020-11-08 12:34:41 +01:00
Alex Mikhalev 91d1825fcf Fix non-determinstic boot hang with crashdumps
On boot, if board_hardfault_init finds a hardfault stored in BBSRAM, it
checks if there is any data available on stdin to see if there is
somebody there to respond to a prompt. But on boards such as cubeorange
where there is not a serial console by default, the ioctl fails and
bytesWaiting is uninitialized. So it will non-deterministally hang the
boot process with no outside feedback if that value is not zero.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-11-05 12:41:01 -08:00
Adam Blazczak 149ac16bb4 add support for secondary GPS interface
Useful for navio2 or px4_raspberrypi when attaching a secondary (UART) GPS through one of the USB ports; the default navio2 onboard GPS is running on spi.

Example usage:
gps start -d /dev/spidev0.0 -i spi -e /dev/ttyACM0 -j uart -p ubx
2020-11-05 08:59:11 +01:00
Hamish Willee ffa38f1b4f module markdownout - explicit anchor not heading 2020-11-05 08:56:31 +01:00
Claudio Micheli c4d162f9a0 EKF: range_finder parameterize range sensor quality hysteresis time
Signed-off-by: Claudio Micheli <claudio@auterion.com>
Co-authored-by: bresch <brescianimathieu@gmail.com>
2020-11-04 12:35:39 -05:00
Daniel Agar bde5cadba7 ROMFS: replay automatically create replay_params.txt 2020-11-04 11:47:01 -05:00
Daniel Agar 142452f80c replay: print parameter changes and error on mismatch 2020-11-04 11:47:01 -05:00
Daniel Agar 03aa2dd46c ROMFS: create NXP HoverGames airframe (SYS_AUTOSTART 4017)
Co-authored-by: igalloway <iaintravelgalloway@gmail.com>
2020-11-04 11:43:20 -05:00
Beat Küng e6ad321ab2 gps: add GPS_{1,2}_PROTOCOL param to select protocol, default to u-blox
u-blox is the most widely used GPS, so module detection should be a bit
faster in general.
2020-11-04 10:26:49 -05:00
Beat Küng ab43a94224 gps: keep track of RX data rate 2020-11-04 10:26:49 -05:00
Beat Küng c5c521f5e0 gps: add support for u-blox heading with 2 F9P devices 2020-11-04 10:26:49 -05:00
Julian Kent d7fa5c68aa Add support for alpha/beta/rc on the vendor version (#16112)
* Add support for versioning the vendor version

* Make regex only allow either alpha/beta/rc, or vendor versions
2020-11-04 13:48:19 +01:00
Beat Küng 8f72ea9577 Jenkins: push module documentation to PX4 user guide as well 2020-11-04 13:08:05 +01:00
David Sidrane f02d490e89 rddrone-uavcan146:Rename to ucans32k146 2020-11-04 03:37:06 -08:00
Mitchell-Lee-93 a504b6e881 precision of tol for float has been changed 2020-11-04 10:00:55 +01:00
David Sidrane e0f6c220b1 hardfault_log:Sanity check stack before dumping it 2020-11-04 08:44:38 +01:00
Hamish Willee 425b8a1733 markdownout - change Firmware to PX4-Autopilot 2020-11-04 08:31:28 +01:00
Daniel Agar ea2fced6ad Tools/check_submodules.sh: always update if within vscode cmake configure
- the interactive portion of check_git_submodule with hang waiting for user input
2020-11-03 23:40:12 -05:00
Silvan Fuhrer 99833eb001 FW Position Control: remove duplicated position_sp_triplet update
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-03 15:47:57 +01:00
Daniel Agar ba5ef28f23 uORB_tests: add uORB::SubscriptionMultiArray tests 2020-11-03 09:10:54 -05:00
JaeyoungLim 9e5cf3a598 Enable multiple rover simulations (#15904)
This commit allows running multiple simulations with rovers
2020-11-03 14:55:32 +01:00
Lorenz Meier a39bead740 Update SITL (compile fix)
This fixes the linker command for protobuf libraries for plugins.
;
2020-11-02 18:39:31 -05:00
Silvan Fuhrer d4d02f449f Improve tailsitter tuning master (#16078)
* tailsitter SITL: improve hover tuning

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

* Add SITL testing for tailsitter VTOLs

This enables SITL testing for Tailsitter vehicles

Co-authored-by: Jaeyoung-Lim <jaeyoung@auterion.com>
2020-11-02 23:41:12 +01:00
Ricardo Marques fd90387270 README: Cleanup Maintenance Team structure
Changes current Maintenance Team structure in README.md in order to be more organized and with a standard.

Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-11-02 23:31:29 +01:00
Avionics Anonymous 437a1c6db1 Use ModuleParams instead of old param funcs 2020-11-02 23:29:50 +01:00
Avionics Anonymous cc96468fad Extend UAVCAN light control
Adds automatic control of more light types via UAVCAN. Publishes
commands for beacon, strobe, nav, and landings lights. Each is
automatically controlled based on arming state and this behavior is
configurable per light type via params. For example, nav lights can be
set to be always on while beacons turn on when the system is prearmed
and strobes turn on only when armed.
2020-11-02 23:29:50 +01:00
Silvan Fuhrer 67a0e1993a FW Position controller: add option to swap throttle and pitch stick
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-02 22:49:05 +01:00
Martin Povišer ad0de67df7 dshot: fix build error
Fixes

  src/drivers/dshot/dshot.cpp:1408:9: error: declaration of
  'struct DShotOutput::custom_command(int, char**)::Command' shadows
  a previous local [-Werror=shadow]
2020-11-02 13:52:42 -05:00
Martin Povišer d2145917e7 setup: add Nix derivation with build environment 2020-11-02 13:52:42 -05:00
Martin Povišer b0a73b5144 platforms/nuttx: change bash references
There is a platform, NixOS Linux, on which '/bin/bash' is not available.
This commit changes the interpreter to '/usr/bin/env bash' in some
scripts essential to firmware building.
2020-11-02 13:52:42 -05:00
CUAVcaijie 77dfd111e2 boards: cuav/x7pro disable BDMA (#16056)
- currently causing a crash, disable for now
2020-11-02 13:14:44 -05:00
Daniel Agar 6158d6d841 EKF: add const reference getters for status flags 2020-11-02 13:05:08 -05:00
Daniel Agar 817285ec64 commander: gyro calibration use MedianFilter 2020-11-02 12:58:46 -05:00
Daniel Agar d14deb0e5a FFT add simple median filter 2020-11-02 12:58:46 -05:00
Daniel Agar 4578b8cdcc Update submodule ecl to latest Mon Nov 2 09:57:32 EST 2020
- ecl in PX4/Firmware (f87b19f31b9918f73d336d10e68d39c659037582): https://github/commit/48a8992caf7a95e09a5e17235133894c072b96bd
    - ecl current upstream: https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
    - Changes: https://github/compare/48a8992caf7a95e09a5e17235133894c072b96bd...a21092804a784d012939f96cc633e7da5f5e8cde

    a210928 2020-11-01 Daniel Agar - EKF: remove virtual getters from estimator_interface
2020-11-02 12:44:14 -05:00
Daniel Agar a21092804a EKF: remove virtual getters from estimator_interface 2020-11-02 09:35:47 -05:00
Beat Küng d83da4ded4 fix SubscriptionMultiArray: end() iterator needs to point past the end
And ensure not to dereference.
2020-11-02 09:00:04 +01:00
Daniel Agar a1ef4d1469 ekf2: only advertise immediately in multi-EKF mode 2020-11-01 15:48:35 -05:00
PX4 BuildBot 1dd3283fbb Update submodule ecl to latest Sat Oct 31 20:37:40 EDT 2020
- ecl in PX4/Firmware (6bb56ae2b3debb76669a04adb7c64bac74bb87f4): https://github/commit/d85e24d3ca767b48bdbb1594b564d30df5777769
    - ecl current upstream: https://github/commit/48a8992caf7a95e09a5e17235133894c072b96bd
    - Changes: https://github/compare/d85e24d3ca767b48bdbb1594b564d30df5777769...48a8992caf7a95e09a5e17235133894c072b96bd

    48a8992 2020-10-30 Daniel Agar - EKF: move small simple getters to header
defb35d 2020-10-29 Daniel Agar - EKF: pass imuSample by const reference
2020-10-31 21:11:44 -04:00
Daniel Agar 48a8992caf EKF: move small simple getters to header
- return by const reference where possible
2020-10-30 09:48:45 -04:00
Daniel Agar defb35d8f5 EKF: pass imuSample by const reference 2020-10-30 09:47:22 -04:00
PX4 BuildBot 4df3931bd1 Update submodule sitl_gazebo to latest Thu Oct 29 20:40:02 EDT 2020
- sitl_gazebo in PX4/Firmware (6b9dde59d6): https://github.com/PX4/PX4-SITL_gazebo/commit/2451437c19ed9fcdf8a79990313e768c98aa15b6
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/06e801fe8b5267e561f00d8847a6343cb2386ab6
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/2451437c19ed9fcdf8a79990313e768c98aa15b6...06e801fe8b5267e561f00d8847a6343cb2386ab6

    06e801f 2020-10-29 Nuno Marques - add missing generated models to git ignore (#644)
eafc98b 2020-10-28 JaeyoungLim - Move boat model to jinja templates (#641)
2020-10-29 22:00:05 -04:00
Daniel Agar 6b9dde59d6 update ecl to latest
- fmu-v5 debug and stackcheck builds now need to be CONSTRAINED_FLASH to fit
 - delete unused holybro_durandal-v1_stackcheck build (also CONSTRAINED_FLASH)
2020-10-29 18:56:52 -04:00
Daniel Agar 81aa8a914f boards: px4_fmu-v2 disable ver command line to save flash 2020-10-29 18:56:52 -04:00
Daniel Agar d5894bea5c cmake: NuttX debug skip SVD print if not found 2020-10-29 15:07:47 -04:00
Daniel Agar 216a0eb3a0 cmake: NuttX redirect libapps build stdout to log file 2020-10-29 15:07:47 -04:00
Daniel Agar b13422dd80 gitmodules update URLs to renamed PX4 repositories 2020-10-29 15:06:59 -04:00
Daniel Agar ecb462f325 ekf2: EKF2.cpp using matrix Eulerf, Quatf, Vector3f 2020-10-29 10:22:57 -04:00
Daniel Agar d1af095c0b ekf2: don't store vehicle_status_s 2020-10-29 10:22:57 -04:00
Daniel Agar d27573b797 ekf2: don't store vehicle_land_detected_s 2020-10-29 10:22:57 -04:00
Daniel Agar 7757aeda94 ekf2: don't store sensor_selection_s copy 2020-10-29 10:22:57 -04:00
Daniel Agar db5235b074 ekf2: avoid storing message copies 2020-10-29 10:22:57 -04:00
Daniel Agar 3f9f2c6fdf ekf2: multi ekf supports up to 4 IMUs 2020-10-28 20:50:58 -04:00
Daniel Agar cf082d7f1c Github actions: SITL tests upgrade MAVSDK v0.30.1 -> v0.33.1 2020-10-28 20:26:47 -04:00
Daniel Agar b5e00cd424 NuttX upgrade branches to px4_firmware_nuttx-10.0.0+ 2020-10-28 17:25:08 -04:00
David Sidrane ff87bc0fda fmu-v6x:Bootloader init NULL console 2020-10-28 14:25:25 -04:00
David Sidrane 39b1d827d2 cubeorange:Bootloader init NULL console 2020-10-28 14:25:25 -04:00
David Sidrane 1fa1f8c2c5 durandal-v1:Bootloader init NULL console 2020-10-28 14:25:25 -04:00
David Sidrane 962b90fd75 cuav:Bootloader init NULL console 2020-10-28 14:25:25 -04:00
David Sidrane 8797823333 px4_init:Split out console init to create null device to be used in non PX4 platform bsp (bootloadres) 2020-10-28 14:25:25 -04:00
David Sidrane 021bc284c1 nxp:imxrt ADC track Rev02 of ref manual change made in upstream 2020-10-28 14:25:25 -04:00
Daniel Agar 233949a377 NuttX upgrade to 10.0.0+ defconfig changes 2020-10-28 14:25:25 -04:00
David Sidrane 850e068aa3 Nuttx 10.0.0+ 2020-10-28 14:25:25 -04:00
Daniel Agar 2c874f1cd9 ekf2 selector fix SITL lockstep
- ekf2 selector don't register lockstep until first attitude publication
 - sensors module register lockstep component
 - enable multi-EKF2 in SITL
2020-10-28 09:42:41 -04:00
TSC21 b1dc1b1ecd msg: rtps: add IDs for missing estimator_* msgs 2020-10-28 11:58:35 +01:00
Thies Lennart Alff 82988b1912 airframes: added BlueROV2 (heavy configuration) airframe (#16004) 2020-10-28 11:07:31 +01:00
TSC21 5b7d1a0496 msg: rtps: add missing ID for orb_test_medium_wrap_around 2020-10-28 10:18:22 +01:00
Daniel Agar 69986affbf commander: calibration restore sleep after CAL_QGC_DONE_MSG/CAL_QGC_FAILED_MSG 2020-10-27 18:54:16 -04:00
Nicolas Martin 171bd6d784 positionControl: add check on sign before sqrtf 2020-10-27 18:52:23 -04:00
SalimTerryLi 05f1efd1a4 load_mon: get mem_usage by reading /proc/meminfo on Linux 2020-10-27 18:49:25 -04:00
Daniel Agar 91da194bd7 sensors/vehicle_gps_position: only register callbacks once topic published
- this avoids creating unnecessary uORB device nodes for GPS instances that might never exist
2020-10-27 18:40:57 -04:00
Daniel Agar df2f26ebdf rename vehicle_visual_odometry_aligned -> estimator_visual_odometry_aligned
- saves a small amount of work for the ekf2 selector in multi-EKF mode (visual_odometry_aligned now ignored)
 - helps to distinguish the origin/purpose from vehicle_odometry and vehicle_visual_odometry
2020-10-27 12:33:39 -04:00
Daniel Agar d5e68bc05a mathlib: NotchFilter delete unused update method 2020-10-27 12:30:59 -04:00
Mathieu Bresciani 050c9dcd3d HTE: fix variance prediction (#16016)
In the predition step, the process variance was erroneously
multiplied by dt instead of dt^2. The default values are adjusted
accordingly to keep the same tuning for the default loop rate of 50Hz
2020-10-27 16:56:32 +01:00
Daniel Agar f36f8928e3 distance_sensor/vl53l1x: fix code style 2020-10-27 11:43:11 -04:00
Alexey 2e98c64853 drivers/distance_sensor: new driver for ST VL53L1x
Co-authored-by: Alexey Matveev <>
2020-10-27 11:26:53 -04:00
Daniel Agar 0f411d6820 Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
    - in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
 - new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
 - sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
 - existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
 - ekf2 single instance mode is still fully supported and the default

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2020-10-27 10:56:11 -04:00
Daniel Agar d85e24d3ca EKF: Ekf class is final 2020-10-27 08:53:58 -04:00
Daniel Agar 961b545da0 cmake: respect MAX_CUSTOM_OPT_LEVEL if set
- ignored for Debug and Coverage builds
2020-10-27 08:53:58 -04:00
Daniel Agar 5ea8824439 EKF: inline simple getters 2020-10-27 08:53:58 -04:00
Daniel Agar d5245a22d3 logger: limit default estimator_optical_flow_vel logging 2020-10-26 14:10:25 -04:00
bresch 109ed18a3a Flow: adjust default optical flow delay based on pmw3901
This is the correct value for the most common optical flow sensor
2020-10-26 14:10:25 -04:00
bresch 142724748a pmw3901: Adjust scale factor to match gyro data 2020-10-26 14:10:25 -04:00
bresch 09cc3120e2 OpticalFlow: add optical flow velocity logging
This is important to align the flow with the IMU data and verify that
the compensation is properly done
2020-10-26 14:10:25 -04:00
Daniel Agar 6e99ebd928 EKF: add fault status bit for bad vertical accel data 2020-10-26 17:37:15 +01:00
Daniel Agar d936b85d71 EKF: add fault status bit for clipping 2020-10-26 17:37:15 +01:00
Matthias Grob 8e710294b3 FlightTaskManualAltitudeSmoothVel: fix parameter inheritance chain 2020-10-26 15:55:21 +01:00
Matthias Grob 7ba93d5452 FlightTasks: fix reActivate not calling the parent overrided method 2020-10-26 15:55:21 +01:00
Mathieu Bresciani dd3ffc4192 Optical flow: compute velociy from corrected flow data for logging (#920)
This is really useful when debugging optical flow data
2020-10-26 13:27:52 +01:00
FengShun eac9a6b68b Replace PublicationQueued with Publication to automatically configure ORB_QUEUE_LENGTH 2020-10-26 13:01:13 +01:00
FengShun 90c366f369 uORB::Publication*: template parameter automatically obtains the queue size according to the type 2020-10-26 13:01:13 +01:00
bresch 9126282c03 CI: update containers, sync with px4/Firmware 2020-10-26 11:07:13 +01:00
bresch e80a683981 CI: update change indicator of yaw emergency estimator
This was incorrectly uptated in 1a7c68ea72
2020-10-26 11:07:13 +01:00
Nicolas Martin 948bed6b5c fix ekf2 saved mag bias comments (mGauss -> Gauss) 2020-10-26 00:43:20 -04:00
Daniel Agar 8435742dd5 logger: double actuator_controls_0 and vehicle_attitude_setpoint default log rate 2020-10-26 00:36:02 -04:00
Daniel Agar 6d2f592c16 logger: add vehicle_constraints to default set 2020-10-26 00:36:02 -04:00
PX4 BuildBot 53b5e2d863 Update submodule sitl_gazebo to latest Sun Oct 25 20:37:27 EDT 2020
- sitl_gazebo in PX4/Firmware (945c17bc3f): https://github.com/PX4/sitl_gazebo/commit/4f03afc7def0b958e7567a35093bacf93dcc824f
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2451437c19ed9fcdf8a79990313e768c98aa15b6
    - Changes: https://github.com/PX4/sitl_gazebo/compare/4f03afc7def0b958e7567a35093bacf93dcc824f...2451437c19ed9fcdf8a79990313e768c98aa15b6

    2451437 2020-10-24 Igor Campos - fix #638 - geotagging plugin not working: subscribed to wrong topic
9f832e5 2020-10-09 JaeyoungLim - Add groundtruth plugin
dcae3ed 2020-09-29 JaeyoungLim - Switch tiltrotor to jinja templates
928169c 2020-09-28 JaeyoungLim - Move where the gps joint is being defined
60897b7 2020-08-24 JaeyoungLim - Fix tiltrotor model
9f82ad4 2020-10-22 JaeyoungLim - Move rover models to jinja templates (#629)
00d6f2f 2020-10-21 Thies Lennart Alff - Adding Model of BlueROV2 (heavy configuration) (#637)
b15784d 2020-10-19 Vojtech Spurny - gazebo_gps_plugin fix and enhancement (#635)
2020-10-25 23:54:33 -04:00
Daniel Agar 614a0ac2a2 experimental/gyro_fft: improve peak detection, add start parameter
- add new parameter `IMU_GYRO_FFT_EN` to start
 - add 75% overlap in buffer to increase FFT update rate
 - space out FFT calls (no more than 1 per cycle)
 - increase `IMU_GYRO_FFT_MIN` default
 - decrease main stack usage
2020-10-25 23:48:21 -04:00
Daniel Agar 945c17bc3f move subsystem_info entirely into commander and remove from uORB
* HealthFlags: define bitfield using 1<<X

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-10-25 10:08:15 -04:00
Igor Mišić ea3d202370 spracing_h7extrem: Updated gyros to use icm20602 drivers. 2020-10-24 11:54:13 -04:00
Daniel Agar 6285e06fe2 mc_pos_control: split out header and name consistently 2020-10-23 15:06:04 -04:00
Matthias Grob 1fb4f960cd FlightTaskAuto: Lock down yaw when waypoint is reached
This is done to prevent yawing 180 degrees when switching
to hold mode with high velocity and the overshoot causing a 180°
yaw turn.

The yaw is unlocked on waypoint updates and the yaw
setpoint generation had to be put at the end because otherwise the
first yaw calculation is with the old waypoint and immediately
locks again.
2020-10-23 20:54:01 +02:00
Daniel Agar 81765bc06a commander: PreFlightCheck remove HIL special cases
- skipping these sensor checks in HIL no longer makes sense as each
sensor has a normal publication (sensor_accel/gyro/etc) regardless of
simulation
2020-10-23 11:25:50 -04:00
Matthias Grob 4378254182 Fix NuttX build under Cygwin
after NuttX 9.1.0+ upgrade #15139
2020-10-23 06:56:31 -07:00
David Sidrane d8a03d04a7 nxp_rddrone-uavcan146:Fixed wrong SPI CLK Pin 2020-10-23 09:18:24 +02:00
Beat Küng d2644a3bf7 distance_sensor/sf0x: rename to lightware_laser_serial 2020-10-22 11:30:50 -04:00
Beat Küng a68ac95399 distance_sensor/sf1xx: rename to lightware_laser_i2c 2020-10-22 11:30:50 -04:00
Beat Küng 6d2e306d50 sf1xx: use new protocol for LW20/c
benefits:
- read & validate product name
- sensor configuration with the output we want (raw distance data)
- get signal quality

Protocol description: http://support.lightware.co.za/sf20/#/commands

Other Lightware sensors can easily be moved over to that as well.
2020-10-22 11:30:50 -04:00
Beat Küng c0cf144a5a ll40ls: fix rotation -> orientation 2020-10-22 11:30:50 -04:00
JaeyoungLim 46d79d3050 Remove exception of actuator scaling for airships (#16011)
This removes the exception handling of airship type vehicles when scaling actuators for the simulator
2020-10-22 10:37:03 +02:00
Hamish Willee d91d7e3282 parameter markdown table - remove styling 2020-10-22 08:05:41 +02:00
Lorenz Meier b14d0e4326 Update MAVLink shell default device for modern Mac OS
The enumeration changed from usbmodem1 to usbmodem01 and this tracks this OS-level naming change.
2020-10-21 12:11:31 -04:00
Daniel Agar 0b74076265 msg: only include orb_test messages if PX4_TESTING enabled 2020-10-20 15:17:09 -04:00
Daniel Agar 2201424dfd micrortps_bridge: don't reuse msg_files variable (now global) 2020-10-20 11:05:47 -04:00
Daniel Agar 1eb3c59277 systemcmds/topic_listener: use msg_files list from msg/ 2020-10-20 11:05:47 -04:00
Daniel Agar 16119f0e8c mavlink debug messages disable on CONSTRAINED_FLASH boards
- mavlink messages DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT move to separate stream headers and don't include if CONSTRAINED_FLASH
 - mavlink receiver DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT handling excluded if CONSTRAINED_FLASH
 - msg: skip debug_array.msg, debug_key_value.msg, debug_value.msg, debug_vect.msg if CONSTRAINED_FLASH
2020-10-20 11:05:47 -04:00
Julian Kent d9b3db1082 Check that home position is valid in RTL (#15964) 2020-10-20 10:31:44 +02:00
Beat Küng 5f27407acd tests: don't run battery_simulator
The battery migration interferes with the tests.
2020-10-20 09:18:47 +02:00
Beat Küng f776997a07 battery: disable secondary module by default
Avoid a GCS showing 2 battery indicators.
Alternatively we could also check the 'connected' flag, but this is more
explicit.
2020-10-20 09:18:47 +02:00
Beat Küng 83b81fbbef battery: fix isFloatEqual(), use matrix::isEqualF
Fixes param migration, e.g. if BAT_N_CELLS is set, migrates to
BAT1_N_CELLS.
2020-10-20 09:18:47 +02:00
Beat Küng 6ae17eb13c fix EscBattery: remove _battery.publish();
updateBatteryStatus() already publishes
2020-10-20 09:18:47 +02:00
Daniel Agar be0f884dde commander: preflight check don't read mag device_id 2020-10-19 23:01:02 -04:00
Daniel Agar b08b83ba48 logger: logged topics support up to 4 accels/baros/gyros 2020-10-19 18:30:22 -04:00
Tomasz Domański 887486d4fa Tools/setup: Add apt-get update after adding gazebo list 2020-10-19 17:19:18 -04:00
Oleg Kalachev c302514a08 mavlink: expose kill switch status 2020-10-19 10:49:52 -04:00
Beat Küng d0fd60de8d output_limit: use add_library instead of px4_add_library
px4_add_library adds uorb dependencies, which since cf26f24387 added libm.
This in turn led to build failures for px4_io-v2 in the form of:
__aeabi_f2d' wf_sqrt.c:(.text.sqrtf+0x54): undefined reference to
__aeabi_ddiv'
2020-10-19 09:45:46 -04:00
FengShun d19b54481a fix: uORB topics lost messages when publications overflow 2020-10-19 08:52:55 +02:00
PX4 BuildBot b4a22437ab Update submodule sitl_gazebo to latest Sun Oct 18 08:37:29 EDT 2020
- sitl_gazebo in PX4/Firmware (224be8ba24): https://github.com/PX4/sitl_gazebo/commit/b943edaddee2b5e84e7bb489c43ebb13dd70495d
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/4f03afc7def0b958e7567a35093bacf93dcc824f
    - Changes: https://github.com/PX4/sitl_gazebo/compare/b943edaddee2b5e84e7bb489c43ebb13dd70495d...4f03afc7def0b958e7567a35093bacf93dcc824f

    4f03afc 2020-10-16 Apurva Joshi - Update typhoon_h480.sdf (#636)
2020-10-18 11:44:54 -04:00
Daniel Agar 224be8ba24 drivers/uavcan: RGB LED support (publish uavcan::equipment::indication::LightsCommand)
Co-authored-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-17 12:33:09 -04:00
CUAVcaijie 70b67ddbff Add a USB ardupilot * type 2020-10-17 11:36:36 -04:00
Jaeyoung-Lim 3c20580533 Add support for malolo flying wing in JSBSim SITL
This commit adds SITL target for malolo flying wing and updates the jsbsim_bridge submodule to include the necessary changes.
2020-10-16 13:31:09 +02:00
David Sidrane 7d6f8dc882 mtd:Allow a Board to set the partition sizes.
To define an N way split this define the following:

        #define BOARD_HAS_MTD_PARTITION_OVERRIDE {"/fs/mtd_params", "/fs/mtd_waypoints","/fs/equal_part" }

	OR
        To define a percentage split this define the following:
        #define BOARD_HAS_MTD_PARTITION_OVERRIDE {"/fs/mtd_params", "/fs/mtd_waypoints","/fs/tiny" }
        #define BOARD_MTD_PARTITION_TABLE_SIZES {50.0f, 49.0f, 1.0f}
2020-10-15 17:22:50 -04:00
David Sidrane d4ae3985b3 px4-alias.sh_in:Remove source and add R=${pwd}
px4-alias.sh_in:Remove sh alias
2020-10-15 17:11:08 -04:00
David Sidrane b846ddffd8 Tools:Use . for (source) and ${R} for pathing 2020-10-15 17:11:08 -04:00
David Sidrane b9319b3843 ROMFS:Use . for (source) and ${R} for pathing
init.d-posix:rcS Quiet Shell check warning
2020-10-15 17:11:08 -04:00
David Sidrane 78221ee3d2 s32k1xx:Add PWM LED Support 2020-10-15 12:52:38 -07:00
David Sidrane 37e711c3fd s32k1xx:io_timer: Enable output channels 2020-10-15 12:52:38 -07:00
David Sidrane ddc161a10a nxp_rddrone-uavcan146:Add init to start PWM 2020-10-15 12:52:38 -07:00
David Sidrane 6394e06173 nxp_rddrone-uavcan146:Compresed ROM FS and friends 2020-10-15 12:52:38 -07:00
David Sidrane 59213ed8f6 nxp_rddrone-uavcan146:Add the pwm and suppor 2020-10-15 12:52:38 -07:00
David Sidrane 254ad40ad8 nxp_rddrone-uavcan146:Init the timers 2020-10-15 12:52:38 -07:00
David Sidrane 4099d38ea8 nxp_rddrone-uavcan146: Add arch_io 2020-10-15 12:52:38 -07:00
David Sidrane d3fdb2b6ad nxp_rddrone-uavcan146 add board functions supporting pwm_out 2020-10-15 12:52:38 -07:00
David Sidrane d4fb063651 nxp_rddrone-uavcan146:boards Add KEEP on init_section 2020-10-15 12:52:38 -07:00
Jari van Ewijk 61f9996d6b S32K1XX: Report right MCU version 2020-10-15 12:52:38 -07:00
Jari van Ewijk 35dce9aff6 NXP UCANS32K: Add Support for PWM
S32K1XX HRT: Allow any channel of any FTM timer to be used

NXP UCANS32K: Enable additional FlexTimers and use FTM5 for HRT

NXP UCANS32K - Change FTM clocksource to system oscillator

NXP UCANS32K - Only need one FlexTimer and channel for PWM output

NXP UCANS32K will have only one PWM header by default

S32K1XX support FlexTimers beyond FTM3

S32K1XX io_timer.c - replace references to Kinetis

S32K1XX io_timer.c correct register names

S32K1XX input_capture.c and pwm_servo.c replace references to Kinetis
2020-10-15 12:52:38 -07:00
Silvan Fuhrer 4ed3ecea41 lis2mdl: reduce update rate from 50Hz to 20Hz to reduce spikes
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-15 09:55:40 +02:00
Daniel Agar d985887468 ekf2: use new Param<> reset method 2020-10-15 08:32:05 +02:00
Daniel Agar 7255f5feac parameters: add param_reset_no_notification()
- add reset() to Param<>
2020-10-15 08:32:05 +02:00
PX4 BuildBot d8448c0a76 Update submodule v2.0 to latest Wed Oct 14 19:19:57 EDT 2020
- v2.0 in PX4/Firmware (34ced0c26c): https://github.com/mavlink/c_library_v2/commit/894599e6cba3ca6e8a32a68065b15d1a91c35af2
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/1eff57ee1e54fbed0b24617b1d4452d26d8b2221
    - Changes: https://github.com/mavlink/c_library_v2/compare/894599e6cba3ca6e8a32a68065b15d1a91c35af2...1eff57ee1e54fbed0b24617b1d4452d26d8b2221

    1eff57e 2020-10-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/162381c6d43db57afcf1f25de403d35c5f5db4b3
075f46c 2020-10-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4413195381eb850aa33b18c539abd68437a9b3ac
e9813d0 2020-10-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e9704daf9a34c64c47c8010033e1c22c0ceaa5a4
b156279 2020-10-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4cf81ef0a3da38f43346ab263422363f6dbbf38b
47b8476 2020-10-13 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/bb1c55d1a598ddb487e309b7a35c70e65234b98b
da412c5 2020-10-11 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/52e3f7842e35c42ee4586fdbd1f1117714d3373c
2020-10-14 20:26:39 -04:00
PX4 BuildBot 22a817d1fc Update submodule nuttx to latest Wed Oct 14 19:20:05 EDT 2020
- nuttx in PX4/Firmware (8c8f594b24bddbb69c95772d80d51d3d62f4ad39): https://github.com/PX4/NuttX/commit/724aa6c1d3dda6cbb86f1461a79d2827870ece47
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/19c831f409c9d8e51e8b41e531cf658f2175a2e9
    - Changes: https://github.com/PX4/NuttX/compare/724aa6c1d3dda6cbb86f1461a79d2827870ece47...19c831f409c9d8e51e8b41e531cf658f2175a2e9

    19c831f 2020-10-14 David Sidrane - [BACKPORT] kinetis:flexcan fixed compile error clock_systimespec->clock_systime_timespec
2020-10-14 20:25:54 -04:00
JaeyoungLim 34ced0c26c Cleanup jsbsim run scripts (#15959)
* Cleanup startup scripts

This commit cleansup the run script for the jsbsim_bridge

* Update jsbsim_bridge submodule
2020-10-14 16:41:11 +02:00
David Sidrane 6416abc817 Nuttx with kinetis BP tix for socketcan 2020-10-14 09:50:24 -04:00
David Sidrane 1e0f3a1e9c px4_fmu-v5x base_phy_DP83848C:Use 32kHz clock for RTC 2020-10-14 14:55:55 +02:00
David Sidrane 7f804b5508 px4_fmu-v5x:Use 32kHz clock for RTC 2020-10-14 14:55:55 +02:00
mcsauder 047531b924 Add MavlinkStreamGPSStatus status class stream via GPS_STATUS.hpp and add PRN code to satellite_info.msg. 2020-10-14 08:26:42 +02:00
David Sidrane de6d31ef3e hardfault_log:Fix hard fault - while hard fault logging 2020-10-13 18:50:43 -04:00
Daniel Agar 8d1b99be31 mavlink: telemetry status only log simple HEARTBEAT validity
* delete telemetry_heartbeat msg
 * delete unused _telemetry_status_mutex
2020-10-13 13:37:10 -04:00
Daniel Agar d71ca37087 navigator: publish navigator mission item changes for logging
- new msg navigator_mission_item for inspecting navigator mission item processing
2020-10-13 12:12:03 -04:00
Jacob Dahl 74c9ba8d55 fix px_uploader bytes and char comparison & remove python 2 support (#15859) 2020-10-13 09:30:37 +02:00
Alex Mikhalev c2af7ba961 uavcan: gnss: Implement RTCM data for RTK (#15921)
Forwards messages on the gps_inject_data uORB topic as
uavcan::equipment::gnss::RTCMStream messages on the UAVCAN bus. This
enables differential/RTK GPS over UAVCAN to work.

Tested with CubePilot Cube Orange, Here+ base and Here3 rover.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-13 09:28:25 +02:00
Daniel Agar 34ad85557e Revert "mavlink: increase stack 2650 -> 2848 bytes (#15821)"
This reverts commit e792c46f20.
2020-10-12 20:58:35 -04:00
Daniel Agar 5c2cc53134 Revert "logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765)"
This reverts commit d676e65294.
2020-10-12 20:58:35 -04:00
David Sidrane 17ada7cf32 Nuttx with arm stack fix backport 2020-10-12 19:56:00 -04:00
Daniel Agar f557fa46e8 gyro_fft improve peak finding, parameterize min/max frequencies, remove debug logging
- add min/max frequency parameters for peak detection (IMU_GYRO_FFT_MIN, IMU_GYRO_FFT_MAX)
 - remove full FFT debug logging
 - fix Quinn's second estimator
 - log sensor_gyro_fft
 - fake_gyro use PX4Gyroscope
2020-10-12 15:19:39 -04:00
Beat Küng ff3008c051 calibration: add SYS_FAC_CAL_MODE parameter
If set, stores calibration parameters in separate storage /fs/mtd_caldata.
2020-10-12 15:22:26 +02:00
Beat Küng f1f6ca21cb rcS: try to load params from secondary storage if available 2020-10-12 15:22:26 +02:00
Beat Küng 3e9692c5bd param_import: add mark_saved argument
Behavior of the 'param import' command:
- if no file provided, parameters are marked as saved (differs from before)
- if a file is provided: parameters are not marked as saved
2020-10-12 15:22:26 +02:00
Beat Küng f6e8ddfaa0 param_export: add optional filter method 2020-10-12 15:22:26 +02:00
Beat Küng f927cacd9c v5x: enable eeprom storage on IMU board 2020-10-12 15:22:26 +02:00
Beat Küng c6cd0536d7 mtd: support multiple instances 2020-10-12 15:22:26 +02:00
Jacob Dahl 2b5b6b9430 fixed dps310 calibration coeffecient for c11 2020-10-12 09:35:27 +02:00
James Goppert 98c30dff44 Fixes for ROS based multi sim with jinja. (#15938) 2020-10-12 09:33:51 +02:00
Benjamin Perseghetti 8350fa702b Tools/setup/ubuntu.sh: fix for Ubuntu 20.04 - use gazebo11 2020-10-11 17:05:32 -04:00
Daniel Agar 0a985638e3 simulator: add inject failure messages for logging 2020-10-10 20:03:50 -04:00
Daniel Agar 76602b3a8f mavsdk_tests: longer climb (5 -> 10 seconds) in fly forward altctl/posctl tests 2020-10-10 20:03:50 -04:00
Daniel Agar da37f63bbd ROMFS: posix adjust standard vtol (1040) tuning 2020-10-10 20:03:50 -04:00
Daniel Agar 5fa1e8e8ba mavlink: stream rename GROUND_TRUTH -> HIL_STATE_QUATERNION 2020-10-10 19:49:41 -04:00
Daniel Agar cb4d974977 mavlink: move GROUND_TRUTH stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 283264603a mavlink: move PING stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 97dc988f86 mavlink: move ORBIT_EXECUTION_STATUS stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 826dfa1941 mavlink: move OBSTACLE_DISTANCE stream to separate file 2020-10-10 19:49:41 -04:00
PX4 BuildBot 68dca4b158 Update submodule sitl_gazebo to latest Sat Oct 10 16:43:28 UTC 2020
- sitl_gazebo in PX4/Firmware (dfbaf6607a): https://github.com/PX4/sitl_gazebo/commit/c3b15b7c9bf217c52f1e12fda0f861f6af5f31a9
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/6b9c8f15c24b9ca365f3b13978fe792aa31a2fa3
    - Changes: https://github.com/PX4/sitl_gazebo/compare/c3b15b7c9bf217c52f1e12fda0f861f6af5f31a9...6b9c8f15c24b9ca365f3b13978fe792aa31a2fa3

    6b9c8f1 2020-10-10 Daniel Agar - mavlink interface round double sim time when converting to microseconds
b4cebfc 2020-10-09 JaeyoungLim - Support HIL configurations for generated models (#625)
b4d2d58 2020-10-09 Daniel Agar - mavlink interface poll until actuator received (#631)
2020-10-10 19:12:40 -04:00
PX4 BuildBot 6097ea3fb3 Update submodule CMSIS_5 to latest Sat Oct 10 16:43:35 UTC 2020
- CMSIS_5 in PX4/Firmware (7fc24ccb599b7b890983ee58ab82fcef502851bc): https://github.com/ARM-software/CMSIS_5/commit/03a697980f808120f1b75bfe0a96c2dd31bafbbc
    - CMSIS_5 current upstream: https://github.com/ARM-software/CMSIS_5/commit/4ed5730787a0f98e8858c9998e406c608ab10b28
    - Changes: https://github.com/ARM-software/CMSIS_5/compare/03a697980f808120f1b75bfe0a96c2dd31bafbbc...4ed5730787a0f98e8858c9998e406c608ab10b28

    4ed573078 2020-05-28 Jonatan Antoni - Docs: Updated generated documentation for CMSIS-Zone 1.1.0
c5ff98f52 2020-04-23 Jonatan Antoni - Utilities: Readded PackChk and SVDConv (not using Git-LFS) - PackChk 1.3.89 - SVDConv 3.3.35
5c1547f5d 2020-04-22 Jonatan Antoni - Removed Git-LFS filter from .gitattributes
8be87e257 2020-04-09 Jonatan Antoni - Pack: Purged pre-built library binaries from repo.
a65b7c9a3 2020-04-09 Jonatan Antoni - Bump version and docs for release.
71cca2783 2020-04-09 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
4a65d8801 2020-02-26 Jonatan Antoni - Updated published documentation: - Added CMSIS-Build 0.1.1 - Updated CMSIS logo - Reduced nav bar component names
79bc1e065 2019-12-13 Jonatan Antoni - Doc: Update generated documentation for - CMSIS-Zone 1.0.0 - CMSIS-Pack 1.6.1
b5f0603d6 2019-07-10 Jonatan Antoni - Pack: Fixup to version history.
c314b9028 2019-07-10 Jonatan Antoni - docs: Updated generated docs for release 5.6.0
288a1ae6a 2019-07-10 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
ca8124215 2019-03-21 Jonatan Antoni - Fixed generated documentation for 5.5.1 - Added general version history.
382cb5993 2019-03-21 Jonatan Antoni - DoxyGen: Fixed version and history of CMSIS 5.5.1 in documentation overview.
08ffc1624 2019-03-20 Jonatan Antoni - Generated documentation for release 5.5.1.
decf9e99d 2019-03-20 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
a82c293bf 2019-03-18 Jonatan Antoni - Updated generated documentation.
3c188c8c1 2019-03-18 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
607099e7b 2019-03-16 Jonatan Antoni - Device: Fixed device files for Armv8.1-MML
11b17447c 2019-03-15 Joachim Krech - WiFi api definition: file doc added
7a3ff1bba 2019-03-15 Jonatan Antoni - Docs: Updated generated documentation for 5.5.0
9510c40cd 2019-03-15 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
cb3fb9a70 2018-09-03 Jonatan Antoni - Revert "Changed 'Serial Viewer Output' to 'Serial Wire Output'"
85f971366 2018-08-23 Florian Behrens - Changed 'Serial Viewer Output' to 'Serial Wire Output'
74b68d2b5 2018-08-23 Robert Rostohar - Merge pull request #411 from ARM-software/revert-410-fix_define
f568cf95d 2018-08-23 Robert Rostohar - Revert "Fix define around EvrRtxKernelInitialized"
cb270c6a7 2018-08-23 Robert Rostohar - Merge pull request #410 from c1728p9/fix_define
707444066 2018-08-22 Russ Butler - Fix define around EvrRtxKernelInitialized
0b5217650 2018-08-01 Jonatan Antoni - Docs: Updated generated documentation for 5.4.0
d8515eb5a 2018-08-01 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
49ac527aa 2018-02-22 Jonatan Antoni - Doxygen: Fixed broken link from general revision history to Core(A) history.
ca68d1caa 2018-02-22 Jonatan Antoni - Utilities: Fixed gen_pack.bat to copy genmodel (Javadoc) as part of Zone documentation.
d3be1443d 2018-02-22 Jonatan Antoni - Docs: Updated documentation for release 5.3.0.
1e50f4fb3 2018-02-22 Jonatan Antoni - Merge remote-tracking branch 'remotes/upstream/develop' into master/upstream
9c4c35760 2018-01-23 Jonatan Antoni - Doc: Adding temporary redirect for CMSIS-NN to develop preview on keil.com. This redirect is going to be overwritten with the full documentation at next full release.
80cc44bba 2017-11-16 Jonatan Antoni - Pack: Added release date for 5.2.0
a7da04c26 2017-11-16 Jonatan Antoni - Updated generated documentation for release.
72db7faf6 2017-11-16 Jonatan Antoni - Merge branch 'develop/upstream' into master/upstream
7cd3d4765 2017-09-19 Jonatan Antoni - Updated generated documentation for release 5.1.1
cbdfdd09f 2017-09-19 Jonatan Antoni - Fixed version history for release 5.1.1
8e8312d2b 2017-08-18 Vladimir Umek - RTX5: latest libraries (IAR)
4d4b37265 2017-08-18 Robert Rostohar - RTX5: latest libraries (ARM/GCC)
84e191728 2017-08-18 Robert Rostohar - RTX5: Corrected SysTick and SVC Interrupt Priority for Cortex-M.
c5d6156df 2017-08-04 Jonatan Antoni - CMSIS 5.1.0 online documentation
d92f477be 2017-08-04 Jonatan Antoni - Merge branch 'develop' for release 5.1.0
8a1d9d6ee 2017-02-08 Joachim Krech - updating prebuild documentation for 5.0.1
de96b11d4 2017-02-08 Joachim Krech - Merge branch 'develop' for version 5.0.1
6c0e0c157 2016-11-11 Joachim Krech - CMSIS 5.0.0 online documentation
2020-10-10 13:25:12 -04:00
Daniel Agar 28efc95e29 ROMFS: posix rcS remove airframe specific defaults being applied everywhere
- these need to be set per airframe
2020-10-10 12:49:09 -04:00
Daniel Agar dfbaf6607a sensors/vehicle_imu: continue integrating queued raw data if falling behind 2020-10-10 12:30:26 -04:00
Daniel Agar f26d4f2b6b mavlink: stop unnecessarily passing around time 2020-10-09 10:30:30 -04:00
Daniel Agar 97cf714c7a mavlink: move HIGH_LATENCY2 stream to streams folder in a single header 2020-10-09 10:30:30 -04:00
Daniel Agar 94146a7b16 mavlink: move RAW_RPM stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar 9c4abf334b mavlink: move ESC_INFO stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar 1ddfd61d34 mavlink: move ESC_STATUS stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar b51322e160 mavlink: name existing stream headers consistently and add include guards 2020-10-09 10:30:30 -04:00
Daniel Agar 674cd1e3b5 mavlink: move EXTENDED_SYS_STATE stream to separate file 2020-10-09 10:30:30 -04:00
JaeyoungLim 85e8c4801b Add techpod SITL Gazebo target (#15919)
* Add techpod SITL target

This adds a SITL target forthe techpod fixedwing model

* Update sitl_gazebo submoudle

This submodule update includes the techpod UAV model
2020-10-09 16:20:01 +02:00
Beat Küng 274ccaf57c system: include shutdown lock to BOARD_INDICATE_ARMED_STATE
BOARD_INDICATE_ARMED_STATE was only set during arming, so an external
component might have reset the board during param save, leading to param
loss.

This extends the API to trigger the arming state also while the shutdown
lock is taken.
2020-10-09 08:23:47 +02:00
jaeyoung 908444bd68 Add boat default rc to ROMFS
This adds the missing rc.boat_defautls to ROMFS
2020-10-09 08:11:59 +02:00
Daniel Agar eecf2e7a1e sensors: allow up to 4 accels, gyros, and baros and add configurable rotations for accel & gyro 2020-10-08 19:01:44 -04:00
Daniel Agar 28956e0399 Github actions: MAVSDK SITL tests fix log upload on failure 2020-10-08 13:10:08 -04:00
Daniel Agar 88c4876bac Update submodule mavlink v2.0 to latest Thu Oct 8 12:40:37 UTC 2020
- mavlink v2.0 in PX4/Firmware (3332f77773460a2a1463d6d7a14e5613eab166e7): https://github.com/mavlink/c_library_v2/commit/cc4220a4d4dcdf02ff3521764c120e9a4e974285
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/894599e6cba3ca6e8a32a68065b15d1a91c35af2
    - Changes: https://github.com/mavlink/c_library_v2/compare/cc4220a4d4dcdf02ff3521764c120e9a4e974285...894599e6cba3ca6e8a32a68065b15d1a91c35af2

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-10-08 09:40:04 -04:00
PX4 BuildBot 9940937636 Update submodule sitl_gazebo to latest Thu Oct 8 12:40:32 UTC 2020
- sitl_gazebo in PX4/Firmware (3f56cfe66e): https://github.com/PX4/sitl_gazebo/commit/9f74919d4db31ca561f28c4c3b8402856c26f01d
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/e4e32117df1d8aba00b0685ebd0cc5ffc066a970
    - Changes: https://github.com/PX4/sitl_gazebo/compare/9f74919d4db31ca561f28c4c3b8402856c26f01d...e4e32117df1d8aba00b0685ebd0cc5ffc066a970

    e4e3211 2020-10-07 Daniel Agar - cmake: support ccache explicitly
97b90df 2020-10-07 Thies Lennart Alff - Add buoyancy in uuv_plugin (#627)
5e03a40 2020-10-07 JaeyoungLim - Deprecate xacro macros (#623)
30e3d6a 2020-10-07 JaeyoungLim - Only add accel/gyro turn on bias on startup (#626)
2020-10-08 09:39:06 -04:00
Daniel Agar 3f56cfe66e Update submodule mavlink v2.0 to latest Wed Oct 7 12:40:52 UTC 2020
- mavlink v2.0 in PX4/Firmware (d3ddca8bf3b409abcf7e0b7cc2b979a00cdbec73): https://github.com/mavlink/c_library_v2/commit/e3d00c443602ff81cc57123fbc3b50c250b3e9ad
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cc4220a4d4dcdf02ff3521764c120e9a4e974285
    - Changes: https://github.com/mavlink/c_library_v2/compare/e3d00c443602ff81cc57123fbc3b50c250b3e9ad...cc4220a4d4dcdf02ff3521764c120e9a4e974285

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-10-07 14:13:11 -04:00
PX4 BuildBot deee2af7ae Update submodule ecl to latest Wed Oct 7 12:41:05 UTC 2020
- ecl in PX4/Firmware (6a18e45cf8225c6dab2e7c495ed687f449e8c44e): https://github.com/PX4/ecl/commit/4c2355a63821836bf8801e996d4651dcabe0287f
    - ecl current upstream: https://github.com/PX4/ecl/commit/f666ebb99552eed796e82a20bb60e813d45eee03
    - Changes: https://github.com/PX4/ecl/compare/4c2355a63821836bf8801e996d4651dcabe0287f...f666ebb99552eed796e82a20bb60e813d45eee03

    f666ebb 2020-10-06 Paul Riseborough - EKF: Code format fix - replace 1E-x with 1e-x
e82d0af 2020-10-06 Paul Riseborough - EKF: Improve code clarity - non functional change
1a7c68e 2020-10-06 Paul Riseborough - EKF: update change indicator
759d217 2020-10-05 Paul Riseborough - EKF: Improve protection for GSF weight collapse
7c81350 2020-10-04 Paul Riseborough - EKF: Don't yaw reset if not yaw induced nav failure
bf0d70f 2020-10-04 Paul Riseborough - EKF: Protect against collapse of GSF weights
2020-10-07 14:12:10 -04:00
Daniel Agar 378cb155d6 simulator: support accel/gyro instances and stuck failure
- expand simulator to 3 accels and gyros
 - PX4Accelerometer/PX4Gyroscope switch to old param usage due to copy constructor issues with ModuleParams
2020-10-07 13:20:13 -04:00
Daniel Agar c01fabaf11 FW move altitude first order hold (FOH) and loiter to position special cases from navigator to position controller
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2020-10-06 16:57:12 -04:00
Daniel Agar 9838e340e0 systemcmds/tune_control: add play error documentation 2020-10-06 10:21:15 -04:00
JaeyoungLim e0dc9900aa Fix mavros tests by updating sdf version of the iris model
This commit switches the sdf version of the iris model from 1.7 to 1.6 so that it can be run on ROS melodic, which the MAVROS tests were running in
2020-10-06 09:56:32 -04:00
Paul Riseborough f666ebb995 EKF: Code format fix - replace 1E-x with 1e-x 2020-10-06 20:50:52 +11:00
Paul Riseborough e82d0af6d2 EKF: Improve code clarity - non functional change 2020-10-06 20:50:52 +11:00
Paul Riseborough 1a7c68ea72 EKF: update change indicator 2020-10-06 20:50:52 +11:00
Paul Riseborough 759d217d5a EKF: Improve protection for GSF weight collapse 2020-10-06 20:50:52 +11:00
Paul Riseborough 7c81350c7a EKF: Don't yaw reset if not yaw induced nav failure 2020-10-06 20:50:52 +11:00
Paul Riseborough bf0d70fc90 EKF: Protect against collapse of GSF weights 2020-10-06 20:50:52 +11:00
Silvan Fuhrer 84455ac9e3 logger: increase logging rate of airspeed_validated from 1Hz to 5Hz
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer 5a184d2f5c Commenting and formating fixes
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer 8f858d95e6 Rename equivalent airspeed (EAS) to calibrated airspeed (CAS)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer f8d5b09b56 airspeed: remove duplicated comments from cpp (they should only be in header)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Daniel Agar f01c4e769f sensors/vehicle_imu: vehicle_imu_status add mean accel/gyro
- this makes it slightly easier to gather long term data for an Allan Variance
 - fixes https://github.com/PX4/Firmware/issues/6250
2020-10-05 22:18:03 -04:00
Daniel Agar 08bf71b73d drivers/tone_alarm and tune_control small improvements/cleanup
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
 - drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
 - drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
 - msg/tune_control: add tune_id numbering
 - systemcmds/tune_control: add "error" special case tune_id
 - move all tune_control publication to new uORB::PublicationQueued<>
 - start tone_alarm immediately after board defaults are loaded to fix potential startup issues
 - for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
2020-10-05 21:39:26 -04:00
jaeyoung c7072b61a3 Update jsbsim bridge to latest master
Update jsbsim bridge to latest master
2020-10-05 20:20:04 -04:00
jaeyoung b7c1f6a857 Update sitl_gazebo to latest master
Update sitl_gazebo to latest master
2020-10-05 20:18:59 -04:00
Daniel Agar 016ee6ea59 battery: fix duplicate uORB publish and minor cleanup
- run battery_status module on adc_report publications rather than a fixed schedule
2020-10-05 11:01:58 -04:00
Daniel Agar be28c4d309 lib/rc: dsm_bind() add debug output for binding
- trivial code style cleanup
2020-10-04 22:23:47 -04:00
Daniel Agar ddce711acb drivers/rc_input: command line bind use vehicle_command 2020-10-04 22:23:47 -04:00
Daniel Agar 1bf0218c87 boards: mRo Control Zero F7 fix RC input and cleanup sensors init 2020-10-04 22:23:47 -04:00
Daniel Agar eabbd19c1c commander: PreFlightCheck param_find all parameters immediately
- this ensures the relevant parameters are marked active immediately
before parameter sync
 - fixes https://github.com/PX4/Firmware/issues/15872
2020-10-03 14:43:21 -04:00
blazczak 57da61dc17 posix-configs/rpi: Fix mavlink over UART (/dev/ttyAMA0)
UART is the primary interface for telemetry radio: https://docs.emlid.com/navio2/ardupilot/hardware-setup/#uart-radio

Check first if /dev/ttyUSB0 exists (https://docs.emlid.com/navio2/ardupilot/hardware-setup/#usb-radio); if not, fall back to configuring over UART (/dev/ttyAMA0).

Use stricter check for character special file (-c) rather than just file (-f).

'console=serial0,115200' needs to be removed from /cmdline.txt as additional configuration step. This should be documented in the Navio2 section of docs.px4.io. Presumably, this is already performed as part of the Raspberry Pi OS prebuilt image Emlid spins.
2020-10-03 10:51:27 -04:00
Beat Küng 91fa2002e3 kakutef7: fix output ordering
Regression from d2254c2e44, I overlooked that they were defined in
reverse order.
2020-10-03 10:45:30 -04:00
Daniel Agar 8ee0c62e57 examples: add Gyro FFT using CMSIS 5 on Cortex-m (#15104)
- this is a work in progress experiment to compute real time FFTs from raw gyro FIFO data on Cortex-m hardware (stm32f4/f7/h7, etc)
2020-10-02 11:47:27 -04:00
Daniel Agar 23aa9ac70f cmake nuttx add STM32H7 debug helpers 2020-10-02 11:31:18 -04:00
Alex Mikhalev c648d52909 uavcan: Increase uavcan main stack size
I observed stack overflows when executing `uavcan params list`, so the
stack size probably needs to be increased.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-02 01:31:27 -04:00
SalimTerryLi 25eca31e3a New board Scumaker AirPi HAT for Raspberry Pi B series 2020-10-01 11:22:47 -04:00
Nicolas MARTIN 967f741a0e commander: add parameter COM_REARM_GRACE to optionally disable re-arming grace period 2020-10-01 11:20:08 -04:00
Daniel Agar c1936dab1f commander: accel & gyro subsystem health set within IMU check 2020-09-30 12:17:48 -04:00
Daniel Agar 25c537bae9 commander: don't impose additional timeouts in sensor checks
- the sensors hub is responsible for sensor timeouts
2020-09-30 12:17:48 -04:00
CarlOlsson 98c8cbb27f ekf2: fix odom body rate sign bug 2020-09-30 11:34:37 -04:00
Julian Oes b454095776 commander: fix switch to loiter
Sometimes, the mission_result timestamp is the same as the
internal_state timestamp which would meant that we would not switch to
LOITER even though the takeoff is clearly done at that point.
2020-09-30 08:23:16 -04:00
David Sidrane 46f0388fc7 Reanable BL Update - Reverts b5267c06073023893d5a11b9011ef009b5291097 2020-09-29 23:44:24 -04:00
David Sidrane 68703135c3 bl_update:Respect page size if it matters
Track Changes in NuttX stm32h7 flash driver:
   The STM32H7 flash driver uses up_progmem_pagesize to
   describe minimum write size to satify the block size
   requierment for ECC.

   Therefore, the image size needs to be padded to a multiple
   of up_progmem_pagesize()
2020-09-29 23:44:24 -04:00
JaeyoungLim ff6b82cb6b Replace xacro macros to jinja templates for multivehicle (#15831)
This commit switches xacro macros to jinja templates for multivehicle simulations.
2020-09-29 15:45:57 +02:00
JaeyoungLim 9d3e159e65 Make mavsdk test runner handle generated sdf files (#15797)
Update sitl_gazebo
Fix indent errors
Fix syntax error
Fix indentation errors
Fix syntax errors
use autopep8
2020-09-29 15:44:58 +02:00
Daniel Agar c9c20666a2 sensors: sanity check differential pressure temperature (#15845)
- if valid temperature unavailable then use ICAO Standard Atmosphere 15 degrees celcius
2020-09-29 09:35:34 -04:00
Nicolas Martin da4d0e650a mc_pos_control: fix acc Z sign 2020-09-29 13:09:51 +02:00
Daniel Agar 24ffed827f ROMFS: 50000_generic_ground_vehicle remove fmu-v2 exclude
- this allows px4_fmu-v2_rover to function until we have a better mechanism for including or excluding ROMFS dependencies #15711
2020-09-28 22:43:28 -04:00
David Sidrane 59f20a26eb motor_params:Move to mixer_module
sensors having mixer_module creates a dependency on sensors for
   the param MOT_SLEW_MAX. Things that do not uses sensors.
   IE. PWM only device should not have to include them.
2020-09-28 20:47:40 -04:00
Daniel Agar f1feaf45d3 EKF2: move vehicle_odometry publish to method 2020-09-28 18:34:49 -04:00
Daniel Agar faccb0d948 Jenkins: HIL script minor improvements
- periodically send newline while checking for output or command completion (back to nsh prompt)
 - mtd test
 - fix adc test (now board_adc)
2020-09-28 16:41:28 -04:00
JaeyoungLim c342ab91b3 Fix the world path being corrupting when spawning none-default world
This fixes a bug, where the world file path was being corrupted when using non-default world paths
2020-09-28 13:07:29 -04:00
JaeyoungLim f7356d0286 Update jsbsim_bridge to latest master 2020-09-28 13:05:20 -04:00
Daniel Agar fe6a1ce882 simulator: fix airspeed temperature
- HIL_SENSOR temperature is only being sent with barometer data
2020-09-28 12:56:56 -04:00
Daniel Agar 828134c56f sensor_calibration: add link dependencies 2020-09-28 12:26:38 -04:00
David Sidrane 529d816a39 px4_fmu-v6x:Support ETM Hardware Trace 2020-09-28 10:59:39 -04:00
PX4 BuildBot 1822a678f6 Update submodule ecl to latest Mon Sep 28 12:39:19 UTC 2020
- ecl in PX4/Firmware (2b34fec0844646d13a57f78dbbed44b53813919e): https://github.com/PX4/ecl/commit/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6
    - ecl current upstream: https://github.com/PX4/ecl/commit/4c2355a63821836bf8801e996d4651dcabe0287f
    - Changes: https://github.com/PX4/ecl/compare/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6...4c2355a63821836bf8801e996d4651dcabe0287f

    4c2355a 2020-09-25 Daniel Agar - EKF: use GPS to lookup declination from WMM before full GPS checks pass
2020-09-28 10:58:33 -04:00
Daniel Agar cf26f24387 msg: add quaternion euler angle pretty print 2020-09-28 10:13:43 -04:00
justas- bb77f55f7b motor_test: Use 1-based motor indexing.
Motors in Px4 ecosystem are indexed using 1-based indexing (Airframe reference, dshot command, etc.) motor_test command is 0-based. This PR changes motor_test to use 1-based indexing.

This PR refers to Github issue #15721.
2020-09-28 10:59:41 +02:00
flochir ec7108892b batt_smbus: fix potential hardfault by checking buffer sizes (#15789)
* Added buffer length check to SMBus::block_read (triggered hardfault in batt_smbus module by writing beyond buffer end due to device returning longer byte_count than requested/expected)

Co-authored-by: Florian Olbrich <florian.olbrich@scarabot.de>
Co-authored-by: Daniel Agar <daniel@agar.ca>
Co-authored-by: BazookaJoe1900 <BazookaJoe1900@gmail.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-09-28 09:41:40 +02:00
Daniel Agar 4c2355a638 EKF: use GPS to lookup declination from WMM before full GPS checks pass 2020-09-28 08:43:32 +02:00
Daniel Agar 6a08e16351 Update submodule mavlink v2.0 to latest Sat Sep 26 15:30:19 UTC 2020
- mavlink v2.0 in PX4/Firmware (aab65cdc3261a4ca315d5b91d65e0dd3e39940d0): https://github.com/mavlink/c_library_v2/commit/09524c98db4eb389d3d50f7905a17805b216a9ea
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e3d00c443602ff81cc57123fbc3b50c250b3e9ad
    - Changes: https://github.com/mavlink/c_library_v2/compare/09524c98db4eb389d3d50f7905a17805b216a9ea...e3d00c443602ff81cc57123fbc3b50c250b3e9ad

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-09-26 13:14:25 -04:00
PX4 BuildBot 6df50cb74f Update submodule ecl to latest Sat Sep 26 15:30:31 UTC 2020
- ecl in PX4/Firmware (5784cb6e5eb74fcf07f3da058692c7c2320851b9): https://github.com/PX4/ecl/commit/fab242a81f3836de716b0ed96fcc841360c3a867
    - ecl current upstream: https://github.com/PX4/ecl/commit/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6
    - Changes: https://github.com/PX4/ecl/compare/fab242a81f3836de716b0ed96fcc841360c3a867...6b99ea2a6038c536f92aaa2b7d24ce7962e55df6

    6b99ea2 2020-09-24 Daniel Agar - ECL standalone build improve ECL_INFO/WARN/DEBUG
5879eaa 2020-09-25 bresch - ekf: fix variable length array error
99aafba 2020-09-14 Daniel Agar - README: remove obsolete build status
2020-09-26 13:13:51 -04:00
Tanja Baumann b5ebdb8e41 add system command to get and set system time
* add system_time command for all boards
2020-09-26 13:09:01 -04:00
PX4 BuildBot b5df4f76cc Update submodule nuttx to latest Sat Sep 26 15:30:26 UTC 2020
- nuttx in PX4/Firmware (59f5b841a6646a7ae514ae1139ba18c3f787ceb3): https://github.com/PX4/NuttX/commit/a8b7ca869e08e0ca58f20ae1e5732220ef98846f
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/0fe69f6cc0a6f202b61ff81be0560cafb8f3a89d
    - Changes: https://github.com/PX4/NuttX/compare/a8b7ca869e08e0ca58f20ae1e5732220ef98846f...0fe69f6cc0a6f202b61ff81be0560cafb8f3a89d

    0fe69f6cc0 2020-09-25 David Sidrane - [BACKPORT] stm32f7:serial Bug Fix: Ensure next buffer is processed
2020-09-26 09:47:03 -07:00
Jacob Dahl a24488328f Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Daniel Agar e792c46f20 mavlink: increase stack 2650 -> 2848 bytes (#15821) 2020-09-25 21:42:02 -04:00
Daniel Agar f37d0a85e2 Jenkins: remove remaining SITL tests (MC_avoidance/MC_safe_landing)
- MC_avoidance and MC_safe_landing are currently failing intermittently and will be migrated to Github Actions
2020-09-25 12:28:26 -04:00
Daniel Agar 861e06dfd7 mavlink: handle receiving GENERATOR_STATUS
- only published (ORB_ID(generator_status)) and logged for now
2020-09-25 11:36:58 -04:00
Daniel Agar c57a48682e Tools: ecl analysis handle estimator_innovations/estimator_innovation_variances size inconsistencies 2020-09-25 10:35:01 -04:00
Daniel Agar 2ccf664e95 commander: disarm from safety relax land detector timeout
- ensure land detector is updated before safety is checked
2020-09-25 09:41:53 -04:00
Daniel Agar 6b99ea2a60 ECL standalone build improve ECL_INFO/WARN/DEBUG
- ECL_{INFO,WARN,DEBUG} add newline
 - ECL_{INFO,WARN,DEBUG}_TIMESTAMPED add imu timestamp and newline
2020-09-25 09:33:50 -04:00
bresch 5879eaaf78 ekf: fix variable length array error
Even if the non_zeros() function is static constexpr, gcc (10.2) does not like it.
Using sizeof...(Idxs) fixes the error.
2020-09-25 11:33:29 +02:00
jaeyoung 1dbd7df83b Switch VERBOSE to VERBOSE_SIM
This changes the environment variable `VERBOSE` to `VERBOSE_SIM`, to explicitly state that it configures the verbose output of the simulation
2020-09-25 10:42:35 +02:00
Daniel Agar 60252dde08 Jenkins: SITL tests disable ninja build to reduce build parallelism
- test slaves have limited memory
2020-09-24 15:56:57 -04:00
Daniel Agar bbdc57a662 cmake: remove sitl_gazebo build -j2
- allow ninja build to automatically determine parallelism
2020-09-24 15:56:57 -04:00
Matthias Grob bcbc761bf6 Revert "Change defaults for MPC_LAND_ALT"
This reverts commit 59bd3e9f6e.
2020-09-24 19:18:58 +02:00
Daniel Agar 0dc8bb9c86 uORB: increase ORB_MULTI_MAX_INSTANCES 4 -> 10
- put more realistic bounds on maximum number of battery instances, gps, etc
2020-09-24 11:01:28 -04:00
Daniel Agar f04f0c89ca boards: CUAV Nora/X7pro fix BOARD_DSHOT_MOTOR_ASSIGNMENT
- BOARD_DSHOT_MOTOR_ASSIGNMENT isn't needed if there's no remapping
2020-09-24 10:53:54 -04:00
Daniel Agar 762d925d20 boards: cubepilot orange/yellow fix BOARD_DSHOT_MOTOR_ASSIGNMENT 2020-09-24 10:53:54 -04:00
Matthias Grob 5d47a4c9e0 Commander: fix rc override threshold scaling (#15807)
Improve parameter description for threshold
and lower the threshold a bit.
2020-09-24 14:52:19 +02:00
Daniel Agar 0a607bdc67 boards: CUAV CAN_GPS v1.2 cannode (stm32f412) with UAVCAN bootloader 2020-09-23 14:30:54 -04:00
Daniel Agar 8579b5dd26 uORB: Subscription add copy/move constructor and assignment 2020-09-23 10:04:54 -04:00
Matthias Grob bf248746ce mavlink_messages: cast rotation types for assert 2020-09-23 09:08:23 -04:00
Daniel Agar d5295ef4e1 mavlink: add static asserts to keep MAV_SENSOR_ROTATION in sync with PX4 ROTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 00e955cc3e rotations: sync rotation enum, SENS_BOARD_ROT, CAL_MAGx_ROT with MAV_SENSOR_ORIENTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 8b26b84fd1 Jenkins: hardware disable holybro durandal bootloader update
- this is currently bricking the board
2020-09-21 22:51:11 -04:00
Daniel Agar 43903dcb79 Jenkins: temporarily disable catkin build on ROS workspace 2020-09-21 22:48:33 -04:00
Daniel Agar d676e65294 logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765) 2020-09-21 22:17:31 -04:00
Yashom Dighe 5daca6c2c4 IntrusiveSortedList.hpp: let operator* return a reference
So that clang 12 does not complain:
loop variable 'child' is always a copy because the range of type 'List<ModuleParams *>' does not return a reference

Co-authored-by: Yashom Dighe <yashom7@gmail.com>
2020-09-21 16:55:04 -04:00
Daniel Agar e4a408bc55 cmake nuttx build modify copied nuttx repo .git to point to actual git dir
- this fixes builds that contain a px4io and use the Makefile generator rather than Ninja
2020-09-21 12:39:29 -04:00
Daniel Agar 4d97772756 vscode: SITL debug add gazebo world select 2020-09-21 11:56:25 -04:00
Daniel Agar 2728af4264 boards: cubeorange and cubeyellow disable serial console (used for ADSB on new carrier boards)
- add console builds (cubepilot_cubeorange_console) for hardware test rack and developers
2020-09-21 11:53:49 -04:00
bresch 1141cfa7c6 ekf2_main: reduce update mag bias minimum learning time to 30s
120 seconds of learning time in 3D fusion mode was too long for most normal flights. The learned bias is usually really good after a shorter period and was not used to update the parameters. 30s seems to be a good compromise.
2020-09-21 15:54:24 +02:00
Beat Küng 5ac0c7c799 List.hpp: let operator* return a reference
So that clang 12 does not complain:
loop variable 'child' is always a copy because the range of type 'List<ModuleParams *>' does not return a reference
2020-09-21 09:23:21 -04:00
Daniel Agar 09af5e0637 commander: mag calibration use expected WMM sphere radius to reject samples if GPS is available 2020-09-20 12:22:56 -04:00
bazooka joe 727b0cf530 moved posix airframe files to folder, same as in regullar init.d folder
and add some debugging info when succeeded/fail to find air-frame file
2020-09-19 21:31:39 -04:00
Daniel Agar 940dc9cca0 cmake NuttX build fix path to git dir
- this relative path was incorrect for the px4io when using the Makefile generator and built for inclusion within another build (eg px4_fmu-v5_default)
2020-09-18 21:18:36 -04:00
Daniel Agar abbd335e4e uavcannode: use correct PYTHON_EXECUTABLE and support stm32h7
- sync CMakeLists.txt with drivers/uavcan
2020-09-18 13:03:07 -04:00
Daniel Agar d61fd0e4ca update all px4-dev-base and px4-dev-nuttx container usage uniformly 2020-09-18 13:03:07 -04:00
Daniel Agar 41a2fe5bdf gitmodules update NuttX branches 2020-09-18 12:10:34 -04:00
Beat Küng 5fdff6a0e4 i2c drivers: add '-k' flag for keep_running directly to BusCLIArguments 2020-09-18 09:45:06 -04:00
Beat Küng 1bf030e8ba lps33hw: refactor and add -k flag to keep running even if no sensor found 2020-09-18 09:45:06 -04:00
jaeyoung 24adf36097 Add jsbsim multirotor targets to cmake 2020-09-18 10:25:52 +02:00
Beat Küng f106e6b266 param: add 'param show-for-airframe' command
- simplifies creation of an airframe config
- could be done from QGC, but it only knows if a param is non-default from
  metadata, which can be incorrect/missing information
- for the list of exceptions we could look at '@category', but we don't have
  that info in the build
- there might be some more exceptions to be added
2020-09-18 09:03:29 +02:00
JaeyoungLim 458420f9cb Add jsbsim bridge to enable jsbsim for px4 SITL on jsbsim (#15748)
* Add jsbsim bridge to enable jsbsim for px4 SITL/HIL on jsbsim

This is a PX4 HIL/SITL integration into JSBSim. JSBSim is an open source flight dynamics model (http://jsbsim.sourceforge.net/)

Currently there are three models available which is the rascal, quadrotor_x, hexarotor_x integrated into the bridge.

The simulation can be run with the firmware with the following command for example
```
make px4_sitl jsbsim_rascal
```

The visualization is done flightgear and is done by the bridge sending UDP packets to flightgear. To disable the visualization `HEADLESS=1` when running the make command.

The simulation can be configured through the configuration files under the `config` directory through a xml file. Senor configurations,  The xml file name should match the name of the model.

* Update Tools/sitl_run.sh

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

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-09-17 20:32:42 +02:00
David Sidrane c5f479dac7 uvify_core: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 240dfaa515 spracing_h7extreme: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c7642288db px4_fmu-v6x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1a51a84130 px4_fmu-v6x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane b83fdfda37 px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 733c1b747b px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 075690af9d px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 8e3ba3b0b3 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane d2e7542e39 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane dab2069f53 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane e3f5af4887 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 8a3f4f285a px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane ccc439504d px4_fmu-v4pro: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane f5fca39253 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 3457c30ab3 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 7a50f00b00 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 347ab5daaa px4_fmu-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c620059076 px4_fmu-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 42b466dc45 px4_fmu-v2: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 4bc698e8e3 omnibus_f4sd: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 65ddf98d76 nxp_rddrone-uavcan146: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 94b5c961bc nxp_fmurt1062-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane a7365100f4 nxp_fmuk66-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1936ead0b4 nxp_fmuk66-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 3f82b19fc7 nxp_fmuk66-e: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane afad60a0bc nxp_fmuk66-e: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 00b4807443 mro_x21: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 4f5c88fc89 mro_x21-777: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1e55ce0839 mro_ctrl-zero-f7: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 05a415cf4a modalai_fc-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 0727db04a3 intel_aerofc-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 15c8a26a21 holybro_pix32v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane f77bf7f475 holybro_kakutef7: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 6681b1ac44 holybro_durandal-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 5dc5ef664f holybro_durandal-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane fc5caf382c cubepilot_cubeyellow: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 0d9d1e79e8 cubepilot_cubeorange: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 5c95d8876a cuav_x7pro: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 9bd88c34a9 cuav_nora: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 9106386613 bitcraze_crazyflie: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane aa463e31b4 av_x-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 34d1fcc704 airmind_mindpx-v2: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c17a0ebacf holybro_durandal-v1:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 848b0ea88c cuav_x7pro:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 2745ffe946 cuav_nora:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 72c681134d px4_fmu-v6x:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 768ed297f2 uavcan_stm32h7:Support is by Family Not Chip/pacakge 2020-09-16 21:32:04 -04:00
David Sidrane f0b8bc9dd6 run-shellcheck appease shell check 2020-09-16 21:32:04 -04:00
David Sidrane f3c2ed5eb6 ROMFS/CMakeLists appease shell check 2020-09-16 21:32:04 -04:00
David Sidrane 6e1078c96e NuttX-Posix least bad LGD
Nuttx now supports sh and source (.)
   sh will open a new process for each invocation.
   This means the child can not modify the parent
   env. So we must use . to matain how nuttx worked.

   Since rc.vehicle_setup is used in both we use
   source and alis as we did with sh.
2020-09-16 21:32:04 -04:00
David Sidrane 323dd389fe vehicle_imu:VehicleIMU Fix style issues 2020-09-16 21:32:04 -04:00
David Sidrane d437379142 spracing_h7extreme:qspi Fix style issues 2020-09-16 21:32:04 -04:00
David Sidrane 59ba09d73c CI use 2020-08-14 with gcc 9.3.1 2020-09-16 21:32:04 -04:00
David Sidrane 760f2ecb22 LoadMon:track upstream malloc changes 2020-09-16 21:32:04 -04:00
David Sidrane c948d41284 up_cxxinitialize:is now automatic in task start 2020-09-16 21:32:04 -04:00
David Sidrane 185ffe9e13 nsh scripting:source (.) cmd supported 2020-09-16 21:32:04 -04:00
David Sidrane df30f29a55 NuttX/Make.defs.in Support PROBEs 2020-09-16 21:32:04 -04:00
David Sidrane fbf110f6be Use EXTRAFLAGS instead of EXTRADEFINES 2020-09-16 21:32:04 -04:00
David Sidrane b2a31e15da common:board_crashdump.c track upstream API change 2020-09-16 21:32:04 -04:00
David Sidrane f77fc690c7 hott:Fix compiler error array bound is unknown
This fixes error: variable-length array bound is unknown [-Werror=vla-larger-than=]
   with gcc 9.1
2020-09-16 21:32:04 -04:00
David Sidrane e3e7cb4158 PX4 add compiler dependent: disable no-stringop-truncation 2020-09-16 21:32:04 -04:00
David Sidrane c49c767d78 NuttX add compiler dependent: disable no-stringop-truncation 2020-09-16 21:32:04 -04:00
David Sidrane 4d64065422 NuttX:Make.defs.in fix macro to not kill flock 2020-09-16 21:32:04 -04:00
David Sidrane 852d5ceb22 NuttX CMakeLists build .version file in build 2020-09-16 21:32:04 -04:00
David Sidrane 68e3fd9f37 cpuload Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 06d030b6d9 px4iofirmware Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane b32aab2d0f platform Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 97c17d5d4a uvify_core Updates for NuttX 9.1.0-
uvify_core: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f9adf861dc spracing_h7extreme Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 8cb1fe5a54 px4_io-v2 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane f870594f1d px4_fmu-v6x Updates for NuttX 9.1.0-
px4_fmu-v6x: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane acea295d5a px4_fmu-v5x Updates for NuttX 9.1.0-
px4_fmu-v5x: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane b52e10720e px4_fmu-v5 Updates for NuttX 9.1.0-
px4_fmu-v5: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f98d10bf15 px4_fmu-v4pro Updates for NuttX 9.1.0-
px4_fmu-v4pro: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 9986f63321 px4_fmu-v4 Updates for NuttX 9.1.0-
px4_fmu-v4: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 0da14887d0 px4_fmu-v3 Updates for NuttX 9.1.0-
px4_fmu-v3: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 77ce7b2457 px4_fmu-v2 Updates for NuttX 9.1.0-
px4_fmu-v2: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 9a19340dc3 omnibus_f4sd Updates for NuttX 9.1.0-
omnibus_f4sd: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 1285c79b6b kinetis uavcan_drivers Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane ddacf357a7 nxp_rddrone-uavcan146 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 5698bc254a nxp_fmurt1062-v1:Track PX4 Sensor changes 2020-09-16 21:32:04 -04:00
David Sidrane 1abe88df61 nxp_fmurt1062-v1 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane aa67fbdbcb nxp_fmuk66-e: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 8a673c8a3d nxp_fmuk66-v3 Updates for NuttX 9.1.0-
nxp_fmuk66-v3: defconfig MMCSD enable multiblock

nxp_fmuk66-v1:Disable multiblock as it fails
2020-09-16 21:32:04 -04:00
David Sidrane aa1cb370e4 mro_x21 Updates for NuttX 9.1.0-
mro_x21: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c9a323ebcc mro_x21-777 Updates for NuttX 9.1.0-
mro_x21-777: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 2550d6f7c1 mro_ctrl-zero-f7 Updates for NuttX 9.1.0-
mro_ctrl-zero-f7: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c8ef85c090 modalai_fc-v1 Updates for NuttX 9.1.0-
modalai_fc-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 20398c3933 intel_aerofc-v1 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane c2419e7f3d holybro_pix32v5: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane abe9f1a768 holybro_kakutef7 Updates for NuttX 9.1.0-
holybro_kakutef7: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 59f914427c holybro_durandal-v1 Updates for NuttX 9.1.0-
holybro_durandal-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f21925f976 cubepilot_io-v2: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane e8e463b875 cubepilot_cubeyellow Updates for NuttX 9.1.0-
cubepilot_cubeyellow: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 5691bf1dee cubepilot_cubeorange Updates for NuttX 9.1.0-
cubepilot_cubeorange: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane e16efd9643 cuav_x7pro Updates for NuttX 9.1.0-
cuav_x7pro: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 93e3b52515 cuav_nora Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane b8db1e6380 bitcraze_crazyflie Updates for NuttX 9.1.0-
bitcraze_crazyflie: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane e487833347 av_x-v1 Updates for NuttX 9.1.0-
av_x-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 8e97ae323e airmind_mindpx-v2 Updates for NuttX 9.1.0-
airmind_mindpx-v2: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c57024e6bb NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
Julian Oes 720784b9e9 workflows: update MAVSDK used for SITL test 2020-09-16 12:51:56 -04:00
Julian Oes 44b4a6eb74 mavsdk_tests: increase time for manual tests 2020-09-16 12:51:56 -04:00
Julian Oes 9ed07a7873 simulator: fix temperature setting after rebase 2020-09-16 12:51:56 -04:00
Julian Oes e7651c94f6 mavsdk_tests: use custom rootfs, reset it
Instead of messing with existing params, use a separate rootfs for
tests, as suggested by @bkueng.
2020-09-16 12:51:56 -04:00
Julian Oes 517114042a failure: use time literal 2020-09-16 12:51:56 -04:00
Julian Oes a37b839e27 simulator: add missing timestamp 2020-09-16 12:51:56 -04:00
Julian Oes b1219811c5 mavlink: SYS_FAILURE_EN is just a bool
Thanks @bkueng for the review comment.
2020-09-16 12:51:56 -04:00
Julian Oes 012763e5f1 mavsdk_tests: fly forward a bit longer
Hopefully, that's long enough for slow VTOLs.
2020-09-16 12:51:56 -04:00
Julian Oes b4ac50ced4 failure: add missing command usage docstring 2020-09-16 12:51:56 -04:00
Julian Oes 58b4135ab0 mavsdk_tests: wait even longer
Again, hopefully that's enough.
2020-09-16 12:51:56 -04:00
Julian Oes a299e2c57d mavsdk_tests: fly forward even longer
Hopefully that's enough.
2020-09-16 12:51:56 -04:00
Julian Oes 4c00c1f561 mavsdk_tests: add missing switch to POSCTL 2020-09-16 12:51:56 -04:00
Julian Oes bbef07bc80 mavsdk_tests: init RC with throttle centered 2020-09-16 12:51:56 -04:00
Julian Oes c26b769cc0 mavsdk_tests: add missing type annotation 2020-09-16 12:51:56 -04:00
Julian Oes d2cb27e0de mavsdk_tests: try with faster RC rate 2020-09-16 12:51:56 -04:00
Julian Oes f8f03835ad mavsdk_tests: increase timeouts yet again
This is after using PX4 time to check for timeouts.
2020-09-16 12:51:56 -04:00
Julian Oes 3135b94980 mavsdk_tests: use PX4 time for timeouts
This way we are less dependent on CPU load of the host.
2020-09-16 12:51:56 -04:00
Julian Oes ca0f26a003 mavsdk_tests: added posctl/altctl test 2020-09-16 12:51:56 -04:00
Julian Oes 0a7dcf26d5 mavsdk_tests: clean up includes 2020-09-16 12:51:56 -04:00
Julian Oes 630a6f3810 mavsdk_tests: clear params between test cases 2020-09-16 12:51:56 -04:00
Julian Oes a5a577a6c4 mavsdk_tests: use speed factor, increase timeouts
We had not actually properly adjusted the timeout to the lockstep speed
factor. Once we did that, we had to increase the timeouts quite a bit to
have the tests pass.
2020-09-16 12:51:56 -04:00
Julian Oes 4eb1ea10f0 mavsdk_tests: don't block inside of callback
This is required with MAVSDK v0.29.0 and later!
2020-09-16 12:51:56 -04:00
Julian Oes 8d3f1e63f0 mavsdk_tests: use all os env vars by default 2020-09-16 12:51:56 -04:00
Julian Oes 55d2bdc438 mavsdk_tests: adapt to changed inject API
We now need to say which instance, for now it's all instances.
2020-09-16 12:51:56 -04:00
Julian Oes 06ad0de5eb workflows: move to MAVSDK v0.29.0 2020-09-16 12:51:56 -04:00
Julian Oes ed357cf356 mavsdk_tests: move math things to separate header 2020-09-16 12:51:56 -04:00
Julian Oes 1eaceb17dc mavsdk_tests: adjust timeouts by lockstep speed up 2020-09-16 12:51:56 -04:00
Julian Oes 4d76ed34f3 simulator: update temperature in sync with baro
This fixes the case where the baro was not rejected if stuck because the
temperature still varied.
2020-09-16 12:51:56 -04:00
Julian Oes 20621e6744 mavsdk_tests: add tests for GPS as height source 2020-09-16 12:51:56 -04:00
Julian Oes c31246e13a mavsdk_tests: add test for stuck mag 2020-09-16 12:51:56 -04:00
Julian Oes afcfa2fbe0 mavsdk_tests: check for stuck baro 2020-09-16 12:51:56 -04:00
Julian Oes a05ad9c64c mavsdk_tests: add wildcards for case filtering 2020-09-16 12:51:56 -04:00
Julian Oes c4efcbf895 mavsdk_tests: check for baro failure in mission 2020-09-16 12:51:56 -04:00
Julian Oes 8d6ebf15b6 mavsdk_tests: test for losing mag during mission 2020-09-16 12:51:56 -04:00
Julian Oes ef7e4531f9 mavsdk_tests: enable GPS lost test for VTOL
This is in multicopter mode only for now though.
2020-09-16 12:51:56 -04:00
Julian Oes 3c499fc3a2 mavsdk_tests: add first GPS lost failsafe test 2020-09-16 12:51:56 -04:00
Julian Oes db87ba3a1c systemcmds: add new failure command
This adds a new systemcmd to inject failures into the system.
2020-09-16 12:51:56 -04:00
Julian Oes a9c4f269bd simulator: use failure injection to block GPS
This uses the new failure injection system using vehicle_commands
instead of specific parameters. For now it implements GPS only.
2020-09-16 12:51:56 -04:00
Julian Oes 53b14233a2 mavlink: handle failure injection commands
This adds handling of MAVLink failure injection commands. An
additional parameter is added as a guard to prevent triggering any
failures by accident.
2020-09-16 12:51:56 -04:00
Daniel Agar 12ab762adc sensor_calibration: silence error if priority is -1 (uninitialized parameter value) 2020-09-16 12:32:40 -04:00
Daniel Agar 033f74b1c8 sitl_run.sh remove xtrace leftover from debugging 2020-09-16 10:43:29 -04:00
Peter van der Perk aaea6b3f3b Add FMUK66-V3 RTPS target to CI 2020-09-16 09:42:34 -04:00
Peter van der Perk 0caad08dd5 Added RTPS target for FMUK66-V3 2020-09-16 09:42:34 -04:00
Beat Küng abf5c2b301 ROMFS/CMakeLists.txt: change dependencies
- moves process airframe deps to the tar generation, to ensure whenever
  airframes are processed, the tar is extracted first.
  This is required, because if the airframe processing is done on pruned
  ROMFS, it's missing the tags.
- avoid using init.d/rcS in dependencies, use a separate file instead.
  This is because pruning modifies the rcS, and the next rebuild was
  seeing a changed rcS, resulting in unnecessary regeneration.
2020-09-16 09:30:58 -04:00
Daniel Agar 2b18b05a8a vscode updates and improvements
- fix gazebo SITL debug
     - now prompts you to select vehicle
 - devcontainer.json container support https://code.visualstudio.com/docs/remote/containers
     - this allows you to jump straight into working within a container (px4-dev-nuttx) on a fresh machine
     - also helps with Codespaces https://github.com/features/codespaces
 - plugin updates
    - cpp extension pack, spell checking, CTest support
 - cleanup intellisense
     - the backup tag parser was a resource hog and didn't work very well
 - fix problemMatcher support so that you can click on a build failure
2020-09-16 09:07:54 -04:00
Nicolas MARTIN 504730386a fix COM_ARM_AUTH comment 2020-09-15 22:12:55 -04:00
Daniel Agar 0e9a4cc65f boards: px4/sitl sync all build variants and fix none default package 2020-09-15 21:13:04 -04:00
Daniel Agar 5e4e4a4573 boards: aerotenna ocpoc fix package (new ROMFSROOT was missing) 2020-09-15 21:13:04 -04:00
Daniel Agar c41f053c7b vehicle_imu/vehicle_magnetometer add calibration indicator to message
- vehicle_imu/vehicle_magnetometer add monotonically increasing `calibration_count` field so that downstream subscribers are aware of calibration changes
2020-09-15 13:12:57 -04:00
Daniel Agar 87471a988d land_detector: use hover thrust if it was valid recently
- the hover thrust estimate will often invalidate upon ground contact, but before the land detector ground_contact triggers
 - use same time throughout call to avoid subtle timing surprises
2020-09-15 10:17:25 -04:00
Daniel Agar dc507ee544 sensors: add SENS_MAG_MODE to optionally publish all magnetometers 2020-09-15 10:15:39 -04:00
Daniel Agar a04412fc1f sensors: add SENS_IMU_MODE to optionally skip IMU voting/selection 2020-09-15 10:15:39 -04:00
Mirko Denecke 5ebc4d31da CubeOrange and CubeYellow IMU heating fix 2020-09-15 10:08:58 -04:00
Beat Küng ef55680ab1 sitl: enable EMBEDDED_METADATA to add parameter metadata to ROMFS 2020-09-15 09:30:16 +02:00
Beat Küng 0a061160f7 cmake px4_add_board: add EMBEDDED_METADATA
Allowing to put additional metadata into the ROMFS, the first is
parameters.json.gz.
2020-09-15 09:30:16 +02:00
Beat Küng d5b8f6cdf9 sitl_run.sh: cleanup, kill jmavsim only if $program == jmavsim 2020-09-15 09:30:16 +02:00
Beat Küng 055fa768d8 posix: enable ROMFSROOT
This will copy the ROMFS into the build directory under etc/, and thus
needs a change of the PX4 startup parameters and mixer paths.
2020-09-15 09:30:16 +02:00
Beat Küng d3362f38d1 parameters: add parameters.json.gz as output 2020-09-15 09:30:16 +02:00
Beat Küng 809d05053b posix: add support for ROMFSROOT
- add missing ROMFS files to CMakeLists.txt
- rename genromfs to etc, so that it's clearer for SITL use
2020-09-15 09:30:16 +02:00
Daniel Agar 99aafbaa18 README: remove obsolete build status 2020-09-14 12:04:42 -04:00
SalimTerryLi 28a6e82698 Introduce new generic ADC driver for ADS1115 chip (#14437) 2020-09-14 11:03:40 -04:00
Ricardo Marques c15efea429 mavlink: publish ESC_INFO and ESC_STATUS
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-09-14 09:38:44 -04:00
flbernier 0ece66dc80 Add a internal start for rgbled_ncp5623c on fmu-v2 v3 v4pro 2020-09-14 09:31:31 -04:00
JaeyoungLim 0592f6ba6e Support gliding setpoints for autonomous soaring (#14643)
* Enable offboard gliding position setpoints

Adds a capability to make the vehicle glide when given position setpoints.

Gliding setpoints are enabled by setting POSITION_TARGET_TYPEMASK_Z_IGNORE, POSITION_TARGET_TYPEMASK_VZ_IGNORE,  POSITION_TARGET_TYPEMASK_AZ_IGNORE on the typemask of position setpoints.
Include zero cruising throttle
Invalid setpoints with nan

* Handle nans for curise_throttle
2020-09-14 10:56:29 +02:00
PX4 BuildBot 8bc512dc93 Update submodule sitl_gazebo to latest Mon Sep 14 00:39:41 UTC 2020
- sitl_gazebo in PX4/Firmware (ac732cdeba): https://github.com/PX4/sitl_gazebo/commit/78bba3f25e7e240bf70878bd007dfd77b33440c1
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/9d2b19784cb34bf8f397ab2e2f368f682f2d5d5a
    - Changes: https://github.com/PX4/sitl_gazebo/compare/78bba3f25e7e240bf70878bd007dfd77b33440c1...9d2b19784cb34bf8f397ab2e2f368f682f2d5d5a

    9d2b197 2020-09-12 JaeyoungLim - Use jinja templates for standard_vtol and plane model (#590)
01587e6 2020-09-12 Lorenz Meier - Include GLib2 properly The previous approach did not actually search for glib2 in the system but hardcoded the name.
e49fac5 2020-09-12 bazooka joe - cleanups: rename class vars to be with underscore
6fb9bd9 2020-09-12 bazooka joe - move initializers to h file
29999c6 2020-09-12 JaeyoungLim - Update boat gps sensor (#595)
a208640 2020-09-09 petertheprocess - fix the rudder deflection bug. (#588)
2020-09-13 21:41:22 -04:00
PX4 BuildBot 1ad2e85475 Update submodule ecl to latest Mon Sep 14 00:39:58 UTC 2020
- ecl in PX4/Firmware (3011684f9154975f4db1581d9466524a02d4cbf3): https://github.com/PX4/ecl/commit/a204c599903e6a462cab17bee061d4418a8b6b53
    - ecl current upstream: https://github.com/PX4/ecl/commit/fab242a81f3836de716b0ed96fcc841360c3a867
    - Changes: https://github.com/PX4/ecl/compare/a204c599903e6a462cab17bee061d4418a8b6b53...fab242a81f3836de716b0ed96fcc841360c3a867

    fab242a 2020-09-06 Daniel Agar - python generation add shebang, mark executable, ignore cache
2020-09-13 21:37:01 -04:00
Daniel Agar 2b04ae3a05 Update submodule mavlink v2.0 to latest Mon Sep 14 00:39:47 UTC 2020
- mavlink v2.0 in PX4/Firmware (8d63bbe7d06ac13a5e78905886cfa51a53d0de92): https://github.com/mavlink/c_library_v2/commit/efc2a1fa7e1c7814ca7b65f484f6e9968cb8f1c8
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/09524c98db4eb389d3d50f7905a17805b216a9ea
    - Changes: https://github.com/mavlink/c_library_v2/compare/efc2a1fa7e1c7814ca7b65f484f6e9968cb8f1c8...09524c98db4eb389d3d50f7905a17805b216a9ea

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-09-13 21:23:46 -04:00
Daniel Agar 13db2ebb2b accel/gyro/mag calibration set default priority uninitialized
- this allows the default priority to be set differently for internal/external sensors
 - accel and gyro initialize default priority like mag in preparation for fully supporting external sensors
 - fixes #15652
2020-09-13 21:02:53 -04:00
Daniel Agar d70e183f5b commander: sensor calibration check parameter save success 2020-09-13 21:00:40 -04:00
Daniel Agar 04214a347e lib/sensor_calibration: check param save success and comment helpers 2020-09-13 21:00:40 -04:00
Mirko Denecke ac732cdeba STM32H7 CAN: fix uninitialized pending variable 2020-09-13 18:58:57 -04:00
Beat Küng 2b0396d5df gps: use px4::atomic instead of volatile 2020-09-13 18:31:37 -04:00
Beat Küng e906106ea2 gps: fix memory leak on module exit (delete _helper) 2020-09-13 18:31:37 -04:00
Beat Küng 2956aa340e module: increase max timeout for stopping modules from 2s to 5s
The gps module might take up to 4s to stop (if stopped during module
configuration).
2020-09-13 18:31:37 -04:00
Thies Lennart Alff 531242468e fixed erroneous task_spawn 2020-09-13 18:31:02 -04:00
Daniel Agar 198466306e boards: airmind mindpx-v2 fix internal qmc5883l rotation 2020-09-13 18:28:31 -04:00
Morten Fyhn Amundsen cfe4982023 mavlink_messages: Subscribe to all distance_sensor instances
This will make all distance_sensor messages be published to
mavlink. Previously, if you ran multiple distance_sensor publishers,
typically multiple distance sensors, then you'd only get one of them
on mavlink.

The modifications to MavlinkStreamDistanceSensor are based on
MavlinkStreamBatteryStatus, which already exists with multi-instance
subscription and streaming to mavlink.

Use SubscriptionMultiArray

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-09-13 12:42:07 -04:00
Jaeyoung-Lim 0d4d21cd67 Allow gzserver verbose options through command line
Allows verbose option for gzserver with VERBOS=1 on command line.
2020-09-12 20:19:21 +02:00
CarlOlsson 2128679ab3 rename templates/module to templates/template_module 2020-09-11 09:21:33 +02:00
Quentin PERROT 9116acc431 change message critical state for arm authorization 2020-09-09 08:59:21 +02:00
Matthias Grob c6e2722b8f param: remove reset_nostart
Since we have reset_excludes and SYS_AUTOSTART and SYS_AUTOCONFIG
can be excluded like every other parameter.
2020-09-08 12:03:41 +02:00
Matthias Grob ce9954a919 param: enable reseting specific parameters from shell
Renaming previous "param reset" to "param reset_all".
2020-09-08 12:03:41 +02:00
Matthias Grob f70dda12a6 failureDetectorCheck: remove string manipulation 2020-09-08 11:42:30 +02:00
Matthias Grob 5eba25d2b5 Commander: remove duplicate flag changes 2020-09-08 11:42:30 +02:00
Matthias Grob ab17b6bad4 failureDetectorCheck: revise messageing 2020-09-08 11:42:30 +02:00
Matthias Grob 981e05c633 FailureDetector: move esc topic check into esc status update 2020-09-08 11:42:30 +02:00
Matthias Grob c180e09b9a FailureDetector: replace resetAttitudeStatus 2020-09-08 11:42:30 +02:00
Matthias Grob 390edb770d Commander: separate failure detector cases
One case could lead to the action for the other!
2020-09-08 11:42:30 +02:00
Matthias Grob f47bb95b26 FailureDetector: remove obsolete bit switch checks 2020-09-08 11:42:30 +02:00
Matthias Grob c9b81eaf08 FailureDetector: simplify updated/changed check 2020-09-08 11:42:30 +02:00
Matthias Grob 2bb5917188 FailureDetector: refactor naming, member order 2020-09-08 11:42:30 +02:00
Matthias Grob 25cdb383c6 Commander: simplify main failure detector condition 2020-09-08 11:42:30 +02:00
SalimTerryLi c037dbef21 Rename and move src/drivers/adc to src/drivers/adc/board_adc 2020-09-07 23:09:20 -04:00
avionicsanonymous df38e3798c UAVCAN Rangefinder Support (#15097) 2020-09-07 19:22:08 -04:00
David Sidrane 6c4a1d01c1 NuttX Critical STM32H7 Interrupt Storm on I2C 2020-09-07 15:15:52 -04:00
Dusan Zivkovic fa1a0b848b FlightTaskAuto: update waypoints on every iteration when in offtrack state 2020-09-07 19:25:10 +02:00
bresch db25f20120 ekf2: move "using" keywords to cpp 2020-09-07 09:42:56 -04:00
Daniel Agar fab242a81f python generation add shebang, mark executable, ignore cache
- commit all current generated files
2020-09-07 09:20:41 +02:00
Daniel Agar 60d613ea04 sensors: sensor_preflight_imu -> sensors_status_imu and run continuously
- inconsistency checks now run continuously instead of only preflight
 - keep inconsistencies for all sensors
 - add per sensor data validator state as overall health flag
2020-09-06 22:06:13 -04:00
PX4 BuildBot d4ecf24bf2 Update submodule ecl to latest Sun Sep 6 12:39:41 UTC 2020
- ecl in PX4/Firmware (2a6181e31fd47fc99f42c6fea4d2186cda1196f0): https://github.com/PX4/ecl/commit/264c8c4e8681704e4719d0a03b848df8617c0863
    - ecl current upstream: https://github.com/PX4/ecl/commit/a204c599903e6a462cab17bee061d4418a8b6b53
    - Changes: https://github.com/PX4/ecl/compare/264c8c4e8681704e4719d0a03b848df8617c0863...a204c599903e6a462cab17bee061d4418a8b6b53

    a204c59 2020-09-05 rjgritter - WindEstimator: Fix incorrect _state accessing, clarify enums (#906)
2020-09-06 20:08:41 -04:00
Daniel Agar 4e8775a584 Jenkins: temporarily disable MC safe landing SITL test
- the MC safe landing SITL test continues to fail intermittently so I'm disabling it for now
2020-09-06 19:47:10 -04:00
Daniel Agar ca9b6bc137 commander: quick mag cal with fixed heading use MAV_CMD_FIXED_MAG_CAL_YAW message
- use proper Mavlink MAV_CMD_FIXED_MAG_CAL_YAW command for initiating magnetometer quick cal
 - MAV_CMD_FIXED_MAG_CAL_YAW allows specifying the yaw and optionally latitude and longitude if the vehicle doesn't have GPS
2020-09-06 19:25:11 -04:00
Daniel Agar 1ac31100cc commander: HITL skip auto disarm if lockdown
- auto disarm when locked down was added in #14766 to prevent user confusion in regular usage, but also breaks HITL where lockdown is enabled for safety
 - fixes #15686
2020-09-06 18:38:05 -04:00
Daniel Agar 3fa9ff6d20 boards: px4_fmu-v5_debug increase LPWORK stack 1632 -> 1728 bytes 2020-09-06 18:36:30 -04:00
Daniel Agar dfa82b58fd msg/tools/uorb_to_ros_msgs.py set executable 2020-09-06 23:31:52 +02:00
Daniel Agar cea1a19fe6 NuttX sched notes add C linkage 2020-09-06 19:18:42 +02:00
SalimTerryLi af84f449c7 isentek/ist8310: support starting with custom i2c address 2020-09-06 09:06:05 -04:00
Daniel Agar 023f6d3983 NuttX cpuload monitoring optimization
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
 - convert cpuload and print load to c++
 - delete unused fields from print_load struct
 - update hrt_store_absolute_time (previous unused)
2020-09-05 14:35:50 -04:00
Nicolas MARTIN a9798454cd temperature compensation: change sensor id not found message 2020-09-05 13:27:42 -04:00
Nicolas MARTIN 4addf8ec3e thermal calibrtation: do not calibrate sensor without temperature sensor 2020-09-05 13:27:42 -04:00
rjgritter a204c59990 WindEstimator: Fix incorrect _state accessing, clarify enums (#906) 2020-09-05 08:48:51 +02:00
Jonathan Hahn 7e5e8259f3 fw_pos_control_l1: fix swapped TECS time parameters (#15685)
Co-authored-by: Jonathan Hahn <hahn@wingcopter.com>
2020-09-04 15:11:31 -04:00
Daniel Agar f7c364de37 Jenkins hardware print estimator and sensor messages 2020-09-04 10:48:26 -04:00
Daniel Agar e5879f1bb6 estimator_sensor_bias: add bias variance 2020-09-04 10:48:26 -04:00
Daniel Agar c54a0ff0c7 estimator_status: add device ids for accel/baro/gyro/mag 2020-09-04 10:48:26 -04:00
Daniel Agar 20c2fe6d28 estimator messages add explicit timestamp_sample
- timestamp is uORB publication metadata
 - this allows us to see what the system saw at publication time plus the latency in estimation
2020-09-04 10:48:26 -04:00
Daniel Agar 09666c324f msg: add mag device id pretty print decode 2020-09-04 10:48:26 -04:00
Daniel Agar 9215fb57a2 ekf2: advertise immediately to ensure consistent uORB instance numbering 2020-09-04 10:48:26 -04:00
Daniel Agar 9ccc1db649 estimator_status split out estimator_states 2020-09-04 10:48:26 -04:00
Daniel Agar 33a7fed240 ekf2: split out header and rename 2020-09-04 10:48:26 -04:00
Daniel Agar 4879a4e2ef ekf2: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar 59e66e5be9 sensors/vehicle_acceleration: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar ee88561a33 sensors/vehicle_angular_velocity: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar 94f7b50970 uORB: add Subscription method to change instance 2020-09-03 15:41:33 -04:00
Beat Küng 787f9c1213 i2c: use board-specific bus numbering for '-X -b <bus>' CLI
As boards don't have their external buses labeled consistently, it was not
useful to use an abstraction.
2020-09-03 15:32:35 -04:00
David Sidrane fdcd9b2de1 npx_fmurt1062-v1:CONFIG_BOARD_CRASHDUMP is not supported 2020-09-03 14:55:09 +02:00
David Sidrane 5d5a767143 npx_fmuk66:CONFIG_BOARD_CRASHDUMP is not supported 2020-09-03 14:55:09 +02:00
David Sidrane 7f91e41f67 hardfault_log:Add Fault Status registers 2020-09-03 14:55:09 +02:00
Daniel Agar bf41574b1d isentek/ist8308: set sensor_mag error count and fix bitwise AND 2020-09-03 07:50:43 +02:00
Daniel Agar 19b43b5e9c uORB:: SubscriptionMultiArray fix construction argument
- uORB::SubscriptionInterval construction requires the interval THEN the instance
2020-09-03 07:49:57 +02:00
Daniel Agar 24125b3da4 magnetometer/qmc5883l: cleanup/rewrite driver (#14384) 2020-09-02 13:16:27 -04:00
Daniel Agar 7569722821 iSentek IST8310 magnetometer rewrite
- simple state machine to reset, configure, etc
 - checked register mechanism (sensor will reset itself on configuration error)
 - configured in 16 bit mode (1320 LSB/Gauss instead of 330 LSB/Gauss)
 - adjusted orientation handling in driver to match datasheet as closely as possible
     - in many external compass units the rotation was wrong and very difficult to actual determine how to set correctly
2020-09-02 13:14:45 -04:00
Daniel Agar 6ff361479c uORB: introduce SubscriptionMultiArray for working with multi-instances 2020-09-02 12:46:47 -04:00
oneWayOut 71f381ada9 add gazebo VTOL tiltrotor debug target for VSCode SITL 2020-09-02 11:41:01 -04:00
Daniel Agar 5017a7e33a simulator: publish 2 instances of accel/baro/gyro/mag 2020-09-02 10:42:02 -04:00
Daniel Agar 668c16da83 px4_work_queue: reset statistics after each status print 2020-09-02 10:09:13 -04:00
Nuno Marques 86e10afd76 microRTPS agent deploy: split commit subjects and delete src and idl folders before updating them (#15672) 2020-09-02 15:11:25 +02:00
Daniel Agar 7c2bb6a983 Jenkins: hardware increase timeout 2020-09-02 09:00:34 -04:00
TSC21 ba7d19033e replace 'python' with '.' to run the uORB to ROS conversion Python script 2020-09-02 13:38:04 +02:00
TSC21 5ae0291c13 reactivate ROS-related builds 2020-09-02 11:47:34 +02:00
TSC21 ad2b4c81fd update container tags to focal:2020-08-20 2020-09-02 11:47:34 +02:00
gitfishup f3579e473b boards: CUAV Nora enable UAVCAN 2020-09-01 21:16:17 -04:00
Daniel Agar e56dfe6497 rover_pos_control: revert sensor_combined purge
- sensor_combined is only used for scheduling in this module under certain circumstances and should be reviewed and replaced 
 - fixes https://github.com/PX4/Firmware/issues/15628
2020-09-01 21:09:33 -04:00
Daniel Agar dd9676b73e boards: px4/fmu-v5_debug increase interrupt stack 512 -> 768 bytes 2020-09-01 20:04:06 -04:00
Matthias Grob 1d562aaf4a battery: switch to PublicationMulti for battery_status 2020-09-01 10:25:03 +02:00
Matthias Grob d06425d131 analog_battery: fix missing stdio include
This was not a problem before because battery.h
included the adc driver and implicitly snprintf
was defined through there.
2020-09-01 10:25:03 +02:00
Matthias Grob 5bc1df60a2 commander_params: remove some double spaces 2020-09-01 10:25:03 +02:00
Matthias Grob 180c6faf4a syslink_main: remove empty lines and struct keyword 2020-09-01 10:25:03 +02:00
Matthias Grob d82f325f8d ina226/voxlpm: make sure parameter sub is reset
The subscription to parameter updates has to get
copied otherwise the change detection will not get
reset for next time.
2020-09-01 10:25:03 +02:00
Matthias Grob 9c4e26c00c battery: fix parameter migration and clarify 2020-09-01 10:25:03 +02:00
Matthias Grob 0db4881413 BatterySimulator: remove SimulatorBattery
It loads the battery parameters but then overwrites them
with hardcoded values and it breaks the ModuleParams
parent/child hierarchy. Both is undesired.
2020-09-01 10:25:03 +02:00
Daniel Agar 978e35478f logger: add_topic_multi optional specify max multi-instance (#15647) 2020-09-01 09:36:32 +02:00
Daniel Agar cbf21959ab Update submodule mavlink v2.0 to latest Tue Sep 1 00:39:26 UTC 2020
- mavlink v2.0 in PX4/Firmware (0b0d23e8fa): https://github.com/mavlink/c_library_v2/commit/5ad778dea329d40f3cd128aae988986de79d830c
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/7d6be862bca8f733a854bfd6c97f1bb25cdb477c
    - Changes: https://github.com/mavlink/c_library_v2/compare/5ad778dea329d40f3cd128aae988986de79d830c...7d6be862bca8f733a854bfd6c97f1bb25cdb477c
2020-08-31 22:30:52 -04:00
Daniel Agar 0b0d23e8fa process_sensor_caldata.py: skip accel or gyro if temperature is NAN 2020-08-31 07:59:03 -04:00
Daniel Agar fe391c0af8 perf: combine duplicate Knuth/Welford recursive mean 2020-08-31 10:03:56 +02:00
Oleg 172a4e3557 batterry_status: fix checking default v_div 2020-08-30 11:09:59 -04:00
Daniel Agar 9feea0e2fd commander: accel calibration fail early on bad rotations 2020-08-29 11:02:37 -04:00
Daniel Agar 28d52aef1f bosch/bmi088: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
 - accel improve FIFO count check if DRDY isn't available
2020-08-29 11:01:09 -04:00
Daniel Agar a04d79b810 bosch/bmi055: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
2020-08-29 11:01:09 -04:00
Daniel Agar 08ad7850fc rotation: combine duplicates 2020-08-28 18:29:09 -04:00
Daniel Agar 08cfea0b6f commander: mag calibration auto rotation skip all duplicates
- add simple rotation test with corresponding blacklist
2020-08-28 18:29:09 -04:00
Nicolas MARTIN 1dec1e6262 process_sensor_caldata.py: add regularly weighted over temperature fit
the option '--no_resample' allows to disable resampling and have the
previous behavior
2020-08-28 16:39:11 -04:00
Daniel Agar eb46a42400 bosch/bmi055: fix accel temperature reading
- single register output is in 2's complement
2020-08-28 16:01:08 -04:00
CUAVcaijie 536877cf0a boards: add UAVCAN timer override mechanism and CUAV X7 add CAN (#15348)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards

Co-authored-by: honglang <honglang@cuav.net>
2020-08-28 12:16:48 -04:00
bresch 8c0671e93d ll40ls: set default rotation to downwards facing
All the other distance sensors have their default rotation to downwards
facing as well
2020-08-28 12:00:47 -04:00
bresch 644ede5698 distance_sensor: allow setting no rotation (-R 0) 2020-08-28 12:00:47 -04:00
TSC21 98f53c2bc4 microRTPS: extend verbose arg to the timesync 2020-08-28 09:22:36 +02:00
TSC21 d09cb8d1f0 microRTPS: reduce the number of streams on the bus 2020-08-28 09:22:36 +02:00
TSC21 603a4d8955 microRTPS: transport: fix parsing 2020-08-28 09:22:36 +02:00
Oleg a18f22bd91 batterry_status: fix checking default a_per_v 2020-08-27 21:47:27 -04:00
Daniel Agar 8869cb5e4a Update submodule mavlink v2.0 to latest Fri Aug 28 00:39:46 UTC 2020
- mavlink v2.0 in PX4/Firmware (8e37063c7be7279b004a2eb584144e8a080422a9): https://github.com/mavlink/c_library_v2/commit/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/5ad778dea329d40f3cd128aae988986de79d830c
    - Changes: https://github.com/mavlink/c_library_v2/compare/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a...5ad778dea329d40f3cd128aae988986de79d830c
2020-08-27 21:43:47 -04:00
PX4 BuildBot 8ba7bbf3af Update submodule jMAVSim to latest Fri Aug 28 00:39:40 UTC 2020
- jMAVSim in PX4/Firmware (8eb46b0eb8): https://github.com/PX4/jMAVSim/commit/14ce7868fb29b8b05cdecf4e9a76b318839302e9
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/358b6cca4093646eb96e0cb075e45efa8f4a0c48
    - Changes: https://github.com/PX4/jMAVSim/compare/14ce7868fb29b8b05cdecf4e9a76b318839302e9...358b6cca4093646eb96e0cb075e45efa8f4a0c48

    358b6cc 2020-08-24 Hamish Willee - Merge pull request #122 from farhangnaderi/patch-1
42b5cd3 2020-08-23 FARHANG - Update README.md
2020-08-27 21:42:36 -04:00
PX4 BuildBot 67c134303c Update submodule nuttx to latest Fri Aug 28 00:39:53 UTC 2020
- nuttx in PX4/Firmware (f0555571047b18fa503eeac18da586f2dd360c12): https://github.com/PX4/NuttX/commit/925b7b513b8f7b683bfea43923a8beb2a0ad5a61
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/863ed53e3fb1cebbb0832ec28fbc11e16566e89e
    - Changes: https://github.com/PX4/NuttX/compare/925b7b513b8f7b683bfea43923a8beb2a0ad5a61...863ed53e3fb1cebbb0832ec28fbc11e16566e89e

    863ed53e3f 2020-06-15 David Sidrane - [BACKPORT] kinetis:Ethernet fixed & better interrupt management
2020-08-27 21:41:09 -04:00
PX4 BuildBot e54df5c57a Update submodule matrix to latest Fri Aug 28 00:40:08 UTC 2020
- matrix in PX4/Firmware (5d014729e6cce9ca5814b5b803347ea561743cec): https://github.com/PX4/Matrix/commit/25c04553488bb86470592a1cdccac56979bf59bb
    - matrix current upstream: https://github.com/PX4/Matrix/commit/ce6b10b99af722a4e653387d40019a8428d2a54f
    - Changes: https://github.com/PX4/Matrix/compare/25c04553488bb86470592a1cdccac56979bf59bb...ce6b10b99af722a4e653387d40019a8428d2a54f

    ce6b10b 2020-08-27 Julian Oes - Fix clang-tidy warnings
13f092a 2020-08-26 Kamil Ritz - sparse quadratic form
3a5bfb2 2020-08-25 Julian Oes - matrix: inline to prevent multiple definitions (#147)
e101edc 2020-08-24 Julian Oes - Matrix: fix warning if M == N (#146)
cd8ad15 2020-08-24 Morten Fyhn Amundsen - Make wrap() work with integer types (#145)
2020-08-27 21:40:26 -04:00
PX4 BuildBot 10e2ccc1cd Update submodule ecl to latest Fri Aug 28 00:40:03 UTC 2020
- ecl in PX4/Firmware (110860c85d6eaca3f5ac5c38a8a65066fc1e0c31): https://github.com/PX4/ecl/commit/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe
    - ecl current upstream: https://github.com/PX4/ecl/commit/264c8c4e8681704e4719d0a03b848df8617c0863
    - Changes: https://github.com/PX4/ecl/compare/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe...264c8c4e8681704e4719d0a03b848df8617c0863

    264c8c4 2020-08-20 bresch - mag_fusion: mag heading and 3d modes are mutually exclusive
9797e4d 2020-08-22 kamilritz - updateYawInRotMat with hidden rotation sequence handling
419b70e 2020-08-17 kamilritz - Add tests for shouldUse321RotationSequence
4fb4e0c 2020-08-17 kamilritz - Clean euler321 and euler312 code and comment
2be738e 2020-08-15 Kamil Ritz - Add helper function to alter heading in rotation matrices
fdc86c2 2020-08-15 Kamil Ritz - add functions to compute yaw (321 and 312 sequence)
15afa8a 2020-08-15 Kamil Ritz - shouldUse321RotationSequence(const Dcmf& R)
4872f2a 2020-08-15 Kamil Ritz - Remove not used code
0fafd4d 2020-08-15 Kamil Ritz - precompute cos and sin of yaw once before mutliple use
114516b 2020-08-15 Kamil Ritz - Use new added matrix functions
1f637af 2020-08-15 Kamil Ritz - Add const modifier
aa2c77f 2020-08-22 kamilritz - Small cleanup in velposfusion
644e903 2020-08-22 kamilritz - Apply measurementUpdate function
404edde 2020-08-22 kamilritz - Add measurementUpdate function
f6252ff 2020-08-22 kamilritz - small cleanup  in limitDeclination
f62662e 2020-08-21 Daniel Agar - update change_indication for newer WMM tables
802a6d9 2020-08-21 PX4 BuildBot - Update geo_lookup WMM  to latest Fri Aug 21 11:48:14 UTC 2020
2020-08-27 21:38:56 -04:00
Julian Oes ce6b10b99a Fix clang-tidy warnings
This comes from PX4 CI.
2020-08-27 17:42:42 +02:00
Oleg Evseev 8eb46b0eb8 mavlink: check type on instance getting by device or network port
otherwise serial mavlink running in first will occupy default net port 14556 and could be wrongly used for stream configuring instead or udp mavlink running in first will occupy default serial "/dev/ttyS1"and could be wrongly used for stream configuring instead

issue #15558
2020-08-27 17:28:12 +02:00
bresch 264c8c4e86 mag_fusion: mag heading and 3d modes are mutually exclusive
There is no need to check if 3d fusion is active when in mag heading
fusion mode since this is impossible
2020-08-27 15:48:40 +10:00
Matthias Grob 16776ff6fb MultirotorMixer: hotfix [-1,1] scaling
After it was mistakenly rescaled in
26bac78eaf274cf58aacbc239cc8f2e865ba864c#diff-899d35a48340c6065702d4fa77b70f0d
#15563
2020-08-26 20:52:16 -04:00
Matthias Grob d4296dbd3f thoneflow: remove unsupported parameter from getopt optsting 2020-08-26 20:25:31 -04:00
kamilritz 9797e4d28f updateYawInRotMat with hidden rotation sequence handling 2020-08-27 09:51:56 +10:00
kamilritz 419b70e4b5 Add tests for shouldUse321RotationSequence 2020-08-27 09:51:56 +10:00
kamilritz 4fb4e0ca01 Clean euler321 and euler312 code and comment 2020-08-27 09:51:56 +10:00
Kamil Ritz 2be738e806 Add helper function to alter heading in rotation matrices 2020-08-27 09:51:56 +10:00
Kamil Ritz fdc86c247a add functions to compute yaw (321 and 312 sequence)
from quaternion and rotation matrix
2020-08-27 09:51:56 +10:00
Kamil Ritz 15afa8ae17 shouldUse321RotationSequence(const Dcmf& R) 2020-08-27 09:51:56 +10:00
Kamil Ritz 13f092a30f sparse quadratic form 2020-08-26 19:45:05 +02:00
Kabir Mohammed c319bbd6f7 drivers/optical_flow: Thoneflow 3901U Driver
* srcparser.py: Add optical flow subcategory for module docs
* thoneflow : Initial support
2020-08-26 13:10:38 -04:00
David Sidrane 8d2ce355f2 Nuttx Backport add RTR 2020-08-26 13:05:23 +02:00
David Sidrane 622903f7de Nuttx Backport add extern C under cpp 2020-08-26 13:05:23 +02:00
Beat Küng 4088c2581f i2c_spi_buses: add '-q' for quiet startup flag (#14969)
* [WIP] i2c_spi_buses: add '-q' for quiet startup flag

And enable for optional board sensors.

* ROMFS: rc.sensors try starting all optional I2C sensors quietly

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-08-26 08:46:35 +02:00
SalimTerryLi 407ca0a5d3 mavlink command: new option to completely disable hardware flow control (-Z) (#15566) 2020-08-26 08:40:55 +02:00
Daniel Agar 60a7f7f9f2 isentek/ist8308: small style and consistency cleanup 2020-08-25 13:46:04 -04:00
Daniel Agar fb149045e3 drivers/imu/invensense: new ICM42605 IMU driver 2020-08-25 13:07:59 -04:00
Daniel Agar 0ae6da4bb0 Jenkins: microRTPS agent fetch git tags for versioning 2020-08-25 11:12:38 -04:00
Daniel Agar 0e64baa93b parameters: delete unused PARAM_TYPE_STRUCT 2020-08-25 09:59:29 -04:00
Julian Oes 3a5bfb2bd1 matrix: inline to prevent multiple definitions (#147)
Without inline we get multiple definitions during linking.
2020-08-25 12:58:04 +02:00
Beat Küng b7b23a521a sdp3x: remove reset during init
It is not playing nice with other devices on the same bus.
In particular with the FreeFly RTK GPS: once the reset is sent, the whole
bus is blocked and becomes unusable.
Current understanding is that this device contains another chip on the bus
(apart from the mag+baro+led).

I don't see much use for it either, as we configure everything there is to
configure (just the mode).
2020-08-24 17:55:05 -04:00
Anton Erasmus 1ae579b5d5 Update sitl_run to check for -gen.sdf files (#15232)
Co-authored-by: Anton Erasmus <antonerasm@gmail.com>
2020-08-24 17:01:11 +02:00
Julian Oes e101edc0e7 Matrix: fix warning if M == N (#146)
This fixes the warning appearing with GCC 10.2:

../../src/lib/matrix/matrix/Matrix.hpp:481:34: error: logical ‘and’ of equal expressions [-Werror=logical-op]
  481 |         for (size_t i = 0; i < M && i < N; i++) {
      |

I would prefered something with if constexpr but we don't have that yet
in because we're using C++14.
2020-08-24 14:19:43 +02:00
Hamish Willee 979243f38f params: make parameter units more consistent (#15502) 2020-08-24 11:33:08 +02:00
Kamil Ritz 4872f2a545 Remove not used code 2020-08-24 19:24:27 +10:00
Kamil Ritz 0fafd4d68b precompute cos and sin of yaw once before mutliple use 2020-08-24 19:24:27 +10:00
Kamil Ritz 114516b784 Use new added matrix functions 2020-08-24 19:24:27 +10:00
Kamil Ritz 1f637af7de Add const modifier 2020-08-24 19:24:27 +10:00
Morten Fyhn Amundsen cd8ad1584c Make wrap() work with integer types (#145)
* Make wrap() work with integers
2020-08-24 10:49:12 +02:00
kamilritz aa2c77f92d Small cleanup in velposfusion 2020-08-24 18:04:57 +10:00
kamilritz 644e903552 Apply measurementUpdate function 2020-08-24 18:04:57 +10:00
kamilritz 404edde7f3 Add measurementUpdate function 2020-08-24 18:04:57 +10:00
kamilritz f6252ff533 small cleanup in limitDeclination 2020-08-24 18:04:57 +10:00
px4dev 9cebf3b969 Sbus comment fix, found by George-avy in issue 15253 2020-08-24 09:24:53 +02:00
Daniel Agar 1d0188fc07 logger: add vehicle_acceleration to default topics 2020-08-23 17:38:27 -04:00
Daniel Agar 53b3dfa64e rover_pos_control: remove unused sensor_combined subscription 2020-08-23 17:38:27 -04:00
Daniel Agar a368c7cded muorb: delete unused sensor_combined.h include 2020-08-23 17:38:27 -04:00
Daniel Agar 57721cad9b mavlink: replace sensor_combined with selected vehicle_imu
- check all ORB_MULTI_MAX_INSTANCES possible instances for future expansion
2020-08-23 17:38:27 -04:00
Daniel Agar 1d2e424c4c commander: calibration replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar 2c450280d2 examples/uuv_example_app: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar e8a074dc03 examples/px4_simple_app: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar 1bb4c9d05f frsky_telemetry: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar f62662ee46 update change_indication for newer WMM tables 2020-08-21 16:54:45 -04:00
PX4 BuildBot 802a6d99a0 Update geo_lookup WMM to latest Fri Aug 21 11:48:14 UTC 2020 2020-08-21 16:54:45 -04:00
JaeyoungLim 5c040582db Update sitl_gazebo 2020-08-21 21:49:42 +02:00
Daniel Agar 64f5c64ce9 Update submodule mavlink v2.0 to latest Fri Aug 21 12:39:56 UTC 2020
- mavlink v2.0 in PX4/Firmware (b1cdf94b680613a982d2d2450d91e27205872030): https://github.com/mavlink/c_library_v2/commit/cc7ed13f41931335c1902da445bbdf12f4d66e63
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
    - Changes: https://github.com/mavlink/c_library_v2/compare/cc7ed13f41931335c1902da445bbdf12f4d66e63...171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
2020-08-21 14:22:25 -04:00
PX4 BuildBot 0f27395979 Update submodule ecl to latest Fri Aug 21 12:40:08 UTC 2020
- ecl in PX4/Firmware (a6682c0ce863694761557482556c67747b5d7eeb): https://github.com/PX4/ecl/commit/3ae934544f8b2de01b868d0defea992b1000acc3
    - ecl current upstream: https://github.com/PX4/ecl/commit/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe
    - Changes: https://github.com/PX4/ecl/compare/3ae934544f8b2de01b868d0defea992b1000acc3...bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe

    bd0c5fb 2020-08-20 kamilritz - Update change indication for ekf gsf
2020-08-21 14:04:56 -04:00
Angel 3dd9d2e6db Add copyright info to ina226.h 2020-08-21 13:11:39 -04:00
Daniel Agar 2c3441aa90 boards: reduce CONFIG_NFILE_DESCRIPTORS 15 -> 12
- reduced now that calibration uses uORB::Subscription
 - can likely be reduced further (perhaps < 8) with additional testing
2020-08-21 10:12:13 -04:00
Daniel Agar 4dee5d6a1c commander: level calibration print changes 2020-08-21 10:12:13 -04:00
Daniel Agar ea13bf271d lib/sensor_calibration: Magnetometer catch and fix invalid rotations
- improve status print
2020-08-21 10:12:13 -04:00
Daniel Agar c76cdaf8a8 commander: mag calibration add simple offset only quick cal using GPS & attitude 2020-08-21 10:12:13 -04:00
Daniel Agar f6ad9bdb64 commander: don't set RC lost during calibration 2020-08-21 10:12:13 -04:00
Daniel Agar 5242160a26 commander: accel calibration reduce status length
- this keeps the string within a single Mavlink STATUSTEXT
 - fixes #14829
2020-08-21 10:12:13 -04:00
Daniel Agar d824706571 commander: mag calibration keep manually configured special rotations
- ROTATION_PITCH_9_YAW_180 and ROTATION_ROLL_90_PITCH_68_YAW_293 are
kept if manually configured
2020-08-21 10:12:13 -04:00
Daniel Agar 0bb6ad01bd commander: mag calibration rotation also compare other internal mags 2020-08-21 10:12:13 -04:00
Daniel Agar 07d727a4a8 commander: mag calibration auto rotation simplify applying calibration and rotation 2020-08-21 10:12:13 -04:00
Daniel Agar 1a6eb7859c commander: mag calibration auto rotation improvements
- skip rotations that are identical or very close
 - compute mean squared error (MSE) to skip a sqrt
2020-08-21 10:12:13 -04:00
Daniel Agar bc6e4c8a92 commander: accel calibration use all queued data
- print each calibration when finished
2020-08-21 10:12:13 -04:00
Daniel Agar f9aca05ede commander: gyro calibration use all queued data
- print calibration status when finished
2020-08-21 10:12:13 -04:00
Daniel Agar f2c9865c9b sensor mag add minimal queue and calibration check all
- mag calibration acceptance check sphere/ellipsoid fit status
2020-08-21 10:12:13 -04:00
Daniel Agar b2e8f6839f commander: mag calibration improve console and debug output 2020-08-21 10:12:13 -04:00
Daniel Agar 2bb04f2261 commander: increase COM_ARM_MAG_ANG 35 -> 45 degrees
- in practice this is mostly useful for identifying incorrect rotations
which we mostly have in 45 degree increments
 - handling a vehicle on the ground can easily disturb one mag by more than 30 degrees, so this is often distracting noise
2020-08-21 10:12:13 -04:00
Daniel Agar 44c877c603 sensors: size sensor error_count consistently (uint32_t) 2020-08-21 10:12:13 -04:00
Daniel Agar e6fd5a43bc commander: magnetometer calibration automatically set the rotation of external magnetometers relative to the first internal
- see #15120 for more detail
2020-08-21 10:12:13 -04:00
Daniel Agar 27f23ac290 move initial sensor priority to parameters and purge ORB_PRIORITY
- CAL_ACCx_EN -> CAL_ACCx_PRIO
 - CAL_GYROx_EN -> CAL_GYROx_PRIO
 - CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Daniel Agar 971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
Daniel Agar ad148af2fd commander: mag_calibration move to Magnetometer calibration helper 2020-08-21 10:12:13 -04:00
Daniel Agar 1867e540b0 lib/sensor_calibration: add Magnetometer helper 2020-08-21 10:12:13 -04:00
Daniel Agar d92ddffa5d commander: add simple accelerometer quick calibration 2020-08-21 10:12:13 -04:00
Daniel Agar e3e8c55e82 accel & gyro calibration helpers 2020-08-21 10:12:13 -04:00
Daniel Agar bae2589fed Jenkins delete Mac compile (replaced by Github Actions) 2020-08-20 18:53:26 -04:00
kamilritz bd0c5fbb97 Update change indication for ekf gsf 2020-08-20 22:16:28 +02:00
Julian Kent 7958586f35 Only use roll/pitch not centered for RC override, and increase override threshold 2020-08-20 11:50:16 -04:00
JaeyoungLim cbbde2e4a2 Update sitl_gazebo (#15586) 2020-08-20 15:45:16 +02:00
Julian Kent e2e72fd81e Fix map distortion due to high latitudes (#15449) 2020-08-19 09:55:15 +02:00
TSC21 7b4ae7c658 Jenkins: deploy: build the rtps target before commiting microRTPS agent changes 2020-08-19 08:59:22 +02:00
modaltb d9bbed767c modalai_fc-v1 - power_monitor/voxlpm: add support for voxlpm v3 (INA231 sensors) 2020-08-19 00:01:31 -04:00
Daniel Agar 841f650be4 github actions temporarily remove linux hardware (navio2) test
- until connectivity issues are resolved
2020-08-18 23:55:13 -04:00
bazooka joe 190b96a46c SMbus battery driver - a lot of updates and optimizations
- added support for BQ40Z80 based battery
- added performance counter for interface errors
- added SMART_BATTERY_INFO mavlink message
- general code cleanups and optimization
- fixed: void flooding the log in case of interface error
- fixed: using _batt_startup_capacity instead of _batt_capacity for discharged_mah
- update: read manufacture_date
- update: get _cell_count from parameter and not const 4
- update: avoid re-reading data that has already been read and stored on class already
- currently the battery type defined by BAT_SMBUS_MODEL parameter and not by auto detection
2020-08-18 21:41:19 -04:00
Daniel Agar 372866a22b uORB::DeviceNode replace SubscriptionData with uORB::SubscriptionInterval 2020-08-18 20:48:30 -04:00
Travis Bottalico e325ca25bb modalai-fc-v1 - update default MAVLink configuration 2020-08-18 20:45:20 -04:00
isidroas f4e147964b Tools/setup: ubuntu.sh added jmavsim dependency 2020-08-18 15:09:16 -04:00
PX4 BuildBot 16cd7cc4e9 Update submodule ecl to latest Tue Aug 18 16:42:33 UTC 2020
- ecl in PX4/Firmware (9e9b068f564250f1085954316de789176732ed96): https://github.com/PX4/ecl/commit/1e6c6f2d3ccaed470996c9efe88457299608f1d6
    - ecl current upstream: https://github.com/PX4/ecl/commit/3ae934544f8b2de01b868d0defea992b1000acc3
    - Changes: https://github.com/PX4/ecl/compare/1e6c6f2d3ccaed470996c9efe88457299608f1d6...3ae934544f8b2de01b868d0defea992b1000acc3

    3ae9345 2020-08-17 kamilritz - Add change indication for ekf_gsf_reset
fd849e0 2020-08-16 Paul Riseborough - EKF: Fix specific force observation noise variance
76f393d 2020-08-16 Paul Riseborough - EKF: Use const reference instead of local copy
c43307b 2020-08-16 Paul Riseborough - EKF: convert drag fusion from Matlab to SymPy generated auto-code
2020-08-18 15:07:39 -04:00
TSC21 1eb7809eb5 Jenkins CD: add deploy stage for the microRTPS agent 2020-08-18 17:16:04 +02:00
TSC21 ac9c8bcc09 microRTPS: cmake: fix relative path for IDL files 2020-08-18 17:16:04 +02:00
TSC21 a091a70470 microRTPS: split the microRTPS client and agent dest directories for better visbility and handling 2020-08-18 17:16:04 +02:00
TSC21 cc4cc05dd7 CI/CD: add auto deploy of the microRTPS agent source code to the respective repository 2020-08-18 17:16:04 +02:00
kamilritz 3ae934544f Add change indication for ekf_gsf_reset 2020-08-18 17:13:46 +10:00
Paul Riseborough fd849e0578 EKF: Fix specific force observation noise variance
Also add protection for out of range value.
2020-08-18 17:05:59 +10:00
Paul Riseborough 76f393dcb0 EKF: Use const reference instead of local copy 2020-08-18 17:05:59 +10:00
Paul Riseborough c43307b8cf EKF: convert drag fusion from Matlab to SymPy generated auto-code 2020-08-18 17:05:59 +10:00
Daniel Agar e9e9556130 ROMFS: remove leftover MC_TPA parameters 2020-08-17 17:07:21 -04:00
Daniel Agar 26bac78eaf mixers: Multirotor remove text roll, pitch, yaw scaling and idle speed 2020-08-17 16:37:08 -04:00
PX4 BuildBot 4afb27411c Update submodule ecl to latest Mon Aug 17 12:39:41 UTC 2020
- ecl in PX4/Firmware (84aeb53ee5847866ecf7698591f00278d12ba770): https://github.com/PX4/ecl/commit/ec934908900b23ee273d1a9f82364b7b38423200
    - ecl current upstream: https://github.com/PX4/ecl/commit/1e6c6f2d3ccaed470996c9efe88457299608f1d6
    - Changes: https://github.com/PX4/ecl/compare/ec934908900b23ee273d1a9f82364b7b38423200...1e6c6f2d3ccaed470996c9efe88457299608f1d6

    1e6c6f2 2020-08-16 Paul Riseborough - EKF: update all output states when aligning output time horizon filter
3bd9415 2020-07-26 kamilritz - Make delayed output stayed not a member variable
da9bfe4 2020-07-26 kamilritz - Update interface of applyCorrectionsToOuputStates
64ab2b0 2020-08-15 Paul Riseborough - EKF: Only record successful sideslip fusion when states updated
0fa7ef3 2020-08-15 Paul Riseborough - EKF: Use ecl::powf for integer exponents
168dbdf 2020-08-15 Paul Riseborough - EKF: Convert sideslip fusion to use SymPy generated auto-code
06aa78a 2020-08-15 Paul Riseborough - EKF: Only record airspeed fusion event when states are updated
486a461 2020-08-15 Paul Riseborough - EKF: airspeed fusion derivation test comparison cleanup
ede6204 2020-08-15 Paul Riseborough - EKF: airspeed fusion cleanup
a5a43db 2020-08-13 Paul Riseborough - EKF: Convert airspeed fusion to use SymPy generated auto-code
5907e81 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
7fa9a19 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
0e74f3e 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
6e992a1 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
1ad042d 2020-08-13 Paul Riseborough - EKF: Use ecl::powf in comparison test
274523b 2020-08-13 Paul Riseborough - EKF: Use ecl::powf for integer exponents
f20a5d8 2020-08-13 Paul Riseborough - EKF: Remove redundant tilt check
1592db8 2020-08-13 Paul Riseborough - EKF: Convert optical flow fusion to use SymPy generated equations
1f386c1 2020-08-15 Paul Riseborough - EKF: Add yaw estimate SymPy generated code files
510d938 2020-08-11 Paul Riseborough - EKF: move yaw estimator derivation into main filter derivation
f89c52e 2020-08-13 Paul Riseborough - EKF: use ecl::powf for integer exponents
0aa2f17 2020-08-13 Paul Riseborough - EKF: Convert GPS yaw observation method to use SymPy generated code (#880)
21cc46e 2020-08-11 Paul Riseborough - EKF: Convert magnetic field observation methods to use SymPy generated code (#879)
2020-08-17 16:30:52 -04:00
Daniel Agar 0ff4fad95c rm3100: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 38db7c8b00 lis3mdl: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 84895724cd lis2mdl: remove read error message 2020-08-17 09:36:05 -04:00
TSC21 56a105e322 logger: by default, log the onboard_computer_status topic 2020-08-17 13:24:12 +02:00
Daniel Agar 33e3456de2 mpu9250: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 6b4c14a15c mpu6500: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 19adf805d4 mpu6000: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 8adea51131 icm42688p: accumulated minor improvements and cleanup
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
 - add register bank selection (not yet used)
 - track consecutive errors to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar a903eb7411 icm40609d: accumulated minor improvements and cleanup
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
 - add register bank selection (not yet used)
 - track consecutive errors to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 50228a05e1 icm20948: accumulated minor improvements and cleanup
- remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 473b0456db icm20649: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 146c8a6610 icm20689: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 8c8677758a icm20608g: accumulated minor improvements and cleanup
- update copyright year
 - perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar e3b1315df5 icm20602: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - track consecutive errors and trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
 - read FIFO count along with full transfer as a sanity check
2020-08-16 19:01:56 -04:00
Daniel Agar ad3e6ee5dd wq:attitude_ctrl increase stack by 16 bytes (again) 2020-08-16 18:16:16 -04:00
Daniel Agar 91ad8473ab boards: cubepilot/cubeorange small fixes and improvements
- defconfig UART sync with cube yellow (and other boards)
 - manually start ak09916 (Here2) on I2C2 with proper rotation
2020-08-16 17:45:47 -04:00
Daniel Agar 65ab7cef2e boards: cubepilot/cubeyellow small fixes and improvements
- fix UART config (GPS1, etc)
 - TELEM2 enable TX DMA
 - init simplify (sync with CubeOrange)
 - amber LED use for armed state
 - manually start ak09916 (Here2) on I2C2 with proper rotation
2020-08-16 17:45:47 -04:00
Paul Riseborough 1e6c6f2d3c EKF: update all output states when aligning output time horizon filter 2020-08-16 10:00:47 +10:00
kamilritz 3bd9415498 Make delayed output stayed not a member variable 2020-08-16 10:00:47 +10:00
kamilritz da9bfe4316 Update interface of applyCorrectionsToOuputStates 2020-08-16 10:00:47 +10:00
Paul Riseborough 64ab2b087a EKF: Only record successful sideslip fusion when states updated 2020-08-16 08:45:59 +10:00
Paul Riseborough 0fa7ef3517 EKF: Use ecl::powf for integer exponents 2020-08-16 08:45:59 +10:00
Paul Riseborough 168dbdf630 EKF: Convert sideslip fusion to use SymPy generated auto-code 2020-08-16 08:45:59 +10:00
Paul Riseborough 06aa78a291 EKF: Only record airspeed fusion event when states are updated 2020-08-16 08:45:26 +10:00
Paul Riseborough 486a461a5e EKF: airspeed fusion derivation test comparison cleanup 2020-08-16 08:45:26 +10:00
Paul Riseborough ede6204f85 EKF: airspeed fusion cleanup 2020-08-16 08:45:26 +10:00
Paul Riseborough a5a43dbc6c EKF: Convert airspeed fusion to use SymPy generated auto-code 2020-08-16 08:45:26 +10:00
Paul Riseborough 5907e81ef7 EKF: optflow fusion cleanup 2020-08-16 08:44:17 +10:00
Paul Riseborough 7fa9a1963b EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseborough 0e74f3ea9d EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseborough 6e992a18f6 EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseborough 1ad042da23 EKF: Use ecl::powf in comparison test 2020-08-16 08:44:17 +10:00
Paul Riseborough 274523bd98 EKF: Use ecl::powf for integer exponents 2020-08-16 08:44:17 +10:00
Paul Riseborough f20a5d814d EKF: Remove redundant tilt check
Also fix comment indent
2020-08-16 08:44:17 +10:00
Paul Riseborough 1592db8f34 EKF: Convert optical flow fusion to use SymPy generated equations 2020-08-16 08:44:17 +10:00
Paul Riseborough 1f386c1bb8 EKF: Add yaw estimate SymPy generated code files 2020-08-16 08:43:29 +10:00
Paul Riseborough 510d93858f EKF: move yaw estimator derivation into main filter derivation
Enables use of common components
2020-08-16 08:43:29 +10:00
Daniel Agar d3a1225c98 Tools: Ubuntu setup remove "set -e" to prevent grep early exit
- the gcc version grep was causing the script to exit early
2020-08-15 23:40:20 +02:00
Daniel Agar fe06eaf8d9 Tools: Ubuntu setup update arm-none-eabi-gcc to 9-2020-q2-update 2020-08-15 23:40:20 +02:00
Paul Riseborough f89c52e840 EKF: use ecl::powf for integer exponents 2020-08-15 08:40:59 +10:00
David Sidrane 22a7bf6ec7 px4_fmu-v6x Fix BOARD_TYPE 2020-08-14 11:23:16 -04:00
David Sidrane 157aa36c1e NuttX based bootloader:Track QGC change in sequnsing
It appear that QGC is now resyncing between operation.
   This was causing the bl_state to be reset to STATE_PROTO_GET_SYNC
   and loosing the state of (STATE_PROTO_GET_SYNC|STATE_PROTO_GET_DEVICE)
2020-08-14 10:58:23 -04:00
David Sidrane 13246bdb2c common/shutdown:All FMU's not stying in bootloader
Fixes bug, wehre reboot -b would not stay in bootloader.
   Call was passing bit mask (=4) not integer value of 1.
2020-08-14 14:11:45 +02:00
Daniel Agar 877c19704a rm3100: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar f1e5b1d284 qmc5883: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 8252fea95b lis3mdl: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 03efea9d73 lis2mdl: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar f8241f144c hmc5883: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 0c91a29c3f wq:attitude_ctrl increase stack 2020-08-13 13:32:07 -04:00
Beat Küng ba5d7773f8 mavlink_timesync: print sender comp id for 'RTT too high for timesync' msg (#15539)
helps with debugging
2020-08-13 10:58:25 +02:00
Paul Riseborough 0aa2f17562 EKF: Convert GPS yaw observation method to use SymPy generated code (#880)
* EKF: add test comparison program for GPS yaw fusion equations

* EKF: convert GPS yaw fusion method to use SymPy generated equations

* Replace if/else with simple if

* EKF: fix formatting of GPS yaw fusion auto-code comparison test

* EKF: Use  SparseVector type for GPS yaw fusion Jacobians

* EKF: Fix bug in GPS yaw derivation comparison check

* Add gps_yaw auto generated code file

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-13 13:23:57 +10:00
Daniel Agar 0bb5f2c2af uavcan: libuavcan submodule remove redundant libuavcan_drivers 2020-08-12 15:34:10 -04:00
Thies Lennart Alff d7d8aa9b64 uuv_att_control: removed redundant code, switched to new uORB API 2020-08-12 13:16:28 -04:00
Daniel Agar 6937dbc5fd boards: add CUAV Nora support 2020-08-12 13:02:16 -04:00
Daniel Agar 942eb83184 sensors: keep legacy params active (BAT_V_DIV/BAT_A_PER_V) for QGC SITL
- fixes https://github.com/PX4/Firmware/issues/15505
2020-08-12 11:57:34 -04:00
Daniel Agar f19a20dc43 commander: preflight power check ignore module count if USB connected
- this check isn't relevent during bench testing
2020-08-12 11:48:38 -04:00
RomanBapst 355e3ea986 vtol_type: use correct pwm device path in init function
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-08-12 08:55:23 +02:00
RomanBapst 01535a726a vtol_type: reset quadchute filter states if TECS is not running
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-08-12 08:55:23 +02:00
Daniel Agar faeaa411d0 Update submodule mavlink v2.0 to latest Wed Aug 12 00:39:35 UTC 2020
- mavlink v2.0 in PX4/Firmware (49e83b6ae4): https://github.com/mavlink/c_library_v2/commit/cdcea1c68565e435d18f88c12a4d5db20b070df1
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cc7ed13f41931335c1902da445bbdf12f4d66e63
    - Changes: https://github.com/mavlink/c_library_v2/compare/cdcea1c68565e435d18f88c12a4d5db20b070df1...cc7ed13f41931335c1902da445bbdf12f4d66e63
2020-08-11 23:47:35 -04:00
SalimTerryLi 49e83b6ae4 load_mon: add linux support 2020-08-11 18:33:44 -04:00
David Sidrane 329ed6e273 px4_fmu-v5/v5x: Re-enable TXDMA 2020-08-11 12:27:28 -04:00
David Sidrane c46d5e8535 Nuttx with TX DMA fix 2020-08-11 12:27:28 -04:00
Paul Riseborough 21cc46edd7 EKF: Convert magnetic field observation methods to use SymPy generated code (#879)
* EKF: Add comparison test for mag field fusion generated code

* EKF: convert mag field fusion to use SymPy generated code

* EKF: Add test comparison program for yaw fusion equations

* Stop setting 0 to 0

* Reduce if/else statement to only if

* EKF: more accurate implementation for sequential fusion of magnetometer data

* test: update change indicator

* Use matrix::SparseVector<float, 24, ...> for observation jacobian

* Adapt the auto code generation to allow for different bracket styles

* Add auto generated code for mag fusion

* Add generic computation of KHP

* Apply generic computation of KHP to mag fusion

* tests: update change indicator

* tests: update change indicator

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-11 18:57:22 +10:00
kritz 9d962cdfbc Pr update matrix (#15520)
* Update submodule Matrix

* replace deprecated matrix functions

* update submodule ECL

* Update Matrix submodule

* Use absolute value of loiter radius

* Update ECL submodule
2020-08-11 10:08:41 +02:00
Claudio Micheli 75ab105605 cm8jl65: avoid flooding console with errors if errno is EAGAIN
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-08-11 08:14:47 +02:00
Jahir Argote bc98a41d54 Comment typo 2020-08-10 17:39:40 -04:00
kamilritz ec93490890 geo test change to arc length 2020-08-10 22:15:43 +02:00
kamilritz 98dec6afa6 add tests for waypoint_from_line_and_distance() 2020-08-10 22:15:43 +02:00
kamilritz 60388a8b6d Geo: Fix double correcting for negative distance 2020-08-10 22:15:43 +02:00
Daniel Agar b7f9ff6747 mc_att_control: don't use auto for primitive types
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-08-10 14:07:42 -04:00
Daniel Agar 0781fdd813 mc_att_control: don't store vehicle_status copy 2020-08-10 14:07:42 -04:00
Daniel Agar 8c42c38650 mc_att_control: don't store full vehicle_land_detected copy 2020-08-10 14:07:42 -04:00
Daniel Agar 41a1675c53 AttitudeControl: only normalize attitude setpoint once on update 2020-08-10 14:07:42 -04:00
Daniel Agar 1c42d12491 mc_att_control: don't keep att copy and avoid unnecessary Quatf construction and copies 2020-08-10 14:07:42 -04:00
Daniel Agar 5e739f66d6 mc_att_control: inline control attitude call and rate publication
- this makes it clear that we didn't need to keep local copies of the rate setpoint
2020-08-10 14:07:42 -04:00
Daniel Agar 14f734ac15 mc_pos_control: use local position timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar c5eb084236 mc_rate_control: use angular velocity timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar 45ee16d236 mc_att_control: use attitude timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar 9992bd05db fw_att_control: pass time through from run 2020-08-10 10:51:52 -04:00
Daniel Agar 560c22e612 fw_pos_control_l1: pass time through from run 2020-08-10 10:51:52 -04:00
Katrin Moritz 258e5ca5c9 Rename of the DF Robot Rover Airframe 2020-08-10 09:46:36 -04:00
Daniel Agar 97fc1db768 vehicle_local_position: rename yaw -> heading and add reset logic
- vehicle_global_position yaw removed (redundant)
2020-08-10 11:42:03 +02:00
bresch 33fb9d0c62 Commander: update home position yaw in case of EKF yaw reset
This makes sure the drone lands in the correct orientation
during RTL even if the initial yaw at takeoff was wrong.
2020-08-10 11:42:03 +02:00
bresch 0ad3ddd864 Tko ramp: fix takeoff issue with large tko ramp time
Because the velocity starts with a positive value (down) to ramp-up
slowly the motors, the position setpoint (integral) was going down into
the ground, canceling the input of the velocity controller during the
early takeoff phase.
Instead of a smooth ramp, the behavior was a delay followed by a quick
takeoff or a land detection.
Setting the current altitude setpoint with the current altitude during
this phase avoids the canceling effect and creates a takeoff purely
velocity-based.
2020-08-10 10:39:56 +02:00
kamilritz 25c0455348 comply with Firmware style requirements 2020-08-10 10:13:40 +02:00
Paul Riseborough 6feb28c27d EKF: Convert EKF-GSF yaw estimator from matlab to sympy derived equations (#871)
* EKF: Add sympy derivation of equations for EKF-GSF yaw estimator

* EKF: Convert EKF-GSF yaw estimator to use sympy generated equations

* EKF: Add status prints for GSF-EKF yaw estimator cvode gen

* EKF: Move generated code for GSF-EKF yaw estinmator to generated directory

* Make it run with python3

* Cleanup yaw estimator code generation

* Improve and simplify gsf measurement update code generation

* Use improved auto generated measurement update code

& remove obsolete updateInnovCovMatInv function

* Delete generated ekf_derivation for the moment

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-10 09:27:31 +02:00
Daniel Leonard Robinson fa4818e467 vehicles: add new vehicle type: Airship (#14862)
Co-authored-by: Anton Erasmus <anton@flycloudline.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-08-10 08:52:51 +02:00
kamilritz 9d7d502c56 std::sin -> sin 2020-08-09 15:28:35 -04:00
kamilritz 4ab364f0fd Make conversion from float to double explicite 2020-08-09 15:28:35 -04:00
Daniel Agar 454433c2ef mpu9250: mag relax scheduling and checks 2020-08-09 14:24:49 -04:00
Daniel Agar fbc8e1b09e boards: mRo X2.1-777 fixes
- ardupilot bootloader compatibility (first 3 sectors)
 - clock tree fixes
 - start mavlink
 - start mpu9250 magnetometer (only onboard mag)
 - fixes https://github.com/PX4/Firmware/issues/15466
2020-08-09 14:24:49 -04:00
Daniel Agar e16c8fa345 boards: add new Holybro Pix32v5 2020-08-09 11:48:38 -04:00
Julian Kent 9ea3468091 Negative distances go in the opposite direction 2020-08-09 11:36:36 -04:00
kamilritz b7e49f20e4 Update change indication 2020-08-09 11:08:59 -04:00
kamilritz 497008811a Update matrix version 2020-08-09 11:08:59 -04:00
kritz f981cea2ae add possibility to iterate over SparseVector data at runtime (#143) 2020-08-09 09:44:49 +02:00
SungTae Moon 9707ac5316 implement gazebo simulation based on RTPS for multiple UAVs (#15463)
- add t option for target
   - add iris_rtps model (PX4/sitl_gazebo#558)
2020-08-08 13:19:19 +02:00
kamilritz e714a28c83 use size_t instead of int in sparseVector 2020-08-07 19:45:02 +02:00
kritz 18699416b0 SparseVector (#140)
* Add SparseVector

temp

* Add gtest

* Some reworking of the sparse concept

* Change type of M from int to size_t

* Add const modifier

* Add needed declaration for accessing elements of _indices

* Add norm_squared, norm, longerThan

* Add test for all sparse vector functions

* Add missing const to slice's norm_squared, norm and longerThan

* Construction from Vector<M> and carray[N]

* try to fix ci

Co-authored-by: Julian Kent <julian@auterion.com>
2020-08-07 18:44:48 +02:00
Daniel Agar 3002e74b4f mavlink: publish telemetry_status per instance with all HEARTBEATS from the same system
- one telemetry_status publication per mavlink instance
 - each telemetry_status has an array of HEARTBEATS
2020-08-07 12:23:52 -04:00
kamilritz d7568d55b4 extend firmware build checks 2020-08-07 11:42:13 +02:00
kamilritz 310b989c9a refactor start of gps into separate function 2020-08-07 10:02:47 +02:00
Thies Lennart Alff f950fe8a38 uuv_att_control: added bodyrate setpoint to the geometric controller
* added bodyrate setpoint to the geometric controller
* started switching to new uORB API
2020-08-06 10:40:44 -04:00
kamilritz 6ed5dbc2db Construct Vector from Slice<1,M> alias row() 2020-08-06 16:15:05 +02:00
Beat Küng 0f68121ae0 kopis 2 airframe: enable frsky telemetry 2020-08-06 00:08:23 -04:00
Beat Küng bc9be2d040 frsky_telemetry: add support for inverted single-wire S.Port on F7 2020-08-06 00:08:23 -04:00
Beat Küng b6052fbb11 nuttx: update submodule 2020-08-06 00:08:23 -04:00
Daniel Agar 3345bf39b8 cdev: remove unnecessary virtuals and increase opt level
- poll, poll_notify, register_class_devname, unregister_class_devname aren't virtual
 - increase max optimization level on platforms that aren't flash constrained (MAX_CUSTOM_OPT_LEVEL)
2020-08-05 19:07:32 -04:00
JacobCrabill b164174037 uavcan: stm32h7: Fix improper loopback handling
Fixes #15305
2020-08-05 12:42:27 -04:00
Daniel Agar f9c8d38e44 gitattributes eol=lf for nearly all file types
- even windows notepad supports eol=lf these days, so I believe this is the right thing to do for sanity across cygwin, WSL, etc
2020-08-05 11:32:26 -04:00
Daniel Agar de59d6c788 flight_tasks: pass previous setpoint as const reference
- perform setpoint checks in place to simplify and avoid copy
2020-08-05 10:50:15 -04:00
Beat Küng e28395a58b TRIG_MODE: update description to support 78 2020-08-05 09:02:58 +02:00
Hamish Willee 8c6bb697d8 Update json param field names 2020-08-05 07:35:01 +02:00
Igor Mišić f5283e0da1 spracing_h7extreme: OSD enabled with added internal SPI bus flag 2020-08-04 19:07:15 -04:00
Daniel Agar b6a17a6538 new IntrusiveSortedList container used for uORB, WorkQueues, and WorkItems
- new intrusive linked list container (c++ template) that sorts on insertion
 - primarily for convenience inspecting things in the system like uORB or WorkQueues
 - uorb status or top sorted alphabetically 
 - work_queue status threads sorted by priority, then items sorted alphabetically within each
2020-08-04 11:09:41 -04:00
Beat Küng dfc2160489 commander: update vehicle_status with at least 2Hz
So we're sure it's logged.
2020-08-04 10:53:20 -04:00
Beat Küng 5f8c6512b3 vehicle_status: add latest arming/disarming reason
Makes it easier to debug.
2020-08-04 10:53:20 -04:00
Daniel Agar 1f5d0cd2d0 Update submodule mavlink v2.0 to latest Tue Aug 4 12:39:39 UTC 2020
- mavlink v2.0 in PX4/Firmware (b62b12460195df9f4cfe7d8424e79b2f47f9e599): https://github.com/mavlink/c_library_v2/commit/57be0ae2af8d020fe50d716e5ecfab7100d14816
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cdcea1c68565e435d18f88c12a4d5db20b070df1
    - Changes: https://github.com/mavlink/c_library_v2/compare/57be0ae2af8d020fe50d716e5ecfab7100d14816...cdcea1c68565e435d18f88c12a4d5db20b070df1
2020-08-04 10:47:52 -04:00
PX4 BuildBot 201a3a19ff Update submodule ecl to latest Tue Aug 4 12:39:50 UTC 2020
- ecl in PX4/Firmware (78d30efcf77284b21c130fd31061844ee561aa64): https://github.com/PX4/ecl/commit/77b11129fa567160a2ec442438ed513cb9de89e7
    - ecl current upstream: https://github.com/PX4/ecl/commit/7eb2b08eedb70817779bc7968cf34a4cf6f01fa0
    - Changes: https://github.com/PX4/ecl/compare/77b11129fa567160a2ec442438ed513cb9de89e7...7eb2b08eedb70817779bc7968cf34a4cf6f01fa0

    7eb2b08 2020-07-27 kamilritz - Yaw measurement jacobian to Vector4f
15d360f 2020-07-27 kamilritz - saved_mag_ef_cov to Squarematrix2f
7609bc6 2020-07-27 kamilritz - drag innov member variables to Vector2f
960b80e 2020-07-26 kamilritz - Do not update output filter a second time after reset to flow.
2020-08-04 10:47:15 -04:00
Daniel Agar c40cf9a626 uORB: remove lost message count per DeviceNode
- update 'uorb status' to print basic info for all advertised DeviceNodes
 - report vehicle_command gaps in commander, navigator, mavlink
2020-08-04 10:34:11 -04:00
Beat Küng 4282b3dd47 TRIG_PINS: allow triggering on 78 while still using the lower 6 pins for pwm 2020-08-04 13:37:40 +02:00
Beat Küng ca189fefb7 v5x: use board-specific camera capture pin PI0 2020-08-04 13:37:40 +02:00
Beat Küng 316085c154 camera_capture: remove board-specific ifdef 2020-08-04 13:37:40 +02:00
Beat Küng 46208edfac fix camera_trigger: no need to check for '_pins[i] < num_gpios'
_pins[i] >= num_gpios is a valid config.
2020-08-04 13:37:40 +02:00
Beat Küng 002e671d3f fix pwm_out,dshot: set _num_outputs to 5 for mode_pwm5 2020-08-04 13:37:40 +02:00
Beat Küng 78e918ff3a fix pwm_out: respect _num_outputs for calling up_pwm_servo_set()
_num_outputs is set according to the mode_pwmX call, which is required
for camera triggering.
This fixes camera triggering via PWM, as it avoids overwriting the channel.
2020-08-04 13:37:40 +02:00
Silvan Fuhrer 7a71cbb9bf FlightTask Auto: use yaw setpoint from Navigator if disable_weather_vane is true
When disable_weather_vane is true, the vehicle is aligning for the transition waypoint
(VTOL) and thus the yaw setpoint from Navigator should be used.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-08-04 11:45:08 +02:00
kamilritz 7eb2b08eed Yaw measurement jacobian to Vector4f 2020-08-04 09:57:00 +02:00
kamilritz 15d360f446 saved_mag_ef_cov to Squarematrix2f 2020-08-04 09:57:00 +02:00
kamilritz 7609bc69b2 drag innov member variables to Vector2f 2020-08-04 09:57:00 +02:00
Daniel Agar a93052f9b2 boards/spracing/h7extreme: delete unused stackcheck build 2020-08-03 15:56:33 -04:00
Daniel Agar 834dcbeb3d add spracing_h7extreme_default to builds 2020-08-03 15:56:33 -04:00
Igor Mišić 7eaa48e36f New board: SP Racing H7 Extreme
Authored-by: igor.misic <igor.misic@rimac@automobili.hr>
2020-08-03 15:32:58 -04:00
Daniel Agar ba640acfcc mc_hover_thrust_estimator: validity flag and other small improvements/fixes
- track and publish validity based on hover thrust variance, innovation test ratio, and hysteresis
 - only publish on actual updates or becoming inactive
 - fix dt (previous timestamp wasn't being saved)
 - use local position timestamp (corresponding) to accel data rather than current time to avoid unnecessary timing jitter
 - check local position validity before using
 - mc_hover_thrust_estimator: move from wq:lp_default -> wq:nav_and_controllers to ensure the hover thrust estimator runs after the position controller and uses the same vehicle_local_position data
 - land_detector: check hover thrust estimate validity and adjust low throttle thresholds if hover thrust is available
 - mc_pos_control: only use hover thrust estimate if valid
2020-08-03 10:30:52 -04:00
Hamish Willee 958d5a36ec params: generate param metadata as MAVLink-compatible JSON component info (#15389) 2020-08-03 12:00:37 +02:00
kamilritz 960b80ee71 Do not update output filter a second time after reset to flow. 2020-08-03 09:51:59 +02:00
Daniel Agar 6923d9eb64 Update submodule mavlink v2.0 to latest Sun Aug 2 16:36:28 UTC 2020
- mavlink v2.0 in PX4/Firmware (71c633fabbc7a00f263ff8dc3d624afa73d80c4d): https://github.com/mavlink/c_library_v2/commit/cf6e8cb415d0e4e1a6722f8d0026de85f18f3057
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/57be0ae2af8d020fe50d716e5ecfab7100d14816
    - Changes: https://github.com/mavlink/c_library_v2/compare/cf6e8cb415d0e4e1a6722f8d0026de85f18f3057...57be0ae2af8d020fe50d716e5ecfab7100d14816

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-08-02 13:41:14 -04:00
PX4 BuildBot d3a14b3ff1 Update submodule sitl_gazebo to latest Sun Aug 2 16:36:22 UTC 2020
- sitl_gazebo in PX4/Firmware (1191a0efe6): https://github.com/PX4/sitl_gazebo/commit/ce1eca2bd0bedf9305d09b622454fa21962d50ba
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/037ce1b3b88b1c25abc1f525fbbbec84589d090d
    - Changes: https://github.com/PX4/sitl_gazebo/compare/ce1eca2bd0bedf9305d09b622454fa21962d50ba...037ce1b3b88b1c25abc1f525fbbbec84589d090d

    037ce1b 2020-07-24 Jan-Hendrik Ewers - Oversight fix from #544 (#553)
2020-08-02 13:40:34 -04:00
Daniel Agar f5f2897486 land_detector: multicopter ground contact fixes, improvements, and cleanup
- if "landed" and "maybe_landed" states are false then both the "hit_ground" and the "low_thrust" condition need to be true in order to detect landing
 - ground contact MC NAN setpoint workaround
 - ground contact additionally check acceleration setpoint
 - schedule with vehicle_local_position updates (most updates require valid local position)
 - don't allow LNDMC_Z_VEL_MAX to exceed MPC_LAND_SPEED
 - ground contact horizontal movement checks default to failed if estimates aren't available
2020-08-02 13:37:23 -04:00
Daniel Agar 63a23957b1 rc/dsm: decode improvements
- always check system field for validity
 - reject any data outside of "servo position" valid range from Spektrum specification
 - properly support XPlus channels (12+)
 - debug message if channel count changes
2020-08-02 12:52:16 -04:00
Daniel Agar 1191a0efe6 Update ecl to geo_lookup, SymPy covariance, bugfixes
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-08-02 12:26:48 -04:00
David Sidrane e2a9b68fc7 kinetis:Add kinetis_gpiosetevent in PX4 layer
Adds a compatible gpiosetevent interface. The helper call the
   low level functions while providing a consistent API with
   xxxx_ gpiosetevent(uint32_t pinset, bool risingedge,
                      bool fallingedge, bool event, xcpt_t func,
                      void *arg);

   This wrapper was rjected upstream.
2020-07-31 09:46:27 -04:00
David Sidrane 726b1aa8bb Add nxp_fmuk66-e to CI 2020-07-31 09:46:27 -04:00
David Sidrane e67486d603 nxp:Add support for rev E HW nxp_fmuk66-e 2020-07-31 09:46:27 -04:00
David Sidrane f8b6de24c7 nxp_fmurt1062-v1:Assign board_id 2020-07-31 09:46:27 -04:00
Steve Nogar 48bf9268c3 rename Mixer to MixerBase to resolve case-insensitivity on mac 2020-07-31 09:37:49 -04:00
TSC21 342b1c5ded microRTPS: client: properly set task/thread naming 2020-07-31 14:13:10 +01:00
TSC21 162e0c7675 microRTPS: client: reserve the minimum required stack to the send/receive tasks 2020-07-31 14:13:10 +01:00
TSC21 0b41aa3ecd microRTPS: client: dynamically allocate the uORB pub/subs 2020-07-31 14:13:10 +01:00
TSC21 398f104918 microRTPS: transport: do not discard message from rx_buffer if a CRC error occurs 2020-07-31 14:13:10 +01:00
TSC21 1ab193f548 microRTPS: remove the need for the eClock util 2020-07-31 14:13:10 +01:00
TSC21 acc3866ac9 generate_microRTPS_bridge: make sure that the ROS2 version of FastRTPS is grabbed in a colcon build 2020-07-31 14:13:10 +01:00
TSC21 311a8144e1 microRTPS: client: use structs for pub/subs to avoid increasing the stack usage 2020-07-31 14:13:10 +01:00
TSC21 3db9307dfb microRTPS: transport: make seq_number non-atomic 2020-07-31 14:13:10 +01:00
TSC21 08e72b29b3 microRTPS: micrortps_timesync: reduce max RTTI to 50ms 2020-07-31 14:13:10 +01:00
TSC21 c01bcd41f7 microRTPS: minor adjustements so to improve the readings; add more baud rate options
Co-authored-by: Andrew Wedemier <andrew.wedemier@gmail.com>
2020-07-31 14:13:10 +01:00
TSC21 0124ca6e41 microRTPS: add debug verbose option '-v'; use while loop for reads; ease the RTTI check on timesync 2020-07-31 14:13:10 +01:00
TSC21 2f4eff4c38 microRTPS: add possibility to set HW or SW flow control; improve verbosity aesthetics 2020-07-31 14:13:10 +01:00
TSC21 b2845c60d3 microRTPS: move buffer size to transport 2020-07-31 14:13:10 +01:00
TSC21 407bd8860f microRTPS: transport: hotfix to skip data packets that that don't fit the buffer and continue the readings 2020-07-31 14:13:10 +01:00
TSC21 25d2236cce microRTPS: fix FastRTPS version check on agent templates 2020-07-31 14:13:10 +01:00
Daniel Agar 9b12647ac4 px4io: delete broken test and unnecessary limit
- delete broken px4io test and if_test
 - delete px4io limit (a fixed 400 Hz limit was always set at boot)
2020-07-30 10:29:07 -04:00
Koby Aizer 60d767406a PAW3902: document that the driver is also compatible with PAW3903 module 2020-07-30 10:05:49 -04:00
Matthias Grob a6777e2650 Subscription: correct doxygen comment 2020-07-30 09:56:01 -04:00
Paul Riseborough 77b11129fa EKF: replacement of covariance prediction autocode with sympy generated output (#870)
* added python script with ekf derivation (WIP)

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

* worked on c code auto-generation

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

* save before variable name change

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

* changed symbol names

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

* added codegeneration class

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

* improve 3D mag fusion derivation

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

* EKF: Extend ekf sympy derivation to include all observation types

* EKF: Add custom ecl::powf function for integer powers

* EKF: Convert ekf covariance prediction to use sympy output

* EKF: Add test program to compare sympy and matlab covariance prediction

Also tests ecl::powf(x,exp) function

* EKF: simplify ecl::powf function

* Generate code to subfolder generated/

* Add printouts for showing code generation progress

* Move generated covariance code to generated folder

* Upgrade code generation to python3

* main.py: Remove unused create_symbols function

& making code more compact

* main.py: move main part into function

* Code generation: fix passing wrong rotation matrix to yaw_observation ()

* EKF: Amend generated code filename for consistency

* Move ecl::powf function test to unit tests

* EKF: Use updated ecl:powf functionality in test program

* Move ecl::powf to utils.hpp

* Update ecl::powf test

* Update output change indication

* test: update expected output for change indicator

* test: update expected output for change indicator again

Co-authored-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: kamilritz <kritz@ethz.ch>
2020-07-30 12:44:08 +10:00
Daniel Agar e4fa7597f4 logger: SDLOG_PROFILE remove estimator replay from default to minimize log rate
- log full sensor_combined by default for now
 - small decrease to input_rc rate (manual_control_setpoint is no longer filtered)
 - sensor_correction can be logged at full rate (low publication rate)
2020-07-29 15:07:42 -04:00
Daniel Agar 1b30bd328e logger: decrease try subsribe interval 1000 ms -> 20 ms 2020-07-29 13:36:22 -04:00
Daniel Agar 7b46efaa6b logger: record message gaps 2020-07-29 13:36:22 -04:00
Daniel Agar f7415c3354 optical_flow/paw3902: silence info output (info -> debug) 2020-07-29 11:58:54 -04:00
Daniel Agar 86365949f6 Update submodule mavlink v2.0 to latest Wed Jul 29 00:38:22 UTC 2020
- mavlink v2.0 in PX4/Firmware (0b2d4a8ae765f36f984e7b6ddd12a7b17b767ed2): https://github.com/mavlink/c_library_v2/commit/f90ef7c95aeaf953f7b0f6766929fa56d37e6ec7
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cf6e8cb415d0e4e1a6722f8d0026de85f18f3057
    - Changes: https://github.com/mavlink/c_library_v2/compare/f90ef7c95aeaf953f7b0f6766929fa56d37e6ec7...cf6e8cb415d0e4e1a6722f8d0026de85f18f3057
2020-07-28 23:50:02 -04:00
Katrin a448e82798 Rover Airframe 50004_dfrobot_gpx_asurada: Changing of physical parameter
- the values of the parameters GND_MAX_ANG and GND_WHEEL_BASE are outdated. They belonged to another Rover setup.
 - in the mixer file rover_diff_and_servo.main.mix the steering was controlled by roll, but in PX4 rover steering is controlled by yaw. And this was the reason why the attitude control did not work correctly
 - the DF Robot GPX:Asurada rover has actual a steering angle of 60 degrees. And and wheel base of 0.17m. Parameter values in the airframe file are changed to this values
2020-07-28 21:34:12 -04:00
pengl-aee09 18eccb0cbd PAW3902: align mode change logic with the spec
1. The spec specifies that the mode change condition should be met for 10
   consecutive frames before changing to the next mode.
2. The spec (and comment) says that "PAW3902JF should not operate with Shutter < 0x01F4 in Mode 2" -
   however the if condition checked the reverse condition

Signed-off-by: Koby Aizer <koby.aizer@tg-17.com>
2020-07-28 21:29:43 -04:00
bazooka joe 8a3a71caed simplify the code to calculate signal_quality 2020-07-28 23:45:38 +01:00
bazooka joe 4d1c7b734c don't set quality to 0 for lidar lite v3hp, because the strength data is valid even for short distance 2020-07-28 23:45:38 +01:00
Matthias Grob 0bffd951ec AlphaFilter: include float.h for FLT_EPSILON 2020-07-28 15:41:58 -04:00
Daniel Agar ca33bb1c01 load_mon: slightly longer cpu average (300 -> 500 ms) 2020-07-28 13:41:50 -04:00
Julian Oes b108adc5f1 Tools: retry gz model if gzserver is not ready yet
This should prevent the race between gzserver and gz model and fix the
integration tests which sometimes timeout because the model is not
spawned correctly.

This patch also changes the shebang to what's generally recommended.
2020-07-28 11:51:51 +02:00
stmoon 71b7647ca1 fix the return type problem of RTPS 2020-07-27 16:22:46 +01:00
stmoon b457122489 remove unnecessary stderr msg when checking ldconfig 2020-07-27 16:21:58 +01:00
kritz 88c52aba5e Refactor ev fusion start into helper functions (#872) 2020-07-27 11:42:52 +02:00
Daniel Agar 7354e39893 Jenkins HIL remove mRo Control Zero
- there are issues with the particular harware on the rack (an early prototype)
2020-07-26 19:36:44 -04:00
Daniel Agar cfbf69f2a7 boards: rename Hex -> CubePilot
- hex_cube-orange_default -> cubepilot_cubeorange_default
 - hex_cube-yellow_default -> cubepilot_cubeyellow_default
2020-07-26 13:55:41 -04:00
kamilritz 8c65ca29e4 Only run firmware build test on pull_request 2020-07-26 10:11:52 -04:00
kamilritz 049f59d7de Fix firmware-build-test 2020-07-26 10:11:52 -04:00
Daniel Agar 62fe6d59cc boards: hex cube yellow fix STM32F7 selection (STM32F765II -> STM32F777VI) 2020-07-24 12:03:25 -04:00
Hamish Willee 4ade24869f parameters: move XML injection to the group level (#15403)
So that they are also in the markdown and json output.
2020-07-24 13:45:53 +02:00
Matthias Grob 400d97e60c math: add unit tests for everything in Functions.hpp 2020-07-24 11:31:15 +02:00
Matthias Grob 0b391fdcfc mc_att_control: add gradual3 function to cover hover thrust rescaling 2020-07-24 11:31:15 +02:00
Daniel Agar aa7735c1c0 pwm_out: limit actuator control callbacks to primary groups
- add backup schedule at minimum PWM rate
 - fixes #15043
2020-07-23 09:45:04 -04:00
Daniel Agar 0586079a84 mixer_module: add subscription option to limit additional actuator_control callbacks
- optionally only register callbacks for primary control groups (if used)
2020-07-23 09:45:04 -04:00
Daniel Agar 9426c68a13 cmake: only allow gold linker for posix builds
- the gold linker doesn't currently work for NuttX builds
 - NuttX skip --print-memory-usage if using the GOLD linker
 - fixes #15400
2020-07-23 09:41:35 -04:00
Mirko Denecke 7ac66bae4f hex io firmware remove double definition of GPIO_HEATER_OFF 2020-07-23 09:41:05 -04:00
Mirko Denecke b7389119b3 px4 io firmware remove double definition of GPIO_HEATER_OFF 2020-07-23 09:41:05 -04:00
Julian Oes 26021b01cb Tools: abort SITL start if gzserver fails
Sometimes gzserver seems to not start or not start fast enough. In this
case, instead of stalling forever, it would be nice to abort.
2020-07-23 07:42:09 +02:00
Mirko Denecke 01e9599e93 HEX Cube Yellow: enable platform-specific IO firmware with inverted heater pin. 2020-07-22 10:50:47 -04:00
Mirko Denecke 44e2c326e0 HEX Cube Orange: enable platform-specific IO firmware with inverted heater pin. 2020-07-22 10:50:47 -04:00
Mirko Denecke 57968c6e27 Add platform-specific IO firmware for HEX autopilots. 2020-07-22 10:50:47 -04:00
Mirko Denecke 2581badabd Add ifdef to invert heater pin for px4 IO firmware. 2020-07-22 10:50:47 -04:00
xdwgood f014d0de8e Correctly set the FW_ARSP_MODE parameter value 2020-07-22 10:43:46 -04:00
Lorenz Meier 3b1be7dcd3 Revert "mavlink: GLOBAL_POSITION_INT send without lat/lon availability"
This reverts commit ad14796b5f.
2020-07-22 10:34:18 -04:00
Daniel Agar e4f65f81f7 vtol_att_control: limit excessive scheduling
- this is to prevent vtol_att_control running at absurdly high rates (kilohertz) from every single actuator controls publication from both the multicopter and fixed wing controllers
 - I don't really like this solution, but it works for now until there are larger VTOL architectural changes in place
2020-07-21 11:40:04 -04:00
Matthias Grob 5c5005fa58 ROMFS: remove remaining RC_FLT_CUTOFF
The parameter was removed in #14896 and I forgot to remove it from
all the configurations.
2020-07-21 11:28:18 -04:00
Matthias Grob aad7e88af2 setup scripts: install dmidecode before using it
On normal desktop distributions dmidecode is preinstalled
and I was assuming it's part of the core tools. Thanks to a hint
https://github.com/PX4/Firmware/pull/15241#issuecomment-659395458
I found out it's not and am installing the package before using it.
2020-07-21 10:22:52 -04:00
Daniel Agar b8b19f6166 cdev: posix remove std::map usage
- this is to make things a little easier for platforms like QuRT (voxl snapdragon) where there are libstdc++ complications
2020-07-21 10:17:55 -04:00
Daniel Agar 81f57bccb6 px4io: servorail_status -> px4io_status and log all flags 2020-07-21 09:56:13 -04:00
Julian Oes 962b865301 Makefile: fix mavsdk_tests invocation
The config file was missing and a speed factor of 20 is much more
realistic.
2020-07-21 13:52:47 +02:00
Matthias Grob 9ba2539e60 FlightTaskOrbit: reset approach if radius gets changed 2020-07-21 10:27:05 +02:00
Matthias Grob e9498064ef StraightLine: allow resetting reached flag 2020-07-21 10:27:05 +02:00
Matthias Grob 5823101f07 FlightTaskOrbit: reset reached when new parameters are set
such that they get applied to the straight line trajectory class
and the drone starts approaching the new orbit.
2020-07-21 10:27:05 +02:00
Matthias Grob 8e4509c0a9 FlightTaskOrbit: simplify tangential yaw_setpoint and pi wrap 2020-07-21 09:44:21 +02:00
Matthias Grob 4d0aadbcd0 FlightTaskOrbit: set initial heading for every new command 2020-07-21 09:44:21 +02:00
Matthias Grob abf6f4fa0a FlightTaskOrbit: move start_to_circle to more local scope & const reference parameters 2020-07-21 09:44:21 +02:00
Matthias Grob b8b46f8493 FlightTaskOrbit: use yaw setpoint from Altitude task with RC yaw mode 2020-07-21 09:44:21 +02:00
Matthias Grob 1b7349339e FlightTaskOrbit: move line break causing comments before 2020-07-21 09:44:21 +02:00
xdwgood 7ecccf01c2 tailsitter.cpp:ensure input quaternions are exactly normalized 2020-07-21 08:21:41 +02:00
Daniel Agar 730af406a6 ROMFS: remove unnecessary parameter zero padding 2020-07-21 08:11:22 +02:00
Jan-Hendrik Ewers 0b50f85096 Update gazebo_sitl_multiple_run.sh (#15382)
If `make px4_sitl_default` is run, and not `make px4_sitl_default gazebo` then each model instance will throw the following errors:
```
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_gps_plugin.so: libgazebo_gps_plugin.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_multirotor_base_plugin.so: libgazebo_multirotor_base_plugin.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_motor_model.so: libgazebo_motor_model.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_motor_model.so: libgazebo_motor_model.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_motor_model.so: libgazebo_motor_model.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_motor_model.so: libgazebo_motor_model.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_groundtruth_plugin.so: libgazebo_groundtruth_plugin.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_magnetometer_plugin.so: libgazebo_magnetometer_plugin.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_barometer_plugin.so: libgazebo_barometer_plugin.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_mavlink_interface.so: libgazebo_mavlink_interface.so: cannot open shared object file: No such file or directory
[Err] [Plugin.hh:178] Failed to load plugin libgazebo_imu_plugin.so: libgazebo_imu_plugin.so: cannot open shared object file: No such file or directory
```
2020-07-21 09:36:15 +09:00
Daniel Agar 185f22b094 geo_lookup: copyright header consistency and minor update
Minor consistency fixes for the copyright header and update the tables to current. PX4Buildbot will periodically update the tables automatically from this point.
2020-07-20 13:01:56 -04:00
Matthias Grob a126be0882 attitude test: refactoring to avoid identity quaternion confusion 2020-07-20 18:44:08 +02:00
Matthias Grob 572bafb01f Quaternion: use template type for division by two 2020-07-20 18:44:08 +02:00
Matthias Grob 242b38ee9e Quaternion: remove deprecated axis_angle conversions 2020-07-20 18:44:08 +02:00
Daniel Agar 2adc23fd97 sensors/vehicle_imu: initially schedule conservatively
- this lowers the load immediately at boot while still allowing each VehicleIMU instance to properly measure the actual accel/gyro data rates
 - for lockstep builds this is ignored and VehicleIMU initially runs with every new sensor_accel/sensor_gyro publication
2020-07-20 10:05:11 -04:00
Matthias Grob ed7732eaec rc_loss_alarm: remove unimplemented declaration 2020-07-20 09:36:47 -04:00
Matthias Grob 7a3009f7a3 Remove asserts for unsigned integer >= 0
GCC 10 gives a warning
"comparison of unsigned expression in ‘>= 0’ is always true"
for these asserts since checking if an unsigned integer cannot
be negative and hence the statement gets droped.
2020-07-20 15:10:49 +02:00
Matthias Grob 987826f1d4 mixer_module/tap_esc: fix usage of constrain() on input
I changed the input constraint in #15349 but screwed up the usage
because I was convinced it's püass by reference. I'll double check
for sure next time.
2020-07-20 09:23:42 +02:00
Daniel Agar 9aa7991654 geo_lookup: upgrade table size (2 bytes per element) and add testing
- updated table to 2 bytes (int16) per element and scaled the inclination/declination/strength tables to use most of the range without being too awkward
 - tables have been extended to include the full latitude range
 - expanded the API slightly to offer declination/inclination in both degrees/radians and the magnetic strength in Gauss and Tesla
 - generated some simple testing that verifies interpolation between points
2020-07-19 18:53:47 -04:00
PX4 BuildBot 650b601206 Update submodule matrix to latest Sun Jul 19 12:40:00 UTC 2020
- matrix in PX4/Firmware (20d5e7acd6d7be141de802ad155592e7be4c9f77): https://github.com/PX4/Matrix/commit/9a30828a0a1d79e87fd09653bb9f936d7ca0ba17
    - matrix current upstream: https://github.com/PX4/Matrix/commit/0fd99c59f1740a7aa2ead03168705b4211bf29e8
    - Changes: https://github.com/PX4/Matrix/compare/9a30828a0a1d79e87fd09653bb9f936d7ca0ba17...0fd99c59f1740a7aa2ead03168705b4211bf29e8

    0fd99c5 2020-07-14 Matthias Grob - Switch operator() to return a const reference
8a59b46 2020-07-17 kamilritz - Quaternion: Use template type instead of single hardcoded type
2020-07-19 12:25:55 -04:00
Daniel Agar 459abcd035 uORB: print individual bits of fields
- applies to messages with names containing "flags" or "bits" and unsigned fixed width integer type (uint8, uint16, uint32)
2020-07-19 12:25:15 -04:00
rolandash b8f3b97bad Enable PMW3901 on MindPX/MindRacer. (#15375)
* enable pmw3901 on MindPX/MindRacer.

* remove useless line.
2020-07-19 16:09:57 +01:00
PX4 BuildBot 11614f789d Update submodule sitl_gazebo to latest Sun Jul 19 12:39:36 UTC 2020
- sitl_gazebo in PX4/Firmware (f4d7052bec): https://github.com/PX4/sitl_gazebo/commit/629e5f5c239d88421edab12b4a7e2e3c3ea7e8fc
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/ce1eca2bd0bedf9305d09b622454fa21962d50ba
    - Changes: https://github.com/PX4/sitl_gazebo/compare/629e5f5c239d88421edab12b4a7e2e3c3ea7e8fc...ce1eca2bd0bedf9305d09b622454fa21962d50ba

    ce1eca2 2020-07-19 Daniel Leonard Robinson - New vehicle type: Airship (#490)
df186d2 2020-07-18 TSC21 - use 'EnableC++XX' and remove duplicated compiler sets
60e5d4e 2020-07-18 TSC21 - remove the check for the 'px4' binary (it's never found since it's built in parallel with sitl_gazebo)
a3b5c5e 2020-07-19 JaeyoungLim - Fix moment calculation (#545)
07820ee 2020-07-19 JaeyoungLim - Fix gimbal imu sensors intefering with each other (#549)
2020-07-19 15:46:53 +01:00
PX4 BuildBot fb2ebc9379 Update submodule nuttx to latest Sun Jul 19 12:39:45 UTC 2020
- nuttx in PX4/Firmware (2624730b02ea71fa2bbd28cc424d9bade5766356): https://github.com/PX4/NuttX/commit/61742342ec979867dbe4b85c89a6821656090ee2
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/dc10293feb724d50f6a0a64a068b47cb8cdae631
    - Changes: https://github.com/PX4/NuttX/compare/61742342ec979867dbe4b85c89a6821656090ee2...dc10293feb724d50f6a0a64a068b47cb8cdae631

    dc10293feb 2020-05-25 Claudio Micheli - [BACKPORT] stm32l4: extend CAN ioctrl with NART/ABOM. Add RTR to CAN header
5735f765e2 2020-05-25 Claudio Micheli - [BACKPORT] stm32: extend CAN ioctrl with NART/ABOM. Add RTR to CAN header
4dc9ae05f5 2020-05-25 Claudio Micheli - [BACKPORT] stm32f7: Add the option to include RTR in CAN header
bdd9e786e1 2020-04-21 Beat Küng - [BACKPORT] stm32f7: add CANIOC_SET_NART and CANIOC_SET_ABOM ioctl's to can driver
2020-07-19 06:47:11 -07:00
Nuno Marques f4d7052bec Update submodule mavlink v2.0 to latest Sat Jul 18 12:39:32 UTC 2020
- mavlink v2.0 in PX4/Firmware (b54dea0ccd): https://github.com/mavlink/c_library_v2/commit/f608801c1bdfbc1ddf71a243444d27dd7b45f8c6
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/f90ef7c95aeaf953f7b0f6766929fa56d37e6ec7
    - Changes: https://github.com/mavlink/c_library_v2/compare/f608801c1bdfbc1ddf71a243444d27dd7b45f8c6...f90ef7c95aeaf953f7b0f6766929fa56d37e6ec7
2020-07-18 14:29:02 -04:00
Daniel Agar 3dd7d0c292 boards: fmu-v5 debug variant disable unnecessary modules to save flash
- partially sync with fmu-v5 stackcheck build
2020-07-18 13:41:26 -04:00
Daniel Agar b54dea0ccd wq:attitude_ctrl: small stack increase to silence warning 2020-07-17 19:51:48 -04:00
Daniel Agar 42493b3d59 logger: add full commander and safety logging by default
- increase battery_status rate to be useful
2020-07-17 17:27:15 -04:00
Daniel Agar 94a5a97dcc drivers/safety_button: only publish safety at 1 Hz or immeidately on change 2020-07-17 17:27:15 -04:00
Daniel Agar c6aafed9d0 px4io: only publish safety at 1 Hz or immeidately on change 2020-07-17 17:27:15 -04:00
Daniel Agar bdb4251fa4 fw_pos_control_l1: if using air data (baro) copy every cycle
- vehicle_air_data won't necessary have an update every iteration and these adjusted throttle values aren't stored
 - this only would have worked in the past because the vast majority of systems were using the ms5611 barometer with a publication rate that's faster than the controller
2020-07-17 17:14:45 -04:00
Daniel Agar e3d31a881e boards: NuttX disable posix message queues 2020-07-17 17:00:21 -04:00
Julian Oes 9723b26d72 workflows: OSX.sh is now called macos.sh 2020-07-17 14:58:31 -04:00
Julian Oes 7c49afa716 setup: only install homebrew if not already there 2020-07-17 14:58:31 -04:00
Julian Oes 7667298c86 setup: move the OSX.sh script to macos.sh
It's called macOS for a while now, and no longer OSX.
2020-07-17 14:58:31 -04:00
Julian Oes 6acf279085 setup: we no longer need Java 8
However, Java 11 or 14 depending on the Ubuntu version are just fine.
2020-07-17 14:58:31 -04:00
Julian Oes 000c0c5905 setup: mark Ubuntu 16.04 as unsupported
Ubuntu was already unsupported, now that 20.04 is out, however, the
change was not reflected yet in this script.
2020-07-17 14:58:31 -04:00
Julian Oes cece343cf7 setup: Java 14 is fine now 2020-07-17 14:58:31 -04:00
Julian Oes aed114465e setup: clean up macOS setup script
- Spaces -> tabs.
- Remove "brew install python" because it's already a dependency of the
  px4-dev tap.
- Remove "brew install ccache" as we can also add it to the px4-dev tap.
- Don't try to update pip installation, it works fine as is.
- Install pip dependencies as user, no need for system-wide install.
2020-07-17 14:58:31 -04:00
Daniel Agar ad14796b5f mavlink: GLOBAL_POSITION_INT send without lat/lon availability
- the altitude and velocity portions of this message are still relevant
without GPS lat/lon
2020-07-17 10:46:06 -04:00
Julian Oes 9d97148ce8 commander: fix takeoff and land CI test
This fixes the takeoff and land CI test where we do a takeoff and land
without RC connected.

In my opinion it does not make sense to go into RC lost failsafe if
a datalink is still available.
Of course, this can be dangerous if someone has a companion computer
connected which gets detected as "data link" but actually has no
connection to the ground station.
2020-07-17 10:30:13 -04:00
Daniel Agar e79ccd1333 Jenkins: hardware print vehicle_air_data 2020-07-17 09:42:19 -04:00
Daniel Agar 9a1ca00285 fw_pos_control_l1: replace sensor_baro with vehicle_air_data
- controllers shouldn't be accessing raw sensor data directly
2020-07-17 09:42:19 -04:00
Daniel Agar 1394b5d7bc sensor_baro add separate timestamp_sample field
- the timestamp is uORB message publication metadata
2020-07-17 09:42:19 -04:00
Daniel Agar 19059a80bd sensors: throttle vehicle_air_data publication (SENS_BARO_RATE)
- don't bother running baro aggregator if SYS_HAS_BARO disabled
2020-07-17 09:42:19 -04:00
kamilritz 3651ed37fb Do not update time_last_imu outside of setGpsData 2020-07-17 11:06:36 +02:00
bresch 67ae40e922 FlightTaskAuto: fix yaw reset issue during takeoff
During takeoff, Navigator is sending a constant yaw value.
However, there is always a reset at 1.5m of the yaw estimate in EKF2
that is not handled by Navigator that produces a glitch in the rate
controller. Given that in FlightTask, the yaw
is already computed and properly corrected in case of an estimator reset
event, we just ignore the yaw value sent by navigator during takeoff.
2020-07-17 10:51:01 +02:00
Matthias Grob 0fd99c59f1 Switch operator() to return a const reference 2020-07-17 10:43:34 +02:00
kamilritz 8a59b463f2 Quaternion: Use template type instead of single hardcoded type 2020-07-17 10:37:18 +02:00
Daniel Agar 8020d6407f load_mon: remove obsolete rate comment in description 2020-07-16 15:11:53 -04:00
Daniel Agar f0ceb44f6c Jenkins: hardware print cpuload 2020-07-16 15:11:53 -04:00
Daniel Agar 392eb123fc load_mon: split out header 2020-07-16 15:11:53 -04:00
Daniel Agar fd66d42906 load_mon updates
- increase rate
 - cpu load calculation grab timestamp atomically
 - only check one task per cycle (but cycle at a higher rate)
 - decrease available FD threshold
 - minor cleanup
2020-07-16 15:11:53 -04:00
Matthias Grob 413cf8b7c4 FlightTasks: Sticks methods naming refactor according to comments 2020-07-16 19:01:22 +02:00
Matthias Grob 0d56035a46 FlightTaskAutoMapper: clarify influence of sticks 2020-07-16 19:01:22 +02:00
Matthias Grob 079c5a11c2 FlightTaskAuto: allow rc assist to stop descend
Before the autohority was only enough to slow down the descend but not
stop to zero vertical velocity.
2020-07-16 19:01:22 +02:00
Matthias Grob 91c0f19121 FlightTaskAuto: use new Sticks class for assisted land speed 2020-07-16 19:01:22 +02:00
Matthias Grob 4366898f11 FlightTasks: make gear switch independent of sticks 2020-07-16 19:01:22 +02:00
kamilritz 89bfcc2167 Introduce checkAndFixCovarianceUpdate(KHP) function 2020-07-16 18:25:06 +02:00
kamilritz 5c4a3d4576 Make observation jacobian a Vector24f when possible 2020-07-16 18:25:06 +02:00
kamilritz b5e1397c0f Add const modifier
const modifier


Add missing const modifier
2020-07-16 18:25:06 +02:00
kamilritz e357376797 Bring declaration and initialization together 2020-07-16 18:25:06 +02:00
kamilritz 796afd5f98 Rename yaw_use_inhibit -> is_yaw_fusion_inhibited
Temp
2020-07-16 18:25:06 +02:00
kamilritz 4cb2d1c645 Remove duplicated code snippets
by combining x and y ballistic coeff inverse a vector
2020-07-16 18:25:06 +02:00
kamilritz b0ad9f0226 Replace componentwise with matrix operation 2020-07-16 18:25:06 +02:00
kamilritz b5765eb3b4 Move variable declaration to better place &
remove airspeed_innov_var_temp variable. setting to global variable even when fusion is aborted is okay
2020-07-16 18:25:06 +02:00
kamilritz 05855b7fc1 Update time of last fusion event really only if fused
Except for the velpos fusion
2020-07-16 18:25:06 +02:00
kamilritz efd96db49d Avoid setting 0 to 0 2020-07-16 18:25:06 +02:00
kamilritz 5ef18f8823 Style improvement 2020-07-16 18:25:06 +02:00
kamilritz 01515b9a9c Replace min(max()) with constrain 2020-07-16 18:25:06 +02:00
kamilritz b0458fbded Refactor output buffer updates into separate functions 2020-07-16 18:25:06 +02:00
kamilritz 3d82d822ae Add const modifier 2020-07-16 18:25:06 +02:00
kamilritz 93011ed52c Use ternary operator 2020-07-16 18:25:06 +02:00
Matthias Grob 4667693f37 mixer_module: use math:constrain 2020-07-16 16:55:33 +02:00
Oleg b2af2f32d4 mavlink_ftp: close session without activity
10s inactivity timeout to close session
2020-07-16 14:49:44 +02:00
Daniel Agar 1bf0c58537 Update submodule mavlink v2.0 to latest Thu Jul 16 00:39:38 UTC 2020
- mavlink v2.0 in PX4/Firmware (b5ffdc6d35): https://github.com/mavlink/c_library_v2/commit/d87878bce48d49fc3ab7305b7ffc907590f3468e
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/f608801c1bdfbc1ddf71a243444d27dd7b45f8c6
    - Changes: https://github.com/mavlink/c_library_v2/compare/d87878bce48d49fc3ab7305b7ffc907590f3468e...f608801c1bdfbc1ddf71a243444d27dd7b45f8c6

    f608801c 2020-07-15 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4eee4b83c2ad711615d43e99d93a55f247ba9aa9

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-07-16 00:07:17 -04:00
PX4 BuildBot b5ffdc6d35 Update submodule sitl_gazebo to latest Wed Jul 15 12:39:34 UTC 2020
- sitl_gazebo in PX4/Firmware (d791c8baad): https://github.com/PX4/sitl_gazebo/commit/1af7e29dbb1ecce7b0b191c9deb24ab1f13916ab
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/629e5f5c239d88421edab12b4a7e2e3c3ea7e8fc
    - Changes: https://github.com/PX4/sitl_gazebo/compare/1af7e29dbb1ecce7b0b191c9deb24ab1f13916ab...629e5f5c239d88421edab12b4a7e2e3c3ea7e8fc

    629e5f5 2020-07-15 Morten Fyhn Amundsen - Barometer drift (#544)
4ec5caa 2020-04-26 JaeyoungLim - Make wind plugin a world plugin
2020-07-15 12:42:11 -04:00
Daniel Agar e74c0b0ef6 Update submodule mavlink v2.0 to latest Wed Jul 15 12:39:39 UTC 2020
- mavlink v2.0 in PX4/Firmware (a06326f99a6964295550176855bd7b93b55ebc9e): https://github.com/mavlink/c_library_v2/commit/d5538ea0da8b09da6e9ef1399041c7d67ac31f8f
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/d87878bce48d49fc3ab7305b7ffc907590f3468e
    - Changes: https://github.com/mavlink/c_library_v2/compare/d5538ea0da8b09da6e9ef1399041c7d67ac31f8f...d87878bce48d49fc3ab7305b7ffc907590f3468e
2020-07-15 12:41:13 -04:00
stmoon 4418179a92 fix the fastrtps version problem in case of v1.10.0 2020-07-15 16:30:58 +01:00
Ricardo Marques d0c74712b5 Fix comment typo in mavlink_receiver.cpp 2020-07-15 10:47:52 -04:00
PX4 BuildBot cfcdab3992 Update submodule nuttx to latest Wed Jul 15 12:39:46 UTC 2020
- nuttx in PX4/Firmware (fbc4fa04c372960894766a69c8ea35dfafcb0c4d): https://github.com/PX4/NuttX/commit/f5925e194e82b0658b0176a9657820a396674642
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/61742342ec979867dbe4b85c89a6821656090ee2
    - Changes: https://github.com/PX4/NuttX/compare/f5925e194e82b0658b0176a9657820a396674642...61742342ec979867dbe4b85c89a6821656090ee2

    61742342ec 2020-07-09 Beat Küng - [BACKPORT] gpio: extend gpio_pintype_e for pulldown/up and opendrain
2020-07-15 09:59:37 -04:00
Daniel Agar fe84bdac6e README: remove broken jenkins build status badge 2020-07-15 09:54:30 -04:00
Julian Kent 435c2fe438 Fix rarely flakey test on Github Actions 2020-07-15 09:50:58 -04:00
Julian Oes 5f2abb66a4 mavsdk_tests: add workaround to prevent failsafe
This workaround should fix the test failure where we disarm before
taking off because we accidentally switched to failsafe mode right
before taking off because we were still in Manual mode and not Hold yet.
2020-07-15 09:38:06 -04:00
Julian Oes 4ad7ea6c1a mavsdk_tests: increase the poll time resolution
With only 10 steps for e.g. 60 seconds we are likely to miss updates.
2020-07-15 09:38:06 -04:00
Daniel Agar d791c8baad mavlink: mission manager fix signed sequence debug print type 2020-07-14 12:47:57 -04:00
Matthias Grob 1e56eed2aa Remove FlightTaskManual from the inheritance structure 2020-07-14 18:07:09 +02:00
Matthias Grob 9daff24e79 FlightTasks: move stick handling into library 2020-07-14 18:07:09 +02:00
Pandacoolcool 49a543e1b2 systemcmds/tests: Ignore unused but set parameter warnings 2020-07-14 10:05:55 -04:00
Matthias Grob ced91f135b posix rcS: remove various SITL custom settings
because we need to have SITL simulation as realistic as possible
compared to a real flight with default settings such that we
either fix the problems or adjust the defaults already in SITL testing.
2020-07-14 09:58:46 -04:00
Daniel Agar fa44cd5cd5 px4_work_queue: rename navigation_and_controllers -> nav_and_controllers
- keep the thread within the current NuttX max length
2020-07-14 09:48:47 -04:00
Julian Kent 78ff7c608f Expand tracking error for straight line test 2020-07-14 11:34:14 +02:00
Julian Kent 14e2603bc4 Pull out matrix math primitives into anon functions 2020-07-14 11:34:14 +02:00
Julian Kent 6ce2769342 Pull out point-to-line distance calc, getting local mission coords 2020-07-14 11:34:14 +02:00
Julian Kent ff4be5d815 Set rate when subscribing to velocity, specify units 2020-07-14 11:34:14 +02:00
Julian Kent e6c5771c59 Add 'corridor check' which makes sure 3D tracking is along mission 2020-07-14 11:34:14 +02:00
Julian Kent db361d7a59 Add straight-line MAVSDK test 2020-07-14 11:34:14 +02:00
Matthias Grob 624d8a58e9 FlightTaskOrbit: correct acceleration feed-forward
The acceleration setpoint gets implicitly inherited from the altitude
flight task since #14212. This feed-forward adds an unwanted
acceleration when the right stick is deflected. Instead I'm using it
to command the expected centripetal acceleration when flying
in a circle for better orbit tracking.
2020-07-14 09:02:38 +02:00
David Jablonski 589aff7e0d Orbit: Add RC controlled yaw mode
For the RC controlled yaw behaviour, we do a yaw setpoint according to
the stick expo. The uncontrolled yaw behaviour behaves undefined.
Switching between yaw behaviours makes the drone stand still for a
moment, which probably can be improved.
2020-07-13 20:26:13 +02:00
David Jablonski 21f2e9b654 Orbit: Adjust yaw setpoint on circle approach 2020-07-13 20:26:13 +02:00
David Jablonski 037c6f592f Orbit: add more yaw behaviours 2020-07-13 20:26:13 +02:00
Matthias Grob 40883a06cf Commader: save 53 unnecessary characters of output string 2020-07-13 10:34:17 -04:00
daniele f01195c13f make kill switch engaged a warning only if the vehicle is flying 2020-07-13 10:34:17 -04:00
daniele be043d24a0 commander: rephrase or change message importance for some errors/warnings that happen often 2020-07-13 10:34:17 -04:00
Oleg 0c376ed518 fix sed unknown option to s'
when building with windows toolchain from eclipse
2020-07-13 10:23:44 -04:00
Daniel Agar aec1b9243a systemcmds/tests: microbench hrt run both regular and atomic hrt_elapsed_time 2020-07-10 10:59:50 -04:00
Daniel Agar 6bdcca6a85 systemcmds/tests: add simple atomic microbenchmark 2020-07-10 10:59:50 -04:00
George Anderson 94326a29bb FW attitude control scaling fixes and cleanup (#15256)
* FW attitude control scaling fixes and cleanup

This commit aligns the scaling better with the derivations in
https://dev.px4.io/master/en/flight_stack/controller_diagrams.html#airspeed-scaling

Integrator terms now scale with IAS^2 (all three axes)

To match the roll and pitch controllers:
- Yaw integrator scale is now applied during accumulation, not to
  integral value (so now FW_YR_IMAX is respected more intuitively)
- Yaw FF term now scale with IAS instead of IAS^2

Also made a number of small changes to make the three files
  (roll, pitch, yaw) 3-way diffable to be clearer about what the
  differences among them are.

* Remove unused yaw coordination method

- "Coordination method" open vs. closed code removed, since closed
  is never used and not actually implemented.
- No change to behavior

* Remove PX4_WARN messages

Co-authored-by: george <george@campsix.com>
2020-07-10 15:54:39 +02:00
RomanBapst f792cc7b6b publish battery_dangerous message if battery level is dangerous
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-07-10 09:37:23 -04:00
Daniel Agar e2ad1bbc91 bmi055: accel periodically read temperature 2020-07-09 18:03:29 -04:00
JaeyoungLim fa0ca7e65c Update mavlink with cellular status message fixes
This Commit includes a update of the mavlink submodule

since the CELLULAR_STATUS message was updated, the necessary changes were done together
Add enums
2020-07-09 15:12:02 -04:00
Matthias Grob 480cd5ed4e mavsdk_tests: load all os environment variables for gazebo client
such that OpenGL options are also used for mavsdk_tests when the GUI
is enabled.
2020-07-09 16:43:34 +02:00
Silvan Fuhrer 57cbf212be PreFlightchecks: remove duplicated VTOL mode prearm check
This removes the check for the current position of the VTOL swtich, as arming is already prevented if in transition mode,
plus also if VTOL and in fixed-wing mode (unless CBRK_VTOL_ARMING is set).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-07-09 10:41:43 -04:00
Roman Dvořák f70b3046e9 mavlink: publish RAW_RPM 2020-07-09 10:35:16 -04:00
Thomas Stauber 6d1ce57362 Add Land as Geofence Action 2020-07-09 10:32:10 -04:00
Daniel Agar f3d923f226 sensors: VehicleIMU improve scheduling
- schedule on interval multiple of sensor_gyro publications without increasing the configured integration rate
 - IMU_INTEG_RATE add enums to guide appropriate selection
 - add average calculation bounds to prevent incorrect calculation and force monitoring again if there are consecutive gaps in data
2020-07-09 10:29:04 -04:00
Daniel Agar fa8ba09f50 drivers/imu/bosch/bmi055: remove interrupt latch
- the latch would actually cause more problems if the backup schedule hit
 - this reduces the number of cycles where the FIFO is actually empty at max rate (when there's only 1 sample in the FIFO expected)
2020-07-09 10:15:33 -04:00
Daniel Agar 194029d010 drivers/imu: Invensense & Bosch remove transfer perf counters
- we already have nearly equivalent data in every sensor publication with the (publication) timestamp and timestamp_sample
2020-07-09 10:12:37 -04:00
Daniel Agar 6bc1af7680 sensors/vehicle_air_data: only publish primary if error free
- cleanup failover related messaging
 - store previous failover count to prevent unecessary checks
 - check for parameter update initially to minimize work after fetching
fresh sensor data
2020-07-09 10:11:23 -04:00
Daniel Agar 6d52772d30 sensors/vehicle_air_data: move to sensors namespace
- move params to end of class
2020-07-09 10:11:23 -04:00
Beat Küng 405cb5038d sdp3x: introduce State enum
to avoid blocking the work queue during configuring.
2020-07-08 11:43:21 -04:00
Beat Küng fc1be6e0b1 sdp3x: add '-k' option to keep retrying even if probing fails
we have a setup where the sensor is connected via magnets, so the system
could boot without sensor initially attached.
2020-07-08 11:43:21 -04:00
Beat Küng 3cc394e6c7 sdp3x: improve robustness, try to reconfigure on transfer error 2020-07-08 11:43:21 -04:00
Daniel Agar 38fa913fed Jenkins: holybro durandal-v1 switch to generic multicopter with dshot 2020-07-07 18:59:04 -04:00
Daniel Agar 8763d71bf0 Jenkins: set IMU_GYRO_RATEMAX to 4kHz on holybro_durandal-v1_default 2020-07-07 01:29:48 -04:00
Daniel Agar 2af72c05b5 Jenkins: set IMU_GYRO_RATEMAX to 2kHz on px4_fmu-v5_default 2020-07-06 22:17:17 -04:00
Daniel Agar 96a6b5c914 load_mon: decrease warning threshold for stack check builds
- enabling stack check increases stack usage and will assert if there's
any overflow
2020-07-06 11:13:15 -04:00
Daniel Agar 0f0706be91 platforms/nuttx: init.cmake skip config lines with empty values 2020-07-06 11:13:15 -04:00
Daniel Agar b277840233 boards: create px4_fmu-v5_debug build with assertions enabled 2020-07-06 11:13:15 -04:00
Beat Küng 2bcc2f4ccc mag params: add missing mag rotations according to rotation.h 2020-07-06 10:16:17 -04:00
Beat Küng 795b9e938e drivers: add ST LPS33HW baro driver
Note: only tested on I2C
2020-07-06 10:13:11 -04:00
Julian Oes aea94ff57b jMAVSim: try new libs with newer Java versions
This is an attempt to get jMAVSim to run with Java9+.
2020-07-06 13:07:11 +01:00
Beat Küng 03e51076b0 v5x: fix icm20602 sensor orientation
and reorder baro startup, so that the other one is used by default.
2020-07-06 11:02:48 +02:00
Matthias Grob 03735f12a2 FlightTask: correct activate() doxygen comment 2020-07-04 12:29:10 +02:00
Thomas Stauber 3702c8b481 [VTOL] impose minimum transition duration
* VT_F_TR_OL_TM would silently reduce VT_TRANS_MIN_TM when VT_F_TR_OL_TM was smaller
2020-07-03 13:19:02 -04:00
Stone White 400c44b5ef Raname DJI Airframe name to Provent Large PWM_MIN for normal ESCs 2020-07-03 09:08:22 +02:00
Daniel Agar d3157f4266 sensors/vehicle_acceleration: apply calibration before filtering 2020-07-02 12:35:17 -04:00
kamilritz 46a5e6e428 Replace divisions with multiplications 2020-07-02 15:55:24 +02:00
kamilritz 3e3a66e9e9 Remove unnecessary operations 2020-07-02 15:55:24 +02:00
kamilritz 079a699556 Random cleanup 2020-07-02 15:55:24 +02:00
kamilritz d18ddb3e92 Use ternary operator 2020-07-02 15:55:24 +02:00
kamilritz 122f58b94d Bug: stop overwriting fault status of index 0 with index 1 2020-07-02 15:55:24 +02:00
kamilritz 9e211d6ca1 Stop overwriting fault status with false if one component is true 2020-07-02 15:55:24 +02:00
kamilritz e5ddd912a4 Remove not needed else case 2020-07-02 15:55:24 +02:00
kamilritz 430497e2f7 Shift variable definition inside calculateOutputStates 2020-07-02 15:55:24 +02:00
kamilritz f59343b343 Remove misplaced comment 2020-07-02 15:55:24 +02:00
kamilritz 673b309c45 Fix bug: pos gain used instead of vel gain 2020-07-02 15:55:24 +02:00
kamilritz 2af2696b63 Revert if-else condition to get rid of unnecessary indentation 2020-07-02 15:55:24 +02:00
kamilritz fce4958d4f Random cleanup 2020-07-02 15:55:24 +02:00
JaeyoungLim 692cb717b7 Add windy world target (#14737) 2020-07-02 15:49:09 +02:00
kritz 9eea44f4ab Return type of resets (#859)
* Reset position/velocity return type is void

* Delete not needed comments
2020-07-02 14:53:59 +02:00
bresch 97e54df123 Gps control: add missing consts and reduce variable scope 2020-07-02 13:35:13 +02:00
bresch b0f79caf34 GPS yaw: Extract and refactor GPS yaw control logic
- Rename GPS yaw fusion functions:
resetGpsAntYaw -> resetYawToGps
fuseGpsAntYaw -> fuseGpsYaw

- Move last fusion time in reset function
2020-07-02 13:35:13 +02:00
bresch 7f4fedde6a GPS Yaw: fix heading initialisation and add unit tests
When the antennas are not parallel to the x body axis, the GPS message
contains the angular offset but the data is already corrected in the
driver. EKF2 should then not add this offset during the initialisation.
2020-07-02 13:35:13 +02:00
kamilritz 97225fcb74 Use matrix lib inside getState 2020-07-02 09:02:24 +02:00
kamilritz 16a00eae0b Make Kfusion a Vector24f 2020-07-02 09:02:24 +02:00
kamilritz 356b2f6ffe Stop setting zero to zero 2020-07-02 09:02:24 +02:00
kamilritz 552bf824ea Add typedef for Matrix 24 types 2020-07-02 09:02:24 +02:00
Claudio Micheli 743898d574 Commander: failure detector, automatically disarm on a ESC failure
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-07-01 08:55:54 +02:00
Claudio Micheli a7f2f2908b Commander: make optional tilt-check after takeoff (failure detector).
- Introduced COM_LKDOWN_TKO parameter
    - Introduced auto disarm for lockdown state
    - Do not trigger flight termiantion if system is in lockdown

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-07-01 08:55:54 +02:00
Claudio Micheli 6358dd400a failure detector: added esc failures detection
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-07-01 08:55:54 +02:00
Daniel Agar 7398d174d2 Update submodule sitl_gazebo to latest Tue Jun 30 14:39:57 UTC 2020 (#15248)
- sitl_gazebo in PX4/Firmware (38588f0c37): https://github.com/PX4/sitl_gazebo/commit/309f7b0ace2d6d0afea59fe5edf3356b26d996c9
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/1af7e29dbb1ecce7b0b191c9deb24ab1f13916ab
    - Changes: https://github.com/PX4/sitl_gazebo/compare/309f7b0ace2d6d0afea59fe5edf3356b26d996c9...1af7e29dbb1ecce7b0b191c9deb24ab1f13916ab

    1af7e29 2020-06-25 JaeyoungLim - Do not validate r1_rover
5e8ddfb 2020-06-25 Benjamin Perseghetti - fixes for R1 SDF https://github.com/PX4/sitl_gazebo/issues/533 (#534)
726c066 2020-06-23 Supakorn Suttiruang - Remove the incorrect force generated by moment (#532)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-06-30 15:44:38 -04:00
Daniel Agar ff002f1fd7 Update submodule mavlink v2.0 to latest Tue Jun 30 14:40:02 UTC 2020
- mavlink v2.0 in PX4/Firmware (2be1588438e198b465ff5d320720d1fba3406588): https://github.com/mavlink/c_library_v2/commit/413964fb05c7f296542d8f87b05ea71cd9795fc7
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/bd80020a6ce7686922aac2b389767e23cf0605ac
    - Changes: https://github.com/mavlink/c_library_v2/compare/413964fb05c7f296542d8f87b05ea71cd9795fc7...bd80020a6ce7686922aac2b389767e23cf0605ac

    bd80020a 2020-06-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/527abe53c4c9bf6fe811d5f8b236d6ecc73ded67

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-06-30 15:44:27 -04:00
PX4 BuildBot 19d2de0726 Update submodule matrix to latest Tue Jun 30 14:40:13 UTC 2020
- matrix in PX4/Firmware (a1043f6ce068cc4d039d6808ef98fd8c3f379582): https://github.com/PX4/Matrix/commit/f529358e9ac28b0809572c14a964ba7ba691adc4
    - matrix current upstream: https://github.com/PX4/Matrix/commit/9a30828a0a1d79e87fd09653bb9f936d7ca0ba17
    - Changes: https://github.com/PX4/Matrix/compare/f529358e9ac28b0809572c14a964ba7ba691adc4...9a30828a0a1d79e87fd09653bb9f936d7ca0ba17

    9a30828 2020-06-30 Julian Kent - Add explicit matrix + scalar test
f3cf615 2020-06-30 Julian Kent - Do += -= and scalar *= /= in place
2020-06-30 11:11:45 -04:00
Daniel Agar e3eeb150b1 Jenkins: limit metadata generation to master 2020-06-30 11:05:22 -04:00
Julian Kent 9a30828a0a Add explicit matrix + scalar test 2020-06-30 10:37:10 -04:00
Julian Kent f3cf615023 Do += -= and scalar *= /= in place 2020-06-30 10:37:10 -04:00
PX4 BuildBot 38588f0c37 Update submodule ecl to latest Tue Jun 30 00:38:47 UTC 2020
- ecl in PX4/Firmware (bd4d3f2b9929271b2616d2e1d6952059a7e8bc72): https://github.com/PX4/ecl/commit/e4b44f704bb641fa93bedc81734c5249fcd9ed42
    - ecl current upstream: https://github.com/PX4/ecl/commit/5356077a3244a9a29adfae4aeaaab900cd28e9e8
    - Changes: https://github.com/PX4/ecl/compare/e4b44f704bb641fa93bedc81734c5249fcd9ed42...5356077a3244a9a29adfae4aeaaab900cd28e9e8

    5356077 2020-06-21 kamilritz - Make flow_innov/-var a matrix Vector2f
c2801eb 2020-06-21 kamilritz - Add const modifier and increase matrix library usage
d9afc2f 2020-06-21 kamilritz - Remove repeated division by same value
d16b43a 2020-06-21 kamilritz - Get rid of non functional piece of code
c3653e6 2020-06-21 kamilritz - Add const modifier
48f0eb1 2020-06-21 kamilritz - Remove uninformative comments
4a69b41 2020-06-21 kamilritz - Increase matrix library usage even more
630be60 2020-06-21 kamilritz - Increase matrix library usage
22274b1 2020-06-21 kamilritz - Add const modifier
61c139e 2020-06-21 kamilritz - Remove unused variable
afd4f3f 2020-06-21 kamilritz - Fix typo
a3706fd 2020-06-21 kamilritz - Make relative wind computation more compact
b8f9376 2020-06-21 kamilritz - Make mag_innov/-var a Matrix::Vector3f
0ea7cd8 2020-06-25 Kamil Ritz - Attempt to fix CI firmware build test
2927132 2020-06-25 Daniel Agar - clang-format set BreakBeforeBraces to Linux style
b96c62e 2020-06-25 sevenbill - Optionalized build dependency on git
794e6ec 2020-06-25 Bill Morris - Enforce tabs via editorcofig
2020-06-29 21:50:55 -04:00
Matthias Grob 547bd4c667 ubuntu.sh: add fix for gazebo's OpenGL problem in VMs
That makes gazebo crash in VMWare 3D graphics accelration.
2020-06-29 19:21:56 -04:00
Matthias Grob 9fed9f534e ubuntu.sh: style, 20.04 comment and message wording 2020-06-29 19:21:56 -04:00
Matthias Grob c9b82ad184 ubuntu.sh: source .profile before checking for ARM GCC
to avoid downloading and installing ARM GCC again if the script is
reran immediately after e.g. because it failed the first time.
2020-06-29 19:21:56 -04:00
Matthias Grob c8d7027546 ubuntu.sh: don't upgrade pip outside of system package manager
This can lead to inconsistency with the installed package.
E.g. also if the package is remove the upgraded pip stays
but the symbolic links are gone.
2020-06-29 19:21:56 -04:00
Matthias Grob 47de2419a3 setup: don't require exact matplotlib version
Because this older version fails to install on Ubuntu 20.04
and makes the entire setup script fail.
2020-06-29 19:21:56 -04:00
TSC21 dc69d99764 add support to FastRTPS 2.0.0 (Fast-DDS) 2020-06-29 22:56:00 +02:00
dominiknatter d8831c5133 ekf2: Ignore optical flow samples with too large integration time spans. Fixes #14165
Within ekf2, optical flow messages (amongst others) are fused to the state estimates. It might occur that optical flow sensors report unreliable and unrealistic spikes. In that case, the state estimator went crazy so far and just ignored optical flow values from that moment on.

The common thread for all these spikes seems to be a too high integration time span. Therefore, this fix adds a simple logic that ignores unrealistically high integration time spans. As a threshold, 1 second was chosen.

Reported-by: Dominik Natter <dominik.natter@gmail.com>
2020-06-29 12:00:29 -04:00
Daniel Agar d360919789 Jenkins: hardware mRo Control Zero skip tests for now
- not quite ready for this one
2020-06-29 11:14:22 -04:00
Jari van Ewijk fe7fcb101f NXP FMUK66 - Fix VDD_3V3_SENSORS_EN polarity 2020-06-29 07:45:47 -07:00
Beat Küng 0c4fd2bfa0 param: also show unused params for 'param show -c'
I find this generally useful for debugging.
2020-06-29 09:49:56 -04:00
Beat Küng d22bbde7c5 logger: fix hardfault for invalid SDLOG_PROFILE setting
If some bits are set but no topic was added, _subscriptions was null but
later accessed.

During normal use this only happens when switching between different
firmware versions with different SDLOG_PROFILE definition (with custom
config).
2020-06-29 09:49:56 -04:00
Daniel Agar 1ea416f6de Github Actions MacOS skip SITL tests for now
- there's an intermittent crash when running these tests on Github Actions MacOS infrastructure (10.15)
 - see https://github.com/PX4/Firmware/issues/15225 for more detail
2020-06-28 20:52:50 -04:00
PX4 BuildBot b463a2f0d5 Update submodule matrix to latest Sun Jun 28 12:38:27 UTC 2020
- matrix in PX4/Firmware (2337b7e2f7b4eecddbb9103ab7672fac2c741fc5): https://github.com/PX4/Matrix/commit/674bd99f3b9284e1088d100d765b3a09cf0c192f
    - matrix current upstream: https://github.com/PX4/Matrix/commit/f529358e9ac28b0809572c14a964ba7ba691adc4
    - Changes: https://github.com/PX4/Matrix/compare/674bd99f3b9284e1088d100d765b3a09cf0c192f...f529358e9ac28b0809572c14a964ba7ba691adc4

    f529358 2020-06-27 kamilritz - Add missing const modifier
2020-06-28 19:55:06 -04:00
Daniel Agar e67fdb401c Update submodule mavlink v2.0 to latest Sun Jun 28 12:38:13 UTC 2020
- mavlink v2.0 in PX4/Firmware (51eaedeb72403a6915c64cce5bb824aaf6ffa13b): https://github.com/mavlink/c_library_v2/commit/be9923365f42dcece409de9467d263e56102e226
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/413964fb05c7f296542d8f87b05ea71cd9795fc7
    - Changes: https://github.com/mavlink/c_library_v2/compare/be9923365f42dcece409de9467d263e56102e226...413964fb05c7f296542d8f87b05ea71cd9795fc7

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-06-28 19:54:40 -04:00
kamilritz f529358e9a Add missing const modifier 2020-06-28 14:24:49 +02:00
bresch 1761ef3952 FlightTaskAuto: Update prev and next waypoint depending on validity
This fixes the corner case where a NAV_DELAY command changes the
validity of the next WP but not the rest of the triplet. The logic in
FlightTask was ignoring this change because the check was only based on
WP position change.
2020-06-26 09:48:22 -04:00
kamilritz 5356077a32 Make flow_innov/-var a matrix Vector2f 2020-06-26 08:26:26 +02:00
kamilritz c2801eb488 Add const modifier and increase matrix library usage 2020-06-26 08:26:26 +02:00
kamilritz d9afc2f1e8 Remove repeated division by same value 2020-06-26 08:26:26 +02:00
kamilritz d16b43a2da Get rid of non functional piece of code 2020-06-26 08:26:26 +02:00
kamilritz c3653e68ca Add const modifier 2020-06-26 08:26:26 +02:00
kamilritz 48f0eb16da Remove uninformative comments 2020-06-26 08:26:26 +02:00
kamilritz 4a69b41015 Increase matrix library usage even more 2020-06-26 08:26:26 +02:00
kamilritz 630be60930 Increase matrix library usage 2020-06-26 08:26:26 +02:00
kamilritz 22274b1d30 Add const modifier 2020-06-26 08:26:26 +02:00
kamilritz 61c139ea95 Remove unused variable 2020-06-26 08:26:26 +02:00
kamilritz afd4f3f86b Fix typo 2020-06-26 08:26:26 +02:00
kamilritz a3706fdcef Make relative wind computation more compact 2020-06-26 08:26:26 +02:00
kamilritz b8f937666a Make mag_innov/-var a Matrix::Vector3f 2020-06-26 08:26:26 +02:00
Kamil Ritz 0ea7cd8360 Attempt to fix CI firmware build test 2020-06-26 07:38:25 +02:00
Daniel Agar 2927132954 clang-format set BreakBeforeBraces to Linux style
- this keeps things consistent with PX4/Firmware astyle
2020-06-25 13:23:52 -04:00
Benjamin Perseghetti 3302a6965d Add EOL for 1062 2020-06-25 12:59:10 -04:00
Benjamin Perseghetti eee82635be added EOL to mixer, changed tf-r1 to 1062 and to use properly named sitl mixer 2020-06-25 12:59:10 -04:00
Benjamin Perseghetti 165fdaa6c8 removed 1061 name collision, made rover mixing explicit to sitl 2020-06-25 12:59:10 -04:00
Benjamin Perseghetti e19ca62a0a fixes for R1 mixer https://github.com/PX4/sitl_gazebo/issues/533 2020-06-25 12:59:10 -04:00
RomanBapst 120f188ada rtl: do not use cone logic for vehicle flying as fixed wing
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-06-25 09:17:23 -04:00
sevenbill b96c62ed8b Optionalized build dependency on git
Signed-off-by: Bill Morris <bill@sevendof.com>
2020-06-25 08:56:26 -04:00
Bill Morris 794e6ec3a5 Enforce tabs via editorcofig 2020-06-25 08:55:21 -04:00
Julian Oes 620916e4c1 mavsdk_tests: add test back in
This failed with other frames but seems to pass with iris and
standard_vtol.
2020-06-24 10:44:56 -04:00
Julian Oes 5e21eb3b78 mavsdk_test: remove flaky tests
Tests for both of these models did not pass for me locally. Therefore,
I'm removing them for now. It's up to the stakeholders of these models
to add them again.
2020-06-24 10:44:56 -04:00
Daniel Agar 55808ed2f9 simulator: break out standalone battery simulator module
- this is a small step towards unifying SITL & HITL
2020-06-24 10:39:21 -04:00
JaeyoungLim ae4ed87a31 Simplify getting sim PID
Follow up of https://github.com/PX4/Firmware/pull/15206#pullrequestreview-436356707
2020-06-24 10:13:37 +02:00
PX4 BuildBot 6dd0932158 Update submodule ecl to latest Wed Jun 24 00:39:40 UTC 2020
- ecl in PX4/Firmware (fff83fdee69789ec9da259b564bbfe67585a4b5f): https://github.com/PX4/ecl/commit/a8bb8ea99fc92389a5cdd44cd7108416e0c49fb6
    - ecl current upstream: https://github.com/PX4/ecl/commit/e4b44f704bb641fa93bedc81734c5249fcd9ed42
    - Changes: https://github.com/PX4/ecl/compare/a8bb8ea99fc92389a5cdd44cd7108416e0c49fb6...e4b44f704bb641fa93bedc81734c5249fcd9ed42

    e4b44f7 2020-06-23 PX4 BuildBot - Update geo_lookup WMM  to latest Tue Jun 23 14:15:04 UTC 2020
4b746a3 2020-06-23 bresch - GPS Yaw: add consts and remove fusion starting message
2bafe9d 2020-06-22 bresch - GPS Yaw: wait to fuse at yaw at least once before declaring it faulty
51cd63d 2020-06-22 bresch - GPS Yaw: fall back to other yaw aiding source in case of bad data
fe2a9d3 2020-06-22 bresch - GPS Yaw: move isfinite checks in control.cpp
3c6790f 2020-06-22 bresch - GPS Yaw: Always reset Yaw when GPS Yaw fusion is starting
ff8b5ec 2020-06-21 kamilritz - Extract general functions into utils
fda30d8 2020-06-15 Daniel Agar - geo_lookup: expand latitude to +-80 degrees
109eca5 2020-06-15 Daniel Agar - geo_lookup: create simple python script to update tables
41b9e4f 2020-06-15 Daniel Agar - geo_lookup: move tables to separate file
2020-06-24 08:29:20 +02:00
JaeyoungLim 3ef852c8e3 sitl: enable spawning different vehicle types for multivehicle SITL in gazebo (#15147)
This can be run with the command `Toos/gazebo_multiple_sitl_run.sh -s plane:3,iris:1
2020-06-24 08:23:16 +02:00
Daniel Agar 27cf3c7c75 Jenkins hardware add mRo Ctrl Zero F7 2020-06-23 23:40:43 -04:00
JaeyoungLim 481b23c811 Use SIM_PID for gzserver, not gzmodel 2020-06-23 22:44:16 +01:00
Daniel Agar c25b2e11fe Github Actions start migrating Jenkins metadata (airframe, parameter, etc) jobs 2020-06-23 13:41:57 -04:00
Daniel Agar e6f6d39198 Tools/setup: ubuntu updates to sync with px4io/px4-dev-base container 2020-06-23 12:53:34 -04:00
Beat Küng fe9a971f0e logger: use subscription interval also in polling mode
Now that replay uses lockstep scheduling we don't need that work-around
anymore.
2020-06-23 11:53:55 -04:00
Beat Küng a3d1c94aa4 logger: reduce poll timeout to 20ms
Just to ensure even if the topic is not updated, logger will still update
regularly.
2020-06-23 11:53:55 -04:00
Beat Küng 157ef43e28 replay: use lockstep scheduler 2020-06-23 11:53:55 -04:00
Beat Küng 71dcf8d619 sitl: use lockstep components API
- avoids the need for ekf2_timestamp publications by q and lpe
- adds logger to the lockstep cycle and makes it poll on ekf2_timestamps
  or vehicle_attitude. This avoids dropped samples (required for replay).
2020-06-23 11:53:55 -04:00
Beat Küng 5378d1468f lockstep_scheduler: add generic lockstep component API
allows components to register and ensure the lockstep cycle waits for
all components to be updated.
2020-06-23 11:53:55 -04:00
Beat Küng 55d06241b3 fix unit tests: do not stub pthread_cond_wait
and fix the tests instead.
Some unit tests depend on pthread_cond_wait to work as expected.
2020-06-23 11:53:55 -04:00
Beat Küng 283453b3a5 px4-alias.sh_in: allow for spaces in 'set' alias
Required for expressions like:
set LOGGER_ARGS "${LOGGER_ARGS} -f"
2020-06-23 11:53:55 -04:00
Daniel Agar e46d605a49 Jenkins drop cppcheck and clang analyzer
- these only run in master and the output isn't really visible/known
2020-06-23 11:53:04 -04:00
Daniel Agar 4b45b70e7a Github Actions remove MacOS homebrew cache
- it's large and takes as much time saving/restoring the cache as it saves
2020-06-23 10:48:22 -04:00
PX4 BuildBot e4b44f704b Update geo_lookup WMM to latest Tue Jun 23 14:15:04 UTC 2020 2020-06-23 10:41:59 -04:00
Daniel Agar 5951b79fc4 Update submodule mavlink v2.0 to latest Tue Jun 23 13:30:26 UTC 2020
- mavlink v2.0 in PX4/Firmware (0568be40b9f89ae0f09f001d2ee0441dbcd70b68): https://github.com/mavlink/c_library_v2/commit/8c6d26ee990b7837197091fa9e33cfeeb226136f
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/be9923365f42dcece409de9467d263e56102e226
    - Changes: https://github.com/mavlink/c_library_v2/compare/8c6d26ee990b7837197091fa9e33cfeeb226136f...be9923365f42dcece409de9467d263e56102e226
2020-06-23 10:35:44 -04:00
Daniel Agar 32887193d6 systemcmds/tests: remove autodeclination test (moving to PX4/ecl) 2020-06-23 10:34:25 -04:00
Beat Küng bb36b4a63f {dshot,pwm_out}: allow mode_pwm4 for boards with 5 outputs
Required on durandal if camera triggering is enabled.
2020-06-23 09:32:13 -04:00
bresch 4b746a3fca GPS Yaw: add consts and remove fusion starting message
The fusion status is captured in the status flags; the message is
superfluous, uses flash space and can impact real-time performance
2020-06-23 08:43:48 +02:00
bresch 2bafe9df08 GPS Yaw: wait to fuse at yaw at least once before declaring it faulty
This fixes the cases where the yaw message from the GNSS receiver would
take more time than the vel/pos. The estimator should wait and not
immediately fall back to an other aiding source after 5sec.
If it never comes, it will never fall back, but this is ok since the
user wants to fly with GPS aiding an not with something else.
2020-06-23 08:43:48 +02:00
bresch 51cd63d626 GPS Yaw: fall back to other yaw aiding source in case of bad data
If the user selects GPS yaw fusion but that there is no GPS yaw data in
the GPS message or if the fusion is rejected for some time, the GPS yaw
data is declared faulty and the fusion is stopped to allow an other
source of yaw aiding to start.
2020-06-23 08:43:48 +02:00
bresch fe2a9d3018 GPS Yaw: move isfinite checks in control.cpp 2020-06-23 08:43:48 +02:00
bresch 3c6790f5d5 GPS Yaw: Always reset Yaw when GPS Yaw fusion is starting
Also avoid fusing fake mag data when an other source of yaw aiding
is active, even if in MAG_TYPE_NONE mode.
2020-06-23 08:43:48 +02:00
kamilritz ff8b5ec69d Extract general functions into utils 2020-06-23 08:18:34 +02:00
David Sidrane df73662d66 nxp_fmuk66-v3:Add Full networking support 2020-06-22 18:43:03 -04:00
Daniel Agar 7404e886fe Github Actions MacOS add homebrew caching 2020-06-22 15:42:14 -04:00
Daniel Agar 033c5d0110 Github Actions add MacOS build and fix Tools/setup/OSX.sh
- Tools/setup/OSX.sh wasn't installing px4-dev on fresh run
2020-06-22 15:23:29 -04:00
Daniel Agar 3b4a3d7d03 Github Actions add unit test coverage 2020-06-22 15:05:36 -04:00
Daniel Agar e1161e3f6f Github Actions don't allow the ecl analsysi script to fail the build 2020-06-22 14:54:12 -04:00
Daniel Agar 1d43ca5bea Github Actions limit checks to Ubuntu 20.04 2020-06-22 14:15:44 -04:00
Daniel Agar 5cd8c26cae Github Actions remove redundant VTOL standard mission 2020-06-22 14:00:12 -04:00
Daniel Agar b15ea156c8 move clang-tidy from Jenkins to Github Actions 2020-06-22 13:37:38 -04:00
Mirko Denecke 147fb0afa4 Hex/Proficnc CubeOrange: fix default config for IMU heating 2020-06-22 13:12:08 -04:00
Mirko Denecke d9f813a443 Hex/Proficnc CubeYellow: fix default config for IMU heating 2020-06-22 13:12:08 -04:00
Daniel Agar 43fdc770c7 mavsdk_tests: temporarily disable offboard position control test 2020-06-22 13:04:39 -04:00
TSC21 bc2b118e48 mavsdk_tests: add iris_dual_gps tests 2020-06-22 12:46:40 -04:00
Matthias Grob e9eae1bd76 Refactor: Name manual_control_setpoint the same way everywhere 2020-06-22 12:06:27 -04:00
Daniel Agar c6dd8bfcd6 imu/invensense/icm20649: minor cleanup to keep in sync with icm20948 2020-06-22 10:11:22 -04:00
Daniel Agar 4bcee8e13f magnetometers/akm: new standalone AKM AK8963 & AK09916 drivers 2020-06-22 10:11:22 -04:00
Daniel Agar 8c34f47b3d imu/invensense/mpu9250: sync with other recent invensense improvements
- clenaup ak8963 with simplifed setup and health check
2020-06-22 10:11:22 -04:00
Daniel Agar 22daa26955 msgs/sensor_mag: remove unused raw, add timestamp_asmple, shrink error count
- move mpu9250 sensitivity handling back to driver (this isn't common)
2020-06-22 10:11:22 -04:00
Daniel Agar d9102ce54c imu/invensense/icm20948: sync with other recent invensense improvements
- clenaup ak09916 with simplifed setup and health check
2020-06-22 10:11:22 -04:00
Daniel Agar fda30d8cec geo_lookup: expand latitude to +-80 degrees 2020-06-22 09:45:22 -04:00
Daniel Agar 109eca5200 geo_lookup: create simple python script to update tables 2020-06-22 09:45:22 -04:00
Daniel Agar 41b9e4f628 geo_lookup: move tables to separate file 2020-06-22 09:45:22 -04:00
Daniel Agar e50f92805b mavlink: mission minor whitespace fixes and initialization
- it's safer to zero any struct being send over mavlink to prevent
extension field surpries later
2020-06-21 11:26:02 -04:00
Daniel Agar 80c1f4e5e6 mavlink: send MISSION_CURRENT respect signed sequence number
- current_seq -1 indicates nothing currently active
2020-06-21 11:26:02 -04:00
JaeyoungLim d677b9460b Update sitl_gazebo 2020-06-21 11:31:03 +01:00
JaeyoungLim f54f03bd9d Add plane_catapult to matrix 2020-06-21 11:10:33 +01:00
JaeyoungLim 82a6047506 Update sitl_gazebo 2020-06-21 11:10:33 +01:00
JaeyoungLim 59c70a5811 Add plane_catapult test for testing hand/catapult launch for fw
This adds the plane_catapult model to the test for testing fw hand /catapult takeoff
2020-06-21 11:10:33 +01:00
Daniel Agar 3e95b28222 github actions don't allow bloaty output to fail compile job
The bloaty output is for monitoring and review, but shouldn't be allowed to fail the overall compile job if something goes wrong.
2020-06-21 01:22:21 -04:00
Daniel Agar b8d43b5a88 move Jenkins MAVROS SITL tests entirely to Github Actions 2020-06-21 00:01:35 -04:00
Daniel Agar c7e8957f2e Jenkins delete obsolete configurations 2020-06-20 22:17:16 -04:00
Daniel Agar 763a885dfe Jenkinsfile merge remaining 1st & 2nd stages 2020-06-20 21:07:34 -04:00
Daniel Agar b6292a1a2d posix rcS fix shellcheck SC2236 2020-06-20 20:42:09 -04:00
Daniel Agar 32c2064673 migrate Jenkinsfile checks to Github Actions 2020-06-20 20:42:09 -04:00
Daniel Agar 0daf712c3e SITL MAVROS tests move AddressSanitizer and Coverage variants to Github Actions 2020-06-20 20:00:03 -04:00
Daniel Agar c1fc638ac3 github actions use build type for ccache key and fix coverage check 2020-06-20 19:17:13 -04:00
Daniel Agar 34864cc704 github actions build and run emlid navio2 on hardware 2020-06-20 19:03:15 -04:00
Daniel Agar d927d80509 Jenkins hardware ignore nxp_fmuk66-v3 status failures
- this particular hardware on the test rack has a flaky console
2020-06-20 18:53:10 -04:00
Daniel Agar 5616914e75 start migrating MAVROS SITL tests to Github Actions 2020-06-20 18:25:24 -04:00
Daniel Agar 3092d9e1f9 github actions run SITL tests in parallel
- temporarily disable iris dual gps
2020-06-20 17:44:57 -04:00
Daniel Agar 37817dd0af github actions build and run tests as separate steps 2020-06-20 17:44:57 -04:00
Daniel Agar e0ce12ad27 github actions limit SITL tests to Ubuntu Focal 2020-06-20 17:44:57 -04:00
TSC21 6c558260e9 update submodule Tools/sitl_gazebo 2020-06-20 22:37:33 +01:00
TSC21 b3bbc351ca mavlink: DISTANCE_SENSOR: propagate signal_quality metric 2020-06-20 22:25:37 +01:00
Daniel Agar d34b5f86cc Jenkins compile keep in sync with Github Actions NuttX build
- jenkins is still responsible for master/beta/stable S3 uploads
2020-06-20 14:22:54 -04:00
Daniel Agar 19a125dacb github actions cleanup
- merge bloaty into regular NuttX builds
 - give SITL unique cache key
2020-06-20 14:19:12 -04:00
Daniel Agar 745e72e18d github actions delete "C/C++ CI"
- this was the original github actions test build that's been superseded by many others
2020-06-20 14:05:07 -04:00
Daniel Agar 3fd07cb1d5 delete circleci simple build example
- github actions is an easier replacement
2020-06-20 14:05:07 -04:00
Daniel Agar 7016660445 github actions update actions/cache@v1.1.0 -> actions/cache@v2 2020-06-20 13:31:57 -04:00
Daniel Agar 652036e29f github actions SITL tests upload logs to flight review on failure 2020-06-20 13:22:57 -04:00
Daniel Agar 32828c99fd github actions get ccache working 2020-06-20 13:18:06 -04:00
David Sidrane a641982ce7 Makefile:Create check_{px4,nxp,nuttx,linux} targets from .github/workflows
Apply the principles of third normal form for check targets.
   The list of check is not sourced from the yaml files in
   .github/workflows
2020-06-20 11:24:39 -04:00
PX4 BuildBot 76d3e2374b Update submodule v2.0 to latest Sat Jun 20 00:38:42 UTC 2020
- v2.0 in PX4/Firmware (657b674b96200f5c306fed684bef8621c5e0c853): https://github.com/mavlink/c_library_v2/commit/205ffa4132107b728d62e101c05249895339a572
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8c6d26ee990b7837197091fa9e33cfeeb226136f
    - Changes: https://github.com/mavlink/c_library_v2/compare/205ffa4132107b728d62e101c05249895339a572...8c6d26ee990b7837197091fa9e33cfeeb226136f

    8c6d26ee 2020-06-19 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/62a73ec05bed94ab5726ea93bd98abb41bee2204
2020-06-20 12:35:00 +01:00
Lum f3e5a42ccd Remove mixer for virtual elevator and add pitch control mixer to elevons 2020-06-20 12:17:54 +01:00
David Sidrane 28a695dce4 px4_fmu-v6x:imu/bmi088->imu/bosch/bmi088 2020-06-19 19:13:20 -04:00
David Sidrane 07accb8403 Added px4_fmuv6x to .github workflows 2020-06-19 19:13:20 -04:00
Daniel Agar 6dad4a3359 SITL VTOL tiltrotor disable airspeed 2020-06-18 22:25:35 -04:00
Daniel Agar b1e360e332 simulator: only use temperature if baro updated 2020-06-18 21:34:58 -04:00
PX4 BuildBot 0d68e1316e Update submodule sitl_gazebo to latest Fri Jun 19 00:38:14 UTC 2020
- sitl_gazebo in PX4/Firmware (6b343c1f5e): https://github.com/PX4/sitl_gazebo/commit/97106007eb5c934b902a5329afb55b45e94d5063
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/846190e8a33063a62997f2ad18c9de5c5233d9f9
    - Changes: https://github.com/PX4/sitl_gazebo/compare/97106007eb5c934b902a5329afb55b45e94d5063...846190e8a33063a62997f2ad18c9de5c5233d9f9

    846190e 2020-06-18 Daniel Agar - cmake set build type and C/C++ standard
1cd16d7 2020-06-18 JaeyoungLim - Set GPS utc time to use utc time (#522)
2020-06-18 21:01:48 -04:00
Daniel Agar 9cd1f27fb5 Update submodule mavlink v2.0 to latest Fri Jun 19 00:38:19 UTC 2020
- mavlink v2.0 in PX4/Firmware (e975515ddeec2aef87185dfcd2fb118f10b9695f): https://github.com/mavlink/c_library_v2/commit/f69d7331cae381b8886ec070abccb53d76d30173
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/205ffa4132107b728d62e101c05249895339a572
    - Changes: https://github.com/mavlink/c_library_v2/compare/f69d7331cae381b8886ec070abccb53d76d30173...205ffa4132107b728d62e101c05249895339a572
2020-06-18 20:51:06 -04:00
Daniel Agar 3f19335f08 drivers/imu/invensense: FIFO_MAX_SAMPLES include sensor_accel_fifo in sample size limit 2020-06-18 20:49:15 -04:00
Daniel Agar 0eea814ca1 decrease all wq:SPIx stack 2020-06-18 20:49:15 -04:00
Daniel Agar 56c86e77bd replace FIFOSample -> sensor_accel_fifo/sensor_gyro_fifo 2020-06-18 20:49:15 -04:00
Daniel Agar 6b343c1f5e cmake: sitl_gazebo build limit to 2 cores (-j2) 2020-06-18 20:10:25 -04:00
Daniel Agar 87250ca47f move ecl L1, TECS, and data validator to PX4/Firmware 2020-06-18 19:26:30 -04:00
JacobCrabill 78650bdbab UAVCAN: Fix STM32H7 message RAM for FDCAN2 2020-06-18 18:55:21 -04:00
JacobCrabill 62799d9aca UAVCAN: Add STM32H7 FDCAN Driver
Took the existing uavcan_stm32 driver and replaced all bxCAN code with
the equivalent for FDCAN following ST Reference Manual RM0433.

Note: There is still a bug somewhere in regards to FDCAN2 (probably
incorrect setup of the message RAM? Not sure.)  But (FD)CAN1 is fully
functional (Classic CAN only, no CAN-FD).

Also TODO: Configure CAN filters.  Right now there are no filters; all
incoming messages are accepted.
2020-06-18 18:55:21 -04:00
JacobCrabill 08d2226043 CubeOrange: Move console back to CONS (UART7) 2020-06-18 18:55:21 -04:00
Daniel Agar a8bb8ea99f move TECS, L1, and validation to PX4/Firmware 2020-06-18 18:48:36 -04:00
Daniel Agar 0a63df25a6 create fake_magnetometer "driver" to publish magnetic field in body frame
- this can be helpful for orienting new unknown magnetometers
 - requires attitude and GPS position
2020-06-18 16:21:30 -04:00
Daniel Agar 6afa7e4368 mavlink: HIL_SENSOR receiver respect fields_updated
- keep in sync with the simulator module
2020-06-18 09:54:00 -04:00
Daniel Agar be2081a2a2 wq:attitude_ctrl small stack increase 2020-06-18 01:36:29 -04:00
Daniel Agar f55ed0992c accel and gyro calibration refactor and cleanup
- remove all remaining IOCTLs for accel and gyro and handle all calibration entirely in sensors module with parameters
 - sensor_accel and sensor_gyro are now always raw sensor data
 - calibration procedures no longer need to first clear existing values before starting
 - temperature calibration (TC) remove all scale (SCL) parameters
    - gyro and baro scale are completely unused
    - regular accel calibration scale can be used (CAL_ACC*_xSCALE) instead of TC scale
2020-06-17 22:50:09 -04:00
Matthias Grob 588d551098 mc_pos_control_params: set the ground slow down speed to the default maximum speed
This results in no change with defaults but a slow down to 10m/s if the maxiumum speed is set higher than that.
2020-06-17 11:47:41 -04:00
Matthias Grob bcd771d832 Update ecl and adapt to new AlphaFilter location 2020-06-17 09:29:35 -04:00
hanyang2013212 4209101333 Update uuv_att_control.cpp
Modified the thruster value to be accessed from attitude setpoint message instead of parameters
2020-06-16 19:27:54 -04:00
TSC21 24ae8f601d mavsdk_tests: add iris_dual_gps to the test pipeline 2020-06-16 13:03:44 +01:00
TSC21 28c4446eae init.d-posix: if750a: add GPS blending 2020-06-16 09:57:05 +01:00
TSC21 6add0fff7f add iris_dual_gps config and the possibility of testing GPS blending through simulation 2020-06-16 09:57:05 +01:00
JaeyoungLim 39b803a9dc Remove gps noise multiplier parameter (#15108)
This removes the gps noise multiplier parameter that can be set on the firmware side
2020-06-15 22:32:32 +02:00
Matthias Grob a296fe7d8c Move AlphaFilter out of EKF 2020-06-15 13:07:51 -04:00
Matthias Grob daec5ae608 AlphaFilter: replace isfinite with positive denominator check 2020-06-15 13:07:51 -04:00
Daniel Agar 6c78c62d9d BMI088: accel get max rate from PX4Accelerometer 2020-06-15 10:19:14 -04:00
Daniel Agar e819f99064 new Bosch BMI055 IMU driver using FIFOs and DRDY
- accel & gyro FIFOs enabled
 - FIFO watermark on data ready interrupt
 - sensor side filtering completely disabled
 - gyro now respects `IMU_GYRO_RATEMAX` (up to 2 kHz)
 - saves a few % cpu (at default rate)
2020-06-15 10:19:14 -04:00
Daniel Agar daf75e40eb drivers/imu/invensense: simplify gyro range configuration 2020-06-15 09:36:21 -04:00
Matthias Grob 1efc8c27eb FlightTaskAuto: check yawspeed saturation before constraining
to avoid possible numerical float equality issues.
2020-06-15 10:40:48 +02:00
bresch 12449c23c5 FlightTaskAuto: add missing wrap_pi and do not override yaw_sp_aligned 2020-06-15 10:40:48 +02:00
bresch 7a401e5ca3 FlightTaskAuto: Create artificial yaw speed sp for feedforward 2020-06-15 10:40:48 +02:00
Matthias Grob c165327c9f INA226: revise read() and collect() error handling
to allow negative currents and simplify unnecessary redundancy.
2020-06-15 10:26:10 +02:00
Matthias Grob da9feeb699 INA226: refactor spacing and return codes 2020-06-15 10:26:10 +02:00
dino d98cf2f719 Fixe for wrong perf counter increment in ina226 driver 2020-06-15 10:26:10 +02:00
Jonathan Hahn e6bec31890 add GNU screen to NUTTX dependencies in ubuntu setup 2020-06-15 10:16:08 +02:00
JaeyoungLim 58ca389634 Fix tiltrotor range to use normalized actuator inputs in SITL (#14751)
This adds fixes to use the normalized actuator setpoints for simulating tiltrotor in sitl
2020-06-15 08:51:26 +02:00
PX4 BuildBot eee87cd605 Update submodule ecl to latest Mon Jun 15 00:38:18 UTC 2020
- ecl in PX4/Firmware (adc733932566f0198a8892c3cebe9e5c8345e391): https://github.com/PX4/ecl/commit/38cbd1a18211f1702b403915ab37d5e22626432f
    - ecl current upstream: https://github.com/PX4/ecl/commit/e835bc34c4c84b526941db418f5c9d00d35cbe12
    - Changes: https://github.com/PX4/ecl/compare/38cbd1a18211f1702b403915ab37d5e22626432f...e835bc34c4c84b526941db418f5c9d00d35cbe12

    e835bc3 2020-06-06 Kamil Ritz - remove inline modifier
74780aa 2020-06-06 Kamil Ritz - Refactor gps fusion commencing
2020-06-14 22:14:14 -04:00
PX4 BuildBot f89dac03f3 Update submodule matrix to latest Sun Jun 14 12:39:39 UTC 2020
- matrix in PX4/Firmware (18f14ebefad29873ddeef6396c7c3a728c90b996): https://github.com/PX4/Matrix/commit/2bee0d078cb6b0e6205d17145899ccbb15dbe380
    - matrix current upstream: https://github.com/PX4/Matrix/commit/674bd99f3b9284e1088d100d765b3a09cf0c192f
    - Changes: https://github.com/PX4/Matrix/compare/2bee0d078cb6b0e6205d17145899ccbb15dbe380...674bd99f3b9284e1088d100d765b3a09cf0c192f

    674bd99 2020-06-11 kamilritz - Add operator* and operator/ for slice with type
38b3acc 2020-06-11 Nicolas MARTIN - fix conjugate_inversed comment
2020-06-14 11:18:00 -04:00
Kamil Ritz e835bc34c4 remove inline modifier 2020-06-12 15:11:16 +02:00
Kamil Ritz 74780aa512 Refactor gps fusion commencing 2020-06-12 15:11:16 +02:00
kamilritz 674bd99f3b Add operator* and operator/ for slice with type 2020-06-12 11:34:09 +02:00
CUAVcaijie 1c02c37955 boards/cuav/x7pro: RC03 RM3100 moved from SPI1 to SPI2 2020-06-11 21:38:55 -04:00
CUAVcaijie dee56e78aa boards/cuav/x7pro: fix X7 LED SAFETY configuration
* keep the naming identical to the pinout
2020-06-11 21:32:53 -04:00
Beat Küng ab060cdab0 bmi088 accel: use IMU_GYRO_RATEMAX to configure sampling rate (with 800 max)
Primarily for logging the fifo topic @400 Hz.
2020-06-11 12:25:13 -04:00
Beat Küng 16323256bc gyro calibration: add median filter to motion detection
The bmi088 has a bit more noise and tends to trigger it.
This improves reobustness against noise, and increases the threshold
slightly.
2020-06-11 12:25:13 -04:00
Daniel Agar 13e34b32e6 new Bosch BMI088 IMU driver using FIFOs and DRDY 2020-06-11 12:25:13 -04:00
CUAVcaijie b6ec00c079 boards/cuav/x7pro: Fix HIPOWER enabled state 2020-06-11 12:05:37 -04:00
CUAVcaijie 9270b26c63 IO's RGB status light is modified to PWM breathing light 2020-06-11 12:02:49 -04:00
CUAVcaijie 67554acf9e x7 add led_pwm driver 2020-06-11 12:02:49 -04:00
CUAVcaijie 8aed6b2240 STM32H7 adds led_pwm driver 2020-06-11 12:02:49 -04:00
Nicolas MARTIN 38b3acce96 fix conjugate_inversed comment 2020-06-11 16:17:28 +02:00
Julian Oes be4e253e63 mavsdk_tests: bump library from v0.24.0 to v0.27.0 2020-06-11 15:18:57 +02:00
Ricardo Marques a4927606ed Fix SENS_EN_SF1XX max value
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-06-10 14:37:23 -04:00
Matthias Grob 7ff25373e4 powerCheck: add power redundancy check
A parameter spcifies what the redundancy level for 5V rail supply
needs to be and a check makes sure that it's available before
taking off such that the user is aware of a broken or disconnected
redundant power module.
2020-06-10 10:13:51 -04:00
CUAVcaijie 37fb4dbb64 Enable safety button 2020-06-10 09:14:25 -04:00
Mirko Denecke 10afcdce2e Hex/Proficnc Cube Yellow: align firmware location in flash memory to be able to use the default bootloader 2020-06-10 09:08:11 -04:00
Daniel Agar 6f6efd60b7 boards: centralize optional external I2C sensor start
- configured with new parameter SENS_EXT_I2C_PRB
2020-06-10 09:04:13 -04:00
PX4 BuildBot 13d983d305 Update submodule ecl to latest Tue Jun 9 20:35:44 UTC 2020
- ecl in PX4/Firmware (af11fa456d7282e324d662a452c71ae85ee59d9b): https://github.com/PX4/ecl/commit/b3dc06d0cb572931000705ac04807eeae5e2401a
    - ecl current upstream: https://github.com/PX4/ecl/commit/38cbd1a18211f1702b403915ab37d5e22626432f
    - Changes: https://github.com/PX4/ecl/compare/b3dc06d0cb572931000705ac04807eeae5e2401a...38cbd1a18211f1702b403915ab37d5e22626432f

    38cbd1a 2020-06-09 Matthias Grob - AlphaFilter: prevent setParameters division by zero
b7d54b5 2020-06-04 RomanBapst - gps: fixed filter initialization bug around gps - do not gps reference altitude to zero in case gps checks pass before the filter initialized - reset the filtered gps position and position derivative filters in case we are in air or there is movement on the ground
8f533cb 2020-06-03 bresch - terrain_estimator: fix sensor aid selection
821e1fa 2020-06-03 bresch - terrain_estimator: add unit tests
aa96fa6 2020-06-03 bresch - Random style fixes in the code
5d6a72e 2020-06-03 bresch - sensor_simulator: add possibility to set GPS position rate
2020-06-09 17:21:49 -04:00
PX4 BuildBot 3f995efae9 Update submodule sitl_gazebo to latest Tue Jun 9 20:35:27 UTC 2020
- sitl_gazebo in PX4/Firmware (0fcb873636): https://github.com/PX4/sitl_gazebo/commit/3ba325b00f5e9c7a0645c6af3937f394dc806c9f
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/e2bf962b5e46b89093696338794a201c7fc990ba
    - Changes: https://github.com/PX4/sitl_gazebo/compare/3ba325b00f5e9c7a0645c6af3937f394dc806c9f...e2bf962b5e46b89093696338794a201c7fc990ba

    e2bf962 2020-06-08 JaeyoungLim - Fix typhoon h480 internals (#512)
2020-06-09 17:21:17 -04:00
Daniel Agar b8dda62b4d Update submodule mavlink v2.0 to latest Tue Jun 9 20:35:34 UTC 2020
- mavlink v2.0 in PX4/Firmware (febd2d855e4e25e38ff9222ccca7134f612ecb23): https://github.com/mavlink/c_library_v2/commit/5f1d5d8338ff15108bd11137fc6970282f369246
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/f69d7331cae381b8886ec070abccb53d76d30173
    - Changes: https://github.com/mavlink/c_library_v2/compare/5f1d5d8338ff15108bd11137fc6970282f369246...f69d7331cae381b8886ec070abccb53d76d30173
2020-06-09 17:20:56 -04:00
Matthias Grob 38cbd1a182 AlphaFilter: prevent setParameters division by zero 2020-06-09 16:32:24 -04:00
Beat Küng 0fcb873636 logger: add raw FIFO high-rate IMU logging profiles
Minimum requirement to use: set IMU_GYRO_RATEMAX to 400.

Logging rate of a single topic: ~85 KB/s. If multiple should be logged,
a really good SD card has to be used.
2020-06-09 09:58:15 -04:00
Beat Küng 590b65ebfb Revert "kakutef7 spi: disable IMU drdy"
This reverts commit 2069576a6e.

PR #15004 fixed the problem.
2020-06-09 09:11:51 -04:00
David Sidrane 82b87adfb3 px4_fmu-v6x:default phy is LAN8742 2020-06-09 08:14:22 +02:00
David Sidrane bcc505db3c Jenkinsfile-compile Change name to px4_fmu-v5x_p2_base_phy_LAN8742Ai 2020-06-09 08:12:44 +02:00
David Sidrane 4e014a0aed github:workflows Change name to px4_fmu-v5x_p2_base_phy_LAN8742Ai 2020-06-09 08:12:44 +02:00
David Sidrane 0bb8d7a065 px4_fmu-v5x p4 (-06) default to suporting LAN8742Ai 2020-06-09 08:12:44 +02:00
Daniel Agar 5e7d2e830d boards: delete old board.h boilerplate 2020-06-08 19:10:33 -04:00
Daniel Agar a83e75ee10 ROMFS: microsd prevent MacOS and Ubuntu trash and indexing files 2020-06-08 16:57:28 -04:00
Daniel Agar 5507c15bdc boards: move rgbled_pwm startup to appropriate boards 2020-06-08 16:49:46 -04:00
RomanBapst b7d54b5477 gps: fixed filter initialization bug around gps
- do not gps reference altitude to zero in case gps checks pass before the
filter initialized
- reset the filtered gps position and position derivative filters in case
we are in air or there is movement on the ground

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-06-08 16:19:38 +02:00
Mirko Denecke cf02b88d51 Initial Hex/Proficnc Cube Yellow support 2020-06-08 08:22:40 -04:00
PX4 BuildBot ee32ded222 Update submodule sitl_gazebo to latest Mon Jun 8 00:39:29 UTC 2020
- sitl_gazebo in PX4/Firmware (39a33a35ae): https://github.com/PX4/sitl_gazebo/commit/20e8dbe115028721b1918069dc7afd9145c7483c
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/3ba325b00f5e9c7a0645c6af3937f394dc806c9f
    - Changes: https://github.com/PX4/sitl_gazebo/compare/20e8dbe115028721b1918069dc7afd9145c7483c...3ba325b00f5e9c7a0645c6af3937f394dc806c9f

    3ba325b 2020-06-03 Julian Oes - geotagged_images: actually report number of images
92453d1 2020-05-21 JaeyoungLim - Cleanup
9aef888 2020-05-21 JaeyoungLim - Translate yaw to point at the right direction
2020-06-08 08:19:56 -04:00
Matthias Grob c36c8d161c MulticopterLandDetector: remove arbitrary maximum altitude based on battery percentage 2020-06-08 10:41:19 +02:00
Daniel Agar 39a33a35ae sensors/vehicle_imu: pause computing publication update rate 2020-06-07 11:23:22 -04:00
Daniel Agar 786733cd1a sensors/vehicle_imu: only publish status at 10 Hz (or on change) 2020-06-07 11:23:22 -04:00
Daniel Agar 8890ea23b7 sensors/vehicle_imu: only apply corrections once before publication 2020-06-07 11:23:22 -04:00
RomanBapst af5c48b869 navigator: always make sure that we set target lat/lon for fixed wing
takeoff

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-06-05 21:52:12 -04:00
Daniel Agar 5286ed3a11 imu/invensense/mpu6000: minor improvements
- at start perform full sensor signal path reset and wait for max time
 - issue full sensor reset on any error
 - only allocate DRDY perf counter if GPIO is available
 - allow running faster than accel ODR (safe limit of 2 kHz in place)
2020-06-05 21:28:37 -04:00
Daniel Agar 01f4486b32 imu/invensense/icm20689: minor improvements and potential fixes
- perform full sensor signal path reset and wait for max time (100 ms)
 - issue full sensor reset on any error
 - always read FIFO count before transfersj
 - only allocate drdy perf counter if GPIO is available
2020-06-05 21:28:37 -04:00
Daniel Agar ff3b040d3c imu/invensense/icm20608g: minor improvements and potential fixes
- perform full sensor signal path reset and wait for max time (100 ms)
 - issue full sensor reset on any error
 - always read FIFO count before transfersj
 - only allocate drdy perf counter if GPIO is available
2020-06-05 21:28:37 -04:00
David Sidrane 626895eadc px4_fmu-v5x:Wrong Bit was being tested for mode.
@TSC21  - this will fix you build
2020-06-05 18:59:48 -04:00
bresch 8f533cb878 terrain_estimator: fix sensor aid selection 2020-06-05 20:44:30 +02:00
bresch 821e1fa8fc terrain_estimator: add unit tests 2020-06-05 20:44:30 +02:00
bresch aa96fa6d9e Random style fixes in the code 2020-06-05 20:44:30 +02:00
bresch 5d6a72e383 sensor_simulator: add possibility to set GPS position rate
one can set the position rate = velocity to obtain consistent gps data
2020-06-05 20:44:30 +02:00
Matthias Grob b607630ee7 battery_params: relax maximum for capacity thresholds 2020-06-05 09:55:24 -04:00
Daniel Agar a1b0634258 Jenkins HIL test fix sensor timeouts
- stop logger when running tests
 - decrease test priorities
 - hrt test don't flush output
2020-06-04 22:09:07 -04:00
PX4 BuildBot b5a5e8e45b Update submodule ecl to latest Fri Jun 5 00:39:52 UTC 2020
- ecl in PX4/Firmware (d4fcf77c546c31c4c0b813e5034c66581b3b2877): https://github.com/PX4/ecl/commit/c91c78dcf67dee85225ada6621b6fd19ec008fd5
    - ecl current upstream: https://github.com/PX4/ecl/commit/b3dc06d0cb572931000705ac04807eeae5e2401a
    - Changes: https://github.com/PX4/ecl/compare/c91c78dcf67dee85225ada6621b6fd19ec008fd5...b3dc06d0cb572931000705ac04807eeae5e2401a

    b3dc06d 2020-05-25 Roman Bapst - Added height above ground source bitmask indicating which sensor is used
62e15cb 2020-06-03 bresch - sensor_simulator: set IMU rate to 200Hz as this is the new value used in the Firmware
6126c19 2020-06-03 bresch - sensor_simulator: update EKF at IMU rate
59183f7 2020-06-02 Paul Riseborough - EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors (#831)
d0ddda8 2020-05-29 Matthias Grob - tecs: fix typo init(i)alized
86fc94b 2020-05-24 Kamil Ritz - Remove tilt align from position innovation check
b024cdd 2020-05-25 Mathieu Bresciani - unit test: check that the accel bias is only learned when observable (#827)
2020-06-04 21:15:59 -04:00
Daniel Agar 31fe7af454 selectively increase optimization -Os -> -O2
- targetted at modules/libraries that benefit without drastically
increasing flash usage
 - ignored on boards with CONSTRAINED_FLASH set
2020-06-04 20:59:52 -04:00
Beat Küng 7f73b9a131 kopis2: update tuning and filter parameters 2020-06-04 20:58:40 -04:00
Beat Küng fa567e93d8 4050_generic_250: update default filter parameters
A racer should have have to use a filter of 30Hz.
2020-06-04 20:58:40 -04:00
Beat Küng 32642b78bf gyro filtering: apply IMU_GYRO_CUTOFF also to D-term
Greatly improves the noise on the d-term on a Kopis 2. Apparently the order
of filtering vs differentiating matters.

Also disables the DGYRO filter by default, as the D-term now already has
a default filter of 30Hz applied.
2020-06-04 20:58:40 -04:00
Beat Küng 2069576a6e kakutef7 spi: disable IMU drdy
It cause bad transfers on a Kopis 2, though not on a bench KakuteF7 unit.
Not sure if this is a single case.

nsh> icm20689 status
INFO  [SPI_I2C] Running on SPI Bus 4
INFO  [icm20689] FIFO empty interval: 1000 us (1000.000 Hz)
icm20689: transfer: 46375 events, 6790549us elapsed, 146.43us avg, min 54us max 1709us 81.564us rms
icm20689: bad register: 0 events
icm20689: bad transfer: 4284 events
icm20689: FIFO empty: 0 events
icm20689: FIFO overflow: 1 events
icm20689: FIFO reset: 2 events
icm20689: DRDY interval: 375585 events, 124.93us avg, min 99us max 250us 2.322us rms
INFO  [drivers_accelerometer] /dev/accel device instance: 0
INFO  [drivers_accelerometer] calibration scale: 1.02174 0.99918 0.98338
INFO  [drivers_accelerometer] calibration offset: 0.76124 -0.00725 -0.16437
INFO  [drivers_gyroscope] /dev/gyro device instance: 0
INFO  [drivers_gyroscope] calibration offset: -0.08153 0.02432 0.00050
2020-06-04 20:58:40 -04:00
Beat Küng 5ce006dd8b SYS_HITL: reserve value -1 for external HITL 2020-06-04 20:58:40 -04:00
Beat Küng 867453eada posix rcS: always set IMU_INTEG_RATE
If this is wrong, the startup just hangs.
2020-06-04 20:58:40 -04:00
Daniel Agar d1c12ac7cf boards: mRo Control Zero fix IMU rotations 2020-06-04 11:34:31 -04:00
Mirko Denecke 4a637a5c54 Hex CubeOrange: enable DMA for SPI1 2020-06-04 10:25:52 -04:00
Mirko Denecke 61a2dd8ec6 Hex CubeOrange: limit slew rate so IMU works with DMA 2020-06-04 10:25:52 -04:00
Roman Bapst b3dc06d0cb Added height above ground source bitmask indicating which sensor is used 2020-06-04 09:44:19 +02:00
Daniel Agar f6aa29a10f Jenkins: SITL temporarily disable failing offboard tests 2020-06-03 21:59:31 -04:00
Daniel Agar 8eecaf5cfb Jenkins temporarily disable Catkin and Colcon builds 2020-06-03 21:37:59 -04:00
Mirko Denecke b4e39f91a4 Hex CubeOrange: no LSE available 2020-06-03 21:09:50 -04:00
Mirko Denecke 3e4179cc88 Hex CubeOrange: fix comment calc of PLL 2020-06-03 21:09:50 -04:00
David Sidrane 920355e851 bmi088 remove dump of registers that causes driver to fail 2020-06-03 21:09:08 -04:00
David Sidrane 29d4d7c9fe Update NuttX with stm32h7 sdmmc backport 2020-06-03 12:51:25 -04:00
Julian Oes c37ba26a2f mavlink: remove outdated comment 2020-06-03 17:57:12 +02:00
Julian Oes 2c5b8a9491 mavlink: handle stream not updated
Our answer does not just depend on whether the stream was found but
whether we actually were able to send out an update.
2020-06-03 17:57:12 +02:00
Julian Oes efb10a2fbc mavlink: address review comments 2020-06-03 17:57:12 +02:00
Julian Oes 7d1b451e39 mavlink: add missing copyright header, pragma once 2020-06-03 17:57:12 +02:00
Julian Oes afafc541d8 mavlink: use send() instead of using reset flag
I think we can just directly use send() and don't need to use the
workaround of resetting the send flag to trigger one send.

Also, we don't need to override it if we don't need to check any params.
2020-06-03 17:57:12 +02:00
Julian Oes b54c44bd37 mavlink: don't send streams with interval 0
We only need to send them immediately if the interval is < 0 meaning
unlimited.
2020-06-03 17:57:12 +02:00
Julian Oes 3815e608f4 mavlink: create stream if needed and trigger once
Instead of creating the stream and deleting it again, we now create it
with a rate of 0 and trigger it once.

This should avoid heap fragmentation by continous allocations.
2020-06-03 17:57:12 +02:00
Julian Oes acdc15e2cd mavlink: create stream even if rate is 0
This allows to send a message exactly once if requested.
2020-06-03 17:57:12 +02:00
Julian Oes bb032a9c46 mavlink: remove incorrect outdated comment
Default is -2, so the comments seems wrong.
2020-06-03 17:57:12 +02:00
Julian Oes 80f91b0f6a mavlink: add support for legacy requests back in 2020-06-03 17:57:12 +02:00
Julian Oes b4cbd93b7c mavlink: new args to request message, omit param1
We can omit param1 because it is already used for the message_id, so
it's basically duplicate information and won't get used anywhere.
2020-06-03 17:57:12 +02:00
Julian Oes 27b6c209e0 mavlink: Move request message logic to function 2020-06-03 17:57:12 +02:00
David Jablonski 62bf0a6cf8 added streams to mavlink messages 2020-06-03 17:57:12 +02:00
David Jablonski edbe7e3ef0 added FLIGHT_INFORMATION stream 2020-06-03 17:57:12 +02:00
David Jablonski e1f4a70c0e added AUTOPILOT_VERSION and PROTOCOL_VERSION streams 2020-06-03 17:57:12 +02:00
David Jablonski aef2a5755e moving storage_information stream to separate file 2020-06-03 17:57:12 +02:00
David Jablonski 9ce9fe38de use storage_id 1 2020-06-03 17:57:12 +02:00
David Jablonski fd09198c7e implemented MAV_CMD_REQUEST_MESSAGE for STORAGE_INFORMATION 2020-06-03 17:57:12 +02:00
bresch 62e15cbacf sensor_simulator: set IMU rate to 200Hz as this is the new value
used in the Firmware
2020-06-03 17:09:20 +02:00
bresch 6126c190b2 sensor_simulator: update EKF at IMU rate
This is how it is also done in ekf2_main. Otherwise, this leads to
multiple integration of the same IMU data due to asynchronous sensor
updates triggering a prediction step between IMU updates.

Fix unit tests that broke because of this fix
2020-06-03 17:09:20 +02:00
Julian Oes 25bfcf0497 README: remove experimental/legacy boards 2020-06-03 10:13:43 -04:00
Julian Oes 08e1532bd0 README: fix 404 link 2020-06-03 10:13:43 -04:00
Daniel Agar 6c96748e54 boards: pixhawk mini add unused MPU9250 CS & DRDY pins 2020-06-03 04:03:27 -07:00
Daniel Agar 9e509a4bec navigator: RTL minor whitespace and style fixes 2020-06-02 22:08:55 -04:00
Daniel Agar aca6be8b5c navigator: RTL destination throttle dataman access 2020-06-02 22:08:55 -04:00
David Sidrane 7aac0c5ac3 platforms/nuttx/NuttX/nuttx back ports for H7 2020-06-02 13:02:51 -04:00
David Sidrane 73bb18a053 px4_fmu-v6x: Limit Slew rate So IMU works with DMA
The defualt in NuttX is OSPEED of 50Mhz. This is realy a slew
   rate control. At the default high slew rate the overshoot was
   .7 Volts. On a ICM20649 this was causing the device to output
   garbage. All 0s

   N.B. A passive scope or Logic analyser's probes load will mask
   the failure. Useed a FET probe to verify the issue.
2020-06-02 13:02:51 -04:00
David Sidrane 5d90c31632 Added PX4 FmuV6X 2020-06-02 13:02:51 -04:00
David Sidrane 9beca65600 stm32_common:board_mcu_version expand to include STM32H7[4|5]
Todate I have not fould a way to differentiate a 74 from a 75.
   as all parts map to Device ID 0x450: STM32H742, STM32H743/753
   and STM32H750.

   One the CPU is fully differentiate in Nuttx, this can be a
   #ifdef.
2020-06-02 13:02:51 -04:00
David Sidrane 19cf2f47ac stm32h7:adc read & clear EOC on init 2020-06-02 13:02:51 -04:00
David Sidrane bd1f69fb76 stm32_common:board_hw_rev_ver Support 16 Bit ADC 2020-06-02 13:02:51 -04:00
David Sidrane 2c9a522f71 stm32_common:adc read & clear EOC on init 2020-06-02 13:02:51 -04:00
David Sidrane 37c1837ceb PX4:stm32_common/ToneAlarmInterfacePWM.cpp Extend for STM32H7 2020-06-02 13:02:51 -04:00
Daniel Agar 11585dfb67 ekf2: decrease default GPS horizontal velocity noise 2020-06-02 08:18:12 -04:00
Julian Oes 8d47b36f1e Makefile: fix j for clang-tidy calls 2020-06-02 13:17:37 +02:00
Julian Oes 6afdc2c376 build: use ninja default for -jN unless set
It makes sense to trust ninja on selecting the number of cores. This is
also sensible in order not to change existing setups.
2020-06-02 13:17:37 +02:00
Julian Oes 0ec9287457 build: actually pass number of cores to ninja
Without this ninja supposedely builds with the default of the system
which is 10 for my 4 core, 8 thread CPU. With this argument, you can now
actually set it.

This has the benefit that the Gazebo plugins can be built with less
cores in order to avoid running out of RAM.
2020-06-02 13:17:37 +02:00
Julian Oes 340e651d97 Build: properly read -j argument
The previous check for the -j argument was not actually working.
Therefore, the build always used 4 cores, unless when building with
ninja when presumably the ninja default was used.
2020-06-02 13:17:37 +02:00
Dusan Zivkovic 08fdc90175 mission: keep current heading if close to ROI while heading sp is invalid 2020-06-02 12:04:23 +02:00
Paul Riseborough 59183f70ba EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors (#831)
* EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors

* Update EKF/ekf_helper.cpp

* EKF: Fix comment typo

Co-authored-by: Roman Bapst <bapstroman@gmail.com>

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
Co-authored-by: Roman Bapst <bapstroman@gmail.com>
2020-06-02 17:42:54 +10:00
Daniel Agar a9dacae57e sensors/vehicle_angular_velocity: limit scheduling to IMU_GYRO_RATEMAX 2020-06-01 15:08:50 -04:00
Daniel Agar 96f043cd62 sensors/vehicle_acceleration: limit scheduling to IMU_INTEG_RATE 2020-06-01 15:08:50 -04:00
Daniel Agar b36845330e ms5611: prevent starting as ms5607 type on ms5611 hardware
- an ms5611 using the ms5607 calculations will return impossibly high barometric pressure (~2000 mbar)
2020-06-01 11:31:55 -04:00
Daniel Agar b139f48fef sensors: throttle mavlink emergency log messages
- in rare situations sending these messages multiple times in close succession can actually cause a loop of additional sensor timeouts
2020-06-01 11:25:12 -04:00
Daniel Agar 51a36f0b61 sensors/vehicle_imu: improve initial sensor interval monitoring
- add perf counters for monitoring
2020-05-31 21:41:37 -04:00
Daniel Agar e34bdb4be9 move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu 
 - sensors: voted_sensors_update now consumes vehicle_imu
 - delete sensor_accel_integrated, sensor_gyro_integrated
 - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status
 - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
2020-05-30 11:07:54 -04:00
Mirko Denecke 86cd1d0802 Hex CubeOrange: fix comment for TONE_ALARM_CHANNEL pin 2020-05-29 23:44:17 +01:00
Mirko Denecke b5ff82bccc Hex CubeOrange: remove CAN Silence Silent mode pins 2020-05-29 23:44:17 +01:00
Mirko Denecke fd600d7eed Hex CubeOrange: remove LSM303D 2020-05-29 23:44:17 +01:00
Matthias Grob d0ddda8917 tecs: fix typo init(i)alized 2020-05-29 20:03:22 +03:00
Beat Küng 43279f18ba bmp388: fix variable shadowing warning 2020-05-29 09:54:18 -04:00
Julian Oes 9b2527549b mavsdk_tests: relax timeout for offboard goto
This probably makes sense because we ask for more accuracy, so it will
take longer to reach a position.
2020-05-29 11:46:14 +02:00
Julian Oes bc1960ef2b mavsdk_tests: make offboard tests more accurate
By making the acceptance radius smaller we should potentially also be
more accurate while landing and fail less.
2020-05-29 11:46:14 +02:00
Julian Oes dd95498379 mavsdk_tests: at normal speed RTL can take a while 2020-05-29 11:46:14 +02:00
Julian Oes 76b7d462ae mavsdk_tests: relax requirement to land at home
Hopefully, this will fix CI.
2020-05-29 11:46:14 +02:00
Julian Oes d43e4d88c3 mavsdk_tests: wait until home is set properly
Otherwise we might have NaN stored as home.
2020-05-29 11:46:14 +02:00
Julian Oes 73dda496ef mavsdk_tests: more verbose output on fail 2020-05-29 11:46:14 +02:00
Julian Oes 160aca9207 mavsdk_tests: more debug info 2020-05-29 11:46:14 +02:00
Julian Oes 1a25cdf7b2 mavsdk_tests: remove intermittently failing tests
We can bring them back when they work consistently.
2020-05-29 11:46:14 +02:00
Julian Oes a1bf1bdd9d mavsdk_tests: prevent exception if log_fd is None 2020-05-29 11:46:14 +02:00
Julian Oes 262341455b mavsdk_tests: map stderr to stdout
That way we don't need to collect it separately.
2020-05-29 11:46:14 +02:00
Julian Oes eba1cf08f8 mavsdk_tests: also use sleep workaround locally
However, don't sleep as long as in CI.
2020-05-29 11:46:14 +02:00
Julian Oes 1cb706c411 px4_log: flush each line
Without this fix all PX4 output is buffered and presented at the very
end of a scripted MAVSDK test which makes the log hard to read.
2020-05-29 11:46:14 +02:00
Julian Oes 76750fc8a6 mavsdk_tests: collect buffered up stdout output
Somehow only subprocess.stdout.readline() works at a time. In order not
to miss out on some of the stdout output, we need to collect it all at
the end. Also, we can stop using readline() for processes that have quit
already.
2020-05-29 11:46:14 +02:00
Dusan Zivkovic 1f57d63503 precland: set the previous position setpoint to invalid, in the position setpoint triplet 2020-05-29 09:18:43 +02:00
Dusan Zivkovic 7eee9deb4c mission: handle precision landing inactivation properly 2020-05-29 09:11:01 +02:00
Dusan Zivkovic a758ea1220 RTL: enable precision landing at the end of RTL, configurable by parameter 2020-05-29 09:11:01 +02:00
Dusan Zivkovic ed9e504695 precland: add a method to check if precland is activated 2020-05-29 09:11:01 +02:00
TSC21 ad4d4287fa mavlink odometry: properly set the frame id fields 2020-05-28 15:45:13 +01:00
TSC21 562d57fee8 mavlink: fix odometry frames of reference setup 2020-05-28 15:45:13 +01:00
Daniel Agar 0ec48cfef3 ekf2: increase default baro noise 2 -> 3.5 m 2020-05-28 08:35:07 -04:00
Beat Küng 07b39ec7c0 bmp388: some cleanup
- avoid unnecessary sensor readout cycle during init
- check status register for data ready
2020-05-28 08:34:38 -04:00
Hamish Willee 14853539e3 CBRK_FLIGHTTERM: Does not affect takeoff failure safety detection (#14972)
* CBRK_FLIGHTTERM: Clarify does not affect takeoff failure safety detection

* FD_FAIL_P FD_FAIL_R - clarify apply on takeoff

* Improve param text

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-05-28 08:30:48 +02:00
Daniel Agar 05856c1029 ROMFS: holybro s500 decrease filter defaults 2020-05-27 12:25:51 -04:00
David Sidrane 46276e11b5 NuttX with stm32h7 backports 2020-05-27 10:56:32 -04:00
Pandacoolcool 664c79742b navigator_main.cpp: don't reset wv enable status (#14901)
* navigator_main.cpp: don't reset wv enable status

* fix review
2020-05-27 15:49:04 +03:00
Daniel Agar c0bf5cc94c systemcmds/gpio: add module documentation 2020-05-27 07:35:27 +02:00
Daniel Agar 094fe269dc systemcmds/gpio: move usage description to bottom and fix formatting 2020-05-27 07:35:27 +02:00
Matthias Grob d92e66863a mc_pos_control: migrate MPC_*_VEL_* parameter to acceleration scaling
Before #14212 the velocity control gains used in the multicopter
position controller were defined as a scale between velocity error in
one axis (or it's integral and derivative respectively) and the unit
thrust vector. The problem with this is that the normalization of the
unit thrust vector changes per vehicle or even vehicle configuration
as 0 and 100% thrust get a different physical response. That's why
the gains are now defined as scale between velocity error
(integral/derivative) and the output acceleration in m/s².
2020-05-26 14:44:41 +02:00
Matthias Grob e482081f91 mc_att_control: grab attitude setpoint before processing estimate reset 2020-05-26 15:07:45 +03:00
Matthias Grob 12ee75700a mc_att_control: adapt setpoint on estimation reset
There was a gap where the attitude controller already used the estimate
with a new reference but the last known attitude setpoint was still based
on the old reference. This leads to a big glitch on reset because until
the attitude setpoint gets updated the error is wrong and as large as the
attitude delta of the reset.
2020-05-26 15:07:45 +03:00
Matthias Grob cf658494ad mc_attitude_control: keep last attitude setpoint as member
The last attitude setpoint that is known from the position controller
is now kept inside the AttitudeControl class such that we don't
keep the whole vehicle_attitude_setpoint struct and always copy over from
there to run an update step.
2020-05-26 15:07:45 +03:00
RomanBapst bd154bf33c FixedWingAttitudeControl: removed parachute from gimbal control group
- parachute is handled separately based on flight termination in px4io

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-05-25 11:44:35 -04:00
Daniel Agar ade8a13203 commander: CMD_COMPONENT_ARM_DISARM don't block disarm if maybe_landed 2020-05-25 11:43:14 -04:00
Kamil Ritz 86fc94b75a Remove tilt align from position innovation check 2020-05-25 11:12:24 +02:00
Mathieu Bresciani b024cdd282 unit test: check that the accel bias is only learned when observable (#827) 2020-05-25 11:10:01 +02:00
Matthias Grob 7b41ce4711 simulator: rename parameter variable according to convention 2020-05-25 11:04:24 +02:00
Matthias Grob 88c21337fa Make all battery sensor drivers report their sample interval
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
Matthias Grob 4dc9ca69ab battery: use AlphaFilter class
Replace the filtered value calculations with calls to the class.
This will allow time abstraction.
2020-05-25 11:04:24 +02:00
BazookaJoe1900 cd8850b43b mavlink: bring class LogListHelper into MavlinkLogHandler (#14452)
This is in order to avoid dynamic allocation of LogListHelper when downloading logs.
2020-05-25 10:08:25 +02:00
Daniel Agar 1c0925a189 Hex/Proficnc Cube Orange support
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Jacob Crabill <jacob@flyvoly.com>
2020-05-23 18:31:46 -04:00
Daniel Agar e577c3b610 fxos8701cq: sample at nyquist rate, drop duplicates, throttle temperature updates 2020-05-23 13:23:03 -04:00
Daniel Agar e73380f726 fxas21002c: sample at nyquist rate, drop duplicates, throttle temperature updates 2020-05-23 13:23:03 -04:00
PX4 BuildBot 10d67efd13 Update submodule ecl to latest Sat May 23 12:39:43 UTC 2020
- ecl in PX4/Firmware (1d49243ee21930dc1c0ba1f08a4c03284c4713c1): https://github.com/PX4/ecl/commit/600240d95f6dc08f82e5310b13e9406c4df0f00f
    - ecl current upstream: https://github.com/PX4/ecl/commit/c91c78dcf67dee85225ada6621b6fd19ec008fd5
    - Changes: https://github.com/PX4/ecl/compare/600240d95f6dc08f82e5310b13e9406c4df0f00f...c91c78dcf67dee85225ada6621b6fd19ec008fd5

    c91c78d 2020-05-21 Paul Riseborough - EKF: Allow reset of yaw to EKF-GSF later in flight
2020-05-23 13:18:36 -04:00
Daniel Agar 8ee0a5d328 px4_work_queue: minor status changes
- only record start time on first run rather than init
 - increase name length
 - round average interval to nearest microsecond
 - basic formatting consistency (google style guide)
2020-05-23 11:51:23 -04:00
Julian Kent dd9c82eb20 systemcmds/gpio: Add nsh command to manipulate/read GPIO
* Add basic GPIO test app for R/W on pins from nuttx shell
* Add gpio command to fmu-v3 and fmu-v4
* Sanitize gpio commands by pin configs, --force to override
2020-05-23 11:47:40 -04:00
JaeyoungLim b5e23f544e Tune down solo attitude rate controller
This removes visible oscillations of the vehicle
2020-05-23 11:46:16 -04:00
David Sidrane 04db5391fc px4_fmu-v5x:Fix PG11 assignment 2020-05-23 11:46:00 -04:00
David Sidrane b2153c7f2f px4_fmu-v5x:PG6 is free GPIO 2020-05-23 11:46:00 -04:00
David Sidrane 7f84ed57dd px4_fmu-v5x:Using SE050 not A71CH 2020-05-23 11:46:00 -04:00
David Sidrane 637578b8be px4_fmu-v5x:Correct trace connector description 2020-05-23 11:46:00 -04:00
David Sidrane ef664f3c23 stm32_common:board_hw_rev_ver Fix printing of REV/VER = 10 2020-05-23 11:45:24 -04:00
David Sidrane 0139acacfd adc:Restore ADC test's usefulness 2020-05-23 11:43:04 -04:00
Dusan Zivkovic b7ebdab7fd mavlink_receiver: handle LANDING_TARGET message: publish irlock_report when landing target position invalid 2020-05-23 11:42:21 -04:00
Paul Riseborough c91c78dcf6 EKF: Allow reset of yaw to EKF-GSF later in flight 2020-05-22 13:05:10 +03:00
Daniel Agar 951969ba00 drivers/imu/invensense: new ICM20948 driver on SPI with AK09916 mag 2020-05-22 00:09:30 -04:00
Silvan Fuhrer 504794eddc VTOL: reject transition command in certain flight modes 2020-05-20 15:54:31 -04:00
PX4 BuildBot a4c77056f6 Update submodule ecl to latest Wed May 20 16:46:07 UTC 2020
- ecl in PX4/Firmware (73de85e258590461b6fe14668df8de1fc9c54cb7): https://github.com/PX4/ecl/commit/24f2e60b7eff664d0035d5f75f410073be28d894
    - ecl current upstream: https://github.com/PX4/ecl/commit/600240d95f6dc08f82e5310b13e9406c4df0f00f
    - Changes: https://github.com/PX4/ecl/compare/24f2e60b7eff664d0035d5f75f410073be28d894...600240d95f6dc08f82e5310b13e9406c4df0f00f

    600240d 2020-05-20 Daniel Agar - EKF: resetGpsAntYaw() fix double promotion
39c09b8 2020-05-19 kamilritz - add basic gps yaw fusion test
21f49c2 2020-05-16 Kamil Ritz - Use resetQuatStateYaw during gps yaw reset
7f21364 2020-05-20 Carl Olsson - EKF: use initial wind uncertainty with no airspeed sensor (#823)
bf78044 2020-05-20 kritz - EKF: fix initialization of local position validity 2 (#820)
716caa5 2020-05-19 kritz - Refactor position resets (#822)
37d9cef 2020-05-19 Mathieu Bresciani - ekf: disable xy accel bias learning before takeoff (#818)
9788c3b 2020-05-15 Mathieu Bresciani - ekf: split accel bias learning in independant xyz components (#817)
19bbea7 2020-05-14 Paul Riseborough - Fix GPS altitude not fused if GPS checks fail and GPS is primary height source (#813)
2020-05-20 15:48:27 -04:00
Matthias Grob 27586db93e rc_update: remove obsolete RC filtering 2020-05-20 19:30:19 +02:00
Matthias Grob 17d4fd064f FlightTaskManualAltitude: add an optional stick tilt input filter 2020-05-20 19:30:19 +02:00
Matthias Grob 1a3c692e4e mc_att_control: add an optional stick tilt input filter 2020-05-20 19:30:19 +02:00
Daniel Agar 600240d95f EKF: resetGpsAntYaw() fix double promotion 2020-05-20 12:44:18 -04:00
Beat Küng 6c16a29d26 mavlink: remove unneeded TIMESYNC stream from MAVLINK_MODE_EXTVISION
set in MAVLINK_MODE_EXTVISIONMIN by fallthrough
2020-05-20 09:12:50 +02:00
Beat Küng 9c6f42a867 v5x defconfig: increase TELEM2 UART TX buffer size to 3000
Required for very high-rate log streaming @3MBit baudrate.
2020-05-20 09:12:50 +02:00
Beat Küng 107ab16e96 mavlink: reorder streams to optimize latency
In particular this together with the previous commit reduces timesync
round-trip time spikes by more than 10ms, and makes it generally more
stable.

Other streams are reordered according to onboard priority.
2020-05-20 09:12:50 +02:00
Beat Küng fa8def903d mavlink: move ulog handling after stream updates
reduces latency for the mavlink streams
2020-05-20 09:12:50 +02:00
Beat Küng d0ad308eda serial_test: fix build for linux 2020-05-20 09:12:50 +02:00
David Jablonski e409ec0038 install bc for all simulations 2020-05-20 09:04:41 +02:00
Beat Küng 982d2a3180 ubuntu.sh: minor simplifications 2020-05-20 08:57:37 +02:00
kamilritz 39c09b8092 add basic gps yaw fusion test 2020-05-20 08:52:52 +02:00
Kamil Ritz 21f49c22dc Use resetQuatStateYaw during gps yaw reset 2020-05-20 08:52:52 +02:00
Carl Olsson 7f21364844 EKF: use initial wind uncertainty with no airspeed sensor (#823) 2020-05-20 08:38:58 +02:00
kritz bf78044bcd EKF: fix initialization of local position validity 2 (#820)
The `_deadreckon_time_exceeded` flag is used in
`local_position_is_valid()`. This means that
`_params.valid_timeout_max` after startup, in my observed case 5
seconds, the local position switche from valid to invalid and then after
a while back to valid again.

With this fix, the local position is flagged invalid from boot and gets validated after the first aiding event.

Co-authored-by: Julian Oes <julian@oes.ch>
2020-05-20 08:24:23 +02:00
kritz 716caa5168 Refactor position resets (#822) 2020-05-19 21:53:46 +02:00
Julian Oes f2e2ac5def gps: workaround spurious GCC 10.1 warning
This is a workaround for a warning in GCC 10.1:
src/drivers/gps/devices/src/ubx.cpp:520:8: error: writing 4 bytes into a
region of size 0 [-Werror=stringop-overflow=]

Also see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91707
2020-05-19 10:10:19 -04:00
Julian Oes 44be9d5568 controllib: fix implicit cast warn with clang 10 2020-05-19 09:58:43 -04:00
Michal Stasiak 4f82f028e7 airspeed_calibration: Fix FD leak 2020-05-19 13:48:43 +02:00
Mathieu Bresciani 37d9cef262 ekf: disable xy accel bias learning before takeoff (#818)
* ekf: disable xy accel bias learning before takeoff

As those biases are usually poorly observable before takeoff because
they are almost perpendicular to the gravity vector, learning is often
driven by noise and numerical issues. This results in incorrect bias
learning before takeoff when the drone is static on ground for a long
period of time.

* ekf: update unit test and change indicator
2020-05-19 18:02:40 +10:00
Julian Oes 793eb82153 navigator: allow mission items with same position
This reverts the addition of a check against mission items that have the
same position. This breaks existing MAVSDK implementations where a
LOITER_TIME item is set right after a WAYPOINT with the same
coordinates. It is an interim hack to allow the vehicle to hold still
during a photo is captured.

This leaves the check in place for gates where we need to be able to
calculate the direction between gate and waypoint.
2020-05-19 08:51:21 +02:00
Matthias Grob a605444462 board_comnmon: indent BOARDBRICK_VALID_LIST to correct level
to avoid other people getting confused as well.
2020-05-18 10:52:26 -04:00
Julian Oes d4de0e1219 Tools: fix ubuntu setup script
This fixes the error:
line 149: [: missing `]'
2020-05-18 11:53:26 +02:00
Silvan Fuhrer b5cc3c4ef5 mavlink_messages: send EAS instead of IAS (#14858)
Send equivalent_airspeed_m_s instead of indicated_airspeed_m_s for HUD on groundstation.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-05-18 10:34:39 +02:00
JaeyoungLim e670d5f1e2 Fix interactive shell with roslaunch (#14919)
Fixes the interactive shell that was not working previously when starting px4 sitl with roslaunch
2020-05-17 23:39:02 +02:00
JacobCrabill 328477f0be UavcanNode: Add sensor_type to range_sensor pub. 2020-05-15 16:45:52 +01:00
Mathieu Bresciani 9788c3bdf2 ekf: split accel bias learning in independant xyz components (#817)
This is a non-functional change required to select accel bias estimation
per axis selection. The intent is then to disable the learning before
takeoff of the components that are poorly observable.
2020-05-15 09:20:27 +02:00
Paul Riseborough 19bbea75c0 Fix GPS altitude not fused if GPS checks fail and GPS is primary height source (#813)
* EKF: Fix failure to select a height sensor

* EKF: Remove unnecessary check and improve documentation
2020-05-14 19:26:16 +10:00
bresch 76de299302 Offboard temp cal: add support for 3rd baro 2020-05-14 09:16:37 +02:00
bresch a103c4305b Offboard temp cal: check topic instance
Not checking the id can lead to sensor ordering swap
2020-05-14 09:16:37 +02:00
Matthias Grob 22cdf80293 i2c_spi_buses.h: work around astyle version inconsistency 2020-05-14 08:32:07 +02:00
Matthias Grob 03bafd5581 powerCheck: make 5V warning threshold 0.1V lower
Because of warnings on every flight on setups without
any need for concern. Some even high quality supply voltage regulators
that are rated for 5V can with tolerances and load get lower than 4.9V.
2020-05-13 11:37:20 -04:00
ealdaz c96b5246ff Improved Hold behaviour
Added local position as a valid source of position
2020-05-13 13:08:41 +02:00
kritz 3897030c6f Support odometry velocity in body and local frame (#14703)
* Update submodule ECL

* increase lower bound on EVV param
2020-05-13 12:43:02 +02:00
kritz 24f2e60b7e Reduce stored strings, to save flash space (#815) 2020-05-13 08:09:26 +02:00
kritz 98801ad17b Support vision velocity expressed in body frame too (#708)
* Support vision velocity expressed in body frame

* Use switch statement for vision velocity frame

* Robustify vision velocity frame test

* Increase lower bound on vision velocity noise to 0.05 m/s
2020-05-12 16:03:35 +02:00
Hamish Willee 8804dae480 Ubuntu.sh - report Ubuntu 20.04 in setup 2020-05-12 13:13:36 +02:00
Daniel Agar 05886e053f mavlink_log_info: always print to console and merge with mavlink_and_console_log_info 2020-05-12 08:53:51 +02:00
kritz c3de452e8e Remove duplicate code during vision yaw reset (#810) 2020-05-12 08:44:39 +02:00
Kamil Ritz b40adf3dec Refactor velocity resets 2020-05-12 08:05:32 +02:00
PX4 BuildBot b933557f56 Update submodule ecl to latest Tue May 12 00:39:54 UTC 2020
- ecl in PX4/Firmware (286bf4f0b911fcc040788117ea79c432f6a95a83): https://github.com/PX4/ecl/commit/97b437233e6aad5ddb8a4511697a38ced7bc9b87
    - ecl current upstream: https://github.com/PX4/ecl/commit/03191847f9c162dedc2cb45ff775b75cbc9c8b36
    - Changes: https://github.com/PX4/ecl/compare/97b437233e6aad5ddb8a4511697a38ced7bc9b87...03191847f9c162dedc2cb45ff775b75cbc9c8b36

    0319184 2020-05-11 kritz - Fix ev_pos_obs_var(1) entry (#809)
440383f 2020-05-09 Kamil Ritz - Increase matrix library usage and remove white line
2020-05-11 22:11:19 -04:00
斯东Stone c07b687753 Set Power Monitor to a Neutral Position for PX4 Vision
Reference manual in box, and Holybro's website.
2020-05-11 14:27:03 -04:00
Daniel Agar b461066ac5 bmi055/bmi088: remove TIMER_REDUCTION, sample at Nyquist rate 2020-05-11 12:59:34 -04:00
Daniel Agar 19b2d7fe9a bmi088: fix accel schedule interval 2020-05-11 12:59:34 -04:00
Daniel Agar 08d65280f1 bmi055: fix accel schedule interval 2020-05-11 12:59:34 -04:00
Daniel Agar 56211864b8 bmi088: accel & gyro don't publish duplicated reads 2020-05-11 12:59:34 -04:00
Daniel Agar e0fc404f91 bmi055: gyro don't publish duplicates 2020-05-11 12:59:34 -04:00
Daniel Agar c5cbc7725d msg: timestamp_sample print elapsed from timestamp 2020-05-11 12:58:52 -04:00
kritz 03191847f9 Fix ev_pos_obs_var(1) entry (#809) 2020-05-11 10:44:05 +02:00
Kamil Ritz 440383f039 Increase matrix library usage and remove white line 2020-05-11 09:09:52 +02:00
Daniel Agar 2bbdef205e sensors/vehicle_angular_velocity: don't remove bias twice 2020-05-10 15:30:37 -04:00
Daniel Agar ec2cd3b1be sensors: use sensor_gyro timestamp_sample for sensor_combined timestamp
The timestamp actually used by ekf2 is the sensor_combined timestamp, so we should be setting it with the actual data sample timestamp, rather than the aggregated sensors topic publication metadata.

Later the sensor_combined message will be replaced with vehicle_imu that carries a separate publication timestamp and raw sample timestamp.
2020-05-10 15:24:32 -04:00
PX4 BuildBot 49981627dd Update submodule ecl to latest Sun May 10 12:39:42 UTC 2020
- ecl in PX4/Firmware (43bf631832ab836534f2197c286c1fd380872625): https://github.com/PX4/ecl/commit/12835b999e756ef631111c4fdd0ac1c72d68694d
    - ecl current upstream: https://github.com/PX4/ecl/commit/97b437233e6aad5ddb8a4511697a38ced7bc9b87
    - Changes: https://github.com/PX4/ecl/compare/12835b999e756ef631111c4fdd0ac1c72d68694d...97b437233e6aad5ddb8a4511697a38ced7bc9b87

    97b4372 2020-05-08 bresch - ekf: remove unused function
26d4fbc 2020-05-08 bresch - EKF: reduce scope of variable and remove redeclaration of member
edc8a88 2020-05-08 bresch - yaw_fusion: remove useless initialization
75c49b2 2020-05-08 bresch - ekf_helper: fuse double if
0e3bf28 2020-05-08 bresch - EKFGSF_yaw: cleanup initialization of member variables
2020-05-10 11:51:31 -04:00
Daniel Agar d53bb581c2 navigator: check _navigation_mode_array before run 2020-05-09 11:46:39 -04:00
Daniel Agar da186877c9 gps: only use injected data if copy successful 2020-05-09 11:46:39 -04:00
Samuel Garcin b12a655c5b Notch filter Direct Form I implementation that support dynamic change of frequencies
* New NotchFilter methods ahead of RPMFilter implementation.
 * Added Direct Form I implementation that support dynamic change of frequencies.
 * Added update method to update frequency on an existing filter.
 * Added setCoefficients method to easily and efficiently create clones of a filter.
 * LowSide, HighSide, Onnotch and array tests testing the applyDF1 method.
2020-05-08 12:00:27 -04:00
bresch 97b437233e ekf: remove unused function 2020-05-08 16:55:23 +02:00
bresch 26d4fbc000 EKF: reduce scope of variable and remove redeclaration of member 2020-05-08 16:55:23 +02:00
bresch edc8a88c24 yaw_fusion: remove useless initialization 2020-05-08 16:55:23 +02:00
bresch 75c49b2082 ekf_helper: fuse double if 2020-05-08 16:55:23 +02:00
bresch 0e3bf2872c EKFGSF_yaw: cleanup initialization of member variables 2020-05-08 16:55:23 +02:00
Silvan Fuhrer 0c75385395 replace IAS with EAS in FW attitude controller (#14868)
The EAS is the calibrated airspeed corrected with a scaling factor to account for sensor error/placement of pitot.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-05-08 10:46:24 +02:00
Daniel Agar 678c3fe8e4 boards: px4_fmu-v5_optimized don't build all mags 2020-05-07 15:21:15 -04:00
Daniel Agar 1cce549b2b boards: holybro_durandal-v1_stackcheck don't build all mags 2020-05-07 15:21:15 -04:00
Daniel Agar 8d48e49ef9 cmake build lis2mdl with all magnetometers 2020-05-07 15:21:15 -04:00
Beat Küng 7c4b5a03f6 drivers: add lis2mdl mag driver 2020-05-07 15:21:15 -04:00
Daniel Agar 6d846143dc pwm_out: update pwm outputs up to twice as fast as actual pwm frequency
- this is done to minimize real end-to-end latency
 - actual pulse width only updated for next period regardless of output module
 - add cycle interval perf counter
2020-05-07 13:18:09 -04:00
Daniel Agar aa380f351f uORB: SubscriptionInterval last update shift forward with interval 2020-05-07 13:18:09 -04:00
Daniel Agar 297e4dd589 Jenkins hardware uORB top print all once 2020-05-07 09:31:15 +02:00
Daniel Agar 7cf8a7ca64 uORB top readd initial clear screen 2020-05-07 09:31:15 +02:00
Daniel Agar a2d170d850 uORB: top output improvements
- sleep slightly longer than 1s to capture 1 Hz topics
 - round msg rate calculation
 - add topic size to outpu
 - by default only print topics with subscribers
 - clear previous output (past cursor)
2020-05-07 09:31:15 +02:00
Daniel Agar 41660c3550 commander: update EKF accel & gyro bias arming limits
- these should have been rescaled when the ecl/EKF filter update period changed from 8 ms -> 10 ms
2020-05-07 01:21:47 -04:00
PX4 BuildBot fa64c3862d Update submodule matrix to latest Thu May 7 00:38:16 UTC 2020
- matrix in PX4/Firmware (b14143229d5aa79e060c2bf65a2eb35f36b7a38c): https://github.com/PX4/Matrix/commit/d613055462bcbeacfd188cbd53de56c1dbc7b94d
    - matrix current upstream: https://github.com/PX4/Matrix/commit/2bee0d078cb6b0e6205d17145899ccbb15dbe380
    - Changes: https://github.com/PX4/Matrix/compare/d613055462bcbeacfd188cbd53de56c1dbc7b94d...2bee0d078cb6b0e6205d17145899ccbb15dbe380

    2bee0d0 2020-05-06 Matthias Grob - Quaternion: refactor multiplication to matrix multiplication style
2020-05-06 22:27:07 -04:00
Daniel Agar 7207301e56 simulator: temperature only updated with baro 2020-05-06 15:34:21 -04:00
Daniel Agar 9963bb6c40 parameters: lock shutdown earlier in param_save_default()
- this ensures the parameter file is closed properly before shutdown
2020-05-06 13:53:54 -04:00
Daniel Agar 10b289b43c commander: only report manual control lost if found once 2020-05-06 13:53:54 -04:00
Daniel Agar 7bb256f4b7 commander: skip continuous preflight check if calibrating 2020-05-06 13:53:54 -04:00
Daniel Agar 6705ac3e3b commander: reject PREFLIGHT_CALIBRATION and PREFLIGHT_STORAGE if armed or shutting down 2020-05-06 13:53:54 -04:00
Daniel Agar 04113b4d57 commander: changes when USB connected
- skip avionics rail voltage check when USB connected
 - skip forced reboot on USB disconnect if circuit breaker set
 - avionics voltage preflight check don't silently fail if system_power unavailble
     - explicitly set supply check circuit breaker (CBRK_SUPPLY_CHK)
2020-05-06 13:53:54 -04:00
Daniel Agar 746a8f5cf9 commander: reboot/shutdown usability fixes
- always check with state machine before reboot/shutdown
 - respect BOARD_HAS_POWER_CONTROL (shutdown from command, low battery, power button)
 - px4_shutdown_request add optional delay and always execute from HPWORK
 - px4_shutdown_request split out px4_reboot_request
2020-05-06 13:53:54 -04:00
Silvan Fuhrer 45ebbb895a Airspeed Selector: do not run it within the first 2s after system boot
This is to prevent a wrong (false positive) failure detection of the airspeed
shortly after system boot due to delays in driver and/or estimator startup (seen in SITL).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-05-06 12:46:22 -04:00
Daniel Agar 604258ec71 Jenkins: hardware rack show df, mount, sensor_combined, vehicle_imu per board 2020-05-06 10:51:59 -04:00
Beat Küng 8d722ac74b bmm150: add self-test 2020-05-06 09:37:56 -04:00
Beat Küng 71b942392d bmm150: cleanup, slightly increase data accuracy
- increased REP_XY and REP_Z: improves accuracy a bit, while increasing
  measurement time (still allows to go to 50Hz, previous max was 100Hz)
- avoid extra transfer in measure()
- extend regdump output
- general code style cleanup
2020-05-06 09:37:56 -04:00
Beat Küng 1175c08829 bmm150: more explicit data conversion & reduce to 30Hz
- 30Hz is the sensors max update rate in continous mode
  (though not in forced mode as we are using it)
- 30Hz allows to increase the quality of the measurements
2020-05-06 09:37:56 -04:00
Daniel Agar b5e25c2218 sensors: checkFailover() remove verbose failure messages
- in certain circumstances this additional logging can actually cause
further timeouts and failure
2020-05-06 09:31:09 -04:00
Daniel Agar 29f4fca7bf sensors: failover don't print remaining disabled sensors 2020-05-06 09:31:09 -04:00
Daniel Agar 692aaada31 sensors: refresh parameters on sensor init 2020-05-06 09:31:09 -04:00
Daniel Agar cb180427cd sensors: inconsistency checks explicitly skip disabled 2020-05-06 09:31:09 -04:00
Matthias Grob 2bee0d078c Quaternion: refactor multiplication to matrix multiplication style
Most often the multiplication in convention descriptions and papers is
described in matrix multiplication style like this:
q · p := Q(q)p

Q(q) :=
[q0 −q1 −q2 −q3]
[q1 q0 −q3 q2]
[q2 q3 q0 −q1]
[q3 −q2 q1 q0]

I'm just rearanging the terms such that it's easily comparable with
these definitions additional to it being clearly described by
documenting we use the hamilton convention.
2020-05-06 13:17:02 +02:00
kamilritz 5bd0df422d Speed up mavsdk sitl tests 2020-05-06 09:25:03 +02:00
kamilritz af1a445031 Vision test can be speed up 2020-05-06 09:25:03 +02:00
Daniel Agar 2a2d9e9eba logger: keep typical log path within a single mavlink message 2020-05-06 08:31:40 +02:00
PX4 BuildBot 495dc7f8d0 Update submodule sitl_gazebo to latest Wed May 6 00:44:20 UTC 2020
- sitl_gazebo in PX4/Firmware (ca998c1822): https://github.com/PX4/sitl_gazebo/commit/d76ac7f9f9813fd52acf0b9f344edbf72d3b4406
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2736a9134d7fed0cae7b7836d4370f9a4dfef439
    - Changes: https://github.com/PX4/sitl_gazebo/compare/d76ac7f9f9813fd52acf0b9f344edbf72d3b4406...2736a9134d7fed0cae7b7836d4370f9a4dfef439

    2736a91 2020-05-05 JaeyoungLim - Add aion_robitcs_r1_rover model (#394)
2020-05-05 23:31:55 -04:00
PX4 BuildBot ce0e531d45 Update submodule ecl to latest Wed May 6 00:44:34 UTC 2020
- ecl in PX4/Firmware (476a51f32c96fe886edb70f7c7e0bf15f7ec67ad): https://github.com/PX4/ecl/commit/cda74868976d0f806d821960e71f58d0b2c40051
    - ecl current upstream: https://github.com/PX4/ecl/commit/12835b999e756ef631111c4fdd0ac1c72d68694d
    - Changes: https://github.com/PX4/ecl/compare/cda74868976d0f806d821960e71f58d0b2c40051...12835b999e756ef631111c4fdd0ac1c72d68694d

    12835b9 2020-05-01 Daniel Agar - cmake update CXX standard 11 -> 14
2020-05-05 23:31:23 -04:00
Daniel Agar ca998c1822 IMU: parameterize IMU integration time (IMU_INTEG_RATE)
- default integration rate now 200 Hz (5000 us interval)
 - set update rate for all drivers and simulators using PX4Accelerometer/PX4Gyroscope
2020-05-05 20:34:09 -04:00
Daniel Agar 682aa700bb px4_work_queue: increase wq:attitude_ctrl stack 2020-05-05 12:53:18 -04:00
JaeyoungLim b10cbd2892 Fix shibang of r1_rover airframe config
The shibang was missing in the previous commit where this file was added
2020-05-05 10:01:26 -04:00
kritz 33dc0fd146 Add vision velocity integration test (#14818) 2020-05-05 11:14:30 +02:00
JaeyoungLim cae28cd59a Add aion robotics r1 rover sitl target (#14652)
This adds a sitl target and aiframe configs for the r1_rover, which is a differential rover example for SITL rover. The model is based on the aion robotics r1 rover
2020-05-05 11:07:02 +02:00
Matthias Grob cdf37ca557 PositionControl: deconflict hover thrust estimator, acceleration control
- Avoid constantly adjusting the velocity gains with the HTE
- Make sure the hover thrust integral update doesn't break
  even though its unit is acceleration and not unit thrust anymore

We need to convert the velocity gains to not contain/depend on the
hover thrust. In horizontal direction it doesn't make sense to scale
them with the hover thrust and in vertical direction the adjustments are
already done in the acceleration to collective thrust conversion.
2020-05-04 22:17:56 +02:00
Daniel Agar 466b5db36f uORB::Publication improvements and cleanup (#14784)
- create common uORB::PublicationBase
 - uORB::PublicationQueued types are now type aliases
 - ORB_PRIO use enum type everywhere to avoid accidental misuse
 - PX4Accelerometer/PX4Gyroscope/etc driver libs explicitly advertise on construction, unadvertise on destruction. This is a workaround for any potential issues that might appear when accel/gyro cdev and uORB indexing doesn't align.
2020-05-04 11:09:30 -04:00
Matthias Grob 8e2c52a31a mc_pos_control: suppress vertical acceleration feed-forward during takeoff ramp
Because the takeoff ramp is a vertical velocity limit ramp for the
nice user experience but the acceleration feed-forward can
add on top of the output and depending on trajectory generation
result in unwanted thrust changes during the ramp.
2020-05-04 16:10:36 +02:00
Beat Küng bcce75e691 icm20948+mpu9250: add support to configure the high bus speed 2020-05-04 09:49:23 +02:00
rfu 0becd29b46 fix mpu9250: wrong buffer size 2020-05-04 09:49:23 +02:00
rfu f8db9c4f1b fix mpu6000: wrong buffer size 2020-05-04 09:49:23 +02:00
rfu adb032d2e5 drivers: up_udelay -> px4_usleep 2020-05-04 09:49:23 +02:00
rfu 8787780de4 some printf format and conversion fixes 2020-05-04 09:49:23 +02:00
rfu 90c3819df5 fxos8701cq + fxas21002c: add support for I2C 2020-05-04 09:49:23 +02:00
David Jablonski 09180b9d4a mavlink: increment cmd confirmation field (#14808) 2020-05-04 09:21:01 +02:00
kamilritz 960ad0693f fix format 2020-05-03 18:25:00 +01:00
kamilritz 9137813472 Received quaternion represents body to world 2020-05-03 18:25:00 +01:00
JaeyoungLim 4282832222 Update flightgear bridge (#14816)
Fix vehicle spawning issue with updating the submodule paths
2020-05-03 17:09:22 +02:00
Daniel Agar 6dfe12d122 Revert "drivers/pwm_out: cleanup for multi-platform use" (#14812)
This reverts commit 0c8dcf94bc.
2020-05-02 23:42:51 -04:00
JaeyoungLim cd59f95565 Add additional flap channel in mixer
Since sitl gazebo is unable to control to joints from a single channel, an additional mixer is defined
2020-05-01 21:01:33 -04:00
baumanta 545b8118a8 change solo mag rotation to new convention 2020-05-01 21:00:55 -04:00
baumanta 200d905b63 delete ROTATION_YAW_293_PITCH_68_ROLL_90 as usage implies it is the same as ROTATION_ROLL_90_PITCH_68_YAW_293 2020-05-01 21:00:55 -04:00
baumanta 38a6304d53 cleanup unneccessary complicated formulations 2020-05-01 21:00:55 -04:00
baumanta c758da2391 add test for rotations, add new rotations, fix old rotations 2020-05-01 21:00:55 -04:00
baumanta c37424aff2 sort enum by mavlink MAV_SENSOR_ORIENTATION 2020-05-01 21:00:55 -04:00
kamilritz 0cdf2c2e29 Use ground truth uorb topic for ground truth mavlink message 2020-05-01 21:00:24 -04:00
Daniel Agar 28d2aca699 boards: include all procfs entries on boards that aren't flash constrained 2020-05-01 20:59:57 -04:00
Daniel Agar 8d0c92003a boards: remove all CONFIG_NXFONTS_DISABLE* 2020-05-01 20:59:57 -04:00
Daniel Agar d89b7804f7 boards: initial CUAV X7Pro support (not complete)
- this is booting and functional, but still missing a few things
 - still needs full PWM output, verification of all sensor rotations and IO, etc
2020-05-01 20:59:28 -04:00
Daniel Agar 0c8dcf94bc drivers/pwm_out: cleanup for multi-platform use 2020-05-01 20:53:35 -04:00
Daniel Agar 12835b999e cmake update CXX standard 11 -> 14
- this doesn't really change anything, just staying in sync with PX4/Firmware
2020-05-01 13:33:49 -04:00
Hamish Willee 0a4e7142ee ubuntu setup script: add gstreamer1.0-libav
This was needed in order to display video in QGC
2020-05-01 10:35:10 -04:00
PX4 BuildBot c5341da813 Update submodule ecl to latest Fri May 1 00:39:52 UTC 2020
- ecl in PX4/Firmware (838a470e922076d18ad67a580b9cbab65e8e1f14): https://github.com/PX4/ecl/commit/8b6d665a1331f94091caf2f262e09d508eb8975c
    - ecl current upstream: https://github.com/PX4/ecl/commit/cda74868976d0f806d821960e71f58d0b2c40051
    - Changes: https://github.com/PX4/ecl/compare/8b6d665a1331f94091caf2f262e09d508eb8975c...cda74868976d0f806d821960e71f58d0b2c40051

    cda7486 2020-04-30 Paul Riseborough - EKF: Prevent yaw reset to GPS caused by loss of GPS data (#805)
2020-04-30 21:24:33 -04:00
PX4 BuildBot 3135f7e1cf Update submodule flightgear_bridge to latest Fri May 1 00:39:36 UTC 2020
- flightgear_bridge in PX4/Firmware (3ea52fecd3): https://github.com/PX4/PX4-FlightGear-Bridge/commit/f7eb676108c41edea5b9424f29a74a517a1dfd48
    - flightgear_bridge current upstream: https://github.com/PX4/PX4-FlightGear-Bridge/commit/13dde0b4a42be19e9e9dbbb1c2527fab634112af
    - Changes: https://github.com/PX4/PX4-FlightGear-Bridge/compare/f7eb676108c41edea5b9424f29a74a517a1dfd48...13dde0b4a42be19e9e9dbbb1c2527fab634112af

    13dde0b 2020-04-30 JaeyoungLim - Test build without flightgear (#2)
566c7c3 2020-04-30 JaeyoungLim - Add simple build test with github actions (#1)
2020-04-30 21:06:34 -04:00
Pedro Roque 3ea52fecd3 Added Roll Pitch Yawrate Thrust offboard test. Testing... 2020-04-30 17:43:25 -04:00
Daniel Agar 76cfd8fa39 boards: add nxp fmuk66-v3 and rddrone-uavcan146 socketcan builds 2020-04-30 15:04:08 -04:00
Daniel Agar 3e5f85b47b uavcannode: add distance_sensor (all possible instances) 2020-04-30 14:52:06 -04:00
Paul Riseborough cda7486897 EKF: Prevent yaw reset to GPS caused by loss of GPS data (#805) 2020-04-30 17:50:26 +10:00
Daniel Robinson d20bca095d Update CONTRIBUTING.md
- typo
2020-04-29 22:49:30 +01:00
JaeyoungLim 35ebbd7202 Switch flightgear bridge submodule to px4 organization (#14789)
This brings the flightgear bridge submodule under the px4 organization
2020-04-29 23:20:25 +02:00
Beat Küng 8bc72fe771 gps drivers: update submodule (M9N support) 2020-04-29 11:39:32 -04:00
Matthias Grob 81e576b63a rotation conversion: deconfuse roll 90 yaw 90 2020-04-29 10:12:50 +02:00
Jakub Kákona dfa5ca1710 FlightGear simulator support (#14539)
- Add flightgear_bridge submodule.
- Add traget px4_sitl_nolockstep with disabled  LOCKSTEP simulation.
- Add flightgear viewer targets and startup scripts
- Add a few possible vehicles plane (rascal), autogyro (tf-g1), and rover (tf-r1))

Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
2020-04-29 08:46:59 +02:00
Mohammed Kabir 5ffe88672e vehicle_odometry: add timestamp_sample field for latency monitoring 2020-04-28 13:58:43 -04:00
kritz ccaa103164 ekf2: Stop getting velocity variance from pose covariance matrix (#14779) 2020-04-28 10:05:30 -04:00
ealdaz-seesai efa0e1bf0f Rover land detection (#13769)
* Land Enabled

* Declared Subscriptor in header as originally intended.

In the header it caused SIGSEGV in my machine so that's why it was moved
to .cpp

* Code Style fixed

* Removed confusing comments

* Comment update

Co-authored-by: Julian Oes <julian@oes.ch>
2020-04-28 10:59:24 +02:00
Silvan Fuhrer f78847b26f VTOL: Pusher assist: add configuration for enabling it in LAND /disable below some altitude (#14706)
* VTOL type: add new parameter VT_FWD_TRHUST_EN for customizing pusher/tilt assist

Depending on the setting of this param, the pusher assist is:
-completely disabled (default)
-enabled in pos, alt and auto mode (except LAND)
-enabled in pos, alt and auto mode if above MPC_LAND_ALT1
-enabled in pos, alt and auto mode if above MPC_LAND_ALT2
-enabled in pos, alt and auto mode
(before it was always disabled in LAND mode)

-change default of VT_FWD_THRUST_SC from 0 to 0.7

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-28 10:44:57 +02:00
Julian Oes 48c60d354d mavlink: move tune publication to separate class
This makes it easier to allocate in MavlinkReceiver.
2020-04-28 08:45:39 +02:00
Julian Oes 2d5184fcfe mavlink: copy tune to buffer to play later
Instead of blocking the receiver thread while playing a tune we now copy
the tune to a buffer and check if we can play the next note on each
iteration of the receiver thread.

The buffer and tune object is only created on the heap if we receive a
tune to play once and doesn't use resources otherwise.
2020-04-28 08:45:39 +02:00
Julian Oes 6f707bf7b5 mavlink: add support for PLAY_TUNE_V2 2020-04-28 08:45:39 +02:00
Julian Oes 5f676b6795 mavlink: move tune publication to a method 2020-04-28 08:45:39 +02:00
Julian Oes 06f40042e9 mavlink: use static_cast instead of C-style cast 2020-04-28 08:45:39 +02:00
Julian Oes 18b39545ab mavlink: add missing uORB publication of tunes
The old tune device interface is not working anymore and we need to
publish to uORB tune_control.

This solution is not optimal though because blocks the receiving thread.
2020-04-28 08:45:39 +02:00
baumanta 48cf38d623 support mag power compensation with battery_status instance 1 2020-04-28 08:36:44 +02:00
baumanta 503bd15b82 change python script to calculate right params 2020-04-28 08:36:44 +02:00
Daniel Agar 326d8efc16 move attitude controllers to new wq:attitude_ctrl 2020-04-27 21:34:35 -04:00
PX4 BuildBot 97bdfd9cec Update submodule ecl to latest Mon Apr 27 12:39:40 UTC 2020
- ecl in PX4/Firmware (27232514fcaf04924ecb405e144615c23ac6e2e0): https://github.com/PX4/ecl/commit/8a9d961f0d7b0cf6371ab1fcd6d0d2ccb581d3d1
    - ecl current upstream: https://github.com/PX4/ecl/commit/8b6d665a1331f94091caf2f262e09d508eb8975c
    - Changes: https://github.com/PX4/ecl/compare/8a9d961f0d7b0cf6371ab1fcd6d0d2ccb581d3d1...8b6d665a1331f94091caf2f262e09d508eb8975c

    8b6d665 2020-04-26 kamilritz - Avoid subtraction of two uint
70d65ea 2020-04-16 kamilritz - Test:Increase GPS jump need for rejection
c19f40e 2020-04-15 Kamil Ritz - Add reset position test for GPS and VISION
78a6b9f 2020-04-15 Kamil Ritz - SensorSimulator: Fix GPS horizontal position step
050298f 2020-04-08 Kamil Ritz - Improve matrix library usage
5749273 2020-04-08 Kamil Ritz - refactor resetPosition
2020-04-27 10:19:22 -04:00
Beat Küng 34c75f2d36 boards: temporarily disable UART TX DMA
work-around for https://github.com/PX4/Firmware/issues/14659.
This can be reverted when fixed properly.
2020-04-27 08:47:46 -04:00
JaeyoungLim e669e999e2 Add options to spawn multiple vehicles in different worlds (#14764)
Since SITL gazebo now has the ability to spawn vehicles to different worlds, this can be done for simulating multiple vehicles
2020-04-27 11:57:47 +02:00
kamilritz 8b6d665a13 Avoid subtraction of two uint 2020-04-27 10:17:01 +02:00
RomanBapst 2b276a3ad8 FixedWingPositionControl: set waypoint straight ahead for front transition
- this fixes the case where the navigator publishes a loiter waypoint or any
waypoint which is too close to the vehicle.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-26 22:59:07 -04:00
RomanBapst 0779a0502c takeoff: only set _can_loiter_at_sp if takeoff position has been set
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-26 22:59:07 -04:00
Lorenz Meier b3afb325d8 Update Gazebo to latest
This includes a relevant compile fix for a recent MAVLink update.
2020-04-26 22:55:51 -04:00
Daniel Agar 8cd848fcd6 temperature_compensation: enable parameters set reboot_required
- min/max are unnecessary with boolean
2020-04-26 22:38:35 -04:00
Daniel Agar cc62a52553 PX4Rangerfinder: delete unused CDev 2020-04-26 22:36:46 -04:00
Daniel Agar 5739cf27e5 boards: delete obsolete commented config systemcmd 2020-04-26 22:34:34 -04:00
Daniel Agar 3832214145 PX4Accelerometer/PX4Gyroscope: fix calibration offset for integrated FIFO case
This is a quick follow up fix to to a bug introduced by #14752. In the case of FIFO data (new IMU drivers) the calibration offset wasn't being applied correctly to the result of integrating the FIFO samples.

This slipped through basic sanity testing (simple bench testing, the test rack, and SITL CI) due to the calibration offsets being zeroed.
2020-04-26 13:24:51 -04:00
Daniel Agar 37d5d1b4d2 PX4Accelerometer/PX4Gyroscope: integrated data avoid loss of numerical precision 2020-04-26 14:28:50 +02:00
PX4 BuildBot 70329ce396 Update submodule nuttx to latest Sat Apr 25 12:38:14 UTC 2020
- nuttx in PX4/Firmware (2c938af28051250f90baf7c411179b9b01dc5d0c): https://github.com/PX4/NuttX/commit/7fffab1610d2ea08a95383febd0579e0037b6b51
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/66b4f2c4f2128994f8e8a908d4888f6d37565cfd
    - Changes: https://github.com/PX4/NuttX/compare/7fffab1610d2ea08a95383febd0579e0037b6b51...66b4f2c4f2128994f8e8a908d4888f6d37565cfd

    66b4f2c4f2 2020-04-21 Peter van der Perk - [Backport] Added S32K1XX progmem driver to use the FlexNVM memory
1b3fc1c668 2020-04-10 Peter van der Perk - Added net_trylock so we can call can_input while being in a interrupt handler
2020-04-25 09:14:39 -04:00
David Jablonski a0f5002685 navigator: fix loiter_time for FW missions 2020-04-25 09:13:09 -04:00
Roman Dvořák 75fe3bee8c drivers/rpm: add simple RPM message simulator (dummy publisher) 2020-04-25 09:10:11 -04:00
kamilritz 70d65ea55f Test:Increase GPS jump need for rejection 2020-04-25 10:11:01 +02:00
Kamil Ritz c19f40e574 Add reset position test for GPS and VISION 2020-04-25 10:11:01 +02:00
Kamil Ritz 78a6b9f7a8 SensorSimulator: Fix GPS horizontal position step 2020-04-25 10:11:01 +02:00
Kamil Ritz 050298f6c1 Improve matrix library usage 2020-04-25 10:11:01 +02:00
Kamil Ritz 5749273d19 refactor resetPosition 2020-04-25 10:11:01 +02:00
Beat Küng 44537ccd1a sdp3x: reduce verbosity when no device on the bus 2020-04-24 12:59:50 +02:00
Beat Küng d3dd5e9da1 i2c_spi_buses: improve info output for external buses 2020-04-24 12:59:50 +02:00
xdwgood d922678ea0 tailsitter: remove unused code 2020-04-24 13:33:51 +03:00
Daniel Agar 31f3a21849 update ecl/EKF with improved covariance prediction stability and change default IMU integration period 4000 us -> 2500 us
- bring in PX4/ecl#795 "EKF: Improve covariance prediction stability"
    - the ecl/EKF filter update period has changed from 8 ms to 10 ms
 - change default integration period 4000 us -> 2500 us (aligns with new EKF filter update period)
2020-04-23 13:55:34 -04:00
Paul Riseborough 8a9d961f0d EKF: Improve covariance prediction stability (#795)
* EKF: Improve covariance prediction stability

Eliminates collapse of vertical velocity state variance due to rounding errors that can occur under some operating conditions.

* EKF: Fix typo

* test: Fix initialisation test cases

Provide sufficient time for variances to stabilise and fix calculation of reference quaternion for alignment.

* test: Allow for accumulated rounding error in IMU sampling test

* test: Allow sufficient time for quaternion variances to reduce after initial alignment

* test: Increase allowance for tilt alignment delay and inertial nav errors

* test: Increase allowance for tilt alignment delay and inertial nav errors

* adpat reset velocity test

* test: update change indication file

* test: Adjust tests to handle alignment time and prediction errors

* README.md: Add documentation for change indicator test
2020-04-23 14:38:09 +02:00
Konstantin Petrykin 5819c82678 vmount: Fixes max AUX number for MNT_MAN_ROLL, MNT_MAN_PITCH and MNT_MAN_YAW parameters. 2020-04-23 08:55:29 +02:00
Silvan Fuhrer 172e435ec0 VTOL: add parameter to set the PWM_OUTPUT_DEVICE_PATH (#14732)
The device path is needed to apply PWM limits on the motors that are not
used for FW flight (switch them off). With this parameter the device path can be set
to either IO or FMU, depending on whether the motors are on the IO or FMU port.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-22 20:42:23 +02:00
bresch d29344cb9c MCLandDetector: fix low thrust detection in stabilized mode
HTE runs based on the position controller so, even if we whish to use
the estimate, it is only available in altitude and position modes.
Therefore, we need to always initialize the hoverThrottle using the hover
thrust parameter in case we fly in stabilized
2020-04-22 11:07:04 -04:00
Mathieu Bresciani be2bb4a479 FlightTask: Fix ekf2 reset race condition during task switch (#14692)
* FlightTask: Fix ekf2 reset race condition during task switch

During a loss of GPS data when using GPS as primary height source,
the height is reset to baro and the local position gets invalid at the
same time. This triggers a switch to altitude flight task and a setpoint
reset.
This combination of events had the effect to ignore the height reset,
the large sudden height error could create an abrupt change of altitude
or even a crash.
The ekf2 reset is now done at the beginning of each update call.
2020-04-22 13:18:35 +02:00
Jin Chengde e82880d6d7 add new rotation (#14512)
* add new rotation  ROLL_270_YAW_180

fix compile error

fix rotation

modify roatation

* modify enum to 41
2020-04-22 09:03:55 +02:00
PX4 BuildBot a96bc6a145 Update submodule sitl_gazebo to latest Wed Apr 22 00:38:48 UTC 2020
- sitl_gazebo in PX4/Firmware (c5eefc6b2e): https://github.com/PX4/sitl_gazebo/commit/2f83192e70a590e4af87535b605f7aaa806a52f5
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/c2d7d2609f3801ca9a0a03643942b10da50d090d
    - Changes: https://github.com/PX4/sitl_gazebo/compare/2f83192e70a590e4af87535b605f7aaa806a52f5...c2d7d2609f3801ca9a0a03643942b10da50d090d

    c2d7d26 2020-04-12 JaeyoungLim - Incorporate wind in lift calculation and airspeed measurements (#375)
2020-04-21 22:39:59 -04:00
Daniel Agar b1b54fd4ec Update submodule mavlink v2.0 to latest Wed Apr 22 00:38:54 UTC 2020
- mavlink v2.0 in PX4/Firmware (9686525575a08acccacd15af8d977882d8a88301): https://github.com/mavlink/c_library_v2/commit/0f9e4218df24b9fa0e922307cad68e2d0e18f286
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c6e18fb3389eb29ee9993829e775a903e003d92a
    - Changes: https://github.com/mavlink/c_library_v2/compare/0f9e4218df24b9fa0e922307cad68e2d0e18f286...c6e18fb3389eb29ee9993829e775a903e003d92a
2020-04-21 22:39:26 -04:00
Daniel Agar c5eefc6b2e new InvenSense ICM20649 IMU driver 2020-04-21 11:25:37 -04:00
Matthias Grob 809b45eac8 FlightTasks: do not adjust tilt limit of the position control
Adjusting the tilt limit can lead to diverging position control
and should only be used by setting a sanity limit for the controller
and not to adjust during the descent phase of a Land or RTL.
Otherwise it leads to flyaways in important failsafe modes when
there's stronger disturbance e.g. wind.
2020-04-21 09:35:52 +02:00
Hamish Willee 95779ea670 ubuntu.sh: No automatic removal of modemmanager 2020-04-21 09:34:05 +02:00
TSC21 c3ebb1a584 px4.py: signal it as being used by the PX4 Homebrew formulae 2020-04-21 09:21:56 +02:00
TSC21 4923e5ce3a px4.py: case the script is run outside of the cloned repo, get it from remote 2020-04-21 09:21:56 +02:00
TSC21 18df0240df px4.py: get release version from Git 2020-04-21 09:21:56 +02:00
Hamish Willee 8236b8da81 Fix up doc links to point to master branch 2020-04-21 08:58:40 +02:00
JaeyoungLim 75054f11df Add px4vision sitl target
- Use px4vision parameters
2020-04-20 18:08:41 -04:00
bresch c05b70bf86 MPC: initialize hover thrust with parameter even if using HTE
The hover thrust estimator (HTE) starts to run after the first thrust
setpoint is published. Until then, the feedforward of the vertical
velocity controller was unitialized (= 0). This is now set to hover
thrust parameter until the estimate is available.
2020-04-20 20:54:31 +02:00
avionicsanonymous c8df77b3d2 UAVCAN Air Data Support 2020-04-20 11:24:24 -04:00
Beat Küng 3177b8d763 fix nuttx submodule: point to px4_firmware_nuttx-8.2 branch 2020-04-20 10:07:45 +02:00
Matthias Grob 65a4ca9d65 AlphaFilter: merge with PX4 implementation
I made a separate implementation of the same filter for PX4. Now
that I know it's duplicate I merge the two into one and reuse it.
2020-04-20 09:30:07 +02:00
Matthias Grob 1e033c4719 camke ctest: enable gtest colors 2020-04-20 09:30:07 +02:00
Beat Küng c48c1c4cef Tools/px_uploader: exit if unsuitable board is connected
Avoids endless looping, and is mostly useful when used in automated
upload scripts.
2020-04-20 09:05:57 +02:00
JaeyoungLim 6e18cb85b1 Add plane lidar model
Add model that can test terrain estimated landing
2020-04-19 17:09:42 -04:00
Daniel Agar a3ad710623 restore UAVCAN bootloader support
- essentially reverting #7878 minus the obsolete board support
2020-04-19 16:10:09 -04:00
Kamil Ritz adacca099d test recording of velocity reset 2020-04-19 12:43:37 +02:00
bresch 30d69aa45b Ekf: extract baro height offset computation 2020-04-19 12:38:13 +02:00
bresch 6b64cf0770 Ekf: centralize GPS height fusion startup 2020-04-19 12:38:13 +02:00
bresch 61763544b6 Ekf: centralize baro fusion startup 2020-04-19 12:38:13 +02:00
Todd Colten 7c533e5a53 commander: Clarify airspeed calibration failure warning msg 2020-04-18 13:02:29 -04:00
Matthias Grob ffa9fdbd56 posix rcS: always disable CPU load check 2020-04-17 18:25:07 +02:00
Daniel Agar d96a841050 List: handle re-inserting
- clear sibling on removal
 - add reinsertion test case to test_list
2020-04-17 11:56:24 -04:00
Daniel Agar d6df3036cb tests: IntrusiveQueue test re-insert case
- test for the bug found and fixed in https://github.com/PX4/Firmware/pull/14423
2020-04-17 11:56:24 -04:00
Daniel Agar d9dfedb4f1 drivers/lights: blinkm, rgbled, rgbled_ncp5624c add missing I2CSPIDriver address
- fixes https://github.com/PX4/Firmware/issues/14686
2020-04-17 11:54:22 -04:00
Daniel Agar 2502a7e5df github actions limit bloaty comparisons to new Ubuntu 20.04 containers 2020-04-17 11:46:28 -04:00
flbernier 2fca03e1bd Update default rover parameters Ki and Kd 2020-04-17 08:18:10 +02:00
flbernier 3b0f2a4d43 Swap Ki and Kd in rover related airframes 2020-04-17 08:18:10 +02:00
flbernier 45e88aa8d3 Correct Ki and Kd inversion in rover pid_set_parameters 2020-04-17 08:18:10 +02:00
Daniel Agar 7bbb7e6b24 Jenkins: hardware print more status and cleanup SD card
- /proc meminfo and uptime
 - gps status, ekf2 status, attitude, local position
 - try to force update px4io on a few boards
 - set SDLOG_DIRS_MAX 1 on board cleanup to minimize usage
2020-04-16 16:01:50 -04:00
Beat Küng 4817e299f1 nuttx: update submodule 2020-04-16 14:39:16 -04:00
Matthias Grob 630af7fb58 FlightTaskOffboard: fix header comment 2020-04-16 14:38:32 -04:00
Matthias Grob 8b76c0c023 PreFlightCheck: add checks for CPU and RAM load 2020-04-16 11:45:50 +02:00
Daniel Agar 9ae2f0ea96 bmi160: cleanup 2020-04-15 23:33:41 -04:00
Daniel Agar 06478d9997 delete obsolete SENSORIOCSPOLLRATE/SENSORIOCRESET and systemcmds/config 2020-04-15 23:33:41 -04:00
Daniel Agar 6867947033 irlock: remove ioctl(), read(), and RingBuffer 2020-04-15 23:33:41 -04:00
Daniel Agar 47098f026a bma180: move to PX4Accelerometer and cleanup 2020-04-15 23:33:41 -04:00
Daniel Agar 9f7c3b9f06 sf1xx: move to PX4Rangerfinder and cleanup 2020-04-15 23:33:41 -04:00
Daniel Agar f51715c7ab lps22hb: move to PX4Barometer and cleanup 2020-04-15 23:33:41 -04:00
Daniel Agar 7c7ee115e3 boards: px4_io-v2 defconfig optimizations to save memory
* disable CONFIG_ARMV7M_MEMCPY to save flash
* disable CONFIG_LIB_BOARDCTL
* remove unnecessary pthread and task settings
* reduce preallocated watchdogs
* reduce console buffer size
* reduce IDLE thread stack
* reduce user main stack

Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>
2020-04-15 23:17:44 -04:00
mcsauder 6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -04:00
Daniel Agar 5634b68354 Jenkins: hardware print px4io status, pwm info for all outputs, pwm_out status 2020-04-15 22:48:24 -04:00
Daniel Agar 1ac6230758 boards: always change default IMU_GYRO_RATEMAX on px4_fmu-v2/v3 and mro_x21
- this can lower cpu usage considerably on older boards
2020-04-15 21:52:02 -04:00
Julian Oes d67ecc971c commander: add check for VTOL airfame on fmu-v2 (#14633)
* commander: add check for VTOL airfame on fmu-v2

This adds a preflight check when a VTOL airframe is configured
on a fmu-v2 where VTOL is no longer included.

* commander: address code review comments
2020-04-15 21:20:42 +02:00
Daniel Agar b761060c9b perf counters fix perf free and cleanup naming 2020-04-15 16:22:06 +02:00
Daniel Agar dc2254aa34 WIP: mavlink send hacks 2020-04-15 16:22:06 +02:00
baumanta 050d5de93b add home pos check into global pos check 2020-04-15 11:02:48 +02:00
baumanta 9710289f5f PreFlightCheck: check for RC action switches 2020-04-15 11:02:48 +02:00
Daniel Agar d5e0a52f3f Jenkins: increase history for remaining builds 2020-04-14 19:14:10 -04:00
Julian Oes e2b8fd7b11 commander: fix preflight check spam 2020-04-14 10:17:43 -04:00
Beat Küng 0c5fbf5954 fix param_translation: set address to 0 only on NuttX
On Linux it can be non-zero.
2020-04-14 10:16:01 -04:00
RomanBapst 338dd45022 vtol: do not control deceleration during backtransition manual, acro or stabilized
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-14 11:25:09 +02:00
Daniel Agar 588195f46c boards: px4/fmu-v4pro cleanup rc.board_sensors
- board has either an icm20602 or icm20608g, not both
 - probe all typical externally compasses
2020-04-13 15:52:45 -04:00
Daniel Agar aad2856872 tests: microbench uorb add sensor_gyro_fifo copy
- gives an idea of the cost of copying a large message
2020-04-13 14:49:39 -04:00
Daniel Agar 6c1e9c60ed tests: microbenchmarks reduce iterations and sleep inbetween 2020-04-13 14:49:39 -04:00
kamilritz 6f383248ca update change indication 2020-04-13 20:34:41 +02:00
Kamil Ritz e52482501a Expand standalone mathlib double precision functions' usage 2020-04-13 20:34:41 +02:00
Kamil Ritz 1fa6870cd6 Perform geo.cpp's mathlib calls in double point precision 2020-04-13 20:34:41 +02:00
Kamil Ritz a013bb9314 Add test for gps projection & reprojections 2020-04-13 20:34:41 +02:00
Daniel Agar 60836eabd5 Jenkins HIL remove px4_fmu-v4_optimized
- this was interesting to monitor, but slows down the entire build with only one pixracer on the test rack
2020-04-13 13:48:28 -04:00
Daniel Agar 66eacd24bc px4_fmu-v5_stackcheck: update stack sizes and add to Jenkins
- increase stack sizes to run cleanly under stackcheck
     - this is likely overkill for most boards, but using stackcheck to set our minimum ensures we have a very safe margin on regular builds and it's something we can currently afford
 - remove holybro_durandal-v1_stackcheck from test rack (there's only one unit)
2020-04-11 21:16:10 -04:00
Daniel Agar 7b4f6b6918 sensors/vehicle_angular_velocity: check filter based on time threshold instead of samples
- fixes #14303
2020-04-11 16:07:11 -04:00
Daniel Agar 276b2cad5a boards: fmu was renamed pwm_out 2020-04-11 14:18:55 -04:00
Daniel Agar 751b3497a0 icm20608g/icm20689: force FIFO count check sooner
The InvenSense icm20608g and icm20689 don't have a FIFO watermark interrupt, but they do have a data ready interrupt and the ability to get the current FIFO count in the same large transfer as the actual FIFO data. So instead of manually checking the FIFO count before every transfer (costs ~ 1-3% cpu) we trust the data ready counts, verify things are in sync after the large transfer (fifo count + fifo contents), and force a manual check before the next transfer if necessary.

As a precaution this change lowers the threshold for forcing a manual FIFO count check before the large transfer. Forcing the check if out of sync by 2 (or more) samples makes sense because we always do transfers in multiples of 2 (gyro samples per accel).

The other small cosmetic changes are keeping the icm20608g and icm20689 in sync (they're nearly identical).
2020-04-11 12:17:40 -04:00
PX4 BuildBot 3a2c4094be Update submodule sitl_gazebo to latest Fri Apr 10 12:39:18 UTC 2020
- sitl_gazebo in PX4/Firmware (ed0c25a562): https://github.com/PX4/sitl_gazebo/commit/e4f6bff206922d8ab85c68ece20c223812979560
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2f83192e70a590e4af87535b605f7aaa806a52f5
    - Changes: https://github.com/PX4/sitl_gazebo/compare/e4f6bff206922d8ab85c68ece20c223812979560...2f83192e70a590e4af87535b605f7aaa806a52f5

    2f83192 2020-04-09 Ricardo Marques - Remove uuv_hippocampus from uuv_hippocampus world (#455)
bab4880 2020-04-08 JaeyoungLim - Remove boat from boat world (#454)
7cb466c 2020-04-07 JaeyoungLim - Remove rubble and uneven world
a928906 2020-04-02 JaeyoungLim - Fix race condition in gimbal controller
2020-04-10 13:06:01 -04:00
Daniel Agar 322671ea27 mc_pos_control: align updates with ekf2 2020-04-10 13:04:06 -04:00
Julian Oes 474c3c45f0 platforms: don't catch floating point errors
When this triggered it actually just kept printing
"floating point exception" and never recovered. By removing this we can
at least catch it with a core dump, in CI as well as locally.
2020-04-10 14:55:18 +02:00
Julian Oes dc95b4487c workflows: file within docker not accessible
Therefore, let's try with v2-preview.
2020-04-10 14:55:18 +02:00
Julian Oes 4aebf9f02c workflows: upload can't access outside of docker 2020-04-10 14:55:18 +02:00
Julian Oes 14a111f5bd workflows: upload px4 coredump and binary 2020-04-10 14:55:18 +02:00
Julian Oes cc0b834d15 mavsdk_tests: don't fail if DISPLAY is not set 2020-04-10 14:55:18 +02:00
Julian Oes 28ec3744a6 workflows: add core dumps and backtrace to CI 2020-04-10 14:55:18 +02:00
Daniel Agar ed0c25a562 Update submodule mavlink v2.0 to latest Thu Apr 9 20:22:33 UTC 2020
- mavlink v2.0 in PX4/Firmware (bad9b64ca281d2e8c0863738263c75888da63e38): https://github.com/mavlink/c_library_v2/commit/4b493591c4c8125c3592d406197b3b0efbe311af
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/0f9e4218df24b9fa0e922307cad68e2d0e18f286
    - Changes: https://github.com/mavlink/c_library_v2/compare/4b493591c4c8125c3592d406197b3b0efbe311af...0f9e4218df24b9fa0e922307cad68e2d0e18f286

    0f9e4218 2020-04-09 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/d3d37b6ebc02ff434279864a7e146b5cd365a083

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-04-09 17:19:14 -04:00
Daniel Agar b64a5783bb Update submodule NuttX-apps to latest Thu Apr 9 20:22:38 UTC 2020
- NuttX-apps in PX4/Firmware (cf2b0a47ce64ea50e9539689b1b704cd536b9558): https://github.com/PX4/NuttX-apps/commit/91b6ad6a0d00ac107088b18588cd54d40e3cb796
    - NuttX-apps current upstream: https://github.com/PX4/NuttX-apps/commit/95e105548a2037f42bf2f13b214ae083b921ff03
    - Changes: https://github.com/PX4/NuttX-apps/compare/91b6ad6a0d00ac107088b18588cd54d40e3cb796...95e105548a2037f42bf2f13b214ae083b921ff03

95e10554 2020-03-30 Peter van der Perk - [Backport] Add CONFIG_NET_CAN support to netinit.c
e17eeb31 2020-03-28 Peter van der Perk - [Backport] netutils SocketCAN suport & candump, cansend tool
2020-04-09 17:18:33 -04:00
Daniel Agar 55fc0cbdc7 boards/px4/fmu-v4: fix internal hmc5883 start 2020-04-09 15:54:10 -04:00
Matthias Grob 38093e4887 mc_pos_control: correct sign of acceleration state
Non-functional change, just change the sign in the correct place to
avoid further confusion.
2020-04-09 17:15:46 +02:00
Daniel Agar 74e99faedf imu/invensense: minor cleanup
- remove leftover Start()
 - remove "reset" from command line (stop + start is sufficient)
2020-04-09 09:47:30 -04:00
Beat Küng 8338f4e543 uvify/core: enable tx dma on telem2 2020-04-09 14:59:28 +02:00
Beat Küng 31937c280d px4/v4: enable tx dma on telem2 2020-04-09 14:59:28 +02:00
Beat Küng cbed023334 px4/v{2,3}: enable tx dma on telem2 2020-04-09 14:59:28 +02:00
Beat Küng 68e1172bb5 px4/v5x: enable tx dma on telem2 2020-04-09 14:59:28 +02:00
baumanta 8b89cfc498 change RC action switch thresholds 2020-04-09 14:41:09 +02:00
Hamish Willee 0a2c48c69a airframe markdown script: Improve header text. 2020-04-09 08:21:25 +02:00
daniele 38e635e386 navigator_main: allow altitude change when the current lat and lon are still nan
This is a corner case that happens when the user wants to command an
altitude change just after a takeoff. Takeoff doesn't set the current
lat and lon therefore the user had to change altitude twice to get it working.
The first time to set the current lat and lon and the second time to
actually change altitude.
2020-04-08 21:16:31 -04:00
daniele 6ea60b5165 geofence: reposition to current location when violating geofence in hold mode
This can only happen if the vehicle is executing a go to.
2020-04-08 21:16:31 -04:00
daniele d53dccc319 reposition (goto): add check if goto location is outside the geofence
Before this check we were free to fly outside of a geofence with a goto
command. With this check we ignore the command if the location of the goto
is outside the fence. If this is the case we send back a mavlink warning to
the ground station.
2020-04-08 21:16:31 -04:00
daniele 6b97361c92 add dummy if statement to avoid messing up the pr review 2020-04-08 21:16:31 -04:00
Silvan Fuhrer 4e3f65e376 disable spinup tilt sequence if spinup tilt parameter is set to 0
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-08 21:12:53 -04:00
Silvan 7e4a53f292 VTOL tiltrotor: introduce spin up time with spin up tilt angle
As some tiltrotor systems need a certain tilt angle of their motors in oder to spin up freely,
this commit introduces an additional parameter VT_TILT_SPINUP and sets the motor tilt to
this value if disarmed or within 1s since arming.

The spinup consists of 2 phases:
    1st phase fixed tilt (duration hardcoded to 1s)
    2nd phase transition from spinup tilt to multicopter tilt (hardcoded to 0.5s)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-08 21:12:53 -04:00
Daniel Agar 746b3124ab Update submodule matrix to latest Wed Apr 8 12:39:43 UTC 2020
- matrix in PX4/Firmware (222e0636c4b53ea18013f2bf0d35a798fab6ae76): https://github.com/PX4/Matrix/commit/a32892926c69ea0bad031fd9d7bfc915cc5e9b68
    - matrix current upstream: https://github.com/PX4/Matrix/commit/d613055462bcbeacfd188cbd53de56c1dbc7b94d
    - Changes: https://github.com/PX4/Matrix/compare/a32892926c69ea0bad031fd9d7bfc915cc5e9b68...d613055462bcbeacfd188cbd53de56c1dbc7b94d

d613055 2020-04-06 kamilritz - Add more assignment operators for slices
976ada4 2020-03-21 Matthias Grob - Matrix: min max comments and test style
fa7153e 2020-03-21 Matthias Grob - Matrix: omit min max nan case with same result
2020-04-08 16:25:00 -04:00
Beat Küng c713ce721e KakuteF7: enable SPI DMA for SPI 4
DMA for SPI 1 left disabled because the SD card does not work when enabling
it.
2020-04-08 15:31:51 -04:00
Lorenz Meier 18e78261ab Commander: Add more documentation around USB reboots
If the user disconnects USB we reboot the system to bring it back into a nominal condition before arming. Otherwise we would either have the USB stack running without a cable connected (code running for no reason, which is violating the principle of not running unnecessary code in aviation). Or we would not allow to arm at all if USB was ever connected, which can be confusing if the system is powered off a battery.
2020-04-08 14:11:09 -04:00
Daniel Agar a89bba470a boards: STM32F76xxx/STM32F77xxx linker add ITCM RAM and .ramfuncs handling
- this doesn't currently change anything, but gets us ready to start
experimenting with using the small amount of instruction tightly memory
on STM32F7
 - the .ramfuncs section works with NuttX CONFIG_ARCH_RAMFUNCS
2020-04-08 13:20:54 -04:00
Matthias Grob c9e64988b9 GPS Dynamic model default <1g
Only have it higher for VTOL and fixed wing.
Multicopter position controlled flight is in our experience always <1g.
Acrobatic flying definitely exceeds the acceleration but if control
doesn't rely on the GPS velocity and position there shouldn't be any
problem.
2020-04-08 11:52:38 -04:00
Nico van Duijn 59bd3e9f6e Change defaults for MPC_LAND_ALT 2020-04-08 11:52:01 -04:00
Nico van Duijn df07eed1a4 PX4Vision: tune MPC_LAND_ALT 2020-04-08 11:52:01 -04:00
Julian Oes 9764c32b55 mavsdk_tests: only apply workaround in GitHub CI 2020-04-08 16:56:52 +02:00
Julian Oes 54fe3c5fd5 mavsdk_tests: remove waitforgz helper, add sleep
This is an attempt to workaround the gz spawn timeout in CI.
Let's just hard-code a sleep before spawning the model.
2020-04-08 16:56:52 +02:00
kritz fa5a00d871 Refactor velocity reset (#788)
* Refactor velocity reset

* Add unit tests for velocity resets

* Expand updates to vertical buffer to velocity resets outside of resetHeight

* Improve matrix library usage

* Improve naming of vertical output samples

* Fix update of output_vert_new during reset

* Improve naming of vertical output samples 2
2020-04-08 16:39:15 +02:00
Matthias Grob 0a7cde4819 arch.sh: use binary repository for gazebo
This makes installation a lot faster and less error prone.
2020-04-08 16:33:49 +02:00
Beat Küng 6b0a2649c0 commander: set home position on takeoff
instead of when arming and on takeoff.

It is set on the first takeoff or if there was a disarm event between the
last and the current takeoff.
2020-04-08 14:59:26 +02:00
Beat Küng 80f0892de5 fix commander: set _was_landed before _land_detector topic update
Before _was_landed was set to the same value as the current
_land_detector.landed, thus outside of the update condition,
_was_landed && !_land_detector.landed could never be true.

This affects setting the home position, which is now set upon arming AND
upon takeoff.
2020-04-08 14:59:26 +02:00
Beat Küng aa6f9280e1 fix commander: set _have_taken_off_since_arming when !landed upon arming
If arming and already !landed, _have_taken_off_since_arming will not be set
and thus auto-disarm after 10s will be triggered (with default config).

This can only happen due to quick state changes, as land detector generally
sets landed=true if !armed.
2020-04-08 14:59:26 +02:00
baumanta 8709fc3cf9 fix SITL attctl test for less drag 2020-04-08 10:39:56 +02:00
baumanta 0d8c011d91 update sitl_gazebo to include realistic iris drag coeff 2020-04-08 10:39:56 +02:00
Daniel Agar cf37be8c44 ekf2 handle accelerometer clipping
- track clipping per IMU axis and pass through to ecl/EKF
 - update ecl/EKF to include delta velocity clipping changes (PX4/ecl#663)
2020-04-07 20:11:08 -04:00
Daniel Agar 47624a0f02 EKF increase delta velocity process noise per axis if clipping (#663) 2020-04-08 08:51:51 +10:00
JacobCrabill 74aa3201ce uavcannode: Fix Kelvin/Celcius in RawAirData pub 2020-04-07 18:31:10 +02:00
TSC21 4f718086ea microRTPS: fix topic name when ROS2 is not being used 2020-04-07 16:34:30 +01:00
Beat Küng 4e0441ab0b logger: add data format version tag 2020-04-07 09:59:12 -04:00
Daniel Agar 7aa7f0ed95 switch remaining boards to new InvenSense IMU drivers 2020-04-07 09:59:12 -04:00
Julien Lecoeur 7b12a21565 mavlink: Enable offboard attitude for coaxial airframes 2020-04-07 09:23:03 -04:00
kamilritz d613055462 Add more assignment operators for slices 2020-04-07 09:12:17 +02:00
PX4 BuildBot 3d27c7313c Update submodule nuttx to latest Tue Apr 7 03:33:04 UTC 2020
- nuttx in PX4/Firmware (3cee71918ad35d155fcdd5f32770dad98619eb84): https://github.com/PX4/NuttX/commit/09f0aee3520ae69eb57aa9e7f41e9d17dc3a9045
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/ec417d7466666801e911e50d72766225ca7790a1
    - Changes: https://github.com/PX4/NuttX/compare/09f0aee3520ae69eb57aa9e7f41e9d17dc3a9045...ec417d7466666801e911e50d72766225ca7790a1

    ec417d7466 2020-04-06 Peter van der Perk - [Backport] FMUK66 SocketCAN driver & Configurable Bitrate support
a3132cf3b7 2020-03-30 Peter van der Perk - [Backport] SocketCAN support
2020-04-07 00:16:52 -04:00
Jacob Dahl d682ddb510 UAVCAN differential pressure sensor support
* added airspeed handling (differential pressure) to uavcan and uavcannode

Co-authored-by: Jacob Crabill <jacob@flyvoly.com>
2020-04-07 00:15:31 -04:00
Daniel Agar a67847aef1 Update submodule mavlink v2.0 to latest Tue Apr 7 03:32:57 UTC 2020
- mavlink v2.0 in PX4/Firmware (8eaf36226f125d8b577a1a9c4d6c6f6985a95210): https://github.com/mavlink/c_library_v2/commit/11589a51bec0e96ffe80366c387997f7c44cffa3
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/4b493591c4c8125c3592d406197b3b0efbe311af
    - Changes: https://github.com/mavlink/c_library_v2/compare/11589a51bec0e96ffe80366c387997f7c44cffa3...4b493591c4c8125c3592d406197b3b0efbe311af
2020-04-07 00:12:36 -04:00
Daniel Agar ff74a2a48b new mpu6000/mpu6500/mpu9250 always schedule backup cycle if using data ready 2020-04-06 23:32:04 -04:00
Daniel Agar 0860a61fa6 new InvenSense IMU drivers review temperature sensitivities and offsets 2020-04-06 22:53:16 -04:00
Daniel Agar da383064c6 NuttX update with STM32H7 SPI DMA support
- holybro durdandal enable SPI DMA
2020-04-06 22:08:45 -04:00
AlexKlimaj d8c140be04 UAVCAN Smart Battery Improvements 2020-04-06 21:09:02 -04:00
Beat Küng 08bfeb3dc7 mavlink: fix potential busy loop upon USB disconnect
When disconnecting USB poll returns successfully, but the read returns
-1 with ENOTCONN.
In addition this also ensures there's no busy loop when poll returns an
error.

MAVLink continues to work after reconnecting USB.
2020-04-06 12:42:10 -04:00
Claudio Micheli 4cdc58ce8d EscBattery: only publish data if all the ESCs are online
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-04-06 15:56:54 +02:00
Julian Oes c1884975ed esc_battery: several review fixes
Thanks @bkueng.
2020-04-06 15:56:54 +02:00
Julian Oes 5927bb3635 battery: add requirements to ESCs as battery 2020-04-06 15:56:54 +02:00
Julian Oes cafd52647c msg: fix battery source enum 2020-04-06 15:56:54 +02:00
Julian Oes ae219c3272 esc_battery: fix timeout check 2020-04-06 15:56:54 +02:00
Julian Oes f650b91718 battery: check source param inside battery lib
This moves the handling of the BAT%d_SOURCE param inside of the battery
library. Users of the library now pass the source instead of the flag
whether to publish. The battery library then checks if the source is
selected using the param and publishes accordingly.

Since we removed the strange system_source flag, we now need to look at
all batteries in commander.
For current estimation - I think - it makes sense to sum them up.
2020-04-06 15:56:54 +02:00
Julian Oes 641612468b ROMFS: start esc_battery if param is set 2020-04-06 15:56:54 +02:00
Julian Oes b01cdafcf6 boards: add esc_battery to build 2020-04-06 15:56:54 +02:00
Julian Oes 509b8b6b4b First skeleton for esc_battery module 2020-04-06 15:56:54 +02:00
Julian Oes dcd34ed08d battery: add ESCs source, remove wrong unit 2020-04-06 15:56:54 +02:00
Julian Oes 5beb293a6a msg: fix typo 2020-04-06 15:56:54 +02:00
Daniel Agar ad559a66a1 examples: add simple work_item example module 2020-04-06 09:43:55 -04:00
Daniel Agar 1d164c0dbd px4_work_queue: sem_wait add loop as the wait may be interrupted by a signal 2020-04-06 10:30:35 +02:00
Julian Kent 9404b19906 Fix bezier scaling 2020-04-06 09:02:12 +02:00
David Sidrane 025799248c holybro_durandal-v1:Ensure SDMMC power seqensing is clean 2020-04-04 09:39:53 -04:00
Kamil Ritz d6b6276cdc change naming from tiltOffset to pitchOffset 2020-04-04 12:48:52 +02:00
stmoon 9a0c50325b remove exception in case that ROS is not installed 2020-04-04 08:20:35 +01:00
stmoon aaa72b2a25 change how to get ros2 version 2020-04-04 08:20:35 +01:00
Hyon Lim 5f86ea71bc UVify bootloader was not recognized properly because of wildcard string format in upload.sh.
It has more generalized to recognize UVify bootloader properly.
2020-04-03 13:18:31 -04:00
TSC21 144c65c92f microRTPS: only use '-typeros2' FastRTPSGen option for Dashing and later ROS2 distros 2020-04-03 18:03:26 +01:00
Julian Oes e34b452bab setup: only run usermod if $USER is available
This always triggered an error when using in docker as root.
2020-04-03 10:10:02 -04:00
Julian Oes be9f125c3d mavsdk_tests: raise timeout for czspawn
And provide better output about what happened.
2020-04-03 11:45:35 +02:00
Julian Oes 9c04f66f06 mavsdk_tests: raise overall timeouts
This might prevent some false positives when CI is running slowly or
intermittently.
2020-04-03 11:45:35 +02:00
Julian Oes 28f4dc10ae mavsdk_tests: make sure all log output is printed
This fixes the issue where the last lines of the log output was not
printed in case of error or on the verbose setting. This meant that
essentially the actual test error was not printed.

The fix involves two parts:
1. Firstly collect the output again even if a process has exited.
2. Collect all lines at once and not one line per iteration.
2020-04-03 11:45:35 +02:00
bresch 572ad2df0a SensorRangeFinder: add distBottom function to get the vertical distance 2020-04-03 11:01:23 +02:00
bresch a998da1781 terrain_estimator: initialize with valid delayed measurement 2020-04-03 11:01:23 +02:00
Claudio Micheli dc29a994b7 msg: extend field definition in msg/esc_report (arming & failure states)
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-04-03 09:16:43 +02:00
Julian Oes 4e091a369d uavcannode: fix format 2020-04-03 09:08:33 +02:00
Mathieu Bresciani 0623b2b02d Range check cleanup (#782)
* EKF: centralize range finder tilt check

* Ekf-control: do not double check for terrain estimate validity

isRangeAidSuitable can only return true if the terrain estimate is valid
so there is no need for an additional check

* range_finder_checks: restructure the checks to avoid early returns

There is now only one clear path that can lead to the validity being
true.
Furthermore, if the _rng_hgt_valid is true, we can trust it and we don't
need for additional checks such as tilt.

The case where we need to provide fake measurements because the drone is
on the ground and the range finder data is bad is already handled
in "controlHeightFusion" so there is no need to hack the range finder
checks with that.

* Add Sensor and SensorRangeFinder classes

The purpose is to encapsulate the checks for each sensor in a dedicated
class with the same interface

* SensorRangeFinder: encapsulate in estimator::sensor namespace

* EKF: rename _sensor_rng to _range_sensor

* Range checks: include limits in valid range

* RangeChecks: update comment in the continuity checks

* RangeChecks: move more low-level checks in functions

Also move setTilt out of the terrain estimator, this is anyway protected internally
to not compute cos/sin if the parameter did not change.

* Sensor: remove unused virtual functions

Those are not required yet but can still be added later

* SensorRangeFinder: re-organise member variables

Also rename getRangeToEarth to getCosTilt

* SensorRangeFinder: split setSensorTilt and setCosMaxTilt functions

* SensorRangeFinder: Add a few unit tests

- good data
- tilt exceeded
- max range exceeded

* SensorRangeFinder: set hysteresis in us instead of ms

* SensorRangeFinder: Add more tests

* SensorRangeFinder: update continuity, hysteresis and stuck tests

* SensorRangeFinder: rename variables

* SensorRangeFinder: get rid of "delayed" specification

From the SensorRangeFinder class point of view, it's not relevant to
know if the data is delayed or not

* SensorRangeFinder: move time_last_valid out of stuck check

* SensorRangeFinder: rename file names to sensor_range_finder

* SensorRangeFinder: address Kamil's comments

* SensorRangeFinder: Add more tilt tests

* SensorRangeFinder: store current tilt offset

This is to avoid recomputing cos/sin functions at each loop
2020-04-03 08:28:07 +02:00
Jacob Dahl ff1e5a595d uavcannode: battery info publishing 2020-04-03 01:30:31 -04:00
RomanBapst 0d8d4cd6e0 SITL configs: improve L1 tracking and increase backtransition duration
-decrease L1 period for tighter mission tracking in fw mode
- increase backtransition duration, we can now do this is we have active
deceleration control

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 23:54:48 -04:00
Daniel Agar 40b1043e12 NuttX boards minor lpwork and init stack increases 2020-04-02 23:39:17 -04:00
Beat Küng dfb5b5d7d9 fix param import transition
* fix param import transition for MC_DTERM_CUTOFF

The previous implementation did not work, as there was a check for
param_find_no_notification() returning PARAM_INVALID for IMU_DGYRO_CUTOFF,
and therefore would not call param_modify_on_import().

This moves param_modify_on_import() before the check and makes it modify
the bson node directly.

* parameters: fix param import transition when testing is enabled

BUILD_TESTING is used for unit test builds, PX4_TESTING is used to enable additional test material within PX4

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-04-02 18:41:00 -04:00
Matthias Grob 2baa5ca4d7 minor build fixes and ignored warnings for GCC 9 (#14159)
- px4io task_main_trampoline add return
 - iridiumsbd main_loop_helper add return
 - drivers/uavcan ignore Wcast-align, Wdeprecated-copy, and Waddress-of-packed-member for now
 - flashparams ignore Wvla-larger-than
 - test_time fix printf type
2020-04-02 10:24:36 -04:00
TSC21 e9aba642fe CI: bump container tags to 2020-04-01 2020-04-02 14:28:38 +01:00
TSC21 2020b77a43 microRTPS: use FastRTPSGen '-typeros2' option to generate the typenaming required to interface the bridge with ROS2 topics 2020-04-02 14:28:38 +01:00
Matthias Grob ab6606aa46 PreFlightCheck: fix magnometer typo 2020-04-02 13:53:47 +02:00
RomanBapst 2522435f9c vtol_att_control: got rid of VT_B_DEC_SP
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
Roman Bapst 47f0e91076 Apply suggestions from code review
Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 005bc97959 tiltrotor: enable l1 and deceleration control during transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst a916cc2a26 better comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 0184d8196f vtol_type: calculate backtransition acceleration in forward direction
- use track angle to calculate the current forward acceleration

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 47b5d51369 vtol_type: added explicit control over deceleration during backtransition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst baf5e86f81 transition flighttask: don't control yaw and altitude during trans
Signed-off-by: RomanBapst <bapstroman@gmail.com>

# Conflicts:
#	src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp
2020-04-02 13:45:52 +03:00
RomanBapst b6a80253d7 run l1 during transition 2020-04-02 13:45:52 +03:00
Beat Küng 1f60a86d32 fix commander: need to copy all battery states in a cycle
Previously if in a cycle only a disconnected battery status updated, the
battery health state would switch to unhealthy during that time.

Fixes intermittent 'Arming denied! Check battery' preflight failures on
v5x with 1 power module connected.
2020-04-02 12:42:00 +02:00
Matthias Grob 70c28c7274 mc_pos_control_params: update MPC_POS_MODE description
- remove deprecated sport mode
- clarify wording
2020-04-02 11:52:44 +02:00
Daniel Agar 15332a7e56 boards: reduce CONFIG_NFILE_DESCRIPTORS 20 -> 15 2020-04-01 16:17:14 -04:00
Daniel Agar aa2f3a6624 sensors: complete move to uORB::Subscription 2020-04-01 16:17:14 -04:00
Daniel Agar 7c8ab49eb9 boards: mro_ctrl-zero-f7 fix i2c
- STM32_HSI_FREQUENCY 24 MHz -> 16 MHz (required for NuttX stm32f7 i2c)
2020-04-01 14:27:33 -04:00
Daniel Agar 02f4ad61ec I2C/SPI require device type in constructor 2020-04-01 12:24:22 -04:00
Daniel Agar 04bf9afd1b CDev delete unused pub_blocked 2020-04-01 11:23:26 -04:00
Daniel Agar b3fe235129 drv_mag: delete unused MAGIOCSRANGE, MAGIOCCALIBRATE, MAGIOCEXSTRAP, MAGIOCSTEMPCOMP 2020-04-01 10:07:08 -04:00
Daniel Agar cfc087c6ad rm3100: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar a59aa865da qmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar ade52d612b lsm9ds1_mag: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar c9c08d00c3 lsm303agr: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 5f6f1c554b lis3mdl: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar cf12969a29 ist8310: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 1c333cb664 isentek/ist8308: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 7e173048bb ak09916: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 613168b598 hmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 9899748d12 bmm150: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 09ba9d62eb PX4Magnetometer: add external() getter and default temperature to NAN 2020-04-01 10:07:08 -04:00
Daniel Agar 1cc8e4dc1a distance_sensor/vl53l0x: move to PX4Rangefinder and cleanup 2020-04-01 10:06:08 -04:00
bresch 3f15ccd2dd Update ECL
Add "Fly without magnetometer" and some interface changes
2020-04-01 11:47:39 +02:00
kamilritz a70aa6349a ECL interface: output vector quantities by return-by-value 2020-04-01 11:47:39 +02:00
Julian Oes 07d172dc9c tools: present nicer error for missing packaging
This makes the error more user friendly and suggests what to do to fix
it.
2020-04-01 10:42:18 +01:00
Daniel Agar baa50a1985 boards: omnibus/f4sd add board_dma_map.h 2020-04-01 10:42:09 +02:00
Paul Riseborough 544385fd8c EKF: Simplify centripetal accel correction (#789) 2020-04-01 13:36:56 +11:00
Daniel Agar 2e2b9a97d3 pwm_out: delete fake() test command
- we have better motor test facilities these days
2020-03-31 19:12:31 -04:00
Daniel Agar ca81175b07 rename drivers/px4fmu -> drivers/pwm_out
- split out header
2020-03-31 19:12:31 -04:00
Hyon Lim 3bcd8c63f8 SMBus battery (a.k.a. smart battery) enhancement. (#14496)
* Enhancement: State of health, and max_error value is added. Both shows battery health of SMBUS smart battery.
 * Enhancement: BAT_C_MULT parameter is introduced. This is for high-current capable SMBUS-based battery.
As SMBUS only provides 16-bit for current, it could only be +-32768mA which is about +-32A.
But with proper treatment, it could be extended with little accuracy loss.
This factor can be set for individual battery system with available information.
    * Relative SOC introduced. Proper SMBUS battery should provide percentage of remaining battery
directly. Therefore it does not have to be computed like before.
    * State of Health introduced. Proper SMBUS battery should provide SOH value.
    * Max error: this shows estimation error of BMS.
 * Enhancement: With smart battery, precise estimation of time remaining is provided
with impedance track. It is unit of minute, so 60 seconds multiplied.
Update rate of this is not fast, but very useful.

Co-authored-by: Hyon Lim <lim@uvify.com>
2020-03-31 17:28:22 -04:00
Daniel Agar 39b47e63b5 boards: airmind mindpx-v2 switch to new mpu6000 and mpu6500 drivers 2020-03-31 16:28:45 -04:00
Daniel Agar 2b82b471c1 sensor_accel_fifo increase to 32 samples 2020-03-31 13:26:50 -04:00
Julian Oes 2a37321293 mavsdk_tests: wait a bit longer for gazebo command
Otherwise this triggers in CI sometimes.
2020-03-31 14:37:37 +02:00
Julian Oes 0edc2aa334 mavsdk_tests: don't stall on timeout 2020-03-31 14:37:37 +02:00
Silvan Fuhrer 477092fa24 Fw pos control move to local pos: minimal changes to make it compile
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-03-31 15:03:23 +03:00
Daniel Agar 59a7262c31 FW use lpos 2020-03-31 15:03:23 +03:00
David Jablonski d303b73bc3 respected reviewer comments 2020-03-31 09:23:52 +02:00
David Jablonski 12687f7d8f use memcpy instead of strncpy 2020-03-31 09:23:52 +02:00
David Jablonski a0bf7425ae Implemented multipart status message 2020-03-31 09:23:52 +02:00
Matthias Grob 49d22edc33 battery: cell voltage fill refactor 2020-03-31 09:14:50 +02:00
Timothy Scott 14a61a6695 Fixed reporting of battery voltages in uORB 2020-03-31 09:14:50 +02:00
Hamish Willee d609639367 roboclaw: Link to user manual updated 2020-03-31 08:36:38 +02:00
JacobCrabill 46aab317d5 uavcan: bug fix sensor bridge init failure
Fixes case where a UAVCAN SensorBridge has callback channels available,
but NuttX / uORB does not have an additional driver / topic instance
available.
2020-03-30 22:44:25 -04:00
mohammad 531efc2d53 mavlink: add ACTUATOR_CONTROL_TARGET1 to stream list
- closes https://github.com/PX4/Firmware/issues/14369
2020-03-30 18:33:34 -04:00
Beat Küng a556a44a57 i2c_spi_buses: print an error if a driver does not pass the I2C address 2020-03-30 15:55:24 -04:00
Beat Küng 82c7908a2d fix ist8310: pass I2C address to I2CSPIDriver
since it is configurable.
2020-03-30 15:55:24 -04:00
Beat Küng cc6ae7ad41 fix omnibus/f4sd: bmp280 start 2020-03-30 15:52:41 -04:00
Beat Küng fc3b497b41 omnibus/f4sd: switch over mpu6000 driver
I'm seeing 'mpu6000: FIFO empty: 49 events' increasing, but that is
epxected as there's no DRDY.
2020-03-30 15:52:41 -04:00
TSC21 1f90a65265 update submodule micro-CDR 2020-03-30 20:02:35 +01:00
Roman Dvořák b02e209507 Remove duplicite data from RPM message and enable logging of RPM message 2020-03-30 13:08:53 -04:00
David Jablonski 536cd6cb1a allow DO_CONTROL_VIDEO in missions 2020-03-30 17:10:36 +02:00
David Jablonski 6bd191a24e Mavlink: Implemented SET_CAMERA_ZOOM 2020-03-30 17:10:36 +02:00
TSC21 73f7243bc8 add links on tokens for the Github Actions pages 2020-03-30 14:59:53 +01:00
Daniel Agar a38d4192ab boards: airmind mindpx-v2 fix L3GD20 DRDY pin 2020-03-30 09:21:00 -04:00
TSC21 a71df40a8e Github Actions: update workflow naming 2020-03-30 13:56:42 +01:00
TSC21 f52739cc09 add Github Actions build status token to Nuttx targets and SITL Tests 2020-03-30 13:56:42 +01:00
bresch 027db4bdbd Github Actions: update firmware docker repo 2020-03-30 13:25:00 +02:00
kamilritz 2fa43419d2 Interface: output vector quantities by "return-by-value" 2020-03-30 13:07:00 +02:00
kamilritz 72d8f91b4d Innovation getters: Add const modifier 2020-03-30 13:07:00 +02:00
Paul Riseborough 89b5c77d5d EKF: Enable GPS flight without magnetometer (#770)
* EKF: Enable GPS flight without magnetometer

Enables takeoff in a non-GPS flight mode with mag fusion type set to MAG_FUSE_TYPE_NONE. After sufficient movement the EKF will reset the yaw tot he EKF-GSF estimate. After that GPS fusion will commence.

* EKF: Fix unconstrained yaw and yaw variance growth when on ground

* EKF: Ensure first yaw alignment can't be blocked

* EKF: Increase yaw variance limit allowed for alignment

Flight test data indicates that an uncertainty value of 15 deg still provides a reliable yaw estimate and enables an earlier alignment/reset if required.

* EKF: Remove unexecutable code

* EKF: Restructure heading fusion

* EKF: parameterise quarter variance check and retune default value

* EKF: Pass by reference instead of pointer

* EKF: Clarify reset logic

* EKF: Remove incorrect setting of mag field alignment flag

* EKF: Non-functional tidy up

* EKF: Fix non-use of function argument

The updateQuaternion function was using the _heading_innovation class variable instead of setting it using the innovation argument.

* EKF: Fix undefined variable

* EKF: Use single precision atan2

* EKF: remove unnecessary timer reset and unwanted execution of reset function

* EKF: Don't declare a mag fault when non-use is user selected

Doing so produces unnecessary user alerts.
2020-03-30 20:05:38 +11:00
TSC21 5b03f80376 Github Actions: improve the container matrix usage 2020-03-30 09:51:57 +01:00
TSC21 40a99f940a bump container tags to 2020-03-29 2020-03-30 09:51:57 +01:00
TSC21 43440b9797 ci: github: sitl_tests: add matrix for parallel build in Ubuntu Bionic and Focal 2020-03-30 09:51:57 +01:00
TSC21 ad143f5801 ci: github: bloaty: add matrix for parallel build in Ubuntu Bionic and Focal 2020-03-30 09:51:57 +01:00
TSC21 92e0a301ba ci: github: build_tests: add matrix for parallel build in Ubuntu Bionic and Focal 2020-03-30 09:51:57 +01:00
TSC21 cdbdb2f72c ci: github: ccpp: use 'matrix' to set the containers to run 2020-03-30 09:51:57 +01:00
TSC21 947219db7f ci: github: ccpp: add Ubuntu Focal build job 2020-03-30 09:51:57 +01:00
Matthias Grob bda072512a rc.vtol_defaults: reduce maximum jerk to 4.5 m/s³ based on testing feedback
@fury1895 reported very valuable feedback from testing
the acceleration feed-forward on VTOL:
> MPC_JERK_MAX 4.5 (from 5 on it felt too aggressive)
> MPC_JERK_AUTO 4
> some hovering, some transitions, and a mission. Everything good.
> I'd say you feel the difference in position mode and you see it in
> Auto modes. Great improvement!
2020-03-30 09:58:39 +02:00
Matthias Grob f6ceb08522 FlightTaskTransition: don't overwrite setpoints with estimates
Previously acceleration setpoints were not executed and just used
to pass a possible rough initialization value for the next task. Now
they get executed by the multicopter controller and hence
overwriting them with rough estimates doesn't work anymore.
2020-03-30 09:58:39 +02:00
Matthias Grob 58fd3e2ddc PositionControl: fix horizontal integral anti-windup 2020-03-30 09:58:39 +02:00
Matthias Grob 91057fe024 FlighTasks: remove FlightTaskSport
This mode was just kept as an example after
its usage in a single case. It's basically untested
and doesn't make much sense anymore since it's
incompatible with the jerk limited trajectory
implementations. It's implementation only switched
hte configuration parameter of the velocity resulting
from maximum stick deflection to be
MPC_XY_VEL_MAX instead of MPC_VEL_MANUAL.
This is according to todays understanding undesired
because when hitting that limit the position
controller has no room for corrections anymore.

Also it saves some flash space on omnibus to remove
the task at this point and makes romm for the
acceleration feed-forward.
2020-03-30 09:58:39 +02:00
Matthias Grob bc2579f3be mc_pos_control_params: lower jerk configuration
because of tighter tracking with acceleration feed-forward.
2020-03-30 09:58:39 +02:00
Matthias Grob b79b095ce7 FlightTasks: adapt to acceleration based control 2020-03-30 09:58:39 +02:00
Matthias Grob b3d7445059 PositionControl: acceleration based control strategy 2020-03-30 09:58:39 +02:00
Matthias Grob 1d2ac41edc ControlMath: adding limitTilt() helper function
which takes care of limiting the lilt angle of a "body" vector with
respect to a "world" vector. Both vectors have to be unit length!
2020-03-30 09:58:39 +02:00
Matthias Grob aa53cabaa4 PositionControl: remove confusing uMin uMax alias 2020-03-30 09:58:39 +02:00
JaeyoungLim a938410c15 Add world targets and update submodules
Add world names as make targets and include the worlds by updating the submodules
2020-03-29 13:29:07 +01:00
Matthias Grob 6602e8d16b Support python3 only systems
Ubuntu 20.04 and latest Cygwin come with no Python 2 and no link
from python to python3. To not mess with the system we detect
python3 for seamless support.
2020-03-28 17:02:24 +00:00
Matthias Grob b8576cccc8 AttitudeControlTest: add scale testing for yaw weight 2020-03-28 17:51:59 +01:00
Matthias Grob 96bbc63eb1 AttitudeControl: let the user set yaw weight directly via parameter
instead of infering the yaw weight from the gains which can lead to
unexpected results depending on the particular vehicle tuning.
2020-03-28 17:51:59 +01:00
user.name 5b28847ecc Tracking commit in libuavcan submodule to set submodule branch to legacy-v0 2020-03-28 11:39:59 -04:00
Peter van der Perk 9490f41f85 rddrone-uavcan146 removed shared clock between hrt & rtc
Removed non-existing SW2 button
Fixed SW3 button pinmux
Added FlexCAN pin definition
hrt use external sirc clock
rtc use 32khz lpo clock
2020-03-28 06:31:11 -07:00
Hyon Lim eb1bad0185 A comment is added for TFmini valid minimum parameter. 2020-03-27 09:59:05 -04:00
Hyon Lim 7e7506ec52 Enhancement: 0.3 for TFMini was too low, as TFmini outputs slightly more than 0.3 when it is very near to the ground.
This cause EKF not fallback to barometer in worst case.
2020-03-27 09:59:05 -04:00
Beat Küng e5dd2e7a19 mag_compensation.py: some minor fixes + indentation 2020-03-27 11:07:50 +01:00
Dusan Zivkovic 26a8707298 flight task auto: set acceptance radius when setting loiter as a responce to invalid setpoint 2020-03-26 21:02:20 +01:00
Daniel Agar 28dc225015 add SENS_EN_PAW3902 to start paw3902 optical flow sensor 2020-03-26 13:08:59 -04:00
Beat Küng 2b360bfd48 rcS: fixes for SYS_USE_IO=0
rc.io is called from 2 places in rc.interface:
- if [ $OUTPUT_MODE = io -o $OUTPUT_MODE = uavcan_esc ]:
  - 'set OUTPUT_MODE io' is only set within USE_IO=yes, so removing
    the check in rc.io has no effect.
  - in case of UAVCAN, we also want the IO for RC, now covered in the next
    case.
- Further down ('Start IO for RC input if needed.').
  This is intended to start IO for RC only, when fmu is already started.
  However the previous check '$USE_IO = yes' in rc.io prevented that.

In addition we don't start rc_input in case of $USE_IO = no.

Fixes no RC on Pixhawk 2 with SYS_USE_IO=0.
2020-03-26 10:33:27 -04:00
Julian Oes b895a356aa cmake: fix warning
When not building for testing, test_mixer_multirotor is not available
and causes a waraning with cmake 3.17:

  This project specifies custom command DEPENDS on files in the build tree
  that are not specified as the OUTPUT or BYPRODUCTS of any
  add_custom_command or add_custom_target:

   test_mixer_multirotor
2020-03-26 14:32:03 +01:00
Travis Bottalico e898b7f110 - Remove RC_SERIAL_SINGLEWIRE, this broke Spektrum radio on last commit
- set FSYNC INT pins to 0 to be safe
2020-03-26 13:54:12 +01:00
Mathieu Bresciani 3bd09fdcd3 EKF: fix range height sensor offset (#787)
The offset needs to be updated directly when switching to range height
2020-03-26 20:22:32 +11:00
Anurag Sai Vempati bcfe56b297 replay: apply replay module params before starting ekf2 (#14478) 2020-03-26 10:02:15 +01:00
bresch dc38930bb2 AutoSmoothVel: desynchronize XY from Z for small changes in speed
This fixes the issue that makes the drone slow-down even in straight
lines due to the Z component being constrained to a really small value
2020-03-26 08:31:09 +01:00
baumanta 2103b8f7de fmu-v5_optimized: disable esc_calib 2020-03-26 08:00:30 +01:00
baumanta 7fd77fedaa add python script for offline param identification 2020-03-26 08:00:30 +01:00
baumanta 22ceeccc26 add library for current- or thrust-based mag compensation 2020-03-26 08:00:30 +01:00
Daniel Agar 44bec269b0 boards: update all NuttX configs CONFIG_NSH_MAXARGUMENTS 12 -> 15 2020-03-25 17:59:22 -04:00
Peter van der Perk a4e6f96365 rddrone-uavcan146: HRT & RTC timer support 2020-03-25 16:37:28 -04:00
Dusan Zivkovic 3d44077f2c camera_trigger: lower the polling rate from 200Hz to 20Hz to reduce the CPU load 2020-03-25 16:23:11 -04:00
Hyon Lim 2b54e19adf Script: As recent driver refactoring checkes start argument first, we change script accordingly. 2020-03-25 16:16:45 -04:00
Hyon Lim fd0ea29fc6 Board support: UVify Core. As Core is not using SPI4 as external, SPI4 external interface related code removed.
Also, PMW3901 flow sensor is added on SPI2 bus.
2020-03-25 16:16:45 -04:00
Hyon Lim 0b3624ab5f To make UVify device compatible with upload script, we changed device name to be more generalized. 2020-03-25 16:16:45 -04:00
Hyon Lim 1161dac875 Script update: PMW3901 driver argument has changed. so we change scripts and SPI interface. 2020-03-25 16:16:45 -04:00
Hyon Lim e8f0c8e239 NSH argument stack increased. Specific MAVLink configuration requires more than 12 parameters. 2020-03-25 16:16:45 -04:00
Hyon Lim afcf0960df IFO-S RGB LED app setting has been changed. 2020-03-25 16:16:45 -04:00
Hyon Lim 1a23b7c609 IFO-S parameter updated. 2020-03-25 16:16:45 -04:00
Hyon Lim 15f997d337 Airframe: IFO-S setup is added. 2020-03-25 16:16:45 -04:00
JacobCrabill f0dde45303 BMI055: Bug fix scheduling interval. 2020-03-25 10:25:59 +01:00
JacobCrabill a645822ac6 BMI088: Bug fix scheduling interval. 2020-03-25 10:25:59 +01:00
Hamish Willee 1288db9314 ekf2_params.c: EKF2_MAG_TYPE: Info about yaw without mag 2020-03-25 09:41:54 +01:00
Daniel Agar efceccd91d posix: micro_hal.h add empty px4_arch_gpiosetevent to build new Invensense drivers on linux 2020-03-25 01:05:38 -04:00
Daniel Agar 404e781cd9 px4_work_queue: increase SPI stack uniformly to silence warnings 2020-03-25 01:05:38 -04:00
Daniel Agar f4e2cd36d4 add new invensense/mpu6500 driver for airmind mindpx 2020-03-25 01:05:38 -04:00
Daniel Agar 75370ebf42 invensense/mpu9250 add ak8963 support and other minor improvements
- mag enabled with -M when starting
 - always check FIFO count before transfer
 - interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
 - rename DRV_MAG_DEVTYPE_MPU9250 -> DRV_MAG_DEVTYPE_AK8963
2020-03-25 01:05:38 -04:00
Daniel Agar d55c3d80f3 invensense/mpu6000 refactor to be consistent with new icm20602, icm20608g, etc
- always check FIFO count before transfer even with data ready
 - interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
2020-03-25 01:05:38 -04:00
Daniel Agar 279d06ee50 invensense/icm42688p driver minor improvements
- change default FIFO empty rate to 1 kHz (consistent with other drivers)
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - check interupt status and FIFO count as part of full transfer and reset or adjust timing if necessary
2020-03-25 01:05:38 -04:00
Daniel Agar 669d2ec10b invensense/icm40609d driver minor improvements
- change default FIFO empty rate to 1 kHz (consistent with other drivers)
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - check interupt status and FIFO count as part of full transfer and reset or adjust timing if necessary
2020-03-25 01:05:38 -04:00
Daniel Agar c6825aa177 invensense/icm20689 driver minor improvements
- interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
2020-03-25 01:05:38 -04:00
Daniel Agar f5fe50f839 invensense/icm20608g driver minor improvements
- interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
 - rename DRV_IMU_DEVTYPE_ICM20608 -> DRV_IMU_DEVTYPE_ICM20608G
2020-03-25 01:05:38 -04:00
Daniel Agar c4fbea32c1 invensense/icm20602 driver minor improvements
- interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
2020-03-25 01:05:38 -04:00
JaeyoungLim e2d2ae29a9 Add sonoma raceway world 2020-03-24 19:32:12 +00:00
TSC21 c4f8f39ca9 microRTPS: templates: use full version comparison when checking for version 1.7 2020-03-24 17:47:39 +00:00
TSC21 1b453ed849 microRTPS: templates: check only the major and minor of FastRTPS to set the 'discovery_config' namespace 2020-03-24 16:43:12 +00:00
Daniel Agar a13e8e573e boards: fmu-v2/v3 rc.board_sensors remove obsolete hmc5883 argument
- try to keep fmu-v2/v3 mostly in sync
2020-03-24 09:46:20 -04:00
Beat Küng 81dc73b752 fmu-v5_optimized: disable bl_update
to reduce FLASH usage
2020-03-24 09:46:20 -04:00
Beat Küng 7ea8dff8db spi: do not deselect other chip-selects
And make sure on reset & init everything is deselected.

Reduces CPU load on a pixhawk cube by almost 1%.
2020-03-24 09:46:20 -04:00
Beat Küng 1612f4c2ed SPI: disable SPI locking where possible
It's not possible for buses that run both NuttX and PX4 drivers, e.g.
Pixracer.

Reduces CPU load:
- v5x: 2.5%
- v3 (pixhawk cube): 4.4%
2020-03-24 09:46:20 -04:00
Beat Küng 6a41c9e417 refactor fxos8701cq: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 5fa4cd1019 refactor fxas21002c: use driver base class 2020-03-24 09:46:20 -04:00
Daniel Agar 6fd027c4dd refactor icm40609d: use driver base class 2020-03-24 09:46:20 -04:00
Daniel Agar 6e9bc50bec refactor icm42688p: use driver base class 2020-03-24 09:46:20 -04:00
Daniel Agar 974cb30b6d nxp_rddrone-uavcan146 ignore i2c for now (platform support is incomplete) 2020-03-24 09:46:20 -04:00
Daniel Agar 532ccd18ad refactor qmc5883: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng b156fe5787 boards: remove deprecated SPI + I2C defines from board_config.h
chip-selects are deselected in stm32_spiinitialize()
2020-03-24 09:46:20 -04:00
Beat Küng f4ab1b8a78 fix px4moduledoc: typo in 'External I2C bus(es)' 2020-03-24 09:46:20 -04:00
Beat Küng 2ca49cc718 differential_pressure drivers: add module subcategory documentation 2020-03-24 09:46:20 -04:00
Beat Küng f74474dd55 fmuk66-v3: fix spi bus numbering passing to px4_spibus_initialize
Fixes an error on bootup ([boot] FAILED to initialize SPI port 0). Other
than that, everything was working.
2020-03-24 09:46:20 -04:00
Beat Küng 04cffce992 refactor aerofc_adc: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 842f656143 mtd.cpp: remove use of PX4_I2C_BUS_ONBOARD 2020-03-24 09:46:20 -04:00
Beat Küng ee49e500e7 refactor ist8308: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 030ba24f53 refactor pca9685: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 6588dd0861 refactor icm20948: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 924f46ee28 refactor icm20608g: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng c4a19c8852 refactor icm20689: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 1df0fe03d7 refactor mpu6000: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 571451942d refactor mpu9250: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 609eafd4cd refactor l3gd20: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 6cf4de9e02 refactor lsm303d: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 3423809cd9 refactor ism330dlc: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2d6a9ae1fb lsm9ds1: cleanup + consistency with other drivers 2020-03-24 09:46:20 -04:00
Beat Küng 00280d55c2 refactor rm3100: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2fa289bbad lsm9ds1_mag: cleanup + consistency with other drivers 2020-03-24 09:46:20 -04:00
Beat Küng 74db018012 refactor lsm303agr: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 4d511868e6 refactor lis3mdl: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 785f18ebf8 refactor bmi160: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 54da4997ad refactor bmi088: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng aad6fe6f03 refactor bma180: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 17761acd49 refactor adis16497: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 1f152d7d43 refactor adis16477: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng d15fa82841 refactor adis16448: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 7626be0485 refactor mpu9250: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 6ad5357d1a SPI+I2C: remove unused defines and printf's 2020-03-24 09:46:20 -04:00
Beat Küng 2f3174abb0 refactor icm20602: use driver base class 2020-03-24 09:46:20 -04:00
TSC21 975227c52a Tools: setup: add 'packaging' to the requirements list 2020-03-24 13:31:41 +00:00
Matthias Grob 6570e1fe40 appveyor: switch to Cygwin toolchain v0.9
to have packaging python 3 package.
See https://github.com/PX4/windows-toolchain/releases/tag/v0.9
2020-03-24 13:31:41 +00:00
TSC21 6598ce5a46 CI: bump container tags to 2020-03-16 2020-03-24 13:31:41 +00:00
TSC21 1ea5280299 microRTPS: use package.version to compare FastRTPS lib versions 2020-03-24 13:31:41 +00:00
bresch 1f4b2d1d53 Commander: replace deprecated warnx by PX4_WARN 2020-03-23 13:45:00 +01:00
bresch c23ef0af4b Flight termination: lockdown if failure is detected on takeoff
During the first few seconds after takeoff, the failure detector is allowed to
trigger motor lockdown.
This is done for safety reasons to detect tipping-over or unstable
tuning gains
2020-03-23 13:45:00 +01:00
bresch 5babf644f0 MPC: limit tilt to maximum safe value of 89 degrees
The algorithm fails at 90 degrees due to tanf being INF
2020-03-23 13:36:23 +01:00
JaeyoungLim 315135c07e Fix indentation in run script and update submodule 2020-03-23 10:55:13 +01:00
Julian Oes 103bfd0d30 mavsdk_tests: fix wait script output 2020-03-23 10:55:13 +01:00
Julian Oes 29c102b205 mavsdk_tests: wait for gz to run for model spawn 2020-03-23 10:55:13 +01:00
JaeyoungLim b1d3b95ebf Add gzmdoelspawning to mavsdk tests 2020-03-23 10:55:13 +01:00
JaeyoungLim 2ef37cd065 Spawn models separately from gazebo models
Detach model spawning process from the world description file, so that the same model can be used with different worlds
2020-03-23 10:55:13 +01:00
Matthias Grob 976ada411b Matrix: min max comments and test style 2020-03-23 09:46:07 +01:00
Matthias Grob fa7153ecfb Matrix: omit min max nan case with same result
I observed this during review in
https://github.com/PX4/Matrix/pull/105/files#r348386226
2020-03-23 09:46:07 +01:00
Daniel Agar 8738c26426 boards: enable NuttX SPI DMA buffers
- update to NuttX with stm32f4 and stm32f7 SPI DMA internal buffers
 - remove explicit DMA buffer allocations from new IMU drivers
 - restore original BOARD_DMA_ALLOC_POOL_SIZE
 - decrease SPI DMA thresholds based on fmu-v2/v3/v4/v5 bench testing
2020-03-22 19:24:26 -04:00
Daniel Agar b73ec18abb boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -04:00
JacobCrabill 1e5784609f UAVCAN Sensors: Improve error handling
Also add new 'generic' device types for UAVCAN sensors

Other misc. cleanup and style changes.
2020-03-21 12:39:29 -04:00
Jacob Crabill 693a47fca3 Update src/drivers/uavcan/sensors/baro.cpp
Use absolute-zero constant instead of 273.15f

Co-Authored-By: Daniel Agar <daniel@agar.ca>
2020-03-21 12:39:29 -04:00
JacobCrabill 4c8cfa140a UAVCAN: Overhaul SensorBridge drivers
Supposedly multiple sensor callbacks were supported; in reality, this
was not the case, as the mag SensorBridge in particular can only
calibrate one compass, leading to a race condition on which compass
appears first on the bus to get published and calibrated (with no
warning to the user that the 'wrong' compass is being used).

For sensors with existing generic driver classes (baro and mag) the
sensor bridges use these classes for the driver registration, and uORB
publication, and calibration interface (ioctl) handling.
2020-03-21 12:39:29 -04:00
JacobCrabill 79dc313260 uavcan: Add device IDs to baro, flow publishers
Can now see proper UAVCAN bus and unique device ID for barometer
instances; optical flow will also have the UAVCAN node ID assigned as
sensor ID.
2020-03-21 12:39:29 -04:00
JacobCrabill 71e4a36ba4 UAVCAN: GNSS sensor bridge: Support multiple pubs
UavcanGnssBridge did not support more than 1 GNSS callback/publisher.
This has now been fixed; it works the same as the baro, mag, and flow
sensor bridges.  The EKF2 still doesn't support more than 2 GPS
publishers, however.
2020-03-21 12:39:29 -04:00
Beat Küng 1fe79818d9 fix IntrusiveQueue::remove: several bugs that led to improper state of the queue
We also have to set removeNode->next to null, as it is used to test if the
item is in the queue.
2020-03-21 12:00:09 -04:00
Beat Küng 336745f9f7 tfmini: reduce sampling rate from 10kHz to 143Hz
10kHz sampling seems excessive, given that the sensor is expected to output
at 100Hz.

Also don't reschedule immediately in case we have not received any data.
2020-03-21 12:00:09 -04:00
bazooka joe ad2d65df8d return with error from _log_request_list() in case of failed allocation 2020-03-21 16:50:46 +01:00
Jacob Dahl b566de2c36 uavcannode: GPS add timestamp, covariance, and corrected integer overflow on lat/lon 2020-03-21 11:43:56 -04:00
TSC21 341dd6ba26 update submodule src/lib/ecl 2020-03-20 23:18:04 +01:00
TSC21 870ec380f1 elk_helper: use ISFINITE macro instead of isfinite() 2020-03-20 22:42:46 +01:00
rolandash 7d7fe9e4da Add onboard qmc5883 support for MindPX/MindRacer. 2020-03-20 13:19:53 -04:00
Daniel Agar 1be959cba8 InvenSense ICM-40609-D IMU driver
This is another new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, and accel range 32G. Overall quite similar to the ICM-42688-P added in #14420, but with doubled accel range and without the optional high resolution output or clock sync.
2020-03-20 13:02:13 -04:00
Daniel Agar 46e5364580 InvenSense ICM-42688-P IMU driver
This is a new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, optional higher resolution output (18 bit accel, 19 bit gyro), and clock sync.
2020-03-20 13:01:02 -04:00
Nico van Duijn 240aad1aef mavlink_mission: beautify mission download error
This commit makes the IGN REQUEST LIST: Busy message more user-oriented
and actionable.
2020-03-20 12:54:00 +01:00
Nico van Duijn 849d3a1b54 mavlink_mission: robustify against dropped ack
This commit handles incoming MISSION_REQUEST_LIST messages such that
they are no longer ignored if the previously requested mission has
sent all mission items but the ack has never been received.

This was the cause for frequent "IGN REQUEST LIST: Busy" warnings
2020-03-20 12:54:00 +01:00
SalimTerryLi dc8e775d8f ADC: replace ioctl with uorb message (#14087) 2020-03-20 11:23:32 +01:00
Beat Küng 40af5b0fbe logger: fix initial subscribing to topics
write_all_add_logged_msg() requires at least some subscriptions to be added
initially, as this message is used to separate ULog header from data.
2020-03-20 11:21:32 +01:00
Daniel Agar fb27d96ca1 Update submodule mavlink v2.0 to latest Fri Mar 20 00:38:07 UTC 2020
- mavlink v2.0 in PX4/Firmware (0213fd662a): https://github.com/mavlink/c_library_v2/commit/82bef70f12492a4fb17456534a3ce068f4647502
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/11589a51bec0e96ffe80366c387997f7c44cffa3
    - Changes: https://github.com/mavlink/c_library_v2/compare/82bef70f12492a4fb17456534a3ce068f4647502...11589a51bec0e96ffe80366c387997f7c44cffa3

    11589a51 2020-03-19 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/5a18bf9101863e020ddb18617b2d210258c9069f

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-03-19 21:21:08 -04:00
Daniel Agar 6c513cf29d Update submodule GPS devices to latest Fri Mar 20 00:38:17 UTC 2020 (#14432)
- GPS devices in PX4/Firmware (daf8a9fb12097b09fa1291b16cfe88f10a53b193): https://github.com/PX4/GpsDrivers/commit/c25a8f22c43e22b7c23106470b08fb17678042ef
    - GPS devices current upstream: https://github.com/PX4/GpsDrivers/commit/0cd890ac60dbf6e535ccd966f98b85a33eddcc72
    - Changes: https://github.com/PX4/GpsDrivers/compare/c25a8f22c43e22b7c23106470b08fb17678042ef...0cd890ac60dbf6e535ccd966f98b85a33eddcc72

    0cd890a 2020-03-19 Daniel Agar - ubx: fix whitespace

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-03-19 21:20:38 -04:00
bresch 0213fd662a update ecl 2020-03-19 20:27:39 +03:00
bresch 0f2f72a757 Ekf2: Add bitmask to select terrain estimator aiding sources 2020-03-19 20:27:39 +03:00
bresch 20c3db69e4 Terrain Est: Add sensor aiding bitmask
This adds the ability to select range finder and/or optical flow fusion for
terrain estimate.
2020-03-19 17:53:30 +01:00
Daniel Agar e5d30c4413 Mavlink: split ESTIMATOR_STATUS and VIBRATION streams 2020-03-19 11:17:31 -04:00
bazooka joe 7b37f329f0 batt_smbus fixes
fixed wrong calculation of max_cell_voltage
adding missed max_cell_voltage_delta
some code beautify
2020-03-19 09:34:02 +01:00
bazooka joe 53bc5fddad smbus return with error if failed transfer 2020-03-19 09:34:02 +01:00
Julian Oes 6d654cb50b mavsdk_tests: improve usage text
These are improvements based on the review by @hamishwillee
in https://github.com/PX4/Devguide/pull/982.
2020-03-19 08:53:21 +01:00
Matthias Grob d0349fcf07 mc_pos_control: allow zero thrust during takeoff and landing
Otherwise the takeoff ramp doesn't start with zero thrust and
the land thrust cut cannot cut to zero.
2020-03-18 20:36:05 +01:00
Matthias Grob 5027c68c0a mc_pos_control: handle takeoff and landing thrust limit the same way
The landing thrust limit was after the position controller and
could be inconsistent with what the takeoff limit did. This
resulted in different thrust values sequentially getting applied
during landing.
2020-03-18 20:36:05 +01:00
Matthias Grob 3049a3d14d mc_pos_control: prevent takeoff with thrust setpoint
This was only necessary for stabilized mode before #10805.
The  unit length thrust setpoint will anyways not be available
anymore soon because it gets replaced with the acceleration
setpoint in m/s².
2020-03-18 20:36:05 +01:00
Matthias Grob 1f98ebdb47 mc_pos_control: switch order of setpoint amendment
to make sure the takeoff limitation is always done last.
2020-03-18 20:36:05 +01:00
bresch a8063ac948 HTE: enable by default 2020-03-18 19:47:30 +01:00
Julian Oes 89599f345f mavsdk_tests: c++ test_runner is now mavsdk_tests 2020-03-18 17:57:41 +00:00
Julian Oes ade39481ad mavsdk_tests: only env vars that are set
Otherwise this raises a KeyError.
2020-03-18 17:57:41 +00:00
Julian Oes 5ea40c57c6 workflows: add more tests outside of Europe 2020-03-18 17:57:41 +00:00
Julian Oes 759e3d6a04 mavsdk_tests: pass PX4_HOME_ env variables on
This way tests can be run at different locations.
2020-03-18 17:57:41 +00:00
Julian Oes 4a91d791b1 mavsdk_tests: remove commented out code 2020-03-18 17:57:41 +00:00
Julian Oes 9d124c2b1a mavsdk_tests: a timeout of 5min should be enough 2020-03-18 17:57:41 +00:00
Julian Oes 23a3002178 github: try to get latest tools using pip 2020-03-18 17:57:41 +00:00
Julian Oes 6dfe0c3d72 github: new check for MAVSDK tester Python scripts 2020-03-18 17:57:41 +00:00
Julian Oes eb1141bbea mavsdk_tests: remove unused import 2020-03-18 17:57:41 +00:00
Julian Oes c6160d4e3f mavsdk_tests: fix error for Python < 3.8 2020-03-18 17:57:41 +00:00
Julian Oes 41341cd985 mavsdk_tests: name files consistently 2020-03-18 17:57:41 +00:00
Julian Oes b5048a3414 mavsdk_tests: add header and fix style 2020-03-18 17:57:41 +00:00
Julian Oes 9b61ce1006 Tools: check style of mavsdk_tests files 2020-03-18 17:57:41 +00:00
Julian Oes 4905ac5e2c mavsdk_tests: add filter for cases 2020-03-18 17:57:41 +00:00
Julian Oes 79387428c6 mavsdk_tests: fix missing space after number 2020-03-18 17:57:41 +00:00
Julian Oes 3f1990b083 mavsdk_tests: print where to find logfiles 2020-03-18 17:57:41 +00:00
Julian Oes 188177cef6 mavsdk_tests: print error on failure 2020-03-18 17:57:41 +00:00
Julian Oes ab2186f126 mavsdk_tests: improve and fix colors/result 2020-03-18 17:57:41 +00:00
Julian Oes b1ceef5b93 mavsdk_tests: add combined log 2020-03-18 17:57:41 +00:00
Julian Oes 814d79cb32 mavsdk_tests: improve log file folder structure 2020-03-18 17:57:41 +00:00
Julian Oes 8283d19682 mavsdk_tests: print overall results 2020-03-18 17:57:41 +00:00
Julian Oes a208129921 mavsdk_tests: satisfy mypy type checks 2020-03-18 17:57:41 +00:00
Julian Oes 12252c97c5 mavsdk_tests: further argument cleanup, some types 2020-03-18 17:57:41 +00:00
Julian Oes ff64d87ae6 mavsdk_tests: import naming, easier coloring 2020-03-18 17:57:41 +00:00
Julian Oes 11a28840f3 mavsdk_tests: split up Python script
Otherwise, the script will get a tangled mess.
2020-03-18 17:57:41 +00:00
Julian Oes b281d87b4a mavsdk_tests: initialize Tester class in ctor 2020-03-18 17:57:41 +00:00
Julian Oes e2c80e546d mavsdk_tests: properly exit on Ctrl+C
With threads we need to manually take care of it, otherwise it gets
messy and we need to press Ctrl+C multiple times.
2020-03-18 17:57:41 +00:00
Julian Oes 2c2e314ffe mavsdk_tests: improve output, allow log and stdout
This makes it possible to write to logfiles and at the same time print
everything to console in verbose mode.
2020-03-18 17:57:41 +00:00
Julian Oes d7eb600b59 mavsdk_tests: improve test name/description 2020-03-18 17:57:41 +00:00
Julian Oes b2e300ad1f mavsdk_tests: improve test output readability 2020-03-18 17:57:41 +00:00
Julian Oes 54645268ed mavsdk_tests: only print error on failure 2020-03-18 17:57:41 +00:00
Julian Oes 911cdc8774 mavsdk_tests: output less verbose unless needed 2020-03-18 17:57:41 +00:00
Julian Oes 0989e90b4a Tools: exit as straightaway with DONT_RUN set 2020-03-18 17:57:41 +00:00
Julian Oes bfef243dba mavsdk_tests: write output to logs folder
And create folder if it doesn't exist already.
2020-03-18 17:57:41 +00:00
Julian Oes 5ba28d417a mavsdk_tests: try using tags as intended
The tags should enable use to assemble the tests in various ways. This
will probably require some iterations though.
2020-03-18 17:57:41 +00:00
Julian Oes 512faa6ebe mavsdk_tests: use CHECK if we don't need to abort 2020-03-18 17:57:41 +00:00
Julian Oes 821f7c3cd9 mavsdk_tests: remove unused/not working test
We can add it again once fixedwing is supported. Until then, this is
just confusing.
2020-03-18 17:57:41 +00:00
Julian Oes fb5b05ec39 mavsdk_tests: add missing unit 2020-03-18 17:57:41 +00:00
Julian Oes a5d1ce91e4 mavsdk_tests: consolidate level of abstraction
This moves the CHECK/REQUIRE inside of AutopilotTester.
2020-03-18 17:57:41 +00:00
Julian Oes 6a4a4bd0d6 workflows: adapt to mavsdk_tests cli changes 2020-03-18 17:57:41 +00:00
Julian Oes 70eb444f17 mavsdk_tests: improve naming of argument
We abort when we already failed so this makes more sense.
2020-03-18 17:57:41 +00:00
Julian Oes 41b2362dcf mavsdk_tests: add more config into JSON 2020-03-18 17:57:41 +00:00
Julian Oes c61cd10db5 mavsdk_tests: without speedup the VTOL takes time 2020-03-18 17:57:41 +00:00
Julian Oes b4916fdecb mavsdk_tests: move config into json file 2020-03-18 17:57:41 +00:00
Julian Oes 44a556717d mavsdk_tests: remove plane tests
We can put them back once it's supported.
2020-03-18 17:57:41 +00:00
Julian Oes ae2032d29f mavsdk_tests: use the min of the speed factors
Facepalm.
2020-03-18 17:57:41 +00:00
Julian Oes 86f24f5121 mavsdk_tests: remove opt_flow test
It doesn't actually seem to work.
2020-03-18 17:57:41 +00:00
Julian Oes b7e8837562 mavsdk_tests: add max speed factor
This is required because some tests don't work at more than 1x.
2020-03-18 17:57:41 +00:00
Julian Oes 795e000c2b simulator: remove redundant semicolon 2020-03-18 17:57:41 +00:00
Julian Oes d8b6c864cd mavsdk_tests: PEP8 fixes 2020-03-18 17:57:41 +00:00
Julian Oes e8e8b79322 mavsdk_tests: MAVSDK is required
Without the library installed, we can't build and run the tests.
Silently ignoring this just leads to confusion.
2020-03-18 17:57:41 +00:00
bresch f38388cdab YawEst: simplify AHRS accelerometer gain computation
Replace the multiple if-else statements by a generic equation.
- For a multicopter, the attenuation factor is 2 and symmetrical
- For a fixedwing, the attenuation factor is 1 if the acceleration is
positive and that centripetal correction is available and 2 otherwise.

Note that the function "sq" needs to be const in order to be used in a
const function.
2020-03-18 17:45:13 +01:00
PX4 BuildBot 32a6a4e8d8 Update submodule ecl to latest Wed Mar 18 12:38:43 UTC 2020
- ecl in PX4/Firmware (e34351229b4d9de251c495ee49e7c709a93b2521): https://github.com/PX4/ecl/commit/f1aa53db8a8053e5f27a698084a7362f727ce375
    - ecl current upstream: https://github.com/PX4/ecl/commit/ee5e3c479b85876dcb7bf451884e40c72a716fd7
    - Changes: https://github.com/PX4/ecl/compare/f1aa53db8a8053e5f27a698084a7362f727ce375...ee5e3c479b85876dcb7bf451884e40c72a716fd7

    ee5e3c4 2020-03-18 CarlOlsson - ekfgsf: fix formatting
f20fc08 2020-03-17 Mathieu Bresciani - ekf2: centralize mag covariance reset (#693)
2020-03-18 12:39:33 -04:00
Daniel Agar b703ffa188 Update submodule mavlink v2.0 to latest Wed Mar 18 12:38:27 UTC 2020
- mavlink v2.0 in PX4/Firmware (d6bb5b3b9e): https://github.com/mavlink/c_library_v2/commit/e8bdbcfbacccd79fc678f5c6755c8fb680021199
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/82bef70f12492a4fb17456534a3ce068f4647502
    - Changes: https://github.com/mavlink/c_library_v2/compare/e8bdbcfbacccd79fc678f5c6755c8fb680021199...82bef70f12492a4fb17456534a3ce068f4647502

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-03-18 12:06:25 -04:00
PX4 BuildBot 640c245c44 Update submodule devices to latest Wed Mar 18 12:38:39 UTC 2020
- devices in PX4/Firmware (5ba8a9f62ff93843185979b3881eb7125ffc42cc): https://github.com/PX4/GpsDrivers/commit/781d4f125580d88d24add83b97017e6d771d757f
    - devices current upstream: https://github.com/PX4/GpsDrivers/commit/c25a8f22c43e22b7c23106470b08fb17678042ef
    - Changes: https://github.com/PX4/GpsDrivers/compare/781d4f125580d88d24add83b97017e6d771d757f...c25a8f22c43e22b7c23106470b08fb17678042ef

    c25a8f2 2020-03-16 Nicolas Martin - ubx: fix baud rate search
2020-03-18 12:05:16 -04:00
Daniel Agar 0da7040cf5 beaglebone blue add empty px4_spi_buses 2020-03-18 11:55:11 -04:00
Daniel Agar df5fe85cf6 github actions add linux builds 2020-03-18 11:55:11 -04:00
Julian Oes 3233e0794d navigator: fix edge case with valid idle setpoint
This is an attempt to fix an edge case in the triplet publication which
can lead to crashes on autopilots with slow SD cards.

The sequence of events before this patch is:
1. Switch to POSCTL when disarmed. At this point current valid with
   setpoint idle is published.
2. Arm, takeoff, and fly using joystick/RC.
3. Switch to RTL (or trigger RTL using RC loss). At this point the
   setpoint is valid but still idle and the motors will shut off.
4. Once navigator has published the new setpoint (which can take up to
   1.5 seconds on slow SD cards) we will hopefully recover.

With this patch we omit this edge case, so we never publish this idle
setpoint when landed. The assumption is that this idle setpoint is no
longer required with the current flight task code, however, that needs
to be further verified.
2020-03-18 10:50:03 -04:00
CarlOlsson 58ded8d4c0 ekf2: remove unused function declatation 2020-03-18 14:33:11 +01:00
CarlOlsson ee5e3c479b ekfgsf: fix formatting 2020-03-18 08:34:02 +01:00
Beat Küng d6bb5b3b9e i2c spi buses: enforce drivers to set default SPI/I2C bus frequency
Not a lot of drivers use the global default, which is somewhat arbitrary.
2020-03-17 23:31:17 -04:00
Beat Küng 8ebde51648 refactor hmc5883: use driver base class
Removes the calibration on startup, as these values were overwritten by
the system calibration values anyway.
So the only difference is that if all calibration scales were equal to 1,
the driver startup would have failed.
2020-03-17 23:31:17 -04:00
Beat Küng 8f3ba81c4a refactor atxxxx: use driver base class
and increase update rate to 20Hz
2020-03-17 23:31:17 -04:00
Beat Küng 20db735d77 refactor ak09916: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 47b329cc54 refactor bmm150: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng e4bf535595 refactor bst telemetry: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng fb6ce09dc4 refactor pcf8583: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng bb4ff04caf refactor irlock: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 1710cd9648 refactor px4flow: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng b6119c71df refactor paw3902: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 82f92b56db batt_smbus: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng ec2de33547 lights: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 692d262e0e refactor voxlpm: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 832ccd262e refactor ina226: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng d6b9cfa3e2 pga460: fix documentation 2020-03-17 23:31:17 -04:00
Beat Küng 68ef14002a differential_pressure drivers: allow multiple instances of each driver
- the device path needs to be removed, as startup fails if it already
  exists
- sdp3x broadcasts a reset on startup, so do it only for the first I2C
  address
2020-03-17 23:31:17 -04:00
Beat Küng 3b7b2dc871 differential_pressure sensors: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 0924ff7fcf refactor vl53lxx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 83b367f000 refactor teraranger: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 5a26f06f8a fix sf0x: check if device port is given
otherwise we risk dereferencing a null pointer
2020-03-17 23:31:17 -04:00
Beat Küng bbe15aa61a refactor srf02: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng a6ddf0e4b9 refactor sf1xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng f743585160 refactor mb12xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 7e3f40d1c2 refactor mappydot: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 1b1e1ba31f refactor ll40ls: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng df99555132 refactor ll40ls: split I2C and PWM into separate drivers
- there was almost nothing shared
- it will fit better into the updated I2C driver structure
2020-03-17 23:31:17 -04:00
Beat Küng 081ab729aa refactor lps25h: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng dc5ffb43a3 refactor mpl3115a2: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng d81fedfcfa refactor lps22hb: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 83a3deb9da refactor dps310: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 985bb2adc9 refactor bmp388: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng aeadf54a74 refactor bmp280: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng dbb53044ce refactor ms5611: use driver base class
Also: remove device type auto-detection as it will not work with
together with the new SPI board config (which specifies a specific
device type)
2020-03-17 23:31:17 -04:00
Beat Küng 22a38453ab refactor bmi055: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 969a77f889 refactor mpu6000: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng be0a205438 refactor ist8310: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 3e71914fae refactor lsm9ds1+lsm9ds1_mag: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 58f386a81c refactor pmw3910: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 2f4080f47b i2cdetect: remove use of PX4_I2C_BUS_EXPANSION 2020-03-17 23:31:17 -04:00
Beat Küng 971897b9ed mtd: switch to c++ and use px4_find_spi_bus 2020-03-17 23:31:17 -04:00
Beat Küng f555fe309c fmu-v5: change external i2c bus ordering to match with the label 2020-03-17 23:31:17 -04:00
Beat Küng 83b6f6456b refactor I2CSPIInstance: store running instances in a global linked list
instead of a static per-driver array.

Reduces BSS RAM usage by a couple of 100 Bytes (linear increase with num
drivers).

Downsides:
- a bit more runtime overhead
- less isolation, locking required
- a bit more complex
2020-03-17 23:31:17 -04:00
Beat Küng e7f04109d9 i2c spi init + custom methods: use WorkItemSingleShot
Use it for custom methods as well (like reset), and run by default on the
work queue, since they typically access the bus.
2020-03-17 23:31:17 -04:00
Beat Küng 8c41025565 px4_work_queue: add WorkItemSingleShot
To run a specific method on a work queue and wait for it to return.
2020-03-17 23:31:17 -04:00
Beat Küng 87cd20180c i2c spi: add unittests for BusCLIArguments 2020-03-17 23:31:17 -04:00
Beat Küng 134413233a i2c spi: extend BusCLIArguments to handle common driver arguments 2020-03-17 23:31:17 -04:00
Beat Küng d1f5b23a5a module docs: add PRINT_MODULE_USAGE_PARAMS_I2C_{SPI_DRIVER,ADDRESS}
For SPI/I2C driver default options
2020-03-17 23:31:17 -04:00
Beat Küng f851f65f8d i2c spi: add type to I2CSPIInstance
Needed to distinguish runtime instance types of the same driver (e.g.
bmi055 accel vs gyro).
2020-03-17 23:31:17 -04:00
SalimTerryLi b70289c536 move __PX4_LINUX out of px4_impl_os.cmake 2020-03-17 13:20:32 -04:00
Matthias Grob fb1b6a0ab9 mc_pos_control: hotfix for takeoff ramp stuck with NAN
Reported by @dusan19 in #13973.
2020-03-17 16:19:35 +01:00
Mathieu Bresciani f20fc08b7d ekf2: centralize mag covariance reset (#693)
* ekf2: centralize mag covariance reset. A complete and clean reset of the
mag states covariances is now performed through the "resetMagCov"
function only. This avoid having slight differences of implementations
across the code.

* Ekf: reset quat cov with initial uncertainty instead of zero
2020-03-17 20:07:20 +11:00
Matthias Grob eb3b0f6b55 mathlib: get rid of now duplicate sign() function
Instead use the one that was copied to the matrix library in
https://github.com/PX4/Matrix/pull/116/
2020-03-17 10:01:42 +01:00
Matthias Grob d313b0417a AttitudeControl: Take advantage of Quaternion.canonical()
Introduced by @kamilritz in
https://github.com/PX4/Matrix/pull/116/
2020-03-17 10:01:42 +01:00
Lorenz Meier 9275937b44 Commander: Exclude shell commands for constrained flash
These are convenience commands for developers and are not required for flash constrained targets.
2020-03-17 00:17:11 +01:00
Lorenz Meier 9119f13ff7 Commander: Do not print health flags on constrained flash
Boards with constrained flash are not classic development targets and do not need this.
2020-03-17 00:17:11 +01:00
Lorenz Meier e951123cff Health Flags: Optimize flash usage
Changing from a define to a function for reporting to safe space.
2020-03-17 00:17:11 +01:00
Lorenz Meier aea68f06f9 Commander: Streamline preflight and arming checks
The checks did previously only report the first failure (to not overload the radio link). As we are moving to buffered messages and higher bandwidth links this design choice is not any more in the best interest of the drone operator. We are now reporting all detected failures. To ensure architectural consistency more checks have been moved from the commander mainloop into the respective classes.
2020-03-17 00:17:11 +01:00
Lorenz Meier bf3b55cac7 Commander: Add function to print health flags consistently
This enables us to have better situational awareness during development and when inspecting a system in the field as to which subsystem is currently faulty. These flags are from standard MAVLink and are not sufficient nor do they match well the actual critical path to a safe flight. This will be addressed in a second step with the addition of a new MAVLink message and new flags.
2020-03-17 00:17:11 +01:00
Lorenz Meier 9d5aebd235 Commander: Run continuous pre-flight checks silently
As we are checking the current pre-flight state and validate wether the system could be armed, we do not want to spam the console or user with continously failing checks. These checks are reported to the GCS separately and are processed and displayed there.
2020-03-17 00:17:11 +01:00
Lorenz Meier 21435bd32b Report preflight and pre-arm checks from period checks
With this change we are reporting any issues we find with the periodic check.

Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2020-03-17 00:17:11 +01:00
Lorenz Meier ed0a01d5da Commander: Add reporting of preflight and prearming state
This is essential for the operator to know if the system is ready to fly.
2020-03-17 00:17:11 +01:00
Lorenz Meier 4f1749541c ROMFS: Exclude uncommon board configs (Generic 250) 2020-03-16 23:40:29 +01:00
Lorenz Meier cff36315c4 ROMFS: Exclude uncommon board configs (Beta75x) 2020-03-16 23:40:29 +01:00
Lorenz Meier f7455db20c ROMFS: Exclude uncommon board configs (Reaper) 2020-03-16 23:40:29 +01:00
Lorenz Meier 98c9e558ca ROMFS: Exclude uncommon board configs (3DR Quad) 2020-03-16 23:40:29 +01:00
Lorenz Meier 48d1c355c3 ROMFS: Exclude uncommon board configs (Solo) 2020-03-16 23:40:29 +01:00
Lorenz Meier 4c8866059d ROMFS: Exclude uncommon board configs (HK Micro) 2020-03-16 23:40:29 +01:00
Lorenz Meier ebf52a988a ROMFS: Exclude uncommon board configs (HB PX4 Vision) 2020-03-16 23:40:29 +01:00
Lorenz Meier 2e63a43ea1 ROMFS: Exclude uncommon board configs (HB S500) 2020-03-16 23:40:29 +01:00
Lorenz Meier f2037876a4 ROMFS: Exclude uncommon board configs (S500) 2020-03-16 23:40:29 +01:00
Lorenz Meier bf02b8cc72 ROMFS: Exclude uncommon board configs (QAV250) 2020-03-16 23:40:29 +01:00
Lorenz Meier 0808bc7243 ROMFS: Exclude uncommon board configs (QAVR5) 2020-03-16 23:40:29 +01:00
Lorenz Meier f660c495cb ROMFS: Exclude uncommon board configs (TBS Caipi) 2020-03-16 23:40:29 +01:00
Lorenz Meier 992adfed58 ROMFS: Exclude uncommon board configs (Parrot Disco) 2020-03-16 23:40:29 +01:00
Lorenz Meier 23bf4d5e1b ROMFS: Exclude uncommon board configs (Pigeon Airframe) 2020-03-16 23:40:29 +01:00
Lorenz Meier d397543262 ROMFS: Exclude uncommon board configs (Viper) 2020-03-16 23:40:29 +01:00
Lorenz Meier a304ce0d59 ROMFS: Exclude uncommon board configs (FX79) 2020-03-16 23:40:29 +01:00
Lorenz Meier c08128e917 ROMFS: Exclude uncommon board configs (Wing Wing) 2020-03-16 23:40:29 +01:00
Lorenz Meier 5f64efb87d ROMFS: Exclude uncommon board configs (Skywalker) 2020-03-16 23:40:29 +01:00
Lorenz Meier dd22b51606 ROMFS: Exclude uncommon board configs (Phantom) 2020-03-16 23:40:29 +01:00
Lorenz Meier 72cb9f2c1b ROMFS: Exclude uncommon board configs (Camflyer) 2020-03-16 23:40:29 +01:00
Lorenz Meier 936f93eb3a ROMFS: Exclude uncommon board configs (Generic Wing) 2020-03-16 23:40:29 +01:00
Lorenz Meier a2e2e4069b ROMFS: Exclude uncommon board configs (Dodeca Cox) 2020-03-16 23:40:29 +01:00
Lorenz Meier 47f21e42ba ROMFS: Exclude uncommon board configs (Mini Talon) 2020-03-16 23:40:29 +01:00
Lorenz Meier a1878cd1ab ROMFS: Exclude uncommon board configs (Albatross) 2020-03-16 23:40:29 +01:00
Lorenz Meier 3b7922b788 ROMFS: Exclude uncommon board configs (Maja) 2020-03-16 23:40:29 +01:00
Lorenz Meier 456958dd15 ROMFS: Exclude uncommon board configs (Standard Plane) 2020-03-16 23:40:29 +01:00
Lorenz Meier ffc718c0c2 ROMFS: Exclude uncommon board configs (AutoG2) 2020-03-16 23:40:29 +01:00
Lorenz Meier 3ab6cfe701 ROMFS: Exclude uncommon board configs (Helicopter) 2020-03-16 23:40:29 +01:00
Lorenz Meier e2429c8a7a ROMFS: Exclude uncommon board configs (Coax Heli) 2020-03-16 23:40:29 +01:00
Lorenz Meier f5db720e78 ROMFS: Exclude uncommon board configs (Tri Y-) 2020-03-16 23:40:29 +01:00
Lorenz Meier 31e776d570 ROMFS: Exclude uncommon board configs (Tri Y) 2020-03-16 23:40:29 +01:00
Lorenz Meier c4c39940de ROMFS: Exclude uncommon board configs (S250) 2020-03-16 23:40:29 +01:00
Lorenz Meier 21bcf2ff04 ROMFS: Exclude uncommon board configs (QAV250) 2020-03-16 23:40:29 +01:00
Lorenz Meier 60a1309b07 ROMFS: Exclude uncommon board configs (Kopis 2) 2020-03-16 23:40:29 +01:00
Lorenz Meier 733d3d0f13 ROMFS: Exclude uncommon board configs (DJI Matrice 100) 2020-03-16 23:40:29 +01:00
Lorenz Meier 61f4f25530 ROMFS: Exclude uncommon board configs (Aero) 2020-03-16 23:40:29 +01:00
Lorenz Meier 9e770c609d ROMFS: Exclude uncommon board configs (IFO) 2020-03-16 23:40:29 +01:00
Lorenz Meier db9f2700f6 ROMFS: Exclude uncommon board configs (Draco) 2020-03-16 23:40:29 +01:00
Lorenz Meier 7b94a2da80 ROMFS: Exclude uncommon board configs (ZMR250) 2020-03-16 23:40:29 +01:00
Lorenz Meier 41f9df6cf8 ROMFS: Exclude uncommon board configs (Nanomind) 2020-03-16 23:40:29 +01:00
Lorenz Meier 59ee1f0a29 ROMFS: Exclude uncommon board configs (Tilt Quad) 2020-03-16 23:40:29 +01:00
Lorenz Meier b5daf5799d ROMFS: Exclude uncommon board configs (Teal) 2020-03-16 23:40:29 +01:00
Lorenz Meier ed4ed50786 ROMFS: Exclude uncommon board configs (Clover4) 2020-03-16 23:40:29 +01:00
Lorenz Meier 4ee4b830ab ROMFS: Exclude uncommon board configs (Crazyflie) 2020-03-16 23:40:29 +01:00
Lorenz Meier d8ed4c7b3d ROMFS: Exclude uncommon board configs (Generic Ground) 2020-03-16 23:40:29 +01:00
Lorenz Meier 428ce42966 ROMFS: Exclude uncommon board configs (Axialracing AX10) 2020-03-16 23:40:29 +01:00
Lorenz Meier a394a68e47 ROMFS: Exclude uncommon board configs (Traxxas Stampede) 2020-03-16 23:40:29 +01:00
Lorenz Meier 8bc3418892 ROMFS: Exclude uncommon board configs (AION Robotics) 2020-03-16 23:40:29 +01:00
Lorenz Meier ebd188bca9 ROMFS: Exclude uncommon board configs (DFrobot GPX Asurada) 2020-03-16 23:40:29 +01:00
Lorenz Meier 37cc9604bc ROMFS: Exclude uncommon board configs (Quad +) 2020-03-16 23:40:29 +01:00
Lorenz Meier fd73580db8 ROMFS: Exclude uncommon board configs (UUV Generic) 2020-03-16 23:40:29 +01:00
Lorenz Meier 56de232bae ROMFS: Exclude uncommon board configs (UUV HippoCambus) 2020-03-16 23:40:29 +01:00
Lorenz Meier 54c3e72f0c ROMFS: Exclude uncommon board configs (Hexa X) 2020-03-16 23:40:29 +01:00
Lorenz Meier d68caed742 ROMFS: Exclude uncommon board configs (Draco R) 2020-03-16 23:40:29 +01:00
Lorenz Meier 942097a0ce ROMFS: Exclude uncommon board configs (Hexa +) 2020-03-16 23:40:29 +01:00
Lorenz Meier 7b0c8ec3fc ROMFS: Exclude uncommon board configs (Octo X) 2020-03-16 23:40:29 +01:00
Lorenz Meier e93d23985c ROMFS: Exclude uncommon board configs (Octo +) 2020-03-16 23:40:29 +01:00
Lorenz Meier 75491ed298 ROMFS: Exclude uncommon board configs (VTOL Tailsitter) 2020-03-16 23:40:29 +01:00
Lorenz Meier a3419a0130 ROMFS: Exclude uncommon board configs (VTOL Octo) 2020-03-16 23:40:29 +01:00
Lorenz Meier 4176627539 ROMFS: Exclude uncommon board configs (Babyshark) 2020-03-16 23:40:29 +01:00
Lorenz Meier f7666a8b74 ROMFS: Exclude uncommon board configs (Convergence) 2020-03-16 23:40:29 +01:00
Lorenz Meier 65ea2bc981 ROMFS: Exclude uncommon board configs (Claire) 2020-03-16 23:40:29 +01:00
Lorenz Meier 8d0f9d8601 ROMFS: Exclude uncommon board configs (Ranger) 2020-03-16 23:40:29 +01:00
Lorenz Meier 1300930d85 ROMFS: Exclude uncommon board configs (QuadRanger) 2020-03-16 23:40:29 +01:00
Lorenz Meier f663515f49 ROMFS: Exclude uncommon board configs (VTOL AAVVT) 2020-03-16 23:40:29 +01:00
Lorenz Meier 207ae6d83c ROMFS: Exclude uncommon board configs (VTOL Standard Delta) 2020-03-16 23:40:29 +01:00
Lorenz Meier 1e1762401e ROMFS: Exclude uncommon board configs (VTOL AAERT) 2020-03-16 23:40:29 +01:00
Lorenz Meier dc41771c1a ROMFS: Exclude uncommon board configs (Quad+) 2020-03-16 23:40:29 +01:00
Lorenz Meier 6cd669836c ROMFS: Exclude uncommon board configs (Firefly 6) 2020-03-16 23:40:29 +01:00
Lorenz Meier af9b073c9a ROMFS: Exclude uncommon board configs (Steadidrine Mavrik) 2020-03-16 23:40:29 +01:00
Lorenz Meier 440067870a ROMFS: Exclude uncommon board configs (Octo COX) 2020-03-16 23:40:29 +01:00
Lorenz Meier f3e4aec45a ROMFS: Exclude uncommon board configs (Hexa COX) 2020-03-16 23:40:29 +01:00
Lorenz Meier 079772823a ROMFS: Exclude uncommon board configs (TBS Endurance) 2020-03-16 23:40:29 +01:00
Lorenz Meier 65052717fe ROMFS: Exclude uncommon board configs (Steadidrone Q4D) 2020-03-16 23:40:29 +01:00
Lorenz Meier 83c0d4607e ROMFS: Exclude uncommon board configs (3DR Iris) 2020-03-16 23:40:29 +01:00
Lorenz Meier df49d1d815 ROMFS: Exclude uncommon board configs (TBS Dicovery) 2020-03-16 23:40:29 +01:00
Daniel Agar 1a9452e411 fw_att_control: move ecl/attitude_fw into fw_att_control module
- ecl/attitude_fw was never maintained as a standalone library
 - moving ecl/attitude_fw library into the fw_att_control module to ease further development
2020-03-15 14:14:59 -04:00
Daniel Agar 4e4fb2232e CI move NuttX bloaty checks from Jenkins to Github Actions 2020-03-15 14:06:05 -04:00
bresch 6ccf55b6fd MPC: add updateHoverThrust function
This function updates the vertical velocity integrator with the change
in hover thrust to avoid propagating discontinuities through the
controller when changing the hover thrust.
This is also important when using the hover thrust estimator as its
estimate has unconstrained dynamics and can cause drops or kicks when
the estimate updates faster than the velocity integrator.
2020-03-15 13:57:02 -04:00
bresch 1bf791ba3f MC_HTE: Stability improvements
- Use a low-passed value of the signed innovation test ratio to trigger
the state variance boost. The threshold of 0.2 has been chosen using log
replay and simulation scenarii.
- Do not reset the learned accel noise during a state variance boost.
After a few tests, this does not seem to help at all.
- Continue to learn the accel noise even if the measurement got rejected
to avoid ignoring sudden changes of noise
- Lower the acceleration noise time constant and increase min/max
values to avoid learning quickly a small variance that could temporarly
destabilize the filter
- Update filter time constants. Increasing the speed of the residual lpf
improves the quality of the learned accel noise
2020-03-15 13:57:02 -04:00
PX4 BuildBot 20a8a0231b Update submodule nuttx to latest Sun Mar 15 12:39:29 UTC 2020
- nuttx in PX4/Firmware (048c47d7e2cc686fdd4037cb33bb86ca0ac62c17): https://github.com/PX4/NuttX/commit/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/befe53e7f1ed557b7239c9ed564acae7cc72a900
    - Changes: https://github.com/PX4/NuttX/compare/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc...befe53e7f1ed557b7239c9ed564acae7cc72a900

    befe53e7f1 2020-03-12 Jari van Ewijk - [BACKPORT] NXP RDDRONE-UAVCAN boards (S32K1XX) - Clean up clock config (#557)
09a23ebf7f 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX EVB boards - clock config cleanup (#556)
6c95d5fc33 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX peripheral clock fixes (#555)
2020-03-15 13:42:45 -04:00
PX4 BuildBot ed7d97bdeb Update submodule sitl_gazebo to latest Sun Mar 15 12:39:22 UTC 2020
- sitl_gazebo in PX4/Firmware (64c7b4d489): https://github.com/PX4/sitl_gazebo/commit/458e58f7973df2e211648e78b7277deefa59eca6
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/11b6409df9f2087c6069ba4db29ae8cef33622da
    - Changes: https://github.com/PX4/sitl_gazebo/compare/458e58f7973df2e211648e78b7277deefa59eca6...11b6409df9f2087c6069ba4db29ae8cef33622da

    11b6409 2020-03-13 JaeyoungLim - Update usv dynamics headers to Apache
5d0356a 2020-03-13 JaeyoungLim - Fix typhoon not taking off
2020-03-15 17:39:32 +00:00
Daniel Agar f1aa53db8a delete attitude_fw (merged into PX4/Firmware)
- this was never maintained as a separate standalone project
 - https://github.com/PX4/Firmware/pull/14284
2020-03-15 13:36:27 -04:00
Paul Riseborough ab92b46e69 Update ecl to add ability to recover from bad magnetic yaw
* msg: Add EKF-GSF yaw estimator logging data
* ecl: update to version with EKF-GSF yaw estimator
* ekf2: Add param control and logging for EKF-GSF yaw estimator
* logger: Add logging for EKF-GSF yaw esimtator
2020-03-15 12:57:25 -04:00
Daniel Agar 422e89b1c0 iSentek IST8308 magnetometer driver 2020-03-15 12:27:01 -04:00
Daniel Agar 64c7b4d489 parameters: handle MC_DTERM_CUTOFF -> IMU_DGYRO_CUTOFF migration 2020-03-15 09:31:45 +01:00
Lorenz Meier 3aec557b42 Gazebo: Do not run verbose
There is no need in day-to-day development to run verbose and it is preventing regular PX4 status output from properly rendering
2020-03-15 09:29:34 +01:00
Daniel Agar 5fcd7932e9 mavlink: replace MavlinkOrbSubscription with uORB::Subscription
* uORB orb_stat() and update(uint64_t *time, void *dst) are now obsolete and have been deleted
 * mavlink messages add more advertised checks in streams get_size() check to improve data rate calculation across different scenarios
2020-03-14 12:52:46 -04:00
Lorenz Meier 4f2d39cb15 SITL plane: Do not configure trigger
We have a plane_cam configuration for survey applications instead.
2020-03-14 17:50:40 +01:00
Lorenz Meier 35ed5607b4 Mission feasibility checker: Prevent zero-length trajectories
The mission logic depends in a number of locations on being able to calculate the direction from one waypoint to another. Missions that have waypoints that are in the same physical location do not make sense and need to be rejected (the GCS / SDK generating them needs to be fixed). By enforcing this we can work with a reasonable and simpler state machine while executing the mission.
2020-03-14 17:50:40 +01:00
Lorenz Meier 76d20be29d Mission block: Gate math cleanup and checks
This change simplifies the gate calculation.
2020-03-14 17:50:40 +01:00
Lorenz Meier 4876e7bd6b Navigator: Improve documentation of mission block
The default for the gate check condition is to pass and this needed to be explicitly documented
2020-03-14 17:50:40 +01:00
Lorenz Meier 5e7ff47aac Navigator: Improve code readibility
This diff does not contain any functional changes but just makes the code more readable and adds comments.
2020-03-14 17:50:40 +01:00
Lorenz Meier 417d172a72 Navigator: Warn only for non-zero missions
Previously a zero-length mission that failed checks
(e.g. because a mandatory element was not present) would lead to a
warning.
2020-03-14 17:50:40 +01:00
Lorenz Meier 39e473f988 Gazebo plane model: Enable tighter turns
This helps to fly smaller / faster test missions.
2020-03-14 17:50:40 +01:00
Lorenz Meier 027e52d402 Camera trigger: Improve code readability
This helps to trace the code, no functional changes.
2020-03-14 17:50:40 +01:00
Lorenz Meier 8a6d444467 Enable Gazebo mock optical flow 2020-03-14 17:50:40 +01:00
Lorenz Meier f1f185d209 Mission feasibility checker: Handle mission with zero elements silently
A mission with zero elements is invalid but should not lead to a warning. Previously a fixed wing aircraft without a mission did emit warnings about a missing land item.
2020-03-14 17:50:40 +01:00
Lorenz Meier 09595f88fc Mission block: Style improvement
Boolean logic improvement to avoid double assignment of true
2020-03-14 17:50:40 +01:00
Lorenz Meier 76b3c18625 Add dedicated survey camera plane model
This is to allow us to test triggering properly in SITL
2020-03-14 17:50:40 +01:00
Lorenz Meier 320cc8bae6 POSIX SITL: Enable trigger control in plane model
This allows to test plane survey missions with the camera trigger included in SITL.
2020-03-14 17:50:40 +01:00
Lorenz Meier 5936844595 Update to latest mission API 2020-03-14 17:50:40 +01:00
Lorenz Meier b405c7e9bd Navigator: Add ability to wait for a position gate with executing the mission
This enables the navigator to wait for a specific gate coordinate to pass orthogonally to the current trajectory. This is particularly helpful for payload / camera handling in missions and avoids a dependency of payload handling on navigation waypoints.
2020-03-14 17:50:40 +01:00
Lorenz Meier ed8cb1c5a7 MAVLink: Add support for new gate command
This enables the vehicle to be able to wait with executing the next item until a position has been passed.
2020-03-14 17:50:40 +01:00
Lorenz Meier 8842977d80 Camera trigger: Handle trigger distance handling better 2020-03-14 17:50:40 +01:00
Lorenz Meier cb63fcdcc4 Vehicle command: Add mission item to gate mission execution on line orthogonal to current trajectory 2020-03-14 17:50:40 +01:00
BazookaJoe1900 5e343b104e logger: using ModuleParams (#14316)
and some cleanups on main()
2020-03-13 11:31:43 +01:00
Daniel Agar 0eca583ecf sensors: move baro aggregation to new sensors/vehicle_air_data 2020-03-12 19:06:34 -04:00
Daniel Agar 093e9ba1ce mc_rate_control: use vehicle_angular_acceleration topic instead of differentiating
* mc_rate_control: use vehicle_angular_acceleration topic
* IMU_DGYRO_CUTOFF change default to 30 Hz
* improve IMU_DGYRO_CUTOFF param documentation (updated from MC_DTERM_CUTOFF)
2020-03-12 15:07:03 -04:00
Daniel Agar 2b03aa3d1b px4_fmu-v2: disable vtol_att_control to save flash 2020-03-12 14:10:39 -04:00
Matthias Grob 2dccc0dcfc posix.h: remove duplicate stdint.h include 2020-03-12 17:49:37 +00:00
Matthias Grob a32892926c Matrix: capture stdout for print() test
I want to switch the print() function back to use printf()
such that it's fully compatible with all (embedded) platforms.

To still test the print function I'm capturing stdout into a file
such that the print() function can stay unchanged and the result of
the printf()s can be evaluated.
2020-03-12 13:24:08 +01:00
TSC21 69b38c9ced RTPS: add IDs to 'orb_test' related multitopics 2020-03-12 11:10:50 +00:00
Matthias Grob c6db357c92 Matrix: correct print buffer size prediction
Apparently printf of %8.8g can result in
8 significant digits + dot + scientific notation e.g. "e+12" = 14 bytes
2020-03-12 10:08:04 +01:00
Matthias Grob 2cca35c8fe AxisAngle: call q.imag().norm() for conversion
This is important depending on the platform because norm()
calls matrix::squrt() which dispatches correctly to the implementation
for the used type. Otherwise float squrt()s can get calculated as
double.
2020-03-12 07:35:44 +01:00
PX4 BuildBot 2da38ae81c Update submodule matrix to latest Thu Mar 12 00:38:40 UTC 2020
- matrix in PX4/Firmware (db0c95ed5620e8ffad3dd3281b511cf5f9ee7848): https://github.com/PX4/Matrix/commit/649c837b6b53fcc8b6fedb047dcc757b8cbaf44b
    - matrix current upstream: https://github.com/PX4/Matrix/commit/4873dc1c1e74f492ec0fcd5b493c9b500f2784fa
    - Changes: https://github.com/PX4/Matrix/compare/649c837b6b53fcc8b6fedb047dcc757b8cbaf44b...4873dc1c1e74f492ec0fcd5b493c9b500f2784fa

    4873dc1 2020-03-04 kritz - Analytic inverse implementation (#122)
2020-03-12 00:01:38 -04:00
Daniel Agar a89b69b0ea vehicle_global_position: remove velocity fields (duplicates of local vx, vy, vz)
* attitude_estimator_q: get velocity from local position (if available)
2020-03-11 23:57:43 -04:00
Daniel Agar 5d33b9e999 delete Outback Challenge (OBC) AUTO_RTGS (datalink loss) and AUTO_RCRECOVER (rc loss) 2020-03-11 22:45:55 -04:00
Daniel Agar 0ce9e113ff boards: stm32f4/f7 enable SPI_DMATHRESHOLD=32 2020-03-11 22:08:37 -04:00
Beat Küng 179c89b6bd board configs: extend board_dma_map.h with a table 2020-03-11 22:08:37 -04:00
Daniel Agar aeff85322d px4_fmu-v2: leave SPI DMA disabled for now (flash space) 2020-03-11 22:08:37 -04:00
Daniel Agar c8509892a6 intel_aerofc-v1: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 8c2ba5f39f mro_x21-777: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 38a10fc7fc mro_x21: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar f309e3a5ba mro_ctrl-zero-f7: add board_dma_map.h and enable SPI1/SPI5 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 5660ea0fd2 av_x-v1: add board_dma_map.h and enable SPI1/SPI2 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 98108bc4da airmind_mindpx-v2: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar e24fcee214 modalai_fc-v1: add board_dma_map.h and enable SPI1/SPI2 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 01b90fefaf uvify_core: add board_dma_map.h and enable SPI1 DMA
- synced with px4_fmu-v4
2020-03-11 22:08:37 -04:00
Daniel Agar 772ddd7f5e px4_fmu-v2/v3: add board_dma_map.h and enable SPI1/SPI4 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar bd16c2b4f6 px4_fmu-v5x: add board_dma_map.h and enable SPI{1,2,3} DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 6ed4b6978e px4_fmu-v5: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 6834f089cc px4_fmu-v4pro: cleanup board_dma_map.h 2020-03-11 22:08:37 -04:00
Daniel Agar 147e37ac88 px4_fmu-v4: cleanup board_dma_map.h 2020-03-11 22:08:37 -04:00
Daniel Agar f9794e99f8 move hover_thrust_estimator to new module (mc_hover_thrust_estimator)
* MC_HTE: unitialize with hover_thrust parameter
* MC_HTE: constrain hover thrust setter between 0.1 and 0.9
* MC_HTE: integrate with land detector and velocity controller
* MCHoverThrustEstimator: Always publish an estimate even when not fusing measurements. This is required as the land detector and the position controller need to receive a hover thrust value.

* MC_HTE: use altitude agl threshold to start the estimator
local_position.z is relative to the origin of the EKF while dist_bottom
is above ground

Co-authored-by: bresch <brescianimathieu@gmail.com>
2020-03-11 21:20:54 -04:00
David Sidrane 4b9e6964f4 uavcan:Support runtime setting of CAN interfaces 2020-03-11 20:36:58 -04:00
David Sidrane 82ab1413fc px4_fmu-v5:Add Manifest Entries for UAVCAN interfaces 2020-03-11 20:36:58 -04:00
Daniel Agar 46a09b711f boards: increase STDIO buffer size where we can afford it 2020-03-11 17:19:44 -04:00
kamilritz 975060d108 Add missing const modifier 2020-03-11 16:46:16 +01:00
kamilritz 7e20d9df14 Small style cleanup 2020-03-11 16:46:16 +01:00
Daniel Agar 9cd8bb4f88 sensors: move to WQ
Running the sensors module out of the same WQ thread as the estimator, position, and attitude controllers is a bit safer and prevents potential priority and starvation issues. There is a very small increase in latency (~50 us) between sensors and ekf2 execution (on average). This also saves a little bit of memory (~ 3 kB) and cpu (~1-1.5% depending on the board).
2020-03-11 11:34:04 -04:00
TSC21 2b8eb736e1 microRTPS: timesync: fix comment indentation 2020-03-11 15:13:07 +00:00
TSC21 21f0d99145 microRTPS: RtpsTopics: code specialization simplification 2020-03-11 15:13:07 +00:00
TSC21 e9bc675bfa microRTPS: agent: simplify Publisher code specialization 2020-03-11 15:13:07 +00:00
TSC21 296714a00a microRTPS: agent: simplify Subscriber code specialization 2020-03-11 15:13:07 +00:00
TSC21 99f96437c3 microRTPS: timesync: add getters and setter to generalize interface 2020-03-11 15:13:07 +00:00
TSC21 7612879ffd microRTPS: use FastRTPS version instead of FastRTPSGen version to generate conditional code 2020-03-11 15:13:07 +00:00
TSC21 c7d86b73d4 microRTPS: RtpsTopics: generalize types and member functions access 2020-03-11 15:13:07 +00:00
Daniel Agar 580118e366 EKFGSF_yaw::updateEKF() R_prev copy safely (#775)
* EKFGSF_yaw::updateEKF() R_prev copy safely

* only copy required values (first 3)
2020-03-11 15:49:45 +01:00
Daniel Agar 4afd7a53e8 Update submodule mavlink v2.0 to latest Wed Mar 11 12:38:12 UTC 2020
- mavlink v2.0 in PX4/Firmware (ff9249f48e191abb173469acfadf79b0771de4d1): https://github.com/mavlink/c_library_v2/commit/a66fd2081d4ff64f2bc32573b585d0c00dfef59e
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e8bdbcfbacccd79fc678f5c6755c8fb680021199
    - Changes: https://github.com/mavlink/c_library_v2/compare/a66fd2081d4ff64f2bc32573b585d0c00dfef59e...e8bdbcfbacccd79fc678f5c6755c8fb680021199
2020-03-11 09:46:57 -04:00
PX4 BuildBot 190ee042eb Update submodule sitl_gazebo to latest Wed Mar 11 12:38:07 UTC 2020
- sitl_gazebo in PX4/Firmware (88c9761f1f): https://github.com/PX4/sitl_gazebo/commit/8569aec5bb709acb2fec7ccb5a5a4405f0cdec2a
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/458e58f7973df2e211648e78b7277deefa59eca6
    - Changes: https://github.com/PX4/sitl_gazebo/compare/8569aec5bb709acb2fec7ccb5a5a4405f0cdec2a...458e58f7973df2e211648e78b7277deefa59eca6

    458e58f 2020-03-10 JaeyoungLim - Fix sweep cosine (Continuing #302) (#429)
ea2568d 2019-12-27 JaeyoungLim - Increase rudder angle limit
8b905c9 2019-12-27 JaeyoungLim - Add rudder control to sitl
08f8e6f 2020-03-10 Jan-Hendrik Ewers - Update README.md
de10edd 2020-03-10 iwishiwasaneagle - Fixes PX4/sitl_gazebo#424 for arch and ubuntu
4f596be 2020-03-10 Christian Clauss - Remove unused function isstring() in scripts/names.py (#346)
89db01c 2020-03-09 Matej Frančeškin - Handle MAV_CMD_SET_CAMERA_MODE
dae26ba 2020-03-08 JaeyoungLim - Handle videostream info and status
c13057d 2020-03-07 JaeyoungLim - Clear formatting and cleanups
639a6bb 2020-03-07 JaeyoungLim - Add parachute plugin
42d05bd 2020-03-09 RomanBapst - standard vtol: decrease rotorDragCoefficient to more realistic values
5669e5c 2020-03-07 leftytechie - Version check (#418)
82657d3 2020-03-07 Lorenz Meier - Fix geotagged images GPS position The GPS position was invalid, leading to incorrectly displayed geotag markers and to incorrect geotags in images.
8794a70 2020-03-02 Julian Oes - cmake: remove warning
7aba744 2020-02-26 TSC21 - gazebo_mavlink_interface: use class enum; use binary notation with the bitmask operations
0dc43a4 2020-02-26 TSC21 - gazebo_mavlink_interface: make sure to always send gyro and accel data in the HIL_SENSOR msgs
0c954a2 2020-02-25 TSC21 - mavlink_interface: split groundtruth stream from sensor stream; only apply rotations where needed
bc92d96 2020-02-25 TSC21 - set baro rate at 50Hz (averaging the PX4 baro drivers ODR)
94d16e6 2020-02-25 TSC21 - update magnetometer rate to 100Hz (fitting the ODR in most of the support PX4 mag drivers)
6cae120 2020-02-25 TSC21 - mavlink_interface: send HIL_SENSOR messages with the bitmask correctly defined IOT set each sensor stream rate separately
2020-03-11 09:45:35 -04:00
PX4 BuildBot 249ad0ced1 Update submodule nuttx to latest Wed Mar 11 12:38:18 UTC 2020
- nuttx in PX4/Firmware (ac11b36e74e27ef7054d6386f0fce62108b5f614): https://github.com/PX4/NuttX/commit/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc
    - Changes: https://github.com/PX4/NuttX/compare/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e...db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc

    db7fb6b6c0 2020-03-05 Jari van Ewijk - [BACKPORT] S32K1xx boards - Remove unused files (should have been renamed)
2020-03-11 09:45:00 -04:00
modaltb 707c840fd9 boards/modalai/fc-v1: Maintenance Updates
* Add Drotek RM3100 mag to board_sensors
 * update to single wire
 * Fix inverted FMU outputs from https://github.com/PX4/Firmware/commit/451af074726e1c43f2b1c9bb82f3cde50cd74c5c
 * digital power module update for https://github.com/PX4/Firmware/commit/e9890d01d94a75b0926a116243ae3920766bde00
 * board doesn't have battery monitoring through ADC or GPIO, rather through I2C only
2020-03-11 09:25:17 -04:00
Daniel Agar 9585055e9e uORB: add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
- add PX4 bitset and atomic_bitset with testing
 - add uORB::Subscription constructor to take ORB_ID enum
 - move orb test messages into msg/
2020-03-11 09:06:33 -04:00
Julian Kent 88c9761f1f Add ccache to github actions 2020-03-11 11:13:49 +01:00
kritz 9390d2065b Run github actions also on master branch (#774) 2020-03-10 20:24:29 +01:00
Daniel Agar ab3670e02b github actions upload binaries for NuttX boards (.px4 file) 2020-03-10 13:07:49 -04:00
Daniel Agar 505afc6063 boards: increase LPWORKSTACKSIZE 1536 -> 1600 2020-03-10 12:53:01 -04:00
TSC21 bdb1ae14f5 Jenkins: fix timesync filenames 2020-03-10 14:21:40 +00:00
Beat Küng 335623e11d SPI config: use enum to specify bus 2020-03-10 10:11:43 -04:00
Beat Küng 37846a177c omnibusf4sd: disable landing_target_estimator
to reduce FLASH size
2020-03-10 10:11:43 -04:00
Beat Küng e627fed117 fmu-v2: disable perf command and some airframes
to reduce FLASH size
2020-03-10 10:11:43 -04:00
Beat Küng a2b2605443 param: fix param_get_cplusplus type check 2020-03-10 10:11:43 -04:00
Beat Küng b54e5a1c23 param: automatically update calibration ID params on import
This avoids the need for recalibration, and also cleans up other driver
ID's (merge separate accel/gyro).

The SPI address was previously set to a board-specific (arbitrary) value,
and is now set to 0. This will allow extending for multiple sensors of the
same type on the same bus.
2020-03-10 10:11:43 -04:00
Beat Küng 1851665fab boards: add new spi+i2c config
Chip-select and SPI initialization uses the new config, whereas the drivers
still use the existing defines.

The configuration in board_config.h can be removed after all drivers are
updated.
2020-03-10 10:11:43 -04:00
Beat Küng 06712450a7 i2c+spi: add module base class and bus iterators 2020-03-10 10:11:43 -04:00
Beat Küng af15c7d945 i2c+spi: extend hw_description for I2C + SPI 2020-03-10 10:11:43 -04:00
TSC21 a2c270e484 update files for microRTPS_timesync 2020-03-10 13:12:09 +00:00
TSC21 7c5ec8f8fd add deployment of microRTPS_timesync to px4_ros_com 2020-03-10 12:51:33 +00:00
TSC21 04ec2041e3 microRTPS: timesync: cleanup and style fix 2020-03-10 12:15:18 +00:00
TSC21 512c405834 microRTPS_timesync.h: fix comments notation so to be properly generated in EmPy 2020-03-10 12:15:18 +00:00
TSC21 1893c9e37e microRTPS_timesync.h: add description to functions 2020-03-10 12:15:18 +00:00
TSC21 a3487ab8a3 microRTPS: timesync: fix unit conversion 2020-03-10 12:15:18 +00:00
TSC21 59869b2350 microRTPS_timesync.cpp: fix style 2020-03-10 12:15:18 +00:00
TSC21 7de8bee29e microRTPS: timesync: interpolate 2020-03-10 12:15:18 +00:00
TSC21 2568d9ae20 mavlink: timesync: readd timesync_status uORB to report Mavlink timesync 2020-03-10 12:15:18 +00:00
TSC21 250b6b24ab microRTPS: timesync: properly apply offsets 2020-03-10 12:15:18 +00:00
TSC21 67491b473c microRTPS: add timesync handshake 2020-03-10 12:15:18 +00:00
TSC21 e3e607f600 microRTPS: client: add client response to timesync 2020-03-10 12:15:18 +00:00
TSC21 2ec8958351 microRTPS: microRTPS_timesync: fix template indentation 2020-03-10 12:15:18 +00:00
TSC21 6dea2dd97d microRTPS: agent: make sure that is able to subscribe a timesync stream from itself 2020-03-10 12:15:18 +00:00
TSC21 cfd8e368df microRTPS: timesync: template generalization for both ROS2 and non-ROS2 2020-03-10 12:15:18 +00:00
TSC21 01518bd009 microRTPS: delete run() functions as they are not needed 2020-03-10 12:15:18 +00:00
TSC21 db7d98c16f microRTPS: use char-by-char comparison instead of stringstream comparison 2020-03-10 12:15:18 +00:00
TSC21 80c658c1ae microRTPS: make sure that Sub/Pubs do not exchange data in loop (i.e. for the same entity) 2020-03-10 12:15:18 +00:00
TSC21 441e6290eb microRTPS: timesync: apply offset atomically 2020-03-10 12:15:18 +00:00
TSC21 170835f3f8 microRTPS: add timesync for the agent side 2020-03-10 12:15:18 +00:00
Roman Dvořák 152427ecdc Ability to disable airspeed scaling (#14334) 2020-03-10 12:57:36 +01:00
Roman Dvořák 05caa1f2d4 Update README, add autogyro to supported airframes 2020-03-10 08:56:33 +01:00
RomanBapst 4ddf0f9dc1 ekf2_main.cpp: fixed bug in the calculation of the mag bias calibration time
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-03-10 08:54:04 +01:00
Roman Dvořák e43aa4e287 logger: add RPM sensor messages 2020-03-09 18:34:06 -04:00
Alexey Matveev baf3cd5c30 Up stack for frsky_telemetry 2020-03-09 17:02:54 -04:00
bresch d09473da89 Ekf control: do not set hgt mode if already set
If we are in a certain height mode and that we do a reset to the
same mode, there is no need to set the mode again.
2020-03-09 20:22:57 +01:00
bresch 13a7d53295 Ekf: correct wrong indentation 2020-03-09 20:22:57 +01:00
bresch 684737eab1 Ekf control: replace individual by global check of baro/GPS health
Use _gps_data_intermittent and _baro_hgt_faulty to know is the sensors
provide fresh data
2020-03-09 20:22:57 +01:00
bresch 320a90d146 EKF control: extract checkVerticalAccelerationHealth logic
This is done to reduce the size of the controlHeightSensorTimeouts
function and to clarify the logic
2020-03-09 20:22:57 +01:00
bresch 975afa6560 EKF: update csv for change indicator 2020-03-09 19:10:07 +01:00
Beat Küng 3fef401e81 uorb callbacks: fix unregister ordering to avoid race conditions
The order should be: first unregister, then remove the item from the
runnable queue.
2020-03-09 08:06:00 -04:00
Beat Küng 18bc6cf872 ScheduledWorkItem::ScheduleClear: remove item from runnable queue
The existing behavior is unexpected: if the work item is already on the
runnable queue, it will still be triggered after a call to ScheduleClear().
This can lead to race conditions.
2020-03-09 08:06:00 -04:00
Beat Küng 977b80cee9 omnibus: enable DMA on SPI2 (SD Card)
Reduces CPU load by ~10%, and allows to comfortably run the rate loop at
2kHz.
2020-03-09 12:47:43 +01:00
Julian Kent eab88294f8 Add documenation to uORB message 2020-03-09 09:51:49 +01:00
Julian Kent 36c307a39e Provide a dummy avoidance for flash constrained boards
Part of this: move ObstacleAvoidance to a library
2020-03-09 09:51:49 +01:00
Julian Kent 4bf34a75db Indicate that omnibus_f4sd is constrained in flash 2020-03-09 09:51:49 +01:00
Julian Kent 5169cfcc45 Add bezier trajectory tracking in obstacle avoidance 2020-03-09 09:51:49 +01:00
Julian Kent d2507e831e Add mavlink parsing for bezier message 2020-03-09 09:51:49 +01:00
Julian Kent 6e1185d4f2 Add uORB messages for bezier curve trajectories 2020-03-09 09:51:49 +01:00
Julian Kent 5b8aa20c2f Bezier trajectory functions to get position, velocity, accel on trajectory 2020-03-09 09:51:49 +01:00
CarlOlsson 93be6ea49a EKF: dont print wrong reset message on baro timeout
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-03-09 09:06:49 +01:00
Matej Frančeškin b8970673c6 Fixed Mavlink FTP tests 2020-03-08 21:43:54 +01:00
Matej Frančeškin ef865a091f Added FileNotFound error code according to new Mavlink FTP specification 2020-03-08 21:43:54 +01:00
Katrin 116de6d25f Airframe and mixer for rover DF Robot GPX:Asurada (#14244)
Added Airframe and mixer for rover DF Robot GPX:Asurada

Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: Lorenz Meier <lorenz@px4.io>
2020-03-08 14:35:24 +01:00
bazooka joe 887d846f7a remove one space from string sent with the logger filename
now the full file name is sent, and not missing the last seconds digit
2020-03-08 12:07:51 +01:00
JacobCrabill b186614857 airframes srcparser.py: Allow non-param comments
Add a "@desc" tag that gets ignored by the parameter parser.  This
allows you to add (multi-line) documentation to airframe init files.
2020-03-08 12:00:29 +01:00
斯东Stone 032b9909fa Fix a typo in Ubuntu setup script 2020-03-08 11:56:33 +01:00
Dusan Zivkovic d7a9b123e6 logger: fix thread deadlock 2020-03-06 13:37:34 +01:00
kritz bcd3869ca2 CleanUp of the EKFGSF (#769)
* Add const modifiers

* Pass imu data as sampe

* Remove emergency reset request counter

* Improve matrix library usage

* Indentation fix

* Do not store innovation matrix for each model

* Make weights a separate vector

* EKF: Add missing alignment transfer to AHRS solutions

* EKF: Replace #define constants with static constexpr

* EKF: Move declaration for weights into GSF section

* EKF: Fix documentation error

Co-authored-by: Paul Riseborough <p_riseborough@live.com.au>
2020-03-06 19:37:35 +11:00
Daniel Agar 4698a09b98 delete unmaintained outback challenge (OBC) bottle drop example 2020-03-05 14:09:31 -05:00
David Sidrane 25c12d8b9e px4_fmu-v5x:Add Serial test 2020-03-05 13:40:11 -05:00
Paul Riseborough 4669aa6312 EKF: Add Emergency yaw recovery using EKF-GSF estimator (#766)
* EKF: Use common rate vector calculation for offset corrections

* EKF: Remove duplicate matrix entry calculations

* EKF: Create a EKF-GSF yaw estimator class

* EKF: add emergency yaw reset functionality

* EKF: remove un-used function

* EKF: Ensure required constants are defined for all builds

* EKF: Fix CI build error

* Revert "EKF: remove un-used function"

This reverts commit 93005309c7f3794414ad99c86218b3062e00bbd3.

* EKF: Replace in-lined Tait-Bryan 312 conversions with function call

Also remove unnecessary operations

* EKF: Remove unnecessary update of external vision rotation matrix

* EKF: Use const

* EKF: use const

* EKF: don't use class variable as a temporary variable

* EKF: update comments

* EKF: Improve efficiency of yaw reset

Use conversion from rotation matrix to Euler angles instead of quaternion to euler angles.

* EKF: use const

* EKF: remove un-used struct element

* EKF: more descriptive function name

* EKF: use existing matrix row operator

* EKF: remove unnecessary rotation matrix update

* EKF: Use square matrix type

* EKF: Improve protection for bad innovation covariance

* EKF: Use matrix library operations

* EKF: Replace memcpy with better alternative

memcpy bypasses compiler sanity checks and is unnecessary in this instance.

* EKF: Split EKF-GSF yaw reset function

Adds a common function to support yaw reset that can be used elsewhere.

* EKF: Use common function for quaternion state and covariance yaw reset

* EKF: Replace inlined matrix operation

* EKF: Use const

* EKF: Change accessor function name

* EKF: Use const

* EKF: Don't create unnecessary duplicate variable locations

* EKF: Remove duplicate covariance innovation inverse

* EKF: Don't create unnecessary duplicate variable locations

* EKF: Rely on geo library to provide gravity

* EKF: Improve protection from bad updates

* EKF: Reduce effect of vibration on yaw estimator AHRS

* EKF: Improve yaw estimator AHRS accuracy during manoeuvre transients
2020-03-05 21:50:52 +11:00
Paul Riseborough 8ce285cdfa EKF: Don't allow tilt alignment if vehicle is moving excessively (#768)
Also remove unnecessary update of the _accel_lpf after alignment.
2020-03-05 21:42:45 +11:00
Silvan Fuhrer b9fab04adb tiltrotor: improve comments and renaming of one variable
This is to point out that also rear motor can be used in FW flight and not only the front motors

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-03-05 11:49:42 +03:00
bresch 2d009e2e7a ecl: update submodule
- reduce CPU load
- fix earth rate gyro compensation
- make test with clang
- use switch statements in controlHeightFusion

Diff:
https://github.com/PX4/ecl/compare/3fa5f501ae7edc4a793f0973e156706afcc8b419..230c865fa9c02b07b0371df050b339bc37ce0c29
2020-03-04 23:59:24 +01:00
CarlOlsson 8de1f5229b EKF2: use fixed time constant for GPS blending
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-03-04 16:46:20 +01:00
CarlOlsson 357700aa8d EKF2 GPS blending: fall out of blending if one module lose 3D fix
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-03-04 16:46:20 +01:00
CarlOlsson a10a228092 EKF2 GPS blending: reset relative position offsets if blending not feasible
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-03-04 16:46:20 +01:00
Mathieu Bresciani 230c865fa9 EKF: do not fuse multiple times the same height (#767)
* EKF: do not fuse multiple times the same height

The _fuse_height flag was never set to zero, hence the fusion was called
at each iteration, even if no new data is available.
The effects were: high CPU usage and virtually less measurement noise
due to multiple fusion of the same sample

Also remve unused variables
2020-03-04 10:31:22 +01:00
Julian Oes 2b087a92c2 commander: increment is 1 for int params 2020-03-04 09:35:14 +01:00
Julian Oes 874c6f385b commander: unify offboard timeouts
The implementation before this change had two timeouts, a hard-coded
timeout of 0.5 seconds as well as a by param configurable timeout with
certain failsafe actions set.

This change aims to fix two problems:
1. The hard-coded offboard timeout can be triggered easily with sped up
   lockstep simulation. Since i t is hard-coded it can't be adapted to
   the speed factor.
2. The offboard signal can time out but no action will be taken just
   yet. This means we end up in an in-between stage where no warning or
   failsafe action has happened yet, even though certain flags are set
   to a timeout state.

This patch aims to fix this by unifying the two timeouts to the existing
configurable param. The convoluted double timeout logic is replaced by a
simple hysteresis.

For anyone that has previously not changed the default timeout param (0),
the param will now be changed to 0.5 seconds which reflects the
previously hardcoded time. For anyone with a specific timeout
configured, the behaviour should remain the same.

Also, going forward, timeouts lower than 0.5 seconds should be possible.
2020-03-04 09:35:14 +01:00
kritz 4873dc1c1e Analytic inverse implementation (#122)
* Add analytic 2x2 matrix inverse

* Add analytical 3x3 matrix inverse
2020-03-04 09:14:04 +01:00
Daniel Agar fca7700746 Update submodule nuttx to latest Wed Mar 4 01:36:16 UTC 2020
- nuttx in PX4/Firmware (b7a83e23c5e50896bb137266cf89ff928dfaae42): https://github.com/PX4/NuttX/commit/d509b1edd736cb7db509a9c86e7ffcde10c4fd45
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e
    - Changes: https://github.com/PX4/NuttX/compare/d509b1edd736cb7db509a9c86e7ffcde10c4fd45...bf646dcf46ac4a18c29b1cab4aa5e7a54280782e

    bf646dcf46 2020-03-03 Daniel Agar - [BACKPORT] stm32h7: spi_exchange (no dma) available with CONFIG_STM32H7_SPI_DMATHRESHOLD
    f2a7ef0ade 2020-03-03 Daniel Agar - [BACKPORT] stm32f7: spi_exchange (no dma) available with CONFIG_STM32F7_SPI_DMATHRESHOLD
    7ffc59ba3d 2020-03-03 Daniel Agar - [BACKPORT] stm32: spi_exchange (no dma) available with CONFIG_STM32_SPI_DMATHRESHOLD
    d1c8fdb5fb 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32h7 add STM32H7_SPI_DMATHRESHOLD
    fa8d636118 2020-03-02 Daniel Agar - [BACKPORT] stm32f76xx77xx_dma.h fix DMAMAP_SPI2_RX_2/DMAMAP_SPI2_TX_2
    762d80b217 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32f7 add STM32F7_SPI_DMATHRESHOLD
    4f4bbbbf1c 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32 add STM32_SPI_DMATHRESHOLD

Co-authored-by: PX4 Build Bot <bot@px4.io>
2020-03-03 20:56:48 -05:00
Paul Riseborough b4ecfb7723 EKF: Fix sign error in earth rotation rate correction (#763)
* EKF: Fix sign error in earth rotation rate correction

Addresses issue https://github.com/PX4/ecl/issues/759

* Update change indication output

Co-authored-by: kritz <kritz@ethz.ch>
2020-03-03 20:16:49 +01:00
Daniel Agar 4fab6057a7 EKF control height fusion add switch statement for all dist sensor types 2020-03-03 11:29:07 +01:00
Kamil Ritz 7c179b39b8 Make test with Clang 2020-03-03 11:23:45 +01:00
Julian Oes 581b92dd3f attitude_estimator_q: enable lockstep without LPE
When lockstep is enabled and LPE is not running, the
attitude_estimator_q needs to publish ekf2_timestamps in order to signal
to the simulator module that it has fully run.

This essentially fixes flying in lockstep when SYS_MC_EST_GROUP is 3.
2020-03-03 09:31:52 +01:00
David Sidrane ee220a5086 px4_fmuv5x:Update manifest for USB not present 2020-03-02 19:59:36 -05:00
David Jablonski ff4ec31d29 templated creation of stream list items
and constexpr for get_id_static and get_name_static in mavlink streams
2020-03-02 19:56:16 -05:00
David Jablonski f57c5ef4a7 Mavlink: implemented SCALED_PRESSURE streams 2020-03-02 19:56:16 -05:00
PX4 BuildBot 862cb2052c Update submodule ecl to latest Mon Mar 2 12:39:50 UTC 2020
- ecl in PX4/Firmware (43aab81fdebc5c70d8ddb9285ee1e5005f4ee8a1): https://github.com/PX4/ecl/commit/05d391c7852c3591b606af9ae78301eff933eacc
    - ecl current upstream: https://github.com/PX4/ecl/commit/3fa5f501ae7edc4a793f0973e156706afcc8b419
    - Changes: https://github.com/PX4/ecl/compare/05d391c7852c3591b606af9ae78301eff933eacc...3fa5f501ae7edc4a793f0973e156706afcc8b419

    3fa5f50 2020-02-27 Carl Olsson - EKF: dont check gps_check_fail_status in velocity reset (#761)
71d4d22 2020-02-21 Daniel Agar - EKF: covariances() helper return const reference and fix code style
8b91856 2020-02-21 bresch - ekf: fix angle wrapping in realignYawGPS
00872fc 2020-02-18 Daniel Agar - EKF: ImuDownSampler pass imuSample as const reference
81c6d66 2020-02-13 bresch - ekf: clean uncorrelateQuatStates function
c6d5a74 2020-02-12 Julian Kent - Update change indicator
2020-03-02 14:03:21 -05:00
Julian Kent 770c724f17 Adapt run-clang-tidy.py to Python3 2020-03-02 13:26:03 -05:00
Julian Kent 50577732b7 Fix run-clang-tidy.py path 2020-03-02 13:26:03 -05:00
David Sidrane 431f7c16c8 NuttX with PX4 Contrib backported imxrt:Call out to board to set up FlexRAM 2020-03-02 10:20:33 -08:00
David Sidrane cad3a811d2 nxp_fmurt1062-v1:Run from OCRAM 2020-03-02 10:20:33 -08:00
David Sidrane e12bce3a20 px4_add_board:Add Optional LINKER_PREFIX 2020-03-02 10:20:33 -08:00
David Sidrane 3ed643f3d7 fmurt1062-v1:Update imxrt_flexspi_nor_boot configurable 2020-03-02 10:20:33 -08:00
Julian Kent e173df80a1 Improve readibility of ternary 2020-03-02 18:10:52 +01:00
Martina Rivizzigno 678e32caf7 CollisionPrevention remove mavlink_log outputs 2020-03-02 16:49:56 +01:00
Martina Rivizzigno a9491dfaf7 run avoidance also in Loiter 2020-03-02 16:49:56 +01:00
Martina Rivizzigno aee1e70642 check avoidance status in commander and set sys status
remove mavlink log
2020-03-02 16:49:56 +01:00
Martina Rivizzigno 48b7cd926e mavlink_messages: add frame field to obstacle distance and correct typo 2020-03-02 16:49:56 +01:00
Martina 9d06bd1383 mavlink_main: add osbstacle_distance stream to extvisionmin mode 2020-03-02 16:49:56 +01:00
Martina a4acb6b92a CollisionPrevention: set frame for obstacle_distance_fused topic 2020-03-02 16:49:56 +01:00
baumanta 7801ed129f Add safety measure and test for missing sensor data 2020-03-02 16:49:56 +01:00
baumanta 67d0f5c5d1 CollisionPrevention: No movement if FOV is zero 2020-03-02 16:49:56 +01:00
TSC21 39317e9207 update submodule Tools/jMAVSim 2020-03-02 14:59:45 +00:00
Silvan Fuhrer 9edb1179d0 VTOL: run vtol state update not only when mc or fw sp are updated, but always
This change is necessary to give the pilot the ability to switch VTOL state
even if for some reason no attitude sp are published anymore.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-03-02 14:10:58 +03:00
Lorenz Meier 3a2f15eba1 License: It is 2020 now
This is not significant, but it is always a good idea to show that things are actively maintained.
2020-03-02 08:27:40 +01:00
Daniel Agar 60cd6f9e90 vscode: possible improvements for cpp extension cpu usage 2020-03-01 12:44:13 -05:00
David Sidrane 64cf310c8a Uavcan:Fix null pointer defrefenence 2020-02-29 11:26:35 +01:00
TSC21 993755b24b bitmask.h: compile only if in POSIX/LINUX platforms 2020-02-28 10:59:50 +00:00
TSC21 f5000a9691 px4_platform_common: add bitmask.h for templated type safe bitmask operations 2020-02-28 10:59:50 +00:00
TSC21 8a999fecfc update submodule Tools/sitl_gazebo 2020-02-28 10:59:50 +00:00
TSC21 d1cefe9e65 simulator: move enum declaration out of preprocessor condition 2020-02-28 10:59:50 +00:00
TSC21 b3ea28c8e4 update submodule Tools/sitl_gazebo 2020-02-28 10:59:50 +00:00
TSC21 bcb6056a12 simulator: make sensor update rate dependent of the HIL_SENSOR bitmask 2020-02-28 10:59:50 +00:00
Daniel Agar e6ab5fc2a8 HIL test runner temporarily disable uORB test and fix typo 2020-02-28 10:03:39 +01:00
Florian Achermann be35f5555c Add comment to explain iridium exception in the mavlink module 2020-02-28 07:54:25 +01:00
Florian Achermann eb215358fc Fix crashing for the mavlink in the iridium mode
Special handling in the mavlink_open_uart function if mavlink is in the iridium mode.
2020-02-28 07:54:25 +01:00
Daniel Agar d7e502ec72 uORB_tests increase stack 2020-02-27 21:12:49 +01:00
Carl Olsson 3fa5f501ae EKF: dont check gps_check_fail_status in velocity reset (#761)
In a velocity reset we only used the GPS measurement if _gps_check_fail_status.value was equal to zero. The value of this flag is independent of EKF2_GPS_CHECK so checks can fail even if they are not configured to have any effect.
2020-02-27 11:59:38 +01:00
Matthias Grob f90d3671c0 vehicle_attitude_setpoint: get rid of unused q_d_valid flag 2020-02-27 09:17:52 +01:00
Julian Oes b53bd2b77f LPE: make compatible with lockstep simulation
This fixes SITL with lockstep when using LPE and q estimator.

The required changes are:
- Publish ekf2_timestamps because simulator_mavlink expects them.
- Run LPE at 250 Hz instead of 80 Hz in order to keep everything in
  lockstep running at 250 Hz.
2020-02-26 15:46:58 +01:00
Julian Oes 3be8b3d177 logger: style fix 2020-02-26 14:52:39 +01:00
Julian Kent 18754225c9 Update matrix library 2020-02-26 10:27:32 +01:00
Matthias Grob 46f76cb621 Commander: enable RC override in takeoff
and remaining auto modes which are used more rarely.
2020-02-26 10:22:33 +01:00
Paul Riseborough d9ae242760 logger: fix unused variable build error 2020-02-26 18:44:20 +11:00
Daniel Agar 2a0fe169e6 logger: disable logger_status publiation in replay builds
- this is disabled in replay builds to ensure all data in ekf2 replay logs only contains the same time range, otherwise the plots can be unreadable using common tools
 - fixes #14230
2020-02-26 18:44:20 +11:00
CarlOlsson 7e00dcd382 EKF2: Fix GPS blending time jitter 2020-02-26 07:39:47 +01:00
JaeyoungLim a38b167614 Update: sitl_gazebo 2020-02-26 07:29:16 +01:00
Martina Rivizzigno abe33af5b3 map mavlink orientation enum to uorb distance_sensor orientation 2020-02-26 07:27:09 +01:00
Daniel Agar 779ba0fda5 px4_fmu-v4/v4pro: switch to new InvenSense icm20602/icm20608g IMU drivers
* 8 kHz gyro, 4 kHz accel
 * DLPF disabled
 * scheduled using data ready interrupts
 * FIFO is emptied at 1 kHz by default, but can adjusted via IMU_GYRO_RATEMAX from 250 Hz - 2000 kHz.
 * On both px4_fmu-v4 and px4_fmu-v4pro the secondary IMU is an mpu9250 with the same driver
2020-02-26 01:19:12 +01:00
Julian Kent 5bf2648c1f Add debugger options for mavsdk test runner 2020-02-25 17:15:40 +01:00
Julian Kent 649c837b6b Use faster but less accurate average 2020-02-25 15:08:17 +01:00
Beat Küng 77b854b7c3 omnibus: enable SPI dma + use new ICM-20602 driver (disabled DLPF) 2020-02-25 09:59:52 +01:00
Beat Küng d386591d0c logger: reduce rate_ctrl_status rate to 50 Hz for high-rate logging
The integral does not need to be logged at full rate
2020-02-25 09:59:52 +01:00
BazookaJoe1900 27471d90ca Jenkins: hardware test exit from failed hardware check with error, so the check will fail 2020-02-25 09:58:02 +01:00
Julian Oes f3fefd7d93 mavlink: support mission transfer cancellation (#14139)
This adds support for MAV_MISSION_OPERATION_CANCELLED which can be used
to cancel an ongoing upload or download of mission/geofence/rally items.
2020-02-24 07:47:08 +01:00
Silvan Fuhrer 6c8f39c5d8 MC rate controller: limit K and P values of PID controller to in pitch and roll (#14210) 2020-02-23 11:45:07 +01:00
Daniel Agar af6213e85e invensense icm20689 improvements and fixes
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
 - fix periodic temperature sampling (rate limit to 1 Hz)
2020-02-22 12:15:52 -05:00
Daniel Agar 5ab4cf3d62 invensense mpu9250 improvements and fixes
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
 - fix periodic temperature sampling (rate limit to 1 Hz)
2020-02-22 12:15:52 -05:00
Daniel Agar 4bd665d169 invensense icm20608g improvements and fixes
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
 - fix periodic temperature sampling (rate limit to 1 Hz)
2020-02-22 12:15:52 -05:00
Daniel Agar afc59f843c invensense icm20602 improvements
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
2020-02-22 12:15:52 -05:00
Beat Küng 0c6d558c50 bmp388: fix double free in case the driver probing fails
'interface' is freed in BMP388's destructor.
2020-02-22 10:51:42 -05:00
Beat Küng c5a0d9077b bmp388: remove dead code 2020-02-22 10:51:42 -05:00
Timothy Scott 4c1adc088f Removed all swapping of uORB instances 2020-02-21 22:38:26 -08:00
Timothy Scott 6452b7e014 Changed commander to check every battery publication for prearm checks 2020-02-21 22:38:26 -08:00
Daniel Agar 71d4d22ae4 EKF: covariances() helper return const reference and fix code style
- PX4 astyle puts the reference with the name.
2020-02-21 11:28:44 -05:00
Julian Oes 43a1257843 ROMFS: prevent auto-disarm before takeoff in CI
Sometimes in CI for VTOL we saw disarms before the spoolup and ramp were
over and the takeoff would actually happen. By raising the auto-disarm
time we should be able to work around this and get CI less flaky.
2020-02-21 09:58:21 -05:00
SalimTerryLi 77a9135036 ADC driver report back vref alone with sample count (#14136)
* Introduce "px4_arch_adc_reference_v"

* Revert "Introduce "px4_arch_adc_reference_v""

This reverts commit 93691fbbd55a1b8da8c190e225b318067d90399b.

* use structure to return sample count and vref at the same time

* Revert "use structure to return sample count and vref at the same time"

This reverts commit 9cfd1c173cda51495f766a3f678c2202d67725fd.

* Revert "Revert "Introduce "px4_arch_adc_reference_v"""

This reverts commit edb7f7603e4471163ffb0fc6fc62ad2e30336e91.

* fix missed reference

* remove unecessary channel specific vref

* Update src/drivers/drv_adc.h

Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>

* Update src/drivers/drv_adc.h

Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>

* Introduce BOARD_ADC_POS_REF_V

Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2020-02-21 06:52:45 -08:00
bresch 8b918563a2 ekf: fix angle wrapping in realignYawGPS
To obtain the correct difference between two angles, we need to wrap
the result between -pi and pi. Otherwise, the difference between two
angles close to 180 degrees but with opposite signs will produce a large
error.
For example if a = -179 and b = 179, b - a = 258 instead of -2 degrees
2020-02-21 13:08:30 +01:00
JaeyoungLim e0d6f94318 Add boat(usv) sitl target 2020-02-21 00:30:15 -08:00
Morten Fyhn Amundsen 0ac300f77a Rename generate virtual RC setter/getter
The old names were unclear to me, especially when
used in the mavlink_receiver.
2020-02-21 09:23:35 +01:00
Matthias Grob 1d89351149 Commander: clarify the rc override message
Message says novice understanable what happened.
2020-02-20 17:25:53 +01:00
Beat Küng 116a094e31 commander: fix broken 'commander arm/disarm' CLI
Regression from https://github.com/PX4/Firmware/pull/13613.

VEHICLE_CMD_COMPONENT_ARM_DISARM from CLI would enter the
ARMING_STATE_IN_AIR_RESTORE logic. This was never intended for disarming
(and leads to state machine transition failures), and IMO it is also not
intended for commands from CLI.
2020-02-20 10:06:07 -05:00
Julian Oes 20276d4ff8 simulator: improve misleading TCP message
Proposed first by @lovettchris.
2020-02-20 12:10:43 +01:00
Julian Oes e46635b1de simulator: remove strange disarmed PWM
Before that we would send -0.1 instead of just 0.0.

First proposed by @lovettchris.
2020-02-20 12:10:43 +01:00
Julian Oes a006d82abf simulator: add flag to indicate lockstep
This depends on:
https://github.com/mavlink/mavlink/pull/1311

First proposed by @lovettchris.
2020-02-20 12:10:43 +01:00
Beat Küng ef1f677541 fix mavlink_log_handler: close file descriptor if still open in destructor 2020-02-20 10:31:41 +01:00
Julian Oes e7c655ba52 rc_update: make specific RC loss check only on PPM
This makes the check more specific, so it's only active on PPM input.
2020-02-20 09:02:30 +01:00
bozkurthan 3f16eba3f7 RC Failsafe fix for RFD 868+/900 Modems
RC Failsafe isn't triggered when PPM signal is valid. These changes
update Failsafe trigger logic for RC input. RF Modules keep sending
valid PPM signal when the RC Transmitter is lost.
RF Modules which are in the air send PPM signal with same type when lost
the signal from ground.
2020-02-20 09:02:30 +01:00
Nicolas de Palezieux a570aa9fac Commander: fix preflight check condition to fail if not in HIL mode 2020-02-20 08:46:30 +01:00
Daniel Agar ffc3373492 invensense icm20689 improvements
- checked register mechanism and simple watchdog
   - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
2020-02-19 19:01:41 -05:00
JaeyoungLim 01b280f7ae Limit the number of vehicles 2020-02-19 14:23:17 +01:00
JaeyoungLim c89766c8ab Fix gcs udp port to support more vehicles in multivehicle sitl
Limit remote udp port to 14549


Fix


Cleanup port handling


Fix bash syntax


Fix
2020-02-19 14:23:17 +01:00
Daniel Agar 1d226ad2ca invensense icm20608g improvements
- checked register mechanism and simple watchdog
  - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
2020-02-18 22:48:32 -05:00
Daniel Agar 89d4d6e4a9 invensense mpu9250 improvements
- checked register mechanism and simple watchdog
    - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
2020-02-18 19:21:20 -05:00
Daniel Agar 22499effb9 invensense icm20602 improvements
- checked register mechanism and simple watchdog
    - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
 - increased sensor_gyro_fifo max size (enables running the driver much slower, but still transferring all raw data)
 - PX4Accelerometer/PX4Gyroscope remove unnecessary memsets
2020-02-18 19:21:20 -05:00
Daniel Agar 40921241e7 Update submodule mavlink v2.0 to latest Tue Feb 18 12:38:11 UTC 2020
- mavlink v2.0 in PX4/Firmware (396c1080e40bd84a2e1381f666041f7d147b718b): https://github.com/mavlink/c_library_v2/commit/1847cbbff5863db71bf7e3de8c5e8136da784152
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/a66fd2081d4ff64f2bc32573b585d0c00dfef59e
    - Changes: https://github.com/mavlink/c_library_v2/compare/1847cbbff5863db71bf7e3de8c5e8136da784152...a66fd2081d4ff64f2bc32573b585d0c00dfef59e

Co-authored-by: PX4 Build Bot <bot@px4.io>
2020-02-18 18:26:46 -05:00
Julian Oes cf47c2155f platforms: prevent stackoverflow for ekf2 sideslip
It turns out that ekf2 needs more stack when sideslip fusion fails.
Sideslip fusion is currently only enabled for fixedwing by default and
not executed in testing.
2020-02-18 16:42:16 -05:00
Daniel Agar 00872fcaa3 EKF: ImuDownSampler pass imuSample as const reference
- inline ImuDownSampler::getDownSampledImuAndTriggerReset()
 - minor formatting and initialization cleanup
2020-02-18 13:20:52 -05:00
JaeyoungLim 7a1464d992 Revert port change (#14177)
Reverts #14126 and #14176 until CI failures can be resolved
2020-02-18 14:56:04 +01:00
Julian Kent e7aa899746 AutoLineSmoothVel: don't use _velocity_setpoint for constraints
Unfortunately the constraints cannot be implemented using the
_constraints because the controller uses that directly. This
causes discontinuities in the velocity and/or accel at various
points of the flight. In particular this was used in Takeoff.

Instead this was done by changing target accel/velocity in the
jerk-optimal velocity planner for Z.
2020-02-18 13:59:58 +01:00
JaeyoungLim b365fbf1e9 Fix bash syntax 2020-02-18 13:55:24 +01:00
JaeyoungLim 30cc3a1243 Cleanup port handling 2020-02-18 13:06:46 +01:00
JaeyoungLim fc61d1c43d Limit remote udp port to 14549
Fix
2020-02-18 13:06:46 +01:00
JaeyoungLim 2bcd8490ff Fix gcs udp port to support more vehicles in multivehicle sitl 2020-02-18 13:06:46 +01:00
Morten Fyhn Amundsen 86bf4b2289 FlightTaskManualAltitude: Fix sign error in terrain hold setpoint reset
The modified statements are intended to

1. Set a new Z position setpoint that is equivalent to the current distance
to ground setpoint,

and

2. Set a new distance to ground setpoint that is equivalent to the current Z
position setpoint.

They are only called in terrain hold mode, when activating/deactivating the
holding (typically when coming to a stop and when starting to move again).

The setpoints take the current control error into account, but because the
control error is added, not subtracted, the result is that the new setpoint
is 2 times the control error off from the old setpoint, instead of being
at the same spot as the old setpoint.
2020-02-17 15:18:04 +01:00
Daniel Agar d7c3e1066a uavcannode updates and px4_fmu-v4_cannode example
- drivers/uavcannode add baro, mag, gps publications
 - delete old px4_cannode-v1 board
 - add stripped down simple rcS for CAN nodes
2020-02-16 12:11:54 -05:00
Silvan Fuhrer 342e0da796 VTOL land detector: extend fall_detection from multicopter land detector and disable in fixed-wing mode
Extend the get_freefall_state() from MC land detector to have a VTOL-specific
one that just enables free fall detection if in rotary wing or transition mode.
This is done to prevent wrong free-fall detected warnings while doing low-G maneuvers
(parabolic flights). Land detection is anyway disabled in FW flight for VTOL so
no logic change.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-14 17:46:30 +03:00
Silvan Fuhrer dad9c154a3 VTOL Land Detector: move to airspeed_validated
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-14 17:46:30 +03:00
Julian Oes 9a96ca14be Tools: make Python import error more readable
The problem with printing the exception was that starting with
Python 3.6 the ImportError is yet another (sub) exception called
ModuleNotFoundError which can't be printed as a string and then triggers
another exception:

```
Traceback (most recent call last):
  File "/home/julianoes/src/Firmware/Tools/serial/generate_config.py", line 11, in <module>
    import jinja2
ModuleNotFoundError: No module named 'jinja2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/julianoes/src/Firmware/Tools/serial/generate_config.py", line 13, in <module>
    print("Failed to import jinja2: " + e)
TypeError: must be str, not ModuleNotFoundError
```

As per @bkueng's suggestion the easiest is to cast the exception to str
and that way prevent the second exception.
2020-02-14 11:40:05 +01:00
Nuno Marques 7cafbc824e simulator: add support for multi-distance_sensor instances (#14143)
* simulator: add support for multi-distance_sensor instances

* update submodule Tools/sitl_gazebo

* sitl_gazebo: add updated iris_obs_avoid; simulator: cleanup distance_sensor topic init

* update submodule Tools/sitl_gazebo

* simulator: delete _dist_pubs uORB::PublicationMulti<distance_sensor_s> in simulator destructor
2020-02-14 11:32:28 +01:00
Julian Oes abd2bb4eb7 cmake: fix Python 3 libs name
This was just wrong. `devel` might be correct on Fedora but no on Ubuntu
:).
2020-02-13 09:20:26 -05:00
Nico van Duijn 55372d7cbe Parameterize timeout for radio status 2020-02-13 08:52:27 -05:00
bresch 81c6d6655f ekf: clean uncorrelateQuatStates function
As the name can be ambiguous, it gets renamed
"uncorrelateQuatFromOtherStates".
Also replace the loops storing the values and reapplying them by simply
zeroing two slices (this also saves 130B of flash).
2020-02-13 14:33:32 +01:00
BazookaJoe1900 c78572b471 px4io: fix array regs[] size (#14135)
may cause memory override if _max_controls larger then _max_actuators
2020-02-13 13:01:12 +01:00
Beat Küng 5e3796324c px4io: fix argv index & avoid empty 'unknown argument: ' warning 2020-02-13 03:49:16 -08:00
Beat Küng ccf2078c66 nxp/fmurt1062-v1: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 6b1ee7bbe2 io_timer_init.h: avoid using timer_channel, as imxrt does not have it 2020-02-13 03:49:16 -08:00
Beat Küng ef36d70cb4 px4_arch imxrt: add hw description constexpr util methods 2020-02-13 03:49:16 -08:00
Beat Küng 8cd9afc19a imxrt io_timer: remove some fields from io_timers_t and split out channel indexes
IOMUX uses different enumeration from GPIO pin + port, so we cannot use
.gpio_out, and add a .gpio_portpin.
2020-02-13 03:49:16 -08:00
Beat Küng d74d094940 nuttx configs: disable nuttx timers which are used for PWM output
These are not required, and to be consistent we enforce disabling them now.
2020-02-13 03:49:16 -08:00
Beat Küng b380278f02 uvify/core: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 40898ba237 px4/fmu-v5x: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng a0bfb7ad8e px4/fmu-v4pro: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng d53153bb9b px4/fmu-v3: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 4599c30817 px4/fmu-v2: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng ba4be76bcc omnibus/f4sd: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 03210f5386 mro/x21: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng bd3fe62fcf mro/x21-777: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng b3fe4a6691 mro/ctrl-zero-f7: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 451af07472 modalai/fc-v1: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 93106836df intel/aerofc-v1: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng d2254c2e44 holybro/kakutef7: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng ebbcc01f12 av/x-v1: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 366e2b9dc9 airmind/mindpx-v2: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 6cdf368776 stm32 io_timer: add support for 16 PWM outputs 2020-02-13 03:49:16 -08:00
Beat Küng 2b0f7e514e io-v2: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng f7637ebf8f fmu-v5: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng d1e690a036 fmu-v4: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng c01f6811d0 nxp/fmuk66-v3: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 5319a98fec durandal-v1: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 4fd431b5e5 crazyflie: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 3217b539c6 px4_arch: add hw description constexpr util methods
These will be used in the board configurations.
2020-02-13 03:49:16 -08:00
Beat Küng 418262a131 px4_micro_hal: add PX4_MAKE_GPIO_INPUT and PX4_MAKE_GPIO_OUTPUT
Instead of using macros defined in the board config.
2020-02-13 03:49:16 -08:00
Beat Küng 685be9b3d1 io pins: avoid using GPIO_GPIOx_OUTPUT, use timer_io_channels instead
The whole system now uses timer_io_channels, which will allow the redundant
GPIO_GPIOx_OUTPUT definitions to be removed.
2020-02-13 03:49:16 -08:00
Beat Küng 62b4f3487a io timer: remove some fields from io_timers_t and split out channel indexes
- reduces amount of board configuration required
- removes the cyclic dependency between io_timers_t and timer_io_channels_t

Fixes a bug in the fmuk66-v3 config: the 2. timer has 3 channels associated
not 2.
Fixes a bug in the modelai config: the 2. timer has 4 channels associated.
2020-02-13 03:49:16 -08:00
Beat Küng 8020e82c1c MultirotorMixer: allow for longer mixer geometry names (16 instead of 8) 2020-02-13 03:49:16 -08:00
Beat Küng 73bd90ddd5 crazyflie: fix PWM channel ordering
Channels belonging to a certain timer were not all grouped together.
This is required by the .first_channel_index and .last_channel_index data
members.

We introduce a new mixer geometry to solve the problem.
2020-02-13 03:49:16 -08:00
Julian Kent c6d5a74685 Update change indicator 2020-02-12 22:34:44 +01:00
bresch 17ab617877 ecl update: contains important fixes for accel bias instabilities 2020-02-12 22:34:17 +01:00
bresch 05d391c785 Update test csv after functional fix 2020-02-12 22:03:22 +01:00
bresch 90ca012705 ekf_helper: restore oridinal quaternion decorrelation
The intent of the function "uncorrelateQuatStates()" is to uncorrelathe quaternions from the other states but not between each other as they are and should remain linked alltogether.
Clearing the quaternions to quaternion covariances introduced unstabilities in other states (especially accel biases).
2020-02-12 22:03:22 +01:00
CarlOlsson b6420d0b79 ekf: add vehicle at rest to flags 2020-02-12 18:58:24 +01:00
David Sidrane 2193cce50b rddrone-uavcan146:Board Added 2020-02-12 10:29:27 -05:00
David Sidrane 80ac80b5e4 s32k1xx:Add stubbed out chip and arch 2020-02-12 10:29:27 -05:00
Daniel Agar 0d36e5094b px4_io-v2 add to vscode variants and fix SVD file find 2020-02-10 09:40:39 +01:00
Daniel Agar 8cdbc4c593 px4iofirmware: add PX4IO_PERF define to completely disable perf counters 2020-02-10 09:40:39 +01:00
Daniel Agar 2015cc2b39 logger: restore buffer statistics update
- this was accidentally dropped during a rebase of #14050
2020-02-10 00:17:28 -05:00
Daniel Agar e6d7612997 cmake jlink add path hints for macos 2020-02-09 23:24:44 -05:00
Daniel Agar c54a09974c vscode improvements 2020-02-09 23:24:44 -05:00
stmoon 8b273b46aa fix the encoding problem for subprocess.check_output 2020-02-09 10:12:15 +00:00
Daniel Agar 6c76f99fe5 Update submodule mavlink v2.0 to latest Sat Feb 8 12:38:03 UTC 2020
- mavlink v2.0 in PX4/Firmware (8df22541ef): https://github.com/mavlink/c_library_v2/commit/a62c13922547033d8dd0e3ef9da9edcce909a05d
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/1847cbbff5863db71bf7e3de8c5e8136da784152
    - Changes: https://github.com/mavlink/c_library_v2/compare/a62c13922547033d8dd0e3ef9da9edcce909a05d...1847cbbff5863db71bf7e3de8c5e8136da784152
2020-02-08 18:28:34 -05:00
Daniel Agar 13a6d57703 Makefile/cmake remove legacy target naming transition helpers 2020-02-08 14:38:56 -05:00
PX4 BuildBot c6c7f963ac Update submodule nuttx to latest Sat Feb 8 12:38:09 UTC 2020
- nuttx in PX4/Firmware (4b356c91f2be41dfdadb38270fab01ddb337d3c7): https://github.com/PX4/NuttX/commit/7b36108b548642f1a8513dcf00eb4913f8558ccf
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/fdf1837077104e80912a2c46ff159fdacc8b06f9
    - Changes: https://github.com/PX4/NuttX/compare/7b36108b548642f1a8513dcf00eb4913f8558ccf...fdf1837077104e80912a2c46ff159fdacc8b06f9

    fdf1837077 2020-02-07 Peter van der Perk - [BACKPORT] S32K add support for Nxp drone boards (#224)
f479b26c98 2020-02-07 Peter van der Perk - [BACKPORT] imxrt added missing i2c prescale mask
26dd187034 2020-02-07 Peter van der Perk - [BACKPORT] Kinetis renamed TJA1100 to TJA110X registers
2020-02-08 13:59:26 -05:00
Daniel Agar f2eefb4e7a codecov: remove notifications until we can address false reporting
I don't think we're quite ready for codecov reporting on every PR. The initial report seems to work fine, but there are various issues that result in bogus reporting when additional commits are added or after a rebase.
2020-02-08 13:26:21 -05:00
David Sidrane 254b05d377 px4_fmu-v5x:P2 Base migrating to LAN8742Ai phy 2020-02-08 06:39:10 -08:00
Daniel Agar 8df22541ef sensors: filter sample rate calculate with simple interval average instead of perf count
- the perf counter intervals aren't numerically stable over extended periods (https://github.com/PX4/Firmware/pull/14046)
2020-02-07 13:04:02 -05:00
Silvan Fuhrer a3710fcdef VTOL: flight task auto: disable weather vane when not stationary
Use yawrate setpoint from weather vane only if velocity setpoint is small
(smaller than half the cruise velocity)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:46:29 +01:00
Silvan Fuhrer 98aee29ddc VTOL: Manual Pos Flight Task: do not use yawrate sp from weather vane if position isn't locked
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:46:29 +01:00
Silvan Fuhrer 9ba0d5b706 tiltrotor tilt support: fix thrust compensation constraining
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer 4c9dba8692 VTOL type and tiltrotor: use math::constrain() for constraining
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer e3310796ce tiltrotor: limmit the adapted thrust for tilt to [0,1]
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer a26e914ef4 VTOL pusher/tilt support: addressed review comments:
- remove gloabl variable and instead give back forward_thrust from function
 - give back increased vertical thrust from fct thrust_compensation_for_tilt()

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer 5ae4ca8ff1 VTOL: Make pusher assist generic to enable also for tiltrotor
-move pusher assist functionality into vtol_type class and adapt it to also
work for tiltrotor VTOLs (pitch rotors down to accelerate forward)
-for tiltrotor: compensate for lost lift due to tilt by increasing the throttle
-enable pusher / tiltassist also in altitude mode

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
bresch ca0b5700ab uorb_rtps_message_ids: add hover_thrust_estimate msg 2020-02-07 11:52:52 +01:00
bresch 7ca13a67b3 ZeroOrderHoverThrustEstimatorTest: add hover thrust jump test case
This is done to test the recovery function of the estimator in case
of divergence or sudden extreme hover thrust change.

Also specify seed of random generator
2020-02-07 11:52:52 +01:00
bresch e15e94b00a HoverThrustEstimator: Add convergence tests
With noisy accel and thrust in hover, climb and descent conditions.
2020-02-07 11:52:52 +01:00
bresch 0f1c7590e9 HoverThrustEstimator: add a new single state estimator
with measurement noise auto-tuning

The purpose of this estimator is to improve land detection and vertical
velocity feedforward

Recovery strategy:
This is required when the setpoint suddenly changes in air or that the
EKF is diverging. A lowpassed test ratio is used as a trigger for the recovery logic
Also, a lowpassed residual is used to estimate the steady-state value
and remove it when estimating the accel noise to avoid increasing the
accel noise when the redisual is caused by an offset.
2020-02-07 11:52:52 +01:00
CarlOlsson a61f1647ad replay: remove GPS relative timestamps
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-02-07 08:19:22 +01:00
Beat Küng b399698306 ist8310: remove calibration code
- it does nothing useful
- increases boot time by 2 seconds on pixhawk 4 due to a poll timeout:
IST8310 on I2C bus 3 at 0x0e (bus: 100 KHz, max: 400 KHz)
WARN  [ist8310] ERROR: TIMEOUT 2
2020-02-06 12:39:39 -05:00
Ricardo Marques 225a3a0cba Update sitl_gazebo submodule to latest 2020-02-06 09:38:35 +00:00
Daniel Agar 05b075984f Jenkins hardware clear hardfault log and board cleanup 2020-02-06 09:50:33 +01:00
Daniel Agar 1aa514a8ea Update submodule ecl to latest Wed Feb 5 12:39:46 UTC 2020
- ecl in PX4/Firmware (ad3865207f22e26534e04cde8825a07eda4399b5): https://github.com/PX4/ecl/commit/a3e1eb9d509d55c2c476ec093cf24d84da9798e5
    - ecl current upstream: https://github.com/PX4/ecl/commit/ed260c4f1db8545d8ad3aa7f05d951857436ef87
    - Changes: https://github.com/PX4/ecl/compare/a3e1eb9d509d55c2c476ec093cf24d84da9798e5...ed260c4f1db8545d8ad3aa7f05d951857436ef87

ed260c4 2020-02-03 Daniel Agar - validation: remove unused vibration metric
e52e2b8 2020-02-01 kritz - Sensor Replay (#717)
da752c9 2020-01-28 kamilritz - Hot flow fusion fix
ee859e0 2020-01-28 kritz - Robustify timestamp checks (#729)
f20726d 2020-01-23 kamilritz - Expand auto-format coverage and tiny style changes
fbdd75d 2020-01-27 kritz - Update CONTRIBUTING.md
5d38b73 2020-01-24 kamilritz - Update description of Firmware build tests
e3af91c 2020-01-24 bresch - Ekf: use helper functions to centralize the checks of horizontal aiding (gps, flow, ev_pos, ev_vel)
2020-02-05 14:24:38 -05:00
Paul Riseborough 89bcebd631 EKF: Prevent covariance initialisation overwriting yaw variance
Also typo fix
2020-02-05 15:20:34 +01:00
Paul Riseborough a3347b7e06 EKF: Use more conservative value for delta velocity bias process noise
Smaller values have resulted in bias estimation divergence under some conditions
2020-02-05 15:20:34 +01:00
Paul Riseborough 21054a4236 EKF: Fix bug causing incorrect covariance initialisation
The covariance initialisation should not be performed before the quaternion states are initialised.
2020-02-05 15:20:34 +01:00
CarlOlsson 37db7d3bba ekf2: define max number of range finders seperate from max number of mutli uORB topics
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-02-05 08:03:23 +01:00
Daniel Agar ed260c4f1d validation: remove unused vibration metric 2020-02-04 23:37:05 -05:00
Daniel Duecker 36f836be79 add support for unmanned underwater vehicles (#14079)
* add support for unmanned underwater vehicles:
* airframe uuv_generic + uuv_hippocammpus including mav_type = 12 for submarines
* mixer for UUVs with X-shaped thruster setup similar to quadcopter
* add module  uuv_att_control for underwater robot attitude control
* add rc.uuv_defaults/apps for autostarting e.g. ekf2 and uuv_att_control app
2020-02-04 23:24:37 -05:00
Daniel Agar a82428c5fd codecov: try to relax notifications 2020-02-04 11:03:33 -05:00
Daniel Agar 36c6e36b9d sensors: refactor common corrections and rotation code 2020-02-04 09:44:40 -05:00
Hamish Willee ca96b6b0ea CBRK_AIRSPD_CHK: Doc driver not started 2020-02-04 09:22:18 +01:00
bresch c80593a144 FlightTaskManualAltitude: Rename _min_speed_down -> _max_speed_down as it is the maximum allowed downward speed 2020-02-03 18:05:17 +01:00
bresch c0d1aa1654 FlightTaskManualAltitude: Follow altitude limit given by the estimator 2020-02-03 18:05:17 +01:00
Daniel Agar 36b37189ba drivers/rpm/pcf8583: minor cleanup
- split out header and main
 - move to ModuleParams
 - add copyright header to all new files
 - don't store unnecessary state
2020-02-03 10:01:40 -05:00
Nico van Duijn 7778cbd463 Mavlink: Add MAV_x_RADIO_CTL parameter to disable RADIO_STATUS flow control
* Add param for software flow ctl on 3DR radios
* Dont reset telemetry type on radio timeout
* Treat 3DR radio as generic link type
* Rename 3DR to SiK radio
2020-02-03 09:49:47 -05:00
SalimTerryLi 9612e40464 purge drivers/linux_sbus
- rc_input now provides reliable parsing for SBUS on Linux platform. linux_sbus can be fully removed.
2020-02-03 08:40:27 -05:00
SalimTerryLi 20ad3a0ded fix batt_smbus build error
fix `error: variable-sized object ‘lifetime_block_one’ may not be initialized`
2020-02-03 08:22:43 +01:00
fnoop 86eff44a5e Honour PYTHON_EXECUTABLE environment variable if set and pass to cmake #14077 2020-02-03 07:40:11 +01:00
Daniel Agar 3dc23afb3e fw_pos_control_l1: move to px4::params 2020-02-02 21:04:21 -05:00
SalimTerryLi e0abe7090e SBUS on Linux: replace termios with termios2 and add UNKNOWN UART WQ 2020-02-02 14:06:27 -05:00
Roman Dvořák c8a58c5c9d drivers: add PCF8583 RPM sensor (#14018) 2020-02-02 12:10:20 -05:00
JaeyoungLim 6dc3cbbd95 SITL add catapult plane target for new gazebo model (plane_catapult) 2020-02-02 11:59:17 -05:00
Travis Bottalico 9d2a37b35d Fix hardware detection of Flight Core standalone configuration 2020-02-01 13:06:41 -05:00
Travis Bottalico 9e38fee1c6 [BACKPORT] hrt needs to be running for ADC time out.
From commit 5a1c46deeb
2020-02-01 13:06:41 -05:00
kritz e52e2b88ed Sensor Replay (#717)
* Add primitive logging for Ekf

* Add python script to extract sensor data from ULog

* Add primitive sensor replay

* Add iris_gps data for sensor replay

* Add CI for functional change indication

* Update sensor replay flow data type

* update iris_gps_change indication

* test: Update EKF replay test documentation

Co-authored-by: Paul Riseborough <priseborough@users.noreply.github.com>
2020-02-01 20:41:12 +11:00
Nicolas Martin cfa74b9106 logger: choose logged instances by logger_topics file
new versions of logger does not allow to log multiple instances of a topic when using 'logger_topics.txt'

This commit restores the default behavior (log all instances of a topic) and ad the option to specify an instance to log
2020-01-31 09:43:29 +01:00
Julian Oes a8c3944485 setup: select Java 8 after installation 2020-01-30 22:45:29 -05:00
Julian Oes 733e73e185 Tools: check for Java 8 on Linux
This allows us to print an error message instead of a weird Java failure
further down the road.

Better yet would be if this would take down everything, so a user does
not have to scroll up to read the message.
2020-01-30 22:45:29 -05:00
Daniel Agar 035c3e6f6a commander params fix whitespace 2020-01-30 22:31:50 -05:00
Daniel Agar d089bacb1b codecov notification changes
- require the reporting of 5 builds to try and prevent Github actions + Jenkins race condition
 - don't report if there's no change
2020-01-30 21:50:59 -05:00
Hamish Willee 1acb947124 commander_params: subedit com_rc_override 2020-01-30 19:30:17 -05:00
David Sidrane 514e1a3744 px4_fmu-v4pro:Fix USART6 RX DMA Assignment 2020-01-30 16:20:49 -05:00
Daniel Agar e49112d406 invensense/icm20608-g: delete unnecessary perf counters 2020-01-30 13:07:44 -05:00
Daniel Agar aad27c4f94 invensense/icm20602: use watermarak interrupt instead of data ready and remove unnecessary perf counters 2020-01-30 13:07:44 -05:00
Daniel Agar ca4b8e4e76 invensense/mpu9250: delete redundant interval perf counter 2020-01-30 13:07:44 -05:00
Daniel Agar 6fe35d522a new icm20689 driver using FIFOs and raw sampling (8 kHz gyro, 4 kHz accel) 2020-01-30 13:07:44 -05:00
Daniel Agar 3910028fc5 new mpu6000 driver using FIFOs and raw sampling (8 kHz gyro, 1 kHz accel) 2020-01-30 13:07:44 -05:00
Hamish Willee 9886b11f99 EKF params - clarify body frame origin/orientation 2020-01-30 07:29:11 -05:00
Matthias Grob 69af6386b3 mc_pos_control_main: remove obsolete input setpoint assignments
These assignments were temporary for correct logging of the input
setpoint which now properly also comes out of the controller again.

This is reverting the hotfix from:
dee8d200d8
2020-01-30 07:28:18 -05:00
Matthias Grob b75c1308f9 PositionControl: replace interfacemapping checks
Removing the skip_controller and interfaceMapping
concept and replacing it with a single method checking
if the position control update was successful and
return the result in the PositionControl.update().
2020-01-30 07:28:18 -05:00
Matthias Grob e06fff94bb PositionControl: handle yaw NAN inputs 2020-01-30 07:28:18 -05:00
Matthias Grob dcc0339773 PositionControl: calculate velocity integral once using Vector3f 2020-01-30 07:28:18 -05:00
Matthias Grob 9109d22c28 PositionControl: simplify horizontal thrust limiting 2020-01-30 07:28:18 -05:00
Matthias Grob 83653d6581 PositionControl: readd direct thrust setpoint support
This restores original horizontal thrust setpoint execution
that I intentionally broke three commits ago. It's necessary
for correct stick to tilt mapping of FlightTaskManualAltitude.
2020-01-30 07:28:18 -05:00
Matthias Grob 282d46efcb PositionControl: add feed-forwards with addIfNotNan() 2020-01-30 07:28:18 -05:00
Matthias Grob 62fb06bd58 PositionControl: calculate velocity PID once using Vector3f 2020-01-30 07:28:18 -05:00
Matthias Grob 5bd8da2286 PositionControl: temporarily remove direct thrust setpoint support
This commit temporarily breaks direct horizontal thrust setpoint execution
which is used by FlightTaskManualAltitude. This is necessary to allow for
PositionControl cleanup namely calculating the whole velocity PID in one
Vector3f formula.

Having this in a separate commit is useful since it reduces indentation
of a bigger code block.
2020-01-30 07:28:18 -05:00
Matthias Grob e53ae45188 ControlMath: add addIfNotNan helper functions 2020-01-30 07:28:18 -05:00
Lorenz Meier eb50e89d87 Add flow tests to MAVSDK tests (#14039)
* workflows: remove unneeded pip dep and comments

* mavsdk_tests: simple test using flow/offboard

This adds a first proof of concept of a test using flow and offboard.

* Flow MAVSDK test: check against ground truth

* CleanUp

* workflows: use latest docker image with psutil

* mavsdk_tests: fix PEP8 issues

* Add VTOL CI tests back

* switch to non-rendering flow mockup

* workflows: install mavsdk from GitHub release .deb

* Add vision test and disable VTOL temporarlly

* Fist draft of combining test coverage and test in one workflow

* Add VTOL mavsdk tests back in CI

Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: kritz <kritz@ethz.ch>
2020-01-30 11:57:48 +01:00
PX4 BuildBot a141e4062b Update submodule sitl_gazebo to latest Thu Jan 30 00:37:59 UTC 2020
- sitl_gazebo in PX4/Firmware (931a3f2684): https://github.com/PX4/sitl_gazebo/commit/029722989e945f0a78d5a2322788b34a3ca99ab6
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/dfbc28badcffd734c6a5f1b084d7da44f0d19685
    - Changes: https://github.com/PX4/sitl_gazebo/compare/029722989e945f0a78d5a2322788b34a3ca99ab6...dfbc28badcffd734c6a5f1b084d7da44f0d19685

    dfbc28b 2020-01-29 kamilritz - Reduce airspeed noise
55d74c3 2020-01-11 JaeyoungLim - Add plane catapult model
2020-01-29 23:31:40 -05:00
Daniel Agar 116716ad22 new mpu9250 driver using FIFOs and raw sampling (8 kHz gyro, 4 kHz accel)
- currently disabled by default
2020-01-29 22:53:21 -05:00
Daniel Agar 931a3f2684 logger: publish initial logger_status orb message 2020-01-29 17:29:30 -05:00
Daniel Agar 2410b31662 sensors: move accel filtering to sensors/vehicle_acceleration
I've added a queue depth of 4 for sensor_accel and sensor_gyro. This is initially added because it's not always possible for the `vehicle_acceleration` to keep up with every publication of the primary accelerator as it runs in the same thread as ekf2, various controllers, etc. 

Later this mechanism will be used in a few areas
 - rate limit `vehicle_angular_velocity` and `vehicle_acceleration` without missing any raw data
 - move IMU integration to `vehicle_imu` and out of the actual driver threads, eliminating the need for sensor_accel_integrated and sensor_gyro_integrated
 - integrate raw gyro synchronized with optical flow measurements
2020-01-29 16:13:38 -05:00
David Sidrane 22c422d017 Update platforms/nuttx/NuttX/nuttx: imxrt backports merged 2020-01-29 13:54:20 -05:00
David Sidrane 2f1bc6676e imxrt:Add critmon 2020-01-29 13:54:20 -05:00
David Sidrane 78c7f98ef1 nxp_fmurt1062-v1:Memory Reorg 2020-01-29 13:54:20 -05:00
David Sidrane 962716a7c3 nxp_fmurt1062-v1:Performance tuning 2020-01-29 13:54:20 -05:00
David Sidrane a8720057fd nxp_fmurt1062-v1:RC is on LPUART6 ttyS5 2020-01-29 13:54:20 -05:00
David Sidrane eb30041958 nxp_fmurt1062-v1:PROBES:carry includes and path needed 2020-01-29 13:54:20 -05:00
David Sidrane 37995793f4 Updateded NuttX with backports of PX4 imxrt contrib 2020-01-29 13:54:20 -05:00
David Sidrane 304bef3554 iimxr:Needed more margin on minimum reload. 2020-01-29 13:54:20 -05:00
David Sidrane ef5ed2e43c nxp_fmurt1062-v1:OC remove Pull up - OC have series 47K 2020-01-29 13:54:20 -05:00
David Sidrane ec0f004a7b fmurt1062-v1:Correct SPI1_DRDY4_ICM20602 2020-01-29 13:54:20 -05:00
David Sidrane 1fd2f27493 fmurt1062-v1:Add SPI4 RESET and SYNC 2020-01-29 13:54:20 -05:00
David Sidrane 1346312012 fmurt1062-v1:Add GPIO info 2020-01-29 13:54:20 -05:00
David Sidrane 5202724f19 fmurt1062-v1:Add nARMED Support 2020-01-29 13:54:20 -05:00
David Sidrane 08ac209674 fmurt1062-v1:Set BAT ADC scaling 2020-01-29 13:54:20 -05:00
David Sidrane a223899e3e imxrt:ToneAlarmInterface Reset mode is dependant on Chan 1 2020-01-29 13:54:20 -05:00
David Sidrane 453c39230f fmurt1062-v1:Consistently use ONE/ZERO on inital OUTPUT settings 2020-01-29 13:54:20 -05:00
David Sidrane 1d2187528b fmurt1062-v1:Fix LPUART8 RX, TX pin definitions 2020-01-29 13:54:20 -05:00
David Sidrane a4e9498260 fmurt1062-v1:Fix LPUART3 CTS Pin definition 2020-01-29 13:54:20 -05:00
David Sidrane 2cbec89e2b fmurt1062-v1:Fix and enable support for debut Probes 2020-01-29 13:54:20 -05:00
David Sidrane 2385e1091d fmurt1062-v1:Correct ttyS usage 2020-01-29 13:54:20 -05:00
David Sidrane e5bf0710b5 fmurt1062-v1:Support imxrt_lpi2c_reset uses GPIO with SION 2020-01-29 13:54:20 -05:00
David Sidrane f44f8a95e1 fmurt1062-v1:Update board modules ==FMUv5 2020-01-29 13:54:20 -05:00
David Sidrane 625429d3b7 fmurt1062-v1:Support configurations to fine tune LPI2C Timeouts. 2020-01-29 13:54:20 -05:00
David Sidrane 59d17b053f fmurt1062-v1:Support clock setting for SPI and I2C from board.h 2020-01-29 13:54:20 -05:00
David Sidrane 94dbf3176a fmurt1062-v1:Update board modules ==FMUv5 2020-01-29 13:54:20 -05:00
David Sidrane 51f0bc9788 fmurt1062-v1:Remove EVK build options 2020-01-29 13:54:20 -05:00
David Sidrane a8e0c29161 fmurt1062-v1:Invert USDHC CD 2020-01-29 13:54:20 -05:00
David Sidrane be14fa084b fmurt1062-v1 Build for BB Rev A 2020-01-29 13:54:20 -05:00
David Sidrane b4b597251f fmurt1062-v1:Rev to match Rev A HW 2020-01-29 13:54:20 -05:00
David Sidrane 59693dc48e Adding NXP fmurt1062-v1
Add nxp_fmurt1062-v1 to CI
2020-01-29 13:54:20 -05:00
David Sidrane 490fe8256f Add nxp imxrt device support 2020-01-29 13:54:20 -05:00
kritz 92e75452f5 Flow mockup (#14054)
* Add optical flow mockup model

* Update Tools.sitl_gazebo
2020-01-29 14:06:46 +01:00
Julian Oes 00728dab18 workflows: build pull requests and master
With this change pull requests from forks are also built.
We yet need to verify if tags/releases are built or if we need to
specify the tags as well.
2020-01-28 22:09:50 -05:00
Julian Oes a2e95f171f mavsdk_tests: fix model name of plane
However, the test does not pass yet, so I'm leaving it commented out.
2020-01-28 20:35:25 +01:00
Julian Oes bb1c08fdd1 mavsdk_tests: enable VTOL, fix TEST_CASE name
We can't use commas in the TEST_CASE name. With the comma, the test did
not run and displayed:

Filters: Takeoff, transition and RTL
No test cases matched 'Takeoff'
No test cases matched 'transition and RTL'
==========================================
No tests ran
2020-01-28 20:35:25 +01:00
Julian Oes 01f29a51a8 mavsdk_tests: DISPLAY env for gazebo, --verbose 2020-01-28 20:35:25 +01:00
kamilritz da752c9e30 Hot flow fusion fix 2020-01-28 17:19:51 +01:00
RomanBapst 3ef6eba34c prearmCheck: vtol cleanup
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-28 10:14:32 -05:00
Silvan Fuhrer 8de675ec88 mission feasibilty check: fix for VTOL backtransition and land waypoint
Prior this fix VTOL missions get rejected if they have a DO_LAND_START marker, but then do
not end with a LAND waypoint but a VTOL transition and land.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-01-28 10:13:41 -05:00
kritz ee859e092a Robustify timestamp checks (#729)
* Robustify timestamp checks

* Remove lowerbound on sensor timestamp

* Add tests for fusion timeouts

* Inline and const time check functions

* Rename dead_reckoning time variable
2020-01-28 20:33:16 +11:00
Lorenz Meier b14e5568d3 Codecov: Adjust target to current range
This is required to enable CI.
2020-01-28 08:59:25 +01:00
Lorenz Meier a88234e6db Disable Coveralls service
We are covered by Codecov.
2020-01-28 08:59:25 +01:00
Lorenz Meier f9e0f6f494 Coverage: Ignore examples and unused apps
These paths are unused code that is not part of the supported set.
2020-01-28 08:59:25 +01:00
Lorenz Meier 06db4b9227 MAVSDK tests: Enable coverage testing
This enables minimal coverage testing for multicopters.
2020-01-28 08:59:25 +01:00
Lorenz Meier dadcee1a5d Makefile: Improve the error message if a target is not found
The previous error message was misleading. The new more verbose error indicates that either the target does not exist or the ordering is wrong.
2020-01-28 08:59:25 +01:00
Lorenz Meier d468388643 Coverage: Run lcov separate to fix paths
Without this the paths of the different compile units do not match up.
2020-01-28 08:59:25 +01:00
Lorenz Meier 7e39ef8b8f MAVLink sim: Start faster
This reduces test times across the board.
2020-01-28 08:59:25 +01:00
Lorenz Meier 7b44f5d069 Tests: Add VTOL test
This is a first initial VTOL test.
2020-01-28 08:59:25 +01:00
Lorenz Meier 480e67fcd4 Plane tester: Complement test
Prepare wider plane test.
2020-01-28 08:59:25 +01:00
Lorenz Meier de8fadf1f5 Test runner: Terminate all px4 apps correctly
Without this change an aborted run leaves zombie processes running.
2020-01-28 08:59:25 +01:00
Lorenz Meier 7b5b1dcd47 Clang: Force absolute paths
This helps with some diagnostics tools as we have various compile units in different paths.
2020-01-28 08:59:25 +01:00
Lorenz Meier 60bc043698 Coverage: Fix build for Mac OS
These changes are needed for Mac OS.
2020-01-28 08:59:25 +01:00
Lorenz Meier 0d8ac51bcc Coverage tests: Run faster
We want the coverage tests to run at the maximum speedup factor the CI machine can deliver.
2020-01-28 08:59:25 +01:00
Daniel Agar dc5e10c3b1 airframes: delete 4004 H4 680mm
- this doesn't include any actual airframe configuration
2020-01-28 07:43:26 +01:00
Daniel Agar b95442b38f airframes: delete 4012 quad x can 2020-01-28 07:43:26 +01:00
Daniel Agar 4ac3ce9f54 airframes: delete 4002 quad x mount
- the mount can be enabled via parameter
2020-01-28 07:43:26 +01:00
Daniel Agar 0a0ed1eb33 px4_fmu-v2_fixedwing: disable vmount to save flash 2020-01-27 21:19:18 -05:00
Silvan Fuhrer 4fa64f686a pre arm check: add circuit breaker for the VTOL arming in fixed-wing mode prevention
Added a new circuit breaker that, if set, enables arming in fixed-wing mode for VTOLs.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-01-28 00:30:24 +01:00
Silvan Fuhrer f4df3fb5f2 pre arm check: VTOL: do not allow arming if not in multicopter mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-01-28 00:30:24 +01:00
Daniel Agar 1237402fa4 sensors: compute and publish vehicle_angular_acceleration
- introduces parameter IMU_DGYRO_CUTOFF to configure the angular acceleration low pass filter
 - the angular acceleration is computed by differentiating angular velocity after the notch filter (IMU_GYRO_NF_FREQ & IMU_GYRO_NF_BW) is applied

Co-authored-by: Julien Lecoeur <jlecoeur@users.noreply.github.com>
2020-01-27 16:44:01 -05:00
kamilritz f20726d47f Expand auto-format coverage and tiny style changes 2020-01-27 16:54:25 +01:00
Roman Dvořák 497ab07daf airframes: add ThunderFly Auto-G2 autogyro (#14015) 2020-01-27 16:21:52 +01:00
Daniel Agar 24f0c2d72a sensors: move gyro filtering to sensors/vehicle_angular_velocity
- gyro filtering (low-pass and notch) only performed on primary gyro in `sensors/vehicle_angular_velocity` instead of every gyro in `PX4Gyroscope`
 - sample rate is calculated from actual updates (the fixed value was slightly wrong in many cases, and very wrong in a few)
 - In the FIFO case the array is now averaged and published in `sensor_gyro` for filtering downstream. I'll update this in the future to use the full FIFO array (if available), but right now it should be fine.
2020-01-27 10:05:33 -05:00
kamilritz 0d2e5f1c50 Update sitl_gazebo: Vision fix 2020-01-27 14:09:45 +00:00
JaeyoungLim 15835ce7a3 Add standard_vtol as supported model for multivehicle sim gazebo
Fix
2020-01-27 09:16:24 +01:00
Daniel Agar 3545ba97ca commander: don't run preflightCheck during calibration on reconnect 2020-01-27 09:10:22 +01:00
Daniel Agar 10410fc868 msg: rename sensor_bias -> estimator_sensor_bias 2020-01-27 09:03:27 +01:00
kritz fbdd75da2e Update CONTRIBUTING.md
Co-Authored-By: Roman Bapst <bapstroman@gmail.com>
2020-01-27 10:42:17 +03:00
kamilritz 5d38b73072 Update description of Firmware build tests 2020-01-27 10:42:17 +03:00
Beat Küng db49e5abcd fix commander: run preflight checks on GCS connection
Regression from 6dec451bab, leading to
preflight failures not being reported at all. Only after a failed arming
attempt the messages would be sent. And for GPS check failures, in case
they are set to optional (default), arming would be possible, but switching
to position would be rejected w/o error.

We need to run the preflight checks periodically, but this at least restores
the previous behavior.
2020-01-25 11:17:33 +01:00
Beat Küng 2a67d22ac7 commander powerCheck: simplify logic
refactoring only
2020-01-25 11:17:33 +01:00
Beat Küng 9e7dcd4b06 commander: fix prearm flag to preflightCheck
This was inverted, i.e. set to false in most cases, whereas it should be
true.

As a consequence, both powerCheck and airspeed.confidence checks were not
executed.
2020-01-25 11:17:33 +01:00
Daniel Agar 4fef3dd7d5 simulated sensors minor cleanup
- mavlink receiver use PX4Accelerometer/PX4Gyroscope for hil_sensor and hil_state_quaternion
 - simulator module remove unnecessary fake scaling
 - sih module remove unnecessary fake scaling
2020-01-24 12:50:22 -05:00
RomanBapst 27e9b1e3d4 updated ecl 2020-01-24 16:49:17 +03:00
kamilritz 5a5b3a44ee Update flow interface 2020-01-24 16:49:17 +03:00
bresch e3af91c9ce Ekf: use helper functions to centralize the checks of horizontal aiding (gps, flow, ev_pos, ev_vel) 2020-01-24 17:22:50 +04:00
kamilritz a3e1eb9d50 Checkout to matching firmware if possible 2020-01-24 16:18:42 +03:00
kamilritz f3d790a664 Update optical flow interface 2020-01-24 16:18:42 +03:00
RomanBapst cafb1400fb estimator_interface: bugfix, set range sample correctly
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-24 13:03:04 +01:00
Julian Oes ab133b41b2 workflows: Install mavsdk from GitHub release 2020-01-24 12:04:47 +01:00
Beat Küng 0542ac0e5f fix simulator_mavlink: orb_copy requires a valid data pointer
orb_copy() just returns if data==nullptr.

Fixes lockstep for ekf2. estimator_status.time_slip now stays constant
after startup, even with high speedup factor and high system load.
2020-01-24 12:04:47 +01:00
Julian Oes 30edcad752 Revert "Simulator: Remove EKF2 based wait"
This reverts commit 1834c156d2.
2020-01-24 12:04:47 +01:00
Julian Oes 30188d2884 Revert "Simulation: Set scheduling policy RR for lockstep"
This reverts commit 742b1839d5.
2020-01-24 12:04:47 +01:00
Julian Oes f64a0982c7 mavsdk_tests: fix build instructions 2020-01-24 12:04:47 +01:00
Julian Oes 0f77e3ba44 mavsdk_tests: actually use chosen model
This does not work for plane yet, and VTOL only acts as multicopter for
now, so doesn't make much sense just yet.
2020-01-24 12:04:47 +01:00
Julian Oes 5589812104 mavsdk_tests: refactor/cleanup
This splits the main function which has become way too long.
2020-01-24 12:04:47 +01:00
mohammad f5a81f5793 capture.result
Boolean indicating success (1) or failure (0) while capturing this image.
2020-01-24 11:42:03 +01:00
Julian Oes 1280351feb mavlink: forward everything except what is for us
The previous forwarding rules exclude another onboard MAVLink node to
send messages to a specific target.

E.g. a message from a companion computer with sysid 1 (same as
autopilot) with target sysid 190 (for the ground station) was not
forwarded.

With the new rules, anything that is not specifically addressed to the
autopilot's sysid and compid is forwarded.
2020-01-24 11:14:44 +01:00
Jacob Dahl 562062b303 batt_smbus: fix potential buffer overrun bug (#13904) 2020-01-24 11:01:25 +01:00
kamilritz df37c9bf1d First draft of the contribution guidelines 2020-01-24 09:31:49 +01:00
Beat Küng 5cacf17e47 navigator mission: simplify reset logic
This can be simplified because we now only activate Mission while armed.
2020-01-24 08:42:16 +01:00
Beat Küng 92aa341c18 navigator: do not set a mode while disarmed
This avoids premature state machine execution, most notably for missions.

In particular this fixes these issues:
- when landed, and the vehicle has a valid mission: switching to mission
  would execute the first item.
- after executing a mission with a land waypoint, the mission is reset
  and the first item is executed.

In case the first waypoint is a takeoff, it would print a user message:
"Takeoff to x meters above home.". If it was a vehicle command, it would
execute that.
Note that because the vehicle is disarmed, the vehicle would not actually
do anything (except for commands that are accepted while disarmed).
2020-01-24 08:42:16 +01:00
Beat Küng e939f60a9e FlightTaskAuto: accept invalid triplet_setpoint (and interpret as loiter)
This will allow navigator to not output any setpoints while disarmed.
Otherwise the position controller outputs warnings in the form of:
Auto activation failed with error: Activation Failed

The risk here is that it could hide problems, where navigator sends invalid
triplets when it should not.
2020-01-24 08:42:16 +01:00
Beat Küng c0352027fb mc_pos_control: do not warn when going into failsafe while disarmed
It's possible to get invalid or no setpoints from navigator while disarmed.
2020-01-24 08:42:16 +01:00
Beat Küng d68e595514 vehicle_control_mode: fix invalid comment for flag_armed 2020-01-24 08:42:16 +01:00
kamilritz 4b0e7b2cff Remove filtering on external vision alignment 2020-01-24 08:23:12 +01:00
kamilritz 2fe16c4ffe Update build instructions in readme 2020-01-24 09:03:48 +03:00
kamilritz d63e4edfd8 Fix github actions 2020-01-23 16:31:42 +01:00
kritz 47cab3dba5 Update external vision interface (#13989)
* Update external vision interface

* Update ECL Version
2020-01-23 15:36:08 +01:00
kamilritz de33885658 Update setExtVisionData interface 2020-01-23 14:50:43 +01:00
kamilritz 9554f8f98b Update ECL version 2020-01-23 13:27:30 +01:00
kamilritz 8d25dcd543 Update EKF auxiliary velocity interface 2020-01-23 13:27:30 +01:00
kamilritz 9d184ea3d6 Update EKF range finder interface 2020-01-23 13:27:30 +01:00
kamilritz 230d7f2558 Update EKF airspeed interface 2020-01-23 13:27:30 +01:00
kamilritz 8772e09963 Update EKF gps interface 2020-01-23 13:27:30 +01:00
kamilritz 19b7421f86 Update EKF baro interface 2020-01-23 13:27:30 +01:00
kamilritz 439a20bfcb Update EKF mag interface 2020-01-23 13:27:30 +01:00
kritz ed916c8006 Auto Formatting with clang-format-6.0 (#727)
* Add clang-format

* Auto-format AlphaFilter and RingBuffer

* Update to tab=8spaces

* Allow for 120 width
2020-01-23 20:56:10 +11:00
Daniel Agar 009ba638f5 PX4Accelerometer/PX4Gyroscope update FIFO case to trapezoidal integration 2020-01-22 18:35:41 -05:00
CarlOlsson dbf0bd43e8 EKF: update wind covariance initialization
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-01-23 10:27:54 +11:00
Daniel Agar 697dbfb9f8 sensors/vehicle_imu: incremental step towards multi-EKF 2020-01-22 18:04:29 -05:00
RomanBapst 0e90448e52 navigator: add position setpoint reset helper with safe defaults
- use in reset_triplets()
2020-01-22 18:03:25 -05:00
Daniel Agar 98042bf58f uORB: introduce SubscriptionBlocking
- uORB::SubscriptionBlocking is a specialized uORB::Subscription that allows you to do a blocking read
 - this is intended to be an easy to use, hard to misuse replacement for the typical orb fd + poll pattern we've relied on historically
2020-01-22 17:56:28 -05:00
kamilritz 37201fb071 Remove legacy imu interface 2020-01-23 09:34:07 +11:00
kamilritz 7c3a2f839b Update range finder interface 2020-01-23 09:34:07 +11:00
kamilritz 4fb2d1b02e Update range finder interface 2020-01-23 09:34:07 +11:00
kamilritz 9f0d8ed59e Update mag interface 2020-01-23 09:34:07 +11:00
kamilritz 856961ba85 Update airspeed interface 2020-01-23 09:34:07 +11:00
kamilritz b8a3ed5f09 Update baro interface 2020-01-23 09:34:07 +11:00
kamilritz 74ec80cdc7 Update gps interface 2020-01-23 09:34:07 +11:00
Paul Riseborough a19c29e708 EKF: Rework yaw fusion to remove singularity at +-90 deg yaw 2020-01-23 09:23:56 +11:00
Daniel Agar 036a45377d boards rename auav_x21 -> mro_x21 2020-01-22 15:33:02 -05:00
SalimTerryLi 3ed8e876b7 New pca9685 pwm output driver 2020-01-22 15:19:47 -05:00
Daniel Agar 693d532bba mRo x2.1 777 board support 2020-01-22 15:02:55 -05:00
Claudio Micheli 421a06685c BMM150: Fix priority assignment
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-01-22 12:26:49 -05:00
Beat Küng db36edffe8 commander: fix mission topic publication
The local scope caused the topic to be unadvertised, which in turn caused
a copy() failure in navigator and 'mission update failed' printf error.
2020-01-22 12:08:32 -05:00
Beat Küng c61e44f55b commander: fix variable naming 2020-01-22 12:07:51 -05:00
Beat Küng 8bfbfa033c fix commander: avoid LED printf errors on every SITL startup 2020-01-22 12:07:51 -05:00
Beat Küng 67f3234b5b posix cdev_platform: set errno on px4_open failure 2020-01-22 12:07:51 -05:00
Daniel Agar 21a8d7db7f WorkItem modules: Run() shouldn't be public 2020-01-22 12:03:03 -05:00
Martina Rivizzigno 8162b1095b send obstacle distance data in onboard mode such that they are
received by the gcs when using mavlink router
2020-01-22 16:22:32 +01:00
Beat Küng d865d9e64e safety_button: fix missing return when module exits 2020-01-22 09:49:20 -05:00
Beat Küng 35fc51de92 safety_button: add support for pairing command (3x pressing the button) 2020-01-22 09:49:20 -05:00
kamilritz fc7e8b848b Run github actions also on PRs from forks 2020-01-22 09:47:19 +01:00
Tal Zaitsev 65aaf5170c microRTPS: Fix C++11 remnant 2020-01-22 00:30:47 -05:00
Daniel Agar b47eaa6061 update C++ standard (c++11 -> c++14)
- temporarily disable snapdragon builds until toolchain is updated
2020-01-21 21:49:10 -05:00
Daniel Agar cf195b0755 commander: safety button disarm require land detector
- landed, maybe_landed, or ground_contact required before the safety
button is able to disarm
 - this reduces the risk of a faulty safety button triggering in regular
flight
2020-01-21 23:35:25 +01:00
Daniel Agar 4f868fc565 commander: use arm_disarm() helper for safety button disarm 2020-01-21 23:35:25 +01:00
Claudio Micheli 624fcc3adb v5x target: Fix wrong FD for TELEM3
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-01-21 23:27:59 +01:00
Daniel Agar 350268ee68 navigator: mission WORK_ITEM_TYPE_MOVE_TO_LAND altitude isn't relative 2020-01-21 23:27:22 +01:00
Daniel Agar fcbf8b6bcd platforms/nuttx: fix fmu-v4pro jlink debug device helper 2020-01-21 22:24:58 +01:00
Daniel Agar b2f4dae2c4 boards: fmu-v2/v3 limit rate loop by default 2020-01-21 19:16:27 +01:00
Roman Bapst fa83f3799a navigator: set acceptance radius even for IDLE position setpoint 2020-01-21 11:14:43 -05:00
kamilritz 04e09d772e Add missing mag calibration biases 2020-01-21 13:36:08 +03:00
kamilritz a3d2254e44 Move mag downsampling to ECL lib 2020-01-21 13:36:08 +03:00
kamilritz 4e8665082e Move baro downsampling and dynamic pressure comp to ECL lib 2020-01-21 13:36:08 +03:00
kamilritz 29cf7884c3 Test baro downsampling 2020-01-21 10:09:48 +03:00
kamilritz b51ea4fe39 Test dynamic pressure compensation
(cherry picked from commit b3d9334b5abe02f1d123519cfc74a875225eb0bd)
2020-01-21 10:09:48 +03:00
kamilritz 83b2abe434 protect against overflow 2020-01-21 10:09:48 +03:00
kamilritz 4be9ae8029 Compute the timestamp of average sample correctly 2020-01-21 10:09:48 +03:00
kamilritz 29c5954690 Move baro downsampling and dynamic pressure comp to ECL 2020-01-21 10:09:48 +03:00
kamilritz d7d7b56519 Move mag down sampling to ECL lib 2020-01-21 09:36:02 +03:00
Daniel Agar 6704c90354 px4/fmu-v4: restore SPIDEV integers from stable v1.10 (and earlier) 2020-01-20 22:31:30 -05:00
Daniel Agar dc05ceaad2 create temperature_compensation module
- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
2020-01-20 21:42:42 -05:00
PX4 BuildBot dedb4e8267 Update submodule sitl_gazebo to latest Tue Jan 21 00:39:16 UTC 2020
- sitl_gazebo in PX4/Firmware (635ceccfdb): https://github.com/PX4/sitl_gazebo/commit/a5b33417f72be371843e12c5ea77cd32733684f4
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2f4b32723c68a3424d24fd99fa4ef305a7c5ad49
    - Changes: https://github.com/PX4/sitl_gazebo/compare/a5b33417f72be371843e12c5ea77cd32733684f4...2f4b32723c68a3424d24fd99fa4ef305a7c5ad49

    2f4b327 2019-10-21 Martina Rivizzigno - typhoon sonar fix rotation such that the reported orientation metches the gazebo model
7db52d7 2019-10-18 Martina Rivizzigno - typhoon_h480: rotate sonar such that is forward facing
2020-01-20 21:01:45 -05:00
Daniel Agar e863dd317e Update submodule ecl to latest Tue Jan 21 00:39:21 UTC 2020
-  ecl in PX4/Firmware (ac205456f93857f447595eb0005c954a78461778): https://github.com/PX4/ecl/commit/011b4c2e4e9c39723250ed6805daa5b0aac3a1d4
    - ecl current upstream: https://github.com/PX4/ecl/commit/950e75e484519a6f719cbfd9d2ca2a29bfd06bfa
    - Changes: https://github.com/PX4/ecl/compare/011b4c2e4e9c39723250ed6805daa5b0aac3a1d4...950e75e484519a6f719cbfd9d2ca2a29bfd06bfa

950e75e 2020-01-18 Matthias Grob - EKF_ringbuffer: minor missing space for style
26125c2 2020-01-17 kamilritz - Switch from jenkins to github actions
2020-01-20 21:01:02 -05:00
Daniel Agar 635ceccfdb land_detector: relax data timeouts uniformly
* if we're hitting these timeouts there are much larger problems in the system
2020-01-20 17:14:00 -05:00
Daniel Agar d1260aa28c logger: add safety (switch) at minimal rate 2020-01-20 14:30:24 -05:00
stmoon 44cac04abe fix the bug for none of recv_topics 2020-01-20 12:33:47 +00:00
Matthias Grob 950e75e484 EKF_ringbuffer: minor missing space for style 2020-01-18 13:00:36 -05:00
Daniel Agar c270e75156 vehicle_local_position: delete unused and redundant dist_bottom_rate 2020-01-18 12:50:57 -05:00
Julian Oes 98f0ba33d2 setup: prevent prompt during install
This should prevent debconf from asking questions during install.
Presumably, the exported env variable DEBIAN_FRONTEND is not taken into
account in a sudo command, hence we need to add it every time.
2020-01-18 11:10:55 +01:00
Julian Oes 09c3fc3e71 setup: add pyros-genmsg, sort list 2020-01-18 11:10:55 +01:00
Julian Oes ca7327056c setup: prevent debconf asking about tzdata 2020-01-18 11:10:55 +01:00
Julian Oes 83ccc4e61e setup: fix script fail if check fails 2020-01-18 11:10:55 +01:00
Julian Oes 7a0ba7f0ca setup: remove duplicate 2020-01-18 11:10:55 +01:00
Julian Oes 26d4169b7c setup: remove unused dependencies 2020-01-18 11:10:55 +01:00
Julian Oes 8353d609cb setup: don't forget to install wheel 2020-01-18 11:10:55 +01:00
Julian Oes d764cfcb6d setup: remove unusual Python dependencies
As far as I know these dependencies are only ever required when doing
analysis in ECL. At that point developers should be confident to add
what is required.
2020-01-18 11:10:55 +01:00
Julian Oes fcbf2e8f9e setup: remove Python 2 requirements for Ubuntu 2020-01-18 11:10:55 +01:00
Julian Oes ac6d7e6730 setup: another try to install pip dependencies 2020-01-18 11:10:55 +01:00
Julian Oes 8112a5c417 setup: fix call to pip/pip3
This should prevent the error:
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
      from pip import main
      ImportError: cannot import name 'main'

As described in:
https://github.com/pypa/pip/issues/5447#issuecomment-407693701
2020-01-18 11:10:55 +01:00
Julian Oes bac4854424 setup: stop on error 2020-01-18 11:10:55 +01:00
Julian Oes 126b7a5642 setup: we need a newer pip 2020-01-18 11:10:55 +01:00
Julian Oes bf62b0f5e6 setup: use pip as user, don't forget python3-dev
In my opinion we should not mess with someones system Python
dependencies.
2020-01-18 11:10:55 +01:00
Matthias Grob 1e06f6bbd2 mc_pos_control: fix derivative spike when regaining velocity estimate
When having no velocity estimate the derivative was updated with zero.
When losing the velocity estimate this is fine since the resulting
derivative spike doesn't get used and acceleration is set to NAN.
But when regaining the velocity estimate the spike from zero to
the first estimated velocity gets used as acceleration in the position
controller and results in a twitch.

To solve this I use the derivative reset I introduced in pr #13522
commit b64abf48b2
2020-01-18 10:57:12 +01:00
Matthias Grob a6cc972b5c mc_pos_control: do not use invalid vz estimate 2020-01-18 10:57:12 +01:00
Matthias Grob 4d83170746 mc_pos_control: do not ignore EKF vz with terrain following
This caused bad altitude control performance when enabling
terrain following. It even leads to complete vertical control
instability in case dist_bottom is inaccurate.

Relying on the estimator states is the way to go instead of
silently using one altitude source as state.
2020-01-18 10:57:12 +01:00
Daniel Agar bb465ca5b7 sensor accel/gyro message cleanup
- split out integrated data into new standalone messages (sensor_accel_integrated and sensor_gyro_integrated)
 - publish sensor_gyro at full rate and remove sensor_gyro_control
 - limit sensor status publications to 10 Hz
 - remove unused accel/gyro raw ADC fields
 - add device IDs to sensor_bias and sensor_correction
    - vehicle_angular_velocity/vehicle_acceleration: check device ids before using bias and corrections
2020-01-18 01:15:00 -05:00
Daniel Agar 1d932f6ec9 IMU drivers using FIFOs increase max length to 16 and sync similar implementations
- this provides some extra space when the FIFO transfers don't align perfectly
 - I've also made an effort to keep the different drivers (icm20602, icm20608g, ism330ldc) in sync so we can factor out the common portions later once we've confident in the pattern.
2020-01-17 22:06:09 -05:00
Low Orbit Ion Cannon 7dd949edb1 ADSB traffic avoidance improvements using UTM_GLOBAL_POSITION (#13159)
* Treat UAVS diffrently from manned aviation 
 * Added fake_traffic testing functionality,
 * Added NAV_TRAFF_AVOID Hold and Landmode
 * Added Behavior: HOLD Position to collision avoidance mode and implemented Landmode to collision avoidance.

Boards where no Hardware GUID is defined will send 0 as GUID.

Right now collision avoidance for more than one FMU without Hardware GUID is not possible.
We should consider adding a randomly generated HW GUID as a placeholder for legacy Boards
2020-01-17 14:58:28 -05:00
Nicolas de Palezieux 8d0402f274 land detector: fix ordering of hysteresis updates to ensure we report LANDED only if also MAYBE LANDED and GROUND CONTACT, and MAYBE LANDED only if also GROUND CONTACT 2020-01-17 20:46:17 +01:00
RomanBapst 3e90cbe686 mission: explicitly set backtransition mission item altitude
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-17 12:59:36 -05:00
kamilritz 26125c245d Switch from jenkins to github actions 2020-01-17 11:02:57 -05:00
TSC21 1cbb3ebd4f microRTPS bridge: clean build warnings; improve verbosity 2020-01-17 12:19:00 +00:00
Julian Oes 3387c9599c mavsdk_tests: don't constrain speed factor to int
Speed factors slower than 1 should also be possible.
2020-01-17 10:32:21 +01:00
Julian Oes 735749e341 Revert "SITL shell: Do math using the shell"
This reverts commit be35c4857b.

This would only work for integer math, so for simulation speed-up. For
speeds slower than realtime we need floating point.
2020-01-17 10:32:21 +01:00
Daniel Agar e1ae1c3d9f Update submodule mavlink v2.0 to latest Fri Jan 17 00:39:17 UTC 2020
- mavlink v2.0 in PX4/Firmware (9647bc3783): https://github.com/mavlink/c_library_v2/commit/dbcc725631ce695e0f00a6f6ae1eae2c46cc214c
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/a62c13922547033d8dd0e3ef9da9edcce909a05d
    - Changes: https://github.com/mavlink/c_library_v2/compare/dbcc725631ce695e0f00a6f6ae1eae2c46cc214c...a62c13922547033d8dd0e3ef9da9edcce909a05d
2020-01-16 21:19:56 -05:00
PX4 BuildBot 6beecafbad Update submodule matrix to latest Fri Jan 17 00:39:22 UTC 2020
- matrix in PX4/Firmware (b9c304e461b8fe9a8060110a902fce7eac0eea8d): https://github.com/PX4/Matrix/commit/3b581fb5998c7a15b741947e6a139b9e3f99fe38
    - matrix current upstream: https://github.com/PX4/Matrix/commit/a37b91c96a9726cd8336af2d3463e717007e60a5
    - Changes: https://github.com/PX4/Matrix/compare/3b581fb5998c7a15b741947e6a139b9e3f99fe38...a37b91c96a9726cd8336af2d3463e717007e60a5

    a37b91c 2020-01-13 kamilritz - Type cast remaining integer
2020-01-16 20:34:06 -05:00
Julian Oes 9647bc3783 travis: change coverity to run on master
This change goes with disabling:
- Build pushed branches
- Build pushed pull requests

And adding a cron job on travis-ci to build master weekly.
2020-01-16 13:31:41 -05:00
Daniel Agar 6630087654 TECS: remove height rate complementary filter 2020-01-16 11:04:28 -05:00
Timothy Scott e9890d01d9 Fixed digital power module validity check 2020-01-16 10:43:23 -05:00
Julian Oes 75c8fb12e4 cmake: add custom error messsage about Python 3
This should be helpful as developers need to migrate to Python 3.
2020-01-16 16:25:26 +01:00
Julian Oes c77816aef2 cmake: move jinja2 check to Python modules
This removes the cmake check for jinja2 and moves it to the respective
Python scripts.
2020-01-16 16:25:26 +01:00
Julian Oes b04f68553e Tools: use Python 3, improve import checks
In more detail:
- Change shebang to Python 3.
- Suggest installation using pip3 as user.
2020-01-16 16:25:26 +01:00
Julian Oes e98fa891fe msg/tools: remove unused import, check for six 2020-01-16 16:25:26 +01:00
Julian Oes 0a2b42b25d msg/tools: improve Python dependency note
We now check individually for empy and genmsg.

Also, my recommendation is to use pip3 as a user to install the
dependencies as this is least intrusive and should work on all
platforms.
2020-01-16 16:25:26 +01:00
Daniel Agar 13fc6fa04c Update submodule sitl_gazebo to latest Thu Jan 16 00:39:21 UTC 2020 (#13784)
- sitl_gazebo in PX4/Firmware (d6cff809f3): https://github.com/PX4/sitl_gazebo/commit/5b031e10199810c7a930032beface82f1aa9e0cc
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/a5b33417f72be371843e12c5ea77cd32733684f4
    - Changes: https://github.com/PX4/sitl_gazebo/compare/5b031e10199810c7a930032beface82f1aa9e0cc...a5b33417f72be371843e12c5ea77cd32733684f4

    a5b3341 2019-12-22 Lorenz Meier - MAVLink interface: Fix init
484bc8d 2020-01-15 Lorenz Meier - Only support Mac OS Mojave
62fdd48 2020-01-14 Julian Oes - travis: use pip3 as user
bb9b3f7 2020-01-14 Julian Oes - travis: unlink Python2, install Python3
5d27757 2020-01-13 Lorenz Meier - Fix Mac OS CI
193a4d2 2020-01-13 Gus Grubba - Update gazebo_video_stream_widget.h
7cb9e2e 2020-01-07 Morten Fyhn Amundsen - gazebo_lidar_plugin: Rename class to LidarPlugin
6f5d19b 2020-01-06 bozkurthan - Update typhoon_h480.sdf
32fa459 2020-01-06 bozkurthan - Update gazebo_gst_camera_plugin.h
0058204 2020-01-06 bozkurthan - Change udpDstIP -> udpHost
b443319 2020-01-06 bozkurthan - Update typhoon_h480.sdf
0d98f07 2020-01-06 bozkurthan - Update gazebo_gst_camera_plugin.cpp
1a94d78 2020-01-06 bozkurthan - Update gazebo_gst_camera_plugin.h
57c829c 2020-01-06 bozkurthan - Update typhoon for custom IP

Co-authored-by: PX4 Build Bot <bot@px4.io>
2020-01-16 09:08:28 +01:00
TSC21 d6cff809f3 uorb_rtps_message_ids.yaml: onboard_computer_status to be received 2020-01-15 19:40:09 +00:00
Dusan Zivkovic 011b4c2e4e data_validator_group: add a method to get the state of the sensor with the provided index 2020-01-15 12:20:47 -05:00
TSC21 8505dddba3 Jenkins: move "Cppcheck" stage to ROS Melodic container, as cppcheck-hmtlreport requires Python (2) pygments 2020-01-15 10:16:59 +00:00
Hamish Willee 84f3cb74aa px4_simple_app: UPdate copyright to last modification 2020-01-15 08:14:43 +01:00
bresch 0f4439d281 optical flow: inhibit flow fusion only when the terrain estimate gets invalid 2020-01-15 16:07:17 +11:00
bresch d06dc33ded range_finder_checks: do not override range_hgt_valid flag with rng_stuck flag
Thif fixes the issue where the range finder data is always set to valid
if not stuck.
2020-01-15 16:07:17 +11:00
bresch d0fe1f032a mag_fusion: re-introduce delay between mag reset and fusion, this was
dropped during the mag fusion refactor PR #662
2020-01-15 14:40:06 +11:00
Daniel Agar 250d5b8acc TECS: remove height rate complementary filter 2020-01-15 14:28:36 +11:00
Julian Oes 5aa696839d jMAVSim: link to devguide instead of issue
This should be less confusing and point to a source of truth rather than
a long discussion.
2020-01-14 22:56:20 +01:00
Julian Oes d4d90e0488 jMAVSim: accept AdoptOpenJDK Java version
This should work with AdoptOpenJDK installed via brew:
    brew tap adoptopenjdk/openjdk
    brew cask install adoptopenjdk8
2020-01-14 22:56:20 +01:00
Claudio Micheli 288725684c Commander: remove variable duplication for geofence and rc override
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-01-14 22:54:16 +01:00
kamilritz 8f70a10565 Added missing variable initializations 2020-01-14 15:16:25 +03:00
kamilritz 5b02310f43 Test Airspeed fusion 2020-01-14 15:16:25 +03:00
kamilritz 7ed6a437c7 Add airspeed sensor to sensor_simulator 2020-01-14 15:16:25 +03:00
TSC21 4f362f5835 Jenkins: reactivate ROS2-related deployment 2020-01-13 21:48:35 +00:00
TSC21 88a32cb680 mission_test: fix px4tools func import 2020-01-13 21:48:35 +00:00
TSC21 13c0c618f3 px4modulesdoc: move to Python3 2020-01-13 21:48:35 +00:00
TSC21 502be605fd update submodule sitl_gazebo 2020-01-13 21:48:35 +00:00
TSC21 e15a512f6f Jenkins: export PYTHONPATH before Catkin build 2020-01-13 21:48:35 +00:00
TSC21 dd11a1c5ba don't specifically export PYTHONPATH 2020-01-13 21:48:35 +00:00
TSC21 ed974d83f5 run mission_test over python2 2020-01-13 21:48:35 +00:00
TSC21 abda56b7a2 Jenkins: update snapdragon container tag 2020-01-13 21:48:35 +00:00
TSC21 e789010295 rostests: add PYTHONPATH export path so to find Python 2 packages 2020-01-13 21:48:35 +00:00
Julian Oes 3818b18314 beaglebone: treat robotcontrol as system include
This should ignore compiler warnings from the includes.
2020-01-13 21:48:35 +00:00
Julian Oes 065fa1244d Update Snapdragon docker tag 2020-01-13 21:48:35 +00:00
Julian Oes e64c38fa25 CI: update all docker tags 2020-01-13 21:48:35 +00:00
TSC21 c9fc6f8dd1 if building with catkin, don't specifically look for Python 3 2020-01-13 21:48:35 +00:00
Julian Oes 19bd7b29d6 Tools: use Python3 for upload_log.py 2020-01-13 21:48:35 +00:00
Julian Oes 8897c69c8f Tools: use Python 3 in validate_yaml.py 2020-01-13 21:48:35 +00:00
Julian Oes f9ab38f1bc mission_test: let's try to run this with Python 3 2020-01-13 21:48:35 +00:00
Julian Oes 157811acc7 circleci: update to latest docker tag 2020-01-13 21:48:35 +00:00
Julian Oes 18f85ea520 Jenkins: bump docker tags 2020-01-13 21:48:35 +00:00
Julian Oes 02ecc04583 workflows: update docker tag
This should enable the docker images with Python 3 as default.
2020-01-13 21:48:35 +00:00
TSC21 8e30c4a291 fix rebase issue 2020-01-13 21:48:35 +00:00
Julian Oes c5fb0e77cd Tools: update sitl_gazebo submodule 2020-01-13 21:48:35 +00:00
Julian Oes a2e74836bd Jenkins: update all docker tags 2020-01-13 21:48:35 +00:00
Julian Oes 1842708ef2 Jenkins: updated all docker tags 2020-01-13 21:48:35 +00:00
Matthias Grob 322e773250 appveyor: switch to toolchain version 0.8
which has the python package pyros-genmsg
installed.
2020-01-13 21:48:35 +00:00
TSC21 d447f15ac6 bump Docker container tags to 2019-11-25 2020-01-13 21:48:35 +00:00
TSC21 0cb1b250e9 px_generate_uorb_topic_files.py: update import error recommendation message 2020-01-13 21:48:35 +00:00
TSC21 2be7ca08ba msg: generation and parsing scripts: add Python3 support 2020-01-13 21:48:35 +00:00
Julian Oes 4329de9e3b Use Python 3 everywhere
Since Python 2 is retired in 4 months, we should move everything to 3.
2020-01-13 21:48:35 +00:00
TSC21 3ea62ff53b bump Docker container tags to 2019-11-22 2020-01-13 21:48:35 +00:00
TSC21 2e9a4d89ee msg: remove gencpp and genmsh submodules; remove gencpp imports 2020-01-13 21:48:35 +00:00
Matthias Grob 98a3910b06 mavlink battery_status: report actual cell voltages 2020-01-13 21:29:40 +01:00
Daniel Agar de4f594937 DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.

 - DriverFramework (src/lib/DriverFramework submodule) completely removed
 - added dspal submodule in qurt platform (was brought in via DriverFramework)
 - all df wrapper drivers removed
 - all boards using df wrapper drivers updated to use in tree equivalents
 - unused empty arch/board.h on posix and qurt removed
 - unused IOCTLs removed (pub block, priv, etc)
 - Integrator delete methods only used from df wrapper drivers
 - commander: sensor calibration use "NuttX version" everywhere for now
 - sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
 - load_mon and top remove from linux boards (unused)
 - delete unused PX4_MAIN_FUNCTION
 - delete unused getreg32 macro
 - delete unused SIOCDEVPRIVATE define
 - named each platform tasks consistently
 - posix list_devices and list_topics removed (list_files now shows all virtual files)
2020-01-13 14:07:03 -05:00
joevn 04ba05f5a0 PAW3902: fix mode change shutter thresholds
According to PixArt datasheet
2020-01-13 14:05:26 -05:00
romain-chiap ba28ef5809 jmavsim_run.sh: add -o flag for SIH display only 2020-01-13 16:09:40 +01:00
kamilritz a37b91c96a Type cast remaining integer 2020-01-13 12:21:18 +01:00
tzai fb0bf26787 logger: refactor start_stop_logging
Cleans up function by reducing duplicate code and local variable count

Signed-off-by: Tal Zaitsev <tal@corvus-robotics.com>
2020-01-13 13:19:47 +05:30
Daniel Agar 718ca1dc50 emlid/navio2: navio_rgbled run in lp_default instead of hp_default 2020-01-12 22:25:27 -05:00
Daniel Agar 756b0148d6 platforms: split posix hrt for qurt
- this keeps the per platform libraries contained to their respective directories and minimizes the ifdef mess
2020-01-12 22:09:34 -05:00
Daniel Agar 98c5c31aa1 Update submodule nuttx to latest Mon Jan 13 00:39:44 UTC 2020
- nuttx in PX4/Firmware (3459f0a99de671e03a894e5bb44f615c9184d702): https://github.com/PX4/NuttX/commit/4c2da2935399ca17eae0c9ad4e8822cb8efc2b0d
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/c6ba2c13c799dcb18b53aaf63978925473cab7ce
    - Changes: https://github.com/PX4/NuttX/compare/4c2da2935399ca17eae0c9ad4e8822cb8efc2b0d...c6ba2c13c799dcb18b53aaf63978925473cab7ce

c6ba2c13c7 2019-12-24 David Sidrane - [BACKPORT] STM32F7 and STM32H7 SDMMC internal pull up usage fixed
a14d2cec3b 2019-12-22 David Sidrane - [REJECTED] Add check_format tooling
30e1808bc3 2019-12-22 David Sidrane - [REJECTED] nxstyle - output compiler like error format
2020-01-12 21:20:41 -05:00
Daniel Agar 97bd668e52 navio_sysfs_rc_in: only publish input_rc if connected and all channels are non-zero 2020-01-12 21:19:53 -05:00
Daniel Agar 65c0882f97 lsm9ds1_mag: fix orientation (#13925)
- X is aligned with -X of lsm9ds1 accel/gyro
 - Z is up (RHC), flip z for publication
2020-01-12 20:35:21 -05:00
hzsu f758a9f29d Update gps.cpp
'BeiDou' is a navigation satellite system from China, while 'Baidu' is a search engine.
So it is supposed to change it from 'Baidu' to 'BeiDou'.
2020-01-11 22:27:17 +05:30
tzai b9d85c7176 logger: Refactor new boot_bat logic into separate function
Implements suggested fixes.

Signed-off-by: Tal Zaitsev <tal@corvus-robotics.com>
2020-01-11 22:27:00 +05:30
tzai 1c2f95697c logger: Add support for logging only on bat power
Will not start logging from boot if battery is not connected

Signed-off-by: Tal Zaitsev <tal@corvus-robotics.com>
2020-01-11 22:27:00 +05:30
Daniel Agar d1e3ff553b platforms: remove unnecessary i2c platform abstraction 2020-01-11 11:55:06 -05:00
qlliu 54e4b65daa free allocated variable by perf_alloc 2020-01-11 11:12:18 +01:00
Daniel Agar bd111c9f42 px4_work_queue: revert inherited sched attr and run wq:manager and max priority
Setting PTHREAD_EXPLICIT_SCHED was necessary on linux to create WQ threads with priorities relative to max, but unfortunately we can't rely pthread_attr_setinheritsched as it's dependent on system ulimit configuration or running privileged. Instead we can create the wq:manager at the maximum desired priority and allow each WQ thread to have a relative priority.
2020-01-10 17:57:51 -05:00
Julian Oes 3527870333 Tools: fix 'Assistive technology not found error'
On Ubuntu we often saw the error
Assistive technology not found AWTError when starting jMAVSim.

This should be fixed by appending this cli argument to java.

As suggested in https://github.com/PX4/containers/issues/206
2020-01-10 17:30:28 -05:00
Daniel Agar ceec0238c4 replace mag_report with sensor_mag_s 2020-01-10 12:15:18 -05:00
stmoon e19e0bd616 serach and insert rtps path if there is no {FASTRTPSGEN_DIR} 2020-01-10 16:48:21 +00:00
Daniel Agar a08b54b8e1 px4_work_queue: don't inherit pthread attributes from creating thread
- this is necessary on linux so that the WQ threads priorities are set relative to max, and not relative to the wq:manager thread
2020-01-10 11:02:49 -05:00
RomanBapst 4d4481a384 gazebo_sitl_multiple_run.sh: fixed comment
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-10 16:51:33 +01:00
JaeyoungLim 528141a78e Make more space between vehicles 2020-01-10 16:51:33 +01:00
JaeyoungLim 0324889cf7 Add support for plane 2020-01-10 16:51:33 +01:00
JaeyoungLim eb7cdb4c4e Use sdf files instead of urdf files
Fix
2020-01-10 16:51:33 +01:00
Tom Wang 4044abdd20 fixed output state variable name state_variance to state_variances 2020-01-10 19:57:39 +05:30
TSC21 f0651663bb reverse adding 'master' build for deploy 2020-01-10 14:05:24 +00:00
TSC21 f1cb3f2eac Jenkins: re-enable microRTPS bridge templates and scripts deployment 2020-01-10 13:38:12 +00:00
TSC21 722f287281 msg: urtps: change the topic Data Type name to match expected on ROS2 2020-01-10 13:42:36 +01:00
Daniel Agar 23e17aec42 atlflight/eagle: minor fixes to get it running again
- fixed df_ltc2946_wrapper battery dependency
 - fixed px4::atomic fetch_add for QuRT
 - updated PX4 QuRT SPI wrapper to set bus frequency
 - renamed "qurt-default" configs to just "qurt"
2020-01-09 18:09:06 -05:00
Daniel Agar e3de7e62ea drivers/rc_input: port to linux for testing 2020-01-09 16:16:23 -05:00
Matthias Grob 6184f4691a commander_params: remove duplicate rc override title
I merged the duplicate title because the pr was from
a private fork branch and already delayed.
2020-01-09 18:39:04 +01:00
Tal Zaitsev d54ab5f6eb Change RC override to affect offboard mode as well
-Defines COM_RC_OVERRIDE as a bitmask
-Changes RC override to affect auto modes, offboard mode, or both
2020-01-09 18:26:39 +01:00
tzai fee7f69d63 commander: fix regression issue preventing RC override from working
Boolean variable name was refactored to represent the opposite state
without a change in logic.
2020-01-09 18:26:39 +01:00
Daniel Agar 4ac5b00a06 navio_sysfs_rc_in: move to PX4 WQ and cleanup 2020-01-09 12:08:14 -05:00
Daniel Agar 793d1d7889 github actions: temporarily disable SITL Tests (Code Coverage) 2020-01-09 10:57:15 -05:00
Daniel Agar 2bbf73097b aerfofc_adc: move to PX4 WQ and cleanup 2020-01-09 10:44:42 -05:00
Daniel Agar d32a80df3a simulator: replace gpssim with simple orb publication
- this is one of the last pieces of the system that still depend on DriverFramework
 - add new SIM_GPS_NOISE_X parameter for optionally increasing the GPS noise multiplier (was previously a gpssim command line option)
 - add SIM_x_BLOCK parameters to block sensor publication
   - SIM_GPS_BLOCK
   - SIM_ACCEL_BLOCK
   - SIM_GYRO_BLOCK
   - SIM_MAG_BLOCK
   - SIM_BARO_BLOCK
   - SIM_DPRES_BLOCK
2020-01-09 10:30:20 -05:00
SalimTerryLi faec9fe579 boards px4/raspberrypi: fix upload AUTOPILOT_HOST 2020-01-09 09:51:47 -05:00
kamilritz 32a4e3a942 Update ekf vision parameter description 2020-01-09 10:36:10 +01:00
kamilritz e95e5abdf6 Update ECL 2020-01-09 10:36:10 +01:00
kamilritz 593895293a Transform vision covariances 2020-01-09 10:36:10 +01:00
kamilritz 1560309687 Checking all used vision data for being finite 2020-01-09 10:36:10 +01:00
kamilritz 90aa4bb852 Support 3d auxvel fusion 2020-01-09 10:36:10 +01:00
kamilritz a67229e60e Use full variance of vision data 2020-01-09 10:36:10 +01:00
kamilritz cd9e81539c Expand IMU Down Sampling tests 2020-01-09 19:43:29 +11:00
kamilritz de58ab9167 inline newly added function save 60Bytes 2020-01-09 19:43:29 +11:00
kamilritz be11516dd6 Refactor IMU downsampling into its own class 2020-01-09 19:43:29 +11:00
kamilritz c7e074276f Save flash space
This commit saves roughly 400-500 Bytes in flash space
2020-01-09 19:43:29 +11:00
Daniel Agar 5f1121c216 rc_input: move to PX4 WQ 2020-01-08 13:00:59 -05:00
Daniel Agar ef9a930816 ulanding_radar: move to PX4Rangefinder and cleanup 2020-01-08 12:42:56 -05:00
Daniel Agar eef508cc4a teraranger: move to PX4Rangefinder and cleanup 2020-01-08 12:36:42 -05:00
David Jablonski 3d60ef9383 FW: Allow counterclockwise loiter
Before, this check was always true, thus always falling back to
NAV_LOITER_RAD, which can't be negative.
2020-01-08 12:30:50 -05:00
Daniel Agar 253296eec7 vehicle_status_flags: remove unused circuit_breaker_engaged_gpsfailure_check 2020-01-08 12:29:50 -05:00
David Sidrane 7cf1bb7f7f px4_fmu-v5:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 351c3f7c22 px4_fmu-v5x:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 4e04781d1f mro_ctrl-zero-f7:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 8d7bfa805b modalai_fc-v1:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 4f1790864d av_x-v1:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 9c1543c33f Nuttx with PX4 Contrib for SDIO PU fix 2020-01-08 12:23:01 -05:00
CarlOlsson 13a9b552c5 Remove unused GPS fail circuit breaker
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-01-08 10:50:26 -05:00
kamilritz 94484f01ce save flash space 2020-01-08 14:36:03 +01:00
kamilritz 1b0e137b8a Test external vision 2020-01-08 14:36:03 +01:00
kamilritz 84dcb32bd8 Extend auxVel interface to support 3d velocity 2020-01-08 14:36:03 +01:00
kamilritz 07e8e88e88 Support full vision variance 2020-01-08 14:36:03 +01:00
kamilritz 92adc5afaa Update ECL to newest version 2020-01-08 09:42:14 +01:00
kamilritz 4ab3dd50c9 pass Vector by const reference 2020-01-08 09:00:31 +01:00
kamilritz 2657e4fc0c Improve naming and white space 2020-01-08 09:00:31 +01:00
kamilritz db73a06620 Use robust AxisAngle constructor 2020-01-08 09:00:31 +01:00
kamilritz 1fcfd394dd Various small non-functional improvements 2020-01-08 09:00:31 +01:00
kamilritz deeac03d6a Clean up height reset logic booleans 2020-01-08 09:00:31 +01:00
kamilritz cec6d76577 Raise awareness for drag variance(!=stdDev) bug 2020-01-08 09:00:31 +01:00
kamilritz 0b18143745 Improve readibility 2020-01-08 09:00:31 +01:00
kamilritz 3daf25763e Remove unnecessary comments 2020-01-08 09:00:31 +01:00
kamilritz 36da8d82c8 Clean up white space 2020-01-08 09:00:31 +01:00
kamilritz 48787c0160 Improve Matrix library usage 2020-01-08 09:00:31 +01:00
kamilritz a21a7cd5b9 Remove output argument from calcEarthRateNed 2020-01-08 09:00:31 +01:00
kamilritz 9e6d27fafb Add missing const qualifier 2020-01-08 09:00:31 +01:00
Daniel Agar 298d6d8703 ST LSM9DS1 9DOF IMU driver
- this is a replacement for df_lsm9ds1_wrapper on the Emlid Navio2 once DriverFramework is removed
2020-01-07 21:58:31 -05:00
Daniel Agar f3cd5b19c8 emlid navio2: update RGB LED driver (move away from DriverFramework)
- delete unused linux gpio wrapper
2020-01-07 17:47:15 -05:00
Daniel Agar ace1acca3c Jenkins hardware print power topics 2020-01-07 16:10:46 -05:00
Daniel Agar b7a63bfdf3 drivers/adc: move to ModuleBase and split out header 2020-01-07 14:04:13 -05:00
Daniel Agar d19f18d40b linux boards (ocpoc, bbblue, navio2) replace custom adc drivers with simple px4_arch implementation 2020-01-07 14:04:13 -05:00
Julian Oes fc9df31653 platforms: link libatomic only on emlid navio2 (raspberry pi)
Linking to libatomic is only required for targets such as Raspberry Pi but not on for normal x86/x86_64 Linux builds.
2020-01-06 20:15:39 -05:00
Jacob Dahl d08ec05bab PWM automatic trigger system (ATS) for parachutes (#13726)
* parameter and logic to commander for triggering failsafe from external automatic trigger system.
* logic to startup script for enabling ATS. Added uORB publishing to pwm_input module.
* Refactored out CDev usage from pwm_input and ll40ls. Refactored out ll40ls specifics from pwm_input and cleaned up dead code.
2020-01-06 20:14:06 -05:00
Kabir Mohammed 5d110101b5 adis16497: add sensor model autodetection (#13863)
The sensor comes in three variants with different gyro measurement ranges. This patch allows auto-detection of the model at startup and sets the scale factor associated with the particular model.
2020-01-06 18:17:41 -05:00
Daniel Agar 7166b867e1 NuttX stackcheck exclude PX4 Matrix and Param
- instrumenting PX4 Matrix and Param methods is too burdensome
 - partially restore px4_fmu-v5_stackcheck and holybro_durandal-v1_stackcheck to match default configs
2020-01-06 18:15:55 -05:00
Mathieu Bresciani 5adf23a6a8 Add gyroscope notch filter - IMU_GYRO_NF_(FREQ|BW)
* NotchFilter: add NotchFilter template and test for float type
* NotchFilterTest: add test for Vector3f notch filter
* PX4Gyroscope: add notch filter with IMU_GYRO_NF_(FREQ|BW) parameters to
set the notch center frequency and bandwidth
2020-01-06 16:53:36 -05:00
kamilritz 066392ef02 Improve naming 2020-01-07 08:14:59 +11:00
kamilritz f99dbd8ca3 Improve naming and brackets 2020-01-07 08:14:59 +11:00
kamilritz 1c68709949 Rename mag ambiguous mag abbreviations with magnitude 2020-01-07 08:14:59 +11:00
kamilritz a24aaad861 CleanUp GPS drift checks 2020-01-07 08:14:59 +11:00
kamilritz c6e3f389d2 Replace calculation of earth NED rotation vector 2020-01-07 08:14:59 +11:00
Nicolas MARTIN 031680a520 commander: remove ekf2 preflight ratio param units
Innovation ratios have no unit: it is a ratio of to squared base unit.
For example:
[COM_ARM_EKF_VEL] = [vel_innov]**2 / ([GATE_SIZE]**2 * [VEL_VAR])
= [m/s]**2 / ([1]**2 * [m/s]**2)
= [1]
2020-01-06 11:30:43 -05:00
Julian Oes 9e239e47c4 mavsdk_tests: fix PEP8 issues 2020-01-06 11:15:43 -05:00
Daniel Agar e29acea509 posix hrt add latency buckets 2020-01-06 16:26:56 +01:00
Julian Oes 25ff013418 vmount: fix float casting, simplify loop 2020-01-06 16:24:36 +01:00
Julian Oes 30cadf5903 vmount: properly initialize last_active
If last_active is initialized at 0 it means that input via mavlink is
already enabled but that's generally not the case.
2020-01-06 16:24:36 +01:00
Julian Oes 7a69b85850 vmount: fix input for test command
It is most convenient to use a yaw angle relative to body for testing.
Also, we set stabilize_axis to true for testing.
2020-01-06 16:24:36 +01:00
Julian Oes 4753e02364 vmount: fix implicit double promotion 2020-01-06 16:24:36 +01:00
Julian Oes 14133380e2 vmount: set all DO_MOUNT_CONFIGURE params
We previously did not set param2 to param7 of DO_MOUNT_CONFIGURE.
2020-01-06 16:24:36 +01:00
Julian Oes 5836edc586 vmount: first step to support absolute angles
The mavlink spec now supports absolute angles as well, see:
https://github.com/mavlink/mavlink/pull/944
2020-01-06 16:24:36 +01:00
Matthias Grob 1484dfed6a FlightTasks: remove deprecated AutoLine mission task 2020-01-06 15:39:07 +01:00
Julian Kent bb410ca0db Fix compile error, save some bytes by removing redundant checks 2020-01-06 15:39:07 +01:00
Julian Kent af961f2391 Avoidance interface should be a stop point 2020-01-06 15:39:07 +01:00
Julian Kent 33702be3e4 Fix bad assumption: _position_setpoint is normally at _target 2020-01-06 15:39:07 +01:00
Julian Kent 603a993380 Improve comments 2020-01-06 15:39:07 +01:00
Julian Kent 75d7a049c1 Use the new trajectory constraints to synchronize and limit velocities 2020-01-06 15:39:07 +01:00
Julian Kent 025c044530 Add trajectory constraints helpers 2020-01-06 15:39:07 +01:00
Daniel Agar 89693258a9 landing_target_estimator: initialize all fields
- fixes Coverity CID 253911
2020-01-05 22:59:49 -05:00
Daniel Agar 738b57c945 pxh: initialize all fields
- fixes Coverity CID 309151
2020-01-05 22:59:49 -05:00
Daniel Agar 4b96eb569d flight_tasks: getPositionSetpoint() initialize entire vehicle_local_position_setpoint_s
- this isn't strictly necessary (all used fields are set), but doesn't hurt
 - fixes Coverity CID 268659
2020-01-05 22:59:49 -05:00
Daniel Agar 0f3bb94ff7 uORB_test: initialize timings storage
- fixes Coverity CID 341740
2020-01-05 22:59:49 -05:00
Daniel Agar aabc89b2d0 vscode: commit auto added c++ header associations 2020-01-05 22:43:14 -05:00
Daniel Agar b60a519cbc drivers accel & gyroscope: use float for integrator accumulation
- fixes Coverity CID 352841 and CID 352840
2020-01-05 21:30:40 -05:00
Daniel Agar 44f9de5e37 delete parrot bebop board support
This target was never fully supported and is heavily dependent on a number of DriverFramework drivers that have no in tree equivalents (bebop bus, flow, rangefinder, etc). Deleting this will make it easier to fully drop DriverFramework shortly.
2020-01-05 19:46:51 -05:00
Daniel Agar ce1e9762b0 deprecate df_hmc5883_wrapper and replace with in tree hmc5883
- deprecate DriverFramework hmc5883 driver (df_hmc5883_wrapper)
 - update aerotenna ocpoc and snapdragon flight eagle boards to use in tree hmc5883
2020-01-05 15:17:26 -05:00
Daniel Agar 7241eebd80 cmake merge linux cross compile targets (cross + native) and cleanup
- consolidate cross and native variants (only a single default is needed)
   - beaglebone_blue_cross + beaglebone_blue_native => beaglebone_blue_default
   - emlid_navio2_cross + emlid_navio2_native => emlid_navio2_default
   - px4_raspberrypi_cross + px4_raspberrypi_native => px4_raspberrypi_default
 - move upload helpers to cmake/upload.cmake
2020-01-05 14:03:57 -05:00
Daniel Agar aaf5670e7d deprecate df_bmp280_wrapper and replace with in tree bmp280
- deprecate DriverFramework bmp280 driver (df_bmp280_wrapper)
 - update beaglebone blue and snapdragon flight eagle boards to use in tree bmp280
 - update posix (really just linux) and qurt I2C wrappers
 - tested on beaglebone blue
2020-01-05 13:33:12 -05:00
Daniel Agar 1da7209fe1 lps25h: move to PX4Barometer and cleanup 2020-01-05 10:35:13 -05:00
Mohammed Kabir bf9e193062 collision_prevention: fix sensor range float rounding 2020-01-05 20:22:51 +05:30
Daniel Agar a96dc9c0c8 navio2 adc fix strncpy size 2020-01-04 22:03:43 -05:00
Daniel Agar b292b04ac1 platforms posix link atomic 2020-01-04 22:03:43 -05:00
Daniel Agar bf23b1d0d8 linux_pwm_out: fix strncpy length and task main signature 2020-01-04 22:03:43 -05:00
Daniel Agar dcbb03b785 bmp280: fix device id (device type not set) 2020-01-04 13:16:08 -05:00
Daniel Agar 091c111f4f mpu9250: more small fixes and cleanup
- delete unused _checked_bad
 - delete unused "good transfers" perf counter
 - delete unused "bad transfers" perf counter
 - use proper register names in transfer structures
 - mpu9250 don't transfer unused status register
 - mpu9250 mag (ak8963) check overflow
 - mpu9250 mag (ak8963) pass data as const references
 - mpu9250 mag fix mag errors perf count
 - delete obsolete whoami checks
2020-01-04 12:38:22 -05:00
Lorenz Meier 093a982f49 Reduce speed factor in SITL CI tests
- With profiling enabled it is over-comitting the system.
2020-01-04 12:17:12 -05:00
Lorenz Meier b0cb29ed82 MAVSDK tests: Add minimal plane example
This will add coverage for baseline plane controllers.
2020-01-04 12:17:12 -05:00
Daniel Agar 5dfc8f1362 mpu9250: main handle init and alloc failures separately 2020-01-04 11:41:56 -05:00
Daniel Agar 25cbcca84a mpu9250: fix error return on reset fail 2020-01-04 11:41:56 -05:00
Daniel Agar 45937fb70a srf02: move to PX4Rangefinder and cleanup 2020-01-04 11:23:17 -05:00
Jin Chengde 91e4da8885 fix compile error 2020-01-04 10:55:25 -05:00
Jin Chengde 57f3be3a69 fix bug if speed reach minium during ramp 2020-01-04 10:55:25 -05:00
PX4 BuildBot a986a63504 Update submodule matrix to latest Sat Jan 4 12:39:31 UTC 2020
- matrix in PX4/Firmware (1cee4d3b0de55e2a7b874dfdaf7a9975a099195c): https://github.com/PX4/Matrix/commit/d18be0d0fa17d9a0b60ab34bad3e33160f907b09
    - matrix current upstream: https://github.com/PX4/Matrix/commit/3b581fb5998c7a15b741947e6a139b9e3f99fe38
    - Changes: https://github.com/PX4/Matrix/compare/d18be0d0fa17d9a0b60ab34bad3e33160f907b09...3b581fb5998c7a15b741947e6a139b9e3f99fe38

    3b581fb 2020-01-01 Lorenz Meier - Update .travis.yml
efa5580 2020-01-01 Lorenz Meier - Update CMakeLists.txt
20a9e91 2019-12-31 Lorenz Meier - Fix CMake configuration for coverage tests on Mac OS
2020-01-04 10:43:35 -05:00
SalimTerryLi 5f5a2e12fb mpu9250: improve AK8963 init (fixes raspberry pi support) 2020-01-03 22:29:46 -05:00
Daniel Agar 16bd1088fa mpl3115a2: move to PX4Barometer and cleanup 2020-01-03 16:53:09 -05:00
Daniel Agar 0c9161f004 sf0x: move to PX4Rangefinder and cleanup 2020-01-03 11:01:48 -05:00
Daniel Agar d5fb7f47c2 sf0x: split into separate header, implementation, and main 2020-01-03 11:01:48 -05:00
Daniel Agar 156cf16265 logger: log all raw sensor data at a minimal rate 2020-01-02 13:15:02 -05:00
kamilritz 9f053cb8c1 Simplify covariance getters 2020-01-02 19:26:57 +11:00
Paul Riseborough 0d0f46ec1c EKF: Don't run unnecessary makeRowColSymmetric operation
This operation is expensive when done to the whole covariance matrix and unnecessary after covariance prediction because we calculate the upper diagonal and copy across so it is already symmetric.
2020-01-02 19:26:57 +11:00
Paul Riseborough 166d260058 EKF: Provide auto-code output that uses (row, col) syntax for covariance matrix 2020-01-02 19:26:57 +11:00
kamilritz 92ba618f57 Improve on flash memory usage 2020-01-02 19:26:57 +11:00
kamilritz 459b76f9fd Make covariance matrices of type matrix::SquareMatrix
and use functions from Matrix to reset covariances.
2020-01-02 19:26:57 +11:00
Daniel Agar 1edfee4fdd mavsdk_tests: build should be independant of px4 2020-01-01 22:05:29 -05:00
Daniel Agar 7775dfbc56 mavsdk_test_runner.py remove verbose gazebo output 2020-01-01 21:55:42 +01:00
Daniel Agar 9df06ffdea posix main wait_to_exit() fix and catch SIGTERM
- wait_to_exist() shouldn't depend on lockstep (px4_usleep)
2020-01-01 21:55:42 +01:00
Lorenz Meier a4a694dd87 Disable Coverage option until GCC9 is default
This would simplify coverage builds, but is not widely available yet.
2020-01-01 17:03:04 +01:00
Lorenz Meier 3b581fb599 Update .travis.yml
Bring Ubuntu and Mac OS toolchains to latest.
2020-01-01 15:53:50 +01:00
Lorenz Meier efa5580a67 Update CMakeLists.txt
Remove non-compatible compile option.
2020-01-01 15:53:50 +01:00
Lorenz Meier 3d3267ed1f Fix CMake configuration for coverage tests on Mac OS 2020-01-01 13:50:25 +01:00
Daniel Agar f7cf1ffc41 drivers/uavcan: remove MAVLINK header dependency 2019-12-31 21:01:21 -05:00
Daniel Agar 35073d093f gitignore update for in tree cmake builds 2019-12-31 12:37:22 -05:00
Daniel Agar 57144beb98 gitignore update for in tree cmake builds 2019-12-31 11:18:53 -05:00
Daniel Agar 04efd91840 leddar_one: split into separate header, implementation, and main
- remove default serial port
2019-12-31 10:51:28 -05:00
Daniel Agar 213c6a1923 deprecate df_ms5611_wrapper and df_ms5607_wrapper (replaced with in tree ms5611 driver) 2019-12-31 10:37:29 -05:00
Lorenz Meier 20a9e91d44 Fix CMake configuration for coverage tests on Mac OS 2019-12-31 15:54:51 +01:00
Daniel Agar e48b8b1abe drivers/adc: start WQ cycle on init 2019-12-31 13:42:42 +01:00
Daniel Agar ef12e63af2 ms5611: move to PX4Barometer and cleanup 2019-12-30 18:00:52 -05:00
SalimTerryLi 87e5da189b ms5611: fix start_bus() logic to work on linux and add RPi I2C bus config (#13814) 2019-12-30 16:16:56 -05:00
Daniel Agar c8fb3c589a posix I2C::init() should also probe() (sync with NuttX) 2019-12-30 10:37:07 -05:00
Daniel Agar cc7a0cd69d beaglebone blue: build librobotcontrol with cmake 2019-12-29 17:32:06 -05:00
PX4 BuildBot b3889e6187 Update submodule matrix to latest Sun Dec 29 00:38:26 UTC 2019
- matrix in PX4/Firmware (82244037f4f4be591cf1c8b9a25bb4969d0d33a9): https://github.com/PX4/Matrix/commit/e81483a808ce7b0217c11d3dc0fce90685f44353
    - matrix current upstream: https://github.com/PX4/Matrix/commit/d18be0d0fa17d9a0b60ab34bad3e33160f907b09
    - Changes: https://github.com/PX4/Matrix/compare/e81483a808ce7b0217c11d3dc0fce90685f44353...d18be0d0fa17d9a0b60ab34bad3e33160f907b09

    d18be0d 2019-12-28 kritz - Fix AngleAxis constructors (#117)
2019-12-28 20:25:33 -05:00
Daniel Agar 5c8ff4e680 Update submodule mavlink v2.0 to latest Sun Dec 29 00:38:12 UTC 2019
- mavlink v2.0 in PX4/Firmware (0fc4c66994d6164b60fdee818307d37ba5cf12d1): https://github.com/mavlink/c_library_v2/commit/412bad674e07535563e85565ba88f2d2c69ed378
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/dbcc725631ce695e0f00a6f6ae1eae2c46cc214c
    - Changes: https://github.com/mavlink/c_library_v2/compare/412bad674e07535563e85565ba88f2d2c69ed378...dbcc725631ce695e0f00a6f6ae1eae2c46cc214c
2019-12-28 20:24:25 -05:00
modaltb 9b707eebc7 bmp388: use default stack size of 2048, fixes stack check failure 2019-12-28 19:21:05 -05:00
kritz d18be0d0fa Fix AngleAxis constructors (#117) 2019-12-28 17:18:15 -05:00
Mathieu Bresciani 226169192a ekf2check: add COM_ARM_MAG_STR to en/disable mag field strength preflight check 2019-12-28 14:06:14 -05:00
Silvan Fuhrer 7bb952baed update airspeed usage to airspeed_validated (#13710)
* Mavlink: subscribe to airspeed_validated instead of airspeed topic

	This e.g. changes the way QGC displays the airspeed in case of an
	airspeed failure (0 instead of the last valid airspeed). It will
	always display the airspeed that's used currently in the control
	modules.

* FW land detector: move to subscribe to airspeed_validated instead of airspeed topic
	- the land detector checks further if the airspeed is NAN, in which case
	it sets the airspeed to 0 (min groundspeed, vz  and accel checks still
	have to pass.

* Fixed-wing land detector use airspeed_vaidated: addressed review comments
	- replaced ternary by conditional
	- set airspeed to 0 if airspeed_validated stops publishing

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:32:41 -05:00
Timothy Scott fc1341208f INA226: Integrate with PX4 (#12673)
* Publish I2C battery data as battery_status
2019-12-28 12:30:11 -05:00
Silvan Fuhrer 574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Daniel Agar 89e1f478ac PX4Accelerometer and PX4Gyroscope add vibration metrics and always publish status 2019-12-27 20:54:50 -05:00
Daniel Agar e189733bb9 l3gd20: split into separate header, implementation, and main 2019-12-27 17:29:04 -05:00
Daniel Agar 30a73416dc mavsdk SITL testing code coverage and upload to codecov.io 2019-12-26 14:31:33 -05:00
Lorenz Meier 2120c87d1e Update ccpp.yml
The checkout action is not recursive, leading to build issues. Rely on auto-checkout on make instead.
2019-12-26 16:31:30 +01:00
Lorenz Meier f8ab98b5de GH Actions: Remove submodules
The checkout action is not recursive, leading to build issues. Rely on auto-checkout on make instead.
2019-12-26 16:31:10 +01:00
Lorenz Meier 81472b9a6b Disable ROS2 in Jenkins due to Python3
We will bring this back when Python 3 is back operational.
2019-12-26 15:09:13 +01:00
Lorenz Meier 9d5c6c0baa Update SITL Github Action
Github doesn't check out recursively, which breaks the build. We rely on the auto-checkout in our build system instead.
2019-12-26 13:24:40 +01:00
Lorenz Meier 9ef0d7a6b6 Update compile_nuttx.yml
Fix submodule usage in CI.
2019-12-26 13:17:05 +01:00
Lorenz Meier 1f63408aa0 SITL Github Action: Document Grind config in-place
This helps anyone needing it to find and set the correct grind iteration parameter.
2019-12-26 13:00:59 +01:00
Lorenz Meier eda1459140 Add access token to SITL test Github Action
This is needed for downstream adopters. We want them to re-use our CI tests so that contributions already are pre-tested when they are submitted.
2019-12-26 12:59:09 +01:00
Lorenz Meier 77951c1e07 Add access token to NuttX Github Action
This is necessary for downstream adopters. We want them to run these actions as well so that contributions are already pre-tested.
2019-12-26 12:57:58 +01:00
Lorenz Meier 993938c0b1 Add access token to C++ build test
This is necessary for downstream adopters.
2019-12-26 12:57:08 +01:00
Lorenz Meier d86a308f76 Add access token to build_tests.yml (#13789)
Add access token to build_tests.yml

This is necessary to enable GH Actions for downstream adopters. This also enables the explicit submodule checkout.
2019-12-26 12:54:56 +01:00
Matthias Grob ffff35a597 Unit tests: use EXPECT_FLOAT_EQ for float comparisons
as precaution to prevent failing tests because of small potential
rounding errors on certain platforms or compilares.
2019-12-26 12:53:07 +01:00
Matthias Grob ee62d0296f ControlMathTest: consistent short float literal notation 2019-12-26 12:53:07 +01:00
Matthias Grob ad148fdfad ControlMathTest: switch back to direct EXPECT_EQ calls for Vectors
Since the google test calls matrix::operator==()
which calls matrix::isEqual().
2019-12-26 12:53:07 +01:00
JaeyoungLim d5100b10dc Update comments 2019-12-26 12:03:32 +01:00
RomanBapst eeb47f6148 gazebo multiple sim script: cleanup
- make sure to kill all px4 instances and gazebo client when exiting
- add arguments to specify number of vehicles and vehicle model
- exit for now if vehicle model is not iris, since needs changes in
sitl_gazebo submodule

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-26 12:03:32 +01:00
JaeyoungLim 876f42c171 Source environment inside the script 2019-12-26 12:03:32 +01:00
JaeyoungLim 155a212109 Update comments 2019-12-26 12:03:32 +01:00
JaeyoungLim f653be75c0 gazebo multiple sim: use xacro from the sitl_gazebo repository
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-26 12:03:32 +01:00
JaeyoungLim 0b649326c3 Support multi vehicle sitl gazebo without ros 2019-12-26 12:03:32 +01:00
Lorenz Meier aaf033044d GH Actions: Only build on push
This still captures all commits, but does not cover the merged state of the PR. All PRs need to be up-to-date before merging/rebasing, which is better practice anyway.
2019-12-26 10:16:58 +01:00
Lorenz Meier adf7aee762 Harden autostart logic for non-existent airframe values
This ensures that the user is pushed back to the airframe configuration stage.
2019-12-26 10:16:58 +01:00
Lorenz Meier f5ce40e434 FMUv2: Exclude some multicopter targets
These are rarely used airframes that should not be missed.
2019-12-26 10:16:58 +01:00
Lorenz Meier 0c85c5d18e FMUv2: Exclude some fixed wing targets
These are rarely used airframes that should not be missed.
2019-12-26 10:16:58 +01:00
Lorenz Meier 02119c1832 FMUv2: Exclude rover targets
This is reasonable as these boards are very old and rovers are a new area of activity.
2019-12-26 10:16:58 +01:00
Lorenz Meier be35c4857b SITL shell: Do math using the shell
Bash or zsh from the last 10 years or so do math using the $((a + b)) syntax. This saves us from having bc as dependency.
2019-12-26 10:16:58 +01:00
Lorenz Meier 26d01b876c GH Actions: Enable grind option
This allows to run the script in grind mode to find CI failures that are triggered through e.g. race conditions.
2019-12-26 10:16:58 +01:00
Lorenz Meier 73edc21667 Tests: Add further instrumentation 2019-12-26 10:16:58 +01:00
Lorenz Meier 1834c156d2 Simulator: Remove EKF2 based wait
This is cleaner and needs testing.
2019-12-26 10:16:58 +01:00
Lorenz Meier 742b1839d5 Simulation: Set scheduling policy RR for lockstep
This should ensure that all processes do still run at full load.
2019-12-26 10:16:58 +01:00
Lorenz Meier 663436fd47 Integration tests: Add Makefile target
This enables unfamiliar users to run the tests quickly without having to memorize all commandsline options.
2019-12-26 10:16:58 +01:00
Lorenz Meier cd75cc08d3 Add baseline SITL environment via Github actions 2019-12-26 10:16:58 +01:00
Julian Oes 81809d8234 ROMFS: prevent high accel bias in SITL 2019-12-26 10:16:58 +01:00
Julian Oes 3a228622b9 mavsdk_tests: fix verbose output 2019-12-26 10:16:58 +01:00
Julian Oes 16da8466e3 posix: exit if the startup script is not ok
In general, if anything goes wrong in the startup script, we
should fail entirely because things might not work as expected.

In particular, this prevents that we have to press Ctrl+C twice if the
simulator start call is hung waiting for the simulator to appear and
start communicating. We now press Ctrl+C once and exit straightaway
whereas before we would press it once to get the warning:
"Startup script returned with return value: 2",
and then finally exit on the second press.
2019-12-26 10:16:58 +01:00
Julian Oes 8817f172ea simulator: cleanup and wait for startup
Unfortunately this commit contains two things:
1. Some cleanup and renaiming.
2. An additional wait until lockstep has been initialized.
   By waiting until HIL_SENSOR messages arrive including timestamps we
   stop the startup script and prevent other modules from running until
   time is set up. This should resolve some busy waiting by various
   modules and prevent races on initialization (e.g. the landing state
   being subscribed by mavlink before being published by the land
   detector).
2019-12-26 10:16:58 +01:00
Julian Oes 99fbadac70 mavsdk_tests: remove output to logfile for now 2019-12-26 10:16:58 +01:00
Julian Oes 6e0cb7859e mavsdk_tests: add option for gzclient GUI 2019-12-26 10:16:58 +01:00
Julian Oes 698731e4f5 mavsdk_tests: don't use SIGINT, just terminate 2019-12-26 10:16:58 +01:00
Julian Oes f5cc6b7dcf mavsdk_tests: end the logfiles with .log 2019-12-26 10:16:58 +01:00
Julian Oes d32e3919dd mavsdk_tests: return error if not ready 2019-12-26 10:16:58 +01:00
Julian Oes b6e6d66616 mavsdk_tests: env vars need to be strings 2019-12-26 10:16:58 +01:00
Julian Oes 7ff4bd8289 mavsdk_tests: use subprocess instead of sys stdout 2019-12-26 10:16:58 +01:00
Julian Oes eef57f93ae mavsdk_tests: fix bugs in readyness checks 2019-12-26 10:16:58 +01:00
Julian Oes 580ea06fb7 mavsdk_tests: restart SITL after each test case 2019-12-26 10:16:58 +01:00
Julian Oes c363a15ad8 mavsdk_tests: enable VTOL tests as well 2019-12-26 10:16:58 +01:00
Julian Oes cc249f980b mavsdk_tests: check if build everything is built 2019-12-26 10:16:58 +01:00
Julian Oes 0a3152786b mavsdk_tests: use SIGINT before SIGTERM 2019-12-26 10:16:58 +01:00
Julian Oes 79a4bde155 mavsdk_tests: rename C++ executable
The executable contains all tests, so the name was a poor choice.
2019-12-26 10:16:58 +01:00
Julian Oes 90c79493f2 mavsdk_tests: print overall result 2019-12-26 10:16:58 +01:00
Julian Oes dde7530df6 mavsdk_tests: properly handle timeout 2019-12-26 10:16:58 +01:00
Julian Oes ce9aa119ff mavsdk_tests: option for speed factor
And we also need to communicate the speed factor for the px4 executable,
otherwise it can't adapt the timeouts accordingly.
2019-12-26 10:16:58 +01:00
Julian Oes 22bac037ed mavsdk_tests: better process management
We now error if px4 or gzserver are already running on startup, and we
also make sure to terminate what we started if interrupted.
2019-12-26 10:16:58 +01:00
Julian Oes 2bbe4dac25 mavsdk_tests: run test runner, speed up sim 2019-12-26 10:16:58 +01:00
Julian Oes 728a0b033e mavsdk_tests: add termination/kill, custom log dir 2019-12-26 10:16:58 +01:00
Julian Oes 09d63f5531 mavsdk_tests: added test runner 2019-12-26 10:16:58 +01:00
Julian Oes 956bd1b7b1 Move mavsdk_tests into test 2019-12-26 10:16:58 +01:00
Julian Oes 97d7925431 mavsdk_tests: add to PX4 Makefile/CMakeLists.txt 2019-12-26 10:16:58 +01:00
Julian Oes 5f67075481 mavsdk_tests: raise timeout for realtime sim speed 2019-12-26 10:16:58 +01:00
Julian Oes 64fa7e3fdc mavsdk_tests: add manual RTL after mission 2019-12-26 10:16:58 +01:00
Julian Oes 50892cec9c mavsdk_tests: wait until mission is done 2019-12-26 10:16:58 +01:00
Julian Oes 217ba4f981 mavsdk_tests: Split tests and test main 2019-12-26 10:16:58 +01:00
Julian Oes 70d461bc6d Added first two simple MAVSDK tests 2019-12-26 10:16:58 +01:00
Daniel Agar 49e315f2e2 Jenkins temporarily disable "PX4 ROS msgs" in master
- re-enable once the python issues are resolved
2019-12-24 14:49:47 -05:00
Daniel Agar 6c6ae6842a github actions compile all nuttx configs 2019-12-24 14:21:37 -05:00
bresch dab17d628d PreFlightChecker: update unit tests 2019-12-24 13:18:47 -05:00
bresch 8080615191 PreFlightChecker: add spike limit argument for innovation check and
increase optical flow test limits.
2019-12-24 13:18:47 -05:00
PX4 BuildBot b6b8a9a76e Update submodule matrix to latest Tue Dec 24 12:39:27 UTC 2019
- matrix in PX4/Firmware (0aa62a3bfff12d854d6a8e378a518bd8646a9f4b): https://github.com/PX4/Matrix/commit/4f3565da94d00c4cd1feb560f1f72a81296522f8
    - matrix current upstream: https://github.com/PX4/Matrix/commit/e81483a808ce7b0217c11d3dc0fce90685f44353
    - Changes: https://github.com/PX4/Matrix/compare/4f3565da94d00c4cd1feb560f1f72a81296522f8...e81483a808ce7b0217c11d3dc0fce90685f44353

    e81483a 2019-12-18 kritz - Catch quaternion canonical corner cases (#116)
2019-12-24 13:15:42 -05:00
RomanBapst 4c35b3aadc navigator: do not use fixed wing acceptance readius if in rotary wing mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-24 12:52:10 -05:00
Lorenz Meier 2e7221cd22 Style check commit hook: Ensure that formatted files need to be re-added. 2019-12-24 15:16:26 +01:00
Daniel Agar 0e70578052 commander: move most static variables and parameters to class 2019-12-23 23:38:10 -05:00
Daniel Agar 386673e6c3 fix flt_cutoff_min -> flt_cutoff_max 2019-12-23 23:47:34 +01:00
Daniel Agar 93d392ff80 Update src/modules/rc_update/rc_update.cpp
Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-12-23 23:47:34 +01:00
Daniel Agar 607cb97758 Update src/modules/rc_update/rc_update.cpp
Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-12-23 23:47:34 +01:00
Daniel Agar 57fc98812d rc_update: cleanup parameter usage 2019-12-23 23:47:34 +01:00
Lorenz Meier acd18adc18 Tests: Speed up boot
The previous boot configuration took at minimum one second to boot. This is in particular significant in tests when the system is often started and stopped
2019-12-23 23:08:05 +01:00
Lorenz Meier 9ac68abd5c Fix float accuracy in ControlMathTest
The test was testing the result of 3D float vector operations with binary equality of the floating point numbers, which is not a valid assumption to make for floating point math. This change switches to proper comparisons with float accuracy and compares vectors using the norm of their difference.
2019-12-23 22:29:09 +01:00
Silvan Fuhrer e6b18fe2da mission feasibility checker: move checks for VTOL landing into separate function
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-23 21:47:16 +01:00
Julian Oes 3a37d0b560 navigator: improve if structure for vtol/mc/fw 2019-12-23 21:47:16 +01:00
Julian Oes f9aa12eaa9 navigator: don't allow Land together with RTL item
This is a check to protect a user from upload a mission which includes a
land_start marker as well as a RTL mission item.

This works around the problem that we experienced where the navigator
would switch to mission mode on RTL and start with land_start, and then
continue to the RTL item. At this point, navigator would send the
vehicle_command for RTL to commander which would deny it because it is
already in RTL mode. Thus navigator won't (re)set any items to actually
do RTL and it means the vehicle will just head to whatever setpoint it
received last.
2019-12-23 21:47:16 +01:00
Julian Oes f8c10b706a navigator: check fixedwing mission for VTOL
A VTOL mission can also contain a fixedwing landing. Therefore, I think,
it makes sense to run the fixedwing checks as well, however, don't check
for a landing start necessarily.
2019-12-23 21:47:16 +01:00
Matthias Grob de95e3d274 commander: remove manual mode before geofence handling 2019-12-23 12:18:27 -05:00
Jin Chengde 34121e655b FW runway takeoff: add negative for min to support tricycle landing gear
- if we used tricycle landing gear, we need the wheel to  touch the ground to control the direction
2019-12-23 11:47:11 -05:00
Daniel Agar 176d7ef62d Jenkins PX4 ROS2 bridge don't specify python binary 2019-12-23 11:06:50 -05:00
dino 49cb21016a Ddded cli check for ism330dlc startup to prevent hardfault if no options are given. 2019-12-20 16:40:18 +01:00
Julian Kent e4a526e3b2 Don't sleep in middle of mavlink message reception 2019-12-19 11:43:03 -08:00
Julian Oes a9ca16cafe Fix a couple of flake8 Python warnings (#13763)
* Tools: fix flake8 error

* platforms: fix flake8 error

This is just guessed.
2019-12-19 07:36:16 -08:00
Christian Clauss 6dc55f97d4 More fixes for Python 3 compatibility (#13008)
* More fixes for Python 3 compatibility

* Workaround if the six module is not pip installed

* Lose the semicolons
2019-12-19 02:05:55 -08:00
David Sidrane 2a848c365c holybro_durandal-v1:GPIO_VDD_5V_{HIPOWER|PERIPH}_OC remove Pull up - OC have series 47K 2019-12-18 12:21:33 -08:00
Daniel Agar 7fd4db1881 commander: skip all mag checks if SYS_HAS_MAG is 0 2019-12-18 11:54:40 -08:00
Matthias Grob a46add9a93 PositionControl: isolate skip controller, leave away unnecessary include 2019-12-18 15:57:48 +01:00
Matthias Grob 8441bdb9b5 PositionControl: remove complicated internal control flags 2019-12-18 15:57:48 +01:00
Matthias Grob 83e51ad192 PositionControl: remove speed_xy constraint since it's anyways unused 2019-12-18 15:57:48 +01:00
Matthias Grob a4a9d50a97 ControlMath: refactor thrustToAttitude calculation 2019-12-18 15:57:48 +01:00
Matthias Grob 1a5b06d0cf FlightTasks: refactor NAN initializations, spacing 2019-12-18 15:57:48 +01:00
Matthias Grob ab4473319a Takeoff: add proper unit test 2019-12-18 15:57:48 +01:00
Matthias Grob 42dbddb156 mc_pos_control: adopt to module internal include convention 2019-12-18 15:57:48 +01:00
Matthias Grob 2303071df4 PositionControl: simplify constraint conditions 2019-12-18 15:57:48 +01:00
Matthias Grob 121d743049 PositionControl: clear setter interface naming, order, description 2019-12-18 15:57:48 +01:00
kritz e81483a808 Catch quaternion canonical corner cases (#116) 2019-12-18 14:12:47 +01:00
kamilritz 490c749f80 Revert if statement swap in resetMagHeading 2019-12-18 10:06:31 +01:00
Chris Lovett 01818b505f posix server: switch from fcntl(..., F_SETLK, ...) to flock(...) (#13718)
- Required for Windows
- Add better diagnostic output in some places.
- close the lock file descriptor where we don't need to keep it open
2019-12-18 09:53:07 +01:00
bazooka joe eac7b43f3e Remove rescaling Lat and Lon on VEHICLE_CMD
relevant to VEHICLE_CMD_DO_REPOSITION and VEHICLE_CMD_NAV_TAKEOFF
its done on mavlink_receiver already
2019-12-18 09:48:30 +01:00
kamilritz a6bbafc7b0 Remove unnecessary initialiseCovariance
It is already called in reset()
2019-12-18 09:46:32 +01:00
kamilritz ef9f1053d0 Random improvements 2019-12-18 09:46:32 +01:00
kamilritz 7d3814b1d8 Add orientation initialization tests 2019-12-18 09:46:32 +01:00
Beat Küng e10a4c5002 refactor logger: move subscription initialization into separate class 2019-12-17 21:22:30 -08:00
Beat Küng 738ceab0ee Logger: dynamic number of subscriptions
Keep a fixed-size array of 250 requested topics on the stack, then allocate
an array with LoggerSubscription with the exact required size.
2019-12-17 21:22:30 -08:00
Beat Küng 2757647897 refactor logger: reduce required size of WrittenFormats
by keeping only recursive topics in there. The rest is checked by looking
at previous _subscriptions.

Reduces stack size requirements when increasing MAX_TOPICS_NUM.
2019-12-17 21:22:30 -08:00
David Sidrane 5bb82a9f93 px4_fmu-v5x:GPIO_VDD_5V_{HIPOWER|PERIPH}_nOC remove Pull up - OC have series 47K 2019-12-17 18:33:20 -08:00
David Sidrane a5be0bb3d8 px4_fmu-v5:GPIO_VDD_5V_{HIPOWER|PERIPH}_OC remove Pull up - OC have series 47K 2019-12-17 18:33:20 -08:00
David 020215f146 commander: don't allow arming during VTOL transition 2019-12-17 12:21:11 -08:00
Daniel Agar 3d56f37606 vscode debug and ekf2 replay improvements
- create new px4_sitl_replay config specifically for replay
 - ekf2 replay don't launch gazebo
 - add px4_sitl_test cmake variant
 - px4_sitl_test bring into sync with px4_sitl_default
 - vscode replace hard coded build path with cmake setting
2019-12-17 10:19:56 -08:00
Beat Küng 46a7b27127 kakutef7: fix baro startup
The bmp280 is on the expansion bus (that is both internal & external)
2019-12-17 09:57:32 -08:00
kritz 01495ede97 Clean initialiseFilter function (#687)
* Clean initialiseFilter

* Add const qualifiers
2019-12-17 13:36:28 +01:00
kritz 532c9abd4a Expand test framework and test cases (#685)
* Fix comment

* Ekf wrapper for testing

Add utility function for accessing information in the ekf object

* Add step function for Gps sensor

* Add RangeFinder and Flow to simulated sensors

* Add first fusion logic tests

* Add units to function name

* Use EXPECT_TRUE

* Adding missing qualifiers

* Improve EXPECT_ calls

* Improve naming
2019-12-17 11:35:45 +01:00
kritz 6c25ac5731 Tilt Initialisation: Average Filter -> LowPass Filter (#686)
* Tilt Initialisation: Average Filter -> LowPass Filter

* Add _is_first_imu_sample variable

* Remove not needed comments
2019-12-17 11:01:25 +01:00
Daniel Agar 98a1aae494 EKF: use Matrix cross product 2019-12-17 09:35:08 +01:00
Timothy Scott 7abadabc19 Added support for MAV_CMD_REQUEST_MESSAGE for mavlink streams 2019-12-16 06:45:53 -08:00
kamilritz 0831c158f2 Move time update to sensor base class 2019-12-16 13:40:01 +01:00
kamilritz 1832bedd13 run_seconds 2019-12-16 13:40:01 +01:00
kamilritz 39b369d90b make ekf a shared pointer 2019-12-16 13:40:01 +01:00
kamilritz f13f2f8452 use shared pointer 2019-12-16 13:40:01 +01:00
kamilritz 00cd720a66 Change folder name 2019-12-16 13:40:01 +01:00
kamilritz b9dd1e54c5 Change file names 2019-12-16 13:40:01 +01:00
kamilritz 2d2edd90e3 ECL Unit Test Clean Up 2019-12-16 13:40:01 +01:00
kamilritz 6b25dbd6c7 SensorSimulator 2019-12-16 13:40:01 +01:00
JaeyoungLim 4bcdf560be airframes: add config for px4vision devkit drone (#13683)
* Added configuration file for Pixhawk Vision

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-16 08:21:17 +01:00
kamilritz 2a707cf669 Debug log replays with gdb in vscode 2019-12-15 10:28:04 -05:00
JaeyoungLim 94e05362e1 Make cellular status logging default 2019-12-14 21:56:12 +11:00
kamilritz 85e0e6e89c Remove resetStates(AndCovariances) function 2019-12-13 16:50:56 +01:00
Ricardo Marques 86d3453343 Fix rover_sitl mixer call in CMakeLists.txt 2019-12-12 13:43:08 -05:00
Daniel Agar f769b80fde cmake px4_add_romfs_files FATAL_ERROR if file doesn't exist 2019-12-12 13:42:30 -05:00
PX4 BuildBot 6f4b9f93fd Update submodule nuttx to latest Thu Dec 12 14:57:56 UTC 2019
- nuttx in PX4/Firmware (327c7f3672ee5f066ec53dfe1554a02d1aa610da): https://github.com/PX4/NuttX/commit/2e55ce8ec97d37b3d3c46b1aaab0a09364fcf254
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/9331fda0d7f7220de33982e8a641c671b1f09c8e
    - Changes: https://github.com/PX4/NuttX/compare/2e55ce8ec97d37b3d3c46b1aaab0a09364fcf254...9331fda0d7f7220de33982e8a641c671b1f09c8e

    9331fda0d7 2019-12-10 David Sidrane - [BACKPORT] IMXRT106x USDHC: Support regular GPIO for CD and inversion.
91c80c708b 2019-12-05 David Sidrane - [BACKPORT] imxrt106x:pinout add ALT 8 GPIO_GPT1_CAPTURE[1|2]
32f758f0e9 2019-12-03 David Sidrane - [BACKPORT] stm32f7:Add Serial Tx DMA
2019-12-12 10:23:29 -05:00
Daniel Agar de9e4dda4c battery: delete unused armed 2019-12-12 09:48:45 -05:00
Timothy Scott 11bbc8ae34 Code cleanup 2019-12-12 04:39:53 -08:00
kamilritz 64652f523b Improve quality of comments 2019-12-12 08:48:10 +01:00
kamilritz 1bf09fd370 Remove EKF prefix from logged messages 2019-12-12 08:48:10 +01:00
Daniel Agar 77cf081925 holybro_durandal-v1 don't manually start pmw3901 2019-12-11 21:08:22 -05:00
Silvan Fuhrer 1617997dde VTOL: instantly do VTOL mode changes if landed and disarmed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-11 20:10:25 -05:00
kamilritz 88c4929c96 Use helper function to switch to gps height 2019-12-11 17:23:45 +02:00
kamilritz 042d9b6615 Remove dangerous _primary_hgt_source variable 2019-12-11 17:23:45 +02:00
kamilritz 66f707ede0 Remove non enterable if statement 2019-12-11 17:23:45 +02:00
kamilritz cd030e7cd2 Remove switch to ev hgt during filter initialization 2019-12-11 17:23:45 +02:00
kamilritz 4bc6ae69ae Remove if statement that can not be entered 2019-12-11 17:23:45 +02:00
kamilritz 6941777e17 Remove obsolete vision sample counter during initialization 2019-12-11 17:23:45 +02:00
bresch d6ffdc09b8 FlightTaskManualPosition: use new Matrix available functions to cast
from a vector of 4 elements to Vector2f and from Vector2f to Vector3f.
2019-12-11 17:21:57 +02:00
bresch d0bdd80129 FlightTaskManualPosition: Remove MPC_ACC_HOR_ESTM parameter. This was
used back in time when no soothing was done to avoid large steps when
the estimator stops sending a maximum velocity (e.g.:GPS gained during
optical flow flight). Since smoothing is applied later, this is not
required anymore.
2019-12-11 17:21:57 +02:00
Matthias Grob a3d30fc970 mc_pos_control/FlightTask: apply nit-pick review findings 2019-12-11 14:03:16 +01:00
bresch 82b4e766a5 AutoMapper2: re-introduce gradual vertical speed limitation during landing between alt1 and alt2 2019-12-11 14:03:16 +01:00
bresch 4d0786d5b4 FlightTask: use centralized _dist_to_ground computed in FlightTask instead of
recomputing it in AutoMapper, AutoMapper2 and AutoLine
2019-12-11 14:03:16 +01:00
bresch 4ba672a7ba ManualPosition: Limit horizontal speed during landing 2019-12-11 14:03:16 +01:00
David Jablonski 944bf54d84 Use correct params for DO_MOUNT_CONTROL
If MAV_MOUNT_MODE is GPS_POINT, the mavlink documentation recommends to
use params4-6. In the current implementation params1-3 were used
instead.
2019-12-11 09:00:17 +01:00
Daniel Agar 2b792c0225 px4_raspberrypi cleanup configs and add to Jenkins 2019-12-10 11:10:24 -05:00
Daniel Agar 505e922b08 Update submodule mavlink v2.0 to latest Tue Dec 10 00:39:06 UTC 2019
- mavlink v2.0 in PX4/Firmware (f9e8f615e3): https://github.com/mavlink/c_library_v2/commit/75ab59ddc1660c136fdec5553f622a603558b8cd
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/412bad674e07535563e85565ba88f2d2c69ed378
    - Changes: https://github.com/mavlink/c_library_v2/compare/75ab59ddc1660c136fdec5553f622a603558b8cd...412bad674e07535563e85565ba88f2d2c69ed378
2019-12-09 20:45:08 -05:00
PX4 BuildBot 4e75f54fcf Update submodule matrix to latest Tue Dec 10 00:39:17 UTC 2019
- matrix in PX4/Firmware (478a27ee8843a9bd91a0254f6b01a6a9c01946a4): https://github.com/PX4/Matrix/commit/a8009a36a3668da0cbab0cb028b6997cd8179dc1
    - matrix current upstream: https://github.com/PX4/Matrix/commit/4f3565da94d00c4cd1feb560f1f72a81296522f8
    - Changes: https://github.com/PX4/Matrix/compare/a8009a36a3668da0cbab0cb028b6997cd8179dc1...4f3565da94d00c4cd1feb560f1f72a81296522f8

    4f3565d 2019-12-09 kritz - Add asserts (#115)
2f63981 2019-12-06 kritz - Add several functions that are useful for coavriance matrices: (#114)
5cbcf60 2019-12-05 kritz - Set Matrix's col amd row to single value (#113)
ef442fa 2019-12-05 kritz - Getter function for the diag elements of slice (#112)
de6a2d3 2019-12-04 kritz - Slice assign value (#111)
2019-12-09 20:42:39 -05:00
Daniel Agar f9e8f615e3 holybro_kakutef7 sync INTERRUPTSTACK, HPWORKSTACKSIZE, and LPWORKSTACKSIZE with v5x 2019-12-09 18:45:27 -05:00
Daniel Agar bb09ac0c6d modalai_fc-v1 sync NFILE_DESCRIPTORS, HPWORKSTACKSIZE, and LPWORKSTACKSIZE with v5x 2019-12-09 18:45:27 -05:00
Daniel Agar b4fa915c86 uORB_tests: fix queue simulation and cleanup initializations 2019-12-09 16:50:33 -05:00
David Sidrane 1298f6840f px4io:Lower Police light activation 2019-12-09 16:23:16 -05:00
David Sidrane 74b6cc5bce px4_fmu-v5:Use Serial TX DMA on Telem 2 2019-12-09 16:23:16 -05:00
Daniel Agar 1d3f722201 px4_work_queue: increase hp_default stack 1800 -> 1900 bytes 2019-12-09 12:41:11 -05:00
modaltb c5de2cfe0d modalai_fc-v1: Add support for VOXL Flight board defaults, handle default MAVLink setups (#13677)
- Handle out of box config for Flight Core and VOXL Flight
- Handle AUTOCNF use case
- Hard code TELEM2 MAVLink Instace 1 for VOXL Flight
2019-12-09 12:39:17 -05:00
Julian Oes abf174282f navigator: fix VTOL RTL corner case
This fixes a corner case for VTOL RTL with RTL_TYPE 1.
RTL_TYPE 1 means that the VTOL skips all waypoints on RTL and jumps to
the land waypoint at the end.

During a mission in fixedwing mode it will continue to fly in fixedwing
mode and then do a transition before landing.

However, if RTL is engaged right at the moment of the front transition,
the transition waypoint is not inserted and the VTOL will try to land in
fixedwing mode at the mission land location.

This corner case is fixed in this patch by also considering the
"transition after takeoff" state.
2019-12-09 12:27:46 -05:00
Matthias Grob 904ab16558 Fix trailing whitespace, EOF newline, indentation 2019-12-09 13:22:19 +01:00
kritz 4f3565da94 Add asserts (#115)
* Add asserts

* Type cast literals

* asserts for indexing vectors

* include assert

* Fix accessing elements outside of slice
2019-12-09 10:21:27 +01:00
Morten Fyhn Amundsen 1d3da86abb mavlink_receiver: Set distance_sensor id field equal to mavlink msg
The id field should be copied from the mavlink message, not
simply set to MAV_DISTANCE_SENSOR_LASER (which is 0).
2019-12-09 09:53:32 +01:00
Julian Oes 2c73aefafe tests: workaround against astyle 3.1 bug
This prevents astyle 3.1 from changing these 3 matrices without a good
reason.
2019-12-09 09:28:27 +01:00
Daniel Agar 0a59d8a36d Jenkins hardware leave RGB LED defaults 2019-12-07 20:48:10 -05:00
kritz 2f6398168d Add several functions that are useful for coavriance matrices: (#114)
* uncorrelateCovariance
	* uncorrelateCovarianceSetVariance
	* makeBlockSymmetric
	* makeRowColSymmetric
	* isBlockSymmetric
	* isRowColSymmetric
2019-12-06 12:03:26 +01:00
Beat Küng fbcc6a96bc fix mavlink: fixes for mavlink on USB instance
Open the UART after adding the instance: mavlink_open_uart() might block,
and in that case the parent task waiting for mavlink to be started times
out.

And while waiting for the USB UART device to come up:
- check for _task_should_exit
- check for check_requested_subscriptions()

Side-effects when USB is not plugged in during boot:
- reduces boot duration by 100ms
- fixes duplicate instance name in 'top':
 201 mavlink_if0                     1  0.000  1328/ 2572 100 (100)  w:sig  3
 204 mavlink_if0                   572  4.221  1632/ 2540 100 (100)  w:sig  4
- 'mavlink stop-all' now stops the usb instance as well
2019-12-06 01:00:06 -05:00
Beat Küng e003b1ce79 mavlink: remove unused get_uart_fd(unsigned index) method 2019-12-06 01:00:06 -05:00
kritz 5cbcf6035a Set Matrix's col amd row to single value (#113) 2019-12-05 18:16:14 +01:00
Timothy Scott 993fa5bd37 Refactored to work with new battery_status module 2019-12-05 16:38:04 +01:00
Timothy Scott d7bb5d46bb Created new AnalogBattery class 2019-12-05 16:38:04 +01:00
Timothy Scott bff1df7080 Refactored battery library for multiple instances 2019-12-05 16:38:04 +01:00
kritz ef442fab92 Getter function for the diag elements of slice (#112) 2019-12-05 11:39:21 +01:00
kamilritz d7b95870b9 Update to merged ECL commit 2019-12-05 11:29:29 +01:00
kamilritz 24efc1b79c Set not yet supported estimator_innovations fields to zero 2019-12-05 11:29:29 +01:00
kamilritz 5d0965e83a Log height innovation sensor specific 2019-12-05 11:29:29 +01:00
kamilritz 61b569245b Reorder innovations in LPE 2019-12-05 11:29:29 +01:00
kamilritz b73c80428e ECL: Clean velPos logging, deprecate ekf2_innovations msg 2019-12-05 11:29:29 +01:00
kamilritz 181303488c Log height innovation sensor specific 2019-12-05 20:09:34 +11:00
kamilritz f32fce28a3 Fix gps vertical observation variance 2019-12-05 20:09:34 +11:00
kamilritz ecd199d5d0 Fix vel pos test ratio 2019-12-05 20:09:34 +11:00
kamilritz 2df2dede2f Fix variance vs stdDev bug
(cherry picked from commit 0faea89da2a3326d070a6ecca93ec52ec3e29591)
2019-12-05 20:09:34 +11:00
kamilritz 3923c5fecb Add get*innovation* functions as overide 2019-12-05 20:09:34 +11:00
kamilritz 07e804676c Rename IMU biases 2019-12-05 20:09:34 +11:00
kamilritz dae8c2f8dc Group velocity and position as a 3d vector 2019-12-05 20:09:34 +11:00
kamilritz beedf1ce4f Add print statement to reset vel or pos function 2019-12-05 20:09:34 +11:00
kamilritz 5c038a3b43 Add stop*Fusion function 2019-12-05 20:09:34 +11:00
kamilritz d5dc6bb8ea Clean get*innov* interface 2019-12-05 20:09:34 +11:00
kamilritz 86b9079bdc Refactoring velPos fusion 2019-12-05 20:09:34 +11:00
Daniel Agar 22e4e85eeb collision_prevention: don't unadvertise mavlink_log in destructor 2019-12-05 07:04:50 +01:00
kritz de6a2d31ff Slice assign value (#111)
* Assign value to slice

* Readme for formatting
2019-12-04 14:33:33 +01:00
mcsauder bd98a4eebb Add camera_capture module build to raspberry pi cross.cmake. 2019-12-04 00:48:52 -05:00
Daniel Agar 5af8286739 Jenkins hardware board cleanup/reset at end of test 2019-12-04 00:43:44 -05:00
Daniel Agar 709961ec8c InvenSense ICM20602 and ICM20608-G: new standalone optimized drivers
- uses the FIFO and SPI DMA to transfer full raw data (8 kHz gyro, 4 kHz accel)
 - new sensor messages for better visibility
   - sensor_{accel, gyro}_fifo: full raw data for optional logging and analysis
   - sensor_{accel, gyro}_status: metadata, clipping, etc
 - currently not enabled by default
2019-12-03 23:21:32 -05:00
David Sidrane 2badea316f systemcmds/serial_test: linux-serial-test ported to run on nuttx (#13662) 2019-12-03 20:51:17 -05:00
Daniel Agar 4a75840b33 Jenkins temporarily disable fmu-v5x (obsolete prototype on test rack) 2019-12-03 17:43:55 -05:00
David Sidrane feaa657172 px4_fmu-v5x:SE050 Assert Reset on board_init, and release in appinit 2019-12-03 16:16:49 -05:00
David Sidrane 949ab563ef px4_fmu-v5x:Drop netinit task priority below LP work 2019-12-03 16:16:49 -05:00
David Sidrane c9cb59fdd8 px4_fmu-v5x:Init Network in background (no monitor CONFIG_NETINIT_MONITOR is not set) 2019-12-03 16:16:49 -05:00
dino 34f53c14bf Fixed sensor orientation 2019-12-03 16:16:49 -05:00
dino 0dbd6d70d5 Fixed gyro com errors. Error check was triggering if board was not moved 2019-12-03 16:16:49 -05:00
David Sidrane 213174fc74 px4_fmu-v5x:Set IP 192.168.0.123 GW:192.168.0.254 2019-12-03 16:16:49 -05:00
David Sidrane ea69fde02a px4_fmu-v5x:Add SPI6_nRESET_EXTERNAL1 2019-12-03 16:16:49 -05:00
David Sidrane 3b88142744 px4_fmu-v5x:rc.board_sensors Add Second BMP388 2019-12-03 16:16:49 -05:00
David Sidrane 996ee49868 fmu-v5x:SPI4 is not used BMM150 moved to I2C4 2019-12-03 16:16:49 -05:00
David Sidrane 0399d689ce px4_fmu-v5x:Start MS5611 on Base I2C3 2019-12-03 16:16:49 -05:00
David Sidrane cada41f027 WorkQueueManager:Fix low stack warning introduced by stism330 2019-12-03 16:16:49 -05:00
David Sidrane 31456419e9 px4_fmu-v5x:Add 4096 for ism330dlc to BOARD_DMA_ALLOC_POOL_SIZE
ISM330DLC uses 4096 of memory allocated from DMA pool.
   This depleted the pool to the point the next allocation
   for FAT would fail. Unfortuanly this is the logger
   on a later open.
2019-12-03 16:16:49 -05:00
Daniel Agar 1a395fb6d9 ST ISM330DLC IMU driver 2019-12-03 16:16:49 -05:00
David Sidrane eb560e8a0f fmu-v5x:Properly reset SPI 2019-12-03 16:16:49 -05:00
David Sidrane 14b592d0c6 px4fmuv5x:Add Sync pin to board config 2019-12-03 16:16:49 -05:00
Beat Küng e2a2654628 level calibration: speedup & check for motion
- instead of resetting existing calibration on start and having to wait
  until the estimator converges, keep existing calibration applied and
  subtract it.
- reduce calibration time from 5s to 500ms, and check for motion during
  that time.
- repeat if there was motion
- fix an uorb resource leak
2019-12-03 13:58:38 -05:00
Beat Küng b4eaa6696e refactor accelerometer_calibration: using namespace matrix 2019-12-03 13:58:38 -05:00
RomanBapst 634e8d206a tiltrotor SITL config: increase transition time from 1.5 to 5 seconds
- avoids tilting the motors forward too fast

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-03 13:57:58 +03:00
SalimTerryLi 2ec1c53679 Add upload command support for Raspberry Pi build. 2019-12-03 08:03:27 +01:00
Daniel Agar 9b66cbd2d9 Infineon DPS310 Barometer
- used as the primary barometer on the mRo Control Zero F7
2019-12-02 00:51:01 -05:00
Daniel Agar fd72e5e795 mRo ctrl zero updates
- add ICM20602 and ICM20648 data ready interrupts
 - enable Bosch BMI088 IMU
 - move HRT_TIMER to TIM3 (same timer as PPM channel)
2019-12-01 17:43:15 -05:00
Daniel Agar a859a6b57c VSCode SITL debug improvements
- added gazebo VTOL tailsitter debug target
 - improved jmavsim debug target and helper tasks to work properly (build and launch directly instead of through the jmavsim_run.sh script)
 - improved output console handling for helper tasks (eg gazebo and jmavsim build and run, followed by cleanup after debug)
 - added miniterm.py as a task
2019-12-01 15:47:29 -05:00
Daniel Agar 4e7dedede7 bloaty show full demangle, increase number of lines, and combine segments + sections 2019-11-30 23:24:26 -05:00
Daniel Agar 6d8d9ea513 navio_sysfs_rc_in minor initialization cleanup 2019-11-30 22:55:53 -05:00
Daniel Agar 97c6a28a70 replace unnecessary perf_alloc_once usage 2019-11-30 21:17:15 -05:00
Daniel Agar cceec434f2 Revert "linux_pwm_out update orb usage"
This reverts commit 25acd40ef0.
2019-11-30 21:16:49 -05:00
PX4 BuildBot 5e95820e14 Update submodule nuttx to latest Sun Dec 1 00:38:57 UTC 2019
- nuttx in PX4/Firmware (22a005c9f4): https://github.com/PX4/NuttX/commit/2d7920055f96f5734d5166e2c58daa16c6dff2f5
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/398a59aaa4df2b32af2fdc1e3dd566f88d7eea38
    - Changes: https://github.com/PX4/NuttX/compare/2d7920055f96f5734d5166e2c58daa16c6dff2f5...398a59aaa4df2b32af2fdc1e3dd566f88d7eea38

    398a59aaa4 2019-11-29 David Sidrane - [BACKPORT] stm32f7:ethernet: Add some delays so that ifup() does not hog the CPU.
2019-11-30 21:16:33 -05:00
Daniel Agar dc06e644d8 simulator: fix distance_sensor ORB_ID() 2019-11-30 20:17:17 -05:00
Daniel Agar 22a005c9f4 delete module's redundant print_status()
- we can already get the running status from ModuleBase and the other misc information is already available through perf or uORB
2019-11-30 18:22:19 -05:00
PX4 BuildBot db904839c3 Update submodule matrix to latest Sat Nov 30 21:21:29 UTC 2019
- matrix in PX4/Firmware (572fb4751b6e01512ec358b00aa795b234179d85): https://github.com/PX4/Matrix/commit/dba84236cb55cf30a8730f77c71a000babf6d204
    - matrix current upstream: https://github.com/PX4/Matrix/commit/a8009a36a3668da0cbab0cb028b6997cd8179dc1
    - Changes: https://github.com/PX4/Matrix/compare/dba84236cb55cf30a8730f77c71a000babf6d204...a8009a36a3668da0cbab0cb028b6997cd8179dc1

    a8009a3 2019-11-26 Daniel Agar - Quaternion multiply inline return
2019-11-30 17:58:08 -05:00
Daniel Agar 903b6881ac Update submodule mavlink v2.0 to latest Sat Nov 30 21:21:24 UTC 2019
- mavlink v2.0 in PX4/Firmware (faae5feecc): https://github.com/mavlink/c_library_v2/commit/1d680ab4ef56ded58a3f4e4a4433faa71e822873
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/75ab59ddc1660c136fdec5553f622a603558b8cd
    - Changes: https://github.com/mavlink/c_library_v2/compare/1d680ab4ef56ded58a3f4e4a4433faa71e822873...75ab59ddc1660c136fdec5553f622a603558b8cd
2019-11-30 17:55:44 -05:00
Daniel Agar faae5feecc vmount update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar c04713f4a8 simulator update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar b418f937a3 sih update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar c1c9895462 rpi_rc_in update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar 7306767a9d roboclaw update orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 55a3128c7d qshell update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar 7759a5dc82 voxlpm update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar fca029c84a ina226 update orb_publish_auto usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 92933d988b px4flow update orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 25acd40ef0 linux_pwm_out update orb usage 2019-11-30 15:52:53 -05:00
Daniel Agar 2a6e889b28 irlock update orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 349739b812 gps driver update orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 6f512cc2f1 differential_pressure drivers update orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar ec5730bb89 navio_sysfs_rc_in orb_publish usage to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar 6a539a3836 crazyflie syslink update orb_publish to uORB::PublicationMulti<> 2019-11-30 15:52:53 -05:00
Daniel Agar e951531b12 camera_feedback: move to WQ callback and uORB::Subscription 2019-11-30 15:49:55 -05:00
Daniel Agar 0420a4386d deprecate px4 esc-v1 and drivers/uavcanesc 2019-11-30 14:55:01 -05:00
Daniel Agar 5200cae3a3 deprecate thiemar s2740vc-v1 board support 2019-11-30 14:55:01 -05:00
daniele ffd010b42d add yaw_absolute to mount_orientation 2019-11-30 19:06:30 +01:00
David Sidrane 44c7b90a7b stm32h7:Bootloader fix assertion caused by USB running
USB was still running in transition to Firmware. This
   resets the USB
2019-11-30 19:05:22 +01:00
Daniel Agar 0cc250194d VTOL: explicitly start all FW & MC controllers in VTOL mode 2019-11-30 12:58:36 -05:00
Daniel Agar e50a50876f Jenkins add px4_io-v2 bloaty (flash usage) 2019-11-30 12:16:29 -05:00
Daniel Agar 60f9e9410b Jenkins: compile px4_io-v2_default directly and archive 2019-11-29 22:32:43 -05:00
Daniel Agar a8009a36a3 Quaternion multiply inline return 2019-11-29 14:40:11 -05:00
Beat Küng b973b2ca64 mag calibration: improve 4 and 2 side calibration
- if less than 6 sides are calibrated, keep the existing calibration and
  update the offsets and scales
- if 2 sides are calibrated, estimate the offsets only (as this is enough
  if a full calibration was done already, and the problem is not
  constrained enough to estimate scales and offsets)
2019-11-29 14:14:00 -05:00
Beat Küng 1d78f02733 mag calibration: keep time and number of points per side constant
So it is independent from the number of configured sides.
Previously, each side would take longer if less than 6 sides were
calibrated.

Also fixes a bug: calibration_sides was used before it was updated, leading
to different behavior on consecutive calibrations with <6 sides.
2019-11-29 14:14:00 -05:00
Beat Küng 991a0d3592 fix mag calibration: remove px4_ioctl(fd, MAGIOCCALIBRATE, fd); call
Fixes a serious bug in combination with the HMC5883 driver (also used for
HMC5983): this driver estimates a scale in MAGIOCCALIBRATE and applies it.
The calibration routine does the calibration with that scale applied, and
then overwrites it, without considering it in any way.

Most other mag drivers only do some measurements and perform some checks
in MAGIOCCALIBRATE (but the result is just ignored).
2019-11-29 14:14:00 -05:00
Beat Küng f30e01ec02 calibration: shorten too long messages 2019-11-29 14:14:00 -05:00
Beat Küng 5ff83ef740 gyro calibration: remove unused scale parameters 2019-11-29 11:28:17 -05:00
Beat Küng 4ca5770f36 gyro calibration: slightly stricter motion detection check
From 0.573 deg to 0.4.

And some cleanup.
2019-11-29 11:28:17 -05:00
Beat Küng 1cbcb445ab gyro calibration: speedup from 20s to 1s
It's not required to take that many samples, 1 second is enough.
This is confirmed by looking at the standard deviation over 10 calibrations:
it is in the same order as with 20 seconds (the effect of temperature
increase has a bigger effect).
2019-11-29 11:28:17 -05:00
RomanBapst 133a6e38cc commander: make battery warning state sticky while armed
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-11-29 10:23:08 +03:00
RomanBapst e360dd34f9 battery: make battery states not sticky
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-11-29 10:23:08 +03:00
baumanta 1c30b10585 prevent vmount from publishing mount orientation if smart gimbal is attached 2019-11-29 07:40:16 +01:00
Beat Küng 0f42ecc5c7 durandal-v1: enable dshot 2019-11-29 07:39:08 +01:00
Beat Küng d5b655bad6 dshot: sync with fmu module 2019-11-29 07:39:08 +01:00
Beat Küng cf4e97b71c fmu-v5x: enable DShot
Only the first 6 FMU pins support it.
DMA conflict with UART8, which is the GPS2 port.
2019-11-29 07:39:08 +01:00
Beat Küng 7aa905eb21 fix fmu-v5x: use correct GPS2 serial port 2019-11-29 07:39:08 +01:00
Daniel Agar e1af47f4ca Jenkins ccache don't reset previous statistics (only print) 2019-11-28 18:37:20 -05:00
PX4 BuildBot fda7d71d16 Update submodule matrix to latest Thu Nov 28 12:39:45 UTC 2019
- matrix in PX4/Firmware (f2d08df777): https://github.com/PX4/Matrix/commit/de85dcff9760b77ad0d2cd06682f44b3f3c9716c
    - matrix current upstream: https://github.com/PX4/Matrix/commit/dba84236cb55cf30a8730f77c71a000babf6d204
    - Changes: https://github.com/PX4/Matrix/compare/de85dcff9760b77ad0d2cd06682f44b3f3c9716c...dba84236cb55cf30a8730f77c71a000babf6d204

    dba8423 2019-11-28 Daniel Agar - Vector3f cross product directly return result (#109)
2019-11-28 12:45:52 -05:00
Matthias Grob 633469dd8c FixedWingPositionControl: ommit */ with ///< doxygen comments 2019-11-28 11:21:05 -05:00
Daniel Agar dba84236cb Vector3f cross product directly return result (#109) 2019-11-28 10:36:13 +01:00
Daniel Agar f2d08df777 Update submodule mavlink v2.0 to latest Thu Nov 28 00:39:47 UTC 2019
- mavlink v2.0 in PX4/Firmware (f8c45c4914): https://github.com/mavlink/c_library_v2/commit/3ce744ec3e636b00afbb583b69e7838d1326f703
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/1d680ab4ef56ded58a3f4e4a4433faa71e822873
    - Changes: https://github.com/mavlink/c_library_v2/compare/3ce744ec3e636b00afbb583b69e7838d1326f703...1d680ab4ef56ded58a3f4e4a4433faa71e822873
2019-11-28 00:39:54 -05:00
Daniel Agar 580308ff07 Update submodule matrix to latest Thu Nov 28 00:39:53 UTC 2019
- matrix in PX4/Firmware (1618e9d38fb8f0c76e6b5b7dfc25da565c22bbee): https://github.com/PX4/Matrix/commit/a172c3cdac9260369fb5805fcce19067121566e5
    - matrix current upstream: https://github.com/PX4/Matrix/commit/de85dcff9760b77ad0d2cd06682f44b3f3c9716c
    - Changes: https://github.com/PX4/Matrix/compare/a172c3cdac9260369fb5805fcce19067121566e5...de85dcff9760b77ad0d2cd06682f44b3f3c9716c

    de85dcf 2019-11-26 Matthias Grob - Vector: switch read only functions to const (#108)
2019-11-28 00:37:17 -05:00
mcsauder 0f2ba84f0a Add rangefinder module dependency to tfmini CMakeLists.txt. 2019-11-27 20:52:04 -05:00
Daniel Agar 419787cb93 ulanding: move to UART WQ 2019-11-27 20:44:32 -05:00
Daniel Agar 5c9732f08c tfmini: move to UART WQ 2019-11-27 20:44:32 -05:00
Daniel Agar d22f2fafd9 sf0x: move to UART WQ 2019-11-27 20:44:32 -05:00
Daniel Agar f7ea3fac90 leddar_one: move to UART WQ 2019-11-27 20:44:32 -05:00
Daniel Agar 223bc2df0b cm8jl65: move to UART WQ 2019-11-27 20:44:32 -05:00
Daniel Agar 071f159794 PX4 work queue: extend to UARTs 2019-11-27 20:44:32 -05:00
Daniel Agar f8c45c4914 Jenkins hardware add modalai_fc-v1 and refactor 2019-11-27 16:24:45 -05:00
David Sidrane c93d358145 fmuk66-v3:Add Ethernet Support 2019-11-27 20:29:35 +01:00
Morten Fyhn Amundsen 214e9c8244 ll40ls: Fix rotation argument parse bug
Before (introduced in 7b16c3482d), there was no colon after
the `R` argument in the options specification string (ab:R).

The R should be followed by a colon, because in indicates that
the R option requires an argument, which it does.

So I added a colon.
2019-11-27 11:21:39 -05:00
Julian Oes d27694728b mavlink: remove implicit cast from int to bool
It confused me that we used an int result and casted it into a boolean.

This doesn't change the logic but makes handling the return value explicit.
2019-11-27 10:10:07 -05:00
Julian Oes c5b9ccdc85 mavlink: don't interfere in ongoing transfers
As a convenience we send down the amount of do jumps left to do.
However, we should not send the mission item if happen to be in the
middle of another transfer.
2019-11-27 10:10:07 -05:00
Julian Oes 96fc68ebef mavlink: fix warning on do jump
This fixes the warning:
Mission storage: Unable to read from microSD
which appeared on do jump mission items. The reason was that the
_mission_type can be set to rally or geofence if that was the last
transfer which had happened earlier. Therefore, it would then try to
read a certain rally item from dataman when really a mission item was
supposed to be read.
2019-11-27 10:10:07 -05:00
Daniel Agar b1099379ae mavlink: delete SERVO_OUTPUT_RAW_{2, 3} 2019-11-27 09:30:22 -05:00
Daniel Agar 657138aeb0 mavlink: temporarily disable ACTUATOR_CONTROL_TARGET{1, 2, 3} 2019-11-27 09:30:22 -05:00
bresch 09c8c8f706 ekf: use PDOP instead of GDOP as TDOP (part of GDOP) is not given by the GNSS receiver 2019-11-27 10:33:27 +01:00
bresch 20705e3c53 ekf2_main: simplify "if true else false" with direct boolean assignment 2019-11-27 10:33:27 +01:00
bresch f6a72663fa ekf2_main: extract gps mgs fill 2019-11-27 10:33:27 +01:00
bresch 5d6e0587db ekf_main: fill gps gdop topic with pdop (combination of hdop and vdop) 2019-11-27 10:33:27 +01:00
daniele 07938692d4 fix for issue where flight_uuid in flight_information mavlink message wouldn't update at every disarm because the param update was not notified 2019-11-27 07:48:57 +01:00
Daniel Agar a7fbaefd83 NuttX cmake small debug helper improvements 2019-11-26 15:39:02 -05:00
PX4 BuildBot 30fcb14156 Update submodule gencpp to latest Tue Nov 26 12:38:15 UTC 2019
- gencpp in PX4/Firmware (d5fb89ee02): https://github.com/PX4/gencpp/commit/7e446a9976916a7b6fc7266098c67fc6f73a76e0
    - gencpp current upstream: https://github.com/PX4/gencpp/commit/ff6c9f3e8ee0a63be994e0b7dfc7a36cb0c1d8c7
    - Changes: https://github.com/PX4/gencpp/compare/7e446a9976916a7b6fc7266098c67fc6f73a76e0...ff6c9f3e8ee0a63be994e0b7dfc7a36cb0c1d8c7

    ff6c9f3 2019-11-11 Jochen Sprickerhof - Two patches to make the generated headers reproducible (#42)
e12443e 2019-03-18 Dirk Thomas - 0.6.2
d227d17 2019-03-18 Dirk Thomas - update changelog
e233144 2019-03-15 Martin Pecka - Added plugins the ability to also generate free functions. (#40)
40559af 2019-03-04 Dirk Thomas - 0.6.1
96ec7f1 2019-03-04 Dirk Thomas - update changelog
2019-11-26 09:02:39 -05:00
PX4 BuildBot df0e4bfc62 Update submodule genmsg to latest Tue Nov 26 12:38:20 UTC 2019
- genmsg in PX4/Firmware (4f4e9c36fe3d0ecf547d50de9ca6b274e0f7ab65): https://github.com/PX4/genmsg/commit/5736b1f7ad037fb5811a3100ba9da2db0ec1f20a
    - genmsg current upstream: https://github.com/PX4/genmsg/commit/1ad8e136cd6311c6af12256fc39362334ca23988
    - Changes: https://github.com/PX4/genmsg/compare/5736b1f7ad037fb5811a3100ba9da2db0ec1f20a...1ad8e136cd6311c6af12256fc39362334ca23988

    1ad8e13 2019-08-13 Dirk Thomas - Python 3 compatibility (#86)
ae81617 2019-08-12 AlexV - Rosimport improvements (#83)
f9dad2f 2019-03-04 Dirk Thomas - 0.5.12
0b2c12a 2019-03-04 Dirk Thomas - update changelog
2019-11-26 08:48:18 -05:00
Matthias Grob de85dcff97 Vector: switch read only functions to const (#108) 2019-11-26 13:46:45 +01:00
bys1123 d5fb89ee02 Make all boards url link to user guide master branch 2019-11-26 13:19:00 +01:00
斯东Stone 2b9285787e Update Supported Hardware in README.md
1. Move Pixhawk Mini to FMUv3, due to it's using Rev.3 chip, has 2MB flash, and fmuv3 bootloader.
2. Add CUAV V5+ to FMUv5
3. Add CUAV v5 nano
4. Add CUAV Pixhack v3 to FMUv3

Make sure is the hardware URL only on user guide master branch or not
2019-11-26 13:19:00 +01:00
TSC21 806b0ad10d remove microRTPS_client_dummy.cpp as it's not being used 2019-11-26 09:01:52 +01:00
TSC21 c9aab6319f microRTPS: update headers licenses 2019-11-26 09:01:52 +01:00
TSC21 a48c5942a7 remove 'update_time_ms' CLI option as it's not being used anymore 2019-11-26 09:01:52 +01:00
TSC21 54cd8f1856 microRTPS_client.cpp.em: fix double conversions 2019-11-26 09:01:52 +01:00
PX4 BuildBot 4964b633b2 Update submodule sitl_gazebo to latest Tue Nov 26 00:39:55 UTC 2019
- sitl_gazebo in PX4/Firmware (63e99db29b): https://github.com/PX4/sitl_gazebo/commit/2637a94816f5e3cbb9d4a10f831985b2685fc880
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/073da14f6e62d3b3c45e40eda556c0523f86d870
    - Changes: https://github.com/PX4/sitl_gazebo/compare/2637a94816f5e3cbb9d4a10f831985b2685fc880...073da14f6e62d3b3c45e40eda556c0523f86d870

    073da14 2019-11-25 Saifullah - Fix for issue #359. (#362)
2019-11-25 20:30:03 -05:00
bresch 6b5f011bc2 ekf: use PDOP instead of GDOP as the TDOP (part of GDOP) is usually not available
PDOP is the position dillution of precision and is given by sqrt(VDOP^2+HDOP^2)
2019-11-25 17:18:40 -05:00
bresch 63e99db29b ecl update 2019-11-25 21:15:55 +01:00
bresch 12177cb33b commander: add pre-flight check and parameter for magnetic field strength 2019-11-25 21:15:55 +01:00
Daniel Agar a8ea55d9b6 remove all <cmath> usage
* the NuttX c++ library is incomplete, let's avoid including it until we have a real standard library in place
2019-11-25 10:04:04 -05:00
Matthias Grob 4a28c8180b FlightTaskManualAltitude: yawspeed filter remove line with no effect, comments
FlightTaskManualAltitude: declaration order

Addressing @bkueng's review comments.
2019-11-25 11:55:47 +01:00
bresch cd2b5e7479 FlightTaskManualAltitude: Use dedicated member variable for yawspeed filter state insted of using the previous setpoint 2019-11-25 11:55:47 +01:00
bresch ffee103ae0 FlightTask: add 1st order lpf on yawrate satepoint for smooth motion 2019-11-25 11:55:47 +01:00
TSC21 4c5e5acefe micro-CDR: bump submodule version and update CMake and src code 2019-11-24 19:36:00 -05:00
TSC21 d80da97ef5 micrortps_client: more cleanup 2019-11-24 21:39:01 +00:00
TSC21 ec0803815e microRTPS_client: use updated uORB API; improve usage 2019-11-24 21:39:01 +00:00
Daniel Agar bc182e94e6 sensors split rc_update into new standalone module 2019-11-24 13:25:11 -05:00
Matthias Grob 28755d5bbf att_control: remove resetting the attitude setpoint
since the position controller publishes them again already when disarmed.
2019-11-24 11:06:03 -05:00
Matthias Grob d3bd251ffc mc_pos_control: start flight task already when disarmed
such that the controller always publishes attitude setpoints and there are no initialization issues.
2019-11-24 11:06:03 -05:00
Daniel Agar a69e6b92c9 mpu6000: remove unnecessary CDev 2019-11-23 19:20:44 -05:00
Daniel Agar 76bdeca263 rgbled_pwm: remove unnecessary CDev 2019-11-23 19:20:44 -05:00
Daniel Agar 284c9afe32 px4iofirmware delete unused i2c and hx_stream 2019-11-23 18:58:43 -05:00
Daniel Agar d82f9590c6 vtol_att_control: apply_pwm_limits() don't spam error 2019-11-23 17:23:30 -05:00
Daniel Agar dbed772316 Jenkins hardware select quadcopter airframe for holybro_durandal-v1_stackcheck 2019-11-23 17:23:30 -05:00
Daniel Agar d74cc5ba8c holybro_durandal-v1_stackcheck limit to primary IMU only 2019-11-23 17:23:30 -05:00
Daniel Agar 2811307293 px4_work_queue: increase wq:hp_default stack 1500->1800 bytes (found by stackcheck) 2019-11-23 17:23:30 -05:00
Daniel Agar 92559f7a85 Bosch bmp280 barometer cleanup 2019-11-23 15:31:22 -05:00
Julian Oes cbea76f62a navigator: fix triplet resetting/publication logic (#13534)
The navigator has a notion of resetting the triplets which means the
triplet setpoints are set to invalid and therefore not to be used by
downstream modules such as flight tasks.

However, before this patch, the triplets were not published if invalid
meaning that a valid triplet would stay the truth until a new valid
triplet would get published.

E.g. this lead to the corner case case where we publish a valid triplet
with an IDLE setpoint on ground in HOLD and then don't update the
triplet while flying in POSCTL mode. Later, when RTL is engaged, the
flight task will use IDLE until navigator (which runs slower) has
published the next triplet.

The fix involves two main changes:
- Publish invalid triplets to avoid stale triplets.
- Avoid publishing the triplet on every iteration in manual modes by not
  setting `_pos_sp_triplet_published_invalid_once = false`.

When testing this I realized that a mission upload during RTL would stop
RTL. This is because the mission is updated while the mission navigation
mode is not active and reset_triplets() is called from there. This is
now only done for the case where we are actually in mission navigation
mode. The fact that a mission is updated when not active also seems
wrong and is something to fix another time.
2019-11-23 10:29:41 -05:00
Beat Küng 86eb91fc18 uorb: do not open a node exclusively for an advertiser
Exclusive open is not required, but we now need to ensure the queue size
is set atomically.

It avoids a race condition between 2 single-instance advertisers,
where one of them would fail to open the node with -EBUSY.
2019-11-23 10:10:05 -05:00
Beat Küng 6c8048d057 uorb: fix several race conditions during topic initialization
Possible race conditions (they all happen between the check of existence
of a topic and trying to create the node):
- single instance, with multiple advertisers during the first advertise:
  both advertisers see the topic as non-existent and try to advertise it.
  One of them will fail, leading to an error message.
  This is the cause for telemetry_status advert failure seen in SITL in
  rare cases.
- multi-instance: subscription to non-existing instance -> px4_open fails,
  and the subscriber tries to create the node. If during that time a
  publisher publishes that instance, the subscriber will get (instance+1)
  (or fails if the max number of instances is exceeded).
  This is a race that goes pretty much unnoticed.
- multi-instance: 2 publishers can get the same instance (if is_published()
  is false in case both have not published data yet).
  This can also go unnoticed.
  Therefore the patch changes where _advertised is set: it is now set
  directly during the advertisement instead of during publication.
2019-11-23 10:10:05 -05:00
Beat Küng 63b2befeed refactor uorb: rename published to advertised
No semantic change (yet)
2019-11-23 10:10:05 -05:00
Beat Küng 0f6f795aca uORBDeviceNode: use px4::atomic instead of volatile for _generation
_generation is read in a multi-threaded context w/o locking.
2019-11-23 10:10:05 -05:00
Daniel Agar d648d52ac3 Update submodule GpsDrivers to latest Sat Nov 23 12:39:59 UTC 2019
- GpsDrivers in PX4/Firmware (0913ec7e6df0dfa84203b9a6fed72b1230157d9f): https://github.com/PX4/GpsDrivers/commit/085a85c48aafff6e388f8ce8d15c1371f8556a35
    - GpsDrivers current upstream: https://github.com/PX4/GpsDrivers/commit/781d4f125580d88d24add83b97017e6d771d757f
    - Changes: https://github.com/PX4/GpsDrivers/compare/085a85c48aafff6e388f8ce8d15c1371f8556a35...781d4f125580d88d24add83b97017e6d771d757f

    781d4f1 2019-11-22 Daniel Agar - remove all <cmath> usage
2019-11-23 09:04:20 -05:00
PX4 BuildBot 879e4a5b16 Update submodule sitl_gazebo to latest Sat Nov 23 00:38:19 UTC 2019
- sitl_gazebo in PX4/Firmware (3f92bc26ce): https://github.com/PX4/sitl_gazebo/commit/ec3a32a60441f5238fe91a46ddc2696799450d84
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2637a94816f5e3cbb9d4a10f831985b2685fc880
    - Changes: https://github.com/PX4/sitl_gazebo/compare/ec3a32a60441f5238fe91a46ddc2696799450d84...2637a94816f5e3cbb9d4a10f831985b2685fc880

    2637a94 2019-11-18 JaeyoungLim - Address comments
94d479c 2019-11-15 Jaeyoung-Lim - Handle camera zoom mavlink message
2019-11-23 10:19:24 +00:00
Silvan Fuhrer 3f92bc26ce airspeed_selector: fix airspeed subscription
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-11-22 18:25:22 -05:00
Daniel Agar 75da6e351b mixer: organize by type 2019-11-22 16:48:10 -05:00
Daniel Agar f271efaf62 local_position_estimator: move to WQ and delete unused SubscriptionPollable 2019-11-22 16:02:54 -05:00
Daniel Agar db69ff0a6e attitude_estimator_q: move to WQ, module base and module params 2019-11-22 16:02:54 -05:00
Daniel Agar c8211dee28 drv_mixer.h - delete unused MIXERIOCGETOUTPUTCOUNT 2019-11-22 15:00:25 -05:00
Daniel Agar a255789be4 mixer: px_generate_mixer use static constexpr 2019-11-22 15:00:25 -05:00
Daniel Agar cc7807c066 mixer: update to List<> container 2019-11-22 15:00:25 -05:00
Daniel Agar 79dc676c8f mixer: move MixerGroup out of Mixer hierarchy and delete mixer.h header 2019-11-22 15:00:25 -05:00
Daniel Agar 011186b8a5 mixer: delete copy constructors and operators 2019-11-22 15:00:25 -05:00
Daniel Agar a172858db2 mixer: move scale() and scale_check() to SimpleMixer 2019-11-22 15:00:25 -05:00
Daniel Agar 9a572b0cf2 mixer: delete unused SimpleMixer::pwm_input() 2019-11-22 15:00:25 -05:00
Daniel Agar 37ec78dc2a mixer library split into separate headers and name consistently 2019-11-22 15:00:25 -05:00
Matthias Grob 6589aa5f71 posix rcS: remove overwriting default altitude 2019-11-22 13:36:05 -05:00
Matthias Grob ccb21e3c4b navigator: remove double member initialization 2019-11-22 13:36:05 -05:00
Matthias Grob 06f667a8b3 vtol_att_control: convert angle in one line 2019-11-22 13:36:05 -05:00
Matthias Grob 9f545ae3cf navigator: convert to radians in configuration getter 2019-11-22 13:36:05 -05:00
Daniel Agar 362a2dfa08 remove unnecessary <cmath> include 2019-11-22 11:16:51 -05:00
Julian Oes 334a599b2d vmount: tell user how to use vmount test
This confused me, so hopefully it will help the next user, e.g. me.
2019-11-22 16:48:17 +01:00
Julian Oes a36a3d6c5c vmount: remove commented out code 2019-11-22 16:48:17 +01:00
Julian Oes 1e8ebe20d1 vmount: set correct MAV_MOUNT_MODE 2019-11-22 16:48:17 +01:00
David Sidrane bbd37ada41 holybro_durandal-v1: update cdcacm product id 2019-11-22 09:39:15 -05:00
TSC21 16f53ec18d msg: add a deprecated uORB msgs list to CMake 2019-11-22 15:00:53 +01:00
David Sidrane 7ca8a8dbaa durandal-v1:Bootloader
Change PID to 0x4b:
     Holybro obtained their own PID and VID but APM did not follow
     the PX4 convention of makeing the board_id (0x8b) match the PID)

   Incorporated the Upstream Bootloader state sequencing checking change.

   Change the usb cout to send all chars in 1 write.
2019-11-22 14:32:56 +01:00
Silvan Fuhrer 5b235c34c2 Rally Points: enable rally points always, except for RTL type == RTL_MISSION
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-11-22 08:18:25 +01:00
Daniel Agar 5aaf1b100b delete unused md25 driver 2019-11-21 18:56:24 -05:00
Daniel Agar 8c38176d77 boards: alphabetize and sync common drivers and modules 2019-11-21 18:56:24 -05:00
Matthias Grob dee8d200d8 mc_pos_control: fix position setpoints being logged as zero when NAN (#13557)
This issue was found by @khabir and reported over slack.
It resulted from the split up of the big pr #12072 into #13262.
I took over the interface while the internal states still stayed the
hard to understand internal ones. One of the follow up refactors will
fix this completely and the entire legacy setpoint restore block can
be removed.
2019-11-21 16:03:13 -05:00
Silvan Fuhrer ebdc29bc5f Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic
* add possibility to switch off the airspeed valid checks
* remove airspeed valid checks from commander
* clean up of VTOL transition logic
* Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed.
* Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical
* add airspeed selector to px4_fmu-v2 defaults
2019-11-21 14:14:25 -05:00
Julien Lecoeur a46581987c Update matrix submodule and add pseudoinverse tests (tests matrix) 2019-11-21 13:06:59 -05:00
Tanja Baumann 5d3a6d8213 collision_prevention: improve behavior in case of range data loss
* add test for no incoming range data
2019-11-21 11:13:28 -05:00
Daniel Agar 45b32b5eaa dataman: add read and write perf counters 2019-11-21 11:10:35 -05:00
Julien Lecoeur 053ede6ca5 SITL: create a parameter file for each airframe 2019-11-21 15:55:49 +00:00
Julien Lecoeur be99064133 SITL: add SYS_AUTOCONFIG support 2019-11-21 15:55:49 +00:00
Beat Küng 1371887578 board config: add define for adc voltage scaling 2019-11-21 08:19:59 +01:00
Beat Küng b7a7ba8cfc README: update list of supported boards 2019-11-21 08:19:59 +01:00
Beat Küng 4b290c4903 voltage & current scaling: use px4_arch_adc_dn_fullcount() instead of 4096
Fixes the scaling on h7 boards (the ADC has 16 bits resolution).
2019-11-21 08:19:59 +01:00
Matthias Grob b63044393e PositionControl: remove unwanted debug printfs 2019-11-21 00:52:09 +01:00
Daniel Agar 1af7af02db bmp388: cleanup main and add to px4_fmu-v5x board_config.h 2019-11-20 13:12:03 -05:00
Daniel Agar 3f05a7724d navigator: run immediately on vehicle_status updates
- this allows navigator to process any nav_state changes as soon as possible
2019-11-20 12:40:55 -05:00
Jannik Beyerstedt 4ce03dfc1e Add support for offboard ActuatorControl set points to RoverPositionControl (fixes #13192) (#13314)
* fix formatting

* RoverPositionControl: Support Actuator Control Setpoints (fixes #13192)

* RoverPositonControl: remove control modes, that aren't currently implemented

* RoverPositionControl: use new Publication API
2019-11-20 15:01:51 +01:00
TSC21 16f663ad52 microRTPS bridge: fix UART baudrate set 2019-11-20 11:38:34 +00:00
Matthias Grob 1bef35d843 PositionControl: correct float initialization literals
according to @bresch's review
2019-11-20 11:42:09 +01:00
Matthias Grob bd491c8511 PositionControl: add unit tests for directions and limits 2019-11-20 11:42:09 +01:00
Matthias Grob 25a445d5f8 PositionControl: remove parameter dependency
to make the class easier to understand,
more modular and easily unit testable
2019-11-20 11:42:09 +01:00
RomanBapst 33a2bd0292 added python script for derivation of initial wind covariance matrix
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-11-20 16:28:34 +11:00
Daniel Agar 84fe64b1c2 create new multicopter rate controller module (mc_rate_control) split out of mc_att_control 2019-11-19 17:03:11 -05:00
Matthias Grob b64abf48b2 mc_pos_control: reset velocity derivatives 2019-11-19 22:18:01 +01:00
Daniel Agar b213e30597 mpu9250: fully remove dead interval perf counter 2019-11-19 13:43:37 -05:00
Daniel Agar bf2a10496c Update submodule mavlink v2.0 to latest Tue Nov 19 12:39:27 UTC 2019
- mavlink v2.0 in PX4/Firmware (bbc028a9e9): https://github.com/mavlink/c_library_v2/commit/8d10911ec19dd8b9de628eb6c75c224a403aacc5
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/3ce744ec3e636b00afbb583b69e7838d1326f703
    - Changes: https://github.com/mavlink/c_library_v2/compare/8d10911ec19dd8b9de628eb6c75c224a403aacc5...3ce744ec3e636b00afbb583b69e7838d1326f703
2019-11-19 11:17:17 -05:00
Daniel Agar 515e896cde navigator: set position setpoint timestamp 2019-11-19 10:24:52 -05:00
Daniel Agar a2bd65460d commander: add vehicle-status nav_state change timestamp 2019-11-19 10:24:52 -05:00
Daniel Agar 01c7a475ff gitmodules update NuttX to px4_firmware_nuttx-8.2 2019-11-19 07:59:53 -05:00
Jannik Beyerstedt bbc028a9e9 RoverPositionControl: make offboard attitude usable without GPS 2019-11-19 10:05:25 +01:00
Beat Küng a543169f1e CollisionPrevention: avoid unnecessary cast from uint16_t to int 2019-11-19 09:32:30 +01:00
Nik Langrind c34b7019a4 Fix mistake in previoust commit, which could the "hil" argument to
be ignored if px4io were to be started with two or more optional arguments
2019-11-19 08:31:31 +01:00
Julien Lecoeur a172c3cdac Add implementation of pseudo-inverse (#102)
* Fix compilation error

* Add implementation of pseudo-inverse

The implementation is based on this publication:
Courrieu, P. (2008). Fast Computation of Moore-Penrose Inverse Matrices, 8(2), 25–29. http://arxiv.org/abs/0804.4809
It is a fully templated implementation to guaranty type correctness.

* Add tests for pseudoinverse

* Apply suggestions from code review

Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com>

* Adapt fullRankCholesky tolerance to type

* Add pseudoinverse test with effectiveness matrix

* Fix coverage

* Fix rebase issue

* Fix SquareMatrix test, add null Matrix test
2019-11-18 14:36:30 -08:00
Daniel Agar 1c4a8e7c11 cmake NuttX fix generated launch.json (vscode debug) 2019-11-18 13:21:33 -05:00
Daniel Agar 82fac4a0a7 cmake NuttX linker print memory usage 2019-11-18 12:36:29 -05:00
David Sidrane 67f27eb26c NuttX @ Offical release of 8.2 2019-11-17 04:06:49 -08:00
Jannik Beyerstedt 38103654e9 RoverPositionContro: Enable driving backwards in attitude control 2019-11-17 11:29:45 +01:00
Claudio Micheli ba99ef0d3b Commander: Add COM_ARM_AUTH_REQ for enabling Arm Authorization
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-11-17 11:22:36 +01:00
Nik Langrind ba5efa5642 px4io: When running HITL, don't publish actuator_outputs. Fixes #13471.
When running in HITL mode, pwm_out_sim publishes actuator_outputs.

px4io unconditionally publishes the uOrb actuator_outputs. When HITL
is configured, the px4io copy of the uOrb has all zeros.

The result is that there are two publications, one valid, and one
all-zeros. This causes the HIL_ACTUATOR_CONTROLS mavlink message
to be incorrect (all-zeros) and the SERVO_OUTPUTS_RAW mavlink
message to be inconsistent, as it takes the data from one or the
other uOrb randomly each cycle.

The fix is to let px4io know that HITL is in effect when it is
started, and modify px4io to suppress publication in this case.

This is a bigger more complicated fix than I would like, but I
think it is conceptually correct.

Signed-off-by: Nik Langrind <langrind@gmail.com>
2019-11-17 11:19:35 +01:00
Daniel Agar 8ce2f30aa6 NuttX cmake improve dependencies between configure and runtime
- attempting to make the build slightly more robust to incomplete configures or other bad states.
2019-11-16 18:30:52 -05:00
Daniel Agar ea79bd733d cmake add a few include guards
- this is a minor cmake configure time optimization
2019-11-16 16:27:36 -05:00
Daniel Agar df73a6667d NuttX cmake improvements
- fix temporary Make.defs copy
 - implement custom macros for COMPILE, COMPILEXX, ASSEMBLE, ARCHIVE to enable ccache properly (if available and enabled)
 - fix NuttX mkdeps
 - fix libapps race condition with context
2019-11-16 15:42:19 -05:00
Daniel Agar b5e7e4bc17 add holybro_durandal_stackcheck build and run on Jenkins 2019-11-16 11:43:42 +01:00
Daniel Agar caca3e93e7 Jenkins hardware add holybro_durandal-v1 2019-11-16 11:43:42 +01:00
Daniel Agar a694f0bbdd bl_update: build and include board bootloader if config available 2019-11-16 11:43:42 +01:00
David Sidrane 850821f47f [REVISIT] Support upstream DSHOT Revist!
The Addition of PX4_ARCH_DCACHE_LINESIZE is fundamentally wrong.
   It asserst that an STM32F4 has a cache and it does not.
   This should be #if defined() on CONFIG_ARMV7M_DCACHE
2019-11-16 11:43:42 +01:00
Daniel Agar 2bb7a1f3c7 holybro_durandal-v1 delete extra defconfig copy 2019-11-16 11:43:42 +01:00
Daniel Agar 2af262ed1d NuttX cmake build wrapper thorough dependencies 2019-11-16 11:43:42 +01:00
Daniel Agar 99aae8b891 NuttX use toolchain math.h and avoid empty drivers/Kconfig 2019-11-16 11:43:42 +01:00
David Sidrane a8e7ddd44e durandal-v1:Use Holybro USB PID 2019-11-16 11:43:42 +01:00
David Sidrane b2f28c977d durandal-v1 Nuttx Based PX4 bootloader
durandal bootloader:Run at 480 Mhz

durandal-v1:bootloader use VBUS detection

Add Durandal bootloader to build
2019-11-16 11:43:42 +01:00
David Sidrane 4836fc0719 Added board support for holybro_durandal-v1
Durandal:Fix PLL settings

durandal-v1:Move I2C123, I2C4 to HSI.

   Not liking using HSI but, F7 has, and in reality there is no
  requerment for accuracy.

durandal-v1:board config set 400kHz on card probe

durandal-v1:Board SDMMC Clock Not greater then 25 mHz

durandal-v1:Fix PLL3 configuration typo and value

CI build config for holybro_durandal-v1

durandal-v1:Kconfig - add knob to ensure ARCH_MATH_H is kept

   Upstream changes added ARCH_HAVE_MATH_H to protect from archs
   without math.h from causing isses for users setting
   CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
   and we need CONFIG_ARCH_MATH_H set. So this Selects
   ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig

Track master LED removal

durandal-v1: bmi055 -> bmi088

bmi088 is what the board uses

durandal-v1:add PX4IO support

durandal-v1 rc.board_sensors: start baro

durandal-v1: remove segway module

durandal:Run at 480 Mhz

durandal-v1: build thermal control module

durandal-v1: enable IMU thermal control by default

durandal-v1:Track upstream adc start moved to rc.board_sensors

durandal-v1:Track upstream mavlink start moved to rc.board_mavlink
2019-11-16 11:43:42 +01:00
David Sidrane 15f25a4e02 fmuk66-v3:Remove MMC support - NuttX detection is broken 2019-11-16 11:43:42 +01:00
David Sidrane 5c0aada220 fmuk66-v3:Remove CONFIG_EXAMPLES_MOUNT 2019-11-16 11:43:42 +01:00
David Sidrane 65a26ec060 nxp_fmuk66-v1:Port to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 2faa2c5e19 uvify:core BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 5bb272387a thiemar:s2740vc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 148215c114 px4:io-v2 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 26b9b0371f px4:fmu-v5x BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 7e979676ee px4_fmuv5_stackcheck:Remove bl_update to fit 2019-11-16 11:43:42 +01:00
David Sidrane 0ebe285201 px4:fmu-v5 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 7ce4f06470 px4:fmu-v4pro BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 40a3e47712 px4:fmu-v4 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 2c13883e56 px4:fmu-v3 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 47bbb36575 px4_fmuv2_multicopter:Remove bl_update to fit 2019-11-16 11:43:42 +01:00
David Sidrane ab1c8850fe px4:fmu-v2 BSP Updated to NuttX 8.1+
px4/fmu-v2 disable events and work_queue systemcmd
2019-11-16 11:43:42 +01:00
David Sidrane 208c23c826 px4:esc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 25a6a45640 px4:cannode-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 8b33d1fcda omnibus:f4sd BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane d534349dfe nxp:fmuk66-v3 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 9032b64eaa mro:ctrl-zero-f7 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 4d021fcd42 modalai:fc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane f5fefee57f intel:aerofc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane ca45b1ee12 holybro:kakutef7 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane f62c6442a4 bitcraze:crazyflie BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 8bc8ea0ea2 av:x-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 724f66399a auav:x21 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 12a70402ad airmind:mindpx-v2 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 4ebc00b22e kakutef7:Remove Duplicate goio header 2019-11-16 11:43:42 +01:00
David Sidrane fa79283602 px4/fmu-v4: update nuttx config 2019-11-16 11:43:42 +01:00
Mohammed Kabir 00d00fdca9 drivers: heater: fix module build and startup
- Startup was broken due to unnecessary cyclic check probably introduced during transition to work_queues
- Module never used other than on Teal One which had a hacky heater input GPIO, this enables usage on general boards

drivers: heater: reduce verbosity and simplify commandline options

- We prefer the linux way of only reporting errors and staying quiet when everything is functioning as designed
- Most of the commandline options just read out the values of the system parameters, and one can just check the parameter values directly.

sensor_params: make thermal control parameters system parameters

heater_params: make thermal control parameters system parameters

drivers: heater: remove pin control hacks

- px4_arch_configgpio(GPIO_HEATER_OUTPUT) directly inits the heater pin to OFF, and as a PUSHPULL (TTL totem pole) OUTPUT

drivers: heater: set default device ID to 0
2019-11-16 11:43:42 +01:00
David Sidrane 69694ab000 px4io-v2:Resonable Def config memory - verified by inspection 2019-11-16 11:43:42 +01:00
Beat Küng d965b928f8 px4iofirmware: convert atomic macro into methods
Reduces flash size by 744 bytes.
CPU (loop time) is not affected.
2019-11-16 11:43:42 +01:00
David Sidrane 0f2a7ad2b7 bl_update:STM32H7 use AIXRAM 2019-11-16 11:43:42 +01:00
David Sidrane 645b6c3fbc bl_update:STM32H7 use 128K 2019-11-16 11:43:42 +01:00
David Sidrane e847698c9f PX4 System changes Supporting STM32H7
stm32:ToneAlarmInterfacePWM TIM15-TIM17 have a BDTR Register

common:board_crashdump Add H7 support

stm32/board_mcu_version:Support H7

PX4 ADC:Use 32 interface and resoution abstraction

Added PX4 stm32h7 ADC driver

stm32h7:adc fix ADC ready check

fmu: handle BOARD_HAS_PWM==5

cmake: improve error handling for NuttX olddefconfig failures

WorkQueueManager:Quiet loadmon stack warning

camera_trigger:GPIO support < 6 GPIO

Adjust stack sizes (under hw stack check)

PX4 System changes Supporting STM32H7 PX4IO Driver

aerotenna_ocpoc:ADC add px4_arch_adc_dn_fullcount

init.cmake:Track Upstream change needing Make.def at config time

PX4 System changes Supporting STM32H7

NuttX CMakeLists.txt Track upstream changes

Common board_crashdump add header and px4 config

NuttX simplify callinb make libapps

Use UINT32_MAX for error return

drivers:uavcannode NuttX chip is now hardware

drivers:uavcanesc NuttX chip is now hardware

px4io:Avoid Race on AP to PX4 IO upgrade
2019-11-16 11:43:42 +01:00
Beat Küng 58799dc7d1 px4/fmu-v5: update nuttx config
px4_fmuv5:Needed PROGMEM

fmu-v5:Kconfig - add knob to ensure ARCH_MATH_H is kept

    Upstream changes added ARCH_HAVE_MATH_H to protect from archs
    without math.h from causing isses for users setting
    CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
    and we need CONFIG_ARCH_MATH_H set. So this Selects
    ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig
2019-11-16 11:43:42 +01:00
Beat Küng 694ae56afe px4/io-v2: update nuttx config
px4_io - add knob to ensure ARCH_MATH_H is kept

   Upstream changes added ARCH_HAVE_MATH_H to protect from archs
   without math.h from causing isses for users setting
   CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
   and we need CONFIG_ARCH_MATH_H set. So this Selects
   ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig
2019-11-16 11:43:42 +01:00
David Sidrane 36a75b79a4 uavcan:Changes to support Nuttx 7.31+
libuavcan:Update with Kinetis NuttX 8.1+ support

Traking master uavcan changes
2019-11-16 11:43:42 +01:00
David Sidrane 522ed2d99b NuttX based PX4 bootloader
stm32h7 booloader:Obey VBUS input

stm32h7 booloader:Fully deinit systic
2019-11-16 11:43:42 +01:00
Beat Küng 78944a70c3 Upgrade NuttX to 8.2
Nuttx with PX4 contrib of bbsram fix

Nuttx 8.31+ with BBSRAM disable dcache

Nuttx 8.2-
2019-11-16 11:43:42 +01:00
David Sidrane 11287712f8 fmuk66-v3:Fix hang on SDIO card removal/reinsertion
The interrupt driven card detect logic was enabled
   but the auto mounter was not. That interrupt was
   calling mmcsd_mediachange.

   There is a reentrancy issues in the kinetis callback logic.
   Toplevel calls mmcsd_mediachange calls SDIO_CALLBACKENABLE
   that calls kinetis_callbackenable that calls kinetis_callback
   that calls mmcsd_mediachange.
2019-11-15 11:13:38 -05:00
Daniel Agar 11b1573961 mpu9250: cleanup main 2019-11-15 10:18:41 -05:00
BazookaJoe1900 cc41e5be20 mavlink: stream battery status fields (#13420)
* Implement battery status "charge state" on mavlink battery status message
2019-11-15 09:25:30 -05:00
Daniel Agar 452657face hmc5883: build on linux and qurt 2019-11-14 21:02:52 -05:00
Claudio Micheli 9364393e9d mavlink_receiver: Reject own autopilot messages for battery status.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-11-14 22:20:22 +01:00
PX4 BuildBot 6369ae858a Update submodule matrix to latest Wed Nov 13 22:07:30 UTC 2019
- matrix in PX4/Firmware (d3184c866c3012105c8950a9f6652a9722fa3296): https://github.com/PX4/Matrix/commit/93d42947b612733d2bd05e66ae093ada3e35ba12
    - matrix current upstream: https://github.com/PX4/Matrix/commit/cd185c995b6b28c12e06d20a2743a94bd68be7c2
    - Changes: https://github.com/PX4/Matrix/compare/93d42947b612733d2bd05e66ae093ada3e35ba12...cd185c995b6b28c12e06d20a2743a94bd68be7c2

    cd185c9 2019-11-13 Daniel Agar - add braces around statements and cleanup formatting (#107)
38e966c 2019-11-12 kritz - Add min, max, constrain function for Matrix (#105)
2019-11-13 19:07:24 -05:00
Daniel Agar 99a7491cde bmp280: build on linux and qurt 2019-11-13 15:16:24 -05:00
Daniel Agar cd185c995b add braces around statements and cleanup formatting (#107) 2019-11-13 10:41:38 -08:00
TSC21 d4ddabdf52 SITL: adds 'iris_rtps' target 2019-11-13 18:24:11 +00:00
Daniel Agar bcfa2eecd8 ms5611: build on linux (navio2) 2019-11-13 13:01:00 -05:00
Daniel Agar 7996ee496c lib: name folders consistently 2019-11-13 09:29:21 -05:00
Daniel Agar c5520cbaca mpu9250: start building "NuttX" driver for Linux and QuRT 2019-11-13 09:21:02 -05:00
JaeyoungLim 6bd4273b9c mavlink: handle cellular_status messages for logging 2019-11-13 09:19:02 -05:00
Matthias Grob 675af4f5f9 uavcan_kinetis: fix flexcan code style
* flexcan: fix code style
* flexcan: exclude from style check to avoid that a different version of astyle breaks indentation again
2019-11-12 20:50:54 -05:00
kritz 38e966cea1 Add min, max, constrain function for Matrix (#105)
* Add min, max, constrain function for Matrix

* Set individual elements to nan in constrain

* Deal with NANs
2019-11-12 18:57:12 +01:00
Daniel Agar 52554f1efa px4_fmu-v4pro: cleanup SPI devs 2019-11-12 11:18:57 -05:00
Daniel Agar 9183f44243 px4_fmu-v4: deprecate boscch pixracer variant and cleanup SPI devs 2019-11-12 11:18:57 -05:00
Julian Oes 00a7ac013c ak09916: fix mag spikes
This fixes spuriously occuring mag spikes in the external mag of Here2.

The reason for the spikes was that the fact that the I2C registers were
not read out correctly as suggested in the datasheet.

Before we were reading out ST1, data, and ST2 in one pass and ignoring
the data ready bit (DRDY) in ST1. This meant that we could run into race
conditions where the data was not ready when we started reading and
being updated as the registers are read.

Instead, we need to check the read the ST1 register first to check the
data ready bit and then read the data and ST2 if the data is ready. By
reading ST2 we then trigger the next measurement in the chip.
2019-11-12 10:04:35 -05:00
Julian Oes 035e81e084 ak09916: cleanup only
Note: the author name was removed because this file has almost no
resemblence with the code written by that author 4 years ago, has been
copied to new places, and was initially commited without author anyway.

Also, my opinion is that the version control system should take care of
attribution, and not outdated comments.
2019-11-12 10:04:35 -05:00
Oleg Kalachev 942cdb1fa5 Add COEX Clover 4 airframe 2019-11-11 22:45:52 -05:00
Oleg Kalachev 17a84a691f mavlink_receiver: simplify and fix statustext.severity handling 2019-11-11 17:12:37 -05:00
Daniel Agar 668984b6b0 boards: start adc in rc.board_sensors 2019-11-11 17:08:24 -05:00
bazooka joe f06a6ba898 set TC_ as 'system' parameters 2019-11-11 15:13:01 -05:00
Daniel Agar 1c4e854f93 cmake don't build param "c" files and remove param defines
- these aren't actual source code
2019-11-11 10:25:42 -05:00
bresch 811ec81246 parameters: change check_mag_strength from bool to int32_t to comply with the standard interface 2019-11-11 15:29:52 +01:00
xdwgood f984c4e450 ROMS: delete caipirinha_vtol.main.mix and instead use vtol_tailsitter_duo.main.mix 2019-11-11 10:40:20 +01:00
Pandacoolcool ec0244906f fix yaw control error 2019-11-11 10:40:20 +01:00
Pandacoolcool 5c7da88265 remove unuse param 2019-11-11 10:40:20 +01:00
PX4 BuildBot 4dfe3e199e Update submodule matrix to latest Sat Nov 9 00:39:54 UTC 2019
- matrix in PX4/Firmware (c475bb84b7274d041065fc3fd673127ae2438f4d): https://github.com/PX4/Matrix/commit/9f464839510a2779b9418ffbc2303a31f155e851
    - matrix current upstream: https://github.com/PX4/Matrix/commit/93d42947b612733d2bd05e66ae093ada3e35ba12
    - Changes: https://github.com/PX4/Matrix/compare/9f464839510a2779b9418ffbc2303a31f155e851...93d42947b612733d2bd05e66ae093ada3e35ba12

    93d4294 2019-11-08 kritz - Add test for setting Quaternion to Identity (#104)
2019-11-09 00:51:44 -05:00
Peter van der Perk 991399f105 Added syncronization to t_send worker thread
Which avoids possible deadlocks
2019-11-08 18:58:38 +01:00
PX4 BuildBot f0d22d3962 Update submodule sitl_gazebo to latest Fri Nov 8 12:40:23 UTC 2019
- sitl_gazebo in PX4/Firmware (0527f278cb): https://github.com/PX4/sitl_gazebo/commit/169d48217df89922e9fae72ef34fa46ce2e209dd
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/036bcee25f178cef9350107b4283f05e334adc1b
    - Changes: https://github.com/PX4/sitl_gazebo/compare/169d48217df89922e9fae72ef34fa46ce2e209dd...036bcee25f178cef9350107b4283f05e334adc1b

    036bcee 2019-11-06 Jaeyoung-Lim - Add element to set home position from sdf
2019-11-08 11:50:46 -05:00
kritz 93d42947b6 Add test for setting Quaternion to Identity (#104) 2019-11-08 17:27:33 +01:00
Daniel Agar fa5a825401 Update submodule mavlink v2.0 to latest Fri Nov 8 12:40:28 UTC 2019
- mavlink v2.0 in PX4/Firmware (b7469f0f6d50a32bc57bbfe6ce0a7101ea5dbad2): https://github.com/mavlink/c_library_v2/commit/7c0ec61677d378320c2ee33a2e8db842d6fb4bc2
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8d10911ec19dd8b9de628eb6c75c224a403aacc5
    - Changes: https://github.com/mavlink/c_library_v2/compare/7c0ec61677d378320c2ee33a2e8db842d6fb4bc2...8d10911ec19dd8b9de628eb6c75c224a403aacc5
2019-11-08 10:22:34 -05:00
Mathieu Bresciani c7bdf25663 [ekf] controlMagFusion refactor and mag field strength check (#662)
* ekf_control: Inhibit mag fusion when field magnitude is large
Move mag inhibition check in separate function

* ekf_control: pull out of functionalities out of controlMagFusion
- yaw abd mag bias observability checks
- mag 3D conditions
- load mag covariances
- set and clear mag control modes

* ekf_control: refactor mag heading/3D start/stop.
Move mag declination, mag 3d and mag heading fusion out of the main function

* ekf_control: extract mag yaw reset and mag declination fusion requirements

* ekf_control: use WMM in isStronMagneticField for mag fusion inhibition
- Correct units of WMM strength table

* ekf_control: extract mag_state_only functionality of AUTOFW (VTOL custom)
Also split inAirYawReset from onGroundYawReset

* ekf_control: extract mag automatic selection
- transform if-else into switch-case for parameter fusion type selection

* ekf_control: extract run3DMagAndDeclFusion, reorganize functions, fix
flag naming in Test script

* ekf_control: do not run mag fusion if tilt is not aligned.
Reset some variables on ground even if mag fusion is not running yet. It
could be that it runs later so we need to make sure that those variables
are properly set.

* ekf_control: move controlMagFusion and related functions to mag_control.cpp

* ekf control: check for validity of mag strength from WMM and falls back
to average earth mag field with larger gate if not valid

* ekf control: remove evyaw check for mag inhibition

* ekf control: change nested ternary operator into if-else if

* Ekf: create AlphaFilter template class for simple low-pass filtering
0.1/0.9 type low-pass filters are commonly used to smooth data, this
class is meant to abstract the computation of this filter

* ekf control: reset heading using mag_lpf data to avoid resetting on an outlier
fixes ecl issue #525

* ekf control: replace mag_states_only flag with mag_field_disturbed and
add parameter to enable or disable mag field strength check

* ekf control: remove AUTOFW mag fusion type as not needed This was implemented for VTOL but did not solve the problem and should not be used anymore

* ekf control: use start/stop mag functions everywhere instead of setting the flag

* ekf control: Run mag fusion depending on yaw_align instead of tilt_align
as there is no reason to fuse mag when the ekf isn't aligned

* AlphaFilter: add test for float and Vector3f
2019-11-08 16:02:59 +01:00
Daniel Agar 1fc85da4b0 Update submodule GPSDrivers to latest Fri Nov 8 12:40:32 UTC 2019
- GPSDrivers in PX4/Firmware (085bdd14b41ac3977d612a1cae27f111de7fe4fb): https://github.com/PX4/GpsDrivers/commit/011959b4dabc6edbc1b22f5e0fa42a62d137e993
    - GPSDrivers current upstream: https://github.com/PX4/GpsDrivers/commit/085a85c48aafff6e388f8ce8d15c1371f8556a35
    - Changes: https://github.com/PX4/GpsDrivers/compare/011959b4dabc6edbc1b22f5e0fa42a62d137e993...085a85c48aafff6e388f8ce8d15c1371f8556a35

    085a85c 2019-10-15 Andreas Antener - sbf: invalidating gps position when invalid data is received We have encountered a case where do-not-use values were being reported in velocity fields without a corresponding error code or fix-type 0. This adds a check for known invalid data and sets the appropriate flags.
2019-11-08 09:43:53 -05:00
Beat Küng 073298bc8e batt_smbus: fix incorrect CLI description 2019-11-08 13:52:23 +01:00
LP 0527f278cb Update create.py to support Python3.x
file() -> open()
dict_obj_A.keys() + dict_obj_B.keys() -> list(dict_obj_A.keys()) + list(dict_obj_B.keys())
2019-11-08 10:10:17 +01:00
Jacob Dahl b943bd72ab commander: Added a parameter to control the timeout period for disarming after the kill switch is engaged. (#13325) 2019-11-07 10:03:59 -05:00
Daniel Agar 1896c758d0 [SQUASH ME] trivial style fix 2019-11-07 15:57:29 +01:00
Mike Wiatt 3595941554 Reposition landing gear check so that it is not overwritten by setpoint operations. 2019-11-07 15:57:29 +01:00
Daniel Agar 7fe257c0c0 Jenkins SITL tests always upload to logs.px4.io 2019-11-07 08:55:51 -05:00
Tanja Baumann b60a955501 ColPrev: No direction change if no obstacle (#13398)
* only change direction if in other bin
2019-11-07 14:21:12 +01:00
Beat Küng a5af1c8afc batt_smbus: add missing PRINT_MODULE_USAGE_DEFAULT_COMMANDS() 2019-11-07 10:56:27 +01:00
Beat Küng f94236dcc9 batt_smbus: fix getopt arguments (-A does not have an argument) 2019-11-07 10:56:27 +01:00
Beat Küng ce1ae3fcb7 batt_smbus: exit/continue correctly when no device is on the bus 2019-11-07 10:56:27 +01:00
Beat Küng 72e62a62cb batt_smbus: make bus_options const and rename to smbus_bus_options
as it is a global name.
2019-11-07 10:56:27 +01:00
Beat Küng adad11f247 batt_smbus: remove unused defines 2019-11-07 10:56:27 +01:00
Beat Küng b487920cf4 fix batt_smbus: add bound checks when accessing argv 2019-11-07 10:56:27 +01:00
Beat Küng 60f55a4fa1 fix batt_smbus: check if module running for custom_command 2019-11-07 10:56:27 +01:00
Beat Küng f63b55b219 fix batt_smbus: do not block the work queue while suspended 2019-11-07 10:56:27 +01:00
Beat Küng 3f3304fefc batt_smbus: variable init cleanup + remove unused declarations 2019-11-07 10:56:27 +01:00
Beat Küng 32359168d6 smbus: fix invalid memory access in read_word()
read_word() expected 3 bytes (uint16_t + PEC byte), but was passed an
address to an uint16_t value.

write_word() is changed to be type-safe as well.
2019-11-07 10:56:27 +01:00
Beat Küng e772ddf012 motor_test: remove note about supported drivers
This is now supported by all main output drivers.
2019-11-07 10:40:03 +01:00
Beat Küng 6622f04feb uavcan drivers: update code style
Pure refactoring, just running 'make format'.
2019-11-07 10:40:03 +01:00
Beat Küng 6049a95073 uavcan drivers: remove unused code for other OSs/bare metal 2019-11-07 10:40:03 +01:00
Beat Küng 5dff065ec5 uavcan: move to work queue and use MixingOutput
Main UAVCAN protocol handling and ESC updates run on the same thread/wq as
before. There are 2 WorkItems for separate scheduling of the 2, so that
ESC updates run in sync with actuator_control updates. UAVCAN is scheduled
at a fixed rate of 3ms (previously the poll timeout) and on each UAVCAN
bus event.
This leads to roughly the same behavior as before. CPU & RAM usage are
pretty much the same (tested on Pixhawk 4).

Testing done: Motors still work (with feedback), param changes and a
UAVCAN optical flow sensor.
2019-11-07 10:40:03 +01:00
Beat Küng b7a480b45b refactor uavcan: add stm32 and kinetis drivers directly 2019-11-07 10:40:03 +01:00
Beat Küng 6854b14dd6 esc_report: remove unused fields to reduce message size
esc_setpoint in UAVCAN was just wrong, this is what it really is:
uint7 power_rating_pct      # Instant demand factor in percent
(percent of maximum power); range 0% to 127%.
2019-11-07 10:40:03 +01:00
Beat Küng 0db0981b1b uavcan: remove actuator_direct (no publisher) 2019-11-07 10:40:03 +01:00
Daniel Agar 06f20ad892 sensors: ensure angular velocity publication on selected sensor update 2019-11-07 09:53:44 +01:00
Julian Oes 60343cc168 mavlink: warning for actuator offboard & lockstep
Currently actuator offboard control interferes with SITL lockstep.
Therefore, the least we can do is to warn a user and inform them how to
workaround the issue.
2019-11-06 12:30:30 -05:00
Daniel Agar 02271a471d vscode extensions update cmake-tools (now from microsoft) 2019-11-05 21:13:36 -05:00
JaeyoungLim b999581d2f Rover: Handle velocity frames correctly for offboard velocity control 2019-11-05 16:29:04 -05:00
Daniel Agar d263811eef Jenkins move raspi and bebop builds to regular armhf toolchain 2019-11-05 15:56:24 -05:00
Daniel Agar 5ec74af421 ADIS IMU drivers cleanup and standardize main 2019-11-05 11:58:43 -05:00
Matthias Grob 1a79f75f94 Commander: start pulling arming related parts into separate folder
* PreFlightCheck: remove unused reportFailures flag
* Commander: pull all pre flight checks together on the PreFlightCheck class
* PreFlightCheck: separate checks into their own files
2019-11-05 11:25:59 -05:00
Peter van der Perk 08a27492b4 Introduced condition variable in ROS2 subscriber to solve 500ms latency spikes 2019-11-05 15:09:44 +00:00
Julian Oes ef475fa9d8 mixer_module: fix poll error in SITL lockstep
This fixes the case where the mixer_module would subscribe and use its
own test_motor publication which was created only to make sure the
topic is advertised and subsequent updates will work properly.

This happened in SITL lockstep because the timestamp would be 0 at the
very beginning, and hence elapsed time would be 0 as well.
This lead to an actuator publication which would then get lockstep out
of sync causing poll errors on the Gazebo side.
2019-11-05 09:33:14 -05:00
Matthias Grob b6de83117e PositionControl: fix attitude setpoint timestamp
The plot of the attitude setpoint in the log did not show any values
because the message timestamp that the position control module sets
was overwritten by the PositionControl attitude generation.
2019-11-05 13:05:16 +01:00
Matthias Grob c6cc9f0902 mc_pos_control: fix cutting thrust when landed
by applying it directly to the attitude setpoint which is the output of
the position controller.

The problem was that before the input to the attitude setpoint generation
was adjusted to generate a level attitude with zero thrust keeping the
heading. I refactored the PositionControl class in #13262 to directly
generate the attitude setpoint output. So here I'm adjusting the attitude
setpoint to do the exact same thing as before but without interleaving
with the PositionControl logic.
2019-11-05 13:05:16 +01:00
Beat Küng a203475489 BlockingList: fix unsafe getLockGuard() API
getLockGuard relies on copy elision to work correctly, which the compiler
is not required to do (only with C++17).
If no copy elision happens, the mutex ends up being unlocked twice, and the
CS is executed with the mutex unlocked.

The patch also ensures that the same pattern cannot be used again.
2019-11-05 12:14:20 +01:00
Julian Oes 4ff4f5c77f commander: fix capitalization of mavlink messages 2019-11-05 10:40:30 +01:00
Julian Oes 24c58db9e6 commander: fix battery failsafe without GPS
This fixes the battery failsafe for the following corner cases:
- Battery failsafe set to Return but we can't do RTL because we don't
  have a global position or home position. In this case we now switch to
  Land. Land might end up in Descend in the failsafe state machine
  later.
- Battery failsafe set to Land but we can't land because we don't have a
  local position. In this case we switch to land anyway and then fall
  back to descend in the failsafe state machine later.

The "fix" involves ignoring using the main_state_transition and
implementing the guards in place. This is a hack for now but should
cover the corner case until a more thorough refactor.

The different failsafe state machines have involved over time from
requirements and learnings based on developed solutions and products.
The implementations in various places will need to get consolidated in
the future.

Tested in SITL for Return and Land with and without GPS.
2019-11-05 10:40:30 +01:00
bresch a6840655e8 ekf: Extract resetState from main reset and reinitialize
the covariances in the init function
2019-11-05 09:07:25 +01:00
bresch bf48004fb9 ekf: move "reset" part of the init function into a separate function
add getter for the vehicle at rest flag
2019-11-05 09:07:25 +01:00
PX4 BuildBot 6e395fe885 Update submodule matrix to latest Tue Nov 5 00:38:36 UTC 2019
- matrix in PX4/Firmware (dca3f78e198f89510890fbb8b305d2fa1c3caa69): https://github.com/PX4/Matrix/commit/92d1c8761ec8e5dbe9ba3f756cebd5e90956a1b2
    - matrix current upstream: https://github.com/PX4/Matrix/commit/9f464839510a2779b9418ffbc2303a31f155e851
    - Changes: https://github.com/PX4/Matrix/compare/92d1c8761ec8e5dbe9ba3f756cebd5e90956a1b2...9f464839510a2779b9418ffbc2303a31f155e851

    9f46483 2019-11-04 Julian Kent - Fix GCC-4.8 bug
445f58d 2019-11-01 Julian Kent - Fix weird C preprocessor conflicts (#101)
215203f 2019-10-23 Julian Kent - Automatic Differentiation 'Dual' Type (#100)
2019-11-04 20:05:43 -05:00
Oleg Kalachev 7b83da708a mavlink_receiver: write STATUSTEXT messages from the same system to log 2019-11-04 15:33:22 -05:00
Matthias Grob 2416d0fc63 mc_pos_control: remove unused function declarations 2019-11-04 15:07:06 -05:00
Daniel Agar 7f930f875e Jenkins store SITL unit test results 2019-11-04 14:04:40 -05:00
Julian Kent 9f46483951 Fix GCC-4.8 bug 2019-11-04 11:11:30 -05:00
Julian Kent b8b7527d05 Fix off-track tracking in AutoLineSmoothVel (#13321)
* Use position instead of last setpoint

This calculates the target velocities better taking into account disturbances along
the flight route. Previously entry angles and more were calculated assuming the flight path
originates directly from the direction of the previous waypoint. This corrects this assumption
to instead make the direction come from the vehicle location.

* Allow to specify a final speed given a braking distance.

This is to allow planning to not stop at a waypoint, but instead
to reach the waypoint while maintaining a certain velocity

* Updated src/lib/matrix

* Account for speed at target when determining constraints

* Separate constraints into x/y components

* Use setpoint position, not vehicle position

* Fix whitespace, add documentation
2019-11-04 11:57:12 +01:00
Daniel Agar 07825faeff Update submodule mavlink v2.0 to latest Mon Nov 4 00:39:49 UTC 2019 (#13340)
- mavlink v2.0 in PX4/Firmware (64daa96d11): https://github.com/mavlink/c_library_v2/commit/086f176b677b719c1f5b4267a10553ffc5c3a974
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/7c0ec61677d378320c2ee33a2e8db842d6fb4bc2
    - Changes: https://github.com/mavlink/c_library_v2/compare/086f176b677b719c1f5b4267a10553ffc5c3a974...7c0ec61677d378320c2ee33a2e8db842d6fb4bc2
2019-11-03 20:27:19 -05:00
Daniel Agar 64daa96d11 Jenkins hardware move to nested stages 2019-11-03 16:31:43 -05:00
Jacob Dahl 005f530eed Removed lidar lite reset after intialization 2019-11-03 20:07:27 +01:00
Daniel Agar 40850f58ee boards cleanup old nsh_archinitialize 2019-11-03 12:09:48 -05:00
Daniel Agar ee003370c4 UVify Core board sync with px4/fmu-v4
* A few minor changes to keep the UVify Core board in sync with fmu-v4. This will be important when transitioning to the new IMU drivers using SPI DMA (#13103).
2019-11-03 11:51:54 -05:00
Daniel Agar 69bec3ee62 defines.h delete obsolete PRIu64, PRId64, and offsetof 2019-11-03 11:50:15 -05:00
Daniel Agar 7bf9700426 NuttX: math.h drop extra math defines carried in PX4 defines.h 2019-11-03 10:30:00 -05:00
TSC21 7eb9118673 Jenkins: update container tags; use px4-dev-base-bionic 2019-11-03 10:29:15 -05:00
Jaeyoung-Lim 1951e416b1 Enable rover attitude setpoint 2019-11-03 09:54:22 -05:00
FlavioTonelli 7984c0c910 px4_work_queue: stack size rounded to page size on posix 2019-11-03 09:04:04 -05:00
Julian Oes a08abccdd5 mpu9250: fix mag spikes on fmu-v4pro
This should fix spikes in the mag data on MPU9250 found inside Drotek
Pixhawk 3Pro.

The problem turned out to be that we are not checking the DRDY bit
before reading the data. We presumably threw away most of the stale data
by doing a duplicate check, however, sometimes we might have run into a
race where the mag data was already being updated in the chip while
still being read.
2019-11-02 12:49:30 -04:00
Daniel Agar 3e189889ef FlightTasks: shift DEFINE_PARAMETERS to end of access modifiers
- DEFINE_PARAMETERS includes a private access modifier, so we need to
keep these at the end to prevent issues when extending a flight task
2019-11-02 12:41:45 -04:00
CAI Dongcai c804dea914 sitl script: Do NOT kill px4 if debug in IDE 2019-11-02 12:40:36 -04:00
Daniel Agar 7a82df3872 UVify Core and Draco-R updates
* Draco-R sensor orientation correction
* LL40LS sensor is not stable during I2C probing. More trials have been implemented.
* px4flow execution has been removed as rc script already running it
* GPS LED script repaired
* Off ICM20608 due to some bug?
* Removed i2c speed adjustment due to SMBUS.
* ms5611 test2 does not exist
* Baud rate has changed.
* Draco-R airframe parameters are updated.
* IFO and Draco parameters are updated
* Draco-R sensor orientation corrected
* Draco-R DSHOT supports
2019-11-02 11:39:41 -04:00
Daniel Agar a475d71ca9 astyle shift module documentation to bottom of files
- Astyle chokes on the module description strings, so for now we can keep them near the bottom of each file.
2019-11-02 10:58:47 -04:00
PX4 BuildBot f0ac270174 Update submodule ecl to latest Sat Nov 2 13:49:23 UTC 2019
- ecl in PX4/Firmware (4658aaf8a0ff90662843558dbc8ea68adcc7284d): https://github.com/PX4/ecl/commit/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4
    - ecl current upstream: https://github.com/PX4/ecl/commit/d76b7042251b6f4f230a34dd38818f7af1bb991d
    - Changes: https://github.com/PX4/ecl/compare/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4...d76b7042251b6f4f230a34dd38818f7af1bb991d

    d76b704 2019-11-01 kamilritz - Only inlcude gtest if standalone build
7c1e38d 2019-10-18 kamilritz - Make it build with Firmware
d79199c 2019-10-17 kamilritz - Remove swig and python test related things
d88e242 2019-10-17 kamilritz - pytest are replaced in gtests
71be26e 2019-10-17 kamilritz - Port RingBuffer Test to GTests
cac5f3f 2019-10-17 kamilritz - GTest and Coverage cleanup and Basic EKF GTest
fcea13e 2019-10-14 Martina Rivizzigno - add gtest, temp disable swig
2019-11-02 10:48:45 -04:00
Matthias Grob cc06009932 pre-commit: fix indentation style 2019-11-02 09:49:46 -04:00
Matthias Grob 5c0692e59e pre-commit: add error messages for style issues 2019-11-02 09:49:46 -04:00
Matthias Grob 933ff8d480 Remove duplicate EOF trailing newlines
because they can screw up git when merging branches.
2019-11-02 09:49:46 -04:00
Julian Oes 5491f9b8f9 px_uploader.py: increase estimated erase time
The 9 seconds to erase a board probably still come from the FMU-v1 and
Pixhawks with only 1 MB flash. By now, many targets have 2 MB flash and
take a bit longer to erase. Therefore, we can increase the estimated
time a bit and don't need to resort to the timeout notice.
2019-11-02 09:47:54 -04:00
kamilritz d76b704225 Only inlcude gtest if standalone build 2019-11-02 09:46:18 -04:00
Travis Bottalico d657a4ee83 modalai-fc-v1- rotate default orientation 180° yaw 2019-11-02 11:37:30 +00:00
katzfey ff9744b0d3 Fixed typo for extra_args when HEADLESS mode chosen. 2019-11-02 11:35:53 +00:00
Julian Kent 445f58d484 Fix weird C preprocessor conflicts (#101) 2019-11-01 14:23:35 +01:00
Julian Oes 87415d36a2 commander: check center throttle for POSCTL/ALTCTL
When flying POSCTL and ALTCTL the throttle stick is usually spring
loaded and therefore centered. Therefore, it makes more sense to check
for above center instead of above low.
2019-11-01 10:36:30 +01:00
Julian Oes 283a57054a commander: add missing manual modes
We prevent arming when in a "manual" mode with throttle high. However,
POSCTL and ALTCTL were missing.
2019-11-01 10:36:30 +01:00
Julian Oes 300bc0a332 commander: fully support MAVLink force arming
When a magic number is added as param2 for the MAVLink ARM_DISARM
command not just disarming but also arming should be enforced.
2019-11-01 10:36:30 +01:00
Julian Oes 51ba80f33b commander: improve msg when trying to arm in air 2019-11-01 10:36:30 +01:00
CUAVcaijie 77a896a0dd UAVCAN: Fixed CAN battery status
* Set battery.voltage_filtered_v and battery.current_filtered_a value
* Fixed battery.remaining error when full_charge_capacity_wh is zero
2019-10-31 22:35:04 -04:00
Daniel Agar e39e73cea1 delete auav esc35-v1 board 2019-10-31 22:34:05 -04:00
Daniel Agar 129299e25d Update submodule GPSDrivers to latest Fri Nov 1 00:38:09 UTC 2019 (#13338)
- GPSDrivers in PX4/Firmware (939b83ad492abe795f5eb9f0c4e4387aaee193a5): https://github.com/PX4/GpsDrivers/commit/69e38ecc846df03f0bb71aa136bcc830dd3316a9
    - GPSDrivers current upstream: https://github.com/PX4/GpsDrivers/commit/011959b4dabc6edbc1b22f5e0fa42a62d137e993
    - Changes: https://github.com/PX4/GpsDrivers/compare/69e38ecc846df03f0bb71aa136bcc830dd3316a9...011959b4dabc6edbc1b22f5e0fa42a62d137e993

    011959b 2019-10-27 Daniel Agar - clang-tidy: fix hicpp-member-init
2019-10-31 21:29:27 -04:00
PX4 BuildBot 6647a9a762 Update submodule jMAVSim to latest Thu Oct 31 12:39:44 UTC 2019
- jMAVSim in PX4/Firmware (a6a8877463): https://github.com/PX4/jMAVSim/commit/3bd51e67e022ce59644d33ebdf6570c2ea88ddb6
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/eeb23ef68e0491332d3169deaa42c4babc0395b7
    - Changes: https://github.com/PX4/jMAVSim/compare/3bd51e67e022ce59644d33ebdf6570c2ea88ddb6...eeb23ef68e0491332d3169deaa42c4babc0395b7

    eeb23ef 2019-10-30 bresch - magnetometer: update inclination/declination/local mag field strength of default starting locations. Set magnetometer scale factor to 1 (instead of 2) Set local mag field using DEFAULT_MAG_FIELD instead of an estimated one using inclination/declination and a norm of 1
2019-10-31 14:53:45 -04:00
flbernier 79a814199c Add rm3100 start for fmu-v5x 2019-10-31 12:09:44 -04:00
flbernier 568a349d60 Add rm3100 start for fmu-v5 2019-10-31 12:09:44 -04:00
flbernier 6f5f9a787e Add rm3100 start for fmu-v4 2019-10-31 12:09:44 -04:00
flbernier 7a356e1e91 Add rm3100 start for fmu-v3 2019-10-31 12:09:44 -04:00
David Sidrane a3e2777208 NuttX/nuttx with SDIO fixes (#13311)
* NuttX/nuttx with SDIO fixes
2019-10-31 16:55:16 +01:00
xdwgood 854220dccd mc_pos_control.cpp:Fix forced update parameters 2019-10-31 10:15:25 -04:00
Julian Oes a6a8877463 simulator: don't reset battery when disarmed
Before this change, the battery percentage is reset to 100% as soon as
the drone is disarmed again. In my opinion it is more realistic if the
batteries don't magically fill up again but stay low.
2019-10-30 15:45:44 -04:00
Jacob Dahl 66b3a4269b updated maintainer on 4250_teal 2019-10-30 15:31:04 +00:00
Beat Küng 1dd6b6a505 stm32f3: add libs and stubs for F3 build (thiemar_s2740vc-v1) 2019-10-30 11:48:47 +01:00
Beat Küng 3b7c1b4ff1 src/drivers/boards: move to platforms/nuttx/src/px4/common 2019-10-30 11:48:47 +01:00
Beat Küng be7ed5e388 src/drivers/boards/common/{stm32,kinetis}: move under platforms/nuttx/src/px4 2019-10-30 11:48:47 +01:00
Beat Küng 58e161347b board_mcu_version: move to platforms/nuttx/src/px4 2019-10-30 11:48:47 +01:00
Beat Küng e7519c9fa0 board_identity: move to platforms/nuttx/src
And fix a potential alignment issue in board_get_mfguid and
board_get_px4_guid.
2019-10-30 11:48:47 +01:00
Beat Küng b30171ba8d board_common.h: move under platforms/common
Also move board_determine_hw_info and board_gpio_init under platforms/nuttx
2019-10-30 11:48:47 +01:00
Beat Küng dc601f15f1 includes: remove unused global include directories 2019-10-30 11:48:47 +01:00
Beat Küng 3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Julian Oes fad0c31872 commander: battery failsafe action back to warning
This reverts a previous change because we're not entirely sure about all
implications on various airframes. It makes sense to change this default
after the failsafe state machines have been consolidated and the various
failsafe behaviours are more predictable for all airframes (not just
multicopter).
2019-10-29 15:42:43 +01:00
Hamish Willee 24e3dc6a76 RTL Params - relative to destination not home 2019-10-29 15:00:49 +01:00
Peter van der Perk 07eb3d301b Enabled UDP in NuttX microRTPS build
Added commandline argument to change microRTPS ip address
2019-10-29 09:08:21 +00:00
Daniel Agar 375fc4a75c uavcan module cleanup
- move most orb to uORB::Publication and uORB::Subscription
 - update legacy message handling (warn to PX4_INFO, PX4_WARN, PX4_ERR)
 - add perf counters
 - sensors/mag support newer `uavcan::equipment::ahrs::MagneticFieldStrength2` message
 - sensors/gps support `uavcan::equipment::gnss::Auxiliary` for hdop and vdop
 - sensors delete obsolete ioctl and read methods
 - use PublicationMulti for actuator_outputs and esc_reports (to coexist with other output modules)
 - add GNSS parameter metadata (parameters_injected.xml)
2019-10-28 19:57:50 -04:00
Daniel Agar 47dd312b57 fw_att_control: move to px4::params 2019-10-28 18:08:47 -04:00
JaeyoungLim 71fbe58e20 fw_pos_ctrl_l1: enable loiter type offboard position setpoint for Fixedwing vehicles
* Use NAV_LOITER_RAD when provided offboard position setpoints
2019-10-28 17:42:27 -04:00
RomanBapst 216556e7f6 commander_params: mention definition of battery states in the description
of the battery failsafe mode parameter

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-28 16:18:42 -04:00
Daniel Agar 94de12ef19 sensors: own BAT_V_DIV and BAT_A_PER_V params (#13299)
- this is currently necessary for the QGC power setup gui, but should be reverted in the future
 - fixes #13292
2019-10-28 16:03:05 -04:00
Julian Oes cb03612d99 mavlink: only ignore messages on UDP before init
We should still accept messages arriving over serial.
2019-10-28 11:13:16 -04:00
Julian Oes 08cce4f7f3 mavlink: accept msgs without source initialized
I don't understand why we should wait to parse incoming MAVLink traffic
just because we don't have the source address initialized. We still
check the source address before doing a sendto.

This should fix serial MAVLink communication on FMU5x where both serial
and UDP is available. There the serial connection previously did not
work because nothing was connected over UDP.
2019-10-28 11:13:16 -04:00
Daniel Agar c284198bec clang-tidy: partially fix hicpp-use-override 2019-10-28 10:50:31 -04:00
Daniel Agar bfd44afef8 clang-tidy: enable readability-braces-around-statements 2019-10-28 10:50:31 -04:00
Daniel Agar 6f1e132286 clang-tidy: enable readability-redundant-control-flow and fix 2019-10-28 10:50:31 -04:00
Daniel Agar 6f1f5e0325 clang-tidy: partially fix readability-redundant-declaration 2019-10-28 10:50:31 -04:00
Daniel Agar 68d20b56cf clang-tidy: enable readability-redundant-member-init 2019-10-28 10:50:31 -04:00
Daniel Agar 9f4258f6ff clang-tidy: partially fix hicpp-explicit-conversions 2019-10-28 10:50:31 -04:00
Daniel Agar a7f330075a clang-tidy: enable hicpp-braces-around-statements and fix 2019-10-28 10:50:31 -04:00
Daniel Agar 744f06cc8f clang-tidy: enable readability-delete-null-pointer and fix 2019-10-28 10:50:31 -04:00
Daniel Agar 4192414576 clang-tidy: partially fix cppcoreguidelines-pro-type-reinterpret-cast 2019-10-28 10:50:31 -04:00
Julian Oes f5945d1185 commander: make battery failsafes sane by default
I propose two changes to the battery failsafes:
1. Remove the return only mode because it means the drone is likely
   to crash during RTL. I think this is not expected by users chosing
   the option and therefore better not exposed as an option.
2. Make Return/Land the default battery failsafe because it is expected
   that a drone does the right thing when battery is low.

Also, this changes the description of the Return/Land behaviour to make
the drop down menu less long and awkward in QGC.
2019-10-28 05:51:12 -07:00
kamilritz 7c1e38d3ad Make it build with Firmware 2019-10-28 11:04:38 +01:00
kamilritz d79199c863 Remove swig and python test related things 2019-10-28 11:04:38 +01:00
kamilritz d88e242a60 pytest are replaced in gtests 2019-10-28 11:04:38 +01:00
kamilritz 71be26efc6 Port RingBuffer Test to GTests 2019-10-28 11:04:38 +01:00
kamilritz cac5f3fd6d GTest and Coverage cleanup and Basic EKF GTest 2019-10-28 11:04:38 +01:00
Martina Rivizzigno fcea13eef8 add gtest, temp disable swig
(cherry picked from commit 4008d163d77f503e6acbd7ddc1d87ac6d479c897)
2019-10-28 11:04:38 +01:00
Beat Küng 0734fe047e fmu-v2 fixedwing: add CONSTRAINED_FLASH to the config 2019-10-28 09:54:59 +01:00
Silvan Fuhrer 0ce9329803 Safe Landing Points: Added new RTL_TYPE: closest between home, mission landing and safe points
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

Co-authored by Martina Rivizzigno <martina@rivizzigno.it>
2019-10-28 09:54:59 +01:00
Silvan Fuhrer efafd91095 Rally Points in RTL: fly to closest Rally Point (safe point), or to home if that's closer
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-10-28 09:54:59 +01:00
Silvan Fuhrer 99dd229d71 Rally Point: fix typo of save to safe in mission_safe_point_s
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-10-28 09:54:59 +01:00
Julien Lecoeur 8f910f8435 ATTITUDE_QUATERNION: fill repr_offset_q for tailsitters (#13249)
* Conversions lib: add quaternion getter

* vehicle_status: add flag is_vtol_tailsitter

* ATTITUDE_QUATERNION: fill repr_offset_q for tailsitters
2019-10-28 09:27:53 +01:00
Daniel Agar 380cae18d1 clang-tidy: partially fix modernize-use-equals-default 2019-10-27 19:19:07 -04:00
Daniel Agar 967446af4c clang-tidy: enable readability-simplify-boolean-expr and fix 2019-10-27 19:19:07 -04:00
Daniel Agar 279df3b1b8 clang-tidy: partially fix hicpp-use-equals-delete 2019-10-27 19:19:07 -04:00
Daniel Agar d545825bf0 clang-tidy: enable performance-unnecessary-value-param and fix 2019-10-27 19:19:07 -04:00
Daniel Agar 4a7a9a1ba9 Makefile: clang-tidy use unmodified run-clang-tidy 2019-10-27 19:19:07 -04:00
Daniel Agar ae27dd60a6 Jenkins re-enable clang-tidy and update .clang-tidy
- device/Device: fix explicit constructor and uninitialized fields
 - systemcmds/motor_test: update NULL to nullptr
2019-10-27 17:19:11 -04:00
Daniel Agar 7b94c501cd Jenkins discard artifacts sooner 2019-10-27 12:52:28 -04:00
Daniel Agar e2cf501f9d boards: increase CONFIG_MAX_TASKS 32->64 on all F7s (#13285)
On more complicated setups it's still possible to exceed 32 tasks. For example fmu-v5 with mavlink on every telem (+ USB), external spi usage (pmw3901), gimbal (vmount), multiple i2c sensors, and camera feedback is 35 tasks (with top running). This is a fairly extreme case, so I'm only going to increase CONFIG_MAX_TASKS on newer F7 boards.
2019-10-27 12:37:01 -04:00
Daniel Agar 17b654f165 Update submodule ecl to latest Sun Oct 27 12:38:03 UTC 2019 (#13175)
- ecl in PX4/Firmware (dcfe226638): https://github.com/PX4/ecl/commit/f005e0ea8f33d10dd014a0700e712426540bb58a
    - ecl current upstream: https://github.com/PX4/ecl/commit/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4
    - Changes: https://github.com/PX4/ecl/compare/f005e0ea8f33d10dd014a0700e712426540bb58a...9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4

9b4b24e 2019-10-17 RomanBapst - removed unused definition
0e3a0b8 2019-10-15 RomanBapst - range_finder_checks: parametrised signal quality hysteresis duration
16d1e15 2019-10-15 RomanBapst - addressed review comments
6bc6f26 2019-10-14 RomanBapst - range_finder_checks: set range height to valid if signal quality is non-zero
6299d81 2019-10-14 RomanBapst - ekf_helper: use latest validated range sample to reset height
00f49e6 2019-10-14 RomanBapst - cleanup checks of range finder data
4d37065 2019-08-22 Paul Riseborough - EKF: Make use of inverse rotation function consistent with name
36de2b3 2019-08-22 Paul Riseborough - EKF: Use matrix library for quaternion to rotation matrix conversion
1a4ab06 2019-10-22 bresch - rate controller: add override specifiers whenever needed
29f71ff 2019-10-21 bresch - ekf: Add override specifier for all functions that override virtual functions of the estimator interface class
50167bf 2019-10-16 bresch - estimator interface: add deprecated functions for backward compatibility
b38458c 2019-10-10 bresch - Terrain estimator: formatting and remove redundant comments
0aef0ed 2019-10-10 bresch - terrain_estimator: remove dead code. Since the terrain estimator is constantly reset on ground, it is not necessary anymore to fuse fake measurements on ground if the range measurements are bad.
370e04e 2019-10-03 bresch - terrain_est: Continuously reset terrain height on ground using known clearance. This is the best estimate as we should not rely on a distance sensor while on the ground. This also helps when the drone is carried over as it avoids starting with a crazy downward distance for optical flow scaling.
e09e3e1 2019-10-14 bresch - control: rename _range_aid_enabled to _is_range_aid_suitable rename rangeAidConditionsMet to checkRangeAidSuitability
fac69d0 2019-10-14 bresch - control: refactor rangeAidConditionsMet function
eae6e8f 2019-08-06 Paul Riseborough - EKF: Fix on ground yaw drift when using EKF2_MAG_TYPE = 4
4e946d5 2019-09-04 RomanBapst - implemented synthesized magnetometer Z measurement - calculate a theoretical value based on the knowledge of the direction and strength of the magnetic field vector and X/Y sensor measurements - needs knowledge about location on earth to work
2019-10-27 11:24:26 -04:00
Jaeyoung-Lim dcfe226638 Add onboard computer status rtps message 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 1b7d04d835 Add units on message comments 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 2ab692b8dc Document types 2019-10-27 11:47:10 +00:00
JaeyoungLim b7ebbabfd6 Update msg/onboard_computer_status.msg
Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 29987a4f80 Address comments 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 3dc3679f9e Copy fields 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 58d646e33d Log CPU loads 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim 677c0b4713 Add uorb topic 2019-10-27 11:47:10 +00:00
Jaeyoung-Lim a3bd9ead4c Add message handlers for onboard computer status 2019-10-27 11:47:10 +00:00
Ildar Sadykov 0326a8ec76 mavlink_receiver: Fit in 'flash' region 2019-10-26 18:29:16 +01:00
Ildar Sadykov b29a6b8761 set_attitude_target: get vehicle_status every time. 2019-10-26 18:29:16 +01:00
Ildar Sadykov fc59414a25 set_attitude_target: set rate thrust according to VTOL mode 2019-10-26 18:29:16 +01:00
Ildar Sadykov 948d24c1e3 Apply suggestions from code review
Co-Authored-By: Julien Lecoeur <jlecoeur@users.noreply.github.com>
2019-10-26 18:29:16 +01:00
Ildar Sadykov 65ed068bbd mavlink_receiver: vtol_vehicle_status changed to vehicle_status subscription 2019-10-26 18:29:16 +01:00
Ildar Sadykov d2f0100e5e Removed _is_vtol in MavlinkReceiver class 2019-10-26 18:29:16 +01:00
Ildar Sadykov c8edac0a1d VTOL state check for attitude setpoint publish 2019-10-26 18:29:16 +01:00
Ildar Sadykov 35b0778499 Check system type for SET_ATTITUDE_TARGET attitude publising
Check if system type is VTOL and publish attitude to proper uORB topic
2019-10-26 18:29:16 +01:00
Julien Lecoeur 8bf60662fa fmu-v2: set CONSTRAINED_FLASH on all targets 2019-10-26 15:19:07 +01:00
bresch bdc546b2e0 AutoLineSmoothVel: fix constrain priority for autocontinue.
The constrainAbs function was not prioritizing the minimum value
that produces the autocontinue behaviour. This caused zig-zag
paths when the waypoints were almost -but not exactly- aligned.
2019-10-26 08:34:30 +02:00
Matthias Grob be545db44f mc_pos_control: reuse timestamp to reduce hrt calls 2019-10-26 06:11:18 +02:00
Matthias Grob d0084766ff PositionControl: make getters const functions 2019-10-26 06:11:18 +02:00
Matthias Grob f70d4d21a1 PositionControl: add getter for output attitude setpoint 2019-10-26 06:11:18 +02:00
Matthias Grob 198605d258 PositionControl: add getter for output position setpoint 2019-10-26 06:11:18 +02:00
PX4 BuildBot 9e309f62a9 Update submodule sitl_gazebo to latest Fri Oct 25 12:40:00 UTC 2019
- sitl_gazebo in PX4/Firmware (ffefd458be): https://github.com/PX4/sitl_gazebo/commit/c0634b241eb730cee2ef91e5f5298427a4a328c8
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/169d48217df89922e9fae72ef34fa46ce2e209dd
    - Changes: https://github.com/PX4/sitl_gazebo/compare/c0634b241eb730cee2ef91e5f5298427a4a328c8...169d48217df89922e9fae72ef34fa46ce2e209dd

    169d482 2019-10-22 Julian Oes - travis: let's not bother about macOS Sierra
78fef51 2019-10-22 Julian Oes - travis: install gstreamer using brew
764d1b7 2019-10-21 Julian Oes - models: fix reported validation errors
053622b 2019-10-11 TSC21 - Travis CI: Cleanup scripts and add more MacOSX build pipelines
0c8214c 2019-10-21 Julian Oes - cmake: fix Qt prefix path for macOS
bb2c08c 2019-10-06 TSC21 - CMake: fix Qt5 find in MacOS
81f072b 2019-10-14 Julian Oes - travis: install GStreamer using brew
39d4399 2019-10-14 Julian Oes - cmake: link to glib-2.0 and gobject-2.0
fef3ff5 2019-10-14 Julian Oes - cmake: fix GStreamer and Qt deps for macOS
605da22 2019-10-22 Nuno Marques - Update README.md
2a8a54e 2019-10-20 Nuno Marques - README: update install instructions
2019-10-25 15:29:41 +01:00
Jacob Crabill ffefd458be UAVCAN: Optical Flow: Bug fix (missing integration_timespan field in optical_flow topic). (#13257) 2019-10-25 13:21:03 +02:00
JaeyoungLim 4c8f27cf57 Fix typhoon h480 parameter (#13263) 2019-10-25 10:46:27 +02:00
Igor Mišić f4ee9141cb DShot: updated driver to use NuttX DMA functions (#13233) 2019-10-25 09:49:03 +02:00
Dusan Zivkovic 7ebaf9a1cb mission: ensure precland::on_inactivation() is called once landed 2019-10-25 09:28:09 +02:00
Hamish Willee 6295a55a87 Mavlink Submodule update 2019-10-24 19:02:34 -07:00
Hamish Willee 564b29c0f8 Fix incorrect default for parser 2019-10-24 19:00:17 -07:00
Hamish Willee a904f78fad Parameter parser/markdown includes boolean flag 2019-10-24 19:00:17 -07:00
bresch 788b8c86a2 InnovationLpf: initialize state to zero 2019-10-24 18:33:55 +02:00
Matthias Grob 40edd33078 mc_pos_control: reduce scope of attitude setpoint
No need for a gloabl state since it gets produced freshly
by the controller and then published.
2019-10-24 14:58:57 +02:00
Matthias Grob 79334958a9 WeatherVane: only update with last row of rotation matrix 2019-10-24 14:58:57 +02:00
Matthias Grob 9c25b987bc vehicle_local_position_setpoint: make acceleration and jerk arrays 2019-10-24 14:58:57 +02:00
TSC21 0062390c46 Jenkins CI: Colcon build on ROS2 Dashing workspace 2019-10-24 11:23:24 +01:00
TSC21 45c320ba8e bump container tags to 2019-10-24 2019-10-24 11:23:24 +01:00
TSC21 5b018ebc83 Jenkins CI: Tests: bump px4-dev-ros-melodic tag to 2019-10-23 2019-10-24 11:23:24 +01:00
TSC21 6fbc8afd50 Jenkins CI: move SITL tests to Melodic container 2019-10-24 11:23:24 +01:00
bresch a7727769e9 ekf2: Fix heading not stable issue. The prblem was that a large
dt could drive the alpha filter crazy because of the small dt
approximation during the computation of the coefficient.
- Remove unused bitmask packing of the innovation checks
2019-10-24 11:27:35 +02:00
JaeyoungLim 2fc5789d68 Support offboard velocity setpoints for rover (#13225)
* Enable velocity control for rover

* Address comments

* Use pid for speed control

* Calculate steering commands correctly

* Use local velocity estimates to avoid global position dependency
2019-10-24 10:40:20 +02:00
Beat Küng b5ba1665f6 commander: add COM_MOT_TEST_EN parameter to enable/disable motor testing 2019-10-24 09:27:29 +02:00
Beat Küng 02833c6075 px4io: add support for test_motor
And fix some IO bugs:
- PX4IO_P_STATUS_FLAGS_RAW_PWM was never cleared. This meant that after a
  'pwm test' command, normal mixing was not possible anymore.
  Fixed by remembering when we are in test mode and not sending
  PX4IO_PAGE_CONTROLS during that time. PX4IO_P_STATUS_FLAGS_RAW_PWM is
  cleared when PX4IO_PAGE_CONTROLS are received.
- when entering test mode w/o specifying all channels, the other channels
  were not set at all, which means they could still be set to values from
  a previous test call.
  This is fixed by setting all channels to disarmed when entering/leaving
  test mode.
2019-10-24 09:27:29 +02:00
Beat Küng 0d91d4e702 commander: do not beep on successful commands
DO_MOTOR_TEST is sent continuously, which led to constant beeping
2019-10-24 09:27:29 +02:00
Beat Küng f7b04d5cbc commander: answer to VEHICLE_CMD_DO_ORBIT 2019-10-24 09:27:29 +02:00
Beat Küng bc09a872fa mixer_module: do not enter test mode if kill switch is engaged 2019-10-24 09:27:29 +02:00
Beat Küng 285ae608a5 commander: add support for DO_MOTOR_TEST
- add an optional timeout to test_motor
- enforce a timeout when receiving DO_MOTOR_TEST
- limitation: DO_MOTOR_TEST can only control the MAIN outputs
2019-10-24 09:27:29 +02:00
Beat Küng eb6a9bd488 px4io: add missing lock()/unlock() in ioctl 2019-10-24 09:27:29 +02:00
Matthias Grob f317d227ef arch.sh: get rid of ignition-cmake workaround
The AUR repository got fixed upstream after
I reported the issue. I tested on a fresh machine
so we can get rid of the workaround that was necessary. See
https://aur.archlinux.org/packages/ignition-cmake/#comment-712301
2019-10-24 08:50:18 +02:00
Travis Bottalico 1d44231cd4 modalai fc-v1: add dshot support 2019-10-24 02:06:28 -04:00
Travis Bottalico 367e756c81 Fix a missed refactor of board name in vscode file 2019-10-24 02:06:28 -04:00
mcsauder 7389bf1759 Add rangefinder dependency to the CM8JL65 driver CMakeList and organize #includes. 2019-10-24 01:50:49 -04:00
RomanBapst 9b4b24ee71 removed unused definition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
RomanBapst 0e3a0b8659 range_finder_checks: parametrised signal quality hysteresis duration
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
RomanBapst 16d1e15b51 addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
RomanBapst 6bc6f26043 range_finder_checks: set range height to valid if signal quality is non-zero
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
RomanBapst 6299d8199c ekf_helper: use latest validated range sample to reset height
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
RomanBapst 00f49e62c2 cleanup checks of range finder data
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-24 07:55:37 +11:00
Jaeyoung-Lim f7871ec9de Retune h480 2019-10-23 16:55:30 +01:00
RomanBapst 06a902f598 rcS: do not wipe next flight UUID parameter when resetting parameters
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-23 16:54:17 +01:00
Matthias Grob 38651ceee1 mc_pos_control: address @bresch's review comments 2019-10-23 17:33:47 +02:00
Matthias Grob d60e1e2774 ControlMath: switch to gtest for unit tessting 2019-10-23 17:33:47 +02:00
Matthias Grob ad60f6d786 PositionControl: make it self contained library 2019-10-23 17:33:47 +02:00
Paul Riseborough 4d37065f1b EKF: Make use of inverse rotation function consistent with name
The quaternion to inverse rotation matrix function has been updated so that the rotation it produces is the inverse to that produced by the matrix library and the the inverse of the quaternion is uses. This function is now used to directly calculate an inverse rotation matrix rather than calculating the forward rotation and then transposing it.
2019-10-23 14:44:08 +03:00
Paul Riseborough 36de2b3dc1 EKF: Use matrix library for quaternion to rotation matrix conversion 2019-10-23 14:44:08 +03:00
Julian Kent 215203fc6f Automatic Differentiation 'Dual' Type (#100)
* Dual numbers initial implementation

* Add test coverage, with partial derivative example

* Add Jacobian test, fix small issues

* Improve test to demonstrate non-square jacobian

* Better naming for collectReals/Derivatives

* Improve comments

* Potential GCC 4.8 bug workaround

* Add fallback workaround for non-IEEE float platforms
2019-10-23 12:07:51 +02:00
Mathieu Bresciani 549fb0d5de ekf2_main - Add optical flow innovation pre-flight check (#13036)
* ekf2: Add FirstOrderLpf and InnovationLpf classes for innovation lowpass filtering

* ekf2: use InnovLpf filter class in preflight checks

* ekf2: move selection of yaw test limit for pre-flight check in function

* ekf2: Move pre-flight checks into separate function

* ekf2: use static constexpr insetead of inline for sq (square) function

* ekf2: Split pre-flight checks in separate functions
Also use the same check for all the innovations:
innov_lpf < test and innov < 2xtest

* ekf2: Add optical flow pre-flight check

* ekf2: Combine FirstOrderLpf and InnovationLpf in single class

* ekf2: check vel_pos_innov when ev_pos is active as well

* ekf2: transform InnovationLpf into a header only library and pass the
spike limit during the update call to avoid storing it here

* ekf2: Static and const cleanup
- set spike_lim constants as static constexpr, set innovation
- set checker helper functions as static
- rename the mix of heading and yaw as heading to avoid confusion

* ekf2: use ternary operator in selectHeadingTestLimit instead of if-else

* ekf2: store intermediate redults in const bool flags. Those will be used for logging

* ekf2: set variable const whenever possible

* ekf2: create PreFlightChecker class that handle all the innovation
pre-flight checks.
Add simple unit testing
Use bitmask instead of general flag to have more granularity

* PreFlightChecker: use setter for the innovations to check instead of sending booleans in the update function
This makes it more scalable as more checks will be added

* ekf: Use booleans instead of bitmask for ekf preflt checks
Rename "down" to "vert"
2019-10-22 16:22:42 +02:00
bresch 1a4ab069c9 rate controller: add override specifiers whenever needed 2019-10-22 09:12:19 -04:00
bresch 29f71fff96 ekf: Add override specifier for all functions that override virtual functions of the estimator interface class 2019-10-22 09:12:19 -04:00
bresch 50167bfbcf estimator interface: add deprecated functions for backward compatibility 2019-10-22 20:19:56 +11:00
bresch b38458c2ab Terrain estimator: formatting and remove redundant comments 2019-10-22 20:19:56 +11:00
bresch 0aef0eda59 terrain_estimator: remove dead code. Since the terrain estimator is
constantly reset on ground, it is not necessary anymore to fuse fake
measurements on ground if the range measurements are bad.
2019-10-22 20:19:56 +11:00
bresch 370e04ee60 terrain_est: Continuously reset terrain height on ground using known
clearance. This is the best estimate as we should not rely on a distance
sensor while on the ground. This also helps when the drone is carried
over as it avoids starting with a crazy downward distance for optical
flow scaling.
2019-10-22 20:19:56 +11:00
Daniel Agar 644c816a2a generate_listener.py don't use message length 2019-10-22 09:19:18 +02:00
Daniel Agar 35398e05ca perf counter cleanup (mostly intervals)
Some of these perf counters were useful during initial development, but realistically aren't needed anymore, some are redundant when we can now see the average interval from `work_queue status` and some of them simply aren't worth the cost at higher rates.
2019-10-21 18:54:17 -04:00
Daniel Agar f7e62349b3 px4_posix: increase posix stack overhead (mostly for ASan)
- sync address sanitizer SITL tests
2019-10-21 16:56:09 -04:00
Daniel Agar 6a0f5249f8 sensors: split out analog battery handling to new standalone battery_status module 2019-10-21 13:40:23 -04:00
Beat Küng f956bafa4e MixingOutput: remove safety button check
The assumption is that the system can only ever get into armed state if
the safety button is already off.
2019-10-21 09:42:08 +02:00
Beat Küng 529da7b33e MIXERIOCLOADBUF ioctl: remove unnecessary string length restriction
mixer.cpp ensures the string is null-terminated (buffer length is 2048).
2019-10-21 09:42:08 +02:00
Beat Küng a8f6622831 OutputModuleInterface::updateOutputs return bool to control actuator_outputs pub
Required for pwm_out_sim: only publish actuator_outputs when we get
actuator_controls. Otherwise lockstep startup does not work.
The issue was there before but hidden, due to a long poll timeout.

Works with HIL too.
2019-10-21 09:42:08 +02:00
Beat Küng 380247168d mixer_module: avoid using an enum as px4::atomic argument
Does not compile on MacOS.
2019-10-21 09:42:08 +02:00
Beat Küng 0871802568 mixer_module: add support for test_motor (motor_test CLI command) 2019-10-21 09:42:08 +02:00
Beat Küng 349469cf75 refactor pwm_out_sim: use mixer_module and run on work queue
Tested with SITL + HITL
2019-10-21 09:42:08 +02:00
Beat Küng 2837152983 refactor mixer_module: move some code in update() into separate methods 2019-10-21 09:42:08 +02:00
Beat Küng 72a8be538a mixer_module: more robust logic to set 'stop_motors' flag
Checking the first output_limited for a disarmed value is fragile.
For example a disarmed value might be within the range of min/max output
values and could then be triggered while armed.
2019-10-21 09:42:08 +02:00
Hamish Willee 177da1f923 RTL params - proposed updates 2019-10-21 09:08:27 +03:00
RomanBapst 4cc7bb7296 addressed review comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-21 09:08:27 +03:00
RomanBapst b1a9d4b4c7 updated rtl parameter descriptions.
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-21 09:08:27 +03:00
TSC21 2930b55732 microRTPS: templates: only decode ros2_distro when possible and nedeed 2019-10-20 16:08:32 +01:00
Daniel Agar 981f8d5d90 systemcmds/tests: IntrusiveQueue and List fix memory leaks 2019-10-20 10:46:44 -04:00
Daniel Agar 687a3a15c5 top: decrease priority below IMU sensor WQ threads
- otherwise top can potentially disrupt with sensor sampling
2019-10-19 13:44:24 -04:00
modaltb 3bbf1cc868 Add support for ModalAI FC1 2019-10-19 12:23:23 -04:00
Nick Steele 070d75496d Handle MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN 'Do nothing for autopilot' 2019-10-18 15:57:50 -04:00
Matthias Grob 08ec6a28f0 mc_att_control: remove TPA
because it's mostly unused and we have thrust curve correction
see parameter THR_MDL_FAC
2019-10-18 15:54:09 -04:00
Julian Oes f9ddbd7e2a mpu6000: remove factory test for fmu-v2 2019-10-18 15:00:41 -04:00
Matthias Grob 22c4bb498c FlightTaskDescend: set no vertical thrust when commanding velocity 2019-10-18 16:18:19 +02:00
Julian Oes de90543d6f FlightTasks: add Descend task to land without GPS
This adds a flight task to catch the case where we want to do an
emergency descent without GPS but only a baro.

Previously, this would lead to the navigator land class being called
without position estimates which then made the flight tasks fail and
react with a flight task failsafe. This however meant that landed was
never detected and a couple of confusing error messages.

This applies if NAV_RCL_ACT is set to 3 "land".
2019-10-18 16:18:19 +02:00
Matthias Grob 5f53ae1253 mc_pos_control: execute failsafe with invalid setpoints 2019-10-18 16:18:19 +02:00
Martina Rivizzigno 95dc522b99 update sitl_gazebo submodule 18/10/2019 2019-10-18 11:43:58 +01:00
Julian Oes d3da4a92e0 msg: don't implement print_message for fmu-v2
This saves about 3.4k of flash for fmu-v2.
2019-10-18 11:54:24 +02:00
Mark Sauder e9c9fb8239 fix multicopter land detector: do not update parameters every cycle (#13212)
And add updateParams() call in LandDetector::_update_params().
2019-10-18 09:25:41 +02:00
Matthias Grob cefa7ec5dc arch.sh: use nproc instead of grepping /proc/cpuinfo 2019-10-17 12:48:04 -04:00
Tanja Baumann be1f966e5f Collision prevention: Option to enable flying outside FOV and rename parameters (new CP group)
* rename parameters to allow more descriptive names under CP group
* add option to enable moving where there is no data
* add test for param CP_GO_NO_DATA

Co-Authored-By: Martina Rivizzigno <martina@rivizzigno.it>
2019-10-17 11:23:50 -04:00
Julian Oes 2fcddd9b8d mavlink: fix uninitialized mavlink warnings 2019-10-17 08:44:53 -04:00
Julian Oes ec95378821 logger: fix uninitialized coverity warnings 2019-10-17 08:44:53 -04:00
Julian Oes 8e625285fc platforms: initialize strings
This might fix a warning about argv being a TAINTED_SCALAR further down.
2019-10-17 08:44:53 -04:00
Timothy Scott cf8f03f190 Changed listener to not busy-wait (#13157)
* Changed listener to not busy-wait
2019-10-17 11:29:36 +02:00
Nicolas de Palezieux 40bb209fd2 dshot telemetry: enable telemetry publishing for setups with only one ESC 2019-10-17 11:13:38 +02:00
Daniel Agar 6ccb4af8b0 CollisionPrevention: remove unnecessary double precision floating point math 2019-10-17 08:44:33 +02:00
Daniel Agar e942d3a3b2 FlightTasks: remove unnecessary double precision floating point math 2019-10-17 08:44:33 +02:00
Beat Küng 25aded36ec WorkQueue: avoid potential semaphore counter overflow
This could happen in the following cases:
- IRQ/publisher rate is faster than the processing rate, and therefore
  WorkQueue::Add is called at a higher rate
- a long-running or stuck task that blocks the work queue a long time

Both cases are not expected to happen under 'normal' circumstances (if the
system runs as expected).
2019-10-16 18:29:26 +02:00
Beat Küng 2296c9acfa uavcan_virtual_can_driver: fix invalid use of px4_sem_getvalue
sem_getvalue returns 0 on success, -1 on error, and never a value > 0.
2019-10-16 18:29:26 +02:00
Beat Küng 884621415d dataman: fix invalid use of px4_sem_timedwait
px4_sem_timedwait expects an absolute time (from CLOCK_REALTIME), but a
relative time was provided.

This is only relevant if FLASH_BASED_DATAMAN is set (only on Intel aero).
2019-10-16 18:29:26 +02:00
Daniel Agar bde36f0f4a ROMFS: rc.vtol_defaults limit inner loop rate (#13196)
- temporary remedy for https://github.com/PX4/Firmware/issues/13149
2019-10-16 12:27:06 -04:00
ThomasRigi 17c17f26a9 VTOL GPSF: fix fixed bank loiter (#12778)
* GPS Failsafe fix for VTOL
* navigator: use new uORB API for VTOL publication
2019-10-16 17:57:44 +02:00
TSC21 412c364e90 microRTPS bridge: templates: do not change naming of topics based on the fasrtpsgen version 2019-10-16 16:16:11 +01:00
Matthias Grob a053b7f69b vtol_att_control_main: only reset thrust when disarmed
to see flaps moving according to attitude control before arming
and not have tailsitter elevons move to follow north heading.
2019-10-16 16:30:38 +02:00
Julien Lecoeur 4cc7b1319f Fix param update in mc_att_control
ModuleParams::updateParams() was never called
2019-10-16 08:17:04 -04:00
Beat Küng 17551a99f8 io_timer: fix potential invalid memory access 2019-10-16 13:13:17 +02:00
Beat Küng 617f37afbf mixer_{multicopter,helicopter}: add buffer size check
Fixes a potential buffer overflow if an MC/helicopter mixer is used that
exceeds the number of physical pins.
This is not a useful/flyable configuration, but the system still should
not crash.
2019-10-16 13:13:17 +02:00
Beat Küng 173337e49c uORBManager: print errno for advertisement failures
Helps with debugging.
2019-10-16 13:13:17 +02:00
Matthias Grob 45a53726d6 LandDetector: switch to uORB::Publication 2019-10-16 00:47:01 -04:00
Matthias Grob 679e4fedf5 LandDetector: switch land flags to properies instead of one state 2019-10-16 00:47:01 -04:00
modaltb 1e1549a169 Add support for Bosch BMP388 barometer 2019-10-15 23:33:49 -04:00
Ilya Petrov c58cfce6be do not check VP fusion during GPS startup
This is solution for https://github.com/PX4/Firmware/issues/11864
2019-10-15 17:01:20 +01:00
kamilritz a4e035d338 Add param to choose vision observation noise source 2019-10-15 16:06:37 +01:00
RomanBapst 6bfb50df8a run arm authorization as last pre-arm check, as it used to be implemented
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-10-15 15:44:24 +01:00
Matthias Grob e843090383 Replace a lot of memset with {} initializers 2019-10-15 10:01:03 -04:00
Matthias Grob b8f70e865c voted_senors_update: remove memset 0 initializations because of zero initializer in header 2019-10-15 10:01:03 -04:00
Matthias Grob 185e2811dc gyro_calibration: use constexpr instead of const 2019-10-15 10:01:03 -04:00
Matthias Grob 09faa4647b ekf2_params: correct typo 2019-10-15 10:01:03 -04:00
TSC21 bfab544a64 Jenkins CI: reactivate Catkin build stage 2019-10-15 10:42:14 +01:00
bresch e09e3e17a1 control: rename _range_aid_enabled to _is_range_aid_suitable
rename rangeAidConditionsMet to checkRangeAidSuitability
2019-10-15 11:10:36 +02:00
bresch fac69d07a3 control: refactor rangeAidConditionsMet function 2019-10-15 11:10:36 +02:00
Mark Sauder 0cbb693a8d Add return INFINITY; to the LandDetector class _get_max_altitude() method declaration (#12343) 2019-10-15 08:19:53 +02:00
Matthias Grob 9f639d1f3b mc_att_control: move rate control to RateControl class
This makes the controller more modular, more readable and hence
better maintainable.
2019-10-15 07:46:47 +02:00
TSC21 97e1edc835 microRTPS: templates: fix support for ROS2 Dashing 2019-10-14 23:17:27 +01:00
TSC21 f91770f9cd generate_microRTPS_bridge: fix fastrtpsgen version check handler 2019-10-14 21:23:27 +01:00
Daniel Agar c51475640e mavlink: only send ATTITUDE/ATTITUDE_QUATERNION msgs on vehicle_attitude update
- fixes #13182
2019-10-14 15:47:22 -04:00
mcsauder fb12ddb69a Cherry pick the directory and voted_sensors_update.h from PR #9756.
Consolidate _update_params() methods for improved inheritance from the LandDetector base class.
Move common uORB::Subscriptions to the base class for inheritance.
Deprecate redundant override methods.
2019-10-14 21:25:57 +02:00
David Sidrane c44e4b9578 imu/mpu6000: support ICM20689 rev 4 ID 2019-10-14 15:17:43 -04:00
Silvan Fuhrer 51374aec7b px4_fmu-v5: add here2 mag to startup
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-10-14 15:16:33 -04:00
Nick b72d010c34 Update vehicle_local_position.ref_alt comment to reflect how ref_alt is being used in PX4 2019-10-14 12:33:25 -04:00
Matthias Grob bb91db2057 AttitudeControlTest: fix adaptAntipodal() function 2019-10-14 18:23:22 +02:00
Matthias Grob 83dfa227a7 AttitudeControlTest: include all corner case combinations
Which revealed antipodal quaternion corner cases when
the first element is zero.
2019-10-14 18:23:22 +02:00
Matthias Grob 511828bfd2 AttitudeControlTest: add first controller convergence test 2019-10-14 18:23:22 +02:00
TSC21 10e3bcd138 ulog stream msgs: rename 'sequence' fields as they are protected names in fastrtpsgen 2019-10-14 16:37:17 +01:00
TSC21 88a7e3df09 microRTPS bridge: fix templates for ROS2 usage 2019-10-14 16:37:17 +01:00
BazookaJoe1900 3007b0876c mavlink: add protection against setting wrong type of parameters 2019-10-14 11:18:08 -04:00
Travis Bottalico 5324c37d04 Add support for voxlpm (I2C power monitor) 2019-10-14 11:08:56 -04:00
Jin Chengde 13c3ae3b52 FW RWTO: add throttle_ramp_time parameter RWTO_RAMP_TIME
* add throttle_ramp_time parameter support fixed wing runway takeoff
2019-10-14 11:07:33 -04:00
Matthias Grob 7e2fb6b4da arch.sh: switch permissions of pip install (again)
after testing the right solution on a fresh installation
2019-10-14 10:54:09 -04:00
Martina Rivizzigno 123f769306 enable safe landing test 2019-10-14 10:53:13 -04:00
Martina Rivizzigno 7f4ddde378 enable avoidance test 2019-10-14 10:53:13 -04:00
Matthias Grob 001da78089 mc_pos_control: improve failsafe handling
See issue #12307

Since commander should still handle all failsafes we should only run
into this case as last resort to not crash.
If all failsafe actions are disabled but data is missing
e.g. RC loss action disabled but flying in manual and no RC
this can be tested.
2019-10-14 15:07:09 +02:00
Matthias Grob 068f56d66f FlightTasks: fix switchTask() comment typo 2019-10-14 15:07:09 +02:00
Daniel Agar 97efbde6f4 WIP: commander re-evaluate RC mode switch when local position becomes valid 2019-10-14 14:16:24 +02:00
Matthias Grob 093d3b76d9 PULL_REQUEST_TEMPLATE: change order of titles (#13174) 2019-10-14 13:11:44 +02:00
ToppingXu 35e0554ace navigator: fix save mission state. (#12468) 2019-10-14 11:58:42 +02:00
Daniel Agar 04ea84908e Update submodule mavlink v2.0 to latest Sun Oct 13 08:37:21 EDT 2019
- mavlink v2.0 in PX4/Firmware (c09ea2a9b0): https://github.com/mavlink/c_library_v2/commit/31cc5bb39e1cb69f5e608e8e2cac8a4d57332e1c
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c549ee329842e6182bc0dd72369a83fc0deb8f6e
    - Changes: https://github.com/mavlink/c_library_v2/compare/31cc5bb39e1cb69f5e608e8e2cac8a4d57332e1c...c549ee329842e6182bc0dd72369a83fc0deb8f6e
2019-10-13 13:47:06 -05:00
Matthias Grob c09ea2a9b0 arch.sh: don't execute pip as root
otherwise packages get installed in
/root/.local/lib/python3.7/site-packages
2019-10-12 08:38:39 +02:00
Matthias Grob 50c5150471 arch.sh: work around gazebo AUR build error and correct comments 2019-10-12 08:38:39 +02:00
Matthias Grob bba464d722 arch.sh: enable multicore gazebo compilation 2019-10-12 08:38:39 +02:00
Matthias Grob 7dd1be65ca arch.sh: add gazebo installation 2019-10-12 08:38:39 +02:00
Beat Küng 803a71928f fmu-v3: enable DShot
Disables RX DMA on TEL4 and IO debug serial port
2019-10-11 08:14:17 +02:00
Beat Küng 82106105b7 parameters: defer auto-saving to after disarming for flash-based params
This is especially important for DShot, that does not update when the CPU
stalls.
2019-10-11 08:14:17 +02:00
Beat Küng 67500123e3 fmu-v5: add dshot support
But only on the first 4 FMU outputs, as the next ones conflict with px4io
serial dma (UART8_RX)

RX DMA is disabled on the GPS port as well (conflicts with TIM1).
2019-10-11 08:14:17 +02:00
Beat Küng 8a9744d05a dshot: allow boards to enable dshot only on a subset of the timers 2019-10-11 08:14:17 +02:00
Beat Küng 93a12436a3 parameters: update perf counter for flash-based param_save_default() 2019-10-11 08:14:17 +02:00
Beat Küng a545f7ee16 mixer_module: extend printf status output 2019-10-11 08:14:17 +02:00
Beat Küng b080679146 kakutef7, kopis airframe: enable dshot & telemetry 2019-10-11 08:14:17 +02:00
Beat Küng d0a7490222 dshot: update timer generation before DMA request
This reloads the timer configuration before triggering DMA. Without that,
in rare cases, there were 17 bits sent instead of 16.
The 1. bit (1. pulse) was always wrong (too much), the rest of the bits
were the correct DShot packet that was meant to be sent.
2019-10-11 08:14:17 +02:00
Beat Küng 7445c25fcc dshot: check if DMA still in progress
No other functional change, just restructuring.
2019-10-11 08:14:17 +02:00
Beat Küng 182efaa757 dshot: reduce static buffer size
And handle failures of up_dshot_init().

On Omnibus: reduces memory usage if dshot is enabled by ~1.0KB.
The buffer is roughly 1KB in size.
2019-10-11 08:14:17 +02:00
Beat Küng e78250ab8d dshot telemetry: retrieve & print ESC info with 'dshot esc_info' CLI command 2019-10-11 08:14:17 +02:00
Beat Küng 26648ad0b9 dshot: add support to send commands via CLI
This enables the possibility to permanently reverse motor directions :)
2019-10-11 08:14:17 +02:00
Beat Küng 65f3c7f93d dshot: add telemetry and publish esc_status message 2019-10-11 08:14:17 +02:00
Beat Küng d44302c03b module_schema.yaml: add 'decimal' and 'increment' for floats 2019-10-11 08:14:17 +02:00
Beat Küng 4c4ce09005 esc_status: trim the message and remove unused fields 2019-10-11 08:14:17 +02:00
Beat Küng 69c10dcaac dshot: move implementation to a separate directory & library
So that the static memory overhead is not added to targets w/o dshot
2019-10-11 08:14:17 +02:00
Beat Küng 775916ef11 kakutef7: enable dshot 2019-10-11 08:14:17 +02:00
Beat Küng 23dbd9426a dshot: handle dcache, flush cache before DMA transfer 2019-10-11 08:14:17 +02:00
Beat Küng 3234aca53b px4_micro_hal: add PX4_ARCH_DCACHE_LINESIZE definition 2019-10-11 08:14:17 +02:00
Beat Küng 132dcdaf25 beta75x airframe: enable DShot600 2019-10-11 08:14:17 +02:00
Igor Mišić 543a057f80 fmu-v4: add dshot timer config 2019-10-11 08:14:17 +02:00
Beat Küng ac82c5114b omnibusf4sd: add dshot timer config 2019-10-11 08:14:17 +02:00
Beat Küng d8ef1b59b9 ROMFS: add dshot startup support 2019-10-11 08:14:17 +02:00
Beat Küng a161be6ec8 dshot: add dshot driver
Supports all DShot modes, but no telemetry yet.
It includes the modes and capture configuration from FMU so that it serves
as drop-in replacement.
2019-10-11 08:14:17 +02:00
Beat Küng f3eea85bef MOT_ORDERING, MC_AIRMODE: move param def to mixer_module and 'Mixer Output' group 2019-10-11 08:14:17 +02:00
Beat Küng 2a492a8e47 fmu: remove unused include and variable 2019-10-11 08:14:17 +02:00
Igor Mišić 5bd9659301 stm32 timers: add dshot implementation 2019-10-11 08:14:17 +02:00
TSC21 061ee15139 update sitl_gazebo submodule (10/10/2019) 2019-10-10 15:51:09 +02:00
Dusan Zivkovic ab2e235333 Commander: bugfix: get all available messages on the subsystem_info topic 2019-10-10 13:12:31 +02:00
Dusan Zivkovic b6f21fa76e voted_sensors_update: fix style 2019-10-10 10:31:56 +02:00
Dusan Zivkovic 316a188e8e voted_sensors_update: parameter CAL_*_EN enables sensor with id CAL_*_ID 2019-10-10 10:31:56 +02:00
Dusan Zivkovic d3e79c4726 voted_sensors_update: set priority properly in case of late mag subscriptions or sensors enabled param changes 2019-10-10 10:31:56 +02:00
Matthias Grob 7f63ed8202 Arch setup script (#13111)
* ubuntu.sh: fix space and capitalization

* Add setup script for Arch Linux

* arch.sh: remove numerous confirmations, added some base packages

* setup scripts: adjust messages according to review
2019-10-10 08:59:11 +02:00
Julian Oes 307dc3e32d mavlink: fix boot complete without lockstep
Without lockstep the actual monotonic clock of the host computer is
used. Therefore, this time is likely much more than 20 seconds and the
check if the boot complete happened in time will fail immediately.

Therefore, it probably makes more sense to count the time from the first
mavlink creation.
2019-10-10 08:58:34 +02:00
Julian Oes ea35923d3a navigator: bugfix to prevent NaN setpoints
The asinf function is NaN outside of -1 to 1. Therefore, it probably
makes sense to constrain the input to prevent NaN setpoints further down
the line.
2019-10-09 08:36:34 -06:00
Matthias Grob ca711fecc7 Commander: improve message for RC override event 2019-10-09 15:34:46 +02:00
mcsauder f9a5c91f8c Deprecate vehicle_attitude_sub from MulticopterLandDetector as it is no longer utilized. 2019-10-09 09:48:17 +02:00
Lasse 5ac0a3043b Clarify Documentation of THR_MDL_FAC
The documentation of the thrust model parameter `THR_MDL_FAC` did not
mention both thrust and "PWM" being relative values. Also the use of the
term PWM could be misleading, since the model is applicable to CAN ESCs
as well.

This commit rephrases the user documentation string and a few source
code comments, but no logic changes are made.

Closes PX4/Firmware#13105
2019-10-09 08:06:51 +02:00
Matthias Grob c1faea8d32 Commander: add const qualifiers for clarity 2019-10-09 08:03:07 +02:00
Matthias Grob 63f2c009c7 PreflightCheck: refactor failureDetectorCheck return value 2019-10-09 08:03:07 +02:00
Matthias Grob 8e0ee88e0a PreflightCheck: add const qualifiers to parameters
to help readability
2019-10-09 08:03:07 +02:00
Matthias Grob c570dc9315 PreflightCheck: remove goto from imu consistency check 2019-10-09 08:03:07 +02:00
mcsauder 6066300757 Set a default signal_quality value in the MavlinkReciever::handle_message_distance_sensor() method. 2019-10-08 21:19:47 +01:00
mcsauder 5ccba5541d Added missing fields and a TODO with commented field to the MavlinkReciever::handle_message_distance_sensor(). 2019-10-08 21:19:47 +01:00
Paul Riseborough eae6e8f19c EKF: Fix on ground yaw drift when using EKF2_MAG_TYPE = 4 2019-10-08 20:08:42 +11:00
RomanBapst 4e946d5bcb implemented synthesized magnetometer Z measurement
- calculate a theoretical value based on the knowledge of the direction
and strength of the magnetic field vector and X/Y sensor measurements
- needs knowledge about location on earth to work
2019-10-08 20:02:16 +11:00
dusan19 8c4d32ff4b navigator: when setting pos_sp_triplet yaw, also set the yaw valid flag to true 2019-10-07 20:53:40 -04:00
Julian Oes 741f6787a7 mavlink: disable sending RC override
This was added to enable a Pixhawk to be used as an RC input for e.g.
SITL. As far as we're aware of that's not really used. However, sending
this can cause issues if multiple Pixhawks are in the same network.
Also, is uses up some of the MAVLink bandwidth.

Therefore, it's probably best to remove that feature for now.
2019-10-07 09:59:17 -04:00
TSC21 9a4a02a255 uorb_rtps_message_ids.yaml: fix typo 2019-10-07 12:58:15 +01:00
Julian Oes 5e663b9321 Remove eigen leftovers
It looks like we're not using Eigen for a while now.
2019-10-07 12:04:50 +02:00
BazookaJoe1900 02e861b16e enable silent compare of parameter (#12850)
Remove false errors after comparing parameters that doesn't exists.
as described in #12832
2019-10-07 09:50:11 +02:00
Matthias Grob 05446c0875 ubuntu.sh: correct output during ccache installation (#13106) 2019-10-07 09:14:00 +02:00
Daniel Agar 941a3258b6 Update submodule mavlink v2.0 to latest Sun Oct 6 12:38:38 UTC 2019 (#13100)
- mavlink v2.0 in PX4/Firmware (91badceb27): https://github.com/mavlink/c_library_v2/commit/d4a4a4314b8912015e999e17a3f66afee434a9cd
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/31cc5bb39e1cb69f5e608e8e2cac8a4d57332e1c
    - Changes: https://github.com/mavlink/c_library_v2/compare/d4a4a4314b8912015e999e17a3f66afee434a9cd...31cc5bb39e1cb69f5e608e8e2cac8a4d57332e1c
2019-10-06 10:41:21 -04:00
TSC21 91badceb27 Update submodule sitl_gazebo to latest Sun Oct 06 11:02:54 GMT 2019 2019-10-06 11:40:02 +01:00
Nuno Marques 5a8aa04970 CI: bump container tags to 2019-10-04 (#13095)
* bump container tags to 2019-10-04

* docker_run: update container name and tag

* generate_microRTPS_bridge.py: force FastRTPSGen to version 1.0 if the result of 'fastrtpsgen -version' command is not a number

* CI: temporarly disable avoidance and safe landing tests

* CI: try to revive tiltrotor test
2019-10-06 01:21:04 -04:00
Matthias Grob c8f3f07ff7 matrix: pull explicit constructors 2019-10-05 11:46:07 -04:00
TSC21 474c406147 CI: microRTPS: deploy templates to px4_ros_com 2019-10-04 16:56:03 +01:00
TSC21 e7b0384f05 fix FastRTPSGen version verification 2019-10-04 16:56:03 +01:00
TSC21 9c00f3de02 microRTPS bridge: CMake: add verbosity regarding the FastRTPSGen version 2019-10-04 16:56:03 +01:00
TSC21 5c0f01a8b8 microRTPS bridge: try/catch FastRTPSGen errors 2019-10-04 16:56:03 +01:00
TSC21 2677e12024 microRTPS bridge: templates: Publisher.cpp.em: close 'if' statement 2019-10-04 16:56:03 +01:00
TSC21 8846092c59 readd console output removal 2019-10-04 16:56:03 +01:00
TSC21 1970ef875f micrortps bridge: clean templates; add backwards compatibility; add ROS2 compatibility 2019-10-04 16:56:03 +01:00
TSC21 278d2fd21f first push on supporting ROS2 Dashing and IDL 4.2 2019-10-04 16:56:03 +01:00
Daniel Agar f885d2274a Revert "vtol_att_control: update parameter strings to class enum"
This reverts commit 5351f886ec.
2019-10-03 11:28:51 -04:00
Daniel Agar a5895e5a99 Revert "commander: update parameter strings to class enum"
This reverts commit c322f1d156.
2019-10-03 11:28:44 -04:00
Julian Kent 92d1c8761e More features: longerThan, norm, copyTo and slice on a Slice (#97)
* Allow slices of slices, add longerThan to Vector/Slice
2019-10-03 13:47:36 +02:00
Matthias Grob 740324cf1e Make all array constructors explicit (#99)
* Make all array constructors explicit

to avoid accidental implicit casts like e.g.
Vector3f v = 0;
assigning nullpointer content.
2019-10-03 13:38:51 +02:00
Julian Kent 7b34c1c51d Enable branch coverage 2019-10-03 08:32:05 +02:00
PX4 Build Bot 5f040fe24c Update submodule ecl to latest Wed Oct 2 20:37:33 EDT 2019
- ecl in PX4/Firmware (4d0ac1a400cc007af392c99bbfa809d59d3e7ecd): https://github.com/PX4/ecl/commit/b78429aa60257157c53a8a43c1c29646560de124
    - ecl current upstream: https://github.com/PX4/ecl/commit/f005e0ea8f33d10dd014a0700e712426540bb58a
    - Changes: https://github.com/PX4/ecl/compare/b78429aa60257157c53a8a43c1c29646560de124...f005e0ea8f33d10dd014a0700e712426540bb58a

    f005e0e 2019-09-27 kamilritz - Remove deprecated ev_innov_gate param
2019-10-03 00:26:16 -04:00
PX4 Build Bot cee8c31649 Update submodule matrix to latest Wed Oct 2 20:37:38 EDT 2019
- matrix in PX4/Firmware (cb369cb6a75cae71035d72a3bacecce3e109f971): https://github.com/PX4/Matrix/commit/c34e8dc98fd05ea55dcd4c9fc551b11a3d23a601
    - matrix current upstream: https://github.com/PX4/Matrix/commit/973999a4d3c6d4d85bf0153230974fd9571f7846
    - Changes: https://github.com/PX4/Matrix/compare/c34e8dc98fd05ea55dcd4c9fc551b11a3d23a601...973999a4d3c6d4d85bf0153230974fd9571f7846

    973999a 2019-09-23 Matthias Grob - Fix some template type conversions and style
2019-10-03 00:25:18 -04:00
Mark Sauder 3ce58f7102 sensors: organize vars in voted_sensors_update.h 2019-10-02 19:54:38 -04:00
Daniel Agar e3bbac0447 land_detector: move to same WQ as estimator
- the primary data sources of the land detector run from the same WQ so
don't lose anything by serializing these modules
2019-10-02 19:44:46 -04:00
Daniel Agar c639444ef9 intel aerofc-v1 disable sih module to save flash 2019-10-02 19:44:46 -04:00
Daniel Agar 315141873e NuttX boards reduce CONFIG_MAX_TASKS 64 -> 32 (default) 2019-10-02 19:44:46 -04:00
Daniel Agar 7baf474940 mc_pos_control: move to WQ 2019-10-02 19:44:46 -04:00
Daniel Agar 3c623af903 ekf2: move to WQ with uORB callback scheduling 2019-10-02 19:44:46 -04:00
Daniel Agar 5351f886ec vtol_att_control: update parameter strings to class enum 2019-10-02 19:43:32 -04:00
Daniel Agar c322f1d156 commander: update parameter strings to class enum 2019-10-02 19:43:32 -04:00
Mark Sauder 508ffa1b39 land_detector: Remove recently added vehicle_attitude.timestamp check from MulticopterLandDetector::_get_maybe_landed_state(). (#13072)
PR #12681 added a check to the MulticopterLandDetector::_get_maybe_landed_state() method for a valid vehicle_attitude.timstamp value to finish work in PR #9756. It was discovered that the addition of that check leaves it possible to fly in acro mode without a valid attitude and auto-disarm can engage, allowing the multicopter to fall out of the sky.
2019-10-02 16:31:06 -04:00
Daniel Agar d537f3ec6b vscode: restore editor.smoothScrolling to default 2019-10-02 16:24:53 -04:00
mcsauder 2644742b37 Deprecate RoverLandDetector virtual methods that are redundant. 2019-10-02 16:02:30 -04:00
Jacob Dahl 5842c0c2fb UAVCAN: add battery support (uavcan::equipment::power::BatteryInfo) 2019-10-02 13:08:43 -04:00
Daniel Agar 26364d44c9 px4_work_queue: command line status output and shutdown empty queues
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
 * WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
2019-10-02 12:23:17 -04:00
garfieldG cc1d86bc0b @value will be printed with Whitespace in start of line for serial_config parameters 2019-10-02 10:34:10 +02:00
Daniel Agar 0fe271b7f5 CollisionPrevention add more distance_sensor orientations 2019-10-01 21:05:37 -04:00
Daniel Agar 5126e6ea61 cmake: use gold linker if available 2019-10-01 20:44:07 -04:00
Daniel Agar 3687677095 cmake: show sitl_gazebo build output and improve rebuild 2019-10-01 14:22:30 -04:00
Daniel Agar 27f459c14e px4io: move to uORB::Publication<> 2019-10-01 12:24:27 -04:00
Julian Oes fa9ac6ecf6 github: tone stalebot down
My suggestion is to re-configure stale bot so it just adds the label
stale but does not close the issue/PR.

This enables us to look for outdated issues using the stale label and
close them.

This brings these advantages:
- No more endless re-opening of PRs and issues which is not fun (and I
  will eventually give up on).
- Less stalebot comment noise. (Because it is handy to look for all
  issues/PRs without any comments to see what is unanswered).
- I'm not listed as "participating" in all the issues/PRs just because
  I was just fighting the stalebot.
- Less notifications meaning we can see anything in the noise.
2019-10-01 10:35:28 -04:00
Daniel Agar 2989ce981c rc_input: move to uORB::PublicationMulti<> 2019-09-30 18:41:23 -04:00
Daniel Agar 6941077218 FlightTasks: orbit and obstacle test use new uORB::Publication<> 2019-09-30 18:26:01 -04:00
Daniel Agar 045f6233d4 FlightTasks: switch to uORB::Subscription
- delete SubscriptionArray
 - all FlightTasks are now responsible for updating their own subscriptions (typically in updateInitialize()).
2019-09-30 18:16:36 -04:00
dvornikov-aa ad728cc0c7 sf1xx: Fix max distance for SF/LW20/b 2019-09-30 20:10:57 +01:00
Daniel Agar a557f3ffe4 bitcraze crazyflie add dmesg and console buffer 2019-09-30 14:29:54 -04:00
Daniel Agar 62bc0ab8ad CollisionPrevention: limit collision warning to every 3 seconds and minor cleanup
- whitespace and formatting fixes
 - mark locals const for readability
2019-09-30 10:48:12 -04:00
Daniel Agar 34b03d5659 frsky_telemetry: move to uORB::Subscription 2019-09-30 10:28:03 +02:00
Daniel Agar 0af942ce12 Jenkins hardware skip sd_bench on px4_fmu-v5_stackcheck 2019-09-29 20:29:34 -04:00
Daniel Agar 030e22c724 adc test shorten 2019-09-29 20:29:34 -04:00
Daniel Agar c8e59c4e39 parameter_update use uORB::Subscription consistently 2019-09-29 10:49:03 -04:00
garfieldG bbb96cbd0c Mavlink startup script per board
-moved rc.mavlink to the boards optional rc additions (now it's called rc.board_mavlink) to handle board specific mavlink needs (mavlink over usb, ethernet, additional streams, etc.)
-mavlink module will be responsible to usb defaults, therefore less args are needed to be passed to mavlink module if one wants to use mavlink over usb.
-the way to check if connection is usb is by it's designated variable and not by config mode.
2019-09-29 10:46:08 -04:00
Daniel Agar fdefaf1ad3 lights/blinkm: move to uORB::Subscription 2019-09-28 18:34:20 -04:00
Daniel Agar ec061a7cfd telemetry/bst: move to uORB::Subscription 2019-09-28 18:19:38 -04:00
Daniel Agar 105bbef3bf commander: rc_calibration move to uORB::Subscription 2019-09-28 16:43:53 -04:00
Julian Oes ce4290c8d4 mavlink: typo fix att -> act 2019-09-28 16:40:13 -04:00
Julian Oes b0035e5704 mavlink: prevent race if shut down immediately
If we do mavlink stop-all right after mavlink start, we do a perf_free
before actually having stopped the threads accessing the perf counters.
2019-09-28 16:40:13 -04:00
Daniel Agar 0486d69240 delete obsolete segway example 2019-09-28 15:05:50 -04:00
Daniel Agar fd67bd0680 uORB: SubscriptionCallback cleanup naming 2019-09-28 13:43:56 -04:00
Kjkinney 3f9b3fb4da px4_log: publish all PX4_INFO messages as well (#12954) 2019-09-27 14:04:30 -04:00
Daniel Agar 637d52c74f frsky_telemetry: increase stack by 60 bytes 2019-09-27 11:37:29 -04:00
kamilritz f005e0ea8f Remove deprecated ev_innov_gate param 2019-09-27 10:00:45 -04:00
mcsauder 4f71c4e123 Change #defines to static constexpr types in LidateLite.h, updated the docs link in ll40ls.cpp, and shortened comments to allow uniform indentation in LidarLiteI2C.h. 2019-09-27 07:55:53 +01:00
mcsauder 9023030931 LidarLite driver minor comment updates/formatting and change instances of OK to PX4_OK. 2019-09-27 07:55:53 +01:00
mcsauder 7b16c3482d Refactor the ll40ls namespace driver methods to more closely match the cm8jl65, mappydot, leddar_one, and other distance sensor driver implementations. 2019-09-27 07:55:53 +01:00
kamilritz 8ce4a15778 Update frame in mavlink receiver odometry to newest mavlink 2019-09-26 14:48:20 -04:00
kamilritz 9c46a89f64 Update EKF_AID_MASK 2019-09-26 14:48:20 -04:00
Silvan Fuhrer bfbc9dda91 VTOL: fix front transition rate publication (enable FW attitude controller to run instantly when transition is started). For that the vehicle_status_poll is moved before vehicle_control_module_poll in FW att C
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-26 11:39:55 -04:00
kritz 190c817a9e ekf2: update to latest ecl version [continued] (#13023)
* ekf2: update to latest ecl version

Includes compatibility changes for renamed variables.

* ekf2: Add write of odometry velocity data

Co-Authored-By: kritz <kritz@ethz.ch>

* ekf2: Modify parameters to enable control of vision velocity fusion

* ekf2: Update to latest ecl with timestamp messages
2019-09-26 10:21:53 +02:00
Daniel Agar dedd257433 CollisionPrevention: fix integer rounding (#13028) 2019-09-26 09:45:55 +02:00
Daniel Agar 3031f94ded mavlink: optimize normal mode for typical GCS usage over serial radio 2019-09-25 14:08:04 -04:00
Daniel Agar 2366abefd8 nxp/fmuk66-v3: readd uavcan
* this was accidentally dropped earlier this year
2019-09-25 13:42:59 -04:00
Daniel Agar 88fb6f7b8e cm8jl65: move to PX4Rangefinder and cleanup
* cm8jl65 split out header and main
* cm8jl65: move to PX4Rangefinder
* PX4Rangefinder: move signal_quality handling to PX4Rangefinder
2019-09-25 12:52:45 -04:00
Daniel Agar a217e15c5f Jenkins temporarily disable Catkin build 2019-09-25 10:45:12 -04:00
Mark Sauder db8e203a7a Update the Integrator class local variable dt from double to float and utilize the hrt_abstime typedef. (#12935) 2019-09-25 14:41:54 +02:00
Julian Oes 0b368d043f mavlink: always check stream subscriptions (#13018)
This fixes the regression where we saw this in SITL:
ERROR [mavlink] system boot did not complete in 20 seconds

The reason was that the stream subscription requests were not checked
because the while loop was not running yet because mavlink was not
booted completely.
By moving the stream subscription requests into a function we can run
them even if we don't run the rest of the loop.
2019-09-25 14:37:08 +02:00
kritz b78429aa60 Fix print statements cast error on posix firmware builds (#647) 2019-09-25 14:34:43 +02:00
kritz 4a38f5a2f6 Add timestamp to ECL print statements, (#644)
which is helpful for EKF replay debugging.
2019-09-25 11:24:42 +02:00
Daniel Agar b6db872303 listener fix incorrect "never published" cases (#13006)
- fixes #12955
2019-09-25 10:46:13 +02:00
Matthias Grob bc8781d130 Appveyor: update to Windows Toolchain v0.6 (#13016) 2019-09-25 10:43:04 +02:00
Mark Sauder 4a6742c3e6 Deprecate the non-functioning HC_SR04 driver. (#13021) 2019-09-25 10:34:50 +02:00
Julian Kent 07d656e971 Guidance feature for Collision Prevention (#13017)
* add guidance

* remove COL_PREV_ANG and replace with COL_PREV_CNG

* safe max ranges per bin

* increase default value for colprev delay to account for tracking delay

* update parameter description

* fix and extend testing

* add handling for overlapping sensor data

* fix decision process for overlapping sensors
2019-09-24 17:00:04 +02:00
bresch 6139812293 FailureDetector - use standard topic subscription for attitude topic and
pass vehicle_status from commander instead of subscribing to it.
2019-09-24 14:17:58 +02:00
bresch 000c1e364c FailureDetector - Ignore attitude check for MC in acro and rattude, and FW in manual, acro and rattitude modes 2019-09-24 14:17:58 +02:00
kamilritz 35c50f693f Add missing id for vehicle_visual_odometry_aligned for rtps 2019-09-24 10:49:33 +01:00
Matthias Grob 6a5ca6e336 FlightTask: use inline assignment initializer for reset_counters struct 2019-09-24 10:34:08 +02:00
bresch 679b1659eb AutoLineSmoothVel - Reorganize functions declarations to match cpp file 2019-09-24 10:34:08 +02:00
bresch c811cf4784 FlightTask - Move ekf reset counter monitoring logic in the base FlihtTask
Each child FlightTask can simply implement what it wants to do in case
of an EKF reset event by overriding one of the _ekfResetHandler functions
2019-09-24 10:34:08 +02:00
kritz bb88d4ce5e Undo wrong comment change 2019-09-24 08:50:29 +10:00
Kamil Ritz 562731936a Update quaternion direction in documentation pdf 2019-09-24 08:50:29 +10:00
kamilritz 8c061fb6a4 Fixing wrong label of quaternion direction 2019-09-24 08:50:29 +10:00
Jannik Beyerstedt fe3fec413c fix #595 and add new all-in-one conversion script (PX4 only) 2019-09-24 08:20:16 +10:00
kamilritz 83eb326076 Missing posNED 2019-09-24 07:48:46 +10:00
kamilritz fd6b364c11 posNED to pos and velNED to vel and add ev vel covariances to reset 2019-09-24 07:48:46 +10:00
kamilritz 4f6ca3a74c Replace rest of spaces with tabs 2019-09-24 07:48:46 +10:00
kamilritz cea053820d Remove spaces with tabs 2019-09-24 07:48:46 +10:00
kamilritz 1e57c4bbec Fix white space 2019-09-24 07:48:46 +10:00
kamilritz 10cbd79db7 Rotate external vision info in reset function if necessary 2019-09-24 07:48:46 +10:00
kamilritz 4511b9ff5e Add missing checks for flags.ev_vel 2019-09-24 07:48:46 +10:00
kamilritz e7d927c899 Stop using bad GPS when we have vision velocity 2019-09-24 07:48:46 +10:00
kamilritz bd8f05567a set vel_pos_test_ratio to zero if no fusion happens 2019-09-24 07:48:46 +10:00
kamilritz 4b30de587f Make vel_pos innov gate variable name clearer 2019-09-24 07:48:46 +10:00
kamilritz 4237d7ccd7 Improve external vision position fusion 2019-09-24 07:48:46 +10:00
kamilritz 3e8139ff9f Enable vision velocity fusion 2019-09-24 07:48:46 +10:00
kamilritz 149233a9ab Add velocity observations to external vision interface 2019-09-24 07:48:46 +10:00
kritz 7427768e70 ECL reference frame alignment fix (#12771)
* Fix EKF frame alignemen in ECL

* Remove empty lines

* Add initalization for ev_odom

* Only use yaw covariance for angErr

* Improve frame naming in comments

* Use copyTo

* Add aligned as suffix

* Add missing vehicle_visual_odometry_aligned
2019-09-23 14:24:52 -04:00
Matthias Grob 412b44ff6e Commander: allow RC to override during RTL 2019-09-23 12:42:33 +02:00
Matthias Grob 4f44fde080 Commander: remove not disarming by RC message
Refactoring the condition to be more clear.
2019-09-23 12:42:33 +02:00
Matthias Grob 973999a4d3 Fix some template type conversions and style 2019-09-23 10:59:12 +02:00
Christian Clauss 41516fbd55 Old style exceptions are Python 3 syntax errors 2019-09-22 17:47:37 -04:00
Daniel Agar bc35251799 Update submodule mavlink v2.0 to latest Sun Sep 22 08:37:26 EDT 2019
- mavlink v2.0 in PX4/Firmware (09bd7bbcab7ba508043018eefbe020ff74d79c66): https://github.com/mavlink/c_library_v2/commit/be2f1fbe0a8235ff4632e7df1d54c89a3c8615bd
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/d4a4a4314b8912015e999e17a3f66afee434a9cd
    - Changes: https://github.com/mavlink/c_library_v2/compare/be2f1fbe0a8235ff4632e7df1d54c89a3c8615bd...d4a4a4314b8912015e999e17a3f66afee434a9cd
2019-09-22 14:23:56 -04:00
bazooka joe fb3a91cc4f added circuit_breaker_enabled_by_val()
added and using circuit_breaker_enabled_by_val() where possible instead of circuit_breaker_enabled() which search for cbrk parameters by name, which is extensive process.
2019-09-22 13:55:40 -04:00
cclauss c18104d48b Use print() function in both Python 2 and Python 3
Legacy __print__ statements are syntax errors in Python 3 but __print()__ function works as expected in both Python 2 and Python 3.
2019-09-22 13:54:24 -04:00
mcsauder cdbe4a3ee8 Refactor the terraranger driver. 2019-09-22 12:23:25 -04:00
PX4 Build Bot c67a7536d4 Update submodule matrix to latest Sun Sep 22 08:37:30 EDT 2019
- matrix in PX4/Firmware (8b1f9546aabfe6ab2a0431f1d5af6dcc976d4f59): https://github.com/PX4/Matrix/commit/60c9c99dcc44ea12bed0c3f9b95d01e2aa6d7d9e
    - matrix current upstream: https://github.com/PX4/Matrix/commit/c34e8dc98fd05ea55dcd4c9fc551b11a3d23a601
    - Changes: https://github.com/PX4/Matrix/compare/60c9c99dcc44ea12bed0c3f9b95d01e2aa6d7d9e...c34e8dc98fd05ea55dcd4c9fc551b11a3d23a601

    c34e8dc 2019-09-17 Matthias Grob - helper: consider matrices with the same NANs and INFINITYs equal
bbaa938 2019-09-17 Matthias Grob - helper: consider NAN equal to NAN such that vectors can be compared exactly
33a6291 2019-09-17 Matthias Grob - Matrix: add proper print function testing
b0b7d72 2019-09-17 Matthias Grob - Multiplication test: fix division resulting in NAN
3747232 2019-09-17 Matthias Grob - LeastSquaresSolver: Fix nasty GCC compile optimization error
5844b0e 2019-09-16 Matthias Grob - Implement one float equality check and use it everywhere
1e80807 2019-09-16 Matthias Grob - test: Add uncovered equality checks with NAN and INFINITE
a374f37 2019-09-16 Matthias Grob - Include helper_functions like all other library components
2019-09-22 11:34:53 -04:00
Daniel Agar fe4f6c186e Mavlink: ifdef networking code 2019-09-21 13:46:01 -04:00
Daniel Agar 86dc4c5a00 cmake generate vscode launch.json 2019-09-21 13:06:49 -04:00
PX4 Build Bot 42ca17ce77 Update submodule v2.0 to latest Thu Sep 19 20:38:28 EDT 2019
- v2.0 in PX4/Firmware (103595e866882191593136495a52825c455d2026): https://github.com/mavlink/c_library_v2/commit/ac40c0329e88b70ae5db4c1467ed5853d305af54
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/be2f1fbe0a8235ff4632e7df1d54c89a3c8615bd
    - Changes: https://github.com/mavlink/c_library_v2/compare/ac40c0329e88b70ae5db4c1467ed5853d305af54...be2f1fbe0a8235ff4632e7df1d54c89a3c8615bd

    be2f1fb 2019-09-17 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b21a2652249a27a151b38cd3da5c4ac9d51fcb69
d465e22 2019-09-17 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/af677f748aa2c3268f71db6f3a1c867530b51894
5631a1e 2019-09-16 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2876e4c06e707519a8770b661abaac008feef703
05a4389 2019-09-16 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/77a18b1cb7d4667b669e0429d86082ed38b79886
2019-09-20 11:41:27 +02:00
bresch 6f3868b5ba ManualVelocitySmoothing - Fix unlock initialization 2019-09-19 17:31:49 +02:00
bresch 0153e1b126 Matrix - Explicitly cast array[3] to Vector3f
Use .xy() for Vector2 -> Vector3 assignment
2019-09-19 17:31:49 +02:00
bresch f405bf506b AltitudeSmoothVel - Use ManualVelocitySmoothingZ class instead of re-implementing the logic 2019-09-19 17:31:49 +02:00
bresch ce96d98621 ManualVelocitySmoothing - Cosmetic changes (renaming, indentation,..)
Set the classes as final and set destructor to non-virtual
2019-09-19 17:31:49 +02:00
bresch 7cdb2364e9 ManualVelocitySmoothingXY - Add simple unit test 2019-09-19 17:31:49 +02:00
bresch f5d7eb4d87 Refactor FlightTaskManualPositionSmoothVel 2019-09-19 17:31:49 +02:00
bresch 080eedfd02 ManualPositionSmoothVel - Split large function into smaller ones, split XY and Z axes
Next step is to move as much as possible to a library in order to
reuse the Z axis in the Altitude FlightTask
2019-09-19 17:31:49 +02:00
Dennis Mannhart 453b6a39e4 TrajMath: move from FlightTasks/Utility into mathlib library because the function is also used by other libraries 2019-09-19 14:09:44 +02:00
Dennis Mannhart e6b7062442 TrajMath: replace type placeholder with floats 2019-09-19 14:09:44 +02:00
bresch e9ab6a75ba MC rate control - Scale the integrator with K during the integration
part to avoid having to scale its saturation separately. This is
required to avoid premature saturation of the integrator when using
the K term.
Also remove double saturation of the integrator
2019-09-19 14:05:28 +02:00
bresch 67e528ec0c Takeoff - allow publishing NAN longitude and latitude
A NAN is interpreted in the FlightTaskAuto as a non-valid global coordinate and sets a local position.
If a zero is sent instead, the global coordinate is recognized as valid and will be executed.
This is a problem when the global position is gained for the first time after takeoff and that a valid global reference did not exist before
2019-09-19 14:03:58 +02:00
Nico van Duijn 549a962553 EKF2: move handling of invalid range into ECL (#12988)
* ekf2: Move handling of invalid range finder data inside ecl library

The ecl library EKF is able to use vehicle motion and in-air status to better determine when the default on-ground range finder reading can be used.
The description for the EKF2_MIN_RNG parameter has been updated to make its use clearer.
2019-09-19 11:29:34 +02:00
Matthias Grob fa13f63db6 ekf2: temporarily hardcode new quality information to unkown
until priseborough's and nicovanduijn's pr #12950
2019-09-18 22:01:36 -04:00
Matthias Grob c8d0eba1d2 Update ecl and matrix to safe matrix access 2019-09-18 22:01:36 -04:00
Matthias Grob 1ecbf8efd2 test_matrix: remove duplicate namespace accesses 2019-09-18 22:01:36 -04:00
Julian Kent 2d4ecab3b0 Remove unsafe access to .data() and _data in Matrix 2019-09-18 22:01:36 -04:00
Daniel Agar 78bf12f0db px4_tasks: reduce POSITION_CONTROL priority
* this is to prevent the loss of any sensor data or estimator time slip in the event of a position controller or flight task overrun
2019-09-18 09:55:06 -04:00
Daniel Agar 494f35d5f4 Mavlink: wait for boot complete before sending or receiving anything 2019-09-18 09:07:55 -04:00
Matthias Grob c34e8dc98f helper: consider matrices with the same NANs and INFINITYs equal
to simplify bulk checks when these values are expected
2019-09-18 09:59:50 +02:00
Matthias Grob bbaa93880b helper: consider NAN equal to NAN such that vectors can be compared exactly 2019-09-18 09:59:50 +02:00
Matthias Grob 33a629105c Matrix: add proper print function testing
Before the print function was just implicitly called somewhere
and that's why we had 100% line coverage. With this we have actual
testing of the functions.
2019-09-18 09:59:50 +02:00
Matthias Grob b0b7d7229a Multiplication test: fix division resulting in NAN 2019-09-18 09:59:50 +02:00
Matthias Grob 3747232724 LeastSquaresSolver: Fix nasty GCC compile optimization error
The original implementation with no wrapping on size_t is more readable
but the compiler errors with:
internal compiler error: in trunc_int_for_mode, at explow.c:55
I read up and it's apparently a loop optimization problem.
Inspired by https://stackoverflow.com/a/27224697/6326048
I used a far less readable implementation that works fine and
wrote a comment to explain it.
2019-09-18 09:59:50 +02:00
Matthias Grob 5844b0e46e Implement one float equality check and use it everywhere 2019-09-18 09:59:50 +02:00
Matthias Grob 1e80807e8e test: Add uncovered equality checks with NAN and INFINITE 2019-09-18 09:59:50 +02:00
Matthias Grob a374f37a54 Include helper_functions like all other library components 2019-09-18 09:59:50 +02:00
Matthias Grob 62a1e07512 ecl_EKF: Do not include SquareMatrix from Matrix library
because the template of upper_right_triangle() contains /2 and
swig fails to create a wrapper for that (suddenly)
2019-09-18 08:42:58 +02:00
Daniel Agar eddee193d1 update matrix git tag to latest 2019-09-18 08:42:58 +02:00
Julian Kent 4c4c1f2984 Use copyTo for writing to memory blocks 2019-09-18 08:42:58 +02:00
Julian Kent 8cc8db211c Fix copy_quaternion reference in code generation 2019-09-18 08:42:58 +02:00
Julian Kent 8d60f8ba8f Remove direct unsafe access to matrix internal data 2019-09-18 08:42:58 +02:00
Daniel Agar be61d93d64 tfmini split out header and main 2019-09-17 21:50:59 -04:00
Daniel Agar 9b7ef7141f tfmini cleanup and use PX4Rangefinder 2019-09-17 21:50:59 -04:00
Nico van Duijn c446ee444a EKF: fake rng if faulty on ground 2019-09-18 10:15:37 +10:00
Andreas Antener 4f19d457c4 ekf, control: make sure mag fusion doesn't start anymore when we have GPS heading fusion active 2019-09-18 09:27:24 +10:00
Jan Brehmer 93eb1266f6 EKF: reset position when stopping GPS use and EV is active 2019-09-18 08:33:40 +10:00
James Goppert 60c9c99dcc Fix type for division. 2019-09-17 11:08:00 -04:00
Nico van Duijn 18eaeb564d PMW3901 improvements (#12977)
* PMW3901: use frame count and quality metric

* PMW3901: set qual to 0 for unsuccessful SPI reads

* PMW3901: improve comment for collect_time

* PMW3901: set qual to zero for huge flow values
2019-09-17 10:54:56 -04:00
Julian Kent b4714e2ed2 Don't lose array sizes in copyTo 2019-09-17 15:09:12 +02:00
Maximilian Laiacker 72e93a9c36 fixed total flight time counting bug
After landing it can happen that a second take off is detected and then the _takeoff_time is rest, resulting in a wrong total flight time counter. With this fix the flight time is reliably counted from the first take off until the vehicle is disarmed. Normally the vehicle will not spend much time armed after landing, if it does the flight time will be off but this is the same as before this fix. This fix was tested in several flight experiments.
2019-09-17 14:52:27 +02:00
Daniel Agar c13835c0f0 replay module split replay_main.cpp into separate compilation units 2019-09-17 14:33:04 +02:00
Matthias Grob 270e12a4df VelocitySmoothing: refactor local scope t variables instead of array 2019-09-17 09:27:00 +02:00
bresch da8ac8cafb VelocitySmoothing - Clean up updateTraj function based on Matthias' comments 2019-09-17 09:27:00 +02:00
bresch b82fa68893 VelocitySmoothingTest - Fix typo and use "zero" instead of "null" 2019-09-17 09:27:00 +02:00
bresch 42cedb7fda VelocitySmoothing - Change direction of "brake" as braking means that
only the T3 part is required and that the jerk applied during T3 is the
opposite of the one defined by "_direction".
2019-09-17 09:27:00 +02:00
bresch 8490266be8 VelocitySmoothing - (Re)set _state_init every time _state is (re)set 2019-09-17 09:27:00 +02:00
bresch 654938f6a1 VelocitySmoothing - Cosmetic changes (new lines, reorganize functions),
regroup both updateTraj functions and edit some comments
2019-09-17 09:27:00 +02:00
bresch 0b765a1642 AltitudeSmoothVel - Update to use new implementation of VelocitySmoothing
Remove jerk reduction (not needed in the new implementation)
2019-09-17 09:27:00 +02:00
bresch 862454827e VelocitySmoothingTest - Test that the trajectory is always within the constraints 2019-09-17 09:27:00 +02:00
bresch 8cc2a7018e VelocitySmoothing - Re-enable time stretch, integrate dt to get local time.
Also split a few functions into smaller ones for readability, fix
formatting, use geters to get the current state of the trajectory
instead of return arguments.
2019-09-17 09:27:00 +02:00
bresch c7696488fe VelocitySmoothing - Improve computation of the direction of the trajectory by predicting the velocity at zero acceleration instead of the current velocity
This helps when the current velocity is smaller than the target but that
the acceleration is too large such that the velocity will overshoot.
Without this check, the algorithm increases the acceleration which leads
to an even larger overshoot.
2019-09-17 09:27:00 +02:00
bresch 052932fa95 VelocitySmoothingTest - Update unit test to use the same parameters ordering (time, setpoint) as the VelocitySmoothing class 2019-09-17 09:27:00 +02:00
bresch c13499e64b test_velocity_smothing - Update test script to use new polynomial evaluation algorithm 2019-09-17 09:27:00 +02:00
bresch a03cc495ce VelocitySmoothing - Refactor class to use polynomial evaluation instead of numerical integration
This solves many numerical issues when the trajectory is close to the
primary NE axes (small velocities). It is also more robust when dt is
large and has some jitter.
2019-09-17 09:27:00 +02:00
Hamish Willee 0c0b261ff2 ubuntu.sh - remove modemmanager 2019-09-17 00:38:14 -04:00
Julian Kent 51d2f9f0dc Remove direct access to internal data 2019-09-16 21:58:32 -04:00
Julian Kent 18218c8f9c Test non-square matrix multiplication (#91)
* Test non-square matrix multiplication
2019-09-16 17:40:25 +02:00
Julian Kent b817e8677d Add helpers based on Slice: row(), col(), xy() 2019-09-16 16:11:08 +02:00
Julian Kent 82d565f4d9 Add support for Slice to Matrix, SquareMatrix, Vector 2019-09-16 16:11:08 +02:00
Julian Kent af1378cc55 Add Slice class 2019-09-16 16:11:08 +02:00
Daniel Agar 5507f14bb2 Jenkins HIL disable rgbled 2019-09-15 17:17:09 -04:00
Daniel Agar ed6c7cc806 cmake remove unused/broken _no_optimization_for_target 2019-09-15 17:16:38 -04:00
Daniel Agar 251831f7af cmake px4_add_library remove unused PX4_LIBRARIES property 2019-09-15 17:16:38 -04:00
Daniel Agar dc46b6a749 cmake px4_add_module MAIN is always present (required) 2019-09-15 17:16:38 -04:00
Daniel Agar fb7521eb5e cmake px4_base -> px4_parse_function_args 2019-09-15 14:36:38 -04:00
Daniel Agar d256fb8770 cmake px4_find_python_module move to standalone file 2019-09-15 14:36:38 -04:00
Daniel Agar d27dfcd921 NuttX CMakeLists.txt extract helpers (jlink, upload, etc) 2019-09-15 14:36:38 -04:00
Daniel Agar f2189dd045 CMakeLists.txt extract top level helpers (ccache, doxygen, metadata, etc) 2019-09-15 14:36:38 -04:00
Matthias Grob d4f984fea5 FlightTaskAutoLineSmooth: Fix comment to be style compliant 2019-09-13 18:10:05 +02:00
bresch 47401d1177 AutoLineSmoothVel - Replace min/max absolute constraints with a function named constrainAbs
This function constrain the absolute value of some value but keeps the original sign.
2019-09-13 17:46:01 +02:00
bresch 3c5b24037a AutoLineSmoothVel - Improve virtual pilot logic that provides velocity setpoints to the trajectory generator.
Constrain the generated velocities in the NE inertial frame rather than
just constraining the norm.
2019-09-13 17:46:01 +02:00
bresch 59f54a7fd8 mathlib - Add FLT_EPSILON deadzone in sign computation 2019-09-13 17:46:01 +02:00
mcsauder 410dd85289 Comment out the ll40ls (LidarLite) driver from the fmu-v2 build. 2019-09-13 11:03:13 -04:00
Nico van Duijn a26865c279 drivers: set CM8JL65 signal_quality invalid beyond bounds 2019-09-13 10:42:10 -04:00
Martina Rivizzigno 78279f6587 Unit tests for Obstacle Avoidance interface (#12816)
* FlighTask: remove legacy definition of empty_trajectory_wapoint

* add unit tests for the ObstacleAvoidance interface
2019-09-12 14:37:31 +02:00
Nico van Duijn 267195a11b EKF: remove check for faulty flag in fake rng
This removes the check for _rng_hgt_faulty in the decision of publishing
a fake range measurement. The reason for this is that some distance sensors
don't populate the quality flag, even if they are saturated. Hence, if we
are on the ground and not moving, it is safe to publish a fake measurement
of the distance sensor and overwrite the actual sensor data.
2019-09-12 17:45:37 +10:00
Nico van Duijn 933189eac0 EKF: fix rng_faulty flag when sensor is stuck 2019-09-12 17:45:37 +10:00
Nico van Duijn 640e41cba7 EKF: change rangeSample quality to int8_t 2019-09-12 17:45:37 +10:00
Nico van Duijn a12186c285 terrain_estimator: introduce quality metric in rng
This commit introduces a quality measure in the range data. It is
used to properly decide whether to initialize the HAGL estimate on
 sensor data or MIN_HGT parameter, as well as in the decision of
whether a 'fake' measurement should be published on the ground to
allow for optical flow take-offs.
2019-09-12 17:45:37 +10:00
Paul Riseborough 3e05fd552e EKF: Compensate for bad range finder data when on ground 2019-09-12 17:45:37 +10:00
Julian Kent 39451b811a Do syscall for time once, outside of loop 2019-09-11 12:34:59 -04:00
Julian Kent b27d6a958a Account for the time since range data arrived 2019-09-11 12:34:59 -04:00
Hamish Willee 94ef585f76 Link to missing params docs 2019-09-11 09:17:00 -04:00
Hamish Willee fd10220a34 Ubuntu.sh: check for requirements.txt 2019-09-11 09:15:44 -04:00
Daniel Agar 6277710fac Github actions simple cpp build 2019-09-10 17:07:51 -04:00
Daniel Agar df01eda550 systemcmds/tests: delete obsolete test_sensors 2019-09-10 16:37:33 -04:00
Silvan Fuhrer 702c6f6df4 FW pos C: fix altitude control for VTOL/FW by also publishing attitude sp if in altitude, not only if position or velocity controlled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-10 13:20:07 -04:00
Silvan Fuhrer 92b824e218 VTOL attitude controller: run update_vtol_state only if mc or fw att sp changed, such that pusher support in hover works again
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-10 13:52:33 +02:00
Silvan Fuhrer 1b2403a87f VTOL land detector: trigger land detector in fixed-wing mode if disarmed.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-10 13:46:43 +02:00
Julian Kent a8fbe6bba2 Remove references to pow(x,0.5), use sqrt instead (#12928)
* Remove references to pow(x,0.5), use sqrt instead

* Update matrix library
2019-09-10 13:29:39 +02:00
Julian Kent 15865b741c Help compiler with name resolution to avoid overload mixups 2019-09-09 11:18:57 -07:00
Patrick Servello 47e668eb86 simulator and dumpfile fix minor resource leaks
* Certain conditional branches returned before closing the file handler.
2019-09-09 13:24:07 -04:00
Daniel Agar a5e6c880fe Update submodule mavlink v2.0 to latest Mon Sep 9 12:38:36 UTC 2019
- mavlink v2.0 in PX4/Firmware (65db4b70fd76afe122c1aed404de60e978ead294): https://github.com/mavlink/c_library_v2/commit/d5d131cf710ceaa93d26884ea12de8de95804985
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/ac40c0329e88b70ae5db4c1467ed5853d305af54
    - Changes: https://github.com/mavlink/c_library_v2/compare/d5d131cf710ceaa93d26884ea12de8de95804985...ac40c0329e88b70ae5db4c1467ed5853d305af54
2019-09-09 12:29:42 -04:00
Julian Kent 03ffd696a6 Replace pow with sqrt 2019-09-09 02:18:10 -07:00
mcsauder e4509486e8 Correct a typo and create a #define for the LeddarOne FOV. 2019-09-06 11:59:29 +02:00
mcsauder aea139bc1b Correct the LeddarOne FOV and deprecate the unneeded _distance_sensor_topic after migrating to PX4RangeFinder. 2019-09-06 11:59:29 +02:00
mcsauder ddd9a97d42 Modify the LeddarOne driver class to utilize the PX4RangeFinder library. 2019-09-06 11:59:29 +02:00
mcsauder 94d39e4466 Return from LeddarOne::collect() via LeddarOne::measure() and alphabetize #includes. 2019-09-06 11:59:29 +02:00
mcsauder f31ac44289 Const correctness and fix leddar_one::test(). 2019-09-06 11:59:29 +02:00
mcsauder c0e8b37d96 Add collect() validation to the LeddarOne::init() method, format whitespace and console output.
Reduce measure/collect timing logic complexity to use ScheduleOnInterval() rather than SchuleDelayed().
2019-09-06 11:59:29 +02:00
mcsauder 04073f2c71 Deprecate the LeddarOne request() and publish() methods to match other distance sensor driver classes and fix perf counter errata. 2019-09-06 11:59:29 +02:00
Tanja Baumann f3c5ca6015 Collision Prevention: support multiple sensors and frames (#12883)
* build internal sensor map

* Extend testing coverage

* Update matrix library
2019-09-06 08:38:56 +02:00
Hamish Willee eb81f4bce2 ubuntu.sh: Add note to reboot computer 2019-09-06 08:02:02 +02:00
Hamish Willee 0b049fa4d7 Add updated ccache for Ubuntu 16.04 dev scripts 2019-09-06 08:02:02 +02:00
Julien Lecoeur 7bea81f02c Add board orientation ROLL_90_YAW_270 2019-09-05 20:41:32 -07:00
Julian Kent 22bf63cb71 A smaller codesize wrap, since it gets inlined in many places 2019-09-05 22:31:13 +02:00
Matthias Grob 74ace7d1d5 helper test: cover wrap close to limits cases (#84) 2019-09-05 18:02:33 +02:00
Tanja Baumann 26fd962cbe fix bug in matrix wrap function (#83) 2019-09-05 11:21:41 +02:00
Julian Kent 4a4309327a better API comment
Co-Authored-By: Julian Oes <julian@oes.ch>
2019-09-05 10:19:47 +02:00
Matthias Grob 31450c407c Matrix: use existing print() if isEqual test fails 2019-09-05 10:19:47 +02:00
Matthias Grob 938274fce5 helper test: add extensive wrap tests 2019-09-05 10:19:47 +02:00
Matthias Grob 315010bae1 helper_functions: generalize wrap function to any range 2019-09-05 10:19:47 +02:00
Matthias Grob 007c7c58c4 fix math defines to have M_PI and M_TWOPI 2019-09-05 10:19:47 +02:00
Daniel Agar c75954fef8 lib/led: temporarily ignore implicit fallthrough warning 2019-09-04 20:03:02 -07:00
Julian Oes c8d13bacf2 pwm_out_sim: don't advertise garbage 2019-09-04 09:21:54 -07:00
TSC21 f6a5c7cca9 qshell: rename qshell sequence fields so they can be parsed on fastrtpsgen 2019-09-04 17:04:28 +01:00
PX4 Build Bot 69475a172b Update submodule ecl to latest Wed Sep 4 08:37:31 EDT 2019
- ecl in PX4/Firmware (da6970329175df98ff46b2d9ddfa467ba438bb2e): https://github.com/PX4/ecl/commit/62fa464e4dd6cb5e585d23bd353aa50a469879f7
    - ecl current upstream: https://github.com/PX4/ecl/commit/3b32ee41660afd4785c374355e0fdefdae83e9b9
    - Changes: https://github.com/PX4/ecl/compare/62fa464e4dd6cb5e585d23bd353aa50a469879f7...3b32ee41660afd4785c374355e0fdefdae83e9b9

    3b32ee4 2019-09-02 bresch - Flow aiding - Reset state when flow is enabled only if it is the only position/velocity aiding sensor. Until now, it was alway resetting if the vehicle does not have gps or external vision. This caused a reset/glitch at every stop (when range data gets valid)
be368f3 2019-08-28 kamilritz - Update comment
c5abfe6 2019-08-28 kamilritz - remove canonicalize and adapt comments
67512d8 2019-08-22 kamilritz - Update matrix library for CI
a2ff415 2019-08-22 kamilritz - Fix get frame aligning quaternion function
53eac6e 2019-08-21 kamilritz - Canonicalize alignment quaternion
933c32c 2019-08-20 kamilritz - Enable local frame alignment also without using it
ea352a6 2019-08-20 kamilritz - Dont use mag suffix for magnitude
05196db 2019-08-20 kamilritz - Fix alignment of local frame
2019-09-04 08:09:36 -07:00
BazookaJoe1900 6ab5c2170e remove unused pca8574 and oreoled drivers 2019-09-04 08:05:08 -07:00
Nico van Duijn b4709d229a PMW3901: use quality metric 2019-09-04 08:03:04 -07:00
Claudio Micheli 5fd483dbf8 ll40ls: fixed typo errors.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli 6a8b25a1b9 ll40ls: simplified probe logic and lowered max readable distance.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli 59f61b3107 ll40ls: fix v3hp signal quality and modified probe to detect v3hp.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli 327529d063 ll40ls: unify maximum operational distance to 35m
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli fcdd2fabeb ll40ls: refactor driver start on i2c.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli 5eefd9409b ll40ls: [Wingtra docet] fix for properly resetting v3 and v3hp modules.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Claudio Micheli 7799f4c68b ll40ls: fix for lidar lite v3hp
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-04 15:27:16 +01:00
Julian Oes 5e9cae11f8 controllib: fix for undefined sanitizer 2019-09-03 11:54:09 -05:00
Julian Oes 78d3986013 platforms: fix main function signature 2019-09-03 11:52:54 -05:00
Daniel Agar f1339038ca px4_fmu-v5_stackcheck disable roboclaw and pca9685 to reduce flash 2019-09-03 08:03:32 -07:00
Claudio Micheli b6bba0428a uavcan: fix limit actuator poll interval.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-09-03 09:35:01 -05:00
Silvan Fuhrer d5fdc55460 fmu-v5: add baro again in startup
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-03 13:48:34 +02:00
JaeyoungLim 09dab07071 Enable support for global position setpoints with SET_POSITION_TARGET_GLOBAL_INT (#12819) 2019-09-03 11:21:41 +02:00
bresch 3b32ee4166 Flow aiding - Reset state when flow is enabled only if it is the only
position/velocity aiding sensor.
Until now, it was alway resetting if the vehicle does not have gps or
external vision. This caused a reset/glitch at every stop (when range data gets
valid)
2019-09-03 09:58:33 +02:00
Daniel Agar 9bc19fd732 IMU_GYRO_RATEMAX add common options 2019-09-02 23:53:26 -05:00
Daniel Agar f280977ed0 mavlink: update orb_publish to uORB::Publication<> 2019-09-02 23:51:54 -05:00
Daniel Agar 20e6adc4ca sensors: update orb_publish to uORB::Publication<> 2019-09-02 20:44:03 -04:00
Daniel Agar c8f77d438d load_mon: update orb_publish to uORB::Publication<> 2019-09-02 20:41:34 -04:00
Daniel Agar 4d9f2bf776 add IMU_GYRO_RATEMAX to optionally limit gyro control publication rate 2019-09-02 20:06:50 -04:00
bazooka joe 49c74ab021 add new parameter LIGHT_EN_BLINKM to start blinkm lights 2019-09-02 20:02:00 -04:00
Daniel Agar 7162000e80 fw_pos_control_l1: update orb_publish to uORB::Publication<> 2019-09-02 16:20:44 -04:00
Daniel Agar e83026f106 fw_att_control: update orb_publish to uORB::Publication<> 2019-09-02 16:20:44 -04:00
Daniel Agar b0f82ee8ac CollisionPrevention: update orb_publish to uORB::Publication<> 2019-09-02 15:35:34 -04:00
Daniel Agar 9f5f9c577e uavcan: limit actuator controls poll interval
* rather than only in UavcanEscController updates
2019-09-02 14:21:54 -04:00
Daniel Agar 6938955b8d vtol_att_control: limit state updates to input availability and always publish both FW/MC actuator controls 2019-09-02 14:13:33 -04:00
Daniel Agar 06cf801121 SENS_BARO_QNH set reboot_required
- fixes https://github.com/PX4/Firmware/issues/12866
2019-09-02 13:40:34 -04:00
Daniel Agar 3c8a41aff7 px4_fmu-v2 variants disable mpu9250 2019-09-02 12:42:18 -04:00
Daniel Agar 0c11ab1e5e Update submodule mavlink v2.0 to latest Mon Sep 2 12:38:04 UTC 2019 (#12868)
- mavlink v2.0 in PX4/Firmware (51a0a59d2c65869a79e85d7d43c0917db2b5ff06): https://github.com/mavlink/c_library_v2/commit/e26d03dbf858d3b04babb4fe106ecc831ac9b906
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/d5d131cf710ceaa93d26884ea12de8de95804985
    - Changes: https://github.com/mavlink/c_library_v2/compare/e26d03dbf858d3b04babb4fe106ecc831ac9b906...d5d131cf710ceaa93d26884ea12de8de95804985
2019-09-02 11:53:30 -04:00
BazookaJoe1900 8a45c6145b add new parameter SENS_EN_PMW3901 to start pmw3901 optical flow 2019-09-02 11:08:51 -04:00
Julien Lecoeur 47355333ad Clarify comment 2019-09-02 10:47:40 -04:00
Julien Lecoeur ced201bdb5 IO: respect actuator_armed.prearmed flag 2019-09-02 10:47:40 -04:00
Julien Lecoeur 9c50f5ea08 Add parameter COM_PREARM_MODE
Condition to enter the prearmed state, an intermediate state between disarmed and armed
 * in which non-throttling actuators are active.
 *
 * @value 0 Disabled
 * @value 1 Safety button
 * @value 2 Always
2019-09-02 10:47:40 -04:00
Julian Kent bc58bed960 Add test for jerk reduction 2019-09-02 14:51:18 +02:00
Julian Kent 865157228f Add collision prevention velocity limitations also based on max accel/jerk 2019-09-02 14:51:18 +02:00
Mark Sauder 60e5e0821a land_detector: Add and max_altitude and timestamp validity checks to MulticopterLandDetector class. (#12681)
* Rename local camelCase vars to snake_case and control_mode -> vehicle_control_mode to match typdef with established class convention.
2019-09-02 00:30:46 -04:00
Daniel Agar c180d63441 delete accidental systemlib/param/param_new.c 2019-09-01 20:42:41 -04:00
Hamish Willee a77fc9aca9 Add docker gazebo dependencies 2019-09-01 20:18:52 -04:00
Hamish Willee ceaf134092 Change java to openjdk like docker 2019-09-01 20:18:52 -04:00
Hamish Willee 33ae0bb705 ubuntu.py: update to dual install to Python2 2019-09-01 20:18:52 -04:00
Daniel Agar 82bcfcb710 boards/px4/fmu-v5x remove alternate configs until default is complete 2019-09-01 18:48:55 -04:00
mcsauder 0817ee40f8 Add generic vtol tailsitter airframe/mixer and incorporate modifications from PR 9849 in 4001_quad_x and 13001_caipirinha_vtol. 2019-09-01 18:35:14 -04:00
Matthias Grob 328544ae2e deltaquad: remove deprecated parameter MAN_R_MAX 2019-09-01 14:56:59 -04:00
Daniel Agar 891aae0377 commander increase cpu overload threshold
* the large 20% margin is no longer appropriate now that nearly all work in the system is
scheduled (moved out of ISRs) and represented in the load percentage
 * closes https://github.com/PX4/Firmware/issues/12753
2019-09-01 14:55:05 -04:00
Daniel Agar 9aad996b04 PMW3901 add register write delay (TIME_us_TSWW) 2019-09-01 14:19:46 -04:00
Daniel Agar ab92f3ab7d pmw3901 split out header and main 2019-09-01 14:19:46 -04:00
Daniel Agar 41e544727c pmw3901 cleanup and updates
- includes updates from PixArt
2019-09-01 14:19:46 -04:00
Silvan Fuhrer ff6577ce5f EKF and AirspeedSelector: publish multiple wind estimate topic instances and log them all
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-01 14:05:06 -04:00
Daniel Agar 10ed88db57 VTOL airframes update legacy VT_MOT_COUNT parameter 2019-09-01 13:09:48 -04:00
BazookaJoe1900 e3b60cd9e7 rc.sensors: moved common ms5611 start to rc.board_sensors per board 2019-09-01 12:55:50 -04:00
Daniel Agar 9c6d4e28ea fxos8701cq cleanup and move to PX4Accelerometer/PX4Magnetomer 2019-09-01 12:08:52 -04:00
Daniel Agar ee9f65b38b fxos8701cq split out header and main 2019-09-01 12:08:52 -04:00
Beat Küng f0ee0b5d49 MixingOutput: make scheduling configurable
And make sure fmu calls MixingOutput::updateSubscriptions on startup even
if no mixer is loaded, so that it gets scheduled.
2019-08-31 10:05:00 -04:00
Beat Küng a2ebbe9066 pwm_limit: rename to output_limit
As there is nothing pwm-specific about it.
2019-08-31 10:05:00 -04:00
Beat Küng 1bee984bb0 MC_AIRMODE: move parameter definition to mixer_module
Makes sure that the parameter is included for the builds that need it.
2019-08-31 10:05:00 -04:00
Beat Küng 077b229655 MixingOutput: make mixer loading thread-safe 2019-08-31 10:05:00 -04:00
Beat Küng d3fb610fde mixer_module: create MixingOutput library and use in fmu
This should be a pure refactoring, no functional change.
2019-08-31 10:05:00 -04:00
Beat Küng 0ec6e79a0a fmu: remove unused _num_failsafe_set 2019-08-31 10:05:00 -04:00
Beat Küng 1d577802cf fmu: remove unused write() interface 2019-08-31 10:05:00 -04:00
Beat Küng 5b87b81b90 fmu: fix comments & documentation 2019-08-31 10:05:00 -04:00
Matthias Grob d3c7d06288 FlightTaskOrbit: don't apply yaw feed forward in circle approach
The yaw pointing towards the center makes sense since that's the approach
direction anyways. But with the yaw feed forward results in a weird looking
bias when not orbiting yet.
2019-08-31 14:25:39 +02:00
Matthias Grob 7774b150a9 FlightTaskOrbit: only reapproach circle if center changed
The condition that the vehicle is more than 3m away from the circle line
was too sloppy. That often happens when the radius is changed by sticks.
A reapproach is only necessary when the center is moved and that's only
possible through the orbit command.
2019-08-31 14:25:39 +02:00
Matthias Grob cca7596bcd FlightTaskOrbit: use StraightLine library to approach circle
The initial approach to the circle to orbit on was very agressive since
it was just the controller trying to stay on the circle reaching the
limits. Now there's first an approach phase in which the vehicle reaches
the circle trajeectory in a smooth perpendicular line before starting the
orbit execution.
2019-08-31 14:25:39 +02:00
Matthias Grob 345ad06d7e StraightLine: rewrite old implementation
Before it was:
- not used anywhere
- copied from an old mission implementation version
- didn't plan in advance
- had a lot of broken cases
- dependent on a lot of parameters

I'm starting with a new relatively simple implementation that works as
expected for a minimum viable implementation and can be improved over time.
The first version is used to approach the circle path in Orbit mode to
verify the interface and get testing such that it gets eventually used
everywhere.
2019-08-31 14:25:39 +02:00
Daniel Agar 78ef8aab2d STACK_MAIN increase default 1024 -> 2048 2019-08-30 19:11:51 -07:00
kritz 9ed2daef48 Fixing and simplifying mavlink odometry handling (#12793)
* Fixing and simplify mavlink odometry
2019-08-30 06:33:13 -07:00
Beat Küng 43fdcd7876 px4_middleware: remove that header and move px4::init to px4_init.h
delete include:
for i in $(grep -rl 'px4_middleware.h' src platforms); do sed -i '/#include <px4_middleware.h/d' $i; done
2019-08-30 07:59:44 +02:00
Beat Küng f32abe8534 src/platforms: move remaining source files to platforms/common 2019-08-30 07:59:44 +02:00
Beat Küng f8e0441e7b src/platforms/common: move to platforms/common
Script to update include paths:
for i in $(grep -rl 'include <px4_work_queue' src platforms); do sed -i 's/#include <px4_work_queue/#include <px4_platform_common\/px4_work_queue/' $i; done
2019-08-30 07:59:44 +02:00
Beat Küng 5d0e72040c src/platforms/posix: move to platforms/posix/src/px4/common and src/drivers/driver_framework_wrapper 2019-08-30 07:59:44 +02:00
Beat Küng fa8165a1c3 platforms/posix/src: move to platforms/posix/src/px4/common 2019-08-30 07:59:44 +02:00
Beat Küng 8cbb3852ba src/platforms/qurt: move to src/drivers 2019-08-30 07:59:44 +02:00
Beat Küng 3bdfd8ce8d ToneAlarmInterface: move to drivers/drv_tone_alarm
It belongs there since it's not a library providing the implementation, but
just declaring the interface.
2019-08-30 07:59:44 +02:00
Beat Küng f3fccf53f6 src/drivers/{kinetis,stm32}: move to arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng 3003e7d0fc drv_led_pwm: move to arch-specific directory 2019-08-30 07:59:44 +02:00
Beat Küng bd1b267baa NuttX hrt: move into arch-specific directory 2019-08-30 07:59:44 +02:00
Beat Küng 1cb6c36a00 adc: refactor into arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng ab43a83bed platform: restructure (NuttX) architecture-specific code
updated: tone_alarm, px4io_serial, px4_micro_hal
2019-08-30 07:59:44 +02:00
Daniel Agar 2fa3ee9336 Jenkins hardware add Modal AI v5m/v5x 2019-08-30 00:40:22 -04:00
Silvan Fuhrer db4b4719c3 BabyShark VTOL: update config file
- increased transition throttle
 - enable airmode
 - increased max roll angle

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-29 09:58:20 -04:00
bresch fe73cef224 TestVelocitySmoothing - Split time synchronization and final state checks into two different test functions
Also improve the comments
2019-08-29 15:20:53 +02:00
bresch 94d15931f2 TestVelocitySmoothing - Remove useless function override, use ceil instead of ceilf and remove line duplicate 2019-08-29 15:20:53 +02:00
bresch 5b82fa3a0f TestVelocitySmoothing - add check for time synchronization and final acceleration 2019-08-29 15:20:53 +02:00
bresch f40d571858 VelocitySmoothing - add zero setpoint test 2019-08-29 15:20:53 +02:00
bresch c59bcc686c VelocitySmothing - Add gtest script 2019-08-29 15:20:53 +02:00
roangel 1e510f5a44 [FlightTasks] Added class enum for FlightTasks errors (#12822) 2019-08-29 14:48:52 +02:00
Daniel Agar 497a053bc1 fxas21002c fix perf counter typo and add interval 2019-08-29 00:37:24 -04:00
Daniel Agar e8dcd8c2fc cmake nuttx ignore linking target warning 2019-08-28 22:50:23 -04:00
Daniel Agar 2bb00e1f28 Jenkins snapdragon always pass sanity check for now 2019-08-28 21:49:40 -04:00
PX4 Build Bot 511438d6ef Update submodule matrix to latest Thu Aug 29 00:42:01 UTC 2019
- matrix in PX4/Firmware (341c0ae739753db98dcd0711e91f621c1666b16d): https://github.com/PX4/Matrix/commit/56b069956da141da244926ed7000e89b2ba6c731
    - matrix current upstream: https://github.com/PX4/Matrix/commit/cc084e0791535e8426780e6a4f05794804db1b82
    - Changes: https://github.com/PX4/Matrix/compare/56b069956da141da244926ed7000e89b2ba6c731...cc084e0791535e8426780e6a4f05794804db1b82

    cc084e0 2019-08-26 Martina Rivizzigno - matrix: add method to check all values are nan (#82)
84b3da2 2019-08-22 kritz - Canonical Quaternion with tests (#81)
2019-08-28 21:45:09 -04:00
Daniel Agar 690aeef186 drivers/gps: increase task stack 2019-08-28 21:20:45 -04:00
Daniel Agar 3ee78cb36a safety_button set STACK_MAIN 2019-08-28 21:20:45 -04:00
kamilritz be368f3656 Update comment 2019-08-29 08:34:10 +10:00
kamilritz c5abfe626f remove canonicalize and adapt comments 2019-08-29 08:34:10 +10:00
kamilritz 67512d88ea Update matrix library for CI 2019-08-29 08:34:10 +10:00
kamilritz a2ff415fe4 Fix get frame aligning quaternion function 2019-08-29 08:34:10 +10:00
kamilritz 53eac6e94e Canonicalize alignment quaternion 2019-08-29 08:34:10 +10:00
kamilritz 933c32c921 Enable local frame alignment also without using it 2019-08-29 08:34:10 +10:00
kamilritz ea352a6631 Dont use mag suffix for magnitude 2019-08-29 08:34:10 +10:00
kamilritz 05196db79e Fix alignment of local frame 2019-08-29 08:34:10 +10:00
Daniel Agar aebf244464 mc_pos_control: takeoff fix implicit switch fallthrough 2019-08-28 18:16:28 -04:00
Daniel Agar 5a5e15d384 Update submodule mavlink v2.0 to latest Wed Aug 28 15:06:44 UTC 2019
- mavlink v2.0 in PX4/Firmware (f0881530b255eb6f7cdbbed12d8da453e59f09dc): https://github.com/mavlink/c_library_v2/commit/dc26ccd71dcb0138b23176233eade1c04a09b462
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e26d03dbf858d3b04babb4fe106ecc831ac9b906
    - Changes: https://github.com/mavlink/c_library_v2/compare/dc26ccd71dcb0138b23176233eade1c04a09b462...e26d03dbf858d3b04babb4fe106ecc831ac9b906
2019-08-28 13:31:39 -04:00
Daniel Agar 0c736fc98b Jenkins add bloaty SITL and disable ccache 2019-08-28 12:22:39 -04:00
Daniel Agar 7ee1043932 gitattributes *.bin, *.pdf, and *.png are binary
* fixes #12818
2019-08-28 11:01:35 -04:00
roangel e50dd7c364 replay: close replay log file after replay is finished, then exit (#11264) 2019-08-28 08:13:50 +02:00
Daniel Agar a20b508d7e gitignore remove core 2019-08-27 08:59:48 -04:00
Martina Rivizzigno cc084e0791 matrix: add method to check all values are nan (#82) 2019-08-26 19:27:58 +02:00
Daniel Agar 2f10c315b5 listener print all instances by default 2019-08-26 16:07:41 +02:00
TSC21 693d89583d RTPS: add check for ID space 2019-08-25 23:04:09 +01:00
TSC21 1fa43a707f uorb_rtps_message_ids: enlarge id space for base type msgs 2019-08-25 23:04:09 +01:00
TSC21 062b693fea uorb_rtps_classifier: improve way to check base type of alias 2019-08-25 23:04:09 +01:00
TSC21 ac6ee972d3 airspeed_validated: move it out of the alias space 2019-08-25 23:04:09 +01:00
Julien Lecoeur 32fb4a9585 px4io: force io firmware build
This fixes incremental build of the px4io firmware on targets that use the px4io driver.

fixes #11042
2019-08-25 09:48:50 -04:00
Daniel Agar b1d59c8817 px4fmu split safety button into new driver 2019-08-24 17:14:17 -04:00
alessandro 2cb26dd5f5 GPS: Prevent injection from choking the driver (#12710)
Sending a continuous stream of injection messages can cause the
GPS driver to get stuck indefinitely in the handling loop.
2019-08-23 19:12:20 -04:00
Hyon Lim 0262a699c1 UVify Core board support and airframes (Draco, Draco-R, IFO) (#12337)
* also includes minor changes to make it easy to keep in sync with px4_fmu-v4
2019-08-23 17:02:25 -04:00
Claudio Micheli ec5d36d9c7 UAVCAN esc: relax threshold for detecting offline escs.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-23 11:40:53 -04:00
Claudio Micheli f3eafdc296 Fix wrong initialization of PWM_AUX_RATE.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-23 15:37:57 +02:00
Julian Oes a7c541d7e2 version: more tests to check tags with - prefix 2019-08-23 13:18:52 +02:00
Julian Oes 3fa3cbd28a version: add beta tag
This adds the "beta" tag and adds a dash before "rc" or "beta".
2019-08-23 13:18:52 +02:00
Julian Oes c3529baa5b jMAVSim: disable GUI using HEADLESS=1
@katzfey added the option to run jMAVSim without GUI. Now we just need
to read the HEADLESS env variable to use it.
2019-08-23 09:27:42 +02:00
Daniel Agar 3c0f4f9ace Jenkins hardware snapdragon build with CCACHE_BASEDIR and dump logs 2019-08-22 16:20:39 -04:00
Daniel Agar 331b533b3d Jenkins hardware linux add CCACHE_BASEDIR for rpi build 2019-08-22 15:46:39 -04:00
Daniel Agar e7e477962c snapdragon fix sanity test and add to Jenkins hardware 2019-08-22 15:11:32 -04:00
Daniel Agar b45f459ef1 Jenkins add linux (raspberry pi) build and test 2019-08-22 15:09:04 -04:00
Julian Oes 68078795c0 px_update_git_header.py: allow -beta/-rc in tag
This changes two things:
- This adds "-beta" as a valid tag suffix.
- This changes "rc" without "-" to "-rc". "rc" without is now described
  as deprecated and with "-rc" is preferred.
2019-08-22 18:45:50 +02:00
bresch f4b40865af SmoothVel - Fix altitude lock logic.
It was broken because _velocity_setpoint is used for input and output
and was assumed to be the input at a place where it was already overwitten
To clarify this, the input setpoint is renamed "target"
2019-08-22 16:43:41 +02:00
kritz 84b3da227c Canonical Quaternion with tests (#81) 2019-08-22 15:05:14 +02:00
Julian Oes dd2d5c029f platforms: match usb-Hex_ProfiCNC device (#12772)
This means that we are able to detect and flash the Pixhawk Cube Black.
2019-08-22 01:32:39 -07:00
Todd Colten b55ae09f00 FW: set default RTL_TYPE = 1 for fixed wing
This change adds the line "param set RTL_TYPE 1" to the default init scripts for fixed wing.  Similar to the other PR that sets default RTL_TYPE=1 for VTOLs, RTL_TYPE=1 should be default for normal fixed wings as well.  Reference: https://github.com/PX4/Firmware/pull/12746/files
2019-08-22 08:47:50 +02:00
JaeyoungLim 950dbc1d2e Rover: Enable Offboard support for Rover position control 2019-08-21 12:04:19 -04:00
Daniel Agar ccdc2dffa9 WQ decrease att_pos_ctrl stack 2019-08-21 11:59:50 -04:00
Julien Lecoeur 7fa885c7b3 Document the behaviour of TERMINATE and LOCKDOWN in comments 2019-08-21 07:56:20 -07:00
Julien Lecoeur 85c2e7d65d Offboard failsafe actions: cleanup and move to dedicated functions 2019-08-21 07:56:20 -07:00
Julien Lecoeur 84eeacfb38 Offboard failsafe actions: add DISABLED, LOCKDOWN and TERMINATE options 2019-08-21 07:56:20 -07:00
Julien Lecoeur 4c9288d993 Commander: cleanup COM_POSCTL_NAVL parameter
- move to px4::params
- use enum
2019-08-21 07:56:20 -07:00
Julien Lecoeur 907b6ccf46 fmu: fix implicit fallthrough 2019-08-21 07:56:20 -07:00
Julien Lecoeur d41f72f092 Re-enable implicit-fallthrough warning 2019-08-21 07:56:20 -07:00
Beat Küng 7f6a9e587f logger: fix multiple format definitions for multi-instance topics
With https://github.com/PX4/Firmware/pull/12123 all multi-instance topics
lead to repeated format definitions in the ULog file.
2019-08-21 10:47:31 -04:00
Julian Kent 5c68880b56 Reset parameters in test setup, not teardown 2019-08-21 14:53:41 +02:00
Julian Kent ddd4181b39 Don't run each functional test in a different process 2019-08-21 14:53:41 +02:00
Julian Kent 63140f1d61 Do a single setup of uORB/Parameters instead of once every test 2019-08-21 14:53:41 +02:00
Jaeyoung-Lim 914417f580 Enable offboard local position setpoints for fixed wing position control 2019-08-21 12:12:29 +02:00
Silvan Fuhrer 536f073d02 VTOL: set RTL_TYPE default for VTOL to 1 (return to home via mission landing if available) 2019-08-21 10:15:06 +02:00
Silvan Fuhrer 8a8cc3b52b Navigator: VTOL: set heading of transition of a VTOL_TAKEOFF to the VTOL_TAKEOFF waypoint (and enforce heading)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 10:08:04 +02:00
Silvan Fuhrer b1d38ee050 Navigator: VTOL: fix mission yawing timeout (MIS_YAW_TMT)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 10:08:04 +02:00
Silvan Fuhrer ab28f1e4f7 Navigator: VTOL: disable weather vane during yaw aligning before front transition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 10:08:04 +02:00
baumanta af0d63250c check velocity_setpoint instead of sticks in altitude mode 2019-08-21 10:02:40 +02:00
baumanta d168d5049f check vel_setpoint instead of stick input for position lock 2019-08-21 10:02:40 +02:00
Silvan Fuhrer 5a736c9af8 update babyshark VTOl config
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 05:23:25 +02:00
Daniel Agar 5d813224c8 PX4 SPI default to thread locking mode 2019-08-20 21:36:21 -04:00
Daniel Agar 7d248e0f45 px4fmu: move to WQ with uORB callback scheduling (#12224) 2019-08-20 20:24:12 -04:00
Daniel Agar b439e08e24 tone_alarm move to uORB::Subscription 2019-08-20 19:44:03 -04:00
Daniel Agar 5ae408382b led drivers and controller move to uORB::Subscription 2019-08-20 14:03:23 -04:00
Daniel Agar 41dee3875e VTOL: only run on actuator publications corresponding to VTOL mode 2019-08-20 13:50:34 -04:00
Tanja Baumann be233f6bc7 Collision Prevention: don't allow moving outside sensor FOV (#12741)
* don't allow moving outside FOV

* Update parameters in tests
2019-08-20 17:01:13 +02:00
Daniel Agar d38dfcfcd3 uORB::Subscription fix initialization but not yet published case
- otherwise uORB::Subscription will erroneously report published after the first successful initialization of an unpublished topic
2019-08-20 10:28:09 -04:00
Daniel Agar 6cf55ac83a av_x-v1 fix timer_config clock bit 2019-08-19 15:22:08 -04:00
Daniel Agar 737f5d4e3d px4io fix code style 2019-08-19 15:11:39 -04:00
dlwalter 310fd80405 added logic to encode NAN as INT16_MAX to transfer to IO from FMU 2019-08-19 21:08:11 +02:00
Hamish Willee c1c253d9be TRIG_PINS: clarify TRIG_PINS on FMU (#12714) 2019-08-19 14:45:59 +02:00
garfieldG 1958275495 drivers/boards/common: now checks if board has "px4-io" in its name instead of just "io" 2019-08-19 08:45:42 -04:00
Beat Küng a7eed520b4 commander: refactor module usage output 2019-08-19 10:54:56 +02:00
Beat Küng d64d3170c0 commander unit tests: enable preflight checks
- the last check expects pre_arm to run so we need to enable the
  preflight checks. This is closer to the real system.
- as a result we need to enable HIL for other tests so that the sensors
  are not checked.
2019-08-19 10:54:56 +02:00
Beat Küng 878ed8136c commander: add 'commander arm -f' command to force arming
This allows to bypass preflight and prearm checks.
During development there are regular cases where I just want to arm the
board/vehicle no matter what, and the preflight checks are guaranteed to
fail (e.g. sensors uncalibrated, inconsistent, powered via USB, etc.).
Allowing an easy and quick way to arm (assuming you know what you are
doing) helps to speed up development considerably and is less frustrating.
2019-08-19 10:54:56 +02:00
Beat Küng b8dba34fd0 commander arming_state_transition: do not call prearm_check if !fRunPreArmChecks
Reason: if you don't want preflight checks, you don't want prearm checks
either (these are the circuit breakers, like usb connected check).

The other changes are cleanup and rework of operations.

In most cases, arming_state_transition is called with fRunPreArmChecks set
to true, so no change in behavior.

The cases with fRunPreArmChecks=false are:
- unit tests
- in_arming_grace_period=true (quick arming after disarm)
- VEHICLE_CMD_PREFLIGHT_CALIBRATION (does not transition to armed)
2019-08-19 10:54:56 +02:00
Daniel Agar f9f2afd856 add .gitattributes to force all line endings to LF
- this improves the windows development experience when moving between cygwin, WSL, and native tools
 - cmd and bat files are left alone (we don't currently have any)
2019-08-18 14:13:26 -04:00
Daniel Agar 646519fa0d vscode disable selection drag and drop 2019-08-18 12:59:03 -04:00
Daniel Agar 24041370c0 vscode github pull request default merge method squash 2019-08-18 12:59:03 -04:00
Daniel Agar 3c33962e78 vscode disable telemetry and experiments 2019-08-18 12:59:03 -04:00
Daniel Agar 404984c355 vscode settings sort git ignoreLimitWarning 2019-08-18 12:59:03 -04:00
Daniel Agar 929b48099e vscode files watcher exclude build folder 2019-08-18 12:59:03 -04:00
Daniel Agar 6515c11048 vscode make astyle default formatter 2019-08-18 12:59:03 -04:00
Daniel Agar f3aba02654 vscode recommended extensions update docker and ros 2019-08-17 20:12:34 -04:00
Daniel Agar 24764c676e Jenkins hardware run logger and attempt to stop modules 2019-08-17 13:43:10 -04:00
Daniel Agar 67644e29b7 Jenkins hardware print AUX pwm info 2019-08-17 13:43:10 -04:00
Daniel Agar b9fc3ed2ab Jenkins hardware select airframe 4001 on fmu-v4 2019-08-17 13:43:10 -04:00
Daniel Agar 17c46623f9 Jenkins hardware default airframe 4001 -> 13000 (run all controllers) 2019-08-17 11:03:26 -04:00
Daniel Agar b8cdec65cc Jenkins hardware target general px4_fmu-v5 2019-08-17 11:03:26 -04:00
Daniel Agar 7adc43b795 px4_fmu-v5: add critical section monitor build (#12724) 2019-08-16 21:48:09 -04:00
Daniel Agar acc7067596 Jenkins hardware run adc test 2019-08-16 19:05:55 -04:00
Daniel Agar 76b9198522 kinetis/adc move to new WQ 2019-08-16 19:05:55 -04:00
Daniel Agar 746f13d2d4 stm32/adc move to new WQ 2019-08-16 19:05:55 -04:00
Daniel Agar 6e7e2b6e3b px4_fmu-v5: add irqmonitor build (#12723) 2019-08-16 19:01:16 -04:00
fghanei b28dda3926 rpi_rc_in: fix typo that was causing build to fail rpi 2019-08-16 15:52:49 -04:00
Daniel Agar 48f5ab2896 Update submodule mavlink v2.0 to latest Fri Aug 16 12:37:56 UTC 2019 (#12717)
- mavlink v2.0 in PX4/Firmware (be3d09c700): https://github.com/mavlink/c_library_v2/commit/0385f82286df78d51b06e5e325b13e2411ba2170
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/dc26ccd71dcb0138b23176233eade1c04a09b462
    - Changes: https://github.com/mavlink/c_library_v2/compare/0385f82286df78d51b06e5e325b13e2411ba2170...dc26ccd71dcb0138b23176233eade1c04a09b462

    dc26ccd 2019-08-15 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e5597b68bd5a98bf689aa056c623da480e7ef17a
2019-08-16 14:20:45 -04:00
Daniel Agar dacaabe92e introduce sensor_gyro_control message for vehicle_angular_velocity (#12145) 2019-08-16 13:53:59 -04:00
Daniele Pettenuzzo be3d09c700 uavcan: add optical flow support (Here Flow)
* move uavcan dsdlc generation to module
 * 20200.Measurement.uavcan sync with upstream project (https://github.com/OpenMotorDrive/flow/blob/master/dsdl/com/hex/equipment/flow/20200.Measurement.uavcan)

Signed-off-by: DanielePettenuzzo <daniele@px4.io>
2019-08-15 12:22:29 -04:00
Mathieu Bresciani dab66e92d3 Fix typo 2019-08-15 14:31:23 +02:00
Dennis Mannhart bf25c462b2 Orbit failsafe: switch internal_state to Posctrl such that Manual-Positionctrl is activated after failsafe recovery. This is needed because Orbit can only be invoked via vehicle_command msg. 2019-08-15 14:31:23 +02:00
Daniele Pettenuzzo 82ecf4d942 motor_ramp: set fmu in test mode and cleanup (#11249)
and restore pwm min after test
2019-08-15 09:42:07 +02:00
mcsauder d4fedca1ee Rename _accel_horz_lp -> _xy_accel_filtered to standardize naming, use time literal, and delete unneeded #includes in the FixedwingLandDetector class. 2019-08-14 23:10:20 -04:00
Martina 0414d59ee9 mavlink_main: stream OBSTACLE_DISTANCE to GCS 2019-08-14 13:32:15 -04:00
Julian Oes 82bee2bf54 mavlink: match commands aimed at any sysid/compid
When we send a command to any sysid or any compid, we need to match an
ack from a specific sysid or compid. If we don't do that, we keep
sending retransmissions and eventually time out.
2019-08-14 13:29:07 -04:00
Julian Oes a4fb18a6c4 commander: fix arming auth param translation
The int32 param COM_ARM_AUTH is mapped to a packed struct. However, this
struct was not actually packed (anymore) and therefore the values were
applied incorrectly.

I fixed this by applying the packed attribute. By using a union with a
int32_t I could rid of the warning about address-of-packed-member.
2019-08-14 13:29:07 -04:00
Daniel Agar b7f0db62ba mRo Control Zero F7 initial board support 2019-08-14 13:13:27 -04:00
Beat Küng 5cadb0aab1 px_mkfw: add git commit hash to .px4 file 2019-08-14 12:37:20 -04:00
mcsauder 9e055e9b21 Implement ModuleParams inheritance in the VtolLandDetector class. Requires PR #12356. 2019-08-14 11:58:14 -04:00
Jimmy Johnson 9e3493bd6e Update commander_params.c
Addressing parameter description syntax
2019-08-14 14:17:33 +02:00
Jimmy Johnson 3ab5932adf updating pre-takeoff and landding values to defaults 2019-08-14 14:17:33 +02:00
Jimmy Johnson 963467b4df splitting preflight and land disarm times into 2 parameters 2019-08-14 14:17:33 +02:00
Mark Owen e25db01620 Mavlink: Fix forwarding of messages with target system/component id (#12559)
Mavlink does not correctly forward messages that have the target_system or target_component routing fields in the message.

Some investigation revealed that the Mavlink::forward_message function is incorrectly utilizing the mavlink_msg_entry_t.target_system_ofs and mavlink_msg_entry_t.target_component_ofs fields. These offsets are intended to be used relative to the start of the message payload. But, as implemented, these offsets are incorrectly being used relative to the start of the message. This pull-request corrects that problem.

I also correctly made use of the mavlink_msg_entry_t.flags field to determine if a message contains a target_system or target component field. The previous check incorrectly assumed that they would always be non-zero if present.

Signed-off-by: Mark Owen <maowen801@gmail.com>
2019-08-13 07:16:09 -07:00
Beat Küng 166639be3a logger: unconditionally call _writer.notify()
The file writer thread could get into a state where it blocked infinitely
on pthread_cond_wait() (or rather until the logging stops).

This is very rare and the following conditions must be met:
- the buffer is almost empty (<4KB filled), so that the writer thread does
  not write anything.
- an fsync call is scheduled (happens once every second)
- the fsync call takes a long time (several 100ms), during which time the
  complete log buffer fills up.

The main thread would then get into dropout state where it does not call
_writer.notify() anymore.

Notifying the writer thread on every loop update of the main thread fixes
that.

It does not increase resource usage.
2019-08-12 08:07:37 +02:00
Mark Sauder 6abf2203a3 sensors: uniform initialization and whitespace formatting in voted_sensors_update.h 2019-08-10 02:14:22 -04:00
Daniel Agar 6413525645 uORB::PublicationQueued don't unadvertise on destruction (#12674)
* this is a bit of a hack for vehicle_command and vehicle_command_ack usage
2019-08-09 12:45:02 -04:00
Daniel Agar b5a01532ae vtol_att_control move to WQ with uORB callback scheduling (#12229)
* add perf counters for cycle time and interval
2019-08-09 12:44:11 -04:00
jie.zhang decb9a8982 mc_pos_control_main: Fixed missing semicolon 2019-08-09 17:00:43 +02:00
Julian Kent d70b024ec7 GTest functional tests that include parameters and uORB messaging (#12521)
* Add kdevelop to gitignore

* Add test stubs

* Rename px4_add_gtest to px4_add_unit_gtest

* Add infrastructure to run functional tests

* Add example tests with parameters and uorb messages

* Fix memory issues in destructors in uORB manager and CDev

* Add a more real-world test of the collision prevention
2019-08-09 15:10:09 +02:00
bresch 4eb9c7d812 Create TrajMath library and move waypoint speed calculations in it 2019-08-09 12:04:48 +02:00
bresch b1698b78bc AutoSmoothVel - scale down acc_hor using traj_p parameter in the computation of the maximum waypoint entrance speed 2019-08-09 12:04:48 +02:00
bresch de10f1e04d MC auto - Modify yaw_sp_aligned to take mis_yaw_error tolerance.
Add check for this flag in AutoLine
2019-08-09 12:04:48 +02:00
Dennis Mannhart 9e9b2ab9e8 FlightTaskAutoLine/SmoothVel: stop at waypoint if altitude is has not been reached yet 2019-08-09 12:04:48 +02:00
bresch 255c911155 AutoSmoothVel - Compute desired speed at target based on angle between previous-current and current-next waypoints
Also remove crosstrack P controller that produces overshoots when the
acceptance radius is large (crosstrack error is suddenly large at
waypoint switch).
2019-08-09 12:04:48 +02:00
Silvan Fuhrer 07895cd3b6 Airspeed Selector: resolve conflics for wind estimate topic publishing after rebase
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer d129fcccd5 Omnibus: take out local_position_estimator from build as was out of flash after ecl update for airspeed selection module
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer 5bc6979796 AirspeedSelector: added RTPS ID for airspeed_validated message
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer cedf14e2ba Airspeed Selector: repurpose wind estimator into an airspeed (selection, validation) module.
This new airspeed module does:
  -runns an airspeed validator for every airspeed sensor present, which checks measurement validity and estimates an airspeed scale
  -selects another airspeed sensor if for the current one a failure is detected
  -estimates airspeed with groundspeed-windspeed if no valid airspeed sensor is present
  -outputs airspeed_validated topic

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer 970e362e9a Increased stack of lp work queue as with new airspeed modudle it was getting low
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer 50dc8aee7a Airspeed Selector: added airspeed validator class
This validator takes measurements from a single airspeed sensor and:
    -checks validity of measurement
    -can estimate an airspeed scale factor (estimation enabled with parameter setting) to accout for errors in airspeed due due placement of sensor

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Silvan Fuhrer 248e1818e2 Airspeed Selector: changes in airspeed library to account for new EAS state (equivalent airspeed)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Claudio Micheli aae16cc594 uavcan esc: use time literals for timeout checks.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 2eb9fb9ed6 Commander: move esc_status as local variable.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 5fe7992af5 mixer_group: improved get_multirotor_count () code readbility.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 09d79b221f Simplified esc_status healthiness logic.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 8a2d05be4f Improved code comment for condition_escs_error topic.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 75c336c00c uavcan_main: replaced printf messages with PX4_INFO
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 1e04d718f6 uavcan escs: Modified esc_status reporting to have _rotor_count published.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 187a025dfe Commander: added esc_status prearm checks
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli d06c679252 uavcan esc: added timeout checks to escs.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Claudio Micheli 03637fa6f1 Added topics to esc_status and vehicle_status_flags.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-08-09 09:41:17 +02:00
Mark Sauder 056c8000a1 MultiCopterLandDetector: Implement ModuleParams inheritance (#12356) 2019-08-09 07:57:42 +02:00
Daniel Agar 2f222d6cbf containers/List add nullptr check 2019-08-09 07:55:13 +02:00
Daniel Agar 9481b3b232 Update submodule mavlink v2.0 to latest Fri Aug 9 02:59:05 UTC 2019 (#12669)
- mavlink v2.0 in PX4/Firmware (e8a11086eb): https://github.com/mavlink/c_library_v2/commit/72832840733f0d78cda7e2071a6bf6c7fc3f9273
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/0385f82286df78d51b06e5e325b13e2411ba2170
    - Changes: https://github.com/mavlink/c_library_v2/compare/72832840733f0d78cda7e2071a6bf6c7fc3f9273...0385f82286df78d51b06e5e325b13e2411ba2170
2019-08-09 00:15:38 -04:00
PX4 Build Bot 34ed454ea9 Update submodule ecl to latest Fri Aug 9 02:59:11 UTC 2019
- ecl in PX4/Firmware (e93e676c38bc3ce2e57c20a8dc33ffe377826903): https://github.com/PX4/ecl/commit/d38164fc8e68b740405669127138e550c3c7375c
    - ecl current upstream: https://github.com/PX4/ecl/commit/62fa464e4dd6cb5e585d23bd353aa50a469879f7
    - Changes: https://github.com/PX4/ecl/compare/d38164fc8e68b740405669127138e550c3c7375c...62fa464e4dd6cb5e585d23bd353aa50a469879f7

    62fa464 2019-07-17 RomanBapst - WindEstimator: added support for pre-set airspeed scale factor
a7d9c73 2019-07-09 Silvan Fuhrer - Wind estimator: added wind_estimator_reset state (to indicate if wind estimator was reset in last fusion-cycle)
09f29db 2019-07-02 Silvan Fuhrer - added option to fix airspeed scaling to 1
2019-08-08 23:39:43 -04:00
Daniel Agar e8a11086eb create uORB::PublicationMulti for multi publications 2019-08-08 21:01:56 -04:00
Daniel Agar 0a0c404a08 mavlink receiver move to uORB::Publication 2019-08-08 21:01:56 -04:00
David Sidrane 21782603b3 px4_fmu-v5x: add networking
* fixed dropped CONFIG_LIBC_FLOATINGPOINT=y
* fix RMII TX pinning
* update platforms/nuttx/NuttX/nuttx w/ f7 eth
2019-08-08 20:38:56 -04:00
mcsauder 887b55269a Delete whitespace to quiet githooks. 2019-08-08 18:56:26 -04:00
Daniel Agar c6aaa606da sensors angular velocity and acceleration publishers fix auto usage
- if the primary gyro or accel change this will cause the callback to be registered multiple times
2019-08-08 11:36:27 -04:00
RomanBapst 62fa464e4d WindEstimator: added support for pre-set airspeed scale factor
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-08 09:15:25 +02:00
Silvan Fuhrer a7d9c73d4d Wind estimator: added wind_estimator_reset state (to indicate if wind estimator was reset in last fusion-cycle)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-08 09:15:25 +02:00
Silvan Fuhrer 09f29dbb07 added option to fix airspeed scaling to 1 2019-08-08 09:15:25 +02:00
Daniel Agar c66fc85630 fw_pos_control_l1: move to WQ with uORB callback scheduling 2019-08-07 23:13:21 -04:00
Daniel Agar cab0aee2a0 fw_att_control: move to WQ with uORB callback scheduling 2019-08-07 22:54:44 -04:00
Daniel Agar 0955fd2d58 NuttX boards reduce CONFIG_NFILE_DESCRIPTORS 54 -> 20 2019-08-07 21:23:27 -04:00
Daniel Agar e43e37cc46 fw_pos_control_l1 add new simple min groundspeed 2019-08-07 18:50:42 +02:00
Matthias Grob 161429f8c6 voted_sensors_update: refactor to camelCase function names 2019-08-07 18:44:39 +02:00
Matthias Grob 89a0a3acb6 PreflightCheck: improve output in case of mag inconsistency 2019-08-07 18:44:39 +02:00
Matthias Grob fe37ee2b7f voted_sensors_update: refactor out matrix:: because of using namespace 2019-08-07 18:44:39 +02:00
Matthias Grob 45187e1aa8 Improve magnetometer inconsistency check
To check directional difference between the magnetometer field vectors
instead of vector component difference.
2019-08-07 18:44:39 +02:00
Daniel Agar 83e532d339 logger move to uORB::SubscriptionInterval (#12123) 2019-08-07 11:02:16 -04:00
baumanta e91614c791 change angle parmeter to degrees 2019-08-07 15:29:13 +02:00
baumanta f80a539faa add unit for coll prev angle 2019-08-07 15:29:13 +02:00
baumanta 14f128b89d add parameter for detection angle 2019-08-07 15:29:13 +02:00
baumanta 150b5df7cb change size of reaction angle 2019-08-07 15:29:13 +02:00
baumanta b26d3ac9d4 no slinding in collision prevention (roll jerk fix) 2019-08-07 15:29:13 +02:00
Daniel Agar a917f22b65 sensors: create vehicle_acceleration module (#12597) 2019-08-07 05:05:48 -04:00
bresch 50fbb56737 Yaw mode 3 - Add check for minimum distance to target in MPC_YAW_MODE 3 (along trajectory) to be consistent with the other yaw modes 2019-08-07 10:30:34 +02:00
Martina 119e5e3182 Revert "CollisionPrevention only process distance_sensor updates"
This reverts commit 839787568c.
2019-08-07 04:01:50 -04:00
Daniel Agar 6e781c2289 InvenSense ICM20948 move to PX4Accelerometer, PX4Gyroscope, PX4Magnetometer helpers 2019-08-06 23:36:31 -04:00
Daniel Agar 5421ef5535 NuttX increase HPWORK and LPWORK stack by 256 bytes 2019-08-06 23:15:07 -04:00
Daniel Agar 4c329c3b4b simple circleci.com px4_fmu-v5 build & archive example 2019-08-06 19:07:21 -04:00
Daniel Agar 7b179776e2 vehicle_angular_velocity: sensor_selection callback
- needed to update the main sensor_gyro subscription if the primary
stops responding
2019-08-06 14:23:57 -04:00
Daniel Agar b945e28e08 uORB fix vehicle_angular_velocity RTPS id 2019-08-06 13:39:56 -04:00
Daniel Agar 2ad12d7977 sensors: create vehicle_angular_velocity module (#12596)
* split out filtered sensor_gyro aggregation from mc_att_control and move to wq:rate_ctrl
2019-08-06 12:55:25 -04:00
Daniel Agar bf0eaf4d54 bloaty fix master comparison
- jenkins add new sections and segments output
2019-08-06 11:57:53 -04:00
Daniel Agar 6f2d1d55f6 logger use uORB::PublicationQueued for ulog_stream
- queue depth is now set by the msg
2019-08-06 11:07:59 -04:00
Daniel Agar 5b511eaa1a logger move non-logged subscriptions to uORB::Subscription 2019-08-06 11:07:59 -04:00
Daniel Agar 9d701a077d NuttX reduce stack for interrupts, HPWORK, LPWORK 2019-08-06 11:00:55 -04:00
Daniel Agar bf474028ff px4flow add parameter to enable (SENS_EN_PX4FLOW)
- fixes https://github.com/PX4/Firmware/issues/12571
2019-08-06 10:55:35 -04:00
garfieldG d3ba9c59e0 mavlink: added check if instance mode is serial when trying to find if instance exists (#12642) 2019-08-06 10:53:07 -04:00
David Sidrane 5a1c46deeb fmuv5x:Use ADC3 for HW VER/REV detection
fmu-v5x:hrt needs to be running for ADC time out

       Fixes bug introduced in 320d2e adding platform layer.
2019-08-06 10:46:37 -04:00
David Sidrane 890f805b37 adc:Add that ability to select an ADC 2019-08-06 10:46:37 -04:00
David Sidrane 0ebb87357f fmu-v5:hrt needs to be running for ADC time out
Fixes bug introduced in 320d2e adding platform layer.
2019-08-06 10:46:37 -04:00
Daniel Agar 8f5b7de498 uORB::Subscription minor API cleanup
* the forceInit() method was combined with the existing subscribe()
 * delete unused last_update()
2019-08-06 10:28:49 -04:00
RomanBapst cfba41d2f4 posix configs: set trigger interface to mavlink as it's the only one
supported on posix

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-06 08:08:56 +02:00
RomanBapst cd85f584cf camera trigger: do not try to start if interface was not created
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-06 08:08:56 +02:00
David Sidrane f21dc82c24 Add i2cdetect to K66 2019-08-05 19:40:32 -04:00
David Sidrane e8d874cf34 i2cdetect do not exceed 100Khz 2019-08-05 19:40:32 -04:00
Daniel Agar 64f105b530 Update submodule nuttx to latest Mon Aug 5 20:30:34 UTC 2019 (#12636)
- nuttx in PX4/Firmware (be76f909beadfe80415b733c020695efb042adef): https://github.com/PX4/NuttX/commit/b4013dcd4a9ec8edf412277fa3e4dccd419089c1
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/14f4dc735a6f092b7acbf5861c0b9f1ed5e19216
    - Changes: https://github.com/PX4/NuttX/compare/b4013dcd4a9ec8edf412277fa3e4dccd419089c1...14f4dc735a6f092b7acbf5861c0b9f1ed5e19216

    14f4dc7 2019-08-05 David Sidrane - [BACKPORT] kinetis:i2c transfer ensure correct result returned
2019-08-05 13:32:46 -07:00
Daniel Agar a6777ca4f1 uORB add RTPS message id for new wheel_encoders msg 2019-08-05 12:34:48 -04:00
Martina Rivizzigno 19ad80385e ObstacleAvoidance: update empty_trajectory_waypoint 2019-08-05 16:05:40 +02:00
Martina Rivizzigno e0893c383d increase mc_pos_control stack from 1300 to 1500 2019-08-05 16:05:40 +02:00
Martina Rivizzigno d29f2ff60c ObstacleAvoidance: use hysteresis on z to check progress towards the goal 2019-08-05 16:05:40 +02:00
Martina Rivizzigno 39e59d6cc4 add point type (mavlink command associated with wp) in Obstacle Avoidance interface 2019-08-05 16:05:40 +02:00
Andrei Korigodski 4d5f922e7a commander: use shutdown_if_allowed() to check for shutdown safety
Signed-off-by: Andrei Korigodski <akorigod@gmail.com>
2019-08-05 05:55:33 -07:00
Andrei Korigodski 5133453822 vehicle_status: replace ARMING_STATE_REBOOT with ARMING_STATE_SHUTDOWN
Signed-off-by: Andrei Korigodski <akorigod@gmail.com>
2019-08-05 05:55:33 -07:00
Andrei Korigodski 4a330c6e0a commander: do not reboot on USB disconnect when armed
Signed-off-by: Andrei Korigodski <akorigod@gmail.com>
2019-08-05 05:55:33 -07:00
mcsauder 2e3926b577 Fix a corner case that prevented mavlink config streams from being indexed appropriately when USB is not connected at boot.
Break out Mavlink class constructor logic into set_instance() and set_channel() methods. and add const specifiers and default arguments to Mavlink::mavlink_open_uart().
2019-08-05 05:02:20 -07:00
Matej Frančeškin 3d993773ae Mavlink FTP: Fix for wrong component id in retry 2019-08-05 13:51:10 +02:00
RomanBapst 43d006aff2 mavlink command sender: give channels more time to request command
- if a channel receives an ack for a command, do not immediately remove the
command item from the send queue but wait until the next ack timeout occurs.
This gives other mavlink channels time to try to put identical commands into
the send queue.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-05 12:07:05 +02:00
RomanBapst 71791fa8f8 mavlink_command_sender: don't try to resend command to instance which
did not request this command

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-05 12:07:05 +02:00
RomanBapst 807cfc8aac mavlink: fix race condition in mavlink_command_sender
- if we receive an ack for a command through a specific mavlink channel
then do not drop the corresponding command in the queue if this specific
mavlink channel did not issue the command. If we don't do this we can
end up in a situation where we associate an ack coming through a specific
mavlink channel to a command in the queue which was not requested by this mavlink channel.
Moreover, the actual command for which the ack was meant remains in the
queue and eventually triggers a timeout.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-08-05 12:07:05 +02:00
Timothy Scott 830d576f45 Changed wheel encoder publication to multi-instance 2019-08-05 02:45:33 -07:00
Timothy Scott 3850322046 Added module.yaml and serial port configuration. 2019-08-05 02:45:33 -07:00
Timothy Scott 35dae9e285 More code cleanup 2019-08-05 02:45:33 -07:00
Timothy Scott ee5a790ecb Removed some parameters 2019-08-05 02:45:33 -07:00
Timothy Scott 834ae3128f Implemented reading speed from the Roboclaw 2019-08-05 02:45:33 -07:00
Timothy Scott 2406aa8b50 Further fixing up parameters 2019-08-05 02:45:33 -07:00
Timothy Scott 2b79684f29 Added parameters 2019-08-05 02:45:33 -07:00
Timothy Scott ffe505b76b Fixed timeout error handling 2019-08-05 02:45:33 -07:00
Timothy Scott e6dc847360 Minor cleanup 2019-08-05 02:45:33 -07:00
Timothy Scott 71067a7e2d Fixed timeout handling 2019-08-05 02:45:33 -07:00
Timothy Scott f780191c5a Fixed disarming 2019-08-05 02:45:33 -07:00
Timothy Scott b5cf8416b6 Publishing encoder message at regular intervals 2019-08-05 02:45:33 -07:00
Timothy Scott 60da26978f Ongoing encoder work 2019-08-05 02:45:33 -07:00
Timothy Scott 0b3f636603 Ongoing encoder work 2019-08-05 02:45:33 -07:00
Timothy Scott 6ea03bee58 Ongoing work to update RoboClaw driver 2019-08-05 02:45:33 -07:00
Daniel Agar cfdabb26d7 update all docker tags 2019-03-08 -> 2019-07-29 2019-08-05 00:19:18 -04:00
Daniel Agar 030508a71d cmake make bloaty available everywhere and improve output 2019-08-05 00:19:18 -04:00
Daniel Agar a2288b1e16 AV-X board_config.h fix ADIS16497 chip select 2019-08-05 00:14:03 -04:00
TSC21 618ce49479 rtps: ids: add missing aliased topics 2019-08-04 20:04:19 +01:00
TSC21 47f5b23419 rtps: generation scripts: make indexing of lists possible in both Python 2 and 3 2019-08-04 20:04:19 +01:00
Daniel Agar e69398c09f introduce uORB::PublicationQueued and transition most orb_advertise_queue usage 2019-08-04 10:08:09 -04:00
Daniel Agar 839787568c CollisionPrevention only process distance_sensor updates 2019-08-04 10:04:09 -04:00
Daniel Agar 34598fe353 mavlink uavcan parameters initialize value 2019-08-03 15:05:34 -04:00
Daniel Agar 6a6bc4be58 drivers helper classes remove empty publication (forced advertise)
- this is no longer necessary with all publications outside of ISRs
2019-08-03 14:08:45 -04:00
Daniel Agar 483280236b mavlink use all ORB battery_status instances instead of BOARD_NUMBER_BRICKS 2019-08-03 13:36:42 -04:00
Daniel Agar 991669073e Jenkins HIL run sd_bench and configure as multicopter 2019-08-03 11:22:31 -04:00
Daniel Agar dcccbbe584 Mavlink receiver ODOMETRY fix code style 2019-08-02 21:36:20 -04:00
Nick Steele b203bc15df Fix rotation of odometry velocities from body frame to local frame in the mavlink receiver odometry handler
Summary:
PX4 assumed that odometry orientation was a way to rotate data from parent frame to child frame, so to rotate child to parent, it was taking the inverse rotation of the odometry orientation,
but orientation rotates the parent frame to the child frame, whereas for data, it represents a rotation from child to parent; hence, the rotation inverse operations were removed.

Test Plan: Checked that vehicle_mocap_odometry and vehicle_local_position gave correct linear velocities. Also visualized px4 output twist in rviz.
2019-08-02 23:15:47 +01:00
Daniel Agar 77694183b2 delete position_estimator_inav 2019-08-02 17:38:28 -04:00
Karl Schwabe d301c22665 Bosch BMI088 initial driver 2019-08-02 13:38:36 -04:00
PX4 Build Bot 5f962401cb Update submodule DriverFramework to latest Fri Aug 2 08:39:05 EDT 2019
- DriverFramework in PX4/Firmware (eda49a4b63): https://github.com/PX4/DriverFramework/commit/06277ef49fb8c9fad18d56ef40e8bc9fe1655a65
    - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/c7d2fe2d4f5954b9042af4edf7e5aeb21dbdd129
    - Changes: https://github.com/PX4/DriverFramework/compare/06277ef49fb8c9fad18d56ef40e8bc9fe1655a65...c7d2fe2d4f5954b9042af4edf7e5aeb21dbdd129

    c7d2fe2 2019-07-23 Andrii Beregovenko - Fix missing symbol from librobotcontrol
2019-08-02 10:36:38 -04:00
Timothy Scott 39a5799e65 Mavlink: fixed temperature for batteries (#12605) 2019-08-02 10:09:03 -04:00
Martina Rivizzigno 959a35b3bd add safe_landing_planner to CI 2019-08-02 09:12:02 -04:00
Martina Rivizzigno 14501dfdf2 update local_planner ci to avoidance stable release 0.3.0 2019-08-02 09:12:02 -04:00
Martina Rivizzigno c2a5fc0520 Jenkinsfile-SITL_tests: bump kinetic container to 2019-07-29 tag 2019-08-02 09:12:02 -04:00
Daniel Agar eda49a4b63 PixArt PAW3902 optical motion tracking driver (#12576) 2019-08-01 23:43:26 -04:00
Mark Sauder e0c85c8831 ll40ls: correct a write_reg issue (#12604)
* deprecate a goto statement
 * migrate to uniform initialization in LidarLite base class.
2019-08-01 23:41:05 -04:00
PX4 Build Bot 8609be28a7 Update submodule v2.0 to latest Thu Aug 1 18:09:13 EDT 2019
- v2.0 in PX4/Firmware (d0f1a551e9): https://github.com/mavlink/c_library_v2/commit/18cf6ff2fc0e51e4555b19fc31e8b06eb38bdd79
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/72832840733f0d78cda7e2071a6bf6c7fc3f9273
    - Changes: https://github.com/mavlink/c_library_v2/compare/18cf6ff2fc0e51e4555b19fc31e8b06eb38bdd79...72832840733f0d78cda7e2071a6bf6c7fc3f9273

    7283284 2019-07-26 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/9c1d1feec0f2bd7ee7f408bed53f3de90a16c537
51a62d5 2019-07-23 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/06e378b91a620d20d99fe1476d57bc41e7210b18
477a5b6 2019-07-11 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/6e06b09b9ceb1d03c8f54e91494ab84901d33d9c
2a9615b 2019-07-10 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e2c91dcc8c389a02a5e2f02b18662a951af7a33d
cd2a362 2019-07-07 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/8b75e0a5a74429c98aa0b33a8b65fe3a7384d38d
beb7890 2019-06-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/95031e31a5eec47dc951fc09e2939071b8cf3c2b
614164b 2019-06-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/595037a9fbd95ab51d84497f7d1cff3f998ba76e
2019-08-02 00:30:10 +01:00
Daniel Agar f7c9acbdab Update submodule nuttx to latest Thu Aug 1 18:09:20 EDT 2019 (#12603)
- nuttx in PX4/Firmware (210dbb5b8365eb003453695aa4711044bb6d49be): https://github.com/PX4/NuttX/commit/257e1730dca1faafdf3a694ba53da423f46d569c
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/b4013dcd4a9ec8edf412277fa3e4dccd419089c1
    - Changes: https://github.com/PX4/NuttX/compare/257e1730dca1faafdf3a694ba53da423f46d569c...b4013dcd4a9ec8edf412277fa3e4dccd419089c1

    b4013dc 2019-08-01 David Sidrane - [BACKPORT] stm32l4:serial add HW HS on UART 4 & 5
4380c12 2019-08-01 David Sidrane - [BACKPORT] stm32h7:serial add HW HS on UART 4 & 5
0ff3e6c 2019-08-01 David Sidrane - [BACKPORT] stm32:serial add HW HS on UART 4 & 5
316126f 2019-07-31 David Sidrane - [BACKPORT] stm32f7:serial add HW HS on UART 4 & 5
2019-08-01 16:14:45 -07:00
Matthias Grob d0f1a551e9 manual_contol_setpoint: fix mode slot numbering (#12578)
* This fix is necessary because usually uORB structs get initialized with
all zeros and then get filled with the fields that are actually in use.
 * The number 0 for the mode slot was already commanding to switch to the
mode in slot one even though for example the joystick input via mavlink
does not use this mechanism at all.
2019-08-01 12:27:58 -04:00
Anthony Lamping 5d986f2030 posix: add argument to change the CWD (#12482) 2019-08-01 12:25:35 -04:00
Daniel Agar 4bf9344913 camera_trigger: move to new WQ and uORB::Subscription 2019-08-01 12:24:12 -04:00
Daniel Agar bc9fb26ccd commander esc_calibration move to uORB::Subscrition 2019-07-31 20:30:05 -04:00
Burak Saruhan 7789e2de88 sensors: mag reload calibration parameters when first seen (#12586)
* fixes UAVCAN MAG calibration application after reboot
2019-07-31 15:22:59 -04:00
Daniel Agar 29c50da1f6 ll40ls: cleanup and create PX4Rangerfinder helper class (#12567) 2019-07-31 15:17:35 -04:00
dvornikov-aa e9397eeb75 ll40ls: fix LIDAR-Lite v3 initialization (#12453) 2019-07-31 13:00:30 -04:00
Matej Frančeškin 1600b0fd82 Mavlink FTP - return ENOENT when directory doesn't exist (#12589) 2019-07-31 15:22:46 +02:00
Timothy Scott eaaf66e46b INA226::init Restored return OK in trigger mode
Restore return state that was lost in e4926373e6
2019-07-31 03:20:46 -07:00
garfieldG 487addbba5 rc.autostart: add error reporting (#12527)
-Fixed bug : cd to /etc/init.d/airframes, but no cd after
-Added error report to user if value of SYS_AUTOSTART param value is incorrect
2019-07-31 07:37:40 +02:00
David Sidrane a90c87a791 px4fmu-v5x:BMI055->BMI088 (#12582) 2019-07-30 15:54:17 -07:00
David Sidrane 0300a380cf fmuv5x:Missing define PX4_SPI_BUS_SENSORS 2019-07-30 10:49:03 -04:00
David Sidrane 423dd23ff1 fmu-v5x:SPI fix Typo on SPI4 causing assertion 2019-07-30 10:49:03 -04:00
David Sidrane 25b95dcd0c px4fmu-v5x:Fix up start script
Fix commandline for bmm150
    Add 2 internal bmp388 - needs works
    Add 2 ina2662
2019-07-30 10:49:03 -04:00
David Sidrane 72c742f53d px4_fmuv5x:Update to master single wire 2019-07-30 10:49:03 -04:00
David Sidrane 7c1d616187 px4_fmuv5x:Fix GPS 2019-07-30 10:49:03 -04:00
David Sidrane 7eb7db476c px4_fmuv5x:Fixed SDMMC DMA 2019-07-30 10:49:03 -04:00
David Sidrane 13e777c2ce px4_fmuv5x:Use slot 0 with SDMMC2 2019-07-30 10:49:03 -04:00
Daniel Agar 0e949a36ee task_stack_info increase task_name length to match NuttX CONFIG_TASK_NAME_SIZE 2019-07-30 10:47:10 -04:00
Daniel Agar 0dc8119c89 listener print strings 2019-07-30 10:47:10 -04:00
PX4 Build Bot ca74b3fef1 Update submodule nuttx to latest Mon Jul 29 12:38:24 UTC 2019
- nuttx in PX4/Firmware (0654fdcf0ec7e45cc1e1ca5cc38de6c5e36417bc): https://github.com/PX4/NuttX/commit/feb5b6f1743fc3376008013f7dbd16dbc8501f10
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/257e1730dca1faafdf3a694ba53da423f46d569c
    - Changes: https://github.com/PX4/NuttX/compare/feb5b6f1743fc3376008013f7dbd16dbc8501f10...257e1730dca1faafdf3a694ba53da423f46d569c

    257e173 2019-07-26 David Sidrane - [BACKPORT] stm32f7:If only one SDMMC it is slot 0
2019-07-29 10:59:28 -04:00
Daniel Agar 75531125a2 lsm303d split out header and main 2019-07-29 10:57:51 -04:00
Daniel Agar 87200d7954 lsm303d driver move to PX4Accelerometer/PX4Magnetometer and cleanup 2019-07-29 10:57:51 -04:00
Daniel Agar 203d9327ee osd/atxxxx move to new WQ and uORB::Subscription 2019-07-29 10:52:33 -04:00
RomanBapst b75d2ce982 set trajectory generating flight task as default (MPC_POS_MODE = 3)
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst a8071589bc increase default fixed wing rate controller I term
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst 77fd290b0c added default expo for yaw and x/y/z velocity demand in position mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst 81ae85015f changed defaults of MPC acceleration limit parameters
- vehicle will fly less aggressive
- it does not make sense to set the lower acceleration limit to something
that exceeds gravity if most of the vehicles do not support reverse thrust

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst a5d3e10c67 MPC_MAN_Y_MAX: changed default from 200 to 150 deg/s
- we have set the maximum yaw-rate MC_YAWRATE_MAX to 200 degrees and it
makes senses to leave a bit of margin between what the user can demand
and what the limits of the vehicle are

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst f0cdd9be60 MPC_Z_VEL_I: changed default from 0.02 to 0.1
- generally better attitude tracking
- much better altitude control immediately after takeoff (hover throttle offset)
- faster landing detection

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
Daniel Agar be99d2f111 sih: fix code style 2019-07-28 11:18:02 -04:00
Daniel Agar 09eaef82f6 sih: move to PX4Accelerometer/PX4Gyroscope/PX4Magnetometer/PX4Barometer helpers 2019-07-28 11:18:02 -04:00
Mark Sauder f432f74611 ulanding: refactor driver to utilize ScheduledWorkQueue class inheritance (#11894)
* Migrate variable initialization from constructor list to declaration uniform initialization, format whitespace, alphabetize/group/order variables and methods in ulanding.cpp.

* Refactor the uLanding driver to utilize the ScheduledWorkQueue.
2019-07-28 10:51:01 -04:00
Anthony Lamping ff8e70f6b3 jenkins: archive catkin test logs on failure 2019-07-28 10:25:36 -04:00
Daniel Agar 97445b60aa commander preflightcheck update orb usage to uORB::SubscriptionData 2019-07-28 10:22:47 -04:00
Daniel Agar 1d191cc141 px4flow driver move to new WQ and cleanup 2019-07-26 20:03:21 -04:00
Daniel Agar a462bfeb53 vscode add v5x variant (for cmake configure) 2019-07-26 12:59:27 -04:00
PX4 Build Bot 36534d5bab Update submodule ecl to latest Fri Jul 26 12:38:35 UTC 2019
- ecl in PX4/Firmware (83316cf7b0484e7ba7f9b61201dea7215185da49): https://github.com/PX4/ecl/commit/e1751188fd15b799cbfae86bd7373bb91206069b
    - ecl current upstream: https://github.com/PX4/ecl/commit/d38164fc8e68b740405669127138e550c3c7375c
    - Changes: https://github.com/PX4/ecl/compare/e1751188fd15b799cbfae86bd7373bb91206069b...d38164fc8e68b740405669127138e550c3c7375c

    d38164f 2019-07-21 Jaeyoung-Lim - Fix flag for initialization
2019-07-26 12:04:07 -04:00
TSC21 eb951ede6a urtps templates: minor cleanup 2019-07-26 15:05:54 +02:00
TSC21 11a28665b7 px_generate_uorb_topic_files: cleanup uneeded conditions 2019-07-26 15:05:54 +02:00
TSC21 85bcfd7d72 generate_microRTPS_bridge: remove commented code 2019-07-26 15:05:54 +02:00
TSC21 2b4c878e77 rebase: sync up submodules 2019-07-26 15:05:54 +02:00
TSC21 c15e54445e increase cutoff margin for alias matching 2019-07-26 15:05:54 +02:00
TSC21 5b2d952e4b add checker for multitopic msg naming 2019-07-26 15:05:54 +02:00
TSC21 3d9f83a4f2 microRTPS_bridge: structural change to make possible to generate pub/sub code for multi-topics/aliased msgs 2019-07-26 15:05:54 +02:00
TSC21 a747116eab microRTPS bridge: make mandatory that all the uORB messages have their RTPS id 2019-07-26 15:05:54 +02:00
Julian Oes 98dfa30838 commander: fix disarming for rovers
We have to ignore the landed flag for rovers, it doesn't really apply
for them.
2019-07-26 02:52:38 -07:00
Julian Oes 308d91e5ff commander: prevent potential disarms in-air
This fixes the terrifying case where the drone disarms in-air just
because it receives a MAVLink disarm command. We now check param2 for a
magic number which enforces arming/disarming.

This is added to the mavlink protocol in:
https://github.com/mavlink/mavlink/pull/1162
2019-07-26 02:52:38 -07:00
Daniel Agar 71613ac631 Jenkins fetch all tags 2019-07-25 11:14:16 -04:00
Timothy Scott 57352ae3bd Reinstated rover CI test 2019-07-25 10:53:39 -04:00
Timothy Scott 80f2603b17 Fixed timing of rover pos control 2019-07-25 10:53:39 -04:00
Beat Küng 4f090980ab kakutef7 board_config: remove usb valid defines
Otherwise 'system_power' gets published with voltage5v_v = 0, as there is
no 5V sensing pin, leading to Avionics Power Low preflight check failures.
2019-07-25 10:38:57 -04:00
Beat Küng 72ddf3e0aa tune_control: use orb queue advertisement consistently 2019-07-25 10:38:57 -04:00
Beat Küng c869cb0ea5 validate_yaml.py: fix for python3
RuntimeError: dictionary changed size during iteration
2019-07-25 10:38:57 -04:00
Beat Küng 8e5aaff76b airframes: add Kopis 2 2019-07-25 10:38:57 -04:00
Matthias Grob 5afa404b7f appveyor: fix PX4 version format check
by removing shallow clone such that we can infer the version from the
last tag
2019-07-25 10:36:58 -04:00
David Sidrane e296297ab7 Revert "hotfix for logger: use '%i' instead of '%zu'"
This reverts commit e6aa035209.
  Root cause was fixe in Nuttx and backported
2019-07-25 05:28:46 -07:00
David Sidrane df0599913e Firmwarte master with nuttx printf backport 2019-07-25 05:28:46 -07:00
RomanBapst c0053409a3 ak09916: fixed driver not reporting magnetometer as external
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-25 13:17:08 +02:00
Hamish Willee 2b8337e5e2 Add units for EKF2_RNG_A_HMAX and EKF2_RNG_A_VMAX (#12545) 2019-07-25 08:09:35 +02:00
Julien Lecoeur 8f47535b54 ROMFS: fix airframe incremental build 2019-07-24 05:40:53 -07:00
Julien Lecoeur 24c2846750 ROMFS: add explicit dependency to parser scripts 2019-07-24 05:40:53 -07:00
RomanBapst 2fbb70d9ca mc_att_control: output zero throttle in manual mode when landed
- MPC_MANTHR_MIN is used as minimum throttle in attitude control mode when
the vehicle is in air. This is useful to retain some control around roll and
pitch axis if airmode is not enabled and the user demands zero throttle.
However, when the vehicle is landed there is not need to keep the throttle
at a higher value than zero.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-23 17:12:45 +02:00
Beat Küng ac5669deb4 CI: ensure 'git fetch --tags' is executed for all Firmware builds 2019-07-23 13:16:43 +02:00
Beat Küng 05ff7bb731 version: validate format of the git tag
This fails the build if a wrong version tag is used.
A wrong tag leads to wrong reporting in QGC, and incorrect error messages
about minimum required PX4 version.
It also leads to wrong statistics on Flight Review.
2019-07-23 13:16:43 +02:00
Timothy Scott 2ed8ebf889 rover_pos_control: refactor to ModuleBase and use C++ Param API 2019-07-23 11:16:52 +02:00
Julien Lecoeur e23e3d7bae Airframe parser: add docs 2019-07-22 13:02:45 +02:00
Julien Lecoeur daeba4e75f Add airframe .post scripts on NuttX targets 2019-07-22 13:02:45 +02:00
Jaeyoung-Lim d38164fc8e Fix flag for initialization 2019-07-22 10:24:51 +02:00
Matthias Grob e964af9262 commander_params: enable RC override by default
It doesn't affect fixed wing flying anymore. I disabled it for the
deltaquad since I presume @sanderux prefers to have the feature disabled
even when flying in multicopter mode.
2019-07-22 09:57:37 +02:00
Matthias Grob 706500f19c Commander: make RC override multicopter only
AAs discussed in the devcall this functionality is only useful for
rotary-wing (multicopter) flying since it's a big safety hazard to
accidentally bring a fixed wing out of an auto mode e.g. a mission
and fly away in a straight line or into an obstacle.
2019-07-22 09:57:37 +02:00
Matthias Grob 5c1ab06343 Commander: pure refactor of RC override conditions 2019-07-22 09:57:37 +02:00
Bob Long 84a0d16386 Clarify weird behavior of the LIS3MDL
See issue #12514
2019-07-21 12:08:26 -04:00
Beat Küng b71bae414b param: fix potential nullptr dereferencing on param import
NuttX 7.28 seemed to handle this gracefully, but officially passing NULL
results in undefined behavior, and with 7.29 leads to a hardfault.

This happens on configs with flash-based params, on the first unsuccessful
import attempt.
2019-07-19 09:55:08 +02:00
Matthias Grob aaad71faab commander_params: enable automatic disarming after land detection by default 2019-07-18 14:36:50 +02:00
Daniel Agar 9986a88697 mavlink: split BATTERY_STATUS from SYS_STATUS update and handle all bricks (#12034) 2019-07-18 13:32:41 +02:00
Timothy Scott 51d4239eee Commented out rover SITL test 2019-07-17 16:52:24 +02:00
Timothy Scott ecf396443f Minor bugfix 2019-07-17 10:47:56 +02:00
Timothy Scott b9a2c9daf8 Fixed uninitialized variable 2019-07-17 10:47:16 +02:00
Mark Sauder 4a02475dd1 rcS: reduce a few LOC in AUTOCNF logic (#12467)
* Set/unset rcS vars at beginning and end of rcS script and reduce a few LOC checking SYS_AUTOCONFIG with improved logic.

* Restore current placement of set/unset vars in rcS script to leave only the SYS_AUTOCONFIG logic modification.

* Replace set AUTOCNF no after inadvertent deletion.
2019-07-16 16:48:25 +02:00
Beat Küng e6aa035209 hotfix for logger: use '%i' instead of '%zu'
Work-around for https://github.com/PX4/Firmware/issues/12485.

This can be reverted after the root-cause is fixed.
2019-07-16 13:11:41 +02:00
bresch ea0e164145 FlightTask - Rename state_prev to last_setpoint 2019-07-16 13:09:09 +02:00
bresch 37a9b90945 FlightTask - Move checkSetpoints function in each FlightTask to be tailored to the specific needs and avoid checking all the setpoints 2019-07-16 13:09:09 +02:00
bresch 24811cf550 FlightTask smoothVel - Initialize ekf reset counters when task is activated 2019-07-16 13:09:09 +02:00
bresch 1414f50cea FlightTask - When switching task, pass the last setpoints of the previous task to the new task
This is done to allow proper initialization of the new FlightTask and
give it a chance to continue the setpoints without discontinuity. The
function checkSetpoints replaces the setpoints containing NANs with an
estimate of the state. The estimate is usually the current estimate of
the EKF or zero.
The transition FlightTask also provides an estimate of the current
acceleration to properly initialize the next FlightTask after
back-transition. This avoid having to initialize the accelerations to
zero knowing that the actual acceleration is usually far from zero.
2019-07-16 13:09:09 +02:00
bresch d24c415fd7 PID rate controller - Add controller gain to support Ideal PID form (ISA standard) 2019-07-16 10:24:19 +02:00
Timothy Scott 7c05073044 Fixed overflowing tslc. 2019-07-16 09:43:58 +02:00
Timothy Scott e25ad348e8 Added message handler for UTM_GLOBAL_POSITION 2019-07-16 09:43:58 +02:00
Anthony Lamping efad34e55e jenkins: pub_test needs to start px4 in daemon mode 2019-07-16 09:39:01 +02:00
Beat Küng f613581b70 Jenkinsfile-compile: add kakutef7 to nuttx build targets 2019-07-16 08:09:22 +02:00
Beat Küng 84bca7e4d0 shellcheck: disable SC2181
The combination of 'if mycmd' and a logical expression is not supported in
NuttX.
2019-07-16 08:09:22 +02:00
Beat Küng d95aae4619 Generic-arm-none-eabi-gcc-cortex-m7: use SP float depending on NuttX config
Not all m7 boards support double, as for example the STM32F745.
2019-07-16 08:09:22 +02:00
Beat Küng 6e833ed7a8 boards: add Holybro KakuteF7 2019-07-16 08:09:22 +02:00
Beat Küng 098afad9e0 missing SD card error tune: play only twice instead of repeating endlessly 2019-07-16 08:09:22 +02:00
Beat Küng f803e54eee ToneAlarmInterface: add support for non-pwm-based buzzers 2019-07-16 08:09:22 +02:00
Beat Küng 92c2d7ae36 CBRK_BUZZER: allow to disable startup sound
The 'if [ $LOG_FILE = /dev/null ]' block can be removed, because
STARTUP_TUNE is already set in that case.
2019-07-16 08:09:22 +02:00
Beat Küng d8da9db04c fix atxxxx osd driver: use correct device id 2019-07-16 08:09:22 +02:00
Beat Küng 5fe4c61b42 rc_input: add RC_PORT_CONFIG param to configure RC port
The parameter will only be available if the board defines an 'RC' serial
port in SERIAL_PORTS (in default.cmake).
2019-07-16 08:09:22 +02:00
Beat Küng b7a0e1ef03 boards: simplify RC port configuration by using NuttX ioctl's
A board only needs to define:
 #define RC_SERIAL_PORT                     "/dev/ttyS4"

Then it can optionally define one or more of the following:
 #define RC_SERIAL_SWAP_RXTX
 #define RC_SERIAL_SINGLEWIRE
 #define RC_INVERT_INPUT(_invert_true) px4_arch_gpiowrite(GPIO_SBUS_INV, _invert_true)
2019-07-16 08:09:22 +02:00
Beat Küng 9a1ad97c11 fix ToneAlarmInterface: correct TOME_ALARM_CLOCK for timer 13 and 14 2019-07-16 08:09:22 +02:00
Beat Küng a3c920db7d board_defaults: remove unnecessary 'set MIXER_AUX none'
On all of these boards '$USE_IO = no' will hold.
2019-07-16 08:09:22 +02:00
Beat Küng 4b0afff33a fmu-v5 init.c: remove unused include 2019-07-16 08:09:22 +02:00
Beat Küng fcb7372554 atxxxx: fix comment 2019-07-16 08:09:22 +02:00
Beat Küng 1112828dcf adc: allow board to not define BOARD_ADC_HIPOWER_5V_OC or BOARD_ADC_PERIPH_5V_OC 2019-07-16 08:09:22 +02:00
Beat Küng 5d8710d539 bmp280: fix device_id initialization 2019-07-16 08:09:22 +02:00
Martina Rivizzigno 1fb80612f3 CollisionPrevention: address https://github.com/PX4/Firmware/pull/12179
review comments
2019-07-15 10:58:00 +02:00
Martina Rivizzigno ac67d5603f CollisionPrevention: compute the attitude_sensor_frame outside for loop 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 560c9f972a CollisionPrevention: use the maximum timestamp between offboard and
distance sensor such that if one of the two fails the vehicle goes into
failsafe, do not switch off CollisionPrevention if it fails
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 8aad105265 mc_pos_control: increase stack size by 100 bytes 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 02bdc2c46b CollisionPrevention: use FlightTasks convention for private/public methods,
add doxygen on header file
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 8637a9255e CollisionPrevention: add failsafe for stale distance data 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 0ee770e853 logger: log obstacle_distance_fused instead of obstacle_distance 2019-07-15 10:58:00 +02:00
Martina Rivizzigno ff6a4d9e71 stream mavlink message OBSTACLE DISTANCE 2019-07-15 10:58:00 +02:00
Martina Rivizzigno e6e4d846fb add uORB message obstacle_distance_fused with data from offboard
obstacle_distance and distance sensor
2019-07-15 10:58:00 +02:00
Martina Rivizzigno a9b1946bea CollisionPrevention: make sure that vehicle tilt compensation is
correct for all sensor orientation
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 2439dc09ae CollisionPrevention: refactor code to make it more readable 2019-07-15 10:58:00 +02:00
Martina Rivizzigno b6eea508bb CollisionPrevention: make sure that the timestamp is updated for distance
sensors even if they are out of range
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 09bfb00c88 Obstacle_distance: use only one increment in float directly
CollisionPrevention: rename a few variables to make the code more readable
2019-07-15 10:58:00 +02:00
Martina Rivizzigno d216b45202 cm8jl65: use paramter to set sensor orientation 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 6a0ed6af93 cm8jl65: add field of view 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 5b24f28ac7 CollisionPrevention: map distance_sensor data to obstacle distance 2019-07-15 10:58:00 +02:00
Martina Rivizzigno aff131774e simulator mavlink: add horizontal and vertical fov + quaterion orientation
to distance sensor
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 02c3765c1b obstacle_distance: add fields from mavlink extension 2019-07-15 10:58:00 +02:00
Martina Rivizzigno d375402b5b distance_sensor: add horiontal and vertical fov, add quaternion for sensor orientation 2019-07-15 10:58:00 +02:00
Daniel Agar 53c5b6d24f px4_fmu-v2_multicopter disable batt_smbus
- saves a bit of flash
2019-07-12 15:57:35 -04:00
BazookaJoe1900 7be5d15502 px4fmu: cleanup - removed duplicate const MAX_ACTUATORS definition 2019-07-11 18:25:56 -04:00
bresch e5128ac7b9 Cosmetic - Use c++ list initialization 2019-07-11 17:46:44 +02:00
bresch 15ec73629b MPC auto - Add MPC_YAW_MODE: towards waypoint (yaw first) mode. This mode ensures that
the vehicle yaws towards the next waypoint before accelerating. This is
required for drones with front vision and aerodynamic multicopters such
as standard vtol planes or highspeed multirotors.
2019-07-11 17:46:44 +02:00
Timothy Scott 2ed00c9cb6 Rover: Rewrote gnd_pos_control and removed gnd_att_control (#12239) 2019-07-11 09:39:13 -04:00
Beat Küng 3743e6d8fb yaml: use safe_load(f) instead of load(f, Loader=yaml.FullLoader)
yaml.FullLoader is not always defined
2019-07-11 10:20:06 +02:00
Hamish Willee 27ef1899c7 Fix up MAV_X_RATE as html tag doesn't render (#12449)
* Fix up MAV_X_RATE as html tag doesn't render

* Update src/modules/mavlink/module.yaml

Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-07-11 08:07:20 +02:00
Mark Sauder 4e5974f1ca srf02 driver: Move member variable initialization to declarations, standardize against other drivers and format. (#11891)
* Migrate variable initialization from constructor list to declarations, standardize whitespace formatting, and alphabetize/organize order of methods and variables in srf02.cpp.

* Increase stack allocation size for the srf02 driver main.
2019-07-10 23:05:02 -04:00
Daniel Agar d4cd1d0d2e NuttX stm32f7 fully re-enable dcache with write back (#12435)
- fixes https://github.com/PX4/Firmware/issues/12216
 - includes latest PX4/NuttX and apps update 7.29+
2019-07-10 19:08:12 -04:00
Daniel Agar dc10a68539 NuttX and apps update 7.29 2019-07-10 12:58:35 -04:00
Daniel Agar fbd3386c39 Jenkins Hardware ensure buzzer is disabled on test rack 2019-07-10 09:50:29 -04:00
Alexis Paques 453ecfeb55 YAML: use Loaders and safe_load (#11910) 2019-07-10 15:15:29 +02:00
Fabian Schilling 6da8ce94f1 Fix off-by-one error in tgt_system (SDF version) 2019-07-10 14:49:18 +02:00
Fabian Schilling 5e39e14e7c Fix off-by-one error in tgt_system parameter 2019-07-10 14:49:18 +02:00
Daniel Agar 7ace66a2b9 Jenkins hardware increase timeout 10 -> 20 minutes 2019-07-09 21:08:07 -04:00
Beat Küng aa86bf5f92 landdetector flight time: fix cast to 64 bits
`_param_total_flight_time_low.get()` is an int32_t and gets sign-extended
if cast directly to uint64_t. To avoid that we first cast to uint32_t.
2019-07-09 20:26:40 -04:00
Daniel Agar 321c2c0392 boards don't use px4_add_library for drivers_board
- this prevents low level board support from using PX4 logging, uORB, etc
2019-07-09 19:09:47 -04:00
Roman Bapst b54a43fccc UAVCAN driver: support throttle linearization (THR_MLD_FAC parameter)
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-09 15:10:54 -04:00
Matej Frančeškin 2aa05e3914 Mavlink FTP - process only messages that have our component id 2019-07-09 20:21:15 +02:00
Silvan Fuhrer fdcb0f06d6 Babyshark VTOL: updated config file (new smooth flight task, detuned position control,
improved land detector, included autopilot rotation)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-07-09 15:38:40 +02:00
bresch 6df1600357 Auto - Update velocity setpoint generator to avoid overshoot at high cruise speed.
The linear mapping from position error to cruise velocity is changed by
a combination of that linear mapping and a nonlinear function containing
the maximum acceleration and jerk to avoid overshoots at waypoints due to
overoptimistic breaking distance.
2019-07-09 09:46:45 +02:00
Jacob Dahl 59c555aec3 Multicopter Auto: Adjustable land speed via RC (#12220) 2019-07-08 23:55:21 -04:00
mcsauder c1e4970841 Delete uneccessary #includes from the lights driver directory. 2019-07-08 23:45:01 -04:00
mcsauder f3af3217c7 Delete unnecessary #includes from the irlock driver. 2019-07-08 23:45:01 -04:00
mcsauder b495ddbdd3 Delete unnecessary #includes from the imu driver directory. 2019-07-08 23:45:01 -04:00
mcsauder be414f7ab1 Alphabetize the heater driver #include list. 2019-07-08 23:45:01 -04:00
mcsauder 35e5327cc9 Delete unnecessary #includes in the gps driver directory. 2019-07-08 23:45:01 -04:00
mcsauder 2ef6e18640 Delete unnecessary #includes in the differential_pressure drivers directory. 2019-07-08 23:45:01 -04:00
mcsauder 2a3b98a463 Deprecate unneeded #includes from the camera_capture driver. 2019-07-08 23:45:01 -04:00
mcsauder b10cb2a24e Deprecate unnecessary #includes from the batt_smbus driver. 2019-07-08 23:45:01 -04:00
mcsauder d1e46737a3 Organize, alphabetize, and deprecate unneeded #includes from the barometer drivers. 2019-07-08 21:32:52 -04:00
Daniel Agar aff13f6f64 rc.fw_defaults: reduce EPH/EPV failsafe values from 5x to 3x MC 2019-07-08 17:50:54 -04:00
BazookaJoe1900 df45124d02 black sheep telemetry add new TEL_BST_EN parameter to enable 2019-07-08 16:30:22 -04:00
Daniel Agar 6ea5853161 px4_fmu-v2_multicopter sync with px4_fmu-v2_default 2019-07-08 14:49:58 -04:00
Daniel Agar 58b74e241e px4_fmu-v2 disable mpu9250 2019-07-08 14:49:58 -04:00
Daniel Agar 26f6794aa9 px4_fmu-v2 re-enable CONSTRAINED_FLASH build
- this limits console output at boot
2019-07-08 14:49:58 -04:00
Daniel Agar 15d1543f95 create systemcmds/i2cdetect tool to scan i2c bus 2019-07-06 10:28:16 -04:00
PX4 Build Bot d9c90ed31a Update submodule ecl to latest Fri Jul 5 12:38:36 UTC 2019
- ecl in PX4/Firmware (590b55cb222ec68d4bbb61208f301102607b6161): https://github.com/PX4/ecl/commit/a036cf82cc92ef6572ea7ee960cfff4d305c01fa
    - ecl current upstream: https://github.com/PX4/ecl/commit/e1751188fd15b799cbfae86bd7373bb91206069b
    - Changes: https://github.com/PX4/ecl/compare/a036cf82cc92ef6572ea7ee960cfff4d305c01fa...e1751188fd15b799cbfae86bd7373bb91206069b

    e175118 2019-06-28 bresch - EKF - Initialize _deadrekon_time_exceeded to true. If no sample have been received, deadrekoning and local position should be invalid.
2019-07-05 16:46:31 -04:00
Mathieu Bresciani e54075abe8 MC pos control - Force cruise and manual speeds below max speed. (#12404)
- Force hover thrust between min and max thrust
2019-07-05 15:40:28 -04:00
David Sidrane ea0da3a3b6 px4/fmu-v5x: GPIO ADC had bad definition 2019-07-05 12:23:06 -04:00
RomanBapst 7c8fa82e76 rtl cone angle: expose a few values to the user
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-05 18:05:09 +02:00
RomanBapst 81ee40eac8 rtl: implemented RTL based on cone shape
- user defines a cone half angle which defines the RTL altitude behavior
- if vehicle is outside the cone it will climb until it intersects the cone
and then return at this altitude.
- if vehicle is inside the cone or above the predefined return altitude (RTL_RETURN_ALT)
then it will return at the current altitude

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-05 18:05:09 +02:00
Timothy Scott f7a460427b Changed name of mixer to be shorter 2019-07-05 18:00:15 +02:00
CarlOlsson 12fcddd288 fmu: remove unused functions 2019-07-04 22:08:00 -04:00
Silvan Fuhrer 9b46c1d8a9 Upated Babyshark VTOL config and vtol_defaults
Updated the babyshark default  parameters for improved flight performance,
as well as two MPC parameters in vtol_defaults for smoother hovering with VTOLS"

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-07-04 11:26:01 -04:00
Nicolas de Palezieux 2f1cfa60f4 precland: store result of _target_pose_sub.update() for later use
- Fixes #12391
2019-07-04 11:02:14 -04:00
BazookaJoe1900 72a449490a Mavlink: Use MAV_BROADCAST only in context of ethernet 2019-07-03 14:02:37 -04:00
Fabian Schilling d139bc5a7c Use bc to support floating point PX4_SIM_SPEED_FACTOR 2019-07-03 16:54:29 +02:00
Timothy Scott dce1dda871 Fixed incorrect timestamps 2019-07-03 14:39:59 +02:00
Beat Küng a2471fb539 logger: handle 'char' type in messages
Fixes errors like:
ERROR [logger] No definition for topic char[10] key;uint8_t[2] _padding0; found
when the Debug logging profile is selected.
2019-07-03 10:43:59 +02:00
alessandro fecb32f88d Parameter for virtual battery in SITL (#12299)
* New parameter for virtual battery in SITL

* Update src/modules/simulator/simulator_mavlink.cpp

Co-Authored-By: Beat Küng <beat-kueng@gmx.net>

* Updated description for parameter SIM_BAT_MIN_PCT
2019-07-02 15:53:18 +02:00
Daniel Agar 9bfc4f2d54 Analog Device ADIS16477 move to PX4Accelerometer/PX4Gyroscope and cleanup 2019-07-01 22:53:27 -04:00
Daniel Agar 9450496eb4 Analog Devices ADIS16497 move to PX4Accelerometer/PX4Gyroscope and cleanup 2019-07-01 22:47:31 -04:00
Daniel Agar cdadb393b7 Analog Device ADIS16448 cleanup
- move to PX4Accelerometer, PX4Gyroscope, PX4Magnetometer helpers
 - add barometer support (using PX4Barometer)
2019-07-01 16:02:00 -04:00
dlwalter cbdfc0c587 px4_fmu-v5: rc.board_sensors start lis3mdl optional external magnetometer 2019-07-01 14:52:14 -04:00
Daniel Agar 6ef61e5c19 landing_target_estimator: update to uORB Subscription and Publication 2019-07-01 10:35:41 -04:00
Daniel Agar 38da0f95aa rc_input move to uORB::Subscription 2019-07-01 10:35:26 +02:00
Daniel Agar 4f445cd7f8 vscode add av_x-v1 debug target 2019-06-30 19:05:54 -04:00
Daniel Agar 7f9415ba46 systemcmds/top: increase stack 200 bytes
- this is necessary after most boards increased CONFIG_MAX_TASKS 32 -> 64
2019-06-30 18:37:41 -04:00
Daniel Agar d1298f2c37 Jenkins HITL exit upload monitor on nsh> 2019-06-29 17:18:22 -04:00
Daniel Agar c165a6f71b attitude_estimator_q: move most orb subscriptions to uORB::Subscription 2019-06-29 15:51:49 -04:00
Mark Sauder 423219c60e pga460: Change variable initialization to uniform initialization style, format whitespace, and change baud rate unsigned to speed_t type. (#11861) 2019-06-28 21:52:16 -04:00
Mark Sauder db96b6c08d cm8jl65: Refactor driver, employ uniform initialization, format, and deprecate ringbuffer and IOCTL. (#11853)
* Move cm8jl65 class member variable initialization from constructor list to declarations.  Format whitespace and move method doxy comments  to declarations.

* Refactor the cm8jl65 driver start() method, and rename info()->status().

* Continued refactoring of the cm8jl65 driver class:
 - Condense all class files into a single *.cpp file and give class scope resolution to previously unscoped methods.
 - Refactor cm8jl65 namespace level driver entry methods to reduce code and improve clarity.
 - Breakout CDev specific initialization LOC into the device_init() method.
 - Move the endian modification inside of the crc16_calc() method.

* Deprecate the hardware ringbuffer, _class_instance, and ioctl() from the cm8jl65 driver.
2019-06-28 21:46:02 -04:00
Daniel Agar 4b778fd0c2 navigator: fix vehicle_status update (#12364) 2019-06-28 21:35:29 -04:00
Mark Sauder 5857cf4799 LeddarOne: Refactor the driver to standardize against other distance sensor drivers. (#11858)
* Migrate remaining member variable intialization to declarations and employ uniform initialization style. Copy/paste help() and main() methods to the bottom of the file to match convention with other distance sensor drivers.

* Refactor the LeddarOne driver class to give scope resultion to the methods that were global and to standardize the implementation against most of the other distance sensor drivers.

* Deprecate _reports member var, use of hardware ring buffer, and LeddarOne::read() method.

* Deprecate commented (dead) code from the LeddarOne class init() method.

* Refactor the LeddarOne class cycle() and collect() methods and create measure() method to untangle the previous logic implementation.
2019-06-28 21:29:44 -04:00
PX4 Build Bot 309322ce98 Update submodule sitl_gazebo to latest Fri Jun 28 12:37:57 UTC 2019
- sitl_gazebo in PX4/Firmware (7bba5a7287): https://github.com/PX4/sitl_gazebo/commit/95adbb11f8deef06fb132bf0eb85c19e6ca00f6e
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/22df9475ca0d157e2db066a20f64c35906bf7f25
    - Changes: https://github.com/PX4/sitl_gazebo/compare/95adbb11f8deef06fb132bf0eb85c19e6ca00f6e...22df9475ca0d157e2db066a20f64c35906bf7f25

    22df947 2019-06-27 Martina Rivizzigno - Range.proto: fix indentation
8ef5625 2019-05-28 Martina Rivizzigno - update sonar message to match mavlink distance sensor definition
e04ff96 2018-12-04 Martina - get distance sensor orientation from the vehicle model instead of hard-coding it in the gazebo interface, add horizontal and vertical fov
2019-06-28 16:43:49 +01:00
bresch e1751188fd EKF - Initialize _deadrekon_time_exceeded to true.
If no sample have been received, deadrekoning and local position should be invalid.
2019-06-28 10:52:52 -04:00
Daniele Pettenuzzo 55b5e7552c mavlink: add new extvisionmin mode (#12279)
Signed-off-by: DanielePettenuzzo <daniele@px4.io>
2019-06-28 10:44:22 -04:00
Mark Sauder c22ed9397e land_detector: Implement ModuleParams inheritance in the FixedwingLandDetector class. 2019-06-28 10:26:59 -04:00
RomanBapst 0b2af5c519 FixedWingAttitudeControl: don't lock integrator during transition
- airframes that are not well trimmed rely on the integrator to learn
the offset. This change can help improve altitude hold during transitions

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-06-28 09:54:40 -04:00
RomanBapst 7bba5a7287 vtol_configs: replaced VT_MOT_COUNT with VT_MOT_ID
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-06-27 20:14:10 +02:00
RomanBapst afd95b14cf vtol_att_control: use VT_MOT_ID instead of VT_MOT_COUNT
- VT_MOT_COUNT assumed that motors were always the first outputs. This
does not have to be true always. VT_MOT_ID allows to specify precisely how
many motors we have for hovering and to which channel they are connected.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-06-27 20:14:10 +02:00
RomanBapst 2c74216028 ekf2: fixed calculation of static pressure error
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-06-27 18:11:53 +02:00
Mark Sauder 1466d11acc land_detector: cleanup actuator_armed and battery_status naming
* Rename _arming -> _actuator_armed
 * Rename _battery -> _battery_status in the MulticopterLandDetector class.
2019-06-27 12:02:14 -04:00
Mark Sauder 94c1f21473 mb12xx: Refactor driver class to allow for multiple sensors and cleanup (#11859)
* Migrate mb12xx driver class member variable initialization to declarations.
Format whitespace and alphabetize/group/order var declarations.
Refactor driver reset() and mb12xx_main() methods for readability.
Deprecate usage of IOCTL.

* Deprecate the _reports ringbuffer, _class_instance, and read() method and minor formatting in the mb12xx driver.

* Add time_literal usage and #define MB12XX_BUS_SPEED.

* Refactor the mb12xx driver to mirror the mappy_dot driver implementation and create functionality for multiple sensors.

* Add stack size for the mb12xx driver.
2019-06-27 11:59:40 -04:00
Mathieu Bresciani c5deba53a2 mc_pos_control: Explicitly convert tilt variables to radians during check and assignments 2019-06-27 11:38:21 -04:00
Lorenz Meier 748ff7f50a Update README.md
Clarify the naming of FMU versions to not confuse users once the new industrial FMUv5X standard is established.
2019-06-27 08:28:32 +02:00
Anthony Lamping 49966f4c46 launch: multiple sdf models (#12306) 2019-06-26 15:20:49 -04:00
David Sidrane 6fcc4cc6a2 WIP Digital PM Support 2019-06-26 14:34:02 -04:00
David Sidrane 1cf4a2d953 Added Suport for ICM 20602 on PX4_SPI_BUS_SENSORS1 2019-06-26 14:34:02 -04:00
David Sidrane e5b6adc7f3 fmu-v5X VER REV Combined 2019-06-26 14:34:02 -04:00
David Sidrane 31dfaee76a fmuv5x board support 2019-06-26 14:34:02 -04:00
mcsauder 6e9f706b12 Standardize remaining class member variable naming convention in the MulticopterLandDetector class. 2019-06-26 14:06:56 -04:00
mcsauder df662245a2 Standardize class member variable naming convention in the LandDetector class. 2019-06-26 14:06:56 -04:00
mcsauder 6b6d82447e Standardize class member variable naming convention in the MulticopterLandDetector class. 2019-06-26 14:06:56 -04:00
mcsauder 3f0159d784 Standardize class member variable naming convention in the VtolLandDetector class. 2019-06-26 14:06:56 -04:00
mcsauder 2b9ad179a2 Standardize class member variable naming convention in the FixedWingLandDetector class. 2019-06-26 14:06:56 -04:00
Lorenz Meier 7ba658d573 MAVLink module: Add additional IMUs as default outputs
This simplifies setup and verification of systems, as all three sensors can be looked at in a graph view.
2019-06-26 10:24:16 -04:00
mcsauder d7cfebe0a3 Add check_params(true) call to the LandDetector start() method. Break out _update_total_flight_time() method in the LandDetector class. 2019-06-26 09:23:02 +02:00
mcsauder f783982edb Revert changes to the check_params(const bool force) declaration/definition to match current PX4:master. 2019-06-26 09:23:02 +02:00
mcsauder 0ec7efcfc4 Delete _measure_interval and redundant parentheses in LandDetector.h. 2019-06-26 09:23:02 +02:00
mcsauder faa3c3dc6f Refactor the LandDetector class to
- Reduce duplicate code in LandDetector _check_params() method.
 - Standardize naming cases.
 - Implement DEFINE_PARAMETERS() macro.
2019-06-26 09:23:02 +02:00
Angel 46662072d1 Missed conversion to radians in AutoMapper and AutoMapper2 2019-06-25 14:01:35 +02:00
Daniel Agar 6d9bf18ca6 Revert "VTOL: add parameter to prevent flight if roll direction was not checked"
This reverts commit 5f06c6a1aa.
2019-06-25 09:26:20 +02:00
Matthias Grob 5002b13bda mc_att_control: Increase default rate integral gain
@bkueang and me realized that on every frame we tune the integral gain for
the roll and pitch rate controller is much too low. Usually it needs to be
increased to 0.3 or even 0.4 to have better "locked in" flight performance
and 0.2 seems like a good compromise for a safe default.
2019-06-24 18:26:27 +02:00
Matthias Grob 443381327e Airframes: rename normal S500 to generic and remove PX4 defaults 2019-06-24 18:26:27 +02:00
Matthias Grob c22825ee45 Airframes: add Holybro S500 Kit which was tested at dev summit 2019-06-24 18:26:27 +02:00
Daniel Agar d96c97ed48 Update submodule jMAVSim to latest Sat Jun 22 12:37:52 UTC 2019 (#12316)
- jMAVSim in PX4/Firmware (fb8630c267): https://github.com/PX4/jMAVSim/commit/883413f8b97cc53d48491d6ff3630d6efd2e2467
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/def7501bc0536b8d1050f65d09c7dfbebcc0ce61
    - Changes: https://github.com/PX4/jMAVSim/compare/883413f8b97cc53d48491d6ff3630d6efd2e2467...def7501bc0536b8d1050f65d09c7dfbebcc0ce61

    def7501 2019-06-18 romain-chiap - SIH support: add display-only mode for simulation-in-hardware (#101)
2019-06-22 15:42:08 +02:00
Ildar Sadykov fb8630c267 Adding VTOL Octoplane airframe type (#12303)
* Srcparser updated, default script for VTOL octoplane added.
2019-06-22 14:13:29 +02:00
Beat Küng 64ac8c18d2 mc airframes: increase I gains a bit
Previous commit allows to increase them again.
Partially reverts commit 6c3e79f361.
2019-06-22 13:23:19 +02:00
Beat Küng ea31f34d09 mc rate controller: add I term reduction factor
Reduce the I gain for high rate errors to reduce bounce-back effects after
flips. Up to 200 degrees the gain is almost not reduced (<25%), so this
will only take noticeable effects for large errors (setpoint changes),
where we actually want to have an effect.

This allows to increase the MC_*RATE_I parameters w/o negative effects
when doing flips (i.e. bounce-back after flips).

The 400 degrees limit and the x^2 are empirical.

The better the rate tracking in general (high P gain), the less this is
required (because of the lower tracking error). At the same time it also
does not harm, as the i_factor will always be close to 1.
2019-06-22 13:23:19 +02:00
JaeyoungLim 4c4bcc5fdb Mavlink: Fill in thrust field correctly for offboard rates setpoints on fixed wing (#12311)
* Fill in thrust field for rates sp
2019-06-20 17:17:32 +02:00
PX4 Build Bot 4831a4b0cf Update submodule ecl to latest Tue Jun 18 20:37:33 EDT 2019
- ecl in PX4/Firmware (4673dd0a0c9b90fcab84a26e75812a5c7172d1af): https://github.com/PX4/ecl/commit/0f49eb34a08e499a26d749ed981429047f2100ff
    - ecl current upstream: https://github.com/PX4/ecl/commit/a036cf82cc92ef6572ea7ee960cfff4d305c01fa
    - Changes: https://github.com/PX4/ecl/compare/0f49eb34a08e499a26d749ed981429047f2100ff...a036cf82cc92ef6572ea7ee960cfff4d305c01fa

    a036cf8 2019-06-14 Paul Riseborough - EKF: Remove use of of quaternion self product operator and fix delta rotation sign
0e946f2 2019-06-14 Paul Riseborough - EKF: Remove use of quaternion self product operator and fix delta rotation sign error
ad7f7af 2019-05-21 CarlOlsson - ekf: correct quaternion multiplication order
d6351bd 2019-05-21 CarlOlsson - EKF: update comment
7612fa4 2019-05-30 Paul Riseborough - EKF: Don't start using GPS for height until all validity checks have passed
cef2ba5 2019-05-08 Roman - implemented Kahan summation algorithm for adding process noise to delta angle- and delta velocity bias variance
2019-06-19 11:38:49 +10:00
SalimTerryLi e0f3fc8d00 Mavlink receiver SET_ATTITUDE_TARGET fill the correct throttle field by checking its frametype in offboard mode (#12149) 2019-06-18 02:06:41 +02:00
Julian Oes 46c00ca6a4 vscode: add PX4_SIM_SPEED_FACTOR
This env variable can be changed to adapt the simulation speed.
2019-06-18 01:56:49 +02:00
Julian Oes 1cee945a22 vscode: use lockstep
This changes the VSCode debugging to use lockstep. For lockstep, the
rate needs to be 250 Hz.
2019-06-18 01:56:49 +02:00
Julian Oes e1671571c8 jMAVSim: use PX4_SIM_SPEED_FACTOR, not cli arg
In order to be consistent between Gazebo and jMAVSim we should be using
the env variable PX4_SIM_SPEED_FACTOR in the same way. This enables
vscode to set the speed using the env variable.
2019-06-18 01:56:49 +02:00
Julian Oes fea284f728 vscode: start gzclient GUI for Gazebo simulation 2019-06-18 01:55:21 +02:00
alessandro 2deab6c607 commander: refactored state-machine strings
- Follow-up changes to https://github.com/PX4/Firmware/pull/11796
2019-06-17 20:09:05 +02:00
Daniel Agar 136962d125 uORB Subscription callbacks with WorkItem scheduling on publication (#12207) 2019-06-17 16:26:06 +02:00
Beat Küng beaba44e5b mc mixer: prioritize roll/pitch over yaw for full airmode
Improves roll/pitch tracking in situations of large yaw demands.
2019-06-17 13:17:18 +02:00
Paul Riseborough a036cf82cc EKF: Remove use of of quaternion self product operator and fix delta rotation sign 2019-06-17 19:24:55 +10:00
Paul Riseborough 0e946f25fd EKF: Remove use of quaternion self product operator and fix delta rotation sign error 2019-06-17 19:24:55 +10:00
CarlOlsson ad7f7af03b ekf: correct quaternion multiplication order 2019-06-17 19:24:55 +10:00
CarlOlsson d6351bd7a5 EKF: update comment 2019-06-17 19:24:55 +10:00
mcsauder 8811c8315c Modify the update_params() comment to better reflect what is taking place in mavlink_receiver.h. 2019-06-17 09:41:30 +02:00
mcsauder 742c22d099 Rename _param_sub to _param_update_sub and initialize. Re-define and re-implement the update_params() method and only call if parameters have been updated. 2019-06-17 09:41:30 +02:00
mcsauder c92b8b03cd Move variable initialization from constructor to declarations in MavlinkReceiver class, alphabetize var lists. Added update_params() method to ensure that parameters subscribed to are updated routinely. 2019-06-17 09:41:30 +02:00
Patrick Brünn b402c9697d hardfault_log: fix NULL terminator truncation
building "make omnibus_f4sd_default" with gcc 8.2.1 failes with:
hardfault_log.c:315:7: error: 'strncat' specified bound 30 equals destination size

gcc8 introduced -Wstringop-truncation, which will warn about NULL terminator
truncation.

This patch fixes two similar issues:
- strncpy() makes no sense if we want to copy without NULL terminator
- strncat() needs space to append the NULL terminator

fixes #12283
2019-06-17 08:15:34 +02:00
Daniel Agar 7c4bf6ddae Mavlink ODOMETRY (331) support MAV_FRAME_BODY_FLU 2019-06-16 13:23:57 -04:00
Daniel Agar 09e09863b5 Update submodule mavlink v2.0 to latest Sun Jun 16 00:37:57 UTC 2019
- mavlink v2.0 in PX4/Firmware (067eb41d23252cbc5725f98e63ea56a2951da317): https://github.com/mavlink/c_library_v2/commit/70c1b4ef2db3244df23196bf2e47e369e2e8b78a
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/18cf6ff2fc0e51e4555b19fc31e8b06eb38bdd79
    - Changes: https://github.com/mavlink/c_library_v2/compare/70c1b4ef2db3244df23196bf2e47e369e2e8b78a...18cf6ff2fc0e51e4555b19fc31e8b06eb38bdd79
2019-06-15 23:22:45 -04:00
Daniel Agar 115b8f83ef Update submodule sitl_gazebo to latest Sun Jun 16 00:37:52 UTC 2019
- sitl_gazebo in PX4/Firmware (648e7de249): https://github.com/PX4/sitl_gazebo/commit/f2593dbcc2980dd15714925931fbb0e46a63a4b2
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/95adbb11f8deef06fb132bf0eb85c19e6ca00f6e
    - Changes: https://github.com/PX4/sitl_gazebo/compare/f2593dbcc2980dd15714925931fbb0e46a63a4b2...95adbb11f8deef06fb132bf0eb85c19e6ca00f6e

    95adbb1 2019-06-08 David Jablonski - fix gstreamer package finding for ubuntu
2019-06-15 23:21:12 -04:00
Mark Sauder f1c66749e3 vl53lxx: migrate variable initialization from constructor list to declaration uniform initialization (#11896)
* Format whitespace
 * Alphabetize/group/order variables and methods.
 * Deprecate IOCTL usage and simplify a few methods.
2019-06-15 23:18:46 -04:00
David Sidrane f96c47ae1b stm32f7 bootloader update support (#11394)
* micro_hal: F7 add flash
* micro_hal: F7 non up_progmem functions
* bl_update: Add F7 Support
2019-06-15 21:46:46 -04:00
JaeyoungLim d7d0bd2764 Mavlink: Enable gimbal control using SET_ACTUATOR_CONTROL_TARGET while controlling the vehicle offboard (#12146)
* Stop ignoring setpoints when actuator setpoints are for the gimbal
2019-06-15 21:35:41 -04:00
Daniel Agar 106ee280c5 land_detector initiate cycle immediately
- fixes #12190
2019-06-15 21:30:09 -04:00
Kabir Mohammed ce784d1ef0 Sensordots Mappydot+ driver (#12147)
* Add MappyDot+ driver capable of utilizing multiple sensors on a single i2c bus.
2019-06-15 21:13:51 -04:00
Mark Sauder eaa3d4a24f tfmini: migrate driver class member variable initialization to declarations (#11893)
* format whitespace
 * alphabetize/group/order var/method declarations 
 * added a default port to start the tfmini driver without requiring arguments.
2019-06-15 21:01:36 -04:00
Daniel Agar 4e360064d9 commander refactor and cleanup offboard control mode 2019-06-15 20:45:26 -04:00
Daniel Agar 648e7de249 drivers/px4io move to uORB::Subscription 2019-06-15 20:14:10 -04:00
Daniel Agar 1657b5030a wind_estimator always copy attitude and local position data 2019-06-15 19:42:48 -04:00
Daniel Agar a175c4407d Jenkins add rover SITL test 2019-06-15 17:55:44 -04:00
Daniel Agar e7add33c12 Jenkins HIL print fmu status and pwm info 2019-06-15 16:59:04 -04:00
Daniel Agar 5f20d3cf3b Jenkins HIL increase boot timeout for stackcheck build
- px4_fmu-v5_stackcheck remove extra drivers (to try and get the system
usuable)
2019-06-15 16:59:04 -04:00
Daniel Agar e6799e90ad Jenkins HIL disable buzzer and remove redundant px4_fmu-v5 test 2019-06-15 15:06:02 -04:00
Daniel Agar 81c914a092 Jenkins HIL test run various commands to inspect system 2019-06-15 14:29:00 -04:00
Daniel Agar d30e30a2a6 Jenkins HIL run more tests 2019-06-15 11:31:01 -04:00
Daniel Agar 4910bed45b mavlink send_statustext_critical() remove redundant print 2019-06-15 10:14:41 -04:00
Daniel Agar 8e0e846e6e Jenkins hardware target different V5 variants 2019-06-14 14:48:44 -04:00
David Sidrane 6eb4cf0ceb Add CUAV 5+ and Nano to fmu-v5 manifest
* rcS: Set SYS_USE_IO for Nano
2019-06-14 13:19:41 -04:00
Daniel Agar bf08b60b8f vscode launch.json add nxp_fmuk66-v3 2019-06-14 11:35:12 -04:00
Daniel Agar 5e058ae290 vscode launch.json add black magic probe debug config 2019-06-14 10:31:42 -04:00
Daniel Agar fe2dff649c vscode launch.json (debug configurations) cleanup naming and sort list 2019-06-14 10:31:42 -04:00
Matthias Grob 146a3866c0 Testing: hotfix to recover test coverage CI
CMAKE_TESTING should automatically be enabled
but I hoped to do that in the test.cmake
target specific options and not in the main
CMakeLists. I have to see if I can make that
order work. Here the hotfix to make CI work
again.
2019-06-14 06:54:10 -07:00
Daniel Agar 61512f063a vscode debug linux vs osx handle external console properly 2019-06-14 08:27:37 -04:00
Daniel Agar fd18a6c0e6 vscode improve fmu-v2/v3/v4/v4pro/v5 debug targets 2019-06-14 08:27:37 -04:00
bresch 83d90410ff Jerk-limited auto mode - use MPC_ACC_HOR instead of MPC_ACC_HOR_MAX
as written in the parameter desctiption
2019-06-14 09:56:56 +02:00
Daniel Agar a4a130fe53 tests free test containers in IntrusiveQueue and List 2019-06-13 10:47:27 -04:00
Daniel Agar aee8f13289 List fix remove() and update testing 2019-06-13 10:47:27 -04:00
Daniel Agar 1623de8bd0 IntrusiveQueue add remove method, iterators, and update test 2019-06-13 10:47:27 -04:00
Paul Riseborough 7612fa40ed EKF: Don't start using GPS for height until all validity checks have passed
Consolidate intermittent data checks, improve variable and clarify usage.
2019-06-13 19:36:37 +10:00
Timothy Scott 327354705b Fixed filename 2019-06-13 10:04:26 +02:00
Timothy Scott c4bb6b53e8 Changed soft stop check 2019-06-13 10:04:26 +02:00
Timothy Scott 21760a5856 Changed constant name to UNMANNED_GROUND_VEHICLE 2019-06-13 10:04:26 +02:00
Timothy Scott 714c90b9db Updated code style to fix confusing if conditions 2019-06-13 10:04:26 +02:00
Timothy Scott a134da6e12 Removed is_rotor_wing, replaced with vehicle_type 2019-06-13 10:04:26 +02:00
Timothy Scott 2ca40bfc65 Changed navigator to properly separate xy and z distance to waypoint 2019-06-13 10:04:26 +02:00
Daniel Agar 6816f2a4ce commander force offboard control update when first entering mode
- fixes #12241
2019-06-12 20:25:05 -04:00
Matthias Grob 048cca7bc4 vtol_att_control: apply multicopter takeoff hotfix also for vtol (#12250)
Please see reference:
https://github.com/PX4/Firmware/issues/12171
2019-06-12 13:59:29 -04:00
Mark Sauder ae6fed4f29 Migrate remaining variable initializations from constructor list to declarations in mavlink_main.cpp/h. 2019-06-12 12:53:09 -04:00
Martina Rivizzigno 7a586d2b60 ObstacleAvoidance: hysteresis on failsafe 2019-06-12 16:42:02 +02:00
Daniel Agar 79d4c09d59 uORB::Publication simplify and cleanup
- base class is now template
 - drop linked list
 - virtualization no longer required
2019-06-12 08:48:19 -04:00
PX4 Build Bot 57fc6eb4b8 Update submodule devices to latest Tue Jun 11 20:38:48 EDT 2019
- devices in PX4/Firmware (96e8e25a85a334872f2e46786d7c2f546ed846df): https://github.com/PX4/GpsDrivers/commit/a4999f111d13bcb209754823a3c503fa659a0d15
    - devices current upstream: https://github.com/PX4/GpsDrivers/commit/69e38ecc846df03f0bb71aa136bcc830dd3316a9
    - Changes: https://github.com/PX4/GpsDrivers/compare/a4999f111d13bcb209754823a3c503fa659a0d15...69e38ecc846df03f0bb71aa136bcc830dd3316a9

    69e38ec 2019-06-06 Andreas Antener - sbf: report vertical velocity DOWN (converted from UP)
c803bad 2019-06-05 Andreas Daniel Antener - SBF Updates (#43)
2019-06-12 08:01:31 +02:00
Roman cef2ba5ab9 implemented Kahan summation algorithm for adding process noise to delta
angle- and delta velocity bias variance

- the contribution of process noise per iteration for these states can be so
small that it gets lost if using standard floating point summation

Signed-off-by: Roman <bapstroman@gmail.com>
2019-06-11 19:28:06 +10:00
Bharat Tak 1ebf5d04d9 logger: add Ulog sync bytes at 1Hz and tagged log message definition (#12144) 2019-06-11 11:00:54 +02:00
PX4 Build Bot 736a1c4778 Update submodule ecl to latest Mon Jun 10 12:38:13 UTC 2019
- ecl in PX4/Firmware (e80050ce8c261e9b5c1cf7e1e8c62f32db08099f): https://github.com/PX4/ecl/commit/54ac147ae8930f1c280a0bd5c25fa90eaf4c6e0d
    - ecl current upstream: https://github.com/PX4/ecl/commit/0f49eb34a08e499a26d749ed981429047f2100ff
    - Changes: https://github.com/PX4/ecl/compare/54ac147ae8930f1c280a0bd5c25fa90eaf4c6e0d...0f49eb34a08e499a26d749ed981429047f2100ff

    0f49eb3 2019-05-24 RomanBapst - fixed method which calculates validity of terrain estimate
cd34ab8 2019-05-24 Daniel Agar - mathlib delete floorf in favor of math.h
340d85a 2019-05-27 Robert de Vries - EKF: fix variable names in estimator_interface.h
90b4c7c 2019-05-24 Matthias Grob - mathlib: fix floorf indentation
710c529 2019-05-23 Sebastian Verling - fixed calculation of magentic table values by using floor instead of int casting
2019-06-10 10:42:37 -07:00
Daniel Agar 32a89a1834 rename empy templates (*.template) to proper file extension (.em) 2019-06-10 10:42:00 -07:00
Daniel Agar bef7a9ba8e NuttX boards increase task limit 32 -> 64 (#12230) 2019-06-10 09:42:36 -04:00
Daniel Agar 070df61daf Update submodule mavlink v2.0 to latest Mon Jun 10 12:37:58 UTC 2019 (#12232)
- mavlink v2.0 in PX4/Firmware (b69bf26721b61a8dd026e3c28b201a5baa72d2df): https://github.com/mavlink/c_library_v2/commit/60df2613725c21f3eedc51251285f80a22e7d07d
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/70c1b4ef2db3244df23196bf2e47e369e2e8b78a
    - Changes: https://github.com/mavlink/c_library_v2/compare/60df2613725c21f3eedc51251285f80a22e7d07d...70c1b4ef2db3244df23196bf2e47e369e2e8b78a
2019-06-10 09:10:49 -04:00
Daniel Agar 9db4d87587 Update submodule sitl_gazebo to latest Mon Jun 10 12:37:51 UTC 2019
- sitl_gazebo in PX4/Firmware (b0176dc88a): https://github.com/PX4/sitl_gazebo/commit/a0b0eb8df12b11e8f63d3cc766dee97cefa32ab7
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/af00ac4dfc5cfb25140254c5cae2a225944fc1c1
    - Changes: https://github.com/PX4/sitl_gazebo/compare/a0b0eb8df12b11e8f63d3cc766dee97cefa32ab7...af00ac4dfc5cfb25140254c5cae2a225944fc1c1

af00ac4 2019-06-07 Lukas Woodtli - Add support for unit tests on macOS
3a81838 2019-06-04 Lukas Woodtli - Add support to build and run unit tests with catkin
c59d214 2019-05-11 Lukas Woodtli - Add unit tests for gps plugin
860e1ce 2018-09-20 Lukas Woodtli - Add unit tests for gimbal controller plugin
2019-06-10 09:09:49 -04:00
BazookaJoe1900 b0176dc88a Pr cleanup board files (#12218)
Clear non exist functions definitions
Added RC Serial note before its relevant definitions
2019-06-08 15:48:53 -07:00
Daniel Agar 8a0beb83db templates/module move print_usage() to bottom of file 2019-06-08 03:23:50 -07:00
Daniel Agar 910e938943 tune_control move usage() to bottom of file 2019-06-08 03:23:50 -07:00
Daniel Agar cfa58dfc36 led_control move usage() to bottom of file 2019-06-08 03:23:50 -07:00
Daniel Agar c223de8a50 vmount move usage() to bottom of file and format 2019-06-08 03:23:50 -07:00
Daniel Agar 933dd1357e navigator move print_usage() to bottom of file 2019-06-08 03:23:50 -07:00
Daniel Agar d9c5fb0500 mc_att_control move print_usage() to bottom of file and format 2019-06-08 03:23:50 -07:00
Daniel Agar 97c2dba2fa logger move print_usage() to bottom of file and format 2019-06-08 03:23:50 -07:00
Daniel Agar e428829b84 drivers/heater move print_usage() to bottom of file and format" 2019-06-08 03:23:50 -07:00
Daniel Agar 6c495bc4a3 leddar_one move help to bottom and format 2019-06-08 03:23:50 -07:00
Daniel Agar 63d582464e mc_pos_control move print_usage() to bottom of file and format 2019-06-08 03:23:50 -07:00
Julian Oes d2c824c534 gpssim: don't advertize uninitialized data
According to valgrind uninitialized bytes were being advertized.
2019-06-07 17:10:35 -04:00
Daniel Agar 90bf26b239 CollisionPrevention move orb subscriptions to uORB::Subscription 2019-06-07 09:22:35 -04:00
Daniel Agar 5669df4ca4 mc_pos_control move orb subscriptions to new uORB::Subscription 2019-06-07 09:22:35 -04:00
Daniel Agar be02ad3514 fw_att_control move orb subscriptions to uORB::Subscription 2019-06-06 20:02:02 -04:00
Daniel Agar 4bef573497 fw_pos_control_l1 move to new uORB::Subscription 2019-06-06 20:00:02 -04:00
Daniel Agar 528d2f61a0 sensors partially move to new uORB::Subscription 2019-06-06 19:07:17 -04:00
Daniel Agar 55c9786157 PX4Magnetometer implement MAGIOCGSCALE (copy out scale)
- fixes #12193
2019-06-06 14:10:13 -04:00
Beat Küng ab0466eddf omnibus: enable dmesg buffer (3kb)
without LPE running, we have about 17.6 kb more free RAM.
2019-06-06 11:11:44 -04:00
Beat Küng 223e3c6429 aerofc rc.board_defaults: remove wrong parameter settings
This was a regression.
2019-06-06 11:11:44 -04:00
Beat Küng 73102dc3c4 SYS_MC_EST_GROUP: add q estimator only option and activate on omnibus 2019-06-06 11:11:44 -04:00
Beat Küng 1321f96b59 omnibus rc.board_defaults: remove flash-based params transition logic 2019-06-06 11:11:44 -04:00
Beat Küng 5c715978e8 param compare/greater: do not print 'parameter not found' message
Reduces clutter in the boot output (now that we have it in the log).
On omnibus for example we see:
ERROR [param] Parameter SENS_EN_BATT not found
ERROR [param] Parameter SENS_EN_LL40LS not found
ERROR [param] Parameter SENS_EN_LL40LS not found
ERROR [param] Parameter SENS_EN_MB12XX not found
ERROR [param] Parameter SENS_EN_PGA460 not found
ERROR [param] Parameter SENS_EN_SF1XX not found
ERROR [param] Parameter SENS_EN_TRANGER not found
2019-06-06 09:16:49 -04:00
Julian Kent 0553d4d01e Fix px_uploader.py to work in 16.04 with Python 2.7.
Before, the pyserial check would fail before it could check for the
VERSION that the Python 2.7 version contains. This fixes it to check
for the VERSION independently.
2019-06-06 09:13:54 -04:00
Tanja Baumann fcec3b3efc px4_fmu-v4: increase uart buffer sizes for vision algorithms (#12199) 2019-06-06 09:01:42 -04:00
Daniel Agar 3796dda209 ekf2 move most orb subscriptions to uORB::Subscription 2019-06-06 08:22:15 +02:00
Daniel Agar cecd009ddc mc_att_control: fix vehicle_rates_setpoint_poll() error due to merge timing 2019-06-05 21:18:02 -04:00
Daniel Agar ca5651bd8b heater move to new WQ and uORB::Subscription 2019-06-05 20:38:42 -04:00
Daniel Agar 4c42cac380 mc_att_control move most orb subscriptions to uORB::Subscription 2019-06-05 20:37:47 -04:00
Daniel Agar c0e735c88a vtol_att_control move to new uORB::Subscription 2019-06-05 20:33:20 -04:00
Daniel Agar 71d58c9278 wind_estimator move to new WQ (lp_default) and uORB::Subscription 2019-06-05 20:31:16 -04:00
Daniel Agar e4ad994763 navigator move to new uORB::Subscription 2019-06-05 20:28:44 -04:00
David Sidrane 79eb74be3f Fix bmp280 on FMUv4 2019-06-05 15:43:53 -04:00
Daniel Agar 9d726cb0c4 bmi160 move to PX4Accelerometer and PX4Gyroscope and cleanup (#12128) 2019-06-05 11:25:18 -07:00
bresch ac4458460d FailureDetector - update hysteresis to comply with new interface 2019-06-05 16:53:08 +02:00
bresch 57c2085ce4 IO driver - Recover flight termination state from IO after FMU reboot in air 2019-06-05 16:53:08 +02:00
bresch c75f71abc2 IO failsafe - apply failsafe values to outputs when in failsafe.
This is required because otherwise, IO would output disarmed values if
FMU goes into a disarmed state.
2019-06-05 16:53:08 +02:00
bresch 96da46d1aa Failsafe - cosmetic changes 2019-06-05 16:53:08 +02:00
bresch 776b1a28de IO mixer - cleanup FMU timeout check (comments and indentation) 2019-06-05 16:53:08 +02:00
bresch c576c57d7b protocol.h - comment style update 2019-06-05 16:53:08 +02:00
bresch 4b8febf558 Flight termination IO - reword flight termination flag description 2019-06-05 16:53:08 +02:00
bresch 158463d0a0 Flight termination - Rename "flightterm" variables and defines to "flighttermination". 2019-06-05 16:53:08 +02:00
bresch 5becc24a1f Failure detector - in failure detector preflight check, get
vehicle_status as const type. Also use FAILURE_NONE enum to check for a
failure
2019-06-05 16:53:08 +02:00
bresch 33a94c8191 Failure detector - change snake_case function names to camelCase 2019-06-05 16:53:08 +02:00
bresch ee1f8f457b px4io - rename safety_param_val to circuit_breaker_io_enabled and change its type to bool since circuit_breaker_enabled returns a boolean 2019-06-05 16:53:08 +02:00
bresch 03ad4ffd47 FailureDetector - Add is_failure() function to simplify the interface; the user does not need to check the bitmask 2019-06-05 16:53:08 +02:00
bresch d3c9436f84 flight termination - rename in_flight_termination to flight_termination_triggered 2019-06-05 16:53:08 +02:00
bresch e8705f08c4 quad_x_main - rename parachute output to failsafe output 2019-06-05 16:53:08 +02:00
bresch 4eaf6e77be Flight termination - Always send flag to IO without checking the circuit breaker. The circuit breaker is used inside IO to decide if it has to go into failsafe if FMU dies and also controls is the FailureDetector sets the force_failsafe flag. The other sources of flight termination (rc loss, geo fence, ...) are not disabled by the circuit breaker 2019-06-05 16:53:08 +02:00
bresch 59265f6663 Failure detector - Add flight termination comments, make format 2019-06-05 16:53:08 +02:00
bresch 0655f7603b FailureDetector - Increase min value of FD_FAIL_P/R to 60 degrees 2019-06-05 16:53:08 +02:00
bresch d19614a94f MC Lnd detector - Remove double include 2019-06-05 16:53:08 +02:00
bresch 38345be41a FailureDetector - Add roll and pitch failures hysteresis 2019-06-05 16:53:08 +02:00
bresch a72de95c94 Failure detector - Disable flight termination by default. Modify FD_FAIL parameters description 2019-06-05 16:53:08 +02:00
bresch 81bb7888de Failure Detector - Add Failure Detector check to preflight checks 2019-06-05 16:53:08 +02:00
bresch c73875cbf8 quad x mixer - Add null mixer for parachute triggering 2019-06-05 16:53:08 +02:00
bresch 34fca5a552 PWM - Remove unused MIXERADDSIMPLE 2019-06-05 16:53:08 +02:00
bresch 7b531bcaef Failure Detector - Play TONE_PARACHUTE_RELEASE_TUNE when force failsafe is set 2019-06-05 16:53:08 +02:00
bresch d655c33faa IO mixer - Change default mixer to DISARMED and allow to set outputs to failsafe if FMU does not respond and if flight termination circuit breaker is not set 2019-06-05 16:53:08 +02:00
bresch 6fb1b4886c IO - Send flight termination circuit breaker state to IO through PX4IO_P_SETUP_ENABLE_FLIGHTTERM 2019-06-05 16:53:08 +02:00
bresch 796631db20 PX4IO driver - use "curcuit_breaker_enabled" function instead of manually checking its value 2019-06-05 16:53:08 +02:00
bresch 19bf080313 PX4ioFirmware - Clean should_arm, should_arm_nothrottle and should_always_enable_pwm indentation for better understanding 2019-06-05 16:53:08 +02:00
bresch ba93f9b983 FailureDetector - Update failure detector logic in commander. 2019-06-05 16:53:08 +02:00
bresch 664fff4a24 Px4io Driver - Remove unimplemented prototype 2019-06-05 16:53:08 +02:00
bresch b64a2a884b Circuit Breaker - Disable flight termination circuit breaker by default (reverts ab40008) -> Allow flight termination 2019-06-05 16:53:08 +02:00
bresch 50d75dc7a6 IOFirmware - Properly clear the alarm flags 2019-06-05 16:53:08 +02:00
Thomas Gubler cf15cef066 Param "User Flight Profile" : improve documentation 2019-06-05 06:45:43 -07:00
Thomas Gubler d8a4d70fce Add Param "User Flight Profile"
This param has no effect within the Firmware.

The param can be used for example:

* in log post processing to have context about the flight
* in ground stations to adapt the UI automatically
2019-06-05 06:45:43 -07:00
Daniel Agar 1d5684823d disable -fassociative-math (within -funsafe-math-optimizations) 2019-06-05 14:54:29 +02:00
Julian Oes e7d0cabb52 logger: fix uninitialized member variable
This was reported by Coverity Scan.
2019-06-05 14:46:03 +02:00
bresch d5298fccbd PWM_REV - Clarify use case. The user shoul not be tempted to use that
parameter to reverse the direction of a rotor.
2019-06-05 09:10:06 +02:00
Daniel Agar f2b4480e6b GPS driver update to uORB::Subscription 2019-06-05 08:18:02 +02:00
Julian Oes bece63866d platforms: remove px4_backtrace 2019-06-05 08:16:19 +02:00
Julian Oes 35074aaffd posix: remove segfault handler
I could not get a core dump without removing the segfault handler, hence
this change.
2019-06-05 08:16:19 +02:00
Julian Oes f3620f7018 Remove all leftover PX4_BACKTRACE calls 2019-06-05 08:16:19 +02:00
Julian Oes 5273e2af04 Tools: remove decode_backtrace.py
This hasn't been used in a while and didn't quite work with the
backtraces produced anyway.
2019-06-05 08:16:19 +02:00
Daniel Agar a1b96ba3a5 mpu9250 delete unused perf counters 2019-06-04 20:31:47 -04:00
Daniel Agar 26e041c43c WQ increase stacks from 1200 to 1250 bytes 2019-06-04 20:24:51 -04:00
Daniel Agar 574f7e9f00 batt_smbus move to new WQ 2019-06-04 19:54:06 -04:00
Daniel Agar 3faab909d7 commander move most orb subscriptions to uORB::Subscription 2019-06-04 18:44:51 -04:00
Daniel Agar 777b615cf9 land_detector move to PX4 WQ hp_default 2019-06-04 18:10:21 -04:00
Daniel Agar 53aa4130a8 land_detector move orb subscriptions to uORB::Subscription 2019-06-04 18:10:21 -04:00
baumanta 2320088541 use position controller parameters for limitation instead of acceleration/jerk 2019-06-04 16:47:33 +02:00
baumanta c497d94616 publish a minimal message for logging/debugging 2019-06-04 16:47:33 +02:00
baumanta 09e1d4888c use velocity component in bin direction instead of norm 2019-06-04 16:47:33 +02:00
baumanta 33cd032c35 camelcase function name, initialize c++11 style 2019-06-04 16:47:33 +02:00
baumanta e7d17cc265 consider acceleration ramp-up time 2019-06-04 16:47:33 +02:00
baumanta ab792093e1 fix wrong if clause 2019-06-04 16:47:33 +02:00
baumanta 23c23e3aa5 clean up 2019-06-04 16:47:33 +02:00
baumanta f50a1d58b0 bugfixes and cleanup 2019-06-04 16:47:33 +02:00
baumanta 4212ae8b87 sign bug fix and clean up 2019-06-04 16:47:33 +02:00
baumanta 60befdce5b change collision prevention algorithm 2019-06-04 16:47:33 +02:00
baumanta 8427cd3051 constant acceleration breaking for collision prevention 2019-06-04 16:47:33 +02:00
Julian Oes 6f9598c76a topic_listener: document how to exit
This was left out when the feature was added.
2019-06-04 09:24:00 -04:00
Daniel Agar ceac68e69d uORB remove unused SubscriptionInterval and SubscriptionIntervalData 2019-06-04 09:17:34 -04:00
Beat Küng d68dcb9cf7 log_writer_file: increase stack size by 20 bytes
Seems to be due to the console buffer.
2019-06-04 11:57:54 +02:00
Beat Küng 0d71eeccbf console buffer: write to log as 'boot_console_output' message 2019-06-04 11:57:54 +02:00
Beat Küng 08b8ee4831 replace fprintf(stderr with PX4_{INFO/WARN} 2019-06-04 11:57:54 +02:00
Beat Küng d947818654 console: add simple dmesg functionality (enable only on v5) 2019-06-04 11:57:54 +02:00
bresch 2307c7c390 Geofence - Rename _warning_action_on to _geofence_warning_action_on
since it is only set by the geofence logic. Simplify conditions in IF
statements.
2019-06-04 08:35:56 +02:00
bresch f8f967f073 Geofence - Change from "re-engage geofence failsafe every 10s when
outside the fence" to "engage geofence failsafe on transition". This
way, the pilot is not stucked in the non flight zone and can switch to
a manual mode and fly back or trigger RTL.
2019-06-04 08:35:56 +02:00
bresch 427b2e6636 Geofence - Do not trigger geofence failsafe while in low battery
failsafe action.
Also move geofence flags from static variables declared into the if
statement to private members of the class.
2019-06-04 08:35:56 +02:00
pedro-roque a707403eaf mc_att_ctrl: added yawrate control from offboard.
This commit adds Roll Pitch Yawrate Thrust (RPYrT) setpoint control to the
PX4 stack, enabling the UAV to follow specific yawrates sent from
offboard. It also introduces individual body_rate flags, along the
lines of mavros.

Tested on a MoCap enabled flight arena in KTH Royal Institute of
Technology, Stockholm. The MAV receives RPYrT setpoints from an
external PID controller to stabilize around position setpoints.
The UAV is also externally disturbed to assess the stability to
external unmodeled events.

Fixed Kabir comments.

Removed deprecated ignore_bodyrate.

Fixed integration test.
2019-06-04 08:26:09 +02:00
Matthias Grob ac002db25c MAVLink/Commander: @Pedro-Roque's offboard yawrate handling 2019-06-04 08:26:09 +02:00
Daniel Agar 579cbbb42c mavlink move to new lightweight uORB::Subscription 2019-06-03 17:06:21 -04:00
Daniel Agar 2c63e335e9 uORB::Subscription subscribe directly to uORB device node object 2019-06-03 17:06:21 -04:00
Daniel Agar 2d1c60bc85 SITL offboard ATT test reduce Z boundary requirement
- fixes #12155
2019-06-03 12:31:12 -04:00
rfauvet 755eccbe60 simulator: fixing missing declaration
The "len" variable was not defined and gave me an error, declaring it as "int" fixed it
2019-06-03 10:02:36 -04:00
mcsauder 8966ad59c7 Add distance sensor id to the the MavlinkStreamDistanceSensor class and format whitespace in mavlink_messages.cpp. 2019-06-01 14:23:49 -04:00
Daniel Agar 32fb2bae8c InvenSense MPU9250 move to PX4Accelerometer and PX4Gyroscope helpers 2019-05-31 21:43:30 -04:00
Daniel Agar cd45d8fc68 fxas21002c split out main and header 2019-05-31 18:20:32 -04:00
Daniel Agar b57dff8594 fxas21002c move to PX4Gyroscope and cleanup 2019-05-31 18:20:32 -04:00
Daniel Agar c8ea198a78 uavcan cmake FATAL_ERROR if platform isn't set
- this indicates a build system error
2019-05-31 12:20:50 -04:00
Daniel Agar 43e3fc707d simulator move to PX4Accelerometer, PX4Gyroscope, PX4Magnetometer, PX4Barometer helpers (#12081) 2019-05-30 21:07:26 -04:00
Daniel Agar 4a4d323a97 Update submodule mavlink v2.0 to latest Thu May 30 13:05:26 UTC 2019 (#12127)
- mavlink v2.0 in PX4/Firmware (a10b1afb54): https://github.com/mavlink/c_library_v2/commit/4b80386684d6823d43a87c53b28dc62570bfd42b
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/60df2613725c21f3eedc51251285f80a22e7d07d
    - Changes: https://github.com/mavlink/c_library_v2/compare/4b80386684d6823d43a87c53b28dc62570bfd42b...60df2613725c21f3eedc51251285f80a22e7d07d
2019-05-30 21:01:47 -04:00
Daniel Agar f85c15e247 board common create generic dma allocator (from fat_dma_alloc) 2019-05-30 19:31:40 -04:00
Daniel Agar bf12583d80 fw_pos_control_l1 replace FW_LND_THRTC_SC param description < character
- fixes #12124
2019-05-30 18:03:03 -04:00
Daniel Agar e4926373e6 INA226 move to new WQ and cleanup 2019-05-30 10:22:15 -07:00
Daniel Agar a10b1afb54 vtol_att_control vtol_type enum -> enum class 2019-05-30 09:04:08 -04:00
bresch d13dfdcd24 AutoLineSmoothVel - Remove duplicate of _yaw_sp_prev update. This is done in the Auto FlightTask, _limit_yaw_rate 2019-05-30 11:14:44 +02:00
bresch a7cf981c8c AutoLineSmoothVel - Reduce jerk if acceleration, velocity and desired velocity are small to help the optimizer to converge towards zero 2019-05-30 11:14:44 +02:00
bresch 3499b6ff89 AutoLineSmoothVel - Do not generate heading from trajectory if the velocity vector is smaller than 10cm/s
This is done to avoid generating large yaw changes when the velocity
vector is small; for example when switching into loiter or reaching the
last waypoint.
2019-05-30 11:14:44 +02:00
Daniel Agar 21c791e959 listener exit with ctrl-c, escape, or q 2019-05-30 10:53:06 +02:00
Julian Oes 2ac8841f35 vtol/fw/mc: fix VTOL enum shadowing
This changes the enums used for various VTOL states to enum classes
which makes them type-safe and should avoid shadowing.

This change was motivated by a Clang warning about shadowing of the
enum const TRANSITION_TO_FW which was declared twice, once in
vtol_type.h and once in standard.h.

This change only removes the shadowing but presumably these enums could
be cleaned up and consolidated further.
2019-05-29 23:51:10 -04:00
Daniel Agar 4b3f68f90c cmake and Tools/setup.sh default to python3 2019-05-29 20:48:22 -04:00
Daniel Agar f593e3de9c AK09916 move to new WQ, PX4Magnetometer, and cleanup 2019-05-29 13:59:08 -04:00
Daniel Agar a523e18c13 ST L3GD20 move to PX4Gyroscope helper 2019-05-29 13:56:18 -04:00
Martina Rivizzigno 119ccc4256 ObstacleAvoidance: fix comment 2019-05-29 15:16:33 +02:00
Martina Rivizzigno 61f69ed139 ObstacleAvoidance: use convention for paramter name 2019-05-29 15:16:33 +02:00
Martina Rivizzigno 1e8582974c do not update desired setpoints and waypoints if the oa is disabled 2019-05-29 15:16:33 +02:00
Martina Rivizzigno 0963dc9af1 ObstacleAvoidance: fix bug in requesting update of the mission item.
During takeoff you're always in the condition within xy acceptance radius
and more than altitude radius away from the takeoff waypoint
2019-05-29 15:16:33 +02:00
Martina Rivizzigno 9e8575b71b do not overwrite with obstacle avoidance yaw setpoints if external yaw
handling is enabled
2019-05-29 15:16:33 +02:00
Martina Rivizzigno 44b8b4f79f send velocity setpoint to enable proper takeoff/land 2019-05-29 15:16:33 +02:00
Julian Oes b135503447 wqueue: check before dereferencing
This was found by coverity.
2019-05-29 08:57:46 -04:00
Julian Oes 29915cbc6d BlockingQueue: default initialize _data
This was reported by coverity.
2019-05-29 08:57:46 -04:00
Julian Oes 4d7a1afd92 Revert "Revert "simulator: remove hack for diff_pressure noise""
This reverts commit 2142459027.
2019-05-29 08:56:33 -04:00
Beat Küng ed9d25a75a logger: add arming/disarming via AUX1 RC channel logging mode 2019-05-29 11:41:22 +02:00
Beat Küng 721f9f901f log_writer_file: fix race condition for fast consecutive stop & start calls 2019-05-29 11:41:22 +02:00
Beat Küng 03332aaa20 PX4Accelerometer,PX4Gyroscope: set_sample_rate requires a filter update 2019-05-29 09:15:52 +02:00
Beat Küng 6da78c956e SYS_COMPANION: remove this parameter
It was already deprecated.
2019-05-29 09:15:52 +02:00
Beat Küng 6e2b70cbcd posix: restore original SEGV signal handler upon first entry of our handler
The current SEGV handling on posix is not useful: as soon as our handler
is left, it's triggered again, infinitely.
This patch changes to restore the original handler, so the OS can create
a core dump, etc.
2019-05-29 08:30:52 +02:00
Mohammed Kabir b334b75886 Move optical flow drivers to own subdirectory 2019-05-28 23:23:38 -04:00
Daniel Agar 6627c60e5b load_mon move from NuttX LPWORK to PX4 work queue lp_default 2019-05-28 09:40:36 -04:00
RomanBapst 0f49eb34a0 fixed method which calculates validity of terrain estimate
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-05-28 19:43:13 +10:00
Daniel Agar cd34ab802d mathlib delete floorf in favor of math.h 2019-05-28 19:42:59 +10:00
Beat Küng 5d6cc7d033 ekf2: reduce GPS initialization time for SITL from 10s to 0.5s
Speeds up SITL startup.
2019-05-28 10:45:38 +02:00
Daniel Agar f7ff82c754 Bosch BMI055 IMU cleanup
- move to PX4Accelerometer and PX4Gyroscope helpers
2019-05-27 18:03:32 -04:00
Robert de Vries 340d85afc1 EKF: fix variable names in estimator_interface.h
This fixes issue #566
2019-05-27 17:39:42 -04:00
Daniel Agar 03924704d5 Jenkins SITL tests temporarily disable tiltrotor 2019-05-27 15:23:08 +02:00
TSC21 bd87bee632 px4_posix.h: add px4_exit() 2019-05-27 15:22:37 +02:00
Matthias Grob 8a84472795 Hysteresis: switch unit test file name to convention 2019-05-27 09:57:50 +02:00
Julian Oes b29e5e3adb hysteresis: remove dependency/side effect on time 2019-05-27 09:57:50 +02:00
Julian Oes 7b9562e3b1 hysteresis: move out of systemlib, move to gtest
This moves the hysteresis test out of the systemlib and makes it its own
small library. Since it still depends on hrt_absolute_time this does not
link yet. My attempt to get all link dependencies together failed.
2019-05-27 09:57:50 +02:00
Daniel Agar b849991494 Update submodule mavlink v2.0 to latest Mon May 27 00:38:40 UTC 2019
- mavlink v2.0 in PX4/Firmware (61367199aca6aa135462db93c8c8063946876ad4): https://github.com/mavlink/c_library_v2/commit/57000134021fb8d5c2c6281e3783ce29bb35bc17
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/4b80386684d6823d43a87c53b28dc62570bfd42b
    - Changes: https://github.com/mavlink/c_library_v2/compare/57000134021fb8d5c2c6281e3783ce29bb35bc17...4b80386684d6823d43a87c53b28dc62570bfd42b
2019-05-27 00:13:12 -04:00
Daniel Agar b3505bfbf4 Update submodule sitl_gazebo to latest Mon May 27 00:38:33 UTC 2019
- sitl_gazebo in PX4/Firmware (88127380e7): https://github.com/PX4/sitl_gazebo/commit/3062d287c322fabf1b41b8e33518eb449d4ac6ed
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/a0b0eb8df12b11e8f63d3cc766dee97cefa32ab7
    - Changes: https://github.com/PX4/sitl_gazebo/compare/3062d287c322fabf1b41b8e33518eb449d4ac6ed...a0b0eb8df12b11e8f63d3cc766dee97cefa32ab7

 - a0b0eb8 2019-05-10 bazooka joe - Calculate iris inertia from the body colision parameters assuming that the body is homogenic cube. that fixes impossible inertia matrix
 - 113605b 2019-03-27 Elia Tarasov - fix gimbal_controller timestep sign
2019-05-26 23:57:26 -04:00
Daniel Agar 88127380e7 vscode add linker script extension to recommended 2019-05-25 14:21:45 -04:00
Daniel Agar d83a35a503 Update README.md
Co-Authored-By: LorenzMeier <lorenz@px4.io>
2019-05-25 20:08:36 +02:00
Daniel Agar 782d2033c0 Update README.md
Fix link for Roman

Co-Authored-By: LorenzMeier <lorenz@px4.io>
2019-05-25 20:08:36 +02:00
Lorenz Meier c3a58c31d3 Update the README to clarify component ownership
This represents more closely the actual maintenance model.
2019-05-25 20:08:36 +02:00
Beat Küng 800266741b Merge pull request #12063 from PX4/fix_custom_tune
fix tunes: make sure a custom tune gets played
2019-05-25 17:58:44 +02:00
Daniel Agar 9ab9a29a01 astyle don't enforce style in build output 2019-05-25 17:58:19 +02:00
Martina Rivizzigno a18f3e5d45 reset the position lock only if current triplet latitude and longitude
are valid
2019-05-24 21:40:42 +02:00
Daniel Agar c4c3bbbfb0 uORB simplify handling of subscriptions with configured intervals 2019-05-24 14:57:46 -04:00
Daniel Agar 8e6708bdcb qmc5883 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 5e427b4e46 adis16497 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 5ebb0d5d96 rpi_rc_in move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar da6210151c tone_alarm move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 8c3821c806 bst move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 525fdc87c7 pmw3901 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 104b1010bf pca9685 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 8f1b4f693b rm3100 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 8176fe1b6e lsm303agr move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar dffaf544ab lis3mdl move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 537c139134 bmm150 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 78d35f2677 linux_sbus move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 4dd017cd59 rgbled_pwm move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 23f7a662c6 rgbled_ncp5623c move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 6ec7730bf1 rgbled move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 4ac48f154d pca8574 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar e7f539f29a oreoled move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar d8dd592d20 blinkm move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar cdb207804d irlock move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 835a38f6dc vl53lxx move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 593aaa48ca tfmini move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar eb8fbaf93d teraranger move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar a1f3f2112b srf02 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 592037851a sf1xx move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar a6bbf0b945 sf0x move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar ce3b5103fc mb12xx move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 22b89034d9 ll40ls move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 4d41dcaee2 leddar_one move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 9a0f145fc0 hc_sr04 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 6ef42e2c52 cm8jl65 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar e73dd73ea7 mpl3115a2 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar b8befe36b9 lps25h move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 9003aeb216 lps22hb move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 1e7c6be839 bmp280 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar e1bc975065 drivers/differential_pressure move all to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 83d3ead821 ist8310 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar ec0d1d6f62 lsm303d move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 8b4ecc6947 icm20948 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar fc7f1ca598 fxos8701cq move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar d4ece2c7bb fxas21002c move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 9fa865d490 bmi160 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 370f0f73ce bma180 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar e27a8e1010 bmi055 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar be3653f761 l3gd20 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 427c49ac43 adis16477 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 6113caaa33 adis16448 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 16b26c1927 mpu6000 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 70947920b8 hmc5883 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar 56024cda79 ms5611 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar ea734f634d mpu9250 move to px4 work queue 2019-05-24 12:58:55 -04:00
Daniel Agar e9ca5d5aba PX4 general work queue 2019-05-24 12:58:55 -04:00
Beat Küng f58079bc5d pxh.cpp: fix invalid reference if words is empty
This can happen for example if 'line' is a space.
2019-05-24 11:06:41 -04:00
Matthias Grob 6eb29fca9d vscode: remove matter of taste tabs customization 2019-05-24 10:06:06 -04:00
Matthias Grob 90b4c7c065 mathlib: fix floorf indentation 2019-05-24 09:56:12 +02:00
Sebastian Verling 710c52980e fixed calculation of magentic table values by using floor instead of int casting 2019-05-24 09:09:26 +02:00
Matthias Grob ea48cd4970 Takeoff: address @RomanBapst's review comments 2019-05-22 22:05:38 +02:00
Matthias Grob 1c776f16ec mc_att_control: fix applying not updated thrust setpoint 2019-05-22 22:05:38 +02:00
Matthias Grob 953e5e5019 Revert "mc_att_control: fix having high thrust when disarmed"
This reverts commit 0c81a19decde6ddfe4ce87c34c762ea15fd3ab09.
2019-05-22 22:05:38 +02:00
Matthias Grob fac3e1c3f9 mc_pos_control: switch back to velocity ramp
But fix the two crucial problems:
- When to begin the ramp?
There's a calculation now for the velocity ramp initial value
such that the resulting thrust is zero at the beginning.
- When to end the ramp?
The ramp is applied to the upwards velocity constraint and it
just ramps from the initial value to the velocity constraint
which is applied during flight. Slower/going down is always possible.
2019-05-22 22:05:38 +02:00
Matthias Grob 90c6fea408 mc_pos_control_params: user friendly default spool/rampup times 2019-05-22 22:05:38 +02:00
Matthias Grob 856d129bf8 mc_pos_control: fix updating takeoff state when no flight task is running
Without always updating the takeoff state it will not get skipped when
the takeoff happened manually and when you switch from manual to position
mode the drone goes to idle and falls.
2019-05-22 22:05:38 +02:00
Matthias Grob a9f0981aaf mc_pos_control: fix adjusting the wrong setpoint
There are two local_position_setpoint in the position controller.
One describing the setpoint the task gives to the position controller
and a second one with the output of the position controller. I corrected
the wrong one during takeoff because the new takeoff thrust ramp runs after
the controller and not before.
2019-05-22 22:05:38 +02:00
Matthias Grob ad6eb19f09 Add a Takeoff class to handle multicopter takeoff
In a deterministic way with clear states to go through.
2019-05-22 22:05:38 +02:00
Matthias Grob da533a7b1d mc_pos_control: replace takeoff velocity ramp with thrust ramp
The velocity ramp had problems with:
- different vehicle tunings resulted in the start value of the resulting
thrust ramp staring either higher and lower than zero thrust.
lower -> delay of beginning
higher -> small jump at beginning
- when a task set position and velocity at the same time during takeoff
(which AutoSmoothVel does) it resulted in a velocity setpoint
jump at the end of the ramp because the additional velocity
setpoint correction from the position controller was not considered.

The thrust ramp should now be very deterministic:
- always start at zero
- always end at the curreant thrust setpoint output
of the complete position controller
2019-05-22 22:05:38 +02:00
bresch bb055fdaf3 AutoSmoothVel - Override checkTakeoff with task-specific logic and reactivate z axis with downward velocity to takeoff smoothly 2019-05-22 22:05:38 +02:00
Matthias Grob 7c7d980cf0 FlightTasks: fix takeoff trigger for offboard 2019-05-22 22:05:38 +02:00
Matthias Grob e73218d665 mc_pos_control/FlightTasks: trigger takeoff based on task
The initial idea of the flight task architecture was that
a task can freely set it's setpoints and doesn't have to
worry about takeoff and landing. It would just takeoff
when it's landed and there's a setpoint to go up and
land when it puts a setpoint that pushes into the ground.
With the takeoff logic there are some significant interface
problems depending on the way a task is implemented:
From the setpoint is not high enough to trigger to
an unexpected takeoff because of some estimator
fluctuation affecting the setpoint. It's easiest to solve this
by allowing the task to determine when a takeoff is triggered.
If no condition is implemented by default a task is not
allowing a takeoff  and cannot be used to get the vehicle
off the ground.
2019-05-22 22:05:38 +02:00
Matthias Grob 9ba748e67e mc_att_control: fix having high thrust when disarmed
After boot the user is in manual mode and if he has an RC
but doesn't switch out the thrust gets set to the throttle stick
position. When he then starts a takeoff from tablet the thrust is still
high while arming and the land detector immediately sees a takeoff
skiping smooth takeoff from the position controller.
2019-05-22 22:05:38 +02:00
Matthias Grob ae96e16c73 mc_pos_control: initialize takeoff altitude reference
according to @dagar's review comment.
2019-05-22 22:05:38 +02:00
Matthias Grob 8036efd7f2 mc_pos_control: refactor takeoff trigger conditions to be positive 2019-05-22 22:05:38 +02:00
Matthias Grob 5e23883376 mc_pos_control: fix smooth takeoff ramp
- start from a velocity setpoint pushing into the ground
to ramp from idle thrust up.
- start with a bit higher velocity setpoint threshold to make
sure the vehicle has a chance to really get off the ground.
- calculate ramp slope from initialization setpoint to the desired one
instead from zero to the desired. this ramps up quicker when you demand
a very small upwards velocity like the AutoLineSmoothVel and
ManualPositionSmoothVel tasks do at the beginning.
- don't stay in the takeoff ramp depending on the land detector, this
is unnecessary.
2019-05-22 22:05:38 +02:00
Matthias Grob bc77302fc9 mc_pos_control: refactor smooth takeoff names
The comments and variable names were partly misleading.
I grouped all members, hopefully gave them more
understandable names and adjusted the comments.
2019-05-22 22:05:38 +02:00
Matthias Grob 6d5d09c231 mc_pos_control: refactor smooth takeoff call
There were two rather confusing function calls one to check
if smooth takeoff needs to be ran and one that updates it.
I combined them and documented the interface correctly
making the parameters non-reference const floats.
2019-05-22 22:05:38 +02:00
TSC21 3413df19e8 astyle: add microRTPS related code for format check and fix 2019-05-22 11:49:02 +02:00
TSC21 b3435dd1f5 microRTPS_transport: use preprocessor declarations to setup different build contexts for client and agent code 2019-05-22 11:49:02 +02:00
TSC21 f0447e0009 microRTPS_agent_CMakeLists.txt.template: add header files to micrortps_agent executable build 2019-05-22 11:49:02 +02:00
TSC21 95f144dfb7 msg.idl.template: do not generate typdefs for builtin types (not required) 2019-05-22 11:49:02 +02:00
TSC21 110a7931e4 microRTPS bridge generation: improve fastrtpsgen verbosity 2019-05-22 11:49:02 +02:00
TSC21 3536c9dddc RTPS IDL: fix const names; make IDL template similar to rosidl_generator_dds_idl/resource/msg.idl.em 2019-05-22 11:49:02 +02:00
Daniel Agar f0cd79953f create PX4Barometer class 2019-05-20 13:12:49 -04:00
Daniel Agar a883d8eff9 PX4Magnetometer now functional 2019-05-20 13:12:49 -04:00
Julian Oes 12374490cb visibility.h: clean up includes, add comments
This tries to make the visibility.h header clearer and better
structured. We don't actually need the ifdef for lockstep enabled or
disabled because that's now handled elsewhere.
2019-05-20 12:39:02 -04:00
Julian Oes 84537921e9 visibility.h: fix missing headers 2019-05-20 12:39:02 -04:00
Julian Oes 7a768dbab3 lockstep_scheduler: always use the same code
This define was not set anyway, and in my opinion we should
not use different code for tests anyway.
2019-05-20 12:39:02 -04:00
Julian Oes 52099f5792 cmake: include lockstep_scheduler test
This makes sure we add the lockstep_scheduler_test even if the
ENABLE_LOCKSTEP_SCHEDULER is not set to yes. This means the
lockstep_scheduler is not used for SITL but the CMakeLists.txt file
still used and the test added.
2019-05-20 12:39:02 -04:00
Julian Oes 8d8799097d lockstep_scheduler: convert test to gtest 2019-05-20 12:39:02 -04:00
Daniel Agar 162405479b device drivers lib add linux spi support 2019-05-20 12:18:56 -04:00
David Sidrane ed8c6019d5 Added TI ina226 I2C power monitor (#11755) 2019-05-17 13:33:48 -04:00
Timothy Scott d78a842ca8 Rover: add airframe configuration for Aion R1 Rover (#12026)
* Added Aion R1 airframe
* Tuned PID values for Aion R1
* Changed to generic mixer and cleaned up configuration
2019-05-17 08:51:16 -04:00
bresch feefbb444b ManualSmoothVel - Remove unused _param_mpc_jerk_min declaration 2019-05-17 14:15:29 +02:00
Mathieu Bresciani 4b2d01dea1 MPC parameters - Update from Matthias' comments
Co-Authored-By: Matthias Grob <maetugr@gmail.com>
2019-05-17 14:15:29 +02:00
bresch b726d8df0d Add jerk parameter for auto mode MPC_JERK_AUTO. Specify when a parameter is only used in a certain manual or auto mode 2019-05-17 14:15:29 +02:00
Beat Küng 011aef5464 px4_poll posix: fix wrap-around for large timeouts
timeout is an int, so it wraps when the poll timeout is >2147ms.
This happened in logger, resulting in poll never returning.
2019-05-17 07:53:33 -04:00
Julian Oes 9d8015d029 modules/lib: ignore address-of-packed-member
For now we need to ignore this warning which GCC 9 shows for the MAVLink
headers.
2019-05-16 13:06:25 +02:00
Julian Oes b20feacdb5 drivers: fix -Wstringop-truncation
GCC 9 complained about stringop-truncation which is a cautionary message
to prevent using strncpy with non-null terminated strings.

We can fix this by copying one byte less than the destination size and
then manually adding the null termination, as we already do.
2019-05-16 13:06:25 +02:00
TSC21 3ab75b83ce microcdr and IDL: remove field ordering, causing improper serialization/deserialization 2019-05-16 12:02:24 +02:00
Matthias Grob bff93685a5 pull_request_template: order and phrasing
Since I reorder the points every time I open a pull request I thought I might as well propose this order for the template.
2019-05-16 09:43:34 +02:00
Beat Küng 54ac147ae8 Ekf: add set_min_required_gps_health_time() to allow configure minimum GPS health time
This does not change the default of 10 seconds.
2019-05-15 09:00:24 +01:00
Roman 770cd3c5cc added python script for terrain flow derivation (optical flow for terrain
height estimation)

Signed-off-by: Roman <bapstroman@gmail.com>
2019-05-15 17:16:36 +10:00
Roman c085d7295d addressed review comments 2019-05-15 17:16:36 +10:00
Roman 8673ab0346 terrain estimator: constrain terrain state properly
Signed-off-by: Roman <bapstroman@gmail.com>
2019-05-15 17:16:36 +10:00
Roman fbb51147b7 implemented use of optical flow for terrain estimation
Signed-off-by: Roman <bapstroman@gmail.com>
2019-05-15 17:16:36 +10:00
Julian Oes 01fdd00c41 init.d-posix: $ is apparently not needed here 2019-05-14 11:04:04 +02:00
Julian Oes ffeeedc310 init.d-posix: raise timeouts for fast SITL
When simulating with lockstep we can raise the speed by setting the env
variable `PX4_SIM_SPEED_FACTOR`. Some inputs like RC, MAVLink heartbeats
from a ground station, or offboard controls via MAVLink are still at the
normal speed which leads to timeouts getting detected in PX4.

To work around this issue we can automatically multiply the timeout
parameters by the speed factor.
2019-05-14 11:04:04 +02:00
Daniel Agar f067ca0d8f fmu-v2 & fmu-v5 add missing tone_alarm to example board variants
- fixes #12012
2019-05-13 15:49:22 -04:00
Julian Oes 79651ed6a4 launch: count multi UAVs from 0
This fixes the IDs of multi UAVs started with ROS/Gazebo.

Previously the 3 vehicles were displayed in QGC as Vehicle 2, 3, 4.
With this change it is more intuitive Vehicle 1, 2, 3 and this is
also consistent with the way it is documented and how it is in
jMAVSim.
2019-05-13 10:33:17 +01:00
Oleg Kalachev 77097b6adc commander: update commander status when offboard control mode changed 2019-05-11 10:30:57 -04:00
Bart Slinger ebf8bc898a fix bebop upload script 2019-05-11 14:39:42 +01:00
Julian Oes e80d3940a6 jmavsim_run.sh: enable SDK UDP port
We forgot to add the option -s for jmavsim_run.sh which starts jMAVSim
with the UDP port connecting to the SDK (port 14540).
2019-05-09 18:27:14 +02:00
Julian Oes d2ab31f0d7 jMAVSim: update submodule
This fixes cross-talk between the QGC and SDK UDP ports for HITL.
2019-05-09 18:27:14 +02:00
Julian Oes e1f42ae767 sitl_run.sh: use tabs, not spaces 2019-05-09 12:02:56 -04:00
Julian Oes abed18dd0d sitl_gazebo: update submodule
This brings support for UDP port 14550 and 14540 for HITL simulation.
2019-05-09 12:02:56 -04:00
Matthias Grob 868b4e1746 Testing: correct license headers 2019-05-09 09:42:46 +02:00
Matthias Grob cbd230e34e Testing: Clean up unit_test target because test_results does all tests now 2019-05-09 09:42:46 +02:00
Matthias Grob d8e0d641a5 Makefile: fix reconfigure check passing with prefix substring
Example: Before when you passed "make tests TESTFILTER=Attitude"
and subsequently "make tests TESTFILTER=Atti" it found the string
"TESTFILTER=Atti" in "TESTFILTER=Attitude" and hence the check if
the configuration is already correct passed. The fix checks for
the configuration parameter including the subsequent space separator
and after that strips the space away again such that the list
VERIFIED_CMAKE_OPTIONS doesn't contain trailing spaces.
2019-05-09 09:42:46 +02:00
Matthias Grob 542f61f04b testing build: add possibility to filter tests with ctest regex 2019-05-09 09:42:46 +02:00
Matthias Grob 5a90382cb8 sitl_tests: add prefix "sitl-" for regex test filtering 2019-05-09 09:42:46 +02:00
Matthias Grob 5020dfdc3d Testing: switch unit tests to BUILD_TESTING 2019-05-09 09:42:46 +02:00
Matthias Grob 01e9b2cde8 AttitudeControlTest: compare vectors, not every element 2019-05-09 09:42:46 +02:00
Matthias Grob f5f95635b4 gtest: fix poisoned exit in compile flags
visibility.h is included globally in PX4 via cmake compile flags.
It contains poisoning the exit() command which is used by gtest
to close the test application. Removing the flag for gtest compilation
fixes the compile error:
gtest.cc:4757:7: error: attempt to use poisoned "exit"
2019-05-09 09:42:46 +02:00
Matthias Grob 8eb0d66279 gtest: download specific version 2019-05-09 09:42:46 +02:00
Matthias Grob 2cd0344712 AttitudeControlTest: fix style 2019-05-09 09:42:46 +02:00
Matthias Grob 0ff64bf101 Improve ctest unit test naming and filtering 2019-05-09 09:42:46 +02:00
Matthias Grob 63b967f5df Add unit testing possibility using googletest on POSIX 2019-05-09 09:42:46 +02:00
Roman Bapst 816aa0ffb6 VTOL transitions: use FW attitude loop (#11911)
* VTOL trans: changed that now in transition for both MC and FW the corresponding (correct) attitude controller is running
* attitude setpoint for stabilized mode is generated by tailsitter.cpp
* reset yaw setpoint during transition to avoid big yaw errors after
transition back to hover
* VT_TYPE parameter: added "reboot required" metadata
2019-05-08 10:33:13 -04:00
Daniel Agar d4b7441d12 Update submodule ecl to latest Wed May 8 12:38:58 UTC 2019 (#11972)
- ecl in PX4/Firmware (fa1fbed24633aef7985a128ebd4d19a7f6a4d108): https://github.com/PX4/ecl/commit/c4492b17c1d7bb9b74011efa9890452b091421e8
    - ecl current upstream: https://github.com/PX4/ecl/commit/a27a43eafa8f4dd514e89984f5394260a36ea4f6
    - Changes: https://github.com/PX4/ecl/compare/c4492b17c1d7bb9b74011efa9890452b091421e8...a27a43eafa8f4dd514e89984f5394260a36ea4f6

a27a43e 2019-05-01 Hamish Willee - Fix up link to EKF docs
3f69189 2019-04-04 Mohammed Kabir - EKF: control: stop vision yaw fusion on timeout
2019-05-08 09:56:16 -04:00
Beat Küng 1169d091b6 ToneAlarm: ignore topic updates with 0 timestamp
Commander initially publishes a tune_control topic set to 0, which can
interfere with the startup tone (as happening on the Pixhawk Cube).
2019-05-08 14:16:30 +02:00
Matthias Grob f30f12341f PositionControl: tiny minimal thrust length
To be able to still infer the direction of the thrust vector we
limit it to a minimal length even if MPC_THR_MIN is set to zero.

Note: This is a hotfix for certain specific applications.
The direction of the thrust vector in this corner case is very
likely to get into the tilt limit which is generally undesired.
2019-05-08 03:08:45 -05:00
斯东Stone b35be4b0a6 Fix typo in drivers/lights/CMakeLists.txt 2019-05-08 08:18:37 +02:00
bresch 02f0533ee9 Commander - Remove old code that overrides state_machine_helper logic 2019-05-07 17:45:28 +02:00
bresch 6d8d8e3c88 MC gyro cutoffs - Reduce IMU_GYRO_CUTOFF to 30Hz and disable MC_DTERM_CUTOFF.
A low gyro cutoff is needed for most medium/large size drones as the structural natural and blade-pass frequencies are low.
A higher value is still desirable for small platforms surch as racers
or well isolated autopilots and should be tuned by the user.
Specific values for config files are untouched.
The cutoff filter for the D term is disabled here as the required
cutoff frequency for the default D term of the rate controller is higher
than the gyro cutoff. In that case, enabling the D term cutoff would
just add some undesired phase lag to the derivative.
2019-05-07 12:15:51 +02:00
Daniel Agar 72b898fbf6 vscode minor settings update (#11978)
- minimap size and display
 - title bar show file path and if modified
 - disable natural language search (sends keystrokes to Bing)
2019-05-06 16:37:43 -04:00
Daniel Agar 3d22da9cbe wind_estimator fix true airspeed usage 2019-05-06 15:25:33 -04:00
Daniel Agar 317e8cda64 Update submodule jMAVSim to latest Mon May 6 12:38:30 UTC 2019 (#11974)
- jMAVSim in PX4/Firmware (7ec6f0dca6): https://github.com/PX4/jMAVSim/commit/79586deda5176c37de7804904f2553c8547edc4a
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/ae1593d0c8d6f3860081dff04ada1cacda4c8087
    - Changes: https://github.com/PX4/jMAVSim/compare/79586deda5176c37de7804904f2553c8547edc4a...ae1593d0c8d6f3860081dff04ada1cacda4c8087

ae1593d 2019-04-30 Julian Oes - Merge pull request #100 from PX4/fix-port-default
9de8f86 2019-04-29 Julian Oes - Simulator: fix default for QGC and SDK link
d42efaf 2019-04-29 Julian Oes - Merge pull request #99 from PX4/pr-add-sdk-port
7d0bebb 2019-04-26 Julian Oes - Simulator: fix copy paste mistake
a94816e 2019-04-26 Julian Oes - Simulator: add MAVLink UDP port for SDK
6a9634b 2019-04-26 Julian Oes - Visualizer3D: ran fix_style.sh
2019-05-06 13:50:41 -04:00
Daniel Agar f4e5b2bf77 Update submodule mavlink v2.0 to latest Mon May 6 12:38:37 UTC 2019 (#11973)
- mavlink v2.0 in PX4/Firmware (0d543e29bb4535df9654c1f3a7c8f0712e81a120): https://github.com/mavlink/c_library_v2/commit/d8c4e5def38f2ff6079087e579693b4bd9552584
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/57000134021fb8d5c2c6281e3783ce29bb35bc17
    - Changes: https://github.com/mavlink/c_library_v2/compare/d8c4e5def38f2ff6079087e579693b4bd9552584...57000134021fb8d5c2c6281e3783ce29bb35bc17
2019-05-06 13:16:25 -04:00
Julian Oes 0a978f51e6 px4_atomic: use volatile hack for Snappy
It looks like the atomic builtins are not available using QuRT and the
Hexagon toolchain, so our best bet is to use `volatile` for the atomics.
2019-05-06 12:06:01 -04:00
Julian Oes e6621bf7fb boards: ignore sih for Snappy
When sih (simulation in hardware) was compiled for Snapdragon, we got
the linking problem below. I'm not sure why, supposedly the symbol
`double sin(double)` is missing.

undefined PLT symbol _LSin (705) /libpx4.so (symbol.c:303)
2019-05-06 12:06:01 -04:00
Oleg Kalachev 7ec6f0dca6 lpe: use minimum flow altitude from uORB instead of hardcoding 2019-05-05 02:57:58 -05:00
David Sidrane 07e6730cd7 Add nxp_fmuk66-v3 to QGC deploy
See https://github.com/mavlink/qgroundcontrol/issues/7360
2019-05-04 09:14:35 -05:00
Beat Küng 2448a84c36 SITL: add if750a model 2019-05-03 13:32:48 +02:00
Claudio Micheli e7075a6660 rcS: Fix multiple set IO_PRESENT.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-05-03 12:20:49 +02:00
Julian Oes 7dc10d2bea CMakeLists.txt: fix cmake warning
It implicitly converted STRINGS to STRING.
2019-05-02 16:26:37 -05:00
bresch 881d0f4143 UAVCAN - update ROMFS_FW_PATH to /etc/uavcan/fw. to match documentation 2019-05-02 16:22:33 -05:00
Beat Küng 74990cadc8 uorb: avoid printf while DeviceMaster is locked
This fixes a potential dead-lock when 'uorb status' was used via MAVLink
shell.
The dead-lock chain is: DeviceMaster::lock() -> printf -> output to a pipe,
which blocks until a reader reads the data. In that case it's mavlink.
If mavlink makes a call that requires DeviceMaster::lock() (such as
orb_exists), it dead-locks.

This patch moves all printf's out of the locked state.
2019-05-02 10:26:41 +02:00
Hamish Willee a27a43eafa Fix up link to EKF docs 2019-05-01 00:36:29 -05:00
Matthias Grob 29719894f7 AttitudeControl: remove unused setter 2019-04-30 23:18:44 -05:00
Julian Oes 9e96c4a4ea sitl_gazebo: update submodule (#11939)
This should fix the regression where the mag values were not properly
initialized and caused EKF2 to stop in CI.
2019-04-30 23:18:04 -05:00
Julian Oes 611417acd2 ROMFS: use auto-disarm in HITL Gazebo with Iris
It is expected that Iris auto-disarms the same as in SITL.
2019-04-30 06:39:35 -05:00
Matthias Grob 269d077fae ekf2: only check ground effect if it's configured 2019-04-30 12:34:28 +02:00
Roman f034d2da19 ekf2: fixed bug in baro ground effect triggering logic
- when either terrain data was temporarily not valid (flying at high
distance to the ground) or the vehicle was not close to the ground
(_param_ekf2_gnd_max_hgt) the ekf switched to using the land detector
ground effect flag.

Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-30 12:34:28 +02:00
Daniel Agar 9bad61b86b Improve robustness to bad and lost airspeed data (#11846) 2019-04-30 03:08:23 -04:00
Daniel Agar 59ebb9af0a Update submodule mavlink v2.0 to latest Tue Apr 30 00:39:26 UTC 2019 (#11926)
- mavlink v2.0 in PX4/Firmware (a26c25ca5bd0168dd2274dd8aa0392aba10feff2): https://github.com/mavlink/c_library_v2/commit/c6ab0459343c78a6a424514b5f64fa65d8cc0cf8
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/d8c4e5def38f2ff6079087e579693b4bd9552584
    - Changes: https://github.com/mavlink/c_library_v2/compare/c6ab0459343c78a6a424514b5f64fa65d8cc0cf8...d8c4e5def38f2ff6079087e579693b4bd9552584
2019-04-30 03:05:25 -04:00
Roman 2bd8b517c5 FwPositionControl: don't do takeoff help for vtol
- takeoff help is used for fixed wings, it increases the altitude setpoint
after a launch. A vtol does not need this as it's already sufficiently
high up in the air.

Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-30 02:45:49 -04:00
Daniel Agar 5d7a82b8e2 av/x-v1 support PMW3901 on SPI2 (now treated as external) 2019-04-30 02:27:29 -04:00
Daniel Agar db5dbb25b3 av/x-v1 board support cleanup and sync with fmu-v5 2019-04-30 02:27:29 -04:00
Matthias Grob 56591954ad Commander: reevaluate RC mode on altitude lock 2019-04-29 13:24:29 -04:00
Daniel Agar f032d0d9fc SYS_MC_EST_GROUP mark LPE unsupported and update airframes (#11925) 2019-04-29 11:50:36 -04:00
Daniel Agar 2142459027 Revert "simulator: remove hack for diff_pressure noise"
This reverts commit 4a71984f77.
2019-04-29 10:46:38 -04:00
Daniel Agar d93efa9169 Revert "sitl_gazebo: update submodule"
This reverts commit 585b9d8cf1.
2019-04-29 10:46:38 -04:00
Julian Oes 4ef59e0a59 standard_vtol: transition at airspeed of 16 m/s
This way we prevent a big dip due to TECS in altitude when the
transition happens at 10 m/s already. Apparently the rule of thumb
is to set this transition speed at the same as airspeed cruise speed.
2019-04-28 18:22:21 -04:00
Julian Oes 4a71984f77 simulator: remove hack for diff_pressure noise
The noise for airspeed is now applied on the Gazebo side and we can
remove this hack.
2019-04-28 18:22:21 -04:00
Julian Oes 585b9d8cf1 sitl_gazebo: update submodule
Includes:
- Fix for vibration on ground for standard_vtol.
- Noise for diff pressure / airspeed on Gazebo side.
- Fix for macOS magnetometer plugin linking error.
2019-04-28 18:22:21 -04:00
Matthias Grob 3bf5d6af12 commander: fix RC mode switch not getting applied after boot
the condition to enter the rc mode switch evaluation was neglecting
the first connection of an RC when "no RC switch changed". this means
depending on the actual initialization values of _last_sp_man and the
desired mode preselected on the RC while connecting it would not get
evaluated.
2019-04-26 21:04:10 +02:00
Matthias Grob f177a68da9 commander: negate main_state_rc entering condition
pure refactor using De Morgan's law to make the condition more intuitive
since you think about when should I enter and not when should I skip
2019-04-26 21:04:10 +02:00
Matthias Grob 1f3ebd98b1 commander: split up set_main_state_rc entering condition
pure refactor of the huge condition into smaller const bool junks
2019-04-26 21:04:10 +02:00
Matthias Grob 21194239c7 FlightTaskAuto: revisit yaw rate limit
There were multiple comments not addressed in pr #11904.
See commit 4bcb37f9bc9ef20b521ebcf33e7a0ed08fa86ccd
2019-04-26 18:58:50 +02:00
Beat Küng c3ac1497c0 mpu9250: fix mag publishing garbage on IMU failure (SPI only)
The Pixhawk cube as an internal mag on SPI. If there was a bad register
read (e.g. on an IMU failure), _register_wait was non-zero and there was
no transfer but _mag still published mpu_report.mag.
2019-04-26 18:49:28 +02:00
Thijs Raymakers 33fe69a3e8 adis16497: fix TEMP_OUT conversion according to the datasheet 2019-04-26 15:22:06 +02:00
bresch 89bc68e12b Auto - Rename MC_YAWRAUTO_MAX -> MPC_YAWRAUTO_MAX 2019-04-26 12:43:26 +02:00
bresch 581d25f77f Auto mode traj - limit yaw setpoint rate of change when generated in the flight task instead of clamping the yaw rate in the controller
Move yaw setpoint slew rate from AutoLineSmoothVel to Auto. The slew rate is now applied consistently to all the auto FlightTasks
2019-04-26 12:43:26 +02:00
mcsauder e6b427022a Add missing underscore prefix to a member variable in mavlink_main.cpp.h and delete unnecessary struct specifiers in mavlink_main.h. 2019-04-26 11:33:17 +02:00
mcsauder 73fb30f251 Migrate an additional set of 16 variable initilializations from the Mavlink class constructor list to their respective declarations. 2019-04-26 11:33:17 +02:00
bresch 903deb7579 RTL - Skip descend state if no delay is set between descend and land 2019-04-25 18:24:04 +02:00
Alexis Paques 5763787840 Adding narg to allow empty arguments 2019-04-25 09:56:06 +01:00
misswhile 37fe090225 fix bmp280 driver init faild. 2019-04-25 10:19:12 +02:00
Julian Oes c95394f57f navigator: fix uninitalized param values
By declaring the params above the navigator modes inheriting from
mission block we make sure the params in navigator are set before
read in the constructor of mission block.
2019-04-24 11:15:43 -04:00
Julian Oes 90ee26dd2d mavlink_mission: properly initialize padding
This prevents uninitialized padding from being written to dataman.
2019-04-24 11:15:43 -04:00
Julian Oes 4c56994d7a mavlink_system: set update_counter for safe points
This variable was not set and lead to uninitialized memory being written
to dataman.
2019-04-24 11:15:43 -04:00
Julian Oes bf32ff32f8 dataman: make _file_write more readable
This should not be any functional change. The only difference are the
variable scopes, and early return versus nested ifs.
2019-04-24 11:15:43 -04:00
Julian Kent dc3341db59 Fix uninitialized memory found using Valgrind 2019-04-24 11:15:43 -04:00
Julian Oes a9c3bce20d px_uploader.py: fix version check
Presumably older versions of pyserial do not implement __version__ but
only VERSION, so we need to check for that as well.
2019-04-24 14:47:10 +02:00
Roman 42d0522cdd FixedWingAttitudeControl: removed check for negative airspeed and slew rate
on airspeed scaling

Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-24 14:27:37 +02:00
Daniel Agar 36aeb9defc WIP: FW attitude control limit airspeed scaling changes per iteration 2019-04-24 14:27:37 +02:00
Martina Rivizzigno eba0bb389a ObstacleAvoidance: fix comment, update failsafe position if one axis is NAN 2019-04-24 08:54:50 +02:00
Martina Rivizzigno e037edd2cc ObstacleAvoidance: once the commadand loiter has been sent, keep using
the first position when the oa fails as setpoint to avoid jumps
2019-04-24 08:54:50 +02:00
Paul Riseborough 0f346af226 ekf2: Improve parameter description
Inhibiting bias estimation using the EKF2_AID_MASK parameter only applies to the delta velocity bias states.
2019-04-24 06:55:54 +02:00
Daniel Agar d8a1a79f69 Mavlink: SYS_STATUS trivial style check fix 2019-04-23 08:48:11 -04:00
jdzerve 2e9d0f0751 Mavlink: Get full sensor status even if only subset has changed when composing SYS_STATUS message (#11886) 2019-04-23 08:31:13 -04:00
Mohammed Kabir 3f691891c4 EKF: control: stop vision yaw fusion on timeout 2019-04-22 12:56:24 +10:00
Arkadiusz Niemiec c50c44cc58 Add a boolean to cleanly exit sender thread 2019-04-21 10:40:25 +01:00
Julian Oes c78aaeb0f7 ak09916: fail if device is not found
This should fix the case where the driver initializes even though the
device is not found. The change changes the behavior to return ERROR
if the whoami call fails several times instead of returning OK.

Also, the reset() and thus probe() calls are moved before initializing
the ringbuffer and device name.
2019-04-20 12:52:56 +02:00
liubaoxu db37cd8c71 BMP280:fix definition misspelling
from BPM280 to BMP280
2019-04-20 08:52:06 +02:00
David Sidrane 2b68076663 Update Nuttx with F7 i2C fixes 2019-04-18 08:55:50 +02:00
baumanta c0a1f5b72f Collision prevention improvements (#11866)
* match max vel in col-prev to regular pos ctrl
* change warning criterium to avoid float error
* disable push back from obstacles
* use floats consistently
2019-04-17 13:20:29 -04:00
Roman 463b8a7528 vtol_att_control: respect min pwm values
Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-17 09:13:27 +02:00
Dennis Millard 70681f990f BMI055 IMU driver fix temperature reporting 2019-04-16 22:53:16 -04:00
sfuhrer 3d36dbfba3 added babyshark VTOL config file and mixer 2019-04-16 11:05:35 -04:00
Mark Sauder 74bc6870ed simulator: uorb and initialization cleanup (#11825)
* Cherry pick the vehicle_imu PR #9756 src/modules/simulator directory work to submit as standalone PR.

* Modify the accelsim init method mag_report usage to match usage in measure() and mag_measure() methods in the class.

* Incorporate review comments in the accelsim.cpp init() method and also make the same modifications in gyrosim.cpp.

* Delete unneeded mag_report initialization from accelsim init() method.

* Deprecate unneeded measure() call from accelsim.cpp init() and gyrosim.cpp init().
2019-04-16 08:29:53 +02:00
Gabriel Moreno f9324fb76a mavlink: set correct distance_sensor timestamp. Fixes #11840
When PX4FLOW is connected to PX4 through MAVLink (e.g., through a USB
port), the timestamp assigned to the distance_sensor was wrong. This fix
uses the same timestamp assigned to the optical_flow message created from
the same OPTICAL_FLOW_RAD MAVLink message.

Signed-off-by: Gabriel Moreno <gabrielm@cs.cmu.edu>
2019-04-15 20:31:15 +02:00
bresch 93d52581ef Auto - Fix cruise speed. Tested with and without SDK. Before that commit, the drone files at max speed instead of cruise speed if not precised by the SDK 2019-04-15 16:32:26 +02:00
Beat Küng 226f3c0999 rc.board_sensors: probe for external qmc5883 2019-04-15 10:37:06 +02:00
Daniel Agar d36b06f779 fw_pos_control_l1: FW_LND_EARLYCFG disable by default
- change to boolean param
2019-04-13 17:35:12 +02:00
Daniel Agar 6d30b13afa update Tools/setup/ dev environment setup scripts
- Ubuntu install NuttX toolchain, gazebo, and switch to python3
 - OSX switch to python3
2019-04-12 10:43:21 -04:00
Julian Oes e88f1b33b2 FlightTasks: fix mission DO_CHANGE_SPEED
This fixes the issue where the  DO_CHANGE_SPEED command was ignored and
the drone always travelled at the MPC_XY_CRUISE velocity.
2019-04-12 15:47:36 +02:00
Matthias Grob 1454694bdd FlightTaskAuto: separate default speed and limit
It wasn't possible to fly faster than cruise speed even if planned
in the mission.

Limiting the planned cruise speed is necessary because
the smoothed trajectory mission plans to the _mc_cruise_speed and
if that's higher than the maximum it gets capped for safety by the
position controller and the result is a jerky flight.
2019-04-12 15:47:36 +02:00
Beat Küng 3135f9f0d2 sih: avoid static variable + style fixes 2019-04-12 09:25:07 +02:00
romain 65f623bd73 acceleration added when hitting the ground 2019-04-12 09:25:07 +02:00
romain 7be1cc389e removed arguments from constructor 2019-04-12 09:25:07 +02:00
Beat Küng 744b50b478 send MAVLink GROUND_TRUTH at 25 Hz, only in SIH mode. And minor cleanup 2019-04-12 09:25:07 +02:00
romain 9adb4410bd newline added at the end of files 2019-04-12 09:25:07 +02:00
romain 8b6480c1cf sih.msg removed, serial port communication removed 2019-04-12 09:25:07 +02:00
romain e8c5d85525 sih param names cleanup 2019-04-12 09:25:07 +02:00
Beat Küng f542736140 'simulation' category added in srcparser.py 2019-04-12 09:25:07 +02:00
romain e1d9438f79 sih: remove SYS_SIH parameter and extend SYS_HITL 2019-04-12 09:25:07 +02:00
romain a9660d9da0 white noise generator updated 2019-04-12 09:25:07 +02:00
romain cdd7e95a92 added a call to px4_sem_destroy() 2019-04-12 09:25:07 +02:00
romain 6ff228c2ff sih module implemented with hrt_call_every and semaphore_wait 2019-04-12 09:25:07 +02:00
Beat Küng 914a9b78b6 new airframe for sih, HIL_STATE_QUATERION sent through MAVLink 2019-04-12 09:25:07 +02:00
romain c09e9ec97f simulator in hardware, new module added that allows to run a simulator in the hardware autopilot, for more documentation visit https://github.com/romain-chiap/PX4_SIH_QuadX 2019-04-12 09:25:07 +02:00
Daniel Agar 4fe9ac9993 vscode add uavcan.dsdl to recommended extensions
- this extension adds support for Data Structure Description Language (DSDL)
2019-04-11 21:04:59 -04:00
Andreas Daniel Antener 95a0803b14 Adding AK09916 driver to support the Here2 GNSS emulated mag (I2C) (#11837)
* drivers, magnetometer: added ak09916 driver to support the mag driver emulated by the Here2 gps
* boards: set yaw 270 rotation for external ak09916 driver and only start it for the PH21
* drivers: only start ak09916 when icm20948 is not available on a ph21 setup
2019-04-11 12:43:50 -04:00
Daniel Agar 5a50f96bcf move icm20948 (Here GPS compass) to Cube sensors start (#11838) 2019-04-11 11:15:53 -04:00
Julian Oes cd9b3d6b27 CI: move no-ninja builds to Jenkinsfile 2019-04-11 10:07:00 +02:00
Julian Oes 471d05381b CI: also build PX4 SITL without ninja 2019-04-11 10:07:00 +02:00
Julian Oes f74aab33ad CI: also build two targets without ninja
This should prevent future regressions when compiling with "Unix
Makefiles" or others instead of ninja as the generator behind cmake.
2019-04-11 10:07:00 +02:00
Julian Oes 5b3a6facfa cmake: fix races without ninja
This fixes build races which happened if "Unix Makefiles" instead of
ninja-build was used as the cmake backend.

For any dependencies of commands on files we need to create a target.
Otherwise, if "Unix Makefiles" are used as the generator the commands
are run in parallel on the different files which often can lead to
races or redundancies in our build.

A nice write-up can be found here:
https://samthursfield.wordpress.com/2015/11/21/
cmake-dependencies-between-targets-and-files-and-custom-commands/#
custom-commands-and-parallel-make
2019-04-11 10:07:00 +02:00
David Sidrane dbd02b1e47 px4io:Detect Running on Cube and set GPIO for heater
Addresses #11832 - configure the mixed use GPIO
   that can be the a BLue LED or a Heater as PUSH
   PULL on Cube as to not let the heater input float.
2019-04-11 08:34:22 +02:00
mcsauder 9540869c20 Alphabetize a few methods and variable orders in mavlink_receiver.h. 2019-04-11 08:31:30 +02:00
Martina Rivizzigno f0ce0646a3 rostest_avoiance_run: bump to avoidance stable release 0.2.0 2019-04-10 16:36:18 -04:00
Chris Lovett b6120f39f3 Merge pull request #11826 from lovettchris/review/add_pwm_out_sim
Add back pwm out sim module so HITL simulation works again.
2019-04-10 09:39:23 +02:00
Alessandro Simovic 4127adf73c addressing comments from #11796 2019-04-10 09:38:53 +02:00
Alessandro Simovic 482a46ab36 Standardising mavlink message strings 2019-04-10 09:38:53 +02:00
PX4 Build Bot 3549354599 Update submodule ecl to latest Tue Apr 9 12:38:37 UTC 2019
- ecl in PX4/Firmware (aed3d80d5982f37e8353d6d07e29c79a9260b086): https://github.com/PX4/ecl/commit/f95cd4b3584d029c35b288a39180ddf25b2dd004
    - ecl current upstream: https://github.com/PX4/ecl/commit/c4492b17c1d7bb9b74011efa9890452b091421e8
    - Changes: https://github.com/PX4/ecl/compare/f95cd4b3584d029c35b288a39180ddf25b2dd004...c4492b17c1d7bb9b74011efa9890452b091421e8

    c4492b1 2019-04-09 Martina - do not reset yaw if vehicle on ground
14227ea 2019-04-08 Julian Oes - CMakeLists.txt: fix cmake warning
f97f0b6 2019-03-30 Paul Riseborough - EKF: Remove unnecessary code
43b5e26 2019-03-02 Paul Riseborough - EKF: Fix bug causing continual yaw reset when EKF2_MAG_TYPE = 2
2019-04-09 17:21:28 +02:00
Julian Kent 911df49045 increase stacks in drivers identified by stackcheck builds 2019-04-09 17:20:50 +02:00
Daniel Agar 0206375de6 logger reduce default topics 2019-04-09 10:14:49 -04:00
Martina c4492b17c1 do not reset yaw if vehicle on ground 2019-04-09 20:50:37 +10:00
Julian Oes 14227eaf1d CMakeLists.txt: fix cmake warning
This removes the cmake warning:
  implicitly converting 'string' to 'STRING' type.
2019-04-08 09:54:47 -04:00
Beat Küng d9f8e37288 omnibus: use default clock rate of 20 MHz for SD card (CONFIG_MMCSD_SPICLOCK)
With 24 MHz accesses to the SD card were unreliable. And the chance of
failure recently got worse, so that logging became impossible.
2019-04-08 10:44:30 +02:00
Paul Riseborough f97f0b6ea3 EKF: Remove unnecessary code
_flt_mag_align_start_time is set on initial alignment and will always be >0 before this check can run
2019-04-08 06:57:17 +10:00
Paul Riseborough 43b5e26fe4 EKF: Fix bug causing continual yaw reset when EKF2_MAG_TYPE = 2 2019-04-08 06:57:17 +10:00
Daniel Agar 6bb93936d1 cmake use ${PYTHON_EXECUTABLE} for mixer test
- needed for code coverage of python scripts
2019-04-07 16:35:31 -04:00
Daniel Agar b9516d7e38 mixer move test_mixer_multirotor into cmake 2019-04-07 16:12:17 -04:00
Daniel Agar d21314c74c vscode add empty kit to quiet user prompt 2019-04-07 14:05:41 -04:00
Matthias Grob eee51ef576 appveyor: cleanup unnecessary leftovers
- platform is optional and matters for Visual Studio builds
- `ver` command shows the windows version
and was just my first CI test
2019-04-07 18:56:51 +02:00
Matthias Grob e94580711b check_submodules: fetch in parallel on CI 2019-04-07 18:56:51 +02:00
Matthias Grob d2a23c8512 appveyor: let build system fetch submodules 2019-04-07 18:56:51 +02:00
Daniel Agar cbb5a25154 Update submodule mavlink v2.0 to latest Sun Apr 7 13:50:46 UTC 2019
- mavlink v2.0 in PX4/Firmware (88f2a6854c): https://github.com/mavlink/c_library_v2/commit/171c83700c6318af9ffb4a7ee733567b55a14543
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c6ab0459343c78a6a424514b5f64fa65d8cc0cf8
    - Changes: https://github.com/mavlink/c_library_v2/compare/171c83700c6318af9ffb4a7ee733567b55a14543...c6ab0459343c78a6a424514b5f64fa65d8cc0cf8
2019-04-07 10:22:26 -04:00
Matthias Grob 88f2a6854c Appveyor: Enable build matrix for parallel CI targets 2019-04-07 09:28:21 -04:00
Anthony Lamping a3ebe5676f make: tests_avoidance add prerequisite 2019-04-05 10:46:33 -04:00
Julian Oes 4907b87882 sitl_gazebo: update submodule
This should fix the macOS build.
2019-04-05 09:42:34 -04:00
Julian Oes 95ab984f4c commander: fix toggling datalink lost and regained
When using QGC and/or the Dronecode SDK it was possible to get in a
state where the two mavlink instances were both publishing their last
heartbeat_time and cause commander to consistently toggle between
data link lost and regained. With this fix, we only ever look at the
very last heartbeat time and therefore seem to avoid this issue.
2019-04-05 09:25:40 -04:00
Julian Oes 98857b4b94 ROMFS: don't check for UAVCAN_ENABLE param in SITL
This prevents a warning message being printed to SITL users because the
UAVCAN_ENABLE param does not exist.
2019-04-05 08:18:17 +02:00
Julian Oes 82682ac716 init.d-posix: re-use rc.logging
With this change the param SDLOG_MODE can be used for SITL as well.
2019-04-05 08:18:17 +02:00
Beat Küng 0bb5225370 rcS: add airframe parameter versioning and extend SYS_AUTOCONFIG 2019-04-05 08:08:47 +02:00
David Sidrane 46c4a68b62 fmu-v5: Move stage 0 dcache disable to later in boot (#11791) 2019-04-04 11:07:28 -04:00
Martina Rivizzigno 6f5c97f184 ObstacleAvoidance: do not check for loiter nav state twice 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 0dab5d3a11 ObstacleAvoidance: enforce camel case 2019-04-04 16:41:26 +02:00
Martina Rivizzigno c5dfcbc50e cosmetics changes to ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno e5441a6565 make format 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 34c0bb1723 ObstacleAvoidance: don't inject avoidance setpoint when in
loiter mode since it's the failsafe mode
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 0e27b5cbfa include libraries without the need for full path, make ObstacleAvoidance
instance protected
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 4dcc77b822 ObstacleAvoidance: remove printf and remove unnecessary new lines 2019-04-04 16:41:26 +02:00
Martina Rivizzigno c1258931da rename updateAvoidanceWaypoints->updateAvoidanceDesiredWaypoints and
updateAvoidanceSetpoints->updateAvoidanceDesiredSetpoints
2019-04-04 16:41:26 +02:00
Martina Rivizzigno b165c41737 ObstacleAvoidance: add comments 2019-04-04 16:41:26 +02:00
Martina Rivizzigno aa1b46f85a ObstacleAvoidance library: save current waypoint in global variable
to check progress
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 94f73117c7 reintroduce obstacle avoidance failsafe. If OA fails, switch to loiter 2019-04-04 16:41:26 +02:00
Martina Rivizzigno e464502d2d remove empty_trajectory_waypoint and getter method for avoidance
waypoints in FlightTasks. In obstacle avoidace library reset desired
avoidance waypoints after publication
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 34b0f33098 move all obstacle avoidance interfaces to the ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 4e806d79fe inject avoidance setpoints into AutoMapper 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 320ed40806 use subscription array in ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno a9bab81eb8 make format 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 8c24ba9255 move injection of avoidance setpoints to flight task library 2019-04-04 16:41:26 +02:00
Burak Han d2a0c857ed sf0x.cpp: change baudrate to 115200 for SF11/C 2019-04-04 10:17:50 +02:00
Alexis Paques 7a5aaa33b2 Fix @property and super function does not work properly if the 'NewStyle' class type is not used.
https://lgtm.com/rules/10030086/
2019-04-03 22:53:10 -04:00
PX4 Build Bot 7a27284d75 Update submodule ecl to latest Thu Apr 4 00:38:15 UTC 2019
- ecl in PX4/Firmware (3a004d13dc13d81403ae3873d5109c0503a4f964): https://github.com/PX4/ecl/commit/a892ececf8490b21aa8917bc243b2bc441af6a87
    - ecl current upstream: https://github.com/PX4/ecl/commit/f95cd4b3584d029c35b288a39180ddf25b2dd004
    - Changes: https://github.com/PX4/ecl/compare/a892ececf8490b21aa8917bc243b2bc441af6a87...f95cd4b3584d029c35b288a39180ddf25b2dd004

    f95cd4b 2019-01-22 Roman - ground effect: removed dependency on local position
7845ff4 2019-01-23 CarlOlsson - EKF: increase wind process noise scaler to 0.5
32ca6f7 2018-10-24 CarlOlsson - ekf: scale wind process noise with low pass filtered height rate
938c8ad 2019-02-04 CarlOlsson - EKF: use hagl estimate if valid for when to trigger yaw reset on takeoff
8b4ae48 2019-03-05 Hamish Willee - README: Fix link to EKF/ECL tuning guide
f0889c1 2019-03-18 Carl Olsson - EKF: fixed some comment typos
6e77b19 2019-03-14 Todd Stellanova - Add DataValidatorGroup tests, add more DataValidator tests (#592)
2019-04-03 22:22:57 -04:00
Daniel Agar 604cdc2b60 drivers/px4fmu initialize all arrays 2019-04-03 18:50:57 -04:00
Daniel Agar a78ff7fe55 NuttX delete accidental tone_alarm copy 2019-04-03 23:57:51 +02:00
Daniel Agar 1ca205888e Update submodule mavlink v2.0 to latest Wed Apr 3 12:38:14 UTC 2019
- mavlink v2.0 in PX4/Firmware (1c8aeab34d70c2a3ebee4c94397c4aa62c955ec7): https://github.com/mavlink/c_library_v2/commit/b32bd3f004b971c03711617c79e5dc67e720e864
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/171c83700c6318af9ffb4a7ee733567b55a14543
    - Changes: https://github.com/mavlink/c_library_v2/compare/b32bd3f004b971c03711617c79e5dc67e720e864...171c83700c6318af9ffb4a7ee733567b55a14543
2019-04-03 17:08:46 -04:00
PX4 Build Bot e8daf93682 Update submodule sitl_gazebo to latest Wed Apr 3 12:38:08 UTC 2019
- sitl_gazebo in PX4/Firmware (d36c0e131d): https://github.com/PX4/sitl_gazebo/commit/2f0070ec6c29c34b9bae10ac03224775627c338a
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/e0dfe7ea45c849e676c201b7428bf8df975d4790
    - Changes: https://github.com/PX4/sitl_gazebo/compare/2f0070ec6c29c34b9bae10ac03224775627c338a...e0dfe7ea45c849e676c201b7428bf8df975d4790

    e0dfe7e 2019-03-11 Jannik Beyerstedt - Fix compiler error with openCV (C++11) on macOS
2019-04-03 22:59:55 +02:00
Daniel Agar 8541f4b0cf cmake nuttx use defconfig matching config label if available
- otherwise use default nsh
2019-04-03 16:58:39 -04:00
David Sidrane 1c212e3f84 M7 dcache ctrl via a parameter (#11769)
* Support for armv7-m_dcache control via parameter

  The FORCE_F7_DCACHE parameter can be set to
   0 - (default) if Eratta exits turn dcache off else leave it on
   1 -  Force it off
   2 -  Force it on

   At boot the system will disable the d-cache if the silicon
   has the 1259864 Data corruption in a sequence of Write-Through
   stores and loads eratta.

   Post nsh script execution the FORCE_F7_DCACHE paramater
   will be used to set the d-cache to the state indicated
   above.
2019-04-03 16:14:19 -04:00
Matthias Grob daa3c733e9 vscode: move vscode specific .gitignore entries to the folder 2019-04-03 14:52:46 -04:00
Daniel Agar 6648937789 logger increase stack 3600 -> 3700 bytes 2019-04-03 14:32:45 -04:00
Daniel Agar 0c226e9b64 cmake fix ROMFS build dependencies 2019-04-03 12:33:12 -04:00
Daniel Agar 296d7900a0 cmake fix NuttX build dependencies 2019-04-03 12:33:12 -04:00
bresch dec96b0a3a revert FlightTasks: fix mission DO_CHANGE_SPEED 2019-04-03 18:08:24 +02:00
bresch 20adce5077 Add new line at the end of FlightTaskFailsafe.cpp and FlightTaskAutoLine.cpp 2019-04-03 15:38:50 +02:00
bresch 986c1a37d1 Parameter update - Rename variables in modules/ekf2
using parameter_update.py followed by a make format
2019-04-03 15:38:50 +02:00
bresch da2deaa0b2 Parameter update - Rename variables in modules/mavlink
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch f3990c84fc Parameter update - Rename variables in modules/navigator
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch e575f032e4 Parameter update - Rename variables in modules/mc_att_control
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch 2197ac883d Parameter update - Rename variables in modules/wind_estimator
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch 6c823903bc Parameter update - Rename variables in modules/simulator
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch f08c00f324 Parameter update - Rename variables in modules/fw_pos_control
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch ecacf4de46 Parameter update - Rename variables in modules/load_mon
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch 10ba0801d2 Parameter update - Rename variables in modules/fw_pos_control
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch ece49247b6 Parameter update - Rename variables in modules/mc_pos_control
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch c6e7c0fa5d Parameter update - Rename variables in modules/events
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch 2ca8ddd8af Parameter update - Rename variables in modules/commander
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch 2255ab21be Parameter update - Rename variables in templates
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch b14446f0e5 Parameter update - Rename variables in lib
using paramter_update.py script
2019-04-03 15:38:50 +02:00
bresch ec5da55107 Parameter update - Rename variables in drivers
using parameter_update.py script
2019-04-03 15:38:50 +02:00
bresch aa8edbc2ba Parameter update - add -tcpp flag in rg to check C++ files only 2019-04-03 15:38:50 +02:00
bresch 06ab8570ab Parameter update - Add parameter_update.py script used to rename the BlockParam variables with the new strict naming convention 2019-04-03 15:38:50 +02:00
Nuno Marques 5da5795433 commander: PreflightCheck replace all differential_pressure sensor checks with airspeed checks (#11722) 2019-04-03 09:20:27 -04:00
Roman d36c0e131d added aux6 RC channel
Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-03 08:20:47 -04:00
Julian Oes a21242b0e3 FlightTasks: fix mission DO_CHANGE_SPEED
This fixes the issue where the  DO_CHANGE_SPEED command was ignored and
the drone always travelled at the MPC_XY_CRUISE velocity.
2019-04-03 11:21:12 +02:00
bresch 99fb88ce83 AltitudeSmoothVel - Create new altitude flight task that uses the
velocity smoothing library to create a jerk-limited trajectory along the
Z axis. This FlightTask is used when MPC_POS_MODE = 3.
2019-04-03 10:43:31 +02:00
Roman 6c1399b328 multicopter land detector: make threshold for _has_low_thrust
configurable

Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-03 08:49:46 +02:00
Daniel Agar ec3bc4ee5b fw_pos_control_l1 reset internal takeoff and landing state when arming 2019-04-03 08:48:30 +02:00
mcsauder e6f1a2db12 Delete trailing whitespace, extra newlines, to quiet git hooks and add an extra = so that it does not appear to git as a merge conflict marker. 2019-04-02 15:31:37 -04:00
David Sidrane 1250fb1b48 RGB order now matchs layout 2019-04-02 13:40:17 -04:00
David Sidrane eb58dae51b lights:Remove conditional rgb led starting (do all of them)
There is no need to not to start a pwm based led or a
   rgbled_ncp5623c if the old TCA62724FMG is started. They
   will all work in parallel.
2019-04-02 13:40:17 -04:00
David Sidrane 91e548000f bmp280:Locate internal to PX4_I2C_BUS_ONBOARD 2019-04-02 13:40:17 -04:00
David Sidrane fd31091fdb bmm150:Restored lost internal i2C 2019-04-02 13:40:17 -04:00
David Sidrane 005db51d7f nxp_fmuk66-v3:Add support for rgbled_ncp5623c 2019-04-02 13:40:17 -04:00
David Sidrane 8504ffd8f2 nxp_fmuk66-v3:Set bmm150 orientation 2019-04-02 13:40:17 -04:00
David Sidrane bfc704b60a fmuk66-v3:Add pullup on LPUART0_RX 2019-04-02 13:40:17 -04:00
David Sidrane ef882989fe [Breaking Change]fmuk66-v3: Only Support Rev BX11
I2C bus chaged I2C0 is external, I2C1 internal
     Added BMM150 on I2C1 @ Addr 0x100
     Added BMP280 on I2C1 @ Addr 0x76

   UART0 (/dev/ttyS1) now used at Telem 2

   Chip select added for W25X40CLUXIG Calibration EE prom
     Driver is not added at this time
2019-04-02 13:40:17 -04:00
Nico van Duijn 0b548fa684 Update submodule sitl_gazebo
This updates the submodule sitl_gazebo to include the iris_obs_avoid
sdf model
2019-04-02 08:17:13 +02:00
Nico van Duijn b7784a1439 Add MAVLink stream and cmake sitl target 2019-04-02 08:17:13 +02:00
Alessandro Simovic 39d1751bbe rc loss alarm: stop on RC reconnect 2019-03-29 19:42:02 -07:00
Alessandro Simovic 3d668d871b tunes: don't let tune interrupt itself 2019-03-29 19:42:02 -07:00
Thijs Raymakers 52542f9802 adis16497: fix TEMP_OUT scaling 2019-03-29 00:43:16 -04:00
DanielePettenuzzo 75f1ad36d1 start px4flow after all rangefinders (including the ones going through rc.serial) 2019-03-28 06:04:10 -04:00
CarlOlsson 9a2617ad33 vtol_att_control: remove unused subscription variable
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-28 09:03:53 +01:00
Beat Küng fe0c2d1352 mavlink autopilot_version: add vendor version 2019-03-28 08:47:32 +01:00
Julian Oes be8ad46fc9 px_uploader.py: write timeout workaround
This is a workaround for the write timeout that we have seen for some
host computers trying to flash the firmware.

We don't know the root cause of the problem but we do observed the
following:

- For blocking writes with timeout (Pyserial write_timeout=0.5):
  write() throws SerialTimeoutException. In systrace we see that the
  select() call after write waiting for the write to be finished hangs
  and finally times out.
- For blocking writes without timeout (Pyserial write_timeout=None):
  write() hangs indefinitely. In systrace we see that the
  select() call after write waiting for the write to be finished hangs.
- For non-blocking writes:
  write() works but flush() hangs. In systrace we see that
  ioctl(fd, TCSBRK, 1) which is (correctly) triggered by termios tcdrain
  hangs.

Inspecting USB traffic using usbmon, we can see that the data which is
written actually seems to be sent and looking at responses from the
Pixhawk bootloader and the timings it looks like all the data has
arrived.

This workaround uses non-blocking writes without flushing and this
seemed to prevent the issue from happening so far.

Debugging was done in collaboration with Beat Küng and David Sidrane.
2019-03-27 14:53:00 +01:00
Julian Oes 187f3f2834 SITL: interim fix for replay
The replay functionality was broken with lockstep. This is an interim
fix for the replay functionality.

In the longer term it would be nice to leverage the lockstep speedup
for the replay.
2019-03-27 12:55:37 +01:00
Matthias Grob 463d5512d9 mc_att_control: only adapt yaw rate limit on control mode change
Put adaption into a method because it needs to be called when
the control mode or the parameter changes.
2019-03-27 12:06:39 +01:00
Matthias Grob 3375ae2c11 mc_att_control: parameter processing refactor
- Remove unnecessary in between rate limits member vectors.
- Only switch the yaw rate limit in auto modes,
other values stay the same anyways.
- Fill gain vectors with parameters in one line.
2019-03-27 12:06:39 +01:00
Matthias Grob 5ee1fcaebf AttitudeControl: address @dagar's review comments 2019-03-27 12:06:39 +01:00
Matthias Grob 7e8cf87d0d mc_att_control: move attitude control calculations into separate class
to modularize and simplify unit testing
2019-03-27 12:06:39 +01:00
Claudio Micheli 0eb4942f66 Commander: renamed print_msg_once variable into a more self-explanatory one.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli be6f753022 Fixed CI errors. changed _print_msg_once into private class member.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli e14e5b9d73 Commander: Changed COM_ONB_BOOT_T parameter to COM_OA_BOOT_T.
Since the time out is only Obstacle-Avoidance related, the new naming is more self explanatory.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli d937a5725b Commander: reset print once variable if OA is lost.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 9966a3d2f8 Commander: changed logic for checking OA at boot time.
With this commit the use cases will be:

Success case:
- booting, no messages about OA, pre-arm check would fail if you try to arm and OA is not yet running

Fail case:
- if OA takes longer than timeout time defined in COM_ONB_BOOT_T, then an error message is triggered.


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 3b5ef82193 Commander: Added COM_ONB_BOOT_T parameter.
Since onboard controllers bootup times are hardware dependent, it makes sense to have the possibility to adapt timeout time according to the specific HW.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 7a8002fdab Commander: increased hardcoded timeout time for avoidance to start.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli f4a4dab65a Commander: Improved logic for OA prearm checks.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 977a4c8e9b Added status_change to force message updating.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 107746ded5 Added obstacle avoidance healthiness topic in vehicle status msg.
This allows to perform pre-arm checks and prevent arming if obstacle avoidance is enabled but not yet running.
Added a print once flag to prevent excessive message spamming in QGC.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Julian Oes 7be05396ba px_uploader.py: check for pyserial
If we dont explicitly check for pyserial, we can have the case where the
import works but the Serial object creation fails. However, we don't see
this because we have this huge try/catch block which swallows
everything.
2019-03-27 07:55:05 +01:00
CarlOlsson ed2d4f6a9c replay: fix issue when original logfile had topics with zero timstamps
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-25 16:00:39 -04:00
Daniel Agar 3d271245a1 PX4Gyroscope apply sensor rotation before scaling
- prevents loss of numerical precision
2019-03-24 18:34:31 -04:00
Daniel Agar 5a841761ce PX4Accelerometer apply sensor rotation before scaling
- prevents loss of numerical precision
 - fixes #11695
2019-03-24 18:34:31 -04:00
Daniel Agar b35883f5d5 cmake nuttx use wrapper script to call "make olddefconfig"
- this is a workaround for PATH variables that exceed the maximum cmake custom command length
2019-03-24 17:58:41 -04:00
Matthias Grob 295c3fd0c5 mc_pos_control: correct tilt parameter limits
- correcting
c9e52d4386
to allow 180° maximum tilt instead of landing tilt.
- Introducing tilt limitation minimums like requested in #11473
2019-03-24 20:52:17 +01:00
Daniel Agar f402f68fb1 px4_fmu-v3 include icm20948 (Here+ compass) 2019-03-24 00:53:33 -04:00
Oleg Kalachev 319723a1ec mavlink_receiver: ignore BATTERY_STATUS of other system 2019-03-23 15:18:46 -04:00
Julian Oes ed3b924f97 nuttx: update submodule (#11705)
This fixes a build error due to a Scandinavian letter in the help text.
2019-03-23 11:09:35 -04:00
Daniel Agar 5e6bfe1ad8 vscode updates
* working debugging (one click build and debug)
   * SITL jmavsim
   * SITL gazebo
   * jlink px4_fmu-v{2-5}
 * improved syntax highlighting
   * GNU linker files
   * ROS message files msg/*.msg
   * jinja2 template files
 * fixed intellisense support
2019-03-22 20:55:39 -04:00
Martina Rivizzigno 8cdc2d9ae9 update matrix library submodule 2019-03-22 15:41:33 +01:00
Ilya Petrov 15c2473eda mavlink_main.cpp - add fix for Cygwin (Windows)
fix for issue https://github.com/PX4/Firmware/issues/11030 - "getting required buffer size failed" on jmavsim simulation on Windows 10
2019-03-21 22:48:11 +01:00
Beat Küng c9d32578e3 fix bmi055: increase DLPF from 62.5 to 500
With a DLPF of 62.5 Hz, the sampling rate is apperently not 1 kHz anymore,
because the driver got duplicate samples and published only at 128 Hz.
We have to increase the filter back to 500 Hz so that we get 1 kHz sampling
rate, with 250 Hz publications.
2019-03-21 11:50:37 -04:00
Daniel Agar 1d5309060a thiemar_s2740vc-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 82737f4d2e px4_esc-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 9d8c4c2945 px4_cannode-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 3a4066c19f auav_esc35-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar be93dd1c5d omnibus_f4sd nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 311bf93cd4 nxp_fmuk66-v3 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar fde7c0ea4f av_x-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 4352fae8dd auav_x21 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 5d49e36b3a airmind_mindpx-v2 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 8082f9a0b5 bitcraze_crazyflie nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar f27dddb8e9 intel_aerofc-v1 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 3f890b6ab1 px4_fmu-v5 stackcheck compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar f6cd70bcc5 px4_fmu-v5 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 7ccaf1068b px4_fmu-v4pro nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 8f32f3a0c8 px4_fmu-v4 stackcheck compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 41ff6c60ba px4_fmu-v4 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar f1f84e52c7 px4_fmu-v3 stackcheck compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar d5b617deac px4_fmu-v3 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar fa2142d06e px4_fmu-v2 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar de7df621d7 px4_io-v2 nsh compress defconfig 2019-03-21 08:41:01 -04:00
Daniel Agar 9fd0bbe30f NuttX build include and use Kconfiglib (python) 2019-03-21 08:41:01 -04:00
Elia Tarasov b3bb625c71 add parameter to set ground effect distance 2019-03-21 10:07:12 +01:00
Elia Tarasov 04a486f13d enable ground effect zone when land detector is updated 2019-03-21 10:07:12 +01:00
Elia Tarasov 0c24aa6149 enable ground effect zone when valid terrain estimate is available 2019-03-21 10:07:12 +01:00
Matthias Grob aa36fa2dfd replace camel case by snake case.
Co-Authored-By: EliaTarasov <elias.tarasov@gmail.com>
2019-03-21 10:07:12 +01:00
Elia Tarasov 84d9820baa remove EKF2_GND_EFF_EN flag and use condition EKF2_GND_EFF_DZ > 0 instead 2019-03-21 10:07:12 +01:00
Elia Tarasov 5fa0a647e5 add parameter to enable/disable ground effect zone 2019-03-21 10:07:12 +01:00
Roman ecc8a696d0 added ground effect reporting to land detector
Signed-off-by: Roman <bapstroman@gmail.com>
2019-03-21 10:07:12 +01:00
Beat Küng 14ef009aab logging: add SDLOG_MODE = -1 to disable logging completely 2019-03-21 08:15:48 +01:00
bresch a08b1682e3 [Position|AutoLine]SmoothVel - Update position and velocity states of the trajectories in case of EKF reset. Until now, only the position reset on XY axis was properly handled. Now, xy, vxy, z and vz are handled 2019-03-20 14:35:26 -04:00
bresch 0813f30723 AutoLineSmoothVel - change function contrain_one_side(..) from snake_case to camelCase 2019-03-20 14:35:26 -04:00
Daniel Agar 94cab1f9a9 update cmake NuttX helper save behaviour (oldconfig, menuconfig, etc) 2019-03-20 12:07:37 -04:00
Roman f95cd4b358 ground effect: removed dependency on local position
Signed-off-by: Roman <bapstroman@gmail.com>
2019-03-19 13:14:57 +11:00
CarlOlsson 7845ff4360 EKF: increase wind process noise scaler to 0.5
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-19 13:10:12 +11:00
CarlOlsson 32ca6f7030 ekf: scale wind process noise with low pass filtered height rate 2019-03-19 13:10:12 +11:00
CarlOlsson 938c8ad9ad EKF: use hagl estimate if valid for when to trigger yaw reset on takeoff 2019-03-19 13:04:54 +11:00
David Sidrane 3938574a4a px4_fmuv5:Extend probes to CAP pins
This also fixes a typo in the GPIO defines
2019-03-18 16:16:23 -04:00
Hamish Willee 8b4ae48c69 README: Fix link to EKF/ECL tuning guide 2019-03-18 10:21:10 -04:00
Carl Olsson f0889c1760 EKF: fixed some comment typos
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-18 10:20:33 -04:00
johannes 53effd5005 Tools/upload_log: change default upload to public flightreport 2019-03-18 09:52:18 -04:00
Pandacoolcool 35af8f3368 ist8310.cpp: fix code style 2019-03-18 11:05:12 +01:00
Pandacoolcool 875661d70c ist8310.cpp: remove unused variable 2019-03-18 11:05:12 +01:00
mcsauder a6315d4e6e Delete Simulator class subscription vars that are not used and add orb_unsubscribe() calls. 2019-03-18 10:00:39 +01:00
bresch aecf8fce58 ManualPositionSmoothVel - Force velocity and acceleration setpoints to zero if the velocity setpoint is smaller than 1mm/s and that the acceleration setpoint is null 2019-03-18 08:33:11 +01:00
bresch 1fefa76e5d ManualSmoothVel - Set jerk to 1.0 during position hold to help the optimizer to converge towards 0 vel and acc 2019-03-18 08:33:11 +01:00
bresch 06f683bdda VelocitySmoothing - Add simple test script 2019-03-18 08:33:11 +01:00
bresch b9cf4dfb6c VelocitySmoothing - Get rid of math.h, math.cpp and px4_defines dependencies 2019-03-18 08:33:11 +01:00
bresch ddab0ccdf1 VelocitySmoothing - Protect against division by zero and sqrt of a negative number 2019-03-18 08:33:11 +01:00
Daniel Agar e4967a9502 vscode minor updates
- add cmake language support to recommend extensions
 - jlink debug add stm32f427 svd
 - gitignore updates for vscode
2019-03-17 12:05:26 -04:00
Mark Sauder 164fe00df7 mc_att_control: replace math::min() and additional limit logic with math::constrain() calls (#11658) 2019-03-17 10:48:27 -04:00
Mark Sauder 4c228eaf4a cmake whitespace fixes to quiet git hook. 2019-03-16 14:48:44 -04:00
Daniel Agar b35d048566 cmake enable -Wcast-align and disable per module 2019-03-16 11:47:15 -04:00
Daniel Agar 13dba60149 perf counter lib convert to c++ 2019-03-16 11:47:15 -04:00
Daniel Agar 471e1bc866 serial/generate_config.py specify full loader (#11667)
- fixes #11666
2019-03-16 11:19:01 -04:00
Julian Oes b54ca67de9 lockstep_scheduler: check if mutex is still valid
It turns out that we can fix the unit tests of the lockstep_scheduler
just by checking if `passed_lock` is not `nullptr`.

Without this check, the unit tests segfaulted.
2019-03-15 13:38:11 +01:00
Julian Oes 2ebb9d2ab5 mixer_multirotor.py: fixes for Python3
This fixed running `make tests` on Arch Linux where Python 3 is the
default.
2019-03-15 10:53:55 +01:00
Beat Küng bfa0a4a8f1 sitl_gazebo: update submodule (hil fix) 2019-03-15 08:54:42 +01:00
Beat Küng 898664d919 jmavsim: fix HIL, don't add -lockstep by default 2019-03-15 08:54:42 +01:00
Beat Küng 8692d72501 jmavsim: update submodule
Brings https://github.com/PX4/jMAVSim/pull/97.
2019-03-15 08:50:05 +01:00
Hamish Willee 257b90958f Correct links to example docs 2019-03-15 08:05:54 +01:00
Julien Lecoeur 5f06c6a1aa VTOL: add parameter to prevent flight if roll direction was not checked
Mark V19_VT_ROLLDIR @category system

Throttle down mavlink critical msg

Send 0 actuator_output for safety

VTOL: unset v1.9 roll direction safety check param for builtin airframes
2019-03-15 00:48:23 -04:00
Julien Lecoeur e28f8a7f2e VTOL mixers: invert FW roll sign in builtin mixers
This inversion matches the fixed sign in the commands generated
by the VTOL attitude controller.
This commit, combined with the previous commit, should have no effect.
For safety, it is recommended to check the direction of roll control
surfaces before flight.
2019-03-15 00:48:23 -04:00
Julien Lecoeur e1caecc99a VTOL att control: fix roll sign 2019-03-15 00:48:23 -04:00
bresch c5706f6283 FlightTaskAuto - Recover position control after local position reset (#11636)
* FlightTaskAuto - Explicitly check is _triplet_target is finite to decide if the target has to be updated or not. If the _target is NAN, always try to update it to get a valid setpoint.
2019-03-15 00:42:24 -04:00
Martina Rivizzigno 09b795161e Obstacle Avoidance testing in CI (#10780) 2019-03-15 00:37:23 -04:00
Daniel Agar 1083af21e8 mc_pos_control limit to 50 Hz 2019-03-15 00:24:59 -04:00
Todd Stellanova 6e77b197c7 Add DataValidatorGroup tests, add more DataValidator tests (#592) 2019-03-15 00:09:47 -04:00
Daniel Agar f3533d31f8 mavlink update to latest and enable address-of-packed-member warning 2019-03-14 09:56:09 +01:00
Paul Riseborough f8ae8ba502 ekf2: Use ecl library with recent bug fixes and enhancements.
Bug Fixes:

https://github.com/PX4/ecl/pull/586 - EKF: fix covariance and output filter buffer initialization
https://github.com/PX4/ecl/pull/590 - EKF: Fix innovation in fuseDeclination()

Enhancements:

https://github.com/PX4/ecl/pull/543 - ekf_helper: add more useful methods to interface with the covariances
https://github.com/PX4/ecl/pull/588 - Add unit tests for DataValidator

Note:

https://github.com/PX4/ecl/pull/543  has required a change to how the state variances are accessed .
2019-03-14 19:25:36 +11:00
Daniel Agar edad4c40c3 containers add IntrusiveQueue and testing 2019-03-14 09:22:19 +01:00
Daniel Agar 23189329a4 Jenkins hardware testing add nxp_fmuk66-v3 2019-03-13 23:50:57 -04:00
Daniel Agar a892ececf8 cmake add ECL_TESTS option only enabled in standalone build 2019-03-12 23:29:30 -04:00
Paul Riseborough fabd216ca5 EKF: Documentation edits 2019-03-13 08:14:23 +11:00
CarlOlsson 8d6e8ae078 EKF: update get_mag_decl_deg()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-13 08:14:23 +11:00
CarlOlsson 2b17ced405 EKF: Clean up use of magnetometer declination. Before the innovation was not zero in fuseDeclination()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-13 08:14:23 +11:00
mcsauder 2ae2331c15 Delete extra newline character in qmc5883/CMakeLists.txt to quiet git hook. 2019-03-12 14:59:08 -04:00
Beat Küng 509189ea95 uorb top: add 'uorb top -1' to run only once 2019-03-12 12:33:23 -04:00
Beat Küng 6672284871 commander: fix status init & some status update changes 2019-03-12 11:24:33 +01:00
Claudio Micheli 697566177c Commander: Properly initialized another boolean variable.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 908cdaa574 Onboard controller loss parameter cleanup.
Since Timeout from onboard controller is something that does not require a lot of modifications there is no sense to having it parametrized.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli cd47cefb03 Some more code cleanup.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 59cf9a1dd4 telemetry_status: Changed "type" comment.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli fb990d7de3 Removed subscribtion to multiple _telemetry_status instances.
Since commander handles all telemetry_status the same there is no need to subscribe to multiple instances.


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli a53594135b Commander: changed "datalink regain" logic.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli ca53217175 removed stm discovery board.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 13f3ee4c82 state_machine_helper: (Critical) Prevent datalink failsafe triggering if not enabled.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 788e28fbb1 Commander: datalink heartbeat variables refactoring.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 32e4baf6a0 Commander: some more cleanup. 2019-03-12 11:24:33 +01:00
Claudio Micheli a84a1e1b5a Commander: mavlink messages cleanup. header variables refactoring.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli b85cceebe9 mavlink_receiver: Ignore heartbeats coming from other vehicles.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 14415b29c1 Removed hardcoded onboard controller timeouts thresholds.
Added COM_ONB_LOSS_T and COM_ONB_REG_T parameters to specify thresholds that triggers "onboard link lost" and "onboard link regained".


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 156317e546 Fixes for ONBOARD Controller lost & regain. 2019-03-12 11:24:33 +01:00
Claudio Micheli f44c690b33 Modified COM_DL_REG_T parameter description.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 1fc055a51f Fixed some issues for datalink loss & regain (GCS HEARTBEAT).
Major changes:
- Prevent  "HIGH LATENCY DATA LINK LOST" message to appear if iridium telemetry is not used.
- Prevent "DATA LINK LOSS" mavlink messages flooding when QGC is open and then closed.
- Changed "DATA LINK REGAINED" condition (use _datalink_last_heartbeat_gcs insthead of _datalink_lost)



Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
baumanta d8bdc1b367 output a message if a previously lost connection is regained 2019-03-12 11:24:33 +01:00
baumanta d42b9205f9 Rename parameter MPC_OBS_AVOID to COM_OBS_AVOID and change the location to commander. 2019-03-12 11:24:33 +01:00
baumanta f42b378b9b Also activate navigator for 32f4discovery board 2019-03-12 11:24:33 +01:00
baumanta b0024a1555 activate mc_pos_ctrl module to be able to access MPC_OBS_AVOID parameter 2019-03-12 11:24:33 +01:00
baumanta a98f5d2ab2 suggestion for treating obstacle avoidance heartbeats 2019-03-12 11:24:33 +01:00
Daniel Agar 6dec451bab HEARTBEAT and commander failsafe handling cleanup 2019-03-12 11:24:33 +01:00
CarlOlsson 1d91785a8e EKF: correct quaternion order 2019-03-12 19:07:55 +11:00
CarlOlsson 000aa0de5d EKF: do not update the newest attitude estimate in initialiseFilter(). Is is now done in alignOutputFilter() 2019-03-12 19:07:55 +11:00
CarlOlsson 96c5c14041 EKF: Change the EKF initialization to
1) init tilt
2) init yaw
3) init tilt uncertainty
4) init yaw uncertainty

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
CarlOlsson ea259d358d EKF: initialize the newest attitude estimate to a valid quaternion
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
CarlOlsson 6cf512f103 EKF: Also update the newest and oldest quaternion estimate in
alignOutputFilter()

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
CarlOlsson 78122b20a6 EKF: fix the rotation direction of the buffered attitude solutions
in alignOutputFilter()

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
CarlOlsson 56b6b7a778 EKF: cleanup use of _mag_filt_state
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
CarlOlsson 37339de57c EKF: remove unused variable
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-12 19:07:55 +11:00
Matthias Grob f794ee0c8a FlightTaskManualAltitude: add slow upwards start
when still close to ground
2019-03-11 20:09:45 +01:00
Matthias Grob 63a6ab34f7 FlightTaskManualAltitude: slow down when landing manually 2019-03-11 20:09:45 +01:00
Vasily Evseenko f8c50f442f Fix RSSI in on FMUv4 (pixracer) 2019-03-11 10:55:57 -07:00
mcsauder 2773fe6a54 Deprecate _hil_frames and _old_timestamp member vars and dead logic from MavlinkReceiver class. 2019-03-11 08:03:37 +01:00
BazookaJoe1900 8947cb5841 FlightTaskAuto: removed non used _getMaxCruiseSpeed 2019-03-10 11:17:21 -04:00
Anthony Lamping a9fc04b2f9 CI: SITL test run: select ROS version based on env variable 2019-03-09 16:26:37 -05:00
Daniel Agar d085afdf3a Jenkins re-enable Catkin and Colcon builds 2019-03-09 15:38:15 -05:00
mcsauder 1f65887982 Migrate a few more var initializations from the Mavlink class constructor list to the respective declarations. 2019-03-09 14:53:24 -05:00
Todd Stellanova 6c759e0e9f Initial unit tests for DataValidator (#588) 2019-03-09 14:47:13 -05:00
mcsauder 7b3482adf0 Whitespace formatting in mavlink_main.cpp/h and begin work of some variable initialization at declaration in mavlink_main.h. 2019-03-09 13:32:26 -05:00
Daniel Agar a8808cc5cd Jenkins update SITL tests coverage to correct base container 2019-03-09 13:08:34 -05:00
Nuno Marques 4e0e68e905 Ekf: add more useful methods to interface with the covariances (#543) 2019-03-09 11:57:35 -05:00
Anthony Lamping 84c52439e9 jenkins: update all image tags to 2019-03-08 2019-03-08 23:17:06 -05:00
mcsauder cb49ed55fe Delete unnecessary #includes from mavlink_main.cpp and relocate a few #defines to mavlink_main.h for future variable initialization work. 2019-03-08 22:10:11 -05:00
dlwalter 77ab9b617e QMC5883 Magnetometer Driver (#11140) 2019-03-08 22:04:43 -05:00
Matthias Grob 56b069956d slice test: fix trailing whitespace style 2019-03-08 20:20:08 +01:00
Oskar Weigl 5ccfa74c72 Fix const error 2019-03-08 19:17:40 +00:00
Oskar Weigl eea6b59973 Implement slice as copy loop 2019-03-08 19:17:40 +00:00
Oskar Weigl 93375fbd3c Fix copy-paste error 2019-03-08 19:17:40 +00:00
Oskar Weigl 5872bbc28c Add slicing tests that are not pure row slicing
I had a look at the implementation of `slice`, and I found it odd that it doesn't have a copy loop. The current implementation does a raw memcpy of the underlying contiguous row-major data. As far as I can tell, this could only slice along rows. Interestingly, I found that the tests only tested for slicing along rows, so this bug would go unnoticed.

I added some tests that checks slicing along columns also. I have a feeling this would break, and we need to fix the implementation of `slice`. However I could be wrong, and hence I'm submitting these tests first to verify.
2019-03-08 19:17:40 +00:00
Beat Küng 505b1aca2c lockstep_scheduler: work around a potential dead-lock for canceled threads 2019-03-08 12:22:45 -05:00
Beat Küng e999075ac7 lockstep_scheduler: fix system_sleep -> system_usleep
The effect was that threads that tried to exit were unnecessarily kept
running.
This did not cause problems except for increased resource usage.
2019-03-08 12:22:45 -05:00
Beat Küng 08298ab3d0 drv_hrt: make lockstep_scheduler a pointer
This solves a potential dead-lock when trying to shutdown: a call to exit()
stops all threads and calls all destructors for static objects.
The destructor of LockstepScheduler takes a lock. However this is not
safe, as the lock could already be taken (by any thread).
2019-03-08 12:22:45 -05:00
Daniel Agar 27ad3178f8 Jenkins add SITL tests AddressSanitizer 2019-03-07 22:38:24 -05:00
mcsauder d12cec81ba Add const specifier to remaining methods utilizing mavlink_message_t and similar message pointer types. 2019-03-07 08:22:44 +01:00
mcsauder 278fddb585 Cut case MAVLINK_MSG_ID_ODOMETRY content and paste into handle_message_odometry() method. 2019-03-07 08:22:44 +01:00
mcsauder 3918d0ce0a Cut case MAVLINK_MSG_ID_VISION_POSITION_ESTIMATE content and paste into handle_message_vision_position_estimate() method. Add const specifier to publish_odometry_topic() method. 2019-03-07 08:22:44 +01:00
mcsauder c3acd3bad3 Delete unnecessary curly braces in simulator_mavlink.cpp 2019-03-07 08:22:44 +01:00
mcsauder e43a0bbf1d Cut case MAVLINK_MSG_ID_RC_CHANNELS content and paste into handle_message_rc_channels() method. 2019-03-07 08:22:44 +01:00
mcsauder 801cbc856e Cut case MAVLINK_MSG_ID_HIL_GPS content and paste into handle_message_hil_gps() method. 2019-03-07 08:22:44 +01:00
mcsauder b705bf6b1c Cut case MAVLINK_MSG_ID_HIL_SENSOR content and paste into handle_message_hil_sensor() method. 2019-03-07 08:22:44 +01:00
Daniel Agar 37cda4e264 Update submodule jMAVSim to latest Wed Mar 6 00:38:35 UTC 2019 (#11597)
- jMAVSim in PX4/Firmware (a97151feed): https://github.com/PX4/jMAVSim/commit/0c25b7c18990a64fc851cfd7fe3aac9a4060aea3
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/8b2f4568e05935af57782fd0db9a434f733cc800
    - Changes: https://github.com/PX4/jMAVSim/compare/0c25b7c18990a64fc851cfd7fe3aac9a4060aea3...8b2f4568e05935af57782fd0db9a434f733cc800

    8b2f456 2019-02-28 Julian Oes - Merge pull request #95 from PX4/shell-style
3d0174a 2019-02-27 Matthias Grob - Fix shell script style
2019-03-05 23:57:25 -05:00
Daniel Agar a01b598694 Update submodule mavlink v2.0 to latest Wed Mar 6 00:38:42 UTC 2019 (#11596)
-  mavlink v2.0 in PX4/Firmware (1a2b88ea30ae3bec38d2e9f11793042d7582506a): https://github.com/mavlink/c_library_v2/commit/f073569b746b6533c1715b0bbfed6c988444b257
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/2a47f11e73eef6d817af7934692b1223d7fb434f
    - Changes: https://github.com/mavlink/c_library_v2/compare/f073569b746b6533c1715b0bbfed6c988444b257...2a47f11e73eef6d817af7934692b1223d7fb434f

    2a47f11 2019-03-01 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/747c3e73e9ad28e8011cdc5c98faf56752b1d32a
2019-03-05 23:56:41 -05:00
Daniel Agar beca16fa37 ekf2 update setGpsData usage 2019-03-05 23:28:26 -05:00
Daniel Agar a85d3a43ed attitude_fw remove unused 2019-03-05 17:26:19 -05:00
Daniel Agar c66f7f4a09 EKF drop unused timestamp from collect_gps() and pass data by const reference 2019-03-05 17:26:19 -05:00
Freek van Tienen 78b899c72d Add Paparazzi compatibility (#580)
This adds support for the paparazzi autopilot to use this library as EKF.
The header order change has to be done in order to have std.h included to get certain defines at the start of the estimator_interface.h.
2019-03-05 12:41:21 -05:00
Daniel Agar 5cd331055f cmake standalone build pin PX4/Matrix to commit
- https://github.com/PX4/Matrix/commit/6b0777d815cd64902eb0575d56ec52f53aebb4a0
2019-03-05 12:35:37 -05:00
mcsauder a97151feed Set default set_publlish() argument to true. 2019-03-05 09:16:31 +01:00
mcsauder 0bd5d6caff Refactor set_publish() logic so that a default false value is not (re)set each loop in simulator_mapvlink.cpp and provide a default argument to set_publish() in simulator.h. 2019-03-05 09:16:31 +01:00
mcsauder 6e0fc150c0 Create Simulator::set_publish() method and Simulator::_publish member variable to allow redefinition of the Simulator::handle_message() prototype to match MavlinkReceiver::handle_message(). 2019-03-05 09:16:31 +01:00
Daniel Agar 1221556515 RTL fix RTL_TYPE param metadata group 2019-03-05 07:49:45 +01:00
Paul Riseborough 6e0ca90852 ekf2: Minor parameter description edits 2019-03-05 07:17:09 +01:00
Paul Riseborough 643d8e968b ekf2: style fixes 2019-03-05 07:17:09 +01:00
Paul Riseborough 09da8e7dfc ekf2: Split static pressure correction into separate RH ad LH ellipsoids 2019-03-05 07:17:09 +01:00
Hamish Willee 1079ae3402 CONTRIBUTING:Fix up code.html link to goto master 2019-03-03 22:23:59 -05:00
Daniel Agar 468fb53459 navigator fix FW loiter to alt tangent exit (#11576)
- fixes #11317
2019-03-03 22:22:32 -05:00
Gabriel Moreno fc7c7ac206 simulator: fix to set system and component IDs as defined in params
The simulator had hardcoded component ID and system ID (sysID was 0), ignoring what was set up in the params MAV_SYS_ID and MAV_COMP_ID. This caused an issue with multi-vehicle simulations that that rely on sysID to identify the vehicles.

Signed-off-by: Gabriel Moreno <gabrielm@cs.cmu.edu>
2019-03-03 10:41:47 +01:00
Morten Fyhn Amundsen 951f33145f Fix link to code style guide
In CONTRIBUTING.md, the current link to the coding style leads to a
404 error. I've replaced it with a link to the Source Code Management
part of the developer documentation, which is where the style guide
seems to be now.
2019-03-02 23:40:09 -05:00
mcsauder 9f3937e2d2 Formatted and edited a few comments in mavlink_receiver.h. 2019-03-02 23:39:25 -05:00
mcsauder d60d802194 Correct board-config PIN1/PIN0 typo in fmu-v5/src/board_config.h. 2019-03-02 14:31:02 -08:00
mcsauder d42bb01e0c Standardize method definition newlines in mavlink_receiver.cpp. 2019-03-02 13:09:41 -05:00
David Sidrane dc50a564dd Revert "Jenkins hardware test temporarily disable px4_fmu-v5_stachcheck tests"
This reverts commit 0df34af181.
2019-03-01 23:45:48 -05:00
David Sidrane edd9f91a19 board:Set larger stack margin 2019-03-01 23:45:48 -05:00
David Sidrane 12d442e8dd px4_fmuv5:Stack Check build Increase to 2624
The cause of the stack detection fault is because of the
   level of nesting in the start up script. We need to
   determine the worst case configuration and set the
   bar there.

   This fault occurred some 42 calls deep due to script
   calling script (repeat).

   The HW stack check requires as a margin of 204 bytes. That is
   ISR HW stacking of CPU(8) FPU(18) registers and SW stacking of
   CPU(11) and FPU(16) registers. Total CPU(19) registers is
   68 bytes and the total FPU(34) registers is 136 bytes.  On
   a system with a separate ISR stack This only needs to be 104
   so there is 100 bytes of headroom. But as coded the detection
   will give a false positive detection and fault. This does not
   mean that the stack will be corrupted.

   Adjustments to that stack can have no effect due to rounding.
   A stack size of 2608 and 2616 can yield the exact same size stack.
   So even when the failure is due to a 4 byte overflow, it can take
   greater than a 16 bytes increase to fix it. Because the final
   stack size is calculated with an 8 byte alignment after a 4 byte
   decrease. So 2624 becomes 2620 at runtime and will boot
   with SYS_AUTOSTART=4001.
2019-03-01 23:45:48 -05:00
Daniel Agar e2bf4b1894 List container improvements and testing
- support range based for loops
 - add remove() method to remove a node
 - add clear() to empty entire list and delete nodes
 - add empty() helper
2019-03-01 21:01:04 -05:00
Beat Küng 6c3e79f361 mc airframes: reduce I gains a bit
A side-effect of the previous commit is that the integral is loaded up
during a flip, which leads to visible bounce-backs after a flip.
Reducing the I helps, but there's a trade-off and we'll need a better
solution.
2019-03-01 07:42:18 +01:00
Beat Küng 2f72e93d6f fix mixer multicopter: do not clip for max/min throttle
Except for the lower end with disabled airmode.

Otherwise the rate controller would disable the integrals, which can lead
to severe tracking loss in acro.
It is noticeable when flying in FPV, e.g. simply when throttling straight
up.

Relevant part in the rate controller:
https://github.com/PX4/Firmware/blob/master/src/modules/mc_att_control/mc_att_control_main.cpp#L702
2019-03-01 07:42:18 +01:00
bresch 684e2974ac mc_pos_control_main - Re-add updateVelocityControllerIO for glitch-free position unlock 2019-02-28 21:26:13 +01:00
mcsauder 1eced05359 Rename Simulator class private methods names to match snake case of other private class methods. 2019-02-28 19:26:45 +01:00
mcsauder b0a79996ae Cut case MAVLINK_MSG_ID_HIL_STATE_QUATERNION content and paste into handle_message_hil_state_quaternion() method. 2019-02-28 19:24:50 +01:00
mcsauder 8b42045546 Cut case MAVLINK_MSG_ID_HIL_OPTICAL_FLOW content and paste into handle_message_hil_optical_flow() method. 2019-02-28 19:24:50 +01:00
mcsauder 24e55e4d4d Cut case MAVLINK_MSG_ID_DISTANCE_SENSOR content and paste into handle_message_distance_sensor() method. 2019-02-28 19:24:50 +01:00
mcsauder 411db781eb Cut case MAVLINK_MSG_ID_LANDING_TARGET content and paste into handle_message_landing_target() method. 2019-02-28 19:24:50 +01:00
Daniel Agar 0df34af181 Jenkins hardware test temporarily disable px4_fmu-v5_stachcheck tests 2019-02-28 04:07:05 -08:00
Daniel Agar e7dfb375be create jlink gdb upload script and use in Jenkins Hardware pipeline 2019-02-27 18:42:54 -05:00
TSC21 12d29fd093 navigator: mission_feasibility_checker: remove lazy comparison 2019-02-27 13:25:47 +01:00
TSC21 c9c86ae2ff navigator: mission feasibility checker: minor cleanup 2019-02-27 13:25:47 +01:00
TSC21 9fa7f341e4 mission_feasibility_checker: takeoff: fix init of mission item 2019-02-27 13:25:47 +01:00
TSC21 8bf9ec32dc mission_feasibility_checker: takeoff: add a different log message when there's a takeoff item but it's not the first waypoint 2019-02-27 13:25:47 +01:00
TSC21 468a002355 mission_feasibility_checker: takeoff: minor spelling mistakes fixing 2019-02-27 13:25:47 +01:00
TSC21 f6ab40d2dd mission_feasibility_checker: takeoff: fix logic to return as valid 2019-02-27 13:25:47 +01:00
TSC21 676e1eb224 mission_feasibility_checker: takeoff: accept mission when takeoff is not the first item but the previous items are not waypoints 2019-02-27 13:25:47 +01:00
TSC21 6bb84af1db mission_feasibility_checker: takeoff: change warning message 2019-02-27 13:25:47 +01:00
TSC21 5b151a5df7 navigator: mission feasibility checker: check for a takeoff waypoint on mission on specific conditions 2019-02-27 13:25:47 +01:00
Daniel Agar 26811978e1 Jenkins hardware test add px4_fmu-v2 and px4_fmu-v5 2019-02-26 23:03:24 -05:00
Daniel Agar f5a1146517 Jenkins hardware test add px4_fmu-v3 and px4_fmu-v4pro 2019-02-26 19:22:16 -05:00
Daniel Agar aec3ad5417 Jenkins hardware testing update to new configuration
- the Jenkins slave now has the gdb server already started in the background
2019-02-26 18:33:42 -05:00
David Sidrane 0846059646 fmuv5:Repurpose TIM5_SPARE_4 as nARMED
nARMED is a Digital OUTPUT. GPIO will be set as input while not
   armed HW will have Pull UP. While armed it will be configured
   as a GPIO OUT set LOW.
2019-02-26 15:34:10 -05:00
David Sidrane 477152a96d Commander:Support BOARD_INDICATE_ARMED_STATE for HW that supports external armed indiction 2019-02-26 15:34:10 -05:00
David Sidrane bf8a5e9652 board_common:Add BOARD_INDICATE_ARMED_STATE
This adds an optional default support for HW that does not
   have and external armed indiction.
2019-02-26 15:34:10 -05:00
Mark Sauder c04147c53c Mavlink receiver: Move most variable initializations out of the constructor to the variable declarations 2019-02-26 11:48:02 -05:00
Matthias Grob 20c2d66ba3 Makefile: add function to check if cmake rerun is necessary
by comparing the configuration options that cmake reports
from the cache with the ones from the current build
2019-02-26 10:45:46 -05:00
Matthias Grob e8cbfab670 Makefile: help cleanup 2019-02-26 10:45:46 -05:00
Matthias Grob e7651c9c52 Makefile: streamline cmake-build and
cleanup nuttx_, _default targets
2019-02-26 10:45:46 -05:00
mcsauder ca92b8016d Move member variable initialization out of the constructor list to variable declarations, format whitespaces/tabs in sf1xx.cpp. 2019-02-26 10:42:00 -05:00
bresch f229444722 ManualSmoothVel - Split position lock condition and flag action 2019-02-25 21:41:04 +01:00
Matthias Grob db0283ef21 mc_pos_control: fix altitude limitation
Before if you were above the maximum altitude you could not command to
go down anymore until the position controller had overshoot to under the
maximum altitude again.
2019-02-25 18:53:05 +01:00
Matthias Grob 93ef70c43d vmount: add missing yaw wrap at the end of a ROI update 2019-02-25 11:03:04 -05:00
Matthias Grob 35409b4079 vmount: refactor ROI position update for readability 2019-02-25 11:03:04 -05:00
fpvaspassion cefffe652f Correted list of serial ports for lpe target for fmu v2 board 2019-02-25 10:41:05 -05:00
Mohammed Kabir 20e44aa320 Analog Device ADIS16497 IMU initial support 2019-02-25 09:34:58 -05:00
Alessandro Simovic d5aad58c92 navigator: reset vehicle_roi on mission update 2019-02-25 09:11:24 -05:00
sfalexrog 9355324209 mavlink/MavlinkReceiver: Use hrt_absolute_time for distance_sensor timestamps 2019-02-25 12:07:53 +01:00
Hamish Willee 5132368378 Flying Wing init files: Fix up main output docs 2019-02-25 12:01:27 +01:00
Hamish Willee e5dbd39ca6 Fx79 Frame: Reverse aileron outputs 2019-02-25 12:01:27 +01:00
bresch 8f584a1496 smooth takeoff - Support smooth takeoff triggered by jerk setpoint 2019-02-25 08:07:33 +01:00
Daniel Agar 0d170a0eaf FlightTasks VelocitySmoothing initialize member
- fixes Coverity CID 328485
2019-02-24 17:10:15 -05:00
Daniel Agar 7eca2769a7 FlightTasks AutoLineSmoothVel initialize member
- fixes Coverity CID 328492
2019-02-24 17:10:15 -05:00
Daniel Agar b2739d946c FlightTasks ManualPositionSmoothVel initialize member
- fixes Coverity CID 332544
2019-02-24 17:10:15 -05:00
Daniel Agar 703e28f7a8 Jenkins increase history retention 2019-02-24 13:17:22 -05:00
TSC21 ec436d5aee define FLT_EPSILON; be descriptive about upper_right_triangle() method 2019-02-24 17:14:05 +00:00
TSC21 7355a29a2a tests: use __FLT_EPSILON__ in comparisons 2019-02-24 17:14:05 +00:00
TSC21 7ab2b24e65 tests: urt: refactor 2019-02-24 17:14:05 +00:00
TSC21 4aab44fe01 Travis CI: update MacOS version to use 2019-02-24 17:14:05 +00:00
TSC21 707967d117 add test to .urt() 2019-02-24 17:14:05 +00:00
TSC21 210c76c04b add test to setNaN() 2019-02-24 17:14:05 +00:00
TSC21 96cb9ab146 add NaN value set for Matrix; add return of URT of a matrix 2019-02-24 17:14:05 +00:00
Carl Olsson 447e0be250 gpssim: populate s_variance_m_s with 0.25 (#11521)
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-02-24 11:23:28 -05:00
Matthias Grob bee1835831 Tools: fix style consistency in shell scripts "if [...]; then" 2019-02-24 11:20:38 -05:00
Daniel Agar c21849b9b5 Update submodule mavlink v2.0 to latest Fri Feb 22 12:38:30 UTC 2019 (#11528)
- mavlink v2.0 in PX4/Firmware (8f45c4f9ac1391a7519f633ed654cc41c54cafaa): https://github.com/mavlink/c_library_v2/commit/bf68eed6f6819ca1eca44217955794af554d0369
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/f073569b746b6533c1715b0bbfed6c988444b257
    - Changes: https://github.com/mavlink/c_library_v2/compare/bf68eed6f6819ca1eca44217955794af554d0369...f073569b746b6533c1715b0bbfed6c988444b257
2019-02-22 17:07:33 -05:00
PX4 Build Bot d835d122dc Update submodule sitl_gazebo to latest Fri Feb 22 12:38:23 UTC 2019
- sitl_gazebo in PX4/Firmware (4e792b2487): https://github.com/PX4/sitl_gazebo/commit/b34a96e7e5572209d21b9445be048c77ef041baa
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2e80474653bcb7808a7dfced4cf403ef607d69da
    - Changes: https://github.com/PX4/sitl_gazebo/compare/b34a96e7e5572209d21b9445be048c77ef041baa...2e80474653bcb7808a7dfced4cf403ef607d69da

    2e80474 2019-02-18 Elia Tarasov - fix comment for mag strength table unit
9a9a137 2019-02-18 Elia Tarasov - fix comment for the file name
7c49b2f 2019-02-18 Elia Tarasov - add units to mag variables
c004d94 2019-02-18 Elia Tarasov - fix magnetic field calculation by using geo lookup table
e9a3940 2019-02-18 Elia Tarasov - fix comment on magnetic data source and properties
c76ac17 2019-02-18 Elia Tarasov - copy magnetic data tables and functions from ecl/geo_lookup
28f59c5 2019-02-18 Elia Tarasov - add constrain function
8c869ed 2019-02-18 Elia Tarasov - fix linker complain on multiple definitions
b5213a7 2019-02-18 Elia Tarasov - add getters for mag inclination and strength
d311233 2019-02-15 Elia Tarasov - fix D-component of magnetic field for Zurich according to WMM2015
2019-02-22 21:32:20 +00:00
Daniel Agar e4b3c8bcc6 tests enable bezier and search_min 2019-02-22 16:23:57 -05:00
Oleg Kalachev 0b4751d031 simulator_mavlink: fix DISTANCE_SENSOR.covariance field handling 2019-02-22 18:31:27 +00:00
Oleg Kalachev fbc8d01a7e Rename distance_sensor.covariance to variance 2019-02-22 18:31:27 +00:00
Oleg Kalachev 8ba7569852 mavlink_messages: fill DISTANCE_SENSOR.covariance correctly 2019-02-22 18:31:27 +00:00
Oleg Kalachev ec3f1fd5c2 mavlink_receiver: fix DISTANCE_SENSOR covariance handling 2019-02-22 18:31:27 +00:00
mtm-oss b818b07df3 mc_att_control: Failover in case of gyroscope failure (#11516)
Problem description at: http://discuss.px4.io/t/multicopter-lock-if-primary-gyro-fails/9685
2019-02-22 12:51:40 -05:00
David Sidrane 4e792b2487 Update nuttx with backport f7 i2c fix on 7.28+ 2019-02-21 16:07:58 -05:00
Daniel Agar 184aa2861a PX4_ISFINITE use builtin everywhere 2019-02-21 14:56:08 -05:00
Beat Küng 75bb3e9bac bmi055: add support for IMU_GYRO_CUTOFF and IMU_ACCEL_CUTOFF 2019-02-21 12:30:44 -05:00
Beat Küng ba6ef19314 bmi055: fixes for on-chip filter
- Accel: use cutoff of 62.5 Hz instead of 500 Hz
- Gyro: the cutoff frequency is coupled with the ODR and is fixed to 116 Hz
  at 1 kHz readout rate. So this patch does not change anything for the
  gyro.
2019-02-21 12:30:44 -05:00
mcsauder 6762f09490 Move variable initializations to header file that were no longer in the correct order in the constructor list. 2019-02-21 09:22:01 -05:00
mcsauder 8a6a5cc310 Deprecate #defines that are not needed, format whitespace and minor (incomplete) alphebetization of a few lists. 2019-02-21 09:22:01 -05:00
Alessandro Simovic cb9d483cb8 navigator: removed "using" C++ directive
There is only one occurence of the namespace specified,
so it's more readable to simply specify the full namespace in this case.
2019-02-21 09:20:06 -05:00
Alessandro Simovic 168f1a5d51 navigator: offboard_mission -> mission 2019-02-21 09:20:06 -05:00
bazooka joe 6ed5ee6865 remove check of myoptind >= argc because: [bkueng](/bkueng)
Because BATT_SMBUS is using a different structure (the ModuleBase class), and `BATT_SMBUS::task_spawn` is only called for the `start` command. This is the reason why you don't need to check for it in here.
2019-02-21 09:45:45 +01:00
bazooka joe 7bac0e03de Fixed using myoptarg instead of optarg 2019-02-21 09:45:45 +01:00
Beat Küng ae335f6bd8 Fixed using myoptarg instead of optarg
Co-Authored-By: BazookaJoe1900 <BazookaJoe1900@gmail.com>
2019-02-21 09:45:45 +01:00
Beat Küng 550710d502 Fixed using myoptarg instead of optarg
Co-Authored-By: BazookaJoe1900 <BazookaJoe1900@gmail.com>
2019-02-21 09:45:45 +01:00
Beat Küng 8e991f1878 Fixed using myoptarg instead of optarg
Co-Authored-By: BazookaJoe1900 <BazookaJoe1900@gmail.com>
2019-02-21 09:45:45 +01:00
Beat Küng e639a8834c Fixed using myoptarg instead of optarg
Co-Authored-By: BazookaJoe1900 <BazookaJoe1900@gmail.com>
2019-02-21 09:45:45 +01:00
Beat Küng 1ffacdc3c0 Fixed using myoptarg instead of optarg
Co-Authored-By: BazookaJoe1900 <BazookaJoe1900@gmail.com>
2019-02-21 09:45:45 +01:00
bazooka joe 922c19aa9c using only px4_getopt() and never the unsafe getopt()
using only <px4_getopt.h> as include, cleanup related includes
added check that all the option are valid (myoptind >= argc). if there are invalid options on some script that might now lead not to run commands
2019-02-21 09:45:45 +01:00
Anna Dai 3db901b238 add mavlink mode external vision MAVLINK_MODE_EXTVISION
the mode can be used for VIO algorithms and obstacle avoidance to close the loop
2019-02-21 09:18:23 +01:00
mcsauder b5be8d9fd1 Add perf_free() calls orb_unsubscribe and remove delete _instance in the Simulator class destructor. 2019-02-21 08:12:22 +01:00
mcsauder 437a9e0260 Move remaining variable initialization from constructor list and alphabetize/organize methods and vars ordering. 2019-02-21 08:12:22 +01:00
Daniel Agar 88fd8147fd commander auto disarm if kill switch engaged for 5 seconds
- closes #10133
2019-02-20 18:37:20 +01:00
Matej Frančeškin 9782aecc73 Added GPS reset command 2019-02-19 16:30:42 +01:00
Beat Küng 6d2849f4ef fmu-v4 rc.board_extras: use 'if ! ' instead if 'if then else' 2019-02-19 10:55:55 +01:00
Beat Küng ea27a03599 atxxxx: various fixes & cleanup 2019-02-19 10:55:55 +01:00
Beat Küng 7312059c29 atxxxx: refactor to ModuleBase (fixes some uorb subscription problems) 2019-02-19 10:55:55 +01:00
Beat Küng 717e52fa57 osd: rename driver to atxxxx 2019-02-19 10:55:55 +01:00
DanielePettenuzzo c3f9294b49 omnibus: initial osd driver for omnibus board 2019-02-19 10:55:55 +01:00
mcsauder 31f23c1e76 Rename tune_control_s strength to volume to match Nuttx and Linux standard nomenclature for audio (loudness) control. 2019-02-19 10:07:53 +01:00
Todd Colten 57dd1b7b45 reduced use of mixed capitalization
e.g. 
Preflight Fail: Height estimate error
Preflight Fail: Velocity estimate error
Preflight Fail: Position estimate error
Preflight Fail: Yaw estimate error
2019-02-19 09:44:42 +01:00
Todd Colten 0faba12337 re-word Preflight Fail msg, attempt 2
My recent PR exceeded the 50 char limit (apparently the last character must be null?).

This new attempt changes: "Preflight Fail: Horizontal position estimate Error"  to: "Preflight Fail: Position estimate Error"

In fact, this newest wording is more easily understood by the average user and is actually more consistent with the other COM_ARM_EKF_xxx related errors:

COM_ARM_EKF_HGT --> "Preflight Fail: Height estimate Error"
COM_ARM_EKF_VEL --> "Preflight Fail: Velocity estimate Error"
COM_ARM_EKF_POS --> "Preflight Fail: Position estimate Error"
2019-02-19 09:44:42 +01:00
Beat Küng 64f29fdff8 Tools/sitl_gazebo: update submodule
Includes https://github.com/PX4/sitl_gazebo/pull/283
2019-02-19 08:43:42 +01:00
stmoon 460c16cd7a add mavlink_tcp_port for multiple uav simultation 2019-02-19 08:12:12 +01:00
Hamish Willee 4dc1503122 Fix link to EKF tuning page 2019-02-19 08:05:39 +01:00
mcsauder a6d186dfed Rename Tunes::get_next_tune() to Tunes::get_next_note(). 2019-02-19 08:00:11 +01:00
Julian Oes 18f7ee2d50 jMAVSim: update submodule, use -lockstep CLI arg
This updates the jMAVSim submodule which includes a fix for HITL.
In order to fix HITL, a CLI argument `-lockstep` was required to enable
lockstep. This has now been added to the command in jmavsim_run.sh.
2019-02-18 20:25:50 +00:00
mcsauder d6dc5a7302 Rename MB12XX_MAX_RANGEFINDERS to RANGE_FINDER_MAX_SENSORS. 2019-02-18 13:07:47 -05:00
Julian Oes 4dea79b2d6 sensors: prevent double orb_copy of gyro topic
By using the uORB::Subscription API we use a separate subscription
rather than `orb_copy` on the existing file descriptor used in
sensors through `px4_poll`.

This fixes a very peculiar problem that we observed in SITL in CI for
fixedwing. The events were as follows:

1. `sensors` does `px4_poll` on the gyro topic (as normal), and gets
   the latest sample using `orb_copy`.
2. A parameter update happens when the mag is initialized and triggers
   `VotedSensorsUpdate::parameters_update()` where `orb_copy` happens
   before the main loop in `sensors` has started a `px4_poll`.
3. `sensors` now does the `px4_poll`, however waits indefinitely because
   it has already copied the latest sample.
   Also, the `px4_poll` will never time out because in lockstep the
   simulator waits for the next actuator control message which it never
   gets and therefore it never sends the next sensor message with a new
   timestamp to advance the time.

This only happens for fixedwing because there is only one "uORB path"
through the system unlike for multicopter where a gyro sample can get
picked up by either `sensors` or directly `mc_att_control`, so the
system can survive if `sensors` has "drops".
2019-02-18 11:44:07 -05:00
Daniel Agar 2e10bba829 Jenkins SITL restore FW tests 2019-02-18 11:44:07 -05:00
Daniel Agar 344f632443 Jenkins SITL tests coverage temporarily disable process_logdata_ekf.py coverage
- need to update to python3 coverage.py.
2019-02-18 11:40:29 -05:00
David Sidrane 0705d6c807 stm32 drv_io_timer: Prevent glitch on PWM outputs (#11453)
Rate changes were doing an asynchronous register reload via the EGR_UG. This could extend a PWM pulse up to 2X.

This fix removes the asynchronous update. The net effect is the the rate change will occur on the next counter expiration. The worst case is the rate change is delayed by 20 Ms.
2019-02-18 11:08:04 -05:00
JohannesBrand b01e470ff9 refactor ecl ekf analysis (#11412)
* refactor ekf analysis part 1: move plotting to functions

* add plot_check_flags plot function

* put plots in seperate file

* use object-oriented programming for plotting

* move functions for post processing and pdf report creation to new files

* add in_air_detector and description as a csv file

* refactor metrics and checks into separate functions

* refactor metrics into seperate file, seperate plotting

* ecl-ekf tools: re-structure folder and move results table generation

* ecl-ekf-tool: fix imports and test_results_table

* ecl-ekf tools: bugfix output observer tracking error plot

* ecl-ekf-tools: update batch processing to new api, fix exception handling

* ecl-ekf-tools: use correct in_air_detector

* ecl-ekf-tools: rename csv file containing the bare test results table

* ecl-tools: refactor for improving readability

* ecl-ekf tools: small plotting bugfixes

* ecl-ekf tools: small bugfixes in_air time, on_ground_trans, filenames

* ecl-ekf-tools: fix amber metric bug

* ecl-ekf-tools: remove custom function in inairdetector

* ecl-ekf-tools: remove import of pandas

* ecl-ekf-tools: add python interpreter to the script start

* ecl-ekf-tools pdf_report: fix python interpreter line

* px4-dev-ros-kinetic: update container tag to 2019-02-13

* ecl-ekf-tools python interpreter line: call python3 bin directly

* ecl-ekf-tools: change airtime from namedtuple to class for python 3.5

* ecl-ekf-tools: update docker image px4-dev-ros-kinetic

* ecl-ekf-tools: fix memory leak by correctly closing matplotlib figures
2019-02-18 16:52:02 +01:00
Daniel Agar 77b5c47d7f STM32F7 disable d-cache as a precaution (#11374)
- see 1259864 Data corruption in a sequence of Write-Through stores and loads
 - if we can be certain this sequence won't occur in PX4 then the d-cache will be re-enabled
2019-02-18 09:43:15 -05:00
Todd Colten 4c21163c78 re-word landing required msg for understandability
changed: "Mission rejected: land start required."
to: "Mission rejected: landing pattern required."

This new message is more clear to the average user.  When using RTL_TYPE = 1, mission feasibility checker adds the requirement of a landing sequence beginning with a MAV_CMD_DO_LAND_START and ending with a MAV_CMD_NAV_LAND with at least 1 other waypoint prior to the land waypoint.  The warning message "Mission rejected: land start required." is a common warning to trigger whenever the mission is blank or the mission is uploaded without a landing pattern.  The wording in this message confusing to the average user as they usually do not know the inner workings of the "landing pattern" that their planning software helps them make (e.g. Qgroundcontrol).  The only users who would know what a "Do_Land_Start" mission item is are advanced users already and this new message should work equally well for them as well as the non-advanced user.
2019-02-18 09:38:59 -05:00
Todd Colten b23374688b re-word Preflight Fail msg for consistency
changed: "Preflight Fail: Horizontal estimate Pos Error"
to: "Preflight Fail: Horizontal position estimate Error"
2019-02-17 23:44:47 +00:00
Antiheavy 1bcce518b0 Fixed typo in comment. from: EPV to: EPH
The comment description for COM_POS_FS_EPH incorrectly stated "...horizontal position error (EPV)...".  This fixes the acronym to "(EPH)".
2019-02-16 19:37:12 +00:00
Hamish Willee 6302452066 Remove unwanted info option 2019-02-15 10:41:32 +01:00
Hamish Willee f8c0849ff7 Add module docs for leddar_one 2019-02-15 10:41:32 +01:00
TSC21 57f1f01319 microRTPS_transport: replace printf() with PX4_ERR() 2019-02-15 08:54:58 +00:00
Gabriel Moreno 6bb0046407 urtps: fix UART speed setting to work in Linux
The previous code used the numeric baudrate as the speed argument
for cfsetispeed() and cfsetospeed(). This works in OSX and NuttX,
but is not portable.

This fix introduces a new method to convert baudrate to speed using
constants such as B115200.

Signed-off-by: Gabriel Moreno <gabrielm@cs.cmu.edu>
2019-02-15 08:54:58 +00:00
TSC21 d4570e10f3 Jenkins CI: PX4 ROS msgs stage: properly name the ros1 branch 2019-02-15 08:51:58 +00:00
TSC21 d1182f18ed Jenkins CI: PX4 ROS msgs stage: deploy message definitions to the 'ros1' branch of 'px4_msgs' 2019-02-15 08:51:58 +00:00
bresch 197ddd3e46 mc_pos_control - Publish trajectory setpoint directly after the FlightTask update 2019-02-13 20:56:57 +01:00
bresch c0dab47554 mc_pos_control - reduce smooth_velocity_takeoff default threshold, set initial takeoff speed to 0 and remove useless else 2019-02-13 20:56:57 +01:00
bresch e0c48d1d76 PositionControl - use dynamic constraints to saturate velocity controller for now as it is needed for the current smooth takeoff logic. Will be reverted after smooth takeoff refactor 2019-02-13 20:56:57 +01:00
bresch 106f0769fd mc_pos_control - add takeoff_ramp_time zero division guard 2019-02-13 20:56:57 +01:00
bresch 70ddb8049a Traj Smoothing - make format 2019-02-13 20:56:57 +01:00
bresch 3543071eb9 Position Controller - Saturate the controllers using static parameters. Handle saturations in the flight tasks only 2019-02-13 20:56:57 +01:00
bresch 4cace1bbe9 Manual vel smooth - use speed_up and speed_down constraints to limit velocity target of the trajectory generator 2019-02-13 20:56:57 +01:00
bresch b7c2464cce Manual vel smooth - Use MPC_JERK_MAX only 2019-02-13 20:56:57 +01:00
bresch 1730cd3a69 Velocity Smoothing - Various improvements, cleanup and corner cases fixes 2019-02-13 20:56:57 +01:00
bresch f1262cbe84 Manual Traj - Avoid velocity jumps due to a modification of the constraints 2019-02-13 20:56:57 +01:00
bresch 57eef6b170 Manual Trajectory - Add Z position lock logic and log complete trajectory 2019-02-13 20:56:57 +01:00
ArkadiuszNiemiec 556ac5547b attitude_estimator_q: fix newline at end of file 2019-02-13 08:51:41 -05:00
ArkadiuszNiemiec d93c3da172 q_estimator: correctly handle loss of external yaw estimation 2019-02-13 08:51:41 -05:00
ArkadiuszNiemiec 6257037924 Revert "q_estimator: correctly handle loss of external yaw estimation" 2019-02-13 08:51:41 -05:00
Arkadiusz Niemiec 075c836dfb q_estimator: correctly handle loss of external yaw estimation 2019-02-13 08:51:41 -05:00
Hamish Willee 3a34209dc1 Fix error text to: unrecognised command 2019-02-13 09:42:05 +01:00
Hamish Willee 1aaf342e86 Add usage output to command 2019-02-13 09:42:05 +01:00
Hamish Willee 48105ba878 Add module docs for tfmini driver 2019-02-13 09:42:05 +01:00
Hamish Willee 2b20c50659 Add module docs for teraranger 2019-02-13 09:20:07 +01:00
Daniel Agar 8185334994 navigation.h handle mission item structure padding explicitly
- also applies to mission_stats_entry_s, mission_fence_point_s,
   mission_save_point_s
 - -Wpadded warning is disabled by default because the snapdragon
   toolchain doesn't respect the pragma pop
2019-02-13 08:08:01 +01:00
David Sidrane beff3ae66a deprecate gumstix aerocore - no longer supported by mfg 2019-02-12 20:53:45 -05:00
Daniel Agar f1d17c9003 camera_capture add to all boards 2019-02-11 14:15:28 -05:00
Daniel Agar fb7c0376a0 systemlib hysteresis improve field packing and cleanup 2019-02-11 11:57:05 -05:00
Daniel Agar d7ba8cc3f0 simulator mavlink don't send_controls() until ready (#11426) 2019-02-11 10:50:24 -05:00
Daniel Agar 24d46df577 simulator cleanup initialization 2019-02-11 09:48:02 -05:00
Beat Küng 0acdffad90 fix MPU6000: restore orb priority
Fixes regression from https://github.com/PX4/Firmware/pull/11216.
2019-02-11 12:16:46 +01:00
Mark Sauder 352be14bbe Alphabetizing/standardizing orders in tunes.cpp and tunes.h files
- Remove a constructor overload by adding default values, and disambiguate a few variables by adding verbosity to naming.
2019-02-10 20:31:12 -05:00
David Sidrane b40f8d52a8 STM32F7 disable d-cache as a precaution (#11374)
- see 1259864 Data corruption in a sequence of Write-Through stores and loads
 - if we can be certain this sequence won't occur in PX4 then the d-cache will be re-enabled
2019-02-10 18:25:16 -05:00
Anna Dai a2bb826523 fix for AV board mavlink streams 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 3e9acee83e add camera capture support for av_x board (not timer capture but gpio capture) 2019-02-10 18:07:44 -05:00
DanielePettenuzzo b12b4e1222 fixes after rebase 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 15abb159a8 camera_capture: change topic namings to make logging, mavlink streaming and geotagging easier 2019-02-10 18:07:44 -05:00
DanielePettenuzzo faf535b040 camera_capture: remove trig_buffer and replace it with public structure 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 0ee66c5434 camera_capture: clean trigger modes and change fmu to 4pwm2cap 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 50f8c7349c fmu: add mode_4pwm2cap 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 24f77ec5a4 rcS: start camera_capture later in script 2019-02-10 18:07:44 -05:00
David Sidrane a153148ef5 camera_capture:Use IOCTL to set capture mode. 2019-02-10 18:07:44 -05:00
David Sidrane 928e0140ee fmu:Add MODE_4PWM1CAP, MODE_5PWM, MODE_5PWM1CAP
This extends the  Capture support for FMU
   CHAN 5 and 6.
2019-02-10 18:07:44 -05:00
DanielePettenuzzo 4876bb2582 camera feedback: fix camera_trigger subscription 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 96961c6f9c camera trigger and camera capture publish on two different topics and camera feedback module uses CAM_CAP_FBACK param to choose between the two. 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 6b65eb2225 camera feedback: remove CAM_FBACK_MODE param. CAM_CAP_FBACK from camera capture driver will be used instead. 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 011a7f26f4 fix camera_trigger publish and reduce time in capture interrupt routine 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 3f99204de2 camera_trigger.msg: add feedback field to understand if message camera from trigger or capture driver 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 38c8a6ff74 camera_capture: add cycle for cycle_trampoline 2019-02-10 18:07:44 -05:00
DanielePettenuzzo ea9d6899ae clean up camera capture driver 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 42e2bd47c4 add camera capture mode and edge params 2019-02-10 18:07:44 -05:00
DanielePettenuzzo d49752141d rename camera capture feedback param and move it from camera_feedback module to camera capture driver 2019-02-10 18:07:44 -05:00
DanielePettenuzzo 42afc88285 add camera trigger feedback (input capture when camera actually takes the photo) 2019-02-10 18:07:44 -05:00
bresch 5229882470 Camera Capture - Use falling edge only 2019-02-10 18:07:44 -05:00
bresch 7906bff914 Camera Capture - add "status" to camera_capture usage help message 2019-02-10 18:07:44 -05:00
bresch faa8b6fe6d Camera Capture - enable capture at startup 2019-02-10 18:07:44 -05:00
Mohammed Kabir 94bb02a9c7 Add camera_capture driver 2019-02-10 18:07:44 -05:00
mcsauder 2fa70fca80 Added audio tune signals for unit tests passing and failing. 2019-02-10 17:47:16 -05:00
mcsauder 0032df3e87 Update the test_tone() unit test to use orb_advertise() and orb_publish() instead of IOCTL() and alphabetize tests_main.h. 2019-02-10 17:47:16 -05:00
mcsauder 6dc840ac6a Break test_tone and test_ppm out of the test_hrt.cpp file into their own respective files. 2019-02-10 17:47:16 -05:00
Daniel Agar 05dc2ba3ec update px4 dev containers to 2019-02-09
- this updates all containers except for px4-dev-snapdragon
2019-02-10 17:33:17 -05:00
Daniel Agar 0b16e650b7 Jenkinsfile temporarily disable catkin and colcon builds 2019-02-10 17:03:56 -05:00
Daniel Agar 955cde72af Jenkins SITL tests temporarily disable FW test (#11428)
- waiting for https://github.com/PX4/Firmware/issues/11380
2019-02-10 16:34:23 -05:00
Daniel Agar 7c3999e00e update mavlink and sitl_gazebo to latest with odometry velocity covariance 2019-02-10 16:32:59 -05:00
Daniel Agar fafadd4686 update all submodules to PX4 forks (#11407) 2019-02-10 15:48:59 -05:00
Roman e49549a433 uavcan: use px4 timestamp for the esc status message
- there is a timeshift between the esc and px4 time so until there is some
kind of offset estimation we are better off using px4 time since the logging
system uses that as reference

Signed-off-by: Roman <bapstroman@gmail.com>
2019-02-10 09:22:59 -05:00
PX4 Build Bot 795e13ca59 Update submodule ecl to latest Sat Feb 9 00:38:44 UTC 2019
- ecl in PX4/Firmware (65377def832e82bd667ff6e0d00155c95b51b12e): https://github.com/PX4/ecl/commit/54ab8191e34b06dd2e6f96fe1b0adb971c5b77f0
    - ecl current upstream: https://github.com/PX4/ecl/commit/1378ec179717448404c74819871d149217350b19
    - Changes: https://github.com/PX4/ecl/compare/54ab8191e34b06dd2e6f96fe1b0adb971c5b77f0...1378ec179717448404c74819871d149217350b19

    1378ec1 2019-02-07 Daniel Agar - EKF mag_fusion avoid unnecessary double promotion
2019-02-08 21:05:20 -05:00
Daniel Agar adad624572 px4_fmu-v5 remove PX4_FMUV5_RC00 2019-02-08 20:52:15 -05:00
Daniel Agar 06f5a782f4 px4_fmu-v5 board spi cleanup 2019-02-08 20:52:15 -05:00
David Sidrane c6edf41a74 test time: Fixed bad assumption about RAND_MAX (#11414)
usleep range was up to 2147 Seconds

   Per open group: The rand() function shall compute a
   sequence of pseudo-random integers in the range
   [0, {RAND_MAX}]  with a period of at least 2^32

   {RAND_MAX} Maximum value returned by rand();
   at least 32767.

   /* Maximum value returned by rand().  Must be a minimum of 32767. */

   #define RAND_MAX INT_MAX

  and

  #define INT_MAX     2147483647
2019-02-08 14:39:18 -05:00
Daniel Agar 2217faf812 mathlib Limits constexpr helpers don't use references (#11411)
- fixes #11408
 - cleanup Limits.hpp
2019-02-08 14:10:09 -05:00
Daniel Agar 13634e6757 Jenkins compile mac: double timeout (#11416) 2019-02-08 14:09:08 -05:00
Daniel Agar 1378ec1797 EKF mag_fusion avoid unnecessary double promotion 2019-02-08 08:24:24 -05:00
Beat Küng ab6ab97aa2 px4_module: document that the subcategory is optional 2019-02-08 09:29:46 +01:00
Beat Küng 4452669614 module documentation: add support for subcategories 2019-02-08 09:29:46 +01:00
Beat Küng d8b013355c PRINT_MODULE_USAGE_PARAM_{INT,FLOAT}: add support to ignore the default value 2019-02-08 09:29:46 +01:00
Daniel Agar c3d6a042e6 Jenkins SITL coverage build in place to handle gcov paths properly 2019-02-07 16:11:25 -05:00
Daniel Agar 7f3b170024 mc_att_control: landing gear publish correct message 2019-02-07 11:57:35 +01:00
Daniel Agar 07fbd2202a EKF2 use simplified ecl/EKF setIMUData 2019-02-06 20:20:51 -05:00
Daniel Agar ddc9522712 EKF2 always use IMU timestamp as now 2019-02-06 20:20:51 -05:00
PX4 Build Bot 4c4ee67954 Update submodule ecl to latest Thu Feb 7 00:38:05 UTC 2019
- ecl in PX4/Firmware (9580dea9c2ab12d9fd6eaa1a3232c7c80639bef4): https://github.com/PX4/ecl/commit/dd58e695494acab73fb6fcec7074291edb5c226b
    - ecl current upstream: https://github.com/PX4/ecl/commit/54ab8191e34b06dd2e6f96fe1b0adb971c5b77f0
    - Changes: https://github.com/PX4/ecl/compare/dd58e695494acab73fb6fcec7074291edb5c226b...54ab8191e34b06dd2e6f96fe1b0adb971c5b77f0

    54ab819 2019-02-06 Carl Olsson - EKF: add method to get the terrain variance
c5554ca 2019-02-03 Daniel Agar - EKF tests update SWIG usage and use latest containers
2019-02-06 20:15:02 -05:00
Daniel Agar 537318cbb5 navigator delete unused mission_yaw_mode 2019-02-06 18:59:11 -05:00
Daniel Agar 83e76ece1c navigator mission block fix get_time_inside() and cleanup helpers 2019-02-06 18:59:11 -05:00
Daniel Agar 3665bc59b8 navigator initialize all mission items safely 2019-02-06 18:59:11 -05:00
Daniel Agar 26185f7c07 navigator orb subscribe/unsubscribe in constructor/destructor 2019-02-06 18:59:11 -05:00
Daniel Agar 6a08c1b6f1 Jenkins SITL tests increase test history from 2 -> 5 2019-02-06 13:37:44 -05:00
Carl Olsson 54ab8191e3 EKF: add method to get the terrain variance 2019-02-06 08:49:16 -05:00
Daniel Agar 3959180a2e Jenkins PX4 ROS deploy steps cleanup first 2019-02-05 21:37:15 -05:00
Daniel Agar 8a3305742e Update submodule mavlink v2.0 to latest Wed Feb 6 01:50:00 UTC 2019 (#11391)
- mavlink v2.0 in PX4/Firmware (068a10b8f062759c2af5e20433608289dd198366): https://github.com/mavlink/c_library_v2/commit/e302e1b735e47e9d33c3bad579dd7c6c089c1bb3
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cf858b4513d4eb1689b7c45a30531ea2e65b589c
    - Changes: https://github.com/mavlink/c_library_v2/compare/e302e1b735e47e9d33c3bad579dd7c6c089c1bb3...cf858b4513d4eb1689b7c45a30531ea2e65b589c
2019-02-05 21:29:45 -05:00
Daniel Agar 216a3e13e7 Update submodule gencpp to latest Wed Feb 6 01:50:06 UTC 2019 (#11390)
- gencpp in PX4/Firmware (ed8517a7d97f15cdf556cdc64496cc72bebb99ab): https://github.com/ros/gencpp/commit/b41ee3060badd660662e21cd9d4f81971c87a420
    - gencpp current upstream: https://github.com/ros/gencpp/commit/7e446a9976916a7b6fc7266098c67fc6f73a76e0
    - Changes: https://github.com/ros/gencpp/compare/b41ee3060badd660662e21cd9d4f81971c87a420...7e446a9976916a7b6fc7266098c67fc6f73a76e0

    7e446a9 2019-01-25 James Xu - enable Windows build (#38)
2019-02-05 21:22:37 -05:00
Daniel Agar 6abd94e2b7 Update submodule genmsg to latest Wed Feb 6 01:50:12 UTC 2019 (#11389)
- genmsg in PX4/Firmware (d4338773aa0139295caff03dc8275b44b88ccd04): https://github.com/ros/genmsg/commit/42e364661025b8f3d51486dc513d9e29cbd308da
    - genmsg current upstream: https://github.com/ros/genmsg/commit/5736b1f7ad037fb5811a3100ba9da2db0ec1f20a
    - Changes: https://github.com/ros/genmsg/compare/42e364661025b8f3d51486dc513d9e29cbd308da...5736b1f7ad037fb5811a3100ba9da2db0ec1f20a

    5736b1f 2019-01-28 Dirk Thomas - add missing run_depend on empy (#81)
2019-02-05 21:21:09 -05:00
Daniel Agar 1a4d31140e create example vehicle type build configs for fmu-v2 and fmu-v5 (#10963)
- update navigator precision landing to build without multicopter
2019-02-05 19:53:54 -05:00
CarlOlsson fd4caa849d msg: add gps_yaw and mag_aligned to estimator_status
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-02-05 19:31:30 -05:00
Daniel Agar 40252075f3 Jenkins add SITL tests coverage pipeline 2019-02-05 15:42:34 -05:00
Daniel Agar 25b4b63364 check_submodules.sh don't force update in CI 2019-02-05 14:47:58 -05:00
Daniel Agar 87b17bed58 px4io depend on NuttX submodules 2019-02-05 14:47:58 -05:00
Daniel Agar aec698ae44 appveyor: only build px4_sitl_tests (avoid building SITL twice) 2019-02-05 14:34:01 -05:00
Daniel Agar 986ff96c3e Jenkins mac compile run tests separately 2019-02-05 14:34:01 -05:00
Daniel Agar 071ec7d7cd Makefile: quick_check avoid building px4_sitl twice 2019-02-05 14:34:01 -05:00
Daniel Agar 205b0d94ca Update submodule sitl_gazebo to latest Tue Feb 5 12:38:27 UTC 2019 (#11377)
- sitl_gazebo in PX4/Firmware (6178ead6ea): https://github.com/PX4/sitl_gazebo/commit/12fb19ac6e7695ffc3dc9a64fcdd8499a522bd80
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/34d06e042c9dbd336899dbba373e32a6f19828b7
    - Changes: https://github.com/PX4/sitl_gazebo/compare/12fb19ac6e7695ffc3dc9a64fcdd8499a522bd80...34d06e042c9dbd336899dbba373e32a6f19828b7

34d06e0 2019-02-05 Tully Foote - create plane_cam world
93159f3 2019-02-01 TSC21 - CMakeLists: install package.xml
c5882f7 2019-01-31 Anthony Lamping - models: plane: split up, adding plane_cam
38fe49a 2019-02-01 TSC21 - Travis CI: do not pass user id env var to the container
0f1221b 2019-02-01 TSC21 - Travis CI: update Ubuntu container tags
bab0de9 2019-01-31 Anthony Lamping - models: remove matrice 100 opt flow meshes
0efbe69 2019-01-23 Oleg Kalachev - Fix building on macOS
2019-02-05 11:58:22 -05:00
Julian Oes b17c0a11ab mavlink: improve comments about message forwarding (#11323)
This removes the confusing ugly magic number of 233 introduced as part
of https://github.com/PX4/Firmware/pull/7670.

Also, the convoluted if is cleaned up using 3 separate bools with some
comments to explain what's going on.

This should not change anything function-wise except that the flight
controller could now potentially also use system ID 233 and not break
forwarding.
2019-02-05 10:33:49 -05:00
Lorenz Meier 3d3a98c803 Add script to set the correct ulimit on Mac OS (#11247) 2019-02-05 10:19:55 -05:00
Hamish Willee 87993e7335 Indicate version in which SYS_COMPANION deprecated (#11327) 2019-02-05 10:16:28 -05:00
Julien Lecoeur 34717f7005 Merge pull request #11288 from PX4/pr-tiltrotor_noairspeed_transition_check
tiltrotor: fix transition check when airspeed is invalid
2019-02-05 10:09:48 -05:00
Matthias Grob 664674c36b simulator_mavlink: zero initializer instead of memset
Needed a clear scope inside a case for irlock_reports.
2019-02-05 10:09:15 -05:00
Matthias Grob 73f4706597 simulator_mavlink: consistent system call scope operator 2019-02-05 10:09:15 -05:00
TSC21 6178ead6ea Jenkins CI: PX4 ROS2 bridge stage: rollback test branch name 2019-02-05 08:18:14 +00:00
TSC21 cd49556aee Jenkins CI: PX4 ROS2 bridge stage: deploy uORB RTPS ID map before the scripts 2019-02-05 08:18:14 +00:00
TSC21 59a264b179 Jenkins CI: PX4 ROS2 bridge stage: update container tag 2019-02-05 08:18:14 +00:00
TSC21 29232b2499 Jenkins: px4_ros_com deploy: test 2019-02-05 08:18:14 +00:00
TSC21 14d7adc519 Jenkins CI: PX4 ROS2: deploy required tools 2019-02-05 08:18:14 +00:00
Daniel Agar 7a1c8ea8cb Update platforms/posix/src/lockstep_scheduler/CMakeLists.txt
Co-Authored-By: MaEtUgR <maetugr@gmail.com>
2019-02-04 21:31:06 +01:00
Matthias Grob ffb8bb6066 lockstep_scheduler: correct cmake target includes 2019-02-04 21:31:06 +01:00
Daniel Agar 2d922b5cb4 FW airframe defaults relax EKF2 GPS checks 2019-02-04 11:02:38 -05:00
Daniel Agar 2b16be9281 Jenkins hardware test remove px4_fmu-v4 stackcheck
- the stackcheck build is too slow to be useful
- will be recreated with fmu-v5
2019-02-04 10:54:38 -05:00
Beat Küng aa020eb28e airframes: add Holybro QAV250 2019-02-04 09:31:02 -05:00
bastien 1990338a3f gps: Support for Emlid Reach
Support Emlid Reach in ERB format,
including autodetect

Reported-by: Bastien Auneau <bastien.auneau@while-true.fr>
2019-02-04 09:10:11 -05:00
Paul Riseborough 9692ef1ae9 commander: remove duplicate check 2019-02-04 10:32:19 +01:00
Daniel Agar 248320b328 PreflightCheck trivial astyle fix 2019-02-04 10:32:19 +01:00
Paul Riseborough 6fb7cda9f2 commander: Reduce false positives in pre-flight accel bias check 2019-02-04 10:32:19 +01:00
Daniel Agar 7ecb04db2b Jenkins split MacOS builds into new pipeline 2019-02-04 00:18:56 -05:00
Daniel Agar daae9e85b8 Jenkins hardware increase test timeout and update container version 2019-02-03 23:58:40 -05:00
Julien Lecoeur fe83378db4 Tiltrotor: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 6c1d85716c Convergence: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 15f9b70431 Claire: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 9b5dd1596f FireFly6: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 57f9104420 VTOL tiltrotor: respect VT_ELEV_MC_LOCK 2019-02-03 22:33:42 -05:00
Anthony Lamping 77ea5249a1 startup: add plane_cam 2019-02-03 22:32:24 -05:00
PX4 Build Bot c6e60c2189 Update submodule ecl to latest Sun Feb 3 07:37:55 EST 2019
- ecl in PX4/Firmware (0dc2ccb130e891b387b4e0d6ea4492473339e142): https://github.com/PX4/ecl/commit/721f5e61a5965a08a34b2875d2bdc0b5d3b80601
    - ecl current upstream: https://github.com/PX4/ecl/commit/dd58e695494acab73fb6fcec7074291edb5c226b
    - Changes: https://github.com/PX4/ecl/compare/721f5e61a5965a08a34b2875d2bdc0b5d3b80601...dd58e695494acab73fb6fcec7074291edb5c226b

    dd58e69 2019-01-30 Paul Riseborough - EKF: Ensure FW yaw alignment method is used on first in-air reset
3accab1 2019-01-28 Paul Riseborough - EKF: protect declination fusion from badly conditioned earth field estimates
7bddbd1 2019-01-28 Paul Riseborough - EKF: Update cleaned up autocode fragment with sign error fix and missing LD
fe378fd 2019-01-22 Paul Riseborough - EKF: Prevent unwanted declination fusion when re-starting 3-axis fusion
bd1647a 2019-01-22 Paul Riseborough - EKF: Rework use of fuseDeclination()
d52f536 2019-01-17 Paul Riseborough - EKF: Save mag field covariance data before reset
82ce7a8 2019-01-17 Paul Riseborough - EKF: Save mag field covariance information on startup
708c79e 2019-01-17 Paul Riseborough - EKF: Ensure mag field state covariance data is always available for re-use
8839e4e 2019-01-17 Paul Riseborough - EKF: Don't discard declination certainty information when resuming 3-axis fusion.
25148e1 2019-01-17 Paul Riseborough - EKF: Prevent rapid changes in declination estimate after a reset
6e7c119 2019-01-16 CarlOlsson - EKF: limit yaw variance increase to 0.01 rad^2 to prevent a badly conditioned covariance matrix
0896f7b 2019-01-16 CarlOlsson - EKF: Also fill in lower part of covariance matrix in increaseQuatYawErrVariance()
4b3140e 2019-01-16 Paul Riseborough - EKF: Fix rebase error
911d4d8 2019-01-16 Paul Riseborough - EKF: Fix sign error in increaseQuatYawErrVariance function
a0b9cb0 2018-12-24 Paul Riseborough - EKF: Use consistent method for recording completion of in-flight yaw alignment
ef5a87c 2018-12-21 Paul Riseborough - EKF: Rework quaternion yaw reset.
fc2a089 2018-12-21 Paul Riseborough - EKF: Add function to un-correlate quaternion states
bce1b96 2018-12-21 Paul Riseborough - EKF: Add function enabling yaw variance to be increased
bf1f3a2 2018-12-21 Paul Riseborough - EKF: Derive equations enabling yaw variance to be increased
81eabc1 2019-01-29 Daniel Agar - Jenkins update all containers to latest tag 2019-01-28
a5e6191 2019-01-29 Daniel Agar - EKF add clarity brackets to avoid potential confusion
2019-02-03 18:57:10 -05:00
Daniel Agar c5554cae96 EKF tests update SWIG usage and use latest containers 2019-02-03 18:27:00 -05:00
Daniel Agar a7388f142c auav x2.1 rc.defaults should be rc.board_defaults 2019-02-03 12:10:30 -05:00
Matthias Grob 1d86b7570a license: account for 2019 2019-01-31 17:43:35 +01:00
Matthias Grob 6a53a398e0 FlightTask: decline unimplemented callbacks, improve comments 2019-01-31 17:43:35 +01:00
Paul Riseborough dd58e69549 EKF: Ensure FW yaw alignment method is used on first in-air reset 2019-01-31 09:53:57 -05:00
Paul Riseborough 3accab1ac5 EKF: protect declination fusion from badly conditioned earth field estimates
Fusion with large initial magnetometer biases errors can result in the the NE earth field states reducing in magnitude and effectively flipping sign.

EKF: Move declination state limiting into a separate function

EKF: Limit NE mag states after each 3-axis mag fusion

EKF: Fix bug in mag field strength look-up scale factor
2019-01-31 09:53:57 -05:00
Paul Riseborough 7bddbd1cc5 EKF: Update cleaned up autocode fragment with sign error fix and missing LD 2019-01-31 09:53:57 -05:00
Paul Riseborough fe378fd761 EKF: Prevent unwanted declination fusion when re-starting 3-axis fusion 2019-01-31 09:53:57 -05:00
Paul Riseborough bd1647a7fb EKF: Rework use of fuseDeclination()
Simplify calling so that it is only called in two ways:
1) Immediately before 3-axis mag fusion if not called since the last earth field covariance reset so that the earth field declination information can be formed.
2) Immediately after 3-axis mag fusion otherwise.
2019-01-31 09:53:57 -05:00
Paul Riseborough d52f53635b EKF: Save mag field covariance data before reset 2019-01-31 09:53:57 -05:00
Paul Riseborough 82ce7a83a5 EKF: Save mag field covariance information on startup 2019-01-31 09:53:57 -05:00
Paul Riseborough 708c79eb8f EKF: Ensure mag field state covariance data is always available for re-use
Prevents use of  _saved_mag_ef_covmat and _saved_mag_bf_variance before being initialised or when stale.
2019-01-31 09:53:57 -05:00
Paul Riseborough 8839e4e1f4 EKF: Don't discard declination certainty information when resuming 3-axis fusion.
In the case where the EKF is switching between 3-axis and heading fusion, off-diagonal elements containing the correlation between N,E  components of the earth field were being lost on each switch event. These elements contained information about the declination uncertainty and should be preserved.
2019-01-31 09:53:57 -05:00
Paul Riseborough 25148e1b45 EKF: Prevent rapid changes in declination estimate after a reset
Ensures that each time the earth field covariance and variance data is reset, that the off-diagonal elements containing earth field declination angle certainty is restored.
2019-01-31 09:53:57 -05:00
CarlOlsson 6e7c119b31 EKF: limit yaw variance increase to 0.01 rad^2 to prevent a badly conditioned covariance matrix
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-01-31 09:53:57 -05:00
CarlOlsson 0896f7b9bd EKF: Also fill in lower part of covariance matrix in increaseQuatYawErrVariance()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-01-31 09:53:57 -05:00
Paul Riseborough 4b3140e5f7 EKF: Fix rebase error 2019-01-31 09:53:57 -05:00
Paul Riseborough 911d4d8f49 EKF: Fix sign error in increaseQuatYawErrVariance function 2019-01-31 09:53:57 -05:00
Paul Riseborough a0b9cb002e EKF: Use consistent method for recording completion of in-flight yaw alignment 2019-01-31 09:53:57 -05:00
Paul Riseborough ef5a87c1d4 EKF: Rework quaternion yaw reset.
Use a new method that preserves the roll and pitch information and adds the uncertainty for yaw only.
Ensure that correlation information to non-quaternion states is removed when a reset occurs to prevent fusion of subsequent observations (e.g. GPS) causing incorrect yaw.
2019-01-31 09:53:57 -05:00
Paul Riseborough fc2a089823 EKF: Add function to un-correlate quaternion states
This is necessary after a quaternion reset to prevent incorrect attitude corrections with subsequent observation fusions.
2019-01-31 09:53:57 -05:00
Paul Riseborough bce1b96d17 EKF: Add function enabling yaw variance to be increased 2019-01-31 09:53:57 -05:00
Paul Riseborough bf1f3a224e EKF: Derive equations enabling yaw variance to be increased 2019-01-31 09:53:57 -05:00
Daniel Agar 115c31451c SITL use EKF2_MAG_TYPE default value 2019-01-31 09:23:12 -05:00
Anthony Lamping 4821885b03 CI: test: alphabetize args 2019-01-31 09:16:18 -05:00
Anthony Lamping 0fafa9dea7 CI: test: set verbose true 2019-01-31 09:16:18 -05:00
Daniel Agar 81eabc1903 Jenkins update all containers to latest tag 2019-01-28 2019-01-31 08:06:00 +11:00
mcsauder 9d67bbc328 Standardized/updated copyright file headers in the src/systemcmds/tests/ directory. 2019-01-30 14:25:18 -05:00
Daniel Agar 40e42a677b NuttX cmake support optional compressed defconfigs 2019-01-30 10:54:53 -05:00
Beat Küng 2f4f4c6623 px4_module: explicitly call the constructor of _task_should_exit
Workaround for a GCC bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58930)
Triggered with the bebop toolchain.
2019-01-30 10:24:06 -05:00
Beat Küng 481bfc6308 px4_module: use px4_atomic_t 2019-01-30 10:24:06 -05:00
Beat Küng b6e2ac74de px4_atomic: add an atomic interface based on GGC's builtin atomics 2019-01-30 10:24:06 -05:00
Daniel Agar a5e6191ba7 EKF add clarity brackets to avoid potential confusion
- fixes https://github.com/PX4/ecl/issues/555
2019-01-30 09:15:53 -05:00
Julian Oes 027d7e632e sitl_multiple_run.sh: fix port description
This has changed as we changed to TCP with the lockstep implementation.
2019-01-30 09:51:30 +01:00
Daniel Agar 8dc0509989 mpu9250: split icm20948 support out into new separate driver 2019-01-30 09:29:08 +01:00
Daniel Agar d02685c9f7 cmake nuttx .px4 package fix dependency location 2019-01-29 15:34:36 -05:00
Daniel Agar 489ea68b8d ROMFS fix pruned dependency and cleanup 2019-01-29 15:34:36 -05:00
Daniel Agar 298049b0fb px4_fmu-v4_stackcheck sync with default and increase pmw3901 main stack 2019-01-29 14:14:29 -05:00
David Sidrane 6f9a9b3d2c px4_fmu-v4: add runtime external SPI4 detection to support pmw3901 (#11301)
* The build is built with SPI4. At run time the signal GPIO_8266_GPIO2 it tested. If it is low the SPI4 is configured. If it is high SPI4 is not configured.
 * board_common: Add Notion of Board has bus manifest
2019-01-29 13:44:15 -05:00
David Sidrane 53a127beb9 Oversampling rate for MPL3115A2 pressure sensor (#11332)
As reported by @LeoMustafaNXP in https://github.com/PX4/Firmware/issues/11296
2019-01-29 11:41:58 -05:00
Anthony Lamping 22fe083666 Jenkins: bypass entrypoint temporarily (#11329)
* Jenkins: no SITL entrypoint for now
* Jenkins: complile - no snapdragon eagle entrypoint for now
2019-01-29 09:48:24 -05:00
Matthias Grob cdb6aca6bd mc_pos_control: refactor spoolup time naming 2019-01-29 10:02:48 +01:00
Matthias Grob 43fb84a63b mc_pos_control: make sure task gets started after idle delay 2019-01-29 10:02:48 +01:00
mcsauder dc5f18bdcd ToneAlarm class refactoring to implement an interface for hardware specific methods and a single ToneAlarm class. 2019-01-28 18:58:04 -08:00
Daniel Agar 0f386ee52a update all docker containers to latest 2019-01-27
- Jenkins compile drop arch until container is updated and maintained
 - clang-tidy disable for now, the new version isn't respecting the existing configuration
2019-01-28 13:08:58 -05:00
TSC21 c2e48f45ab Jenkins CI: ROS msgs: rollback branch naming 2019-01-28 14:00:21 +01:00
TSC21 c0a4185317 Jenkins CI: ROS msgs: replace GIT_BRANCH with BRANCH_NAME 2019-01-28 14:00:21 +01:00
TSC21 de917bae6d uorb_to_ros_msgs: delete all messages on the out dir first, so it can also consider message deletions on the input dir 2019-01-28 14:00:21 +01:00
TSC21 5c17a0b205 Jenkins CI: ROS msgs: clone by branch 2019-01-28 14:00:21 +01:00
TSC21 be2e1edbe2 Jenkins CI: ROS msgs: update stage name 2019-01-28 14:00:21 +01:00
TSC21 1dcb429d2d ROS msgs: add testing branch 2019-01-28 14:00:21 +01:00
TSC21 84c6e07c5c uorb_to_ros_msgs: only create dir if it doesn't exist 2019-01-28 14:00:21 +01:00
TSC21 a07bcc499a ROS msgs: remove redundant step 2019-01-28 14:00:21 +01:00
TSC21 4b1053d212 Jenkins: set autobuild and deploy for generating px4_msgs repo ROS msg definitions files 2019-01-28 14:00:21 +01:00
mcsauder cced80edf9 Correct the mpu6000 temperature correction scalar value to match the datasheet. 2019-01-28 12:48:03 +01:00
Alessandro Simovic 6e5bd1ad70 commander: remove duplicate includes 2019-01-28 12:05:36 +01:00
Alessandro Simovic fc2fbf5e72 fmu: added missing include 2019-01-28 12:05:36 +01:00
TSC21 78130574a3 uorb_rtps_classifier: add the capability to receive absolute and relative paths 2019-01-28 09:42:16 +01:00
TSC21 8da1ff4cff generate_microRTPS_bridge: add the capability to receive absolute and relative paths 2019-01-28 09:42:16 +01:00
TSC21 4ec40049ce micrortps_bridge: pass absolute path for yaml file and urtps templates 2019-01-28 09:42:16 +01:00
Matthias Grob bda60ecfd6 posix main: hotfix for px4 application not exiting anymore
Some threads do not exit and are still running when
trying to exit SITL running under Windows in Cygwin.

This problem was introduced with:
- posix shell #10173 because of strating a child process
for the startup script and mixing up the signal handling
(only Ctrl+C broken)
- lockstep #10648 because of simulator threads not
stopping gracefully anymore with timing race conditions
(no graceful exit possible anymore)

I leave the SIGINT handler on its default implementation for
Cygwin which kills the process and all its threads when pressing
Ctrl+C.

This hotfix at least allows the usage of Ctrl+C again instead
of forcing the user to use the task manager to shut down
px4.exe going crazy on CPU load instead of exiting
everytime.
2019-01-28 09:38:49 +01:00
Angel 7097c0a1b8 Fixed small bug in batch_process_metadata_ekf.py 2019-01-28 08:09:26 +01:00
Daniel Agar e89779364e Jenkins update px4-dev-base to 2019-01-26 2019-01-27 21:10:48 -05:00
Daniel Agar 23617fb880 px4_fmu-v2_default disable constained flash options 2019-01-27 19:48:38 -05:00
Daniel Agar 739a02022b position_estimator_inav: move to examples (start deprecation) 2019-01-27 22:15:39 +01:00
Daniel Agar 9ffacb1d22 av-x board disable CONFIG_MTD 2019-01-27 11:01:13 -05:00
Matthias Grob 573dd89cbf PositionControl: addess @bkueng 's comment in #11056 2019-01-26 14:53:15 +01:00
Matthias Grob f9ec0cd5ea LandDetector: use vertical velocity estimate for threshold
instead of the derivative of the vertical position which is
not the same value when using the ekf2 estimation.

Using the position derivative resulted in delayed landing because
the value for some reason often bumped over the theshold before
slowly converging towards zero while the velocity was within expected
accuary in all these cases.
2019-01-26 14:53:15 +01:00
Matthias Grob d5903853df mc_pos_control: shut down vertical thrust with ground contact 2019-01-26 14:53:15 +01:00
PX4 Build Bot 98148aad34 Update submodule micro-CDR to latest Sat Jan 26 00:38:18 UTC 2019
- micro-CDR in PX4/Firmware (e0680ffe2280620b81d415328f109dc8decaa1b8): https://github.com/eProsima/micro-CDR/commit/7a76880f90dfe702f4fa1723e22d1dcb491d7b9e
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/62d95c870eafb0cccc7bf70bb8a0cbb86f125a0e
    - Changes: https://github.com/eProsima/micro-CDR/compare/7a76880f90dfe702f4fa1723e22d1dcb491d7b9e...62d95c870eafb0cccc7bf70bb8a0cbb86f125a0e

    62d95c8 2019-01-24 Luis Enrique Muñoz Martín - Refs #4438. Modified the configuration of machine endianness. (#31)
2019-01-26 08:46:19 +00:00
Matthias Grob 504372f551 MAVLink: RC_CHANNELS_OVERRIDE generate correct RC channel count (#11219)
* mavlink_receiver: generate rc channel count
* mavlink_receiver: zero out ignored rc channels, add comments
2019-01-25 12:15:01 -05:00
Alessandro Simovic 5bcd7c0a0d Capitalizing/improving warning messages 2019-01-25 11:58:17 -05:00
Alessandro Simovic 0bb5345306 removed unnecessary new-lines 2019-01-25 11:58:17 -05:00
Alessandro Simovic 0c129274af Fixing a few headers 2019-01-25 11:58:17 -05:00
Alessandro Simovic 4ead3b20e5 Fixing some typos 2019-01-25 11:58:17 -05:00
Daniel Agar 38e3da535f boards/ delete unused stm32 nucleo-F767ZI example 2019-01-25 11:25:27 -05:00
Daniel Agar 9ae61b7775 boards/ delete unused stm32f4discovery example 2019-01-25 11:25:27 -05:00
Daniel Agar 1f4c3fedba deprecate samv7 support and atmel same70xplained board 2019-01-25 10:54:53 -05:00
Daniel Agar 71f73adf62 README - remove Coverity badge
Coverity scan has been offline since Monday, January 7, 2019.
2019-01-25 10:14:26 -05:00
David Sidrane b478719079 omnibus_f4sd:Fully remove console 2019-01-25 06:32:37 -08:00
David Sidrane dc73dd7bba px4_init:Nuttx support boards without a console 2019-01-25 06:32:37 -08:00
Daniel Agar c62956ccab av_x-v1 remove mtd driver 2019-01-25 06:32:37 -08:00
David Sidrane 1ef9b5ed81 Updated Nuttx 7.28+ 2019-01-25 06:32:37 -08:00
Daniel Agar d49f6a3aca mavlink increase STACK_MAIN and STACK_MAX
- needed if NuttX networking enabled
2019-01-25 06:32:37 -08:00
David Sidrane a4841a7179 thiemar_s2740vc-v1: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 477bf384d7 stm_nucleo-F767ZI: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 74898569a0 stm_32f4discovery: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 0f5f4814bb px4_fmu-v5: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 7e863456c4 px4_fmu-v4pro: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 938f1453fe px4_fmu-v4: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 9430854404 px4_fmu-v3: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane b31f29b983 px4_fmu-v2: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 09d279b1e0 px4_esc-v1: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 3032643a0c omnibus_f4sd: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane f943aa5d26 px4_cannode-v1:Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 122519c95f nxp_fmuk66-v3: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 6e63985a10 intel_aerofc-v1: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 9294766658 gumstix_aerocore2: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 48f9d3f3d9 bitcraze_crazyflie: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 47e16e75f2 av_x-v1: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 6872c6900e auav_x21: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 34aabed5e5 auav_esc35-v1: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane e7f8042e90 atmel_same70xplained: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 55559bc72c airmind_mindpx-v2: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane 2d7effa342 px4_io-v2: Inital commit NuttX 7.27+ 2019-01-25 06:32:37 -08:00
David Sidrane cf09a8e933 px4_micro_hal:Upstream nuttx GPIO_OUTPUT_ZER0->GPIO_OUTPUT_ZERO 2019-01-25 06:32:37 -08:00
David Sidrane 3f0c9d5df5 px4_micro_hal:Fix typo 2019-01-25 06:32:37 -08:00
David Sidrane 517add3c8c auav_esc31-v1:Fix build 2019-01-25 06:32:37 -08:00
David Sidrane 869e476af9 uavcanesc:Add cdev 2019-01-25 06:32:37 -08:00
David Sidrane 0cc3bfb10b flashfs:Track upstream nuttx CONFIG_ARCH_HAVE_PROGMEM
Upstream header file is conditional on CONFIG_ARCH_HAVE_PROGMEM
2019-01-25 06:32:37 -08:00
David Sidrane 8f308efa88 upstram NuttX CONFIG_EXAMPLES_NSH_CXXINITIALIZE->CONFIG_SYSTEM_NSH_CXXINITIALIZE 2019-01-25 06:32:37 -08:00
David Sidrane 5c23099eed board_button_irq: API change in upstream 2019-01-25 06:32:37 -08:00
David Sidrane f007c93785 mc_pos_control_main:Use discret init of poll struct
Suport upstream change in nuttx.
2019-01-25 06:32:37 -08:00
David Sidrane 78619514b7 ROMFS/CMakeLists build gencromfs 2019-01-25 06:32:37 -08:00
David Sidrane e7bf0e03d2 px4_nuttx_tasks:Support future removal of env.
CONFIG_DISABLE_ENVIRON can prevent task having to allocate
   memory for the env.
2019-01-25 06:32:37 -08:00
David Sidrane 88d0b163b5 common:board_crashdump must end in reset!
Upstream changes defer the board reset based on the vaule of
   CONFIG_BOARD_RESET_ON_ASSERT
      0 (or not defined) Do not reset on assert
      >= 1 reset if assertion is in an interrupt handler or the idle task
      >= 2 on any asertion.

  up_assert is called from up_hardfault or an asertion failure.
  Part 1 of up_assert will call out to the board_crashdump
  Part 2 on return from board_crashdump will then perform
  the reset.

  board_crashdump needs a chunk of ram to save the complete
  context in. It uses  &_sdata which is the lowest memory and
  it will corrupt that memeory.  We can therfore can not allow
  return to the OS, as it could depend on that area of RAM.

  So all boards need to do a reset at the end of board_crashdump
2019-01-25 06:32:37 -08:00
David Sidrane e358486ef7 aerofc-v1:Scope CRASHDUMP_RESET_ONLY to BOARD_CRASHDUMP_RESET_ONLY 2019-01-25 06:32:37 -08:00
David Sidrane 91d8c31f7b Custom board naming, removed need for tools/nuttx_defconf_tool.sh 2019-01-25 06:32:37 -08:00
David Sidrane 5036a09e22 Add support from cromfs generation 2019-01-25 06:32:37 -08:00
David Sidrane f2208171d5 Add callout for CONFIG_BOARDCTL_FINALINIT 2019-01-25 06:32:37 -08:00
David Sidrane d122a35606 Add STM32 critical section monitor time resources 2019-01-25 06:32:37 -08:00
David Sidrane f00d633196 flashfs:Upstream renamed up_progmem_erasepage to up_progmem_eraseblock 2019-01-25 06:32:37 -08:00
David Sidrane 1f54214224 stm32/drv_io_timer:GTIM_CCER_CC1NP not on all STM32 HW
The F1 series GTIMs to not have GTIM_CCER_CC1NP.
   This bug fix tracks the upstream change that
   made GTIM_CCER_CC1NP conditional on the chip.
2019-01-25 06:32:37 -08:00
David Sidrane 7ba81fac4b Build copies the boards nuttx-config to build at Nuttx level 2019-01-25 06:32:37 -08:00
David Sidrane d294b40fcb Changes to suport Nuttx c++ lib rename 2019-01-25 06:32:37 -08:00
David Sidrane e505fe859d Update Nuttx and NuttX-apps to 7.28+ 2019-01-25 06:32:37 -08:00
Beat Küng 3859bbb3b0 px4io mixer: fix atomic access to system_state.fmu_data_received_time
system_state.fmu_data_received_time can be set from an IRQ handler, thus
we need to ensure every read access to it in mixer_tick is atomic.
So we read it once and copy it into a local variable.
2019-01-25 07:53:37 +01:00
Beat Küng 74a3c378b2 drv_hrt: inline hrt_elapsed_time
GCC did not do that.
2019-01-25 07:53:37 +01:00
Daniel Agar 2ffb49b734 delete px4_includes.h header and update boards/ to use syslog 2019-01-23 18:25:18 -05:00
Daniel Agar 376e078c24 platforms delete PX4_ROS and obsolete headers 2019-01-23 18:25:18 -05:00
Daniel Agar 67e5986c9b delete obsolete examples/subscriber 2019-01-23 18:25:18 -05:00
Daniel Agar 693ee4808a delete obsolete examples/publisher 2019-01-23 18:25:18 -05:00
Matthias Grob be108a33f8 mission_params: remove MIS_YAWMODE reference
This parameter was removed in d704a2d675 and should
not be referenced anymore.
2019-01-23 22:08:32 +01:00
PX4 Build Bot cc68775def Update submodule jMAVSim to latest Wed Jan 23 00:37:45 UTC 2019
- jMAVSim in PX4/Firmware (3a7deefe6e): https://github.com/PX4/jMAVSim/commit/5150bbab6ea3e13907d2ff9eadd2c293d2477d49
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/00bdf6d92b6a8678f5b683a3ebca9e52e88cb5ce
    - Changes: https://github.com/PX4/jMAVSim/compare/5150bbab6ea3e13907d2ff9eadd2c293d2477d49...00bdf6d92b6a8678f5b683a3ebca9e52e88cb5ce

    00bdf6d 2019-01-21 Beat Küng - jMAVLib: update submodule
2019-01-23 08:23:25 +01:00
Daniel Agar 6feee70570 move SYS_STCK_EN to src/modules/load_mon 2019-01-23 08:23:03 +01:00
Daniel Agar 843443248e move modules/systemlib to lib/systemlib 2019-01-23 08:23:03 +01:00
dvornikov-aa ce0dd41a11 LPS22HB: Fix invalid driver reset (I2C bus) 2019-01-22 20:11:58 -05:00
Lorenz Meier 3a7deefe6e IO firmware: Run critical timing operations as atomic
This is required as we might be in interrupt context on this bare-metal target.
2019-01-22 23:52:57 +01:00
Lorenz Meier 46390a1508 HRT: Drop volatile specifier from function call for non-atomic mode
This allows the compiler to optimize better without loosing any performance / accuracy.
2019-01-22 23:52:57 +01:00
Lorenz Meier 502cd987ee SD Bench: No need for atomic timing
This leads to less jitter in the benchmark
2019-01-22 23:52:57 +01:00
Lorenz Meier bca0f7925c SAMv7: Add atomic and non-atomic HRT calls
This reduces interrupt load significantly.
2019-01-22 23:52:57 +01:00
Lorenz Meier 27cae912d1 Kinetis: Add atomic and non-atomic HRT calls
This reduces interrupt load significantly.
2019-01-22 23:52:57 +01:00
Lorenz Meier c6718a5bca Posix: Add initial stub for atomic HRT
The actual implementation is not atomic, as the value on the application layer would be limited.
2019-01-22 23:52:57 +01:00
Lorenz Meier ec0a9806a8 uORB test: Retain atomic operation 2019-01-22 23:52:57 +01:00
Lorenz Meier 01b7a11255 SD bench: Retain atomic operation.; 2019-01-22 23:52:57 +01:00
Lorenz Meier f21bc89a90 Unit tests: Retain atomic operation
This ensures we get absolutely accurate timing.
2019-01-22 23:52:57 +01:00
Lorenz Meier b7bcec2d8c HRT: Create new separate call for atomic HRT elapsed time calculation
This call rarely needs to be truly atomic and the involved CPU overhead in making it atomic was unnecessary and introduces a lot of IRQ jitter with no value-add. The call has been moved to be non-atomic and the codebase will be inspected and changed in follow-up commits for the few instances where it is truly needed.
2019-01-22 23:52:57 +01:00
Daniel Agar 320d2e9383 create PX4 platform layer initialization helper (#11269)
- starts requirements for PX4 modules (hrt, param, etc)
2019-01-22 14:13:20 -05:00
Daniel Agar 65fe3ce5d3 px4_fmu-v2_default temporarily disable sf0x
- can be reenabled after #11256 is merged
2019-01-22 17:23:16 +01:00
bresch df58e161d1 Trajectory auto - Handle EKF xy reset 2019-01-22 17:23:16 +01:00
bresch a2d5485c7f Trajectory manual - Handle EKF xy reset 2019-01-22 17:23:16 +01:00
Julian Oes e1472818dc mavlink_mission: round lat/lon
This avoids casting errors. An alternative to `std::round` would be to
add 0.5 before casting for positive values and subtract 0.5 before
casting for negative values.
2019-01-22 09:49:24 -05:00
SalimTerryLi d4c87132e4 board raspi (vanilla): simply added two lines to pass the compile 2019-01-22 07:45:48 -05:00
PX4 Build Bot b104b55cec Update submodule matrix to latest Mon Jan 21 20:57:42 UTC 2019
- matrix in PX4/Firmware (31bd46d2ed700b2da9fc314e9b87d9b683a66606): https://github.com/PX4/Matrix/commit/18fba8221cc1840964c43f04d8c2aa21857e1b9b
    - matrix current upstream: https://github.com/PX4/Matrix/commit/6b0777d815cd64902eb0575d56ec52f53aebb4a0
    - Changes: https://github.com/PX4/Matrix/compare/18fba8221cc1840964c43f04d8c2aa21857e1b9b...6b0777d815cd64902eb0575d56ec52f53aebb4a0

    6b0777d 2019-01-21 Daniel Agar - stdlib_imports cinttypes currently unavailable in NuttX toolchain (#79)
2019-01-21 16:58:36 -05:00
Daniel Agar ce5fbc7751 mavlink simple analyzer remove <limits> usage
- <limits> isn't available in the NuttX c++ standard library
2019-01-21 09:27:10 -05:00
Daniel Agar 572d1cefe8 test_mixer remove <limits> usage
- <limits> isn't available in the NuttX c++ standard library
2019-01-21 09:27:10 -05:00
Daniel Agar 6b0777d815 stdlib_imports cinttypes currently unavailable in NuttX toolchain (#79) 2019-01-21 09:12:36 -05:00
Daniel Agar 755eb6a2e9 Update submodule mavlink v2.0 to latest Mon Jan 21 00:38:11 UTC 2019
- mavlink v2.0 in PX4/Firmware (ee517afb7c8b34e88daf656834a3315be72a4f40): https://github.com/mavlink/c_library_v2/commit/339abb5f4c20865ea67dd417b099e3f54683a2ad
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e302e1b735e47e9d33c3bad579dd7c6c089c1bb3
    - Changes: https://github.com/mavlink/c_library_v2/compare/339abb5f4c20865ea67dd417b099e3f54683a2ad...e302e1b735e47e9d33c3bad579dd7c6c089c1bb3
2019-01-20 20:15:12 -05:00
Lorenz Meier b719033d02 MK BL CTRL: Fix startup routine to be compliant with signature. 2019-01-20 10:29:13 -05:00
Daniel Agar 652c9dfc49 containers/Array.hpp cleanup and remove data initialization 2019-01-20 12:03:53 +01:00
Daniel Agar 7008558fac drivers/distance_sensor replace std::vector usage with px4::Array 2019-01-20 12:03:53 +01:00
Daniel Agar edeb59a8c3 move logger array.h -> containers/Array.hpp 2019-01-20 12:03:53 +01:00
Daniel Agar 939413fa06 Probot attempt to fix configuration (#11243) 2019-01-19 14:13:58 -05:00
Daniel Agar 1ec08ec6bd Jenkins more aggressively discard large builds 2019-01-19 12:37:05 -05:00
Daniel Agar 95eff33263 GPS increase task stack 1530 -> 1600 bytes 2019-01-18 12:07:28 -05:00
Dave Royer f537c98ca2 ulanding radar: update driver for new 2nd gen hardware (#11035) 2019-01-18 12:06:34 -05:00
Daniel Agar 658d734068 param add status 2019-01-18 11:50:37 -05:00
Daniel Agar 84724d5e1d param show default only active parameters
- add -a option to display all possible system parameters
2019-01-18 11:50:37 -05:00
Daniel Agar 1ded189f58 ROMFS rcS execute (optional) rc.board_defaults after AUTOCNF set 2019-01-18 11:23:01 -05:00
Daniel Agar 52c848a556 mpu6000 split into separate main, header, implementation 2019-01-18 10:39:15 -05:00
Daniel Agar d299d439c6 mpu6000 use new PX4Accelerometer and PX4Gyroscope classes 2019-01-18 10:39:15 -05:00
Daniel Agar 91dcfb7ab2 PX4 sensor driver helpers 2019-01-18 10:39:15 -05:00
bresch a2e9d9ffce AutoSmoothVel - Handle NAN in velocity and position properly 2019-01-17 17:55:37 +01:00
Beat Küng ef54bff4ed vmount: avoid reading uninitialized value
matrix::Quatf() calls sinf(), which caused a valgrind warning
2019-01-17 09:39:30 +01:00
Beat Küng 85e59c210d mc_pos_control: fix uninitialized member _old_landing_gear_position 2019-01-17 09:39:30 +01:00
Anna Dai 721f5e61a5 increase optical flow buffer to imu buffer length 2019-01-17 10:23:15 +11:00
Anna Dai 44200e9649 add GPS drop out case to GPS fusion logic
EKF waits 10s after GPS signal is lost before setting GPS control status flag to false. As the position information given by the alternative position sources drifts from the last GPS position, the controller over corrects.
With this update, the time horizon until GPS control flag set to false is reduced and only alternative position source is used for estimation.

tested with optical flow as position souce

log from as is https://review.px4.io/plot_app?log=d624af5e-dde4-40ab-ba5b-a693a49f5a36

log with update https://review.px4.io/plot_app?log=13ed6dc3-22dd-43f8-b898-4add41d60439
2019-01-17 10:23:15 +11:00
Matthias Grob 7b9cfac767 mc_pos_control: change use avoidance to handle data loss during mission
There were accidents because when missions lead through an obstacle
and it should be avoided but the setpoints from the external obstacle
avoidance module are suddenly missing the mission is continued into the
obstacle which results in a crash.
2019-01-16 19:13:05 +01:00
Matthias Grob a563092742 mc_pos_control: add Loiter/Hold mode to possible failsafe commands 2019-01-16 19:13:05 +01:00
Matthias Grob b018a6088d mc_pos_control: refactor OA setpoints out of PositionControl calls 2019-01-16 19:13:05 +01:00
Daniel Agar c319ea7189 boards sync fmu-v2 sensors start with fmu-v3 2019-01-15 23:52:46 -08:00
Daniel Agar fef65bf5c8 ROMFS split rc.board into defaults, sensors, and extras 2019-01-15 23:52:46 -08:00
Beat Küng d8ab059ff3 cm8jl65: add comment which CRC is used 2019-01-15 09:19:52 +01:00
Claudio Micheli 8a313ffc26 Applied code-review suggestions.
- Removed blocking serial.
- Added passing variables by reference to parser.
- Removed commented code.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli d1da46ef46 Added generic UART configuration.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli ca0cd27c6b Formatted code.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 7124cbf3af Fixed CI broken build. Made TELEM2 default port.
Device port can be set via SENS_EN_CM8JL65 parameter:
SENS_EN_CM8JL65 = 0 -> Disabled
SENS_EN_CM8JL65 = 1 -> Enabled on TELEM2
SENS_EN_CM8JL65 = 2 -> Enabled on TELEM1

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli e4381bfc87 Added sensor enable/disable parameter (SENS_EN_CM8JL65).
Disabled by default.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 46c5a79b57 Renamed files according to distance sensor hardware.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli aee6a83fe0 Code Cleanup. Added configuration notes.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli c5fece6568 Redefined reading strategy from serial to get the latest available data.
First "stable" version of the driver.

TODO: - Cleanup the code
      - Bench test (compare data with IMU)
      - Flight Test

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 39ed84b5cd Debugging printf.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 5d70ac7fd9 Removed dismissed folder.
TODO : Adjust work_queue rescheduling (to always have a 10Hz cycle)

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli b0ac8fe963 Removed blocking "while" cycle to access serial port.
Serial is now cycled with work_queue rescheduling if some bytes are missing.

TODO: - Fix occasional sensor spikes (can be identified with crc)
      - Clean up the code
      - disable debug printf


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 93b3cf241b Renamed driver folder.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli dd300dca0a Solved frequency rate issue. Now driver publish at ~10Hz.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 4b7be38e67 Added uORB publishing.
TODO: Need to fix driver cycling.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 700fd5652d Added parsing function. Everything works OK.
TODO:
- Clean up the code
- Add uORB publishing messages

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Claudio Micheli 591e8fde5d Initial commit. Integrated new distance sensor hardware.
TODO: Parsing the data

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-01-15 09:17:24 +01:00
Daniel Agar 63097bd8a1 mavlink sort message defaults and float literal consistency 2019-01-14 14:46:13 -05:00
Matthias Grob 1e14b10dee simulator_mavlink: take care of battery percentage rounding errors
In 5bb9babc20 I made MAVLink send a
rounded up integer instead of rounded down. This makes sense in practice
because the low battery reactions happen exactly when the reported number
switches in the UI. But here we want to provoke an exact 50% in the UI so
we stop counting at 49.9%, it get's rounded up and we see the expected
result.
2019-01-14 19:30:36 +01:00
Matthias Grob a89e550f3c simulator_mavlink: switch battery max and min to fix simultion
In 3e6e1f5c2b the simulated battery
percentage was reversed. I'm assuming because of the possibly
missleading variable name. Now I'm fixing it by switching the
maximum and minimum voltage such that the name is not misleading anymore
but it still works as expected.
2019-01-14 19:30:36 +01:00
bresch 766f911005 beta75 - Reduce MC_YAWRATE_P to avoid oscillations when battery is fully charged 2019-01-14 18:38:31 +01:00
bresch 118848d261 beta75 - Adjust PWM_MIN and set number of cells 2019-01-14 18:38:31 +01:00
Jacob Dahl 29f034c53e mpu9250 fix hardfaults if attempting to start an already running driver (#11190)
* removed bus options that were essentially duplicates, causing hardfaults if attempting to start an already running driver. Changed NULL to nullptr. Removed bus options that were unused
* removed condition from if statement that was unnecessary
* fixed style
2019-01-14 09:59:36 -05:00
Beat Küng 4bc59092f4 lockstep_scheduler cmake: spaces -> tabs 2019-01-14 11:08:48 +01:00
Beat Küng 2a47715385 refactor lockstep_scheduler: fix class member naming convention 2019-01-14 11:08:48 +01:00
Beat Küng 828e31d3a9 lockstep_scheduler: optimize performance
- use a linked-list instead of std::vector. Insertion and removal are now
  O(1)
- avoid malloc and use a thread_local instance of TimedWait.
  It gets destroyed when the thread exits, so we have to add protection
  in case a thread exits too quickly. This in turn requires a fix to the
  unit-tests.
2019-01-14 11:08:48 +01:00
Beat Küng b6ba7b655a sitl_run.sh: fix for debugger & valgrind invocation: use eval
Because $sitl_command contains quotes
2019-01-14 11:08:48 +01:00
Beat Küng beac53d775 cdev_platform: remove unused code (sim_delay) 2019-01-14 11:08:48 +01:00
Beat Küng ecbe2a3e0b drv_hrt posix: improve performance for hrt_absolute_time()
Previously hrt_absolute_time() was at around 5% of the total CPU usage, now
it's around 0.35%.
2019-01-14 11:08:48 +01:00
Beat Küng ccefc640ac drv_hrt posix: remove unused code and remove locking from hrt_absolute_time 2019-01-14 11:08:48 +01:00
Beat Küng 5f0e6d70c5 lockstep_scheduler: use a static lock in usleep_until
less function calls
2019-01-14 11:08:48 +01:00
Beat Küng e8cbc49f7a lockstep_scheduler: remove timed_waits_iterator_invalidated_
Not required, since the lock is held during the whole loop iteration.
2019-01-14 11:08:48 +01:00
Beat Küng 8cdb65eed9 lockstep_scheduler: simplify LockstepScheduler::cond_timedwait & reduce locking
- the loop is not needed
- we optimize for the fast case and lock only if really needed
2019-01-14 11:08:48 +01:00
Beat Küng 318499f56e lockstep_scheduler: inline get_absolute_time()
This is a small method that is used a lot.
2019-01-14 11:08:48 +01:00
CarlOlsson 8a813c57ec EKF: fix comment typo 2019-01-14 09:57:44 +11:00
CarlOlsson 472f2286b7 EKF: initialize covariances before we reset the heading in order to preserve the yaw uncertainty
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-01-14 09:57:44 +11:00
CarlOlsson 490888285d EKF: Remove flag prefix
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-01-13 23:48:46 +01:00
CarlOlsson d223680197 EKF: add flt_mag_align_complete to control_status flags
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-01-13 23:48:46 +01:00
Daniel Agar 29a0950753 Update submodule mavlink v2.0 to latest Sat Jan 12 07:37:26 EST 2019
- mavlink v2.0 in PX4/Firmware (4787cabae6fcf55ef0f8bf19b0009de593c844db): https://github.com/mavlink/c_library_v2/commit/90d9b285e01fe8bfa3b4e8868ca71c5537d43302
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/339abb5f4c20865ea67dd417b099e3f54683a2ad
    - Changes: https://github.com/mavlink/c_library_v2/compare/90d9b285e01fe8bfa3b4e8868ca71c5537d43302...339abb5f4c20865ea67dd417b099e3f54683a2ad
2019-01-12 10:20:02 -05:00
Daniel Agar 45d7165eb3 fw_pos_control_l1 skip wind > max airspeed logic if airspeed invalid
- cleanup airspeed validity check logic
2019-01-12 14:19:53 +01:00
Julian Oes 2e3fa30c83 sitl_gazebo: update to revision that doesn't abort on timeout (#11196)
* this should fix the CI failures where we intermittently saw SIGABRT. (fixes #11144)
2019-01-11 10:23:16 -05:00
Jacob Dahl f6175605cd px4_fmu-v4 init: Do not start mavlink stream on ttyS0 for the TealOne airframe
* We have RAM problems and can't afford 4 mavlink instances. This only adds logic the rc.board for the fmu-v4 that only has an effect for SYS_AUTOSTART = 4250 (TealOne airframe).
2019-01-11 10:21:51 -05:00
Daniel Agar 92ca26b111 mpu9250 fix code style 2019-01-09 10:27:19 -05:00
Florian Olbrich fb386580b8 Fixed failure notices on mpu9250 startup by adding back device probing on I2C interface init. 2019-01-09 09:54:45 -05:00
Florian Olbrich 280a60c86f Fixed unreliable ICM20948 detection.
Fixed ICM20948 magnetometer only option.
Specified bus for internal mpu9250 on Pixhawk 2.1 to avoid premature detection of
other device.
2019-01-09 09:54:45 -05:00
Beat Küng c2f82b5996 logger: disable mission log by default (SDLOG_MISSION=0)
- I enabled it by default mostly for testing purposes
- Disabling it reduces resource usage as most setups don't need it
2019-01-09 08:59:29 -05:00
Kevin Lopez Alvarez 490eeeb9d9 RM3100: enable I2C (#11038) 2019-01-09 08:57:19 -05:00
Jake Dahl 1699c577c3 Fixed an issue with a local variable that should have been a member variable. Increased the P term to reduce rise time. Removed feedforward as it was not neccessary. Removed some custom commands that didn't serve much of a purpose. 2019-01-08 22:36:09 +01:00
AnnaDaiZH 3b3752b753 pmw3901 increase publish rate and max_ground_distance (#11066)
* increase pmw3901 publish rate and max_ground_distance
* set work queue to high priority
2019-01-08 14:25:39 -05:00
David Sidrane 5e53f73ad8 fmu-v5:Add Alias CUAV V5 REV:5, VER:1 2019-01-08 07:34:22 -08:00
Daniel Agar ea3a694ffe Update submodule mavlink v2.0 to latest Tue Jan 8 12:41:26 UTC 2019
- mavlink v2.0 in PX4/Firmware (613a5f5e172de071ebd96b4cb5313316a10f8023): https://github.com/mavlink/c_library_v2/commit/175ab6725cc0d96827d04ffeeaf3a7797a9abdbf
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/90d9b285e01fe8bfa3b4e8868ca71c5537d43302
    - Changes: https://github.com/mavlink/c_library_v2/compare/175ab6725cc0d96827d04ffeeaf3a7797a9abdbf...90d9b285e01fe8bfa3b4e8868ca71c5537d43302
2019-01-08 10:16:51 -05:00
Julian Oes b0dd55e80b jMAVSim: update submodule
This should fix:
- HITL regression (Init MAVLink forever).
- Starting using default arguments.
2019-01-08 09:49:47 -05:00
Dennis Mannhart 5887a2393c PositionControl: skip controller only if adjusted thrust setpoint are not finite
PositionControl: update comment about the order of thrust and position

mc_pos_control: reset setpoints to NAN if required

MulticopterLandDetector: consider to be landed if vehicle is not armed

mc_pos_control: initialize landing struct with landed

mc-pos-ctrl: adjust thrust-setpoint and yaw during ground-contact/maybe-landed without capturing
that information within vehicle-local-position-setpoint topic because that information
does not belong to user intention

PositionControl: set local position/velocity setpoint to NAN if not used in the control pipeline

mc-pos-ctrl: Fill vehicle_local_position_setpoint_s structure as follow:
The message contains setpoints where each type of setpoint is either the input to the PositionController
or was generated by the PositionController and therefore corresponds to the PositioControl internal states (states that were generated by P-PID).
Example:
If the desired setpoint is position-setpoint, _local_pos_sp will contain
position-, velocity- and thrust-setpoint where the velocity- and thrust-setpoint were generated by the PositionControlller.
If the desired setpoint has a velocity-setpoint only, then _local_pos_sp will contain valid velocity- and thrust-setpoint, but the position-setpoint
will remain NAN. Given that the PositionController cannot generate a position-setpoint, this type of setpoint is always equal to the input to the
PositionController.

mc_pos_control: switch to designated initializer for landed

It's less error prone because it produces an error on every discrepancy.
2019-01-08 15:36:30 +01:00
Hamish Willee 541b962654 CameraTrigger: Feedback fixes 2019-01-08 08:18:24 +01:00
Hamish Willee 68148c5fb4 Add camera trigger pwm params
Fix math::constrain usage

Fix second constraint
2019-01-08 08:18:24 +01:00
Daniel Agar e77c2cdfab Jenkins hardware test compare-sections properly 2019-01-07 15:12:30 -05:00
Daniel Agar 2a56eca910 Jenkins use px4_sitl_test build to run unit tests
- these only run if code coverage is enabled
2019-01-07 10:39:40 -05:00
TSC21 a78c9c4370 uorb_rtps_message_ids: for now, remove vehicle_global_position send 2019-01-07 12:46:36 +01:00
Beat Küng eda45b4df2 sbus: add time-based hardening (only for IO and NuttX)
Since SBUS does not have CRC, we can use timing information to improve
parsing reliability and reject unexpected bytes.
2019-01-07 10:17:37 +01:00
Beat Küng 4cd8fe0a30 sbus: simplify logic 2019-01-07 10:17:37 +01:00
Beat Küng 9ebd052ac7 sbus: remove unused variables & improve some comments 2019-01-07 10:17:37 +01:00
Daniel Agar 2251150875 uavcan include cstdint for fixed width integer types 2019-01-06 19:20:57 -05:00
Daniel Agar 60f2a92e3d replace <cfloat> with <float.h>
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05:00
Daniel Agar c0b464e9e2 replace <cinttypes> with <inttypes.h>
- <cinttypes> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05:00
Daniel Agar 195dbf4ab6 NuttX platform remove system (toolchain) stdc++ include path 2019-01-06 19:20:57 -05:00
Daniel Agar b920910483 replace <cfloat> with <float.h>
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 12:09:05 -05:00
Daniel Agar 542cd7f216 Jenkins move hardware testing to JLink debugger setup 2019-01-05 20:33:38 -05:00
Nuno Marques 8ae3f50095 CI: update container tags to '2019-01-01' (#11128) 2019-01-04 16:34:02 -05:00
Alessandro Simovic aa74aa2b80 CollisionPrevention: curly brace inits 2019-01-04 15:39:40 +01:00
Alessandro Simovic e1dcc46578 CollisionPrevention: consistent var init 2019-01-04 15:39:40 +01:00
Alessandro Simovic ae6ae47bed CollisionPrevention: unused var 2019-01-04 15:39:40 +01:00
Paul Riseborough c032126745 EKF: Fix bug causing incorrect yaw variance value to be used
This bug causes the variance of the Z axis rotation vector uncertainty to not be reset to the correct value.
2019-01-04 11:01:06 +01:00
karliss 6a33b797ac drv_hrt restore dsp_offset and remove unused qurt code (#11139)
- Fixes #11134
2019-01-03 14:58:53 -05:00
Daniel Agar caf26c78e3 rgbled_ncp5623c set main stack 1500 2019-01-03 10:32:49 -05:00
Paul Riseborough 48d83f3bcb EKF: Fix vulnerability to ground level mag anomally when using heading fusion (#544)
Previously, the reset of the yaw when climbing above 1.5m was not performed until 3-axis fusion was enabled. This could result in loss of navigation depending on the value of  EKF2_MAG_TYPE and the flight profile.
2019-01-03 09:41:55 -05:00
Jacob Dahl a492d1cfdb MPU9250 driver fix to preserve bus+device plug-and-play capabilities (#11020) 2019-01-03 08:10:23 -05:00
TSC21 3c246ce170 microRTPS: improve verbosity with the usage of px4_log types 2019-01-02 00:14:18 +00:00
TSC21 adbec90018 microRTPS: replace usleep() by px4_usleep() 2019-01-02 00:14:18 +00:00
TSC21 37e71a4d9d sitl: rtps.cmake: add tone_alarm_sim and ENABLE_LOCKSTEP_SCHEDULER 2019-01-02 00:14:18 +00:00
Daniel Agar 8c88aa6416 mavlink move simple getters to header and mark const 2019-01-01 22:21:02 +00:00
Daniel Agar f60bfd0020 mavlink add tx loop interval perf counter 2019-01-01 22:21:02 +00:00
Daniel Agar 55e3f80bab mavlink handle MAV_ODOM_LP parameter in main
- fixes #11125
2019-01-01 22:21:02 +00:00
Julian Oes 032e64aaf2 px4_sem: set errno, return -1 on any error
- Don't duplicate the ret variable to err.
- Return -1 on any error, 0 otherwise.
- Set errno to return value of pthread_cond_timedwait.
2019-01-01 20:35:42 +01:00
Julian Oes 23653f9f39 lockstep_scheduler: fix return value, remove errno
The API of cond_timedwait was wrong. It used return -1 and set errno
instead of returning the error as specified for pthread_cond_timedwait
which it tries to mock.
2019-01-01 20:35:42 +01:00
Lorenz Meier 0d0a556847 Fix usage of errno in POSIX semaphore error handling
Previous commit 98ae0186e9 changed the err variable to errno, which is not the return value we are looking for.
2019-01-01 20:35:42 +01:00
Daniel Agar 5b2661e0f8 Jenkins archive SITL package 2019-01-01 17:57:24 +01:00
Daniel Agar 1b8c2c82d5 px4flow start in rc.sensors instead of per board (#11123)
- fixes #11009
2019-01-01 11:39:40 -05:00
TSC21 065f97e87b add more relevant messages to the RTPS stream 2019-01-01 11:21:36 +00:00
Julian Oes 29bfdb0c88 platforms: fix linking for qurt (#11115) 2018-12-29 16:21:52 -05:00
Matthias Grob 36248cb12e PWMSim: publish disarmed value when not armed 2018-12-29 00:18:05 +01:00
Matthias Grob 05e45c2867 PWMSim: refactor only use one output number variable 2018-12-29 00:18:05 +01:00
Matthias Grob 986e6c96b5 PWMSim: refactor unused output loop 2018-12-29 00:18:05 +01:00
Matthias Grob c22dbe130b PWMSim: refactor to use math constrain 2018-12-29 00:18:05 +01:00
bazooka joe 1560364c04 fix home position timestamp to be the timestamp that the home was set and not when the message was sent 2018-12-27 11:04:24 -05:00
bazooka joe f6cf95cee0 mavlink: fix uninitialized messages fields
zeroed uninitialized fields on home_position, mavlink_rc_channels_override, mavlink_mission_item, mavlink_mission_item_int
2018-12-27 11:04:24 -05:00
Daniel Agar 3cd3856d32 commander set home position timestamp properly 2018-12-27 10:52:01 -05:00
Julian 3e87013936 simulator: fix TCP on Cygwin-Windows
It turns out that `sendto` does not work for TCP on Cygwin-Windows,
instead we need to use `send`. This required some refactoring since we
need to have the internet protocol and the port stored as a member
variable.

This should fix that lockstep SITL simulation was not working on
Windows.
2018-12-27 07:49:12 +01:00
PX4 Build Bot 2a7fe22a04 Update submodule sitl_gazebo to latest Wed Dec 26 12:37:45 UTC 2018
- sitl_gazebo in PX4/Firmware (1f9b833342): https://github.com/PX4/sitl_gazebo/commit/c90e8ad2b27b95dc0b4c45b346509477c5fa593d
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/e945745021a74ae45695a624dfc114a5c7bbd6bc
    - Changes: https://github.com/PX4/sitl_gazebo/compare/c90e8ad2b27b95dc0b4c45b346509477c5fa593d...e945745021a74ae45695a624dfc114a5c7bbd6bc

    e945745 2018-12-26 Julian Oes - worlds: fix rate for tailsitter and plane
46a3d27 2018-12-14 Jörg Schmidt - Fix bug in groundtruth altitude calculation
2018-12-26 11:06:26 -05:00
Daniel Agar f50963c2eb travis-ci (coverity scan) update to xenial 2018-12-26 11:04:36 -05:00
Daniel Agar 1f9b833342 ROMFS 4041 change nsh shebang to /bin/sh 2018-12-24 19:27:04 +00:00
PX4 Build Bot 03c0760e4b Update submodule micro-CDR to latest Sun Dec 23 21:17:02 UTC 2018
- micro-CDR in PX4/Firmware (b043cfac5e8635d9017ad6a13f45795ad6fda6fb): https://github.com/eProsima/micro-CDR/commit/8b3546e8848e4c07c16ec55730d3ad1aa94396ab
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/7a76880f90dfe702f4fa1723e22d1dcb491d7b9e
    - Changes: https://github.com/eProsima/micro-CDR/compare/8b3546e8848e4c07c16ec55730d3ad1aa94396ab...7a76880f90dfe702f4fa1723e22d1dcb491d7b9e

    7a76880 2018-12-11 Julián Bermúdez Ortega - Badges (#24)
2018-12-23 21:25:09 +00:00
PX4 Build Bot 0636aff5d5 Update submodule nuttx to latest Sun Dec 23 21:16:39 UTC 2018
- nuttx in PX4/Firmware (faf082fa1876b3f96ff9c07fc91ab8211d274c60): https://github.com/PX4/NuttX/commit/c225d4a691ef4572839b19635a84f2d9bf07ea74
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/c225d4a691ef4572839b19635a84f2d9bf07ea74
    - Changes: https://github.com/PX4/NuttX/compare/c225d4a691ef4572839b19635a84f2d9bf07ea74...c225d4a691ef4572839b19635a84f2d9bf07ea74
2018-12-23 16:20:30 -05:00
Beat Küng 2790cace4f beta75X aiframe: exclude on most boards (only used on Omnibus) 2018-12-23 15:49:37 -05:00
Beat Küng 9f642c7ea7 airframes: add a config for the BetaFPV Beta75X 2S Brushless Whoop 2018-12-23 15:49:37 -05:00
Beat Küng 169722c46f omnibus rc.board: add transition support to load params from file to FLASH 2018-12-23 15:49:37 -05:00
Beat Küng 5b4a77a67b params: add possibility to access files if flash-based params are enabled
- the flash-backend is selected by specifying nullptr as file or -1 as fd
- the default file is nullptr, and thus the FLASH
- 'param select' has no effect, FLASH is always the default

Thus there should be no functional change to existing setups.
2018-12-23 15:49:37 -05:00
Beat Küng 2698625be9 omnibus: switch to flash-based params
Not all boards have an SD card.

This is a *breaking* change and requires a bootloader change.
2018-12-23 15:49:37 -05:00
Matthias Grob 95b472277c TBS Caipirinha: Prevent ESC beeping all the time
Setting PWM_DISARMED to 0 results in no PWM output to the ESC for the pusher motor.
Most ESCs start beeping endless in short intervals if they don't get a signal.
I remove changing this parameter which is 900 by default to always command the motor to stand still.
2018-12-23 12:21:30 +01:00
David Sidrane d676325ea5 Update Nuttx with env out of memory fix 2018-12-22 19:09:49 +01:00
Julian Oes 73ed9deac5 mixer: add missing include 2018-12-22 10:32:18 +01:00
Julian Oes ea87bcb5a2 DriverFramework: update submodule
Now that the lockstep changes are merged to master.
2018-12-22 10:32:18 +01:00
Julian Oes dd54b3a511 jMAVSim: update submodule
Now that this is merged to master in jMAVSim.
2018-12-22 10:32:18 +01:00
Julian Oes 8486b2b917 tests: properly disable shutdown test for Cygwin 2018-12-22 10:32:18 +01:00
Julian Oes 736599f362 sitl_gazebo: updated submodule
This is just because the branch got merged.
2018-12-22 10:32:18 +01:00
Julian 0601214806 tests: disable shutdown and hysteresis for Cygwin
It seems that the hysteresis test fails every now and then, presumably
due to timing issues. The tests needs some improvements, e.g. isolating
it from the system time.
2018-12-22 10:32:18 +01:00
Julian Oes a1fc44d1f0 simulator: fix noise in airspeed
It turns out the noise of the airspeed depends on the least significant
bit of time which is now always 0 because time is quite regular with
lockstep. Therefore, we need a better source for the randomness. I chose
to use the sign of the y-gyro and it seems to work.
2018-12-22 10:32:18 +01:00
Julian Oes 2d7299043d sitl_gazebo: update submodule
This should fix a race because the use of future/promise wasn't done in
a thread-safe way.
2018-12-22 10:32:18 +01:00
Julian Oes 6435db37c6 sitl_gazebo: update submodule
An include was missing.
2018-12-22 10:32:18 +01:00
Julian Oes 9916fb9b07 Jenkins: fix path to test results 2018-12-22 10:32:18 +01:00
Julian Oes 73c22bd60e sitl_gazebo: updated submodule
This fixes a HITL bug and uses promise/future instead of sleeping.
2018-12-22 10:32:18 +01:00
Julian Oes 2e78b6f2d4 Jenkins: use test board for unit test only 2018-12-22 10:32:18 +01:00
Julian Oes 3e452e2e72 boards: tone_alarm_sim was missing for test board 2018-12-22 10:32:18 +01:00
Julian Oes 6b37102b8e Jenkins: use test board for unit and coverage test 2018-12-22 10:32:18 +01:00
Julian Oes 8faf28918c sitl_gazebo: update submodule
This brings build fixes for Gazebo 7.
2018-12-22 10:32:18 +01:00
Julian Oes ffb73f6496 platforms: fix redefinition for QURT 2018-12-22 10:32:18 +01:00
Julian Oes aac7b8d7eb platforms: fix NuttX build 2018-12-22 10:32:18 +01:00
Julian Oes 14e5ebbbbc platforms: fix clock build for macOS (yet again) 2018-12-22 10:32:18 +01:00
Julian Oes 06c5037025 platforms: use CLOCK_MONOTONIC
For the non-lockstep case we want to use CLOCK_MONOTONIC if possible.
2018-12-22 10:32:18 +01:00
Julian Oes d94748c831 Makefile: use px4_sitl_test board for make tests
This means that we can use the normal host scheduling (not lockstep) for
the unit tests.

In the future we might add unit tests using lockstep as well.
2018-12-22 10:32:18 +01:00
Julian Oes 547dd8511b platforms: use define for lockstep scheduler
Instead of using the define __PX4_POSIX_SITL it makes more sense to have
a define just to determine if the lockstep scheduler should be used.
2018-12-22 10:32:18 +01:00
Julian Oes 73578a593f simulator: bring -t argument back
The -t argument had been deleted because I didn't realize that it was
actually being used. Therefore, this brings it back and we now use -c
for TCP.
2018-12-22 10:32:18 +01:00
Julian Oes f03e938953 sitl_gazebo: updated submodule
This fixes all world files at 250 Hz simulation rate.
2018-12-22 10:32:18 +01:00
Julian Oes d0251581d3 samv7: fix include 2018-12-22 10:32:18 +01:00
Julian Oes a7c2adc877 sitl_gazebo: update submodule
This brings support for TCP and lockstep.
2018-12-22 10:32:18 +01:00
Julian Oes 1b685de70d simulator: raise timeout
This is not suposed to ever trigger anyway.
2018-12-22 10:32:18 +01:00
Julian Oes 8b2c47523f simulator: set socket options after opening socket 2018-12-22 10:32:18 +01:00
Julian Oes e4af97b11b simulator: fix printf format 2018-12-22 10:32:18 +01:00
Julian Oes 564cae86b5 simulator: remove doubled tcgetattr call 2018-12-22 10:32:18 +01:00
Julian Oes 8a5e0558e4 simulator: improve a couple of error messages 2018-12-22 10:32:18 +01:00
Julian Oes 1165739a56 sensors: check other gyros on timeout
@bkueng reviewed this and found that it is dangerous to continue on
timeout because we don't update other gyro sensors in the timeout case.
2018-12-22 10:32:18 +01:00
Julian Oes 8e4296d000 parameters: remove unneeded usleep
According to @bkueng this was to schedule other processes but can now be
removed.
2018-12-22 10:32:18 +01:00
Julian Oes 5280a4aba1 platforms: prevent wrap-arounds in px4_sleep
@bkueng found that the old implementation was likely to wrap-around
given seconds is only a uint32_t. We now cast it directly to uint64_t
and therefore should fix this problem.
2018-12-22 10:32:18 +01:00
Julian Oes 4efe4b0d15 platforms: reorg after rebase on new board config
The new board config changed everything, so I needed to move the
lockstep_scheduler repo.
2018-12-22 10:32:18 +01:00
Julian Oes b4382d4a71 DriverFramework: updated submodule 2018-12-22 10:32:18 +01:00
Julian Oes 185ddb2ab6 lockstep_scheduler: format to PX4 style
Consistency over taste :(.
2018-12-22 10:32:18 +01:00
Julian Oes fb9f72d029 lockstep_scheduler: modernize warnings 2018-12-22 10:32:18 +01:00
Julian Oes 6d273f3bd8 px4_layer: modernize warnings 2018-12-22 10:32:18 +01:00
Julian Oes 85486e0469 platforms: let's try clockid_t as int
Who knows what this really is.
2018-12-22 10:32:18 +01:00
Julian Oes f3aad419ac DriverFramework: update submodule
Hopefully, we can fix the defines for macOS.
2018-12-22 10:32:18 +01:00
Julian Oes c24f6ef943 platforms: lockstep_scheduler ain't no submodule 2018-12-22 10:32:18 +01:00
Julian Oes 7b43e96896 platforms: copied files from lockstep-scheduler
The files are copied from:
https://github.com/julianoes/lockstep-scheduler/
2018-12-22 10:32:18 +01:00
Julian Oes 3cbb2d8661 platforms: removed lockstep_scheduler submodule 2018-12-22 10:32:18 +01:00
Julian Oes 357870377a platforms: try to get submodule checked out 2018-12-22 10:32:18 +01:00
Julian Oes f36f85010c simulator: fix casting warning on Windows 2018-12-22 10:32:18 +01:00
Julian Oes 393a665424 DriverFramework: update submodule
Fixes the unit test on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes e046a6255f DriverFramework: update submodule
This brings a couple more build fixes.
2018-12-22 10:32:18 +01:00
Julian Oes e41518a08b platforms: clean up various build/linking issues
This makes sure lockstep is only built for SITL builds and fixes the
existing builds.
2018-12-22 10:32:18 +01:00
Julian Oes 23264fe579 kinetis: add missing include 2018-12-22 10:32:18 +01:00
Julian Oes 9724a84801 gitmodules: use https link for lockstep-scheduler 2018-12-22 10:32:18 +01:00
Julian Oes 8cbe26c6f6 platforms: fix linking issues for NuttX build 2018-12-22 10:32:18 +01:00
Julian Oes a193e4117c drv_hrt: update signature of ts_to_abstime 2018-12-22 10:32:18 +01:00
Julian Oes d75389b2e4 platforms: consolidate latency_buckets
These symbols were duplicated all over the place.
2018-12-22 10:32:18 +01:00
Julian Oes b13600ed1a platforms: remove TODO
It turns out Mac OS X v10.11.6 (El Capitan) is still covered by security
updates at this time, so not end-of-lifed, so we might as well keep
these legacy things.
2018-12-22 10:32:18 +01:00
Julian Oes 22b584b3b4 simulator: fix TCP connection init on macOS
When `connect()` fails, the state of the socket is unspecified and we
need to close the it and create it again.

It turns out retrying connect worked on Linux but it didn't on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes b2f1a59164 DriverFramework: update submodule
This fixes the build on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes 6ed6941aba DriverFramework: update submodule
This fixes the SITL speedup for macOS.
2018-12-22 10:32:18 +01:00
Julian Oes 546f89aee7 lockstep_scheduler: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes 876d4ebd76 posix: remove appalling errno hack 2018-12-22 10:32:18 +01:00
Julian Oes 66e7b4d578 posix: remove random lies 2018-12-22 10:32:18 +01:00
Julian Oes 11b7411bf8 platforms: cleaned up defines 2018-12-22 10:32:18 +01:00
Julian Oes 23acb77e2d Tools: add PX4_SIM_SPEED_FACTOR as env variable
This adds the env variable PX4_SIM_SPEED_FACTOR to set the speed factor
to run SITL at.
2018-12-22 10:32:18 +01:00
Julian Oes 107606e757 simulator: set device_ids when publishing directly
Without setting the device_id, the preflight checks fail because the
calibration is not found.
2018-12-22 10:32:18 +01:00
Julian Oes 843033d530 platforms: remove unused function 2018-12-22 10:32:18 +01:00
Julian Oes b436f3dd56 ROMFS/Tools: switch to TCP connection for SITL
This switches from UDP to TCP to connect to jMAVSim.
2018-12-22 10:32:18 +01:00
Julian Oes 6d7fb232dd simulator: added TCP, general cleanup, lockstep
This adds the option to connect over UDP or TCP for mavlink to the
SITL simulator.

Also, this includes a bunch of general cleanup and refactoring of the
simulator interface code. For instance sending of mavlink messages was
put into separate functions and unneccessary comments were removed.

Also, this now sets the timestamp sent by the SITL simulator in the
HIL_SENSOR message in order to enable lockstep.
2018-12-22 10:32:18 +01:00
Julian Oes cf39fdd37b simulator: use usual type of timestamp 2018-12-22 10:32:18 +01:00
Julian Oes 9b7857315c sensors: handle timeout 2018-12-22 10:32:18 +01:00
Julian Oes 22bd06e5d5 mc_pos_control: don't do orb_check on polled topic
When we poll on vehicle_local_position we shouldn't do yet another
orb_check but copy it first up.
2018-12-22 10:32:18 +01:00
Julian Oes 0e04d3e9a9 commander: remove lying comment 2018-12-22 10:32:18 +01:00
Julian Oes e36e0b6ad0 posix: print warning before backtrace 2018-12-22 10:32:18 +01:00
Julian Oes 4ef0d74ea3 platforms: remove old lockstep functionality
These functions won't be used any longer with the new implementation.
2018-12-22 10:32:18 +01:00
Julian Oes 14642edfda gps/devices: updated submodule 2018-12-22 10:32:18 +01:00
Julian Oes cc7cae4e7f DriverFramework: updated submodule
This fixes a race/lockup happening in the DriverFramework scheduler.
2018-12-22 10:32:18 +01:00
Julian Oes 7c93578b8b jMAVSim: updated submodule 2018-12-22 10:32:18 +01:00
Julian Oes a7e93bc2da simulator: removed leftover (wrong) comment 2018-12-22 10:32:18 +01:00
Julian Oes 09595a1de9 dataman: left FIXME comment
We shouldn't be using module here.
2018-12-22 10:32:18 +01:00
Julian Oes 3f508c99fd parameters: commented out strange usleep 2018-12-22 10:32:18 +01:00
Julian Oes da9029274c pwm_out_sim: always publish actuators
This is required so that the SITL simulator receives a feedback from
PX4.
2018-12-22 10:32:18 +01:00
Julian Oes d1514cd667 POSIX: add defines system clock calls 2018-12-22 10:32:18 +01:00
Julian Oes 98ae0186e9 px4_sem: use px4_sem on all POSIX system
This uses the "fake" px4_sem based on mutex and condition_variable on
all POSIX system, not just macOS and Cygwin. This means that we can
change px4_sem_timedwait under the hood and inject the simulated time.
2018-12-22 10:32:18 +01:00
Julian Oes 3e6e1f5c2b POSIX: use lockstep_scheduler to fake time
This integrates the lockstep_scheduler, so that the system time is set
by the mavlink HIL_SENSOR message.

This means that the speed factor is removed and the speed is entirely
given by the simulator.
2018-12-22 10:32:18 +01:00
Julian Oes f0ce300744 platforms: move latency_buckets to perf.c 2018-12-22 10:32:18 +01:00
Julian Oes 6466e690fe DriverFramework: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes 4af0c939ec lockstep_scheduler: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes fa8ac612ab POSIX: use C++ for drv_hrt (file was renamed) 2018-12-22 10:32:18 +01:00
Julian Oes 5df333fa96 POSIX: include lockstep_scheduler in build 2018-12-22 10:32:18 +01:00
Julian Oes 6a78212a6b jMAVSim: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes d295320e82 sitl_run.sh: lower rate for jMAVSim to 250 Hz
This should be enough for now, especially when we want to raise the
speed of the simulation.
2018-12-22 10:32:18 +01:00
Julian Oes 5ff3c40179 Added lockstep_scheduler as submodule
This is just an intermediate step until we can copy the sources over.
2018-12-22 10:32:18 +01:00
Julian Oes fa31d95fd8 Renamed drv_hrt.c to drv_hrt.cpp 2018-12-22 10:32:18 +01:00
Julian Oes db6de38b19 Work in progress to support a speed factor in SITL
These contains some rough changes trying to get SITL to speed up by a
SPEED_FACTOR.

This platform time code probably requires some more thought and refactor
but this gets a demo at 4x working.
2018-12-22 10:32:18 +01:00
Julian Oes 82a88d6a53 jMAVSim: update submodule for new -f argument
This adds the argument -f for a speed factor to speed up the simulation.
2018-12-22 10:32:18 +01:00
Julian Oes d70b0f1c8c Replace sleep with px4_sleep
This is another step to isolate time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes 3f695870a4 Replace usleep in GpsDrivers 2018-12-22 10:32:18 +01:00
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes e485885344 platforms: remove unused Rate class 2018-12-22 10:32:18 +01:00
PX4 Build Bot d1b44e5d6a Update submodule v2.0 to latest Sat Dec 22 00:38:12 UTC 2018
- v2.0 in PX4/Firmware (3256e67fdc5e86b5d8c6378ea24ff8a065b65ba8): https://github.com/mavlink/c_library_v2/commit/c38176a0a63556815ea117c6877ce2dd18739231
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/175ab6725cc0d96827d04ffeeaf3a7797a9abdbf
    - Changes: https://github.com/mavlink/c_library_v2/compare/c38176a0a63556815ea117c6877ce2dd18739231...175ab6725cc0d96827d04ffeeaf3a7797a9abdbf

    175ab67 2018-12-17 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/eaa914c7d9789bc37c9a6a59a5bd1171634bd429
4d5fa0d 2018-12-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/48df7ea08abb5d87df6ccb1f9a69b91ff3b89c7a
b65cfcd 2018-12-14 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b671d3c24d5fc6aa964cd07a4a46566d4dbd7862
8473fe2 2018-12-13 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2b9d470011a0d62fbfc3183ee172201e5170f7af
5a186d4 2018-12-13 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/68ed09da2e341b2932d9c9d761d7baa811191dc2
2018-12-22 09:17:29 +01:00
PX4 Build Bot 582658f2e0 Update submodule matrix to latest Sat Dec 22 00:38:42 UTC 2018
- matrix in PX4/Firmware (3e5d66580520e5ae64555c5fc9252c6c661389e3): https://github.com/PX4/Matrix/commit/9c0acfba36a928b7b002eea3a9dca54a5a0c1250
    - matrix current upstream: https://github.com/PX4/Matrix/commit/18fba8221cc1840964c43f04d8c2aa21857e1b9b
    - Changes: https://github.com/PX4/Matrix/compare/9c0acfba36a928b7b002eea3a9dca54a5a0c1250...18fba8221cc1840964c43f04d8c2aa21857e1b9b

    18fba82 2018-12-16 Matthias Grob - quaternion: improve comments
a4f39c0 2018-12-16 Matthias Grob - quaternion: reuse existing dot product
2018-12-21 23:39:07 -08:00
Daniel Agar 49be26b6cf load_mon improve cpuload calculation and cleanup (#9852) 2018-12-21 22:27:58 -08:00
Alvar Martti 63651da309 FW bug in checking if landing point has been passed
* the bearing difference between the waypoints and aircraft to landing point should be wrap_pi'ed
2018-12-21 10:03:31 -08:00
Nuno Marques cfd1be584e Feature: VIO: add ODOMETRY stream (#11084)
* mavlink_messages: remove LOCAL_POSITION_NED_COV stream

* mavlink_messages.cpp: add ODOMETRY stream

* add MAV_ODOM_LP parameter to activate odometry loopback

* EKF2: add vehicle_odometry publisher

* Replace VISION_POSITION_ESTIMATE loopback with ODOMETRY

* LPE: add vehicle_odometry publisher

* set vehicle_odometry local_frame field

* mavlink_messages.cpp: ODOMETRY frame_id depends on MAV_ODOM_LP
2018-12-21 12:54:04 -05:00
Christian Rauch b3018646d5 check CONFIG_STACK_COLORATION for print_load_nuttx 2018-12-21 05:43:21 -08:00
Christian Rauch a6adc64569 check CONFIG_TASK_NAME_SIZE for print_load_nuttx 2018-12-21 05:43:21 -08:00
Christian Rauch 92117da3a8 check CONFIG_ARCH_MATH_H 2018-12-21 05:43:21 -08:00
Christian Rauch 0764c76836 check CONFIG_I2C for I2C 2018-12-21 05:43:21 -08:00
Christian Rauch 8a2e3800d8 check CONFIG_SCHED_INSTRUMENTATION for print_load_nuttx 2018-12-21 05:43:21 -08:00
Matthias Grob fce35ba9d2 fmu-v2: remove orbit support to save flash 2018-12-19 18:22:08 +01:00
Matthias Grob 3d42c495aa FlightTaskOrbit: clip radius to range 2018-12-19 18:22:08 +01:00
Matthias Grob f8171f999b mavlink: initialize orbit struct 2018-12-19 18:22:08 +01:00
Julian Oes 35f2c39f30 ROMFS: remove leftover CMakeLists.txt files
These files are copied by accident and then discovered by shellcheck.
2018-12-19 07:36:43 +00:00
Julian Oes 63ee101c51 rcS: fix exit value
Shellcheck complained about returning -1 because that's essentially 255.
2018-12-19 07:36:43 +00:00
Julian Oes 3ebf030a02 ROMFS: change shebang from #!zsh to #!/bin/sh
This was required for shellsheck.
2018-12-19 07:36:43 +00:00
Julian Oes d265aaab41 ROMFS: don't forget to prune rc.board
The startup file rc.board is copied to the build/../genromfs folder
after the pruning of the files happened. Thus, about 2000 bytes of
comments and whitespace were included in the ROMFS.

This commit moves pruning of the files in ROMFS to a separate cmake
custom command which happens after the ROMFS files have been copied and
the extra files have been added.

Testing showed that this change only affected the rc.board file as
expected.
2018-12-19 07:36:43 +00:00
Matthias Grob 25de837c23 FlightTaskOrbit: fix rotation direction in telemetry 2018-12-18 14:40:07 +01:00
Matthias Grob d4a40f5d99 px4_custom_mode: add custom sub mode orbit 2018-12-18 14:40:07 +01:00
Matthias Grob 1cee90d42f orbit_status: fix type for radius 2018-12-18 14:40:07 +01:00
Matthias Grob e708e82425 mavlink: lower orbit status frequency 5Hz 2018-12-18 14:40:07 +01:00
Matthias Grob 8b419efa2c FlightTaskOrbit: fix rotation direction from command 2018-12-18 14:40:07 +01:00
Matthias Grob 25aa2b9c8c orbit: fix telemetry message content 2018-12-18 14:40:07 +01:00
Matthias Grob 14b83f7bfc mavlink: add orbit to the normal messages
It is only actually sent out when the orbit is running.
2018-12-18 14:40:07 +01:00
Alessandro Simovic f11465bb26 orbit: publish uorb message 2018-12-18 14:40:07 +01:00
Alessandro Simovic 10913a66b4 orbit: sending telem via mavlink 2018-12-18 14:40:07 +01:00
Alessandro Simovic a08ea4764d orbit: added telem uorb msg 2018-12-18 14:40:07 +01:00
斯东Stone 1c90b917ea Fix px4_fmu-v2/v3 serial port mapping 2018-12-16 19:56:46 -08:00
Matthias Grob 18fba8221c quaternion: improve comments 2018-12-16 20:16:38 +01:00
Matthias Grob a4f39c0f89 quaternion: reuse existing dot product 2018-12-16 20:16:38 +01:00
Beat Küng 6a5108269e rcS tone_alarm: fix CBRK_BUZZER
tone_alarm was started before the parameters were loaded, and the first
tune was played before that as well. CBRK_BUZZER was then read as default,
ignoring the user-configured value.

We now start tone_alarm after we load the parameters. Note that a
previously published startup tone or SD card error will still be played.
2018-12-15 10:01:02 -05:00
Beat Küng cfad556a16 mixer_multirotor: use reduce_only instead of -1000 for yaw thrust reduction
This is more accurate, because if we use -1000 as lower bound, a very large
yaw command can reduce thrust more than needed.

The difference can be seen in the following example
(with roll/pitch airmode):
p_dot_sp = -1.0 # roll acceleration
q_dot_sp = 0.9 # pitch acceleration
r_dot_sp = -0.9 # yaw acceleration
2018-12-13 09:50:07 +01:00
Beat Küng 418df2516d mixer multirotor: add to CI 2018-12-13 09:50:07 +01:00
Beat Küng e8e3b00a10 refactor mixer: rename delta_outputs to desaturation_vector 2018-12-13 09:50:07 +01:00
Beat Küng 3eefc93e5d mixer_multirotor.py: avoid scientific notation for vector printf
makes it easier to compare.
2018-12-13 09:50:07 +01:00
Beat Küng 447ed18ab4 commander: use C API for MC_AIRMODE & RC_MAP_ARM_SW to remove multirotor modules dependency 2018-12-13 09:50:07 +01:00
Beat Küng c665c34d2a MC stabilized: allow yaw control at 0 throttle if yaw-airmode is selected 2018-12-13 09:50:07 +01:00
Beat Küng 24dc316973 commander: enforce yaw-airmode to have an arming switch mapped
Yaw airmode w/o arming switch is most likely not what you want and will
lead to surprising results.
2018-12-13 09:50:07 +01:00
Beat Küng cf66656258 mixer multirotor: add unit-tests
To run:
cd src/lib/mixer
make tests

This will validate the C++ implementation by taking the python
implementation as ground-truth. It runs through various actuator control
command values for all airmode variations and several mixer types.

The python script also allows to prototype new mixer algorithms.

It is not integrated into the existing build system, because it's easier
to use that way, with less dependencies, and faster testing workflow.
It could however be a bit more integrated.

Reference: https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation
2018-12-13 09:50:07 +01:00
Beat Küng c659d2bcc2 mixer: minor refactoring to reduce header include dependencies
- avoid including <px4_defines.h> from the math headers
- avoid driver include <drivers/drv_mixer.h> from the mixer
2018-12-13 09:50:07 +01:00
Beat Küng 8bcf54688a mixer: complete refactoring & add airmode for yaw
Provides a more generic desaturation algorithm, making it easier to
handle the different mixer strategies.

python reference implementation:
https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation

The behavior for non-airmode and roll/pitch airmode should be the
same as before.

CPU load is slightly higher for the non-airmode case (+0.5%), for airmode
it is the same.
2018-12-13 09:50:07 +01:00
Beat Küng 19ccab28bb mixer: use an enum for airmode 2018-12-13 09:50:07 +01:00
Beat Küng 9406fa5246 refactor mixer.h: use override keyword, fix set_airmode argument type (uint32_t -> int32_t) 2018-12-13 09:50:07 +01:00
bresch 7cc00f41d2 AirModeYaw - Change airmode type from bool to int 2018-12-13 09:50:07 +01:00
TSC21 b2fd8abf9e CI: add rostest to 'px4' and MAVROS in caktin and colcon builds 2018-12-13 02:09:31 +00:00
James Goppert 4ecb8746d6 Formatting. 2018-12-13 02:09:31 +00:00
TSC21 870c513aad readd CMAKE_RUNTIME_OUTPUT_DIRECTORY install for the posix build 2018-12-13 02:09:31 +00:00
James Goppert 78f109bbab Add ros pub test. 2018-12-13 02:09:31 +00:00
TSC21 a6121e1655 Cmake build: do not change CMAKE_RUNTIME_OUTPUT_DIRECTORY if building with catkin 2018-12-13 02:09:31 +00:00
James Goppert c7eb21be86 Fix catkin/ROS build paths. 2018-12-13 02:09:31 +00:00
David Sidrane 53bc357cda nxphlite-v3:SDHC setting is for EMI issue with GPS and FCC (#11029)
This updating of the driver setting is for EMI issue with GPS and FCC.
   With this setting the clock is sinusoidal

   N.B. sd_bench fails on SanDISK HC, but Passes SanDISK **HC1** and
   Kingston cards.

   ****Use HC1 or Kingston cards!***

   Testing done on SanDISK HC all failed sd_bench with Drive/Slew other
   than default and _PIN_OUTPUT_FAST|_PIN_OUTPUT_HIGHDRIVE

	_PIN_OUTPUT_FAST|_PIN_OUTPUT_HIGHDRIVE    Square noisy, pass SanDISK HC
        _PIN_OUTPUT_FAST|_PIN_OUTPUT_LOWDRIVE     Square noisy, pass SanDISK HC
        _PIN_OUTPUT_HIGHDRIVE|_PIN_OUTPUT_SLOW    sinusoidal fail SanDISK HC, pass SanDISK HC1
        _PIN_OUTPUT_LOWDRIVE |_PIN_OUTPUT_SLOW    sinusoidal fail SanDISK HC, pass SanDISK HC1
                              _PIN_OUTPUT_SLOW    sinusoidal fail SanDISK HC, pass SanDISK HC1
2018-12-12 20:51:57 -05:00
David Sidrane 11f9925b02 rcS,rc.serial.jinja:ensure proper unset hygiene
Delete auto generated vars, and others that were missed.
2018-12-12 15:14:11 -05:00
Daniel Agar f851978101 commander run preflight immediately (#11018)
- partially addresses #11017
2018-12-12 09:24:50 -05:00
Kārlis Seņko c1d50d35d3 Move common shmem parameter declarations to shmem.h. 2018-12-11 09:21:15 -05:00
Kārlis Seņko d1a1a1b9fe Use correct path when looking up df wrapper. 2018-12-11 09:21:15 -05:00
Kārlis Seņko 859b242cb8 Fix some dynamic linking errors.
_Stof, bsearch, param_find_changed
2018-12-11 09:21:15 -05:00
Kārlis Seņko 606bff2634 Fix paths in snapdragon upload code. 2018-12-11 09:21:15 -05:00
Kārlis Seņko 950ab879ff Make name mangling type consistent. 2018-12-11 09:21:15 -05:00
Hamish Willee 11364c0e01 Improve forcefail/terminatefail docs 2018-12-10 15:30:53 -08:00
Simone Guscetti 2c06cb71c8 FlightTask: use convetion for definition of the landing gear default value 2018-12-10 16:17:23 +01:00
Simone Guscetti 9ee3d79a96 FlightTask Manual: Gear react only on switch changes and not states 2018-12-10 16:17:23 +01:00
Simone Guscetti f4fc0cd291 FlightTAsk AutoMapper: Adapt to new message 2018-12-10 16:17:23 +01:00
Simone Guscetti be7416c823 FlightTask Auto: Adapt to new message and rename variable 2018-12-10 16:17:23 +01:00
Simone Guscetti 82d4cd6dfa position_setpoint: Change deploy gear to landing gear
- Use the values from landing_gear.msg
2018-12-10 16:17:23 +01:00
Simone Guscetti 2f7c8569cb mc_pos_ctrl: Remove gear intialisation
- Handled in the flight task
2018-12-10 16:17:23 +01:00
Simone Guscetti 1412e0494c FlightTask AutoMapper: Use deploy gear information 2018-12-10 16:17:23 +01:00
Simone Guscetti 66f85ff9ae FlightTask Auto: Save deploy gear information 2018-12-10 16:17:23 +01:00
Simone Guscetti aaddb845c4 FlightTask: Add initialisation of the landing gear 2018-12-10 16:17:23 +01:00
Simone Guscetti de185726b3 vehicle constraints: remove landing gear
- landing_gear: refactor state name
- Add the keep state to the landing gear message
- Adapt FlightTaskManual, FlightTaskAutoMapper, mc_pos_control,
to review message definition
2018-12-10 16:17:23 +01:00
Simone Guscetti 6dbed6636d FlightTasks: Add interface for landing gear 2018-12-10 16:17:23 +01:00
Simone Guscetti bf9a18a200 FlightTask: Add interface for landing gear 2018-12-10 16:17:23 +01:00
Simone Guscetti 6938b7fe02 Rename the invered state and make namespace more clear
- Addressing review comments
2018-12-10 16:17:23 +01:00
Simone Guscetti aac9221d95 msg landing_gear: change type to int8 2018-12-10 16:17:23 +01:00
Simone Guscetti ee41e3181f mc_pos_ctrl: Replace landing gear logic
- It takes the input from the constrains from the active flight task
2018-12-10 16:17:23 +01:00
Simone Guscetti 163d201c28 remove the landing gear from the attitude setpoint
- An new message is created just for the landing gear
- The old logic is repalaced by publishing this new topic
2018-12-10 16:17:23 +01:00
Hamish Willee 4822bf8386 Fix links to moved files in readme 2018-12-10 03:34:53 +01:00
Matthias Grob e979d24fff commander: fix orbit failsafes for data link & rc loss 2018-12-08 22:34:57 +01:00
Matthias Grob 5b5d5ac6d5 mc_pos_control: let orbit task do its work 2018-12-08 22:34:57 +01:00
Matthias Grob 34fb52d8bd commander: add orbit state handling 2018-12-08 22:34:57 +01:00
Matthias Grob 77d37c5b7f msg: add orbit main and navigation state 2018-12-08 22:34:57 +01:00
Jake Dahl 21bcc0d2f4 mav_cmd_do_reposition now obeys the ground speed argument 2018-12-07 21:40:16 -05:00
Beat Küng dc49e259b3 logger: add separate profile for vision/avoidance
Keeps things more modular.
2018-12-07 11:51:59 +01:00
Beat Küng fced1ce33b logger: remove some unused logged topics in SITL 2018-12-07 11:51:59 +01:00
Daniel Agar d42fe1826a parameters also include all module configs when scoping disabled (#10992)
* fixes parameters on Snapdragon
2018-12-06 14:21:06 -05:00
Daniel Agar 0c60fff6bd vscode add lldb SITL debug launch targets 2018-12-05 18:25:58 -05:00
Daniel Agar 783267bbc3 vscode initial jlink debug launch 2018-12-05 15:58:41 -05:00
Daniel Agar fd8fe29ef3 vscode update targets and gdb debugging 2018-12-05 15:58:41 -05:00
dakejahl 311c0941c9 Teal One airframe improvements for full support (#10860)
* added a parameter for enabled the smart battery
* start tel1 and tel2 at 921600 and max rate
* turned up the max tx rate on mavlink streams for telem1 and telem2
* turned off mavlink stream for tel1 in 4250_teal. This is connected to TX1 FTDI UART and has issues.
* moved check to 4250 board ID to start mpu9250s for Teal airframe into fmuv4 rc.board.
2018-12-05 09:49:58 -05:00
CarlOlsson 1a969aed07 EKF: use low pass filtered mag measurements for heading initialization 2018-12-05 10:08:11 +01:00
Daniel Agar a5fa3eda30 vscode initial configuration (#10911) 2018-12-04 23:11:36 -05:00
Daniel Agar 3a036021ba ROMFS defaults drop floating point decimal 2018-12-04 22:57:53 -05:00
Daniel Agar ecbf6ea77b ROMFS multicopter airframes don't call other airframes (4001/4002)
- fixes #10980
2018-12-04 22:57:53 -05:00
PX4 Build Bot a922d4e70e Update submodule nuttx to latest Wed Dec 5 00:37:51 UTC 2018
- nuttx in PX4/Firmware (eddfa7421c4ca2eb0969498093e09fa834e920bd): https://github.com/PX4/NuttX/commit/166d898c70141d7ddb179b5ead1c5ea726574411
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/d07a1d459ee9b5b56dbf06a160e8faa4c49fcd10
    - Changes: https://github.com/PX4/NuttX/compare/166d898c70141d7ddb179b5ead1c5ea726574411...d07a1d459ee9b5b56dbf06a160e8faa4c49fcd10

    d07a1d4 2018-12-04 Beat Küng - [REJECTED] arm/include/math.h: remove _PARAMS macro (#42)
2018-12-04 22:57:01 -05:00
flochir ab9e9793a0 ICM20948 integration into MPU9250 driver (#10116)
* Integrated preliminary ICM20948 support into MPU9250 driver.
Fixed temperature conversion for MPU9250/ICM20948.
* Included missing check for PX4_I2C_OBDEV_MPU9250 in main.cpp.
* Added explicit bus for internal MPU9250 on Pixhawk 2.1 to avoid implicit start
of an externally attached device with wrong orientation.
2018-12-04 22:15:02 -05:00
PX4 Build Bot 5c9aa1ca88 Update submodule micro-CDR to latest Wed Dec 5 00:38:19 UTC 2018
- micro-CDR in PX4/Firmware (3888bb163eac5c0adfc18e865ef3fb70d0532de9): https://github.com/eProsima/micro-CDR/commit/d23eda8772ecf846531ee470a81fb1be37802e7b
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/8b3546e8848e4c07c16ec55730d3ad1aa94396ab
    - Changes: https://github.com/eProsima/micro-CDR/compare/d23eda8772ecf846531ee470a81fb1be37802e7b...8b3546e8848e4c07c16ec55730d3ad1aa94396ab
2018-12-04 21:41:09 -05:00
Daniel Agar 1f8c0e79e8 cmake toolchains force cache cpu flags and don't append
- these flags were accumlating on top of each other anytime cmake had to reconfigure
2018-12-04 19:45:46 -05:00
Daniel Agar dbee6380ee cmake move custom upload helpers to boards/ 2018-12-04 19:45:46 -05:00
Matthias Grob e69049ec41 mc_pos_control: use time literals everywhere, @bkueng review input 2018-12-04 11:54:11 +01:00
Matthias Grob 096d7da4b9 mc_pos_control: fix doxygen comments, @bkueng review input 2018-12-04 11:54:11 +01:00
Matthias Grob 35a486bf6f mc_pos_control: addressed @dagar's review comments 2018-12-04 11:54:11 +01:00
Matthias Grob 513c973f01 mc_pos_control: assign events field outside of initializer
Necessary because NuttX defines pollfd differend from
the POSIX standard. The difference of field order makes
use of C++ designated initializers to compile for both
platforms impossible.
2018-12-04 11:54:11 +01:00
Matthias Grob 09e563addd mc_pos_control: fix naming of non-member time stamps 2018-12-04 11:54:11 +01:00
Matthias Grob 0ba3896068 mc_pos_control: refactor dt time difference calculation 2018-12-04 11:54:11 +01:00
Matthias Grob a310980ad2 mc_pos_control: refactor loop polling 2018-12-04 11:54:11 +01:00
Matthias Grob 013a2655e2 mc_pos_control: fix comments and spacing inconsistencies 2018-12-04 11:54:11 +01:00
Matthias Grob 8cb446c233 mc_pos_control: remove useless landed state copy
If the landed state was set before the position controller starts it
would get updated with the first poll_subscriptions() anyways. But it's
not on all posix and nuttx platforms I tested and the deleted statement
just copies the zero message into the struct which is already zero.
2018-12-04 11:54:11 +01:00
Daniel Agar 5ba56c8c2c fmu-v5 timer_config.c fix code style 2018-12-04 01:06:54 -05:00
Daniel Agar 8622fa4aac move pca8574 driver to lights 2018-12-04 01:06:54 -05:00
Daniel Agar 75b2053243 move uavcan from modules to drivers 2018-12-04 01:06:54 -05:00
Daniel Agar bbab66d974 move vmount to modules (it's not a driver) 2018-12-04 01:06:54 -05:00
Daniel Agar 9d42480f4e drivers create lights category (directory) 2018-12-04 01:06:54 -05:00
Daniel Agar f6a4616501 move ocpoc_adc driver to board directory 2018-12-04 01:06:54 -05:00
Daniel Agar 766c33799d move all navio2 drivers to emlid navio2 board directory 2018-12-04 01:06:54 -05:00
Daniel Agar 2e7c1d3ca6 move bbblue_adc to beaglebone blue board directory 2018-12-04 01:06:54 -05:00
Daniel Agar a91a26be97 move aerofc_adc to intel aerofc board directory 2018-12-04 01:06:54 -05:00
Daniel Agar 744bacd424 boards/ enforce astyle 2018-12-04 01:06:54 -05:00
Daniel Agar 1efad64f0c bebop move flow driver to board directory 2018-12-04 01:06:54 -05:00
Daniel Agar 9c29e9d4c9 move crazyflie syslink to board directory 2018-12-04 01:06:54 -05:00
Daniel Agar d4e06e517a delete drv_gpio.h, modules/gpio_led, and fmu GPIO ioctls 2018-12-03 16:30:39 +01:00
Matthias Grob c303e36ed0 vtol_att_control: small comment typo 2018-12-03 16:14:32 +01:00
Daniel Agar 93802c2710 hysteresis test increase time on cygwin (#10958) 2018-12-03 09:39:43 -05:00
Roman 27f7846495 optical flow: fixed sign in calculation of optical flow sensor velocity
- the velocity of the optical flow sensor relative to the IMU expressed in
body frame is the cross product of the angular velocity with the vector
from IMU to the sensor. If we use the angular velocity stored in the flow
sample struct we need to use a negative sign as that angular velocity
follows the opposite sign convention.

Signed-off-by: Roman <bapstroman@gmail.com>
2018-12-04 01:26:40 +11:00
Daniel Agar 38c84e6e9d rc.autostart restart shellcheck fix (161cf7) and exclude check
- fixes #10972
2018-12-03 15:11:45 +01:00
PX4 Build Bot 5083c60a87 Update submodule v2.0 to latest Mon Dec 3 00:37:56 UTC 2018
- v2.0 in PX4/Firmware (2923e40d8777ccf2581d888f8e41a48dfa93f09d): https://github.com/mavlink/c_library_v2/commit/7c47254ddc8bf70eb5e82b4c2142a3faa4fa5780
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c38176a0a63556815ea117c6877ce2dd18739231
    - Changes: https://github.com/mavlink/c_library_v2/compare/7c47254ddc8bf70eb5e82b4c2142a3faa4fa5780...c38176a0a63556815ea117c6877ce2dd18739231

    c38176a 2018-11-30 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4c160eac64675b87f7000a9a352654182ebcfba6
057bcc4 2018-11-30 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/113731eaaf53c6cd725eb973c7cc923aa43e9c23
b1aa2b8 2018-11-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/8349b1cf68565c249cbad8aae0db0a466478b6a5
c3ba3f9 2018-11-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/5e539462241d8a088619e842c72e8030c134ab0c
077265a 2018-11-28 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/62fa8289790696a59569a79461c88f8ecb45c5ac
2018-12-03 11:16:40 +00:00
PX4 Build Bot e84d2151e2 Update submodule sitl_gazebo to latest Mon Dec 3 00:37:44 UTC 2018
- sitl_gazebo in PX4/Firmware (99c225dda2): https://github.com/PX4/sitl_gazebo/commit/7c97eeae139d86b3747ea877d8067fb3180dc4f1
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/d08eb5b22d3edfb7a740c883b06f895a173b5519
    - Changes: https://github.com/PX4/sitl_gazebo/compare/7c97eeae139d86b3747ea877d8067fb3180dc4f1...d08eb5b22d3edfb7a740c883b06f895a173b5519

    d08eb5b 2018-11-27 Julian Oes - Update opencv includes
2018-12-03 10:00:57 +00:00
Daniel Agar b7b5b89969 Jenkins compile only archive first level of binaries 2018-12-02 20:05:49 -05:00
Daniel Agar 99c225dda2 Jenkinsfile deploy cleanup checkouts when done 2018-12-02 11:39:37 -05:00
TSC21 c25d122f12 update micro-CDR version and msg templates to fit the up to date version 2018-12-02 10:35:25 +01:00
David Sidrane 3e57067b35 fmu-v5:timer_config Move UI LED to 0 and condition status LEDS
If the BOARD_HAS_CONTROL_STATUS_LEDS is set the status LED will
   not be PWM controlled.

   UI LED will always be PWM controlled.
2018-12-02 10:34:04 +01:00
David Sidrane 7350808759 drv_led_pwm:Compile for either BOARD_HAS_LED_PWM or BOARD_HAS_UI_LED_PWM 2018-12-02 10:34:04 +01:00
David Sidrane 1d289f77e3 stm32:drv_led_pwm Null entry check 2018-12-02 10:34:04 +01:00
David Sidrane f3e312e70e fmu-v5:Default the Power LED on 2018-12-02 10:34:04 +01:00
TSC21 02454e5ffc update OSX install script to fit arg options to reinstall formulas and install install sim tools 2018-12-02 10:32:40 +01:00
TSC21 3e90c37d05 add nose and tornado to fit the requirements of matplotlib 2018-12-02 10:32:40 +01:00
Daniel Agar 161cf7f5d9 shellcheck fix rc.autostart return and improve globbing 2018-12-01 10:03:19 -05:00
Daniel Agar 3e9e5ed372 ROMFS move airframes to subdirectory 2018-12-01 10:03:19 -05:00
Daniel Agar 7f0d2f23b7 move atmel_same70xplained init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar 4240abad73 move bitcraze_crazyflie init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar 0e980c1f83 move gumstix_aerocore2 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar a3fed608a6 move airmind_mindpx-v2 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar c9a2033c5b move auav_x21-v1 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar a8b91c7ac9 move intel_aerofc-v1 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar a4830f8d7b move omnibus_f4sd init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar 60ade5d82b move av_x1-v1 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar aab08ad6fc move nxp_fmuk66-v3 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar c6a502f150 move fmu-v2/v3 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar 6c2436c2ca move fmu-v4pro init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar d940f500f6 move fmu-v4 init to rc.board 2018-12-01 10:03:19 -05:00
Daniel Agar 25799c6e75 create board specific init script and use with fmu-v5 2018-12-01 10:03:19 -05:00
Matthias Grob 94d4f0391a FlightTaskAuto: fix newline at end of file 2018-11-30 09:30:00 -05:00
Dennis Mannhart 55947d2782 exponentialFromLimits make small number const 2018-11-30 09:30:00 -05:00
Dennis Mannhart be4900f61d FlightTaskAutoMapper2: remove speed_at_target 2018-11-30 09:30:00 -05:00
Dennis Mannhart b3cde5ac44 FlightTaskAutoLine: replace NAV_ACC_RAD with _target_acceptance_radius 2018-11-30 09:30:00 -05:00
Dennis Mannhart 6110ddc8b1 math Functions constrain X_in of exponentialFromLimits function 2018-11-30 09:30:00 -05:00
Dennis Mannhart c97b2a3071 FlightTaskAuto: move method getVelocityFromAngle to FlightTaskAutoLine 2018-11-30 09:30:00 -05:00
Dennis Mannhart 23afb939f0 math Functions: exponential function with constraints 2018-11-30 09:30:00 -05:00
Dennis Mannhart 80193cd227 math Functions: replace float with T 2018-11-30 09:30:00 -05:00
bresch be2e80c186 MPC_YAW_MODE - Change max to 3 to enable trajectory alignment 2018-11-30 09:27:40 -05:00
Daniel Agar ee8e3c4527 Jenkins reduce number of builds kept (10 -> 5) 2018-11-30 08:32:25 -05:00
TSC21 88a8957841 CI: be more descriptive regarding the catkin/colcon builds 2018-11-29 19:27:33 +00:00
TSC21 5ab2babe95 CI: add 'Colcon' parallel build 2018-11-29 19:27:33 +00:00
TSC21 fa528745b5 IDL generation: add constants fields for IDL's 2018-11-29 16:43:00 +00:00
Daniel Agar 02c34763f0 tone_alarm_sim readd to sitl and drop DriverFramework
- fixes #10925
2018-11-29 07:40:22 -05:00
Dennis Mannhart 370371767f FlightTaskAutoLine: ensure that desired speed along track does not exceed maximum speed at threshold to target 2018-11-29 12:32:56 +01:00
Matthias Grob d76aec4eb2 mc_pos_control: refactor switch case logic for modes 2018-11-29 08:19:58 +01:00
Matthias Grob 38cf89ee9c mc_pos_control: also use vertical smoothing in altitude
Smoothing can be configured by MPC_POS_MODE parameter
put before only for position mode and not for altitude mode.
2018-11-29 08:19:58 +01:00
Daniel Agar 48d9484ceb commander fix and enforce code style 2018-11-28 20:42:03 -05:00
Daniel Agar 91721f2060 cmake update NuttX bloaty_compare_master helper to use new paths 2018-11-28 16:40:12 -05:00
Paul Riseborough 2c97054d40 commander notify user if EKF fails compass (#10919) 2018-11-28 13:12:35 -05:00
Daniel Agar 7996f9723f README add FMUv5 pixhawk 4 and pixhawk 4 mini 2018-11-28 12:23:42 -05:00
David Sidrane 729d1c32d3 Rename nxphlite-v3 to NXP fmuk66-v3 (#10927) 2018-11-28 12:13:21 -05:00
PX4 Build Bot ef178730b2 Update submodule sitl_gazebo to latest Wed Nov 28 01:11:11 UTC 2018
- sitl_gazebo in PX4/Firmware (dcd12b5f9d): https://github.com/PX4/sitl_gazebo/commit/5a50cb9a52737522b28abf14ce15b57de8ff2695
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/7c97eeae139d86b3747ea877d8067fb3180dc4f1
    - Changes: https://github.com/PX4/sitl_gazebo/compare/5a50cb9a52737522b28abf14ce15b57de8ff2695...7c97eeae139d86b3747ea877d8067fb3180dc4f1
2018-11-27 21:25:13 -05:00
Julian Oes dcd12b5f9d sitl_gazebo: update submodule to latest master 2018-11-27 19:22:37 -05:00
Matthias Grob 93d2b092f0 appveyor: fix mkdir on existing directory 2018-11-27 15:43:45 +01:00
Daniel Agar ba6b71e619 px4fmu-v4 start ist8310 mag (optional external) 2018-11-27 09:29:48 -05:00
Daniel Agar 48df19c8df move dyn_hello to examples and restore testing 2018-11-26 14:40:14 -08:00
Daniel Agar fecdfe5fbc move posix/tests/hrt_test to systemcmds/tests/hrt_test 2018-11-26 14:40:14 -08:00
Daniel Agar 750e66f43b px4/sitl add replay module 2018-11-26 14:40:14 -08:00
Daniel Agar e45e7aa8a6 move posix/tests/hello to examples/hello and include everywhere 2018-11-26 14:40:14 -08:00
Daniel Agar 85c5fb4295 muorb test move to modules/muorb/test 2018-11-26 14:40:14 -08:00
Daniel Agar c3448c19c4 make vcdevtest a generic cdev test 2018-11-26 14:40:14 -08:00
Daniel Agar 3e0a3559a9 cmake use standard mechanisms for settings flags 2018-11-26 14:40:14 -08:00
Daniel Agar 11be2b8873 cmake split px4_base into px4_add_module, px4_add_library, px4_add_common_flags 2018-11-26 14:40:14 -08:00
Daniel Agar 36ec1a7914 Makefile quick_check switch nuttx target to px4_fmu-v5 2018-11-26 14:40:14 -08:00
Daniel Agar c258534aa5 cmake px4_add_board document and cleanup 2018-11-26 14:40:14 -08:00
Daniel Agar fa0fe4cac6 cmake remove need for platform px4_add_board_os
- explicitly set TOOLCHAIN on all NuttX targets
2018-11-26 14:40:14 -08:00
Daniel Agar f22f331e4a Makefile add board rename deprecation warning 2018-11-26 14:40:14 -08:00
Daniel Agar ec4c9da253 remove BOARD_NAME from board_config.h and set automatically 2018-11-26 14:40:14 -08:00
David Sidrane 2d052c02fa board_common:Use new PX4IO FW name on SD card and remove legacy V1 name 2018-11-26 14:40:14 -08:00
David Sidrane cadda8c263 px4fmu_test:rcS use correct name for px4io bin 2018-11-26 14:40:14 -08:00
Daniel Agar abb3817d31 boards new split VENDOR_MODEL naming convention 2018-11-26 14:40:14 -08:00
Daniel Agar f692ad04d0 boards organization 2018-11-26 14:40:14 -08:00
Matthias Grob c1f851a600 appveyor: shallow clone the main repo 2018-11-25 22:43:11 +01:00
Matthias Grob 2973b77f18 appveyor: use new 0.5 installer 2018-11-25 22:43:11 +01:00
David Sidrane b80fa5f2f5 px4fmu-v5:Remove old comment 2018-11-25 21:02:42 +00:00
Daniel Agar d4f713b286 commander cleanup home position handling 2018-11-25 21:00:51 +00:00
Ramón Hernán Roche Quintana f387fe7e65 sitl_run.sh handle spaces in paths
launch script for jmavsim failed to start if there were any spaces in
paths, string handling in paths was improved and tested.
2018-11-25 14:09:58 -05:00
Daniel Agar a4c4f356b3 Makefile handle spaces in path 2018-11-25 14:09:58 -05:00
Roman Bapst bef8b6b949 mavlink hash check: return early in case of hash check parameter (#10861)
*  a request for setting the '_HASH_CHECK' parameter is handled differently
than the same request for a standard parameter. Make sure we don't actually
try to set the parameter.

Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-25 14:01:23 -05:00
CUAVcaijie eb8a3de987 add rgbled_ncp5623c driver (#10889)
Co-Authored-By: CUAVcaijie <caijie@cuav.net>
2018-11-25 13:40:51 -05:00
TSC21 1268109690 bump px4-dev-raspi container tag 2018-11-25 18:22:47 +00:00
TSC21 ddb4b27fbe set CPACK_DEBIAN_PACKAGE_SHLIBDEPS to OFF 2018-11-25 18:22:47 +00:00
Daniel Agar b9b301c38e update sitl_gazebo to latest master 2018-11-25 11:34:16 -05:00
Daniel Agar 2c33a937dd update docker images to 2018-11-22 tag
- keeping nuttx and armhf compile jobs on 2018-09-11 for now
2018-11-25 11:34:16 -05:00
PX4 Build Bot d42edfc612 Update submodule Mavlink v2.0 to latest Sun Nov 25 07:37:28 EST 2018
- Mavlink v2.0 in PX4/Firmware (d1dc8e440912e7918465163195b73531138e1e8c): https://github.com/mavlink/c_library_v2/commit/6203e2b64395cfa416b9321f633bc3256a79f722
    - Mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/7c47254ddc8bf70eb5e82b4c2142a3faa4fa5780
    - Changes: https://github.com/mavlink/c_library_v2/compare/6203e2b64395cfa416b9321f633bc3256a79f722...7c47254ddc8bf70eb5e82b4c2142a3faa4fa5780

    7c47254 2018-11-21 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/aa72b9e9806854ee822eb2fb4c70c26216113141
2018-11-25 11:34:16 -05:00
Mara Bos 3c660acca8 Add unit test for dynamically loading modules on posix. 2018-11-24 01:58:09 +01:00
Mara Bos d13836eb1e Add dynamic modules on Posix.
You can now add `DYNAMIC` as an option to `px4_add_module`, which will
cause that module to no longer be compiled into the px4 executable, but
instead produce a separate shared library file, which can be loaded and
executed with the new `dyn` command:

    pxh> dyn ./hello.px4mod start

This will load the shared object file `hello.px4mod` if it wasn't
already loaded, and execute its main function with the given arguments.
2018-11-24 01:58:09 +01:00
Mara Bos e9fb17c51a Always use FILE* for standard output.
The threads running commands for clients through the Posix daemon used
to write to a char buffer through snprintf (etc.) which was then written
directly to the file descriptor, whereas in the other case printf
(etc.) was used to write to stdout (FILE*). Both versions used some
macro's and repeated code to have the same output.

This change unifies these two cases by using a FILE* in both cases. The
(line) buffering is done by the standard C library's implementation
(just like with stdout), and px4_log.c now uses the same code in all
cases (using fprintf, etc.) for printing (colored) output.
2018-11-23 12:15:41 +01:00
bresch 20f870137b FW auto - Add parameter for flaps setting during landing 2018-11-23 10:40:27 +01:00
Daniel Agar a6684c6f9a uORB orb_exists use internal linked list instead of file path 2018-11-23 08:15:48 +01:00
Daniel Agar 023e267e9b uORB replace ORBMap with linked list 2018-11-23 08:15:48 +01:00
Daniel Agar 180cd94978 uORBDeviceNode mark all overrides 2018-11-23 08:15:48 +01:00
Daniel Agar f1bf7172e7 make vdev file flags and priv consistent with nuttx 2018-11-23 08:15:48 +01:00
Daniel Agar f9a3235709 remove unused parameter VT_AIRSPD_RULE (#10897)
- fixes #10896
2018-11-22 17:43:33 -05:00
Michael Schaeuble 43034922e2 Mavlink: Incorporate changes in UTM_GLOBAL_POSITION message 2018-11-22 16:55:30 +01:00
Michael Schaeuble a154282fef Mavlink: Use UUID for identifier in UTM_GLOBAL_POSITION 2018-11-22 16:55:30 +01:00
Michael Schaeuble 33a9eb946a Mavlink: Reduce rate of UTM_GLOBAL_POSITION stream 2018-11-22 16:55:30 +01:00
Michael Schaeuble fa4156c3d0 Mavlink: Include UTM_DATA_AVAIL_FLAGS_*_VELO_AVAILABLE flag 2018-11-22 16:55:30 +01:00
Michael Schaeuble ae4654f36a Mavlink: Include new UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE flag 2018-11-22 16:55:30 +01:00
Michael Schaeuble 15439fcc0b Mavlink: Add UTM_GLOBAL_POSITION stream 2018-11-22 16:55:30 +01:00
Michael Schaeuble 30dbfd99fb EKF: Estimate WGS84 altitude with filtered AMSL offset 2018-11-22 16:55:30 +01:00
Roman Bapst 90bfdb6f0a VTOL rate control architecture improvements (#10819)
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
  * move airspeed and scaling calculation into separate method
  * if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed
2018-11-21 20:32:40 -05:00
Daniel Agar 75c1396ed7 cmake sitl_tests silence debug message 2018-11-21 18:13:21 +01:00
Matthias Grob 919a508935 appveyor: run make test also on Windows CI 2018-11-21 14:25:11 +01:00
Matthias Grob be16baaa3c sitl_tests: exclude uorb test from Windows build
Because it was always failing from the beginning on and
we want to make sure no other tests break in the meantime
by running the currently passing tests also on Windows CI.
2018-11-21 14:25:11 +01:00
TSC21 e3af000fdb init.d-posix: make 1013_iris_vision independent of 1010_iris_opt_flow 2018-11-21 12:21:16 +01:00
TSC21 dcdddacdb2 init.d-posix: vision: set the appropriate parameters 2018-11-21 12:21:16 +01:00
TSC21 adc81aaab5 position_estimator_inav: fix covariance check logic 2018-11-21 12:21:16 +01:00
TSC21 20b3adebf4 attitude_estimator_q_main: remove epsilon comparison; fix logic 2018-11-21 12:21:16 +01:00
Daniel Agar 8566b6b53e AV-X increase logger buffer 2018-11-21 09:13:40 +01:00
PX4 Build Bot 7d54913f80 Update submodule matrix to latest Wed Nov 21 00:38:27 UTC 2018
- matrix in PX4/Firmware (4005de7b9600db8a310d52f9bf7a47a0019868d8): https://github.com/PX4/Matrix/commit/0d3bff5e006cfaa358b51e3a6d11984e3782a90e
    - matrix current upstream: https://github.com/PX4/Matrix/commit/9c0acfba36a928b7b002eea3a9dca54a5a0c1250
    - Changes: https://github.com/PX4/Matrix/compare/0d3bff5e006cfaa358b51e3a6d11984e3782a90e...9c0acfba36a928b7b002eea3a9dca54a5a0c1250

    9c0acfb 2018-11-20 Matthias Grob - Matrix: remove unsafe copyToRaw method
2018-11-20 20:35:15 -05:00
Daniel Agar 528b794841 Update submodule mavlink v2.0 to latest Wed Nov 21 00:38:04 UTC 2018
- mavlink v2.0 in PX4/Firmware (14b8108caabb99d1bad2daef31ac51fc061b3691): https://github.com/mavlink/c_library_v2/commit/408a7bedf3074bcae265ea0ce8ec5bb3519ed272
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/6203e2b64395cfa416b9321f633bc3256a79f722
    - Changes: https://github.com/mavlink/c_library_v2/compare/408a7bedf3074bcae265ea0ce8ec5bb3519ed272...6203e2b64395cfa416b9321f633bc3256a79f722
2018-11-20 20:34:27 -05:00
PX4 Build Bot 68bd878877 Update submodule sitl_gazebo to latest Wed Nov 21 00:37:52 UTC 2018
- sitl_gazebo in PX4/Firmware (560a9b45ed): https://github.com/PX4/sitl_gazebo/commit/3d80f63562c24c1537e1f8423ce649c99ebc15ea
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/2adc86b5bf84543091470966caf33c3b4f3ee666
    - Changes: https://github.com/PX4/sitl_gazebo/compare/3d80f63562c24c1537e1f8423ce649c99ebc15ea...2adc86b5bf84543091470966caf33c3b4f3ee666

    2adc86b 2018-11-14 Elia Tarasov - add max value for wind and wind gust means
fb20a36 2018-11-14 Elia Tarasov - add normal gaussian distribution to wind gust force and direction
bd5ce12 2018-11-14 Elia Tarasov - add normal gaussian distribution to wind force and direction
913c094 2018-11-07 Jacob Schloss - reverse order of test
7d08ef5 2018-11-07 Jacob Schloss - fall back to only enabling up to c++14 on old cmake
0fd93b0 2018-11-07 Jacob Schloss - set CMAKE_CXX_STANDARD so cmake does not append a defualt language standard
2018-11-20 20:33:13 -05:00
Eric Babyak 560a9b45ed Fix for initializing Landing Target Estimator in SITL 2018-11-20 18:16:45 +01:00
Matthias Grob 9c0acfba36 Matrix: remove unsafe copyToRaw method
It used a pointer and could therefore not do correct type checking
for index out of bound or struct memebr order.
Has to be considered unsafe and bad practise.
We should switch to arrays as representation for vectors
inside the messages instead of foo_x, foo_y, foo_z fields.
2018-11-20 16:39:44 +00:00
Julian Oes 62188f6151 px_romfs_pruner.py: PEP8 and comments fixes 2018-11-20 15:16:54 +01:00
Julian Oes 177d14c8ea px_romfs_pruner.py: remove deprecation warning
The open flag `U` causes a deprecation warning starting with Python 3.4.
The option to open all kinds of newlines as `\n` has been replaced with
the argument `newline=None`. However, this argument is not available for
Python 2 unless we use `io.open` instead of `open`.
2018-11-20 15:16:54 +01:00
Beat Küng 1e17a86a39 collisionprevention: fix typo in param description & minor code style 2018-11-20 14:14:13 +01:00
baumanta 053494c535 use only one parameter and enable parameter change in flight. clean up code 2018-11-20 14:11:33 +01:00
baumanta efa7e0ba77 clean up 2018-11-20 14:11:33 +01:00
baumanta f5369db245 Put parameters inside library. Get rid of unnecessary activation logic 2018-11-20 14:11:33 +01:00
baumanta dd45fa6541 change feature name from CollisionAvoidance to CollisionPrevention 2018-11-20 14:11:33 +01:00
baumanta f611eddadd unadvertise publishers in the destructor 2018-11-20 14:11:33 +01:00
Matthias Grob 81ec6c5b1e ColisionAvoidance: move instantiation to FlightTask 2018-11-20 14:11:33 +01:00
Matthias Grob 7e276bc163 CollisionAvoidance: move activation logic to library 2018-11-20 14:11:33 +01:00
baumanta 27dc60a419 Improve comments 2018-11-20 14:11:33 +01:00
baumanta ce7dc85450 Change wrong comment 2018-11-20 14:11:33 +01:00
baumanta db514fe441 Add a collision avoidance library which uses range data 2018-11-20 14:11:33 +01:00
David Sidrane 1d12827408 Commander:Replace color based LED manipulators with logical ones. 2018-11-19 14:32:47 -05:00
David Sidrane fbc143dc55 sitl:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on sitl
2018-11-19 14:32:47 -05:00
David Sidrane 05ea187b1d px4nucleoF767ZI-v1:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4nucleoF767ZI-v1
2018-11-19 14:32:47 -05:00
David Sidrane b37675fa76 px4fmu-v5:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4fmu-v5
2018-11-19 14:32:47 -05:00
David Sidrane 26026b5d39 px4fmu-v4pro:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4fmu-v4pro
2018-11-19 14:32:47 -05:00
David Sidrane 735830a483 px4fmu-v4:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4fmu-v4
2018-11-19 14:32:47 -05:00
David Sidrane 90106c1fd2 px4fmu-v2:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4fmu-v2
2018-11-19 14:32:47 -05:00
David Sidrane e40a0839e9 px4-stm32f4discovery:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4-stm32f4discovery
2018-11-19 14:32:47 -05:00
David Sidrane 03aae61395 px4-same70xplained-v1:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on px4-same70xplained-v1
2018-11-19 14:32:47 -05:00
David Sidrane 42a8a6ffac omnibus-f4sd:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on omnibus-f4sd
2018-11-19 14:32:47 -05:00
David Sidrane 1da0021be9 nxphlite-v3:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on nxphlite-v3
2018-11-19 14:32:47 -05:00
David Sidrane a12f26aee0 mindpx-v2:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on mindpx-v2
2018-11-19 14:32:47 -05:00
David Sidrane 3c6539257f crazyflie:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on crazyflie
2018-11-19 14:32:47 -05:00
David Sidrane e960978296 auav-x21:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on auav-x21
2018-11-19 14:32:47 -05:00
David Sidrane aa30560d68 aerofc-v1:Added Logical BOARD specific LED mapping
Define the logical LED that are uses on aerofc-v1
2018-11-19 14:32:47 -05:00
David Sidrane 96ba6c1174 sitl led:Support logical LED operations in commander
add support for all the LEDS to support
   BOARD_HAS_CONTROL_STATUS_LEDS
2018-11-19 14:32:47 -05:00
David Sidrane 0a1dd24af6 omnibus-f4sd:led clean up code and prevent out of bounds indexing 2018-11-19 14:32:47 -05:00
David Sidrane dc29820bd9 Document the LED colors used 2018-11-19 14:32:47 -05:00
David Sidrane 98394afcc7 board common:Define default CONTROL_STATUS LED mapping
This commit is the groundwork to fix the power LED
   blinking on V5

   Background:
   ----------
   Early boards only had an AMBER LED that was used to
   indicate a High Load condition.

   This change defines the new logical inteface
   the LED_<color> should not be used in application
   code moving forward, only the minipulator macros
   should be used.

       Logical usage             Legacy default
      ------------------------+-------------
       BOARD_OVERLOAD_LED     | LED_RED

   Later boards defined BOARD_HAS_CONTROL_STATUS_LEDS
   and added the use of a BLUE and GREEN LED that were
   used as follows:

   Logical usage             Legacy default
      ------------------------+-------------
       BOARD_ARMED_LED        | LED_BLUE
       BOARD_ARMED_STATE_LED  | LED_GREEN

   With this PR a board may now define _only_ a subset
   the leds and map them at the board level to the
   color LED it wants to use.

       Logical usage             Legacy default
      ------------------------+-------------
       BOARD_OVERLOAD_LED     | LED_RED
    when BOARD_HAS_CONTROL_STATUS_LEDS is defined
       BOARD_ARMED_LED        | LED_BLUE
       BOARD_ARMED_STATE_LED  | LED_GREEN

   If any of the BOARD_{OVERLOAD|ARMED|ARMED_STATE}_LED are not
   defined. The code output generates a null action for that
   LED.
2018-11-19 14:32:47 -05:00
Daniel Agar bba475aca1 logger limit trajectory_setpoint rate 2018-11-19 09:59:22 -05:00
Daniel Agar 26bac9594f add simple SITL shutdown test 2018-11-16 16:43:19 -05:00
Daniel Agar 48ba88eaf0 pwm_out_sim add mixer saturation status publication (#10866) 2018-11-16 16:42:20 -05:00
Paul Riseborough 3ee596284d ecl: Magnetic declination use improvements
Fixes bugs causing learned or GEO lookup declination to not be used in some circumstances.

https://github.com/PX4/ecl/pull/518
https://github.com/PX4/ecl/pull/520
2018-11-16 10:25:59 -05:00
Matthias Grob 8090734fe1 appveyor: switch cache to the entire PX4 folder
to save the time running the installer for every build
which was necessary before because the folder exceedes
the maximum of 1GB cache of the appveyor free plan
2018-11-16 10:19:58 -05:00
Daniel Agar 30fe079844 qurt px4_layer fix style 2018-11-16 09:53:28 -05:00
Daniel Agar 4278dd8fb4 posix px4_layer fix style 2018-11-16 09:53:28 -05:00
TSC21 05d9932f6c logger: limit vehicle_*_odometry topics to 30hz on default logging 2018-11-16 09:44:32 +01:00
TSC21 2c111222cf logger: fix vision topics naming 2018-11-16 09:44:32 +01:00
dkang 4901f8a1dc add execption check after malloc 2018-11-16 08:15:26 +01:00
bresch 7779c0bd69 MPC - Update velocity integrator definition 2018-11-15 22:08:00 +01:00
bresch d852ce20e6 MPC - Increase max velocity integral gain to 3.0 2018-11-15 22:08:00 +01:00
bresch 0863e95a2c Add "Tracking Anti-Reset Windup" in velocity PID controller 2018-11-15 22:08:00 +01:00
Daniel Agar 88f6271061 Jenkins add tests on MacOS 2018-11-15 20:52:48 +01:00
Daniel Agar c2e0368370 Update submodule Mavlink v2.0 to latest Thu Nov 15 00:37:24 UTC 2018
- mavlink v2.0 in PX4/Firmware (0b3f4014bf751cde2a08abb578c10ae5606404b1): https://github.com/mavlink/c_library_v2/commit/32dcf73bb24516dc0d52119e624fda8987a03f62
 - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/408a7bedf3074bcae265ea0ce8ec5bb3519ed272
    - Changes: https://github.com/mavlink/c_library_v2/compare/32dcf73bb24516dc0d52119e624fda8987a03f62...408a7bedf3074bcae265ea0ce8ec5bb3519ed272

408a7be 2018-11-13 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/f3e60ba1ca9c458364cc9538499a1335aa2feb5e
c18232f 2018-11-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2c52b06e125f88f6b674db112f127dc35d7a9c71
49a94c7 2018-11-09 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/c788ca3e143fbb0fd1f90a14fd2a473673b50973
0c4b296 2018-10-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/387c0fd71547d71f1e89578c8ef78c6bac8d6094
40bfa6c 2018-10-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4590822ebde2a5737504c832669d74310afa4b8e
ad2c30b 2018-10-26 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/38ecb35a3e3e6702b5522ac33188a53cc1fe698e
9fbf059 2018-10-24 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/30b63eb0c20160ddeeca3eef4238f370d3f3d43f
7915ad4 2018-10-23 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2c6a8807b85317275c9d027afba7f646eb7db961
4371e84 2018-10-23 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/573e35231804ad775796472bcdcd331b4479cf4d
d67e172 2018-10-22 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/40f83b2d4ff43fa65d08bb5ebeb9186dc2e8c2a6
852935c 2018-10-16 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/d683ddc28b1254ea8645dd2a18e5765b6bab0eba
2018-11-14 20:43:53 -05:00
Paul Riseborough c49ab760c7 EKF: Allow EKF to start without using mag data when not using earth frame data 2018-11-15 09:03:03 +11:00
Daniel Agar 572710ed27 EKF add typed Quatf getter 2018-11-14 22:50:39 +01:00
CarlOlsson 8a2e512c2d terrain_estimator: add vehicle_variance_scaler 2018-11-15 08:38:48 +11:00
Paul Riseborough acde4ebcc3 EKF: fix comment 2018-11-15 07:16:31 +11:00
Paul Riseborough df571202c5 EKF: Fix bug preventing saved declination being used for first alignment 2018-11-15 07:16:31 +11:00
Paul Riseborough 4657a9cd21 EKF: Ensure yaw gets reset when declination is set 2018-11-15 07:16:31 +11:00
Mara Bos c882ca9389 On Posix: Don't shutdown (half) the connection from the client.
This triggered POLLHUP too early on Mac.
2018-11-14 17:36:29 +01:00
Julian Oes d7c34ddee4 mavlink: fix yawing to North for LOITER_TIME (#10828)
* mavlink: yaw should wrap at 2 pi, not pi
* mavlink: use newer rad/deg conversion
2018-11-13 14:32:40 -05:00
Mara Bos 9594ebf72e Use unix sockets instead of pipes for posix daemon. (#10766)
Unlike pipes, unix sockets provide bi-directional
communication with each connected client.

- No need to generate a unique uuid per client anymore.

- The client doesn't have to create its own pipe anymore.

- Since there is no risk of multiple client's writes getting mixed up,
  messages don't need to fit in a single write anymore, removing the
  limit on command length.

- Since the server can detect a connection closing, the client no longer
  needs to handle signals. When the client is killed, the connection is
  automatically closed, which will cause the server to kill the related
  px4 thread.
  Since this does not rely on handling signals and the client sending an
  additional message, this is much more reliable.

- Client is no longer a singleton.

- The protocol is simplified. Standard output is directly written to the
  socket back to the client, without wrapping it in any protocol
  message.

- Because of the simple protocol, one could now even use netcat to run a
  px4 command:

    $ echo hello | netcat -UN /tmp/px4-sock-0

Also removes a few race conditions.
2018-11-13 14:31:22 -05:00
Hamish Willee 9379c010f1 TRAJECTORY message renamed 2018-11-13 12:13:01 -05:00
Beat Küng 9a9c17b979 vehicle_attitude_setpoint: add comment that attitude sp angles can be NaN for FW 2018-11-13 09:30:18 +01:00
Beat Küng b3afa6ddac mc_pos_control: fix task activation failure for Transition 2018-11-13 09:30:18 +01:00
Beat Küng 330941c1fc FlightTaskManualAltitude: initialze yaw setpoint with NAN
Also update some comments.

In case we activate the task and don't have a locked yaw, we should
initialize the yaw setpoint with NAN to avoid any abrupt changes.
2018-11-13 09:30:18 +01:00
Beat Küng 2b7d3bd088 flight tasks: move weather vane yaw handler from Altitude to Position task 2018-11-13 09:30:18 +01:00
Beat Küng c9e52d4386 MPC_MAN_TILT_MAX: increase max limit from 90 to 180 degrees
This is especially useful for testing (the vehicle must behave correctly
even at high tilt angles).
2018-11-13 09:30:18 +01:00
Beat Küng adf1fea554 mc_att_control: fix for Rattitude mode
When switching back from rate to attitude control, the code depended on a
vehicle_control_mode topics update, but the publication frequency of that
is low. So the switch was noticeably delayed.
2018-11-13 09:30:18 +01:00
Beat Küng 36ee0297ee FlightTask.hpp: minor code cleanup 2018-11-13 09:30:18 +01:00
Beat Küng ca7acae904 mc stabilized mode: move from mc_pos_control to mc_att_control
- better in terms of dependencies:
  - the position controller code depended on position topics for yaw
  - mc_pos_control does not have to be run for Stabilized mode
- the code path is much simpler, and thus less error prone. This is
  especially important since Stabilized is often used as a fail-safe flight
  mode.
2018-11-13 09:30:18 +01:00
Beat Küng f31f63fff7 mc_att_control: use orb_publish_auto
use nullptr for instance to make sure we always get the first instance.
2018-11-13 09:30:18 +01:00
Beat Küng 00c2086dd6 mc_pos_control: simplify weathervane logic 2018-11-13 09:30:18 +01:00
Beat Küng 1946f043f1 mc_pos_control: print active flight task for 'mc_pos_control status' cmd 2018-11-13 09:30:18 +01:00
Beat Küng e7e06dfe38 fix mc_pos_control: disable flight tasks if none of them should be running
Previously when switching e.g. from stabilized from acro, the stabilized
flight task kept running and publishing setpoints.
Luckily it caused no problems, but the log showed arbitrary attitude
setpoints.
2018-11-13 09:30:18 +01:00
Roman 68a3cbc368 addressed review comment
Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-13 08:42:28 +11:00
Roman a74b7ef60b 3D only mag fusion: make sure _flt_mag_align_complete is set
- _flt_mag_align_complete was not set when choosing pure 3D mag fusion.
one effect of this was that the declination used in the filter was not
the one calculated from the magnetic field states.

Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-13 08:42:28 +11:00
bresch f590137525 Fix HIL
Revert "pwm_out_sim lazily publish actuator_outputs"

This reverts commit bcad940a9f.
2018-11-12 19:21:15 +01:00
Daniel Agar 4e2bf27da6 FlightTaskAuto set WaypointType from position setpoint types 2018-11-11 10:21:41 -05:00
Daniel Agar 246b879aea require MODULE_NAME 2018-11-10 13:52:34 -05:00
David Sidrane 8d15da379b nxphlite-v3:Add HolyBro GPS on I2C 2 using ist8310 2018-11-09 15:04:51 -05:00
Beat Küng e91db7b4d2 uORBDeviceNode: move flags from SubscriberData to UpdateIntervalData
As there is only one bit used in 'flags', and it is only used in case
update_interval is not null, we can move the bit to UpdateIntervalData.

The size of UpdateIntervalData does not increase (on 32 bit).

Reduces RAM usage by 3.6KB (tested on a Pixracer).
2018-11-07 19:45:53 +08:00
bresch 90cee2d5ea Manual Smoth Vel - Override reActivate to not reset Z axis (prevented takeoff) 2018-11-06 22:17:00 +01:00
bresch c3a4fff0cd Auto traj - generate heading from trajectory velocity vector if possible 2018-11-06 22:17:00 +01:00
bresch 066d1f50c4 Auto traj - Add dedicated parameter to enable trajectory smoothing in auto mode only 2018-11-06 22:17:00 +01:00
bresch 7205e8f359 Auto traj - Add Trajectory logging
- move the update after the integration: a new computed jerk has an impact at the next epoch only
- add jerk reduction in case of too large integration time: when a jerk of "min_jerk" during dt is too much
- add jerk reduction if the integration time is larger than the predicted one and that integrating that jerk would lead to an acceleration overshoot
- rename some variables
2018-11-06 22:17:00 +01:00
bresch 2847ce20b8 Auto traj - Add parameter for gain of trajectory controller 2018-11-06 22:17:00 +01:00
bresch 2c63388fb7 Auto Traj - Disable reActivate "reset" function for AutoLineSmoothVel Flight Task 2018-11-06 22:17:00 +01:00
bresch 0209fa00bf Auto Smooth Vel - Add AutoMapper2 and AutoLineSmoothVel flight tasks 2018-11-06 22:17:00 +01:00
bresch 67c0846068 Vel smooth - Improve position lock/unlock detection 2018-11-06 22:17:00 +01:00
bresch d9edcfdc06 Trajectory - format style 2018-11-06 22:17:00 +01:00
bresch aa586ca327 Trajectory - Overload integrate function to allow for custom integration period 2018-11-06 22:17:00 +01:00
bresch 7073187a48 Trajectory - Add getters for current position and velocity. Move some getters to public section 2018-11-06 22:17:00 +01:00
bresch 6a7ce651bc Trajectory - Add position lock-unlock logic and proper initialization from controller feedback 2018-11-06 22:17:00 +01:00
bresch 84665672ad Vel smooth - Change jerk scheduling strategy 2018-11-06 22:17:00 +01:00
bresch ab7e4436b3 Vel smooth - Add Z trajectory 2018-11-06 22:17:00 +01:00
Beat Küng 787d82c9e6 VelocitySmoothing: simplify the API & fix style 2018-11-06 22:17:00 +01:00
bresch 4f668c0c2d SITL - update default velocity PID gains 2018-11-06 22:17:00 +01:00
Beat Küng d8cb6bb834 mc_pos_control_params: update jerk params (limits + defaults + description) 2018-11-06 22:17:00 +01:00
bresch 22780efcd0 Trajectory - Add time synchronization between trajectories. Split update(...) function into updateDurations(...) and integrate(...) to be able to insert time synchronization in between. 2018-11-06 22:17:00 +01:00
Beat Küng 86463e4ec7 Flight Tasks: add new trajectory smoothing flight task & library
Derivation by Mathieu Bresciani:
https://github.com/Auterion/trajectory_generator
2018-11-06 22:17:00 +01:00
Roman deed462e62 tiltrotor back-transition improvements:
- do not set zero throttle during the entire back-transition because otherwise
we need to make the back-transition really short
- added ramping up of throttle setpoint during backtransition to avoid
step inputs
- back-transition ends after back-transition time and not when motors are fully
rotated updwards. previously the vehicle would enter hover mode at high speed
which was not handled well by the mc position controller

Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-06 22:10:38 +01:00
James Goppert c642025339 vehicle_attitude only based yaw control fix (#10803)
* Add attitude sub to mc_pos_control for yaw usage.

* Initialize pos control _states struct.

* Remove unnecessary init for struct in mc pos ctrl.

* Only use att topic for yaw setting in FlightTask.
2018-11-06 12:03:13 -05:00
Roman 40884a9238 FlightTaskTransition: added missing override
Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-07 00:13:43 +08:00
Roman 50724bce86 mc_pos_control: support VTOL transitions again
Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-07 00:13:43 +08:00
Roman fea309b606 added a flighttask for automatic vtol transitions
Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-07 00:13:43 +08:00
Beat Küng df559f3042 logger: unlock the mutex for fsync & call fsync only when backend is running
- fsync can be a long blocking operation, so we need to make sure the main
  logger thread does not block during this time, when it tries to aquire
  the mutex
- fixes calling fsync on an invalid file descriptor
2018-11-07 00:08:23 +08:00
Daniel Agar 7caf9803ed delete unimplemented SENSORIOCRESET IOCTL 2018-11-06 07:43:43 +08:00
Daniel Agar b0caea9edc mpu9250 remove interface IOCTLs 2018-11-06 07:43:43 +08:00
Daniel Agar e164281a2e mpu6000 remove interface IOCTLs 2018-11-06 07:43:43 +08:00
Daniel Agar dd0baaee91 delete IOCTL SENSORIOCSQUEUEDEPTH
- only used in test routines
2018-11-06 07:43:43 +08:00
Daniel Agar d2ed091a1d delete IOCTL SENSOR_POLLRATE_MAX
- only SENSOR_POLLRATE_DEFAULT is needed
2018-11-06 07:43:43 +08:00
Daniel Agar 556a9422b5 delete IOCTL SENSOR_POLLRATE_MANUAL
- only used in self tests
2018-11-06 07:43:43 +08:00
Daniel Agar 8dfd55fc9e delete unused IOCTL SENSORIOCGPOLLRATE 2018-11-06 07:43:43 +08:00
Daniel Agar 9cd3e3d1cf distance sensors delete unused IOCTL SENSORIOCSQUEUEDEPTH 2018-11-06 07:43:43 +08:00
Daniel Agar ac04db6084 delete unnecessary drv_px4flow.h 2018-11-06 07:43:43 +08:00
Daniel Agar d76155107c delete unused IOCTL MAGIOCGRANGE 2018-11-06 07:43:43 +08:00
Daniel Agar 0ea18b2b73 delete unused IOCTL MAGIOCGSAMPLERATE 2018-11-06 07:43:43 +08:00
Daniel Agar 60a40ec131 delete unused IOCTL MAGIOCSSAMPLERATE 2018-11-06 07:43:43 +08:00
Daniel Agar 04972d196a delete unused IOCTL MAGIOCTYPE 2018-11-06 07:43:43 +08:00
Daniel Agar 114b471675 delete unnecessary drv_iridiumsbd.h 2018-11-06 07:43:43 +08:00
Daniel Agar 1f2cb8740a delete unnecessary drv_irlock.h 2018-11-06 07:43:43 +08:00
Daniel Agar 76a6cd10b1 delete unnecessary drv_gps.h 2018-11-06 07:43:43 +08:00
Daniel Agar 571364c617 delete baro_report (alias for sensor_baro_s) 2018-11-06 07:43:43 +08:00
Daniel Agar 85c2b6307c delete unused IOCTL AIRSPEEDIOCGSCALE 2018-11-06 07:43:43 +08:00
Daniel Agar acc24da0c2 delete gyro_report (alias for sensor_gyro_s) 2018-11-06 07:43:43 +08:00
Daniel Agar 42f9aa6e43 delete drv_gyro.h GYROx_DEVICE_PATH 2018-11-06 07:43:43 +08:00
Daniel Agar aaf1667b09 delete unused GYRO_SAMPLERATE_DEFAULT 2018-11-06 07:43:43 +08:00
Daniel Agar 3daf37433e delete unused IOCTL GYROIOCSSAMPLERATE 2018-11-06 07:43:43 +08:00
Daniel Agar 60c14fe8f1 delete unused IOCTL GYROIOCGSAMPLERATE 2018-11-06 07:43:43 +08:00
Daniel Agar 0d67050089 delete unused IOCTL GYROIOCTYPE 2018-11-06 07:43:43 +08:00
Daniel Agar ef65e5267a delete unused IOCTL GYROIOCGRANGE 2018-11-06 07:43:43 +08:00
Daniel Agar 068dcb37df delete unused IOCTL GYROIOCSRANGE 2018-11-06 07:43:43 +08:00
Daniel Agar aaf0b6fb5c delete unused IOCTL GYROIOCGSCALE 2018-11-06 07:43:43 +08:00
Daniel Agar f21f1a1357 delete drv_accel.h ACCELx_DEVICE_PATH 2018-11-06 07:43:43 +08:00
Daniel Agar 2a83a40491 delete accel_report (alias for sensor_accel_s) 2018-11-06 07:43:43 +08:00
Daniel Agar 22c9fb7290 delete unused IOCTL ACCELIOCGEXTERNAL 2018-11-06 07:43:43 +08:00
Daniel Agar e759e0e1a5 delete unused IOCTLs ACCELIOCSSAMPLERATE and ACCEL_SAMPLERATE_DEFAULT 2018-11-06 07:43:43 +08:00
Daniel Agar eddbd3fc4b delete unused IOCTL ACCELIOCTYPE 2018-11-06 07:43:43 +08:00
Daniel Agar 77abcab46f delete unused IOCTL ACCELIOCGRANGE 2018-11-06 07:43:43 +08:00
Daniel Agar 5d3d120705 delete unused IOCTL ACCELIOCSRANGE 2018-11-06 07:43:43 +08:00
Daniel Agar b0c3e12139 delete unused IOCTL ACCELIOCGSCALE 2018-11-06 07:43:43 +08:00
Daniel Agar 8ad59160c9 delete unused IOCTL ACCELIOCGSAMPLERATE 2018-11-06 07:43:43 +08:00
Daniel Agar f59f0d4b2d delete unused IOCTL SENSOR_POLLRATE_EXTERNAL 2018-11-06 07:43:43 +08:00
Dennis Mannhart 3b92d49b64 replace + with && 2018-11-05 21:54:19 +01:00
Dennis Mannhart 6a0a9c92fb PositionControl:
- set integral states and setpoint of reference state to 0
- set thrust to NAN if it will be computed from position and velocity control
2018-11-05 21:54:19 +01:00
Martina 44aa33be09 obstacle_distance: update distances description according to latest obstacle_distance mavlink message 2018-11-05 15:25:58 +01:00
Daniel Agar e3388ec1d6 px4fmu-v2_default disable pwm_input 2018-11-02 16:09:43 +01:00
Daniel Agar 1376e9a39e px4fmu-v2_default disable ms5525 2018-11-02 16:09:43 +01:00
Nuno Marques bba59ca067 RTPS topics: temporarly reduce the number of topics being used to send and receive (#10800) 2018-11-01 19:21:42 -04:00
Jake Dahl 387d6ffbc1 This work should be complete. Waiting for Alex to validate config settings 2018-11-01 10:49:26 -04:00
Jake Dahl e6f9caccf4 removed batt_smbus from uorb_graph create.py 2018-11-01 10:49:26 -04:00
Jake Dahl 27c6432757 added unseal() and seal() around write_flash() for enabling/disabling cell undervoltage, we found out today this wasn't being written because that address is in protected flash 2018-11-01 10:49:26 -04:00
Jake Dahl 5dbb34c841 added other bus options to the documentation 2018-11-01 10:49:26 -04:00
Jake Dahl bd807f4db2 took care of minor clang-tidy complaints 2018-11-01 10:49:26 -04:00
Jake Dahl 69b59b9d63 commented out something causing trouble with CI, it is in an unused function but I'd like to keep the comment there as a reference for future development effort 2018-11-01 10:49:26 -04:00
Jake Dahl 6ba78858e3 changed variable name 2018-11-01 10:49:26 -04:00
Jake Dahl 7fb73ae2c0 made init() a public function in posix I2C 2018-11-01 10:49:26 -04:00
Jake Dahl 7c3f1d448a trimmed includes, house keeping 2018-11-01 10:49:26 -04:00
Jake Dahl 2e732b9c0b removed unneeded file, some more clean up 2018-11-01 10:49:26 -04:00
Jake Dahl f8b9217750 batt_smbus rework 2018-11-01 10:49:26 -04:00
Jake Dahl d71fc31d8b added an SMBus base class 2018-11-01 10:49:26 -04:00
hdiethelm 33422700de lis3mdl: fix handling when multiple sensors are available (#10753)
* lis3mdl: Report calibration successful when starting with -C option
* lis3mdl: Use PX4_OK, PX4_ERROR for return value / orb_unadvertise
* Fixes #10740
2018-11-01 10:44:41 -04:00
Thunder 662c206ceb fix ControlMath.cpp mathematical derivation error (#10796) 2018-11-01 10:13:59 -04:00
Julian Oes 428c2f72bd mavlink: always acknowledge a param write
This change has two effects:
1. We always acknowledge a param write no matter if the value was
   actually changed or not. This is according to the spec:
   https://mavlink.io/en/services/parameter.html#write-parameters
2. This fixes the bug where int32 parameters were not actually acked
   because the memory of the param value was casted directly to float
   and then compared. In the case of a int32 parameter set from 0 to 1
   it would mean that the cast to float of the memory representation
   was still 0 and therefore it was assumed to be "no change" and the
   ack was omitted.
2018-11-01 00:06:22 +01:00
Jake Dahl 118e5d9607 set feedforward to zero, was set inappropriately 2018-11-01 00:05:10 +01:00
Jake Dahl b01849ce56 fixed a problem where the heater was getting stuck on. This was due to the next on time being calculated as a negative time, thus causing it to not get rescheduled in the work_queue. Also removed some includes in the header file 2018-11-01 00:05:10 +01:00
Beat Küng 52fc56a61f gps: explicitly set SPI bus speed to 1MHz
Required on RPi, the default seems to be too high.
2018-10-30 20:36:25 -04:00
Beat Küng bec43b0b28 mc_att_control: run rate controller first and increase fmu prio by one
The rate controller is now run directly after a gyro publication, and
as soon as it publishes the actuator controls, the output driver (fmu/...)
runs.

Test on a Pixracer:
Reduces fmu control latency from 219us to 134us.
If we run the rate controller last (same order as before, just increase
the prio), the latency is 201us.

CPU load is unchanged.

The drawback is that the attitude to rate setpoint generation is delayed
by one cycle (4ms), but it will be reduced to 1ms as soon as we run at
1kHz.
2018-10-30 20:20:25 -04:00
Beat Küng 95cc6a06f3 mc_att_control: separate attitude controller from rate controller update
This will allow to run the rate controller faster than the attitude
controller.
2018-10-30 20:20:25 -04:00
Beat Küng fc997dd0d5 mc_att_control: reduce minimum required dt
2ms is not enough to run at 1kHz
2018-10-30 20:20:25 -04:00
Beat Küng d552c2a362 refactor mc_att_control: move publications into separate methods
improves readability & reduces duplicated code
2018-10-30 20:20:25 -04:00
David Sidrane 71f809a20c px4_micro_hal:Add STM32 stm32_gpiosetevent 2018-10-30 19:29:15 -04:00
Hamish Willee 44f650fdc9 Add additional info to FW_LND_USETER (#10777) 2018-10-30 10:14:52 -04:00
Daniel Agar cf4b19d153 delete unused FMU_pass mixer 2018-10-30 09:18:39 -04:00
Lukas Woodtli a7d297ed57 Fix division by zero and cast of to big floats to int 2018-10-28 16:54:36 +01:00
Lukas Woodtli 6caf0d114d Fix division by zero and cast of too big floats to int 2018-10-28 16:54:36 +01:00
Mara Bos 96a33d1afc Enable __attribute__((format)) on px4 logging functions.
This makes the compiler warn about invalid format strings.
2018-10-27 12:44:51 +02:00
Mara Bos 10c20b38ad Fix many format strings.
Fixes these invalid format strings:
- A `%d` for a pointer (replaced it by `%p`)
- A 0x%08x (and a 0x%0x8!) for a pointer (replaced by %p)
- 2 cases of `%d` for a `ssize_t` (replaced it by `%zi`)
- 1 case of a %u for an `int` (replaced by %i)
- 3 cases of %d for a `long` (replaced by %ld)
- 19 cases of `%d`, `%i`, `%u` or `%lu` for a `size_t` (replaced it by `%zu`)
- An unused formatting argument (removed it)
- A missing `%d` (added it)
- A missing `%s` (added it)
- 2 cases of `%llu` for a `uint64_t` (replaced it by `"%" PRIu64`)
- 6 cases of giving a string directly as format string (replaced it by `("%s", string)`)
- 2 cases of %*-s, which should probably have been %-*s.
  (Looks like NuttX accepts (the invalid) %*-s, but other platforms don't.)
- A %04x for a `uint32_t` (replaced by "%04" PRIx32)
2018-10-27 12:44:51 +02:00
Beat Küng dc62454f0a px4fmu-v2_default: disable sf1xx distance sensor
Due to limited flash space
2018-10-26 08:02:42 +02:00
Beat Küng db7cbf1770 aerofc, crazyflie, omnibus: remove vtol module 2018-10-26 08:02:42 +02:00
Beat Küng 86673ecfcb navigator: remove dependency on vtol module by using the C param API
This is the quickest way to achieve the desired result.
Long-term we might do something else.
2018-10-26 08:02:42 +02:00
Beat Küng ee5c18a737 SDLOG_MISSION param: update description 2018-10-26 08:02:42 +02:00
Beat Küng c5d8abff00 log_writer_file: rename argument to avoid shadowing warning 2018-10-26 08:02:42 +02:00
Beat Küng 2642915a76 logger: enable mission log by default
To get it field-tested. This can be reverted for a release...
2018-10-26 08:02:42 +02:00
Beat Küng 3a462c2ba7 refactor logger: move debug buffer printf into separate method (DBGPRINT) 2018-10-26 08:02:42 +02:00
Beat Küng 234ec7f2a2 logger: add mission log to frontend, configurable via SDLOG_MISSION
- mission logs are stored in a separate directory mission_log
- It's disabled by default
- Does not increase RAM usage if disabled (if enabled, only 300 bytes)
- Log rotate does not apply to the mission logs
2018-10-26 08:02:42 +02:00
Beat Küng 4fc1c5c4f5 LogWriterFile: split long header messages that exceed the buffer length
Some message formats are longer than the 300 bytes. We can split the writes
because we have to wait until they are written anyway.
2018-10-26 08:02:42 +02:00
Beat Küng 28ac7679e0 logger: change message id from uint16_t to uint8_t
256 subscriptions are enough for now.
Reduces RAM usage by 300 bytes.
2018-10-26 08:02:42 +02:00
Beat Küng d6e820fe67 logger: add mission file to LogWriterFile backend
Not used yet, it should not affect anything, except for slight RAM
increase.
2018-10-26 08:02:42 +02:00
Beat Küng b86c7d2e8f Logger: only write subscribed topic format definitions
Previously the formats of all known uorb messages were written.

- reduces header size by about 13KB
- reduce ulog_message_format_s size to reduce required stack size.
  Largest message format is about 1000 bytes.
2018-10-26 08:02:42 +02:00
Beat Küng 0745ba9052 refactor logger: move some code inside run() into separate methods 2018-10-26 08:02:42 +02:00
Beat Küng 5eafa1b34b refactor logger: move some independent methods into separate util file 2018-10-26 08:02:42 +02:00
Beat Küng b65871b433 fix reposition: set acceptance radius
Previously the acceptance radius was 0, so the FlightTaskAutoLine was
randomly changing yaw and sometimes going into a random direction.
There is still something else wrong in there, but avoids the reposition
problem.
2018-10-25 17:05:27 +02:00
David Sidrane 3e9e55150d px4nucleoF767ZI-v1: use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 0658d4e2e5 px4fmu-v4pro:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 161288ef71 px4fmu-v4:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 0cd2d8f4aa px4fmu-v2:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 9b4b831b22 px4-same70xplained-v1:Does not use hardfault_log 2018-10-25 07:52:37 +02:00
David Sidrane 4cda5513b9 omnibus-f4sd:use board_hardfault_init API and indicate on BLUE LED 2018-10-25 07:52:37 +02:00
David Sidrane e0431911f9 nxphlite-v3:No Support for BBSRAM nor hardfault 2018-10-25 07:52:37 +02:00
David Sidrane 4353476b01 mindpx-v2:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 365c5d3ea7 crazyflie:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 082aa81ee9 av-x-v1:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 1e35fe189a auav-x21:use board_hardfault_init API 2018-10-25 07:52:37 +02:00
David Sidrane 1856c4760d aerocore2:Make sure errors light LED 2018-10-25 07:52:37 +02:00
David Sidrane 68ce4cf11d aerofc-v1:Does not support bbsram no board_hardfault_init 2018-10-25 07:52:37 +02:00
David Sidrane 177251cc21 px4fmu-v5:use common board_hardfault_init 2018-10-25 07:52:37 +02:00
David Sidrane 74695f3cfb stm32:add stm32 and stm32f7 board_hardfault_init 2018-10-25 07:52:37 +02:00
David Sidrane 2f6a297f3d board_common:Add API for hardfault init 2018-10-25 07:52:37 +02:00
Beat Küng 294af5daad LowPassFilter2p: fix _cutoff_freq <= 0 (disabled filter)
If the filter was disabled, the apply() would always return 0.
2018-10-24 20:43:42 +02:00
Daniele Pettenuzzo d2e2b5e8ce add pmw3901 optical flow support for fmu-v5 (#10750) 2018-10-24 10:25:41 -04:00
David Sidrane 99294b2040 fmu:Add Range checking for PWM5 modes 2018-10-23 08:15:28 +02:00
Daniel Agar d832b4fe28 rc.mavlink AV-X reduce companion baudrate 2018-10-23 08:15:11 +02:00
CarlOlsson d0c69efff9 gpio_led: fixed typo 2018-10-22 09:26:06 -04:00
CarlOlsson 6499a4ffc7 board_config: fixed typo 2018-10-22 09:26:06 -04:00
CarlOlsson f15365fe97 process_sensor_data.py: update description 2018-10-22 09:26:06 -04:00
CarlOlsson db4d79358a commander: fix typo 2018-10-22 09:26:06 -04:00
CarlOlsson b85710b194 ekf2: fix typo 2018-10-22 09:26:06 -04:00
CarlOlsson 02a3528f24 commander: fix typo 2018-10-22 09:26:06 -04:00
CarlOlsson c826140c2b commander: update comment to make post takeoff ekf quality test logic more clear 2018-10-22 09:26:06 -04:00
CarlOlsson cd382d8874 voted_sensors_update: fix typo 2018-10-22 09:26:06 -04:00
CarlOlsson 7b0e0de43c ekf2: fix typo 2018-10-22 09:26:06 -04:00
CarlOlsson 6647471238 ekf2: increase maximum of EKF2_MAG_YAWLIM. This is needed on some fw platforms
in order to not constantly switch mag fusion mode in gusty winds.
2018-10-22 09:26:06 -04:00
CarlOlsson 82106cc4c1 fw_l1_control: add underscores to perf for consistency 2018-10-22 09:26:06 -04:00
CarlOlsson e6d378c9aa navigator: fix typo 2018-10-22 09:26:06 -04:00
Daniel Agar 526fa9e9dd uORB remove unnecessary priority from each subscriber 2018-10-20 19:57:08 +02:00
Daniel Agar 297c1b777b mathlib LowPassFilter2p sync with LowPassFilter2pVector3f 2018-10-20 10:34:02 -04:00
Daniel Agar efac6f2807 MC attitude control move to Vector3f LPF 2018-10-20 10:34:02 -04:00
Daniel Agar ac85230700 mathlib: add Vector3f low pass filter 2018-10-20 10:34:02 -04:00
Daniel Agar cc64661791 Update submodule nuttx to latest Sat Oct 20 00:44:04 UTC 2018
- nuttx in PX4/Firmware (31767b6b5aeb4293c2991dbfea6b810e34a34149): https://github.com/PX4/NuttX/commit/999c4357a220d9ea271475e74abd5d8ba080be27
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/166d898c70141d7ddb179b5ead1c5ea726574411
    - Changes: https://github.com/PX4/NuttX/compare/999c4357a220d9ea271475e74abd5d8ba080be27...166d898c70141d7ddb179b5ead1c5ea726574411

166d898 2018-10-18 Daniel Agar - [BACKPORT] Merged in dagar/nuttx/pr-stm32_dma_per_spi (pull request #736)
0a5b1cb 2018-10-17 David Sidrane - [BACKPORT] Lampoo-master-spi-flash (pull request #735)
2018-10-19 21:22:34 -04:00
dakejahl dce4d75f5a TealOne airframe config file (#10713) 2018-10-19 20:27:50 -04:00
David Sidrane 640d10044c NuttX update with i2c Backport 2018-10-19 20:08:01 -04:00
sanderux dea385b2d2 Added geotag_images_ulog.py for enhanced geo-referencing survey images 2018-10-18 16:55:53 -04:00
Daniel Agar 50c879c2d6 land_detector: rover return not landed if disarmed 2018-10-18 12:51:52 -04:00
PX4 Build Bot 7b2418289f Update submodule ecl to latest Thu Oct 18 12:37:31 UTC 2018
- ecl in PX4/Firmware (bd71d1cd9e1e1d29f89351c43f879e6c49b727bc): https://github.com/PX4/ecl/commit/f240eaa5b089c50b957a3ab61aeb722ea57dccd9
    - ecl current upstream: https://github.com/PX4/ecl/commit/10a0fef7b7db749f5baf3384e9c900d3aa0e8140
    - Changes: https://github.com/PX4/ecl/compare/f240eaa5b089c50b957a3ab61aeb722ea57dccd9...10a0fef7b7db749f5baf3384e9c900d3aa0e8140

    10a0fef 2018-10-18 jie.zhang - EKF/control: remove unnecessary yaw_align update
8bbaf89 2018-10-17 Daniel Agar - EKF add new simple setIMUData() interface (#512)
e6cd6ef 2018-09-03 Paul Riseborough - EKF: Fix bug preventing  use of flow sensors without gyros
2c3a064 2018-09-18 Daniel Agar - README.md update Jenkins build status icon and url
2018-10-18 11:16:36 -04:00
Hamish Willee cb8a2b533d Add Plane VTail to image group metadata 2018-10-18 09:56:36 -04:00
jie.zhang 10a0fef7b7 EKF/control: remove unnecessary yaw_align update 2018-10-17 15:50:00 -04:00
Daniel Agar 8bbaf898a5 EKF add new simple setIMUData() interface (#512) 2018-10-17 15:30:25 -04:00
Jake Dahl e6d78b89a2 ::write() returns number of bytes written, so I check for not zero as a pass 2018-10-17 12:42:35 -04:00
Jake Dahl cbae32a50a I missed a ::write, stupid jenkins 2018-10-17 12:42:35 -04:00
Jake Dahl edf82d3937 added return values that I check for ::read and ::write 2018-10-17 12:42:35 -04:00
Jake Dahl 39d0e0b80c changed px4_read/write to ::read/write 2018-10-17 12:42:35 -04:00
Jake Dahl 51ffee8137 removed px4_poll, something changed and broke the way I was using it. This has been tested successfully 2018-10-17 12:42:35 -04:00
Daniel Agar 6a7f3615a4 Jenkins auto metadata updates for dev guide, user guide, and QGC 2018-10-17 12:40:15 -04:00
Paul Riseborough 18f0812b33 ecl: Use master with pr-ekfGpsYaw changes merged 2018-10-17 09:48:38 -04:00
Paul Riseborough c8e17719d5 msg: Add heading data to GPS blending output log data 2018-10-17 09:48:38 -04:00
Paul Riseborough 10354f022e ekf2: Allow use of RTK GPS heading 2018-10-17 09:48:38 -04:00
Paul Riseborough e39afb148d drivers: publish GPS antenna heading offset 2018-10-17 09:48:38 -04:00
Paul Riseborough 92d2317b99 uavcan: publish GPS antenna heading offset as NAN 2018-10-17 09:48:38 -04:00
Paul Riseborough cf962afafe simulator: publish GPS antenna heading offset as NAN 2018-10-17 09:48:38 -04:00
Paul Riseborough 6a3692cf6b mavlink: publish GPS antenna heading offset as NAN 2018-10-17 09:48:38 -04:00
Paul Riseborough 9aee71bf54 msg: Add antenna array heading offset to GPS message 2018-10-17 09:48:38 -04:00
Hamish Willee 8806389f24 Remove long command option from sf1xx driver docs 2018-10-17 10:34:33 +02:00
Hamish Willee 0e2aab46c9 Add module doc for sf1xx rangefinder 2018-10-17 10:34:33 +02:00
Daniel Agar 86683944f8 px4fmu-v2_default disable lis3mdl 2018-10-17 10:27:03 +02:00
Daniel Agar 0c698baca7 AV-X mavlink network and companion defaults
- start mavlink on network by default (port 14570)
 - start mavlink for TX2 companion by default
2018-10-17 00:22:53 -04:00
PX4 Build Bot e43caeff2e Update submodule sitl_gazebo to latest Tue Oct 16 14:40:21 EDT 2018
- sitl_gazebo in PX4/Firmware (304e00f158): https://github.com/PX4/sitl_gazebo/commit/d1f0bd4367d1cab01c772bb593a3f750b2f7dce2
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/3d80f63562c24c1537e1f8423ce649c99ebc15ea
    - Changes: https://github.com/PX4/sitl_gazebo/compare/d1f0bd4367d1cab01c772bb593a3f750b2f7dce2...3d80f63562c24c1537e1f8423ce649c99ebc15ea

    3d80f63 2018-10-16 Elia Tarasov - add missing dimension
4722a06 2018-10-15 Elia Tarasov - fix px4flow gyro orientation wrt camera
7e22adc 2018-10-15 Elia Tarasov - fix px4flow gyro sensor handling:
30337e7 2018-10-15 Elia Tarasov - add px4flow gyro sensor to px4flow jinja model
dcf2c95 2018-10-12 Elia Tarasov - add px4flow gyro sensor handling
0b4d4e3 2018-10-12 Elia Tarasov - replace integrated onboard gyro calculation by px4flow gyro sensor
df516e6 2018-10-11 Elia Tarasov - add check for NAN in case of no gyro is present
bbe2d67 2018-10-11 Elia Tarasov - send NAN in case of gyro absence
354e055 2018-10-11 Elia Tarasov - add default flag for gyro presence
2018-10-16 18:29:09 -04:00
Daniel Agar 13bdbde796 Update submodule mavlink v2.0 to latest Tue Oct 16 14:40:25 EDT 2018
- v2.0 in PX4/Firmware (6c822c67281ed3d36248dfe780107551b1a4eba7): https://github.com/mavlink/c_library_v2/commit/c5b465f5b455c5e6116cc5b6bf1332747a7b7494
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/32dcf73bb24516dc0d52119e624fda8987a03f62
    - Changes: https://github.com/mavlink/c_library_v2/compare/c5b465f5b455c5e6116cc5b6bf1332747a7b7494...32dcf73bb24516dc0d52119e624fda8987a03f62

    32dcf73 2018-10-16 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/0ae270afc0fe9aa7595afddd2ea30c754650feb8
2018-10-16 18:28:04 -04:00
Daniel Agar d61fbbf568 move NuttX back to PX4 org 2018-10-16 18:00:19 -04:00
Friedrich Beckmann 64f23c1aed moved comment from class section to avoid PX4Buildbot confusion
The PX4BuildBot extracted the comments from the lines following
the class line which says "Plane" as the class. To avoid the
confusion for the bot I moved the comment further down.
2018-10-16 16:49:13 -04:00
Dennis Mannhart 304e00f158 ALTITUDE_THRESHOLD lower to 0.3 meters 2018-10-16 11:13:00 -04:00
Dennis Mannhart 511563d4ac mc_pos_control: enable control in xy during smooth-takeoff from ground but limit tilt 2018-10-16 11:13:00 -04:00
Dennis Mannhart 3329d69d05 mc_pos_control: replace const with constexpr 2018-10-16 11:13:00 -04:00
Dennis Mannhart 4627d5d6e4 mc_pos_control_main smooth takeoff: enable position-xy/yaw control once above 0.5m from takeoff reference 2018-10-16 11:13:00 -04:00
Dennis Mannhart 345d3278d1 mc_pos_control smooth takeoff: if velocity is valid, the control velocity in xy during takeoff 2018-10-16 11:13:00 -04:00
Dennis Mannhart 4b70584cf4 mc_pos_control takeoff: control velocity if velocity estimation is available, otherwise
just keep thrust vector pointing upward
2018-10-16 11:13:00 -04:00
Dennis Mannhart dbd1e1432a mc_pos_control: for sanity distinguish between velocity and position setpoint during
smooth-takeoff. This is only required if someone writes a FlightTask where both position
and velocity setpoints are finite
2018-10-16 11:13:00 -04:00
Dennis Mannhart e7e49d5b3c FlightTask don't require vehicle-local-positiion topic 2018-10-16 17:06:12 +02:00
Jake Dahl d3b54c3599 more changes based on suggestions 2018-10-16 09:45:28 +02:00
Jake Dahl 985c5f4d73 changed I2C init() to a public function. Removed init() from constructor of SMBus base class 2018-10-16 09:45:28 +02:00
Jake Dahl e0e411ea07 additional improvements 2018-10-16 09:45:28 +02:00
Jake Dahl ad567fa537 I should really compile before pushing, fixed a scoping error on int result 2018-10-16 09:45:28 +02:00
Jake Dahl 1e1268f84b missed a return of result 2018-10-16 09:45:28 +02:00
Jake Dahl b2482b0e43 made changes based on reviewer feedback. Also added a bool option for block_read and block_write PEC, as some devices may not use the PEC 2018-10-16 09:45:28 +02:00
Jake Dahl e5b2286756 added an SMBus base class 2018-10-16 09:45:28 +02:00
PX4 Build Bot 5f583bf587 Update submodule libuavcan to latest Mon Oct 15 20:37:29 EDT 2018
- libuavcan in PX4/Firmware (8958b42dada1e14f27c287a59b51ff26e90486a1): https://github.com/UAVCAN/libuavcan/commit/479d144ded9d5d16e234121ef9511b9ca9dfdac5
    - libuavcan current upstream: https://github.com/UAVCAN/libuavcan/commit/6174b8c10a2dbf47076ca7a7b5820a4c36c8a988
    - Changes: https://github.com/UAVCAN/libuavcan/compare/479d144ded9d5d16e234121ef9511b9ca9dfdac5...6174b8c10a2dbf47076ca7a7b5820a4c36c8a988

    6174b8c 2018-10-06 Pavel Kirienko - Link to the new forum
2018-10-15 21:08:08 -04:00
Anthony Lamping 40489afbfc jenkins: don't let ecl analysis script fail the SITL test 2018-10-15 19:52:08 -04:00
Anthony Lamping 63cc328047 jenkins: archive ekf log processing output on failure 2018-10-15 19:52:08 -04:00
Anthony Lamping 27b2dad1fb jenkins: cleanup post stage steps 2018-10-15 17:19:09 -04:00
Anthony Lamping 906559d8cf jenkins: retry clang-tidy step, max of 3 runs 2018-10-15 17:19:09 -04:00
Mark Sauder ad8539bd15 Deprecate the tap_common directory, nuttx, driver, and makefile references to tap-v1. (#10629) 2018-10-15 11:53:29 -04:00
Zack Selgrath 919957eec6 batt_smbus_main: Rearranged bus options, added TODO
-Rearranged bus options to match other drivers
-Added TODO statement because driver cannot yet start on a specific external bus
2018-10-15 11:49:25 -04:00
Zack Selgrath c8632d9eee batt_smbus_main: Fixed bus arguments from shell
- Added two external I2C bus options corresponding to newer Pixhawk hardware (px4fmu-v5)
- Switched from getopt to px4_getopt
- Fixed bus checking loop exiting early
2018-10-15 11:49:25 -04:00
Pietro De Nicolao 6d3eb0450d px_uploader.py: exit code=1 if upload was not successful (#10681) 2018-10-15 11:21:31 -04:00
PX4 Build Bot 0312fd818f Update submodule sitl_gazebo to latest Mon Oct 15 08:37:19 EDT 2018
- sitl_gazebo in PX4/Firmware (31b110c2ac): https://github.com/PX4/sitl_gazebo/commit/70ca64654061fb7a4279846d9da1ad3512cfc6ba
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/d1f0bd4367d1cab01c772bb593a3f750b2f7dce2
    - Changes: https://github.com/PX4/sitl_gazebo/compare/70ca64654061fb7a4279846d9da1ad3512cfc6ba...d1f0bd4367d1cab01c772bb593a3f750b2f7dce2

    d1f0bd4 2018-10-10 Elia Tarasov - remove redundant check for gazebo major version greater than 7
a796798 2018-10-10 Elia Tarasov - change gazebo version for irlock plugin
83cadac 2018-10-10 Elia Tarasov - fix compile error for sonar plugin
aac3d20 2018-10-10 Elia Tarasov - fix compile error for lidar plugin
5a497ad 2018-10-10 Elia Tarasov - fix gps delay computation
3f0a769 2018-10-10 Elia Tarasov - fill timestamp inside plugin callback
779954c 2018-10-10 Elia Tarasov - send and recv sitl_gazebo message timestamp as unified type
46c4b29 2018-10-10 Elia Tarasov - proto: change timestamp name and type for consistency
2018-10-15 11:20:39 -04:00
fredowski a21d352388 added X-UAV Mini Talon V-Tail airframe and mixer (#10414)
* The X-UAV Mini Talon airframe with the new type Plane V-Tail uses the new AAVVTWFF_vtail mixer.
The new mixer is derived from the AAVVTWFF mixer and is a generic V-Tail mixer. I left the flaps and wheel although there are no flaps and wheels on the mini talon to keep it generic. The airframe configuration is derived from the Albatross A-Tail.
2018-10-15 09:37:22 -04:00
TSC21 31b110c2ac rtps: fix and minor cleanup of scripts and templates 2018-10-15 13:55:38 +02:00
Hamish Willee 55b9f76a16 Fix jenkins build error in tune_control 2018-10-10 19:23:09 -04:00
Paul Riseborough e6cd6eff87 EKF: Fix bug preventing use of flow sensors without gyros
The handling of invalid flow data when on ground is performed in controlOpticalFlowFusion() where it is able to handle flow sensors that don't publish gyro data.
2018-10-11 07:12:54 +11:00
Dennis Mannhart ff45ee67b4 FlightTasks: remove empty line 2018-10-10 10:30:48 -04:00
Dennis Mannhart c3ba2687ac FlightTask: if not in air, reActivate the task which will set the setpoints to current
vehicle state.
2018-10-10 10:30:48 -04:00
Dennis Mannhart 1f0d559d65 PositionControl: check and set _skip_controller flag at the end of the setpoint update 2018-10-10 10:29:46 -04:00
Dennis Mannhart 2f833a26d1 mc_pos_control: check if position-control setpoint update succeeded.
refactor use_obstacle_avoidance method
2018-10-10 10:29:46 -04:00
DanielePettenuzzo b83b588fc5 irlock driver: fix bus selection argument (-b) 2018-10-10 15:20:03 +02:00
Hamish Willee 988ce71ee0 Better rendering for tune control 2018-10-10 10:30:11 +02:00
Hamish Willee a98643cb16 Add tune control docs as options 2018-10-10 10:30:11 +02:00
Hamish Willee 629933d0c8 Fix up tune control docs 2018-10-10 10:30:11 +02:00
Dennis Mannhart 6212e9c752 FlightTaskManualAltitude: use stick inputs for the brake check 2018-10-09 12:05:52 -04:00
Martina 280cb34a77 FlightTaskAuto: replace NAV_ACC_RAD with acceptance radius from triplet 2018-10-09 12:01:45 -04:00
Martina 18f4144e5a mission_block: when creating a triplet from a mission item use the default
acceptance radius from the paramters and overwrite it if the mission item
has set acceptance radius
2018-10-09 12:01:45 -04:00
TSC21 d3c1d5f019 sitl_gazebo: build with SEND_VISION_ESTIMATION_DATA set 2018-10-09 11:57:30 -04:00
Daniel Agar 4731f8c735 ADIS16477 support filtering params and enable onboard filter 2018-10-09 10:37:12 -04:00
Daniel Agar f74b96e918 AV-X DSM RC fixes (disable single wire) 2018-10-09 10:37:12 -04:00
CarlOlsson 5a10db65b6 ecl_tools: Always allocate topic data variables 2018-10-09 09:29:03 -04:00
CarlOlsson 01c2994107 ecl_tools: fix typo in title 2018-10-09 09:29:03 -04:00
CarlOlsson 8058878566 ecl_tools: add error message if topic not found in logfile 2018-10-09 09:29:03 -04:00
CarlOlsson 3424e73aa3 ecl_tools: use pyulog built in function to get dataset 2018-10-09 09:29:03 -04:00
Beat Küng 431bcbe642 MPC_THR_HOVER: reduce minimum from 20% to 10% 2018-10-09 12:09:07 +02:00
Beat Küng 48f5f8faa5 mc pos control: add MPC_THR_CURVE param
The hover thrust param also changed the thrust scaling in Stabilized mode.
However if the hover thrust is very low (e.g. below 20%), the throttle
stick input becomes very distorted.
2018-10-09 12:09:07 +02:00
Beat Küng a9def8be93 MC land detector: remove LNDMC_THR_RANGE param
- no airframe changes the default
- it does not make much sense to be able to configure the 0.1 threshold
  but the 0.3 threshold for ground contact detection cannot be configured.
2018-10-09 12:09:07 +02:00
bresch d69cba5db9 FW trim - Fix typos in FW_DTRIM_R/P/Y_VMAX 2018-10-09 10:37:22 +02:00
TSC21 0c5725d45c fix iridiumsbd_status order 2018-10-08 10:58:45 +02:00
TSC21 254a520e19 make the build stop in case of an error on the RTPS generation scripts 2018-10-08 10:58:45 +02:00
TSC21 50e46f89b6 move get_absolute_path() back to generate_microRTPS_bridge.py 2018-10-08 10:58:45 +02:00
TSC21 1e29b00860 improve verification of RTPS ID's uniqueness 2018-10-08 10:58:45 +02:00
TSC21 a7580b14ba update IDL template so it can process builtin types 2018-10-08 10:58:45 +02:00
TSC21 b11ab09d29 update RTPS/ROS2 Interface POC as Vicente Monge does not work with eProsima anymore 2018-10-08 10:58:45 +02:00
TSC21 0121964153 update Copyright notice 2018-10-08 10:58:45 +02:00
TSC21 3fdf60a1af for now, do not generate srcs/headers/idl for composed msgs: needs update on the PX4 IDL template 2018-10-08 10:58:45 +02:00
TSC21 3228e494bd radio_status: change 'fixed' field name to 'fix' so it does not clash with 'fixed' floating-point notation on the IDL generation 2018-10-08 10:58:45 +02:00
TSC21 2767f47891 tight the uorb rtps classifier 2018-10-08 10:58:45 +02:00
TSC21 840117fa2f Updated src/modules/micrortps_bridge/micro-CDR 2018-10-08 10:58:45 +02:00
TSC21 b49b9bad2f change serialization map type for int8_t 2018-10-08 10:58:45 +02:00
TSC21 d17d5d52bf move parse_yaml_msg_id_file() to uorb_rtps_classifier.py 2018-10-08 10:58:45 +02:00
TSC21 a8b0663cfe add __init__.py to msg/tools 2018-10-08 10:58:45 +02:00
TSC21 71d1b77bbe parse output from python script into readable cmake list to use; refactor RTPS scripts 2018-10-08 10:58:45 +02:00
TSC21 a9771f13d1 rtps: add uorb_rtps_classifier.py iot classify RTPS topics as "send", "receive" or "ignore" 2018-10-08 10:58:45 +02:00
Beat Küng 92a1594430 mavlink config: remove Iridium option
The user does not need to configure this, so we can hide it from the UI.
2018-10-08 08:24:44 +02:00
Hamish Willee f1130a4e10 Clarify SDLOG_MODE bit for thermal calibration 2018-10-08 07:20:49 +02:00
Simone Guscetti 62d71bf36c fmu-v5 manifest: Add some comments
Clarify which  componets is on which index for the item array
2018-10-05 07:54:44 -07:00
Simone Guscetti aa3a404fa0 fmu-v5 manifest: remove entry from list
At the moment it is only declared a component, PX4IO.
2018-10-05 07:54:44 -07:00
Simone Guscetti 0f47272628 board_common: fix typo 2018-10-05 07:54:44 -07:00
Beat Küng dae7c56109 ManualSmoothing{XY,Z}: remove unused include 2018-10-04 15:09:02 +02:00
Beat Küng e23382c6da FlightTaskManualAltitude: call FlightTaskManualStabilized::_updateHeadingSetpoints() directly
Instead of calling _updateSetpoints(), that also sets the thrust setpoint,
which is then overwritten again.
2018-10-04 15:09:02 +02:00
Beat Küng 206baa7432 Flight tasks: avoid using *= for scalar to vector assignment
It's confusing and there is a corner case where the result is incorrect:
*= 0 will not set the variable to 0 if it's already NAN.
2018-10-04 15:09:02 +02:00
Beat Küng bb756e0e12 FlightTaskAuto: remove unnecessary brackets in switch case statements 2018-10-04 15:09:02 +02:00
Beat Küng eb30b5b73e mc_pos_control_params: remove unused MPC_MANTHR_MAX params 2018-10-04 15:09:02 +02:00
Julian Oes 39e0a39224 uavcan: update submodule
This fixes the build with Python 3.7.
2018-10-04 13:46:17 +02:00
Beat Küng 09563c94ce rcS: fix typhoon_h480
The typhoon has a 6011_typhoon_h480.post script that got matched as well.
Now we exclude all files that contain a dot (apparently it's not so easy
to do generic pattern matching in a portable way, but this works).
2018-10-04 09:38:59 +02:00
Daniele Pettenuzzo a2d1f6ddce ll40ls driver: support also lidar lite v3HP (#10578) 2018-10-04 00:54:27 -04:00
Daniel Agar 6f7c572601 Update submodule sitl_gazebo to latest Wed Oct 3 18:37:46 UTC 2018 (#10643)
- sitl_gazebo in PX4/Firmware (6c34407d57): https://github.com/PX4/sitl_gazebo/commit/9d512af0075659f0ace91ec0e2f8c8a170f911fb
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/1264b74493cd2f362d852530bcc7423a013f2151
    - Changes: https://github.com/PX4/sitl_gazebo/compare/9d512af0075659f0ace91ec0e2f8c8a170f911fb...1264b74493cd2f362d852530bcc7423a013f2151

1264b74 2018-09-30 TSC21 - gazebo_motor_failure_plugin: clean up and fix for Gazebo 9
77141e7 2018-09-29 TSC21 - Travis: add naming for jobs within the build matrix
e46f82a 2018-09-29 TSC21 - add new 18.04 Melodic build
5b93919 2018-09-29 TSC21 - Travis: update ROS docker container
2018-10-03 19:56:50 -04:00
Daniel Agar 357fc22d91 Update submodule v2.0 to latest Wed Oct 3 18:37:52 UTC 2018
- v2.0 in PX4/Firmware (f7a1da2261c579ef680c7d3b7a016bc4c6d13601): https://github.com/mavlink/c_library_v2/commit/e5f6257dd005b6fb3bff23d45f2b3b417b52539b
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c5b465f5b455c5e6116cc5b6bf1332747a7b7494
    - Changes: https://github.com/mavlink/c_library_v2/compare/e5f6257dd005b6fb3bff23d45f2b3b417b52539b...c5b465f5b455c5e6116cc5b6bf1332747a7b7494

    c5b465f 2018-10-01 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/bae3015ecc05299968362a4623d506ea2840ec86
2018-10-03 19:25:44 -04:00
mcsauder 2d208b1524 Edited aerofc-v1 file comments to not reference tap-v1. 2018-10-03 15:47:04 -04:00
Bart Slinger f913de3957 bebop 2 improved gains, disable rangefinder 2018-10-03 15:35:25 -04:00
Bart Slinger c762a12bfa bebop2 shutdown motors on force_failsafe 2018-10-03 15:35:25 -04:00
Beat Küng 6c34407d57 version: rebase fixes & add bbblue 2018-10-03 10:30:10 +02:00
Beat Küng afc1be2296 px4_micro_hal: fix typo 2018-10-03 10:30:10 +02:00
Beat Küng 703a5376bb bebop board config: add a separate SOC_ARCH_ID 2018-10-03 10:30:10 +02:00
Beat Küng b9a99969a7 board_get_uuid: fix alignment issues
board_get_px4_guid() called board_get_uuid() with a 2 bytes offset into an
uint8_t array. This gives no guarantees on alignment, and board_get_uuid()
casts it to an uint32_t array, leading to potentially unaligned accesses.
2018-10-03 10:30:10 +02:00
Beat Küng f0f88a3662 ver command: show the git branch name for 'ver all' 2018-10-03 10:30:10 +02:00
David Sidrane a934d6e3f2 samv7:Fixed incorrect index populating px4_guid 2018-10-03 10:30:10 +02:00
David Sidrane 03948c1ad3 kinetis:Fixed incorrect index populating px4_guid 2018-10-03 10:30:10 +02:00
Beat Küng e2a32aab76 mavlink_main: add support for autopilot_version.uid2 2018-10-03 10:30:10 +02:00
Beat Küng daf05b3854 board_common: add PX4_SOC_ARCH_ID_UNUSED = 0 to PX4_SOC_ARCH_ID_t
Just to make sure we never have an UUID == 0
2018-10-03 10:30:10 +02:00
Daniel Agar f2e10a163b fix qurt eagle board_identity 2018-10-03 10:30:10 +02:00
David Sidrane 0b17995e81 eagle:revert CMakeLists.txt to wrong sitl, add board identity API
This file was clearly clearly but built.
2018-10-03 10:30:10 +02:00
David Sidrane 66102adf43 ver:Removed UUID and MFGID 2018-10-03 10:30:10 +02:00
David Sidrane bdaff018b7 samv7:Add PX4 GUID API 2018-10-03 10:30:10 +02:00
David Sidrane 43f6c4df77 kinetis:Add PX4 GUID API 2018-10-03 10:30:10 +02:00
David Sidrane 61935e8271 qurt:Use PX4_SOC_ARCH_ID_t from board common 2018-10-03 10:30:10 +02:00
David Sidrane 4e32ca45f1 sitl:Use PX4_SOC_ARCH_ID_t from board common 2018-10-03 10:30:10 +02:00
David Sidrane d85452863d rpi:Use PX4_SOC_ARCH_ID_t from board common 2018-10-03 10:30:10 +02:00
David Sidrane 3d96e2ef60 ocpoc:Use PX4_SOC_ARCH_ID_t from board common 2018-10-03 10:30:10 +02:00
David Sidrane 5fea494a2d eagle:Use PX4_SOC_ARCH_ID_t from board common 2018-10-03 10:30:10 +02:00
David Sidrane dc59e19bbb Moved PX4_SOC_ARCH_ID from px4_micro_hal to board_common 2018-10-03 10:30:10 +02:00
David Sidrane 695a7f6839 board_common:Added missing END_DECLS from rebase 2018-10-03 10:30:10 +02:00
David Sidrane ea1722274d ver:Use Board identity API without ifdefs for overrides 2018-10-03 10:30:10 +02:00
David Sidrane 594da6247b board_common:Make board indenty API required. 2018-10-03 10:30:10 +02:00
David Sidrane 73552bdd64 sim:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane 2f64870e78 qurt:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane a96acbb04d ocpoc:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane 82dcfeb576 eagle:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane 1c779d58fb bebop:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane bc075208d5 rpi:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane a1abd1b632 sitil:Use Non Arch specific Board identity API 2018-10-03 10:30:10 +02:00
David Sidrane ed9223edaf board_identity:Added common no-arch specific board_identity API
This common code can be used byt posix based boars to provide
   the board_identity API.
2018-10-03 10:30:10 +02:00
David Sidrane 1ac54f977e board_common:Documentation clean up 2018-10-03 10:30:10 +02:00
David Sidrane 9709d23179 logger:Use PX4 GUID for sys_uuid 2018-10-03 10:30:10 +02:00
David Sidrane 347ac48eab posix:Added PX4 GUID API board_get_px4_guid_formated 2018-10-03 10:30:10 +02:00
David Sidrane a16ca0ccf9 sitl:Added BOARD_OVERRIDE_PX4_GUID 2018-10-03 10:30:10 +02:00
David Sidrane 7f29b04e41 sim:Added BOARD_OVERRIDE_PX4_GUID 2018-10-03 10:30:10 +02:00
David Sidrane ba336bd19e rpi:Added BOARD_OVERRIDE_PX4_GUID 2018-10-03 10:30:10 +02:00
David Sidrane a1d5cb766a ocpoc:Added BOARD_OVERRIDE_PX4_GUID 2018-10-03 10:30:10 +02:00
David Sidrane cca2fd8471 eagle:Added BOARD_OVERRIDE_PX4_GUID 2018-10-03 10:30:10 +02:00
David Sidrane 39a0021251 ver:Add PX4 GUID (MFGUID and UID will be deprecated later) 2018-10-03 10:30:10 +02:00
David Sidrane 7050657a6e board_identity:Add stm32 board_get_px4_guid and board_get_px4_guid_formated API 2018-10-03 10:30:10 +02:00
David Sidrane 1c2f8bd4c4 board_identity:Fix potential buffer over flow 2018-10-03 10:30:10 +02:00
David Sidrane f24a052355 board_common:Add PX4 GUID, deprecate other UUID API
The form of the PX4  GUID is as follows:
   offset:0         1         2         -           17
      <ARCH MSD><ARCH LSD><MSD CPU UUID>...<LSD CPU UUID>

   Where <ARCH MSD><ARCH LSD> are a monotonic ordinal number assigned by
   PX4 to a chip architecture (PX4_SOC_ARCH_ID). The 2 bytes are used to
   create a globally unique ID when prepended to a padded CPU ID.

   In the case where the CPU's UUID is shorter than 16 bytes it will be
   padded with 0's starting at offset [2] until
   PX4_CPU_MFGUID_BYTE_LENGTH-PX4_CPU_UUID_BYTE_LENGTH -1
   I.E. For the STM32
   offset:0         1     2  3  4  5  6             -            17
     <ARCH MSD><ARCH LSD>[0][0][0][0]<MSD CPU UUID>...<LSD CPU UUID>

   I.E. For as CPU with a 16 byte UUID
   offset:0         1         2         -           17
     <ARCH MSD><ARCH LSD><MSD CPU UUID>...<LSD CPU UUID>
2018-10-03 10:30:10 +02:00
David Sidrane 8bec5fc37b px4_micro_hal:Define PX4_SOC_ARCH_ID 2018-10-03 10:30:10 +02:00
Martina e73c50ad9c mc_pos_control_main: enable continuos update of vehicle_trajectory_waypoint
desired such that it's possible to use it in manual modes
2018-10-02 09:45:48 -04:00
Beat Küng 02d89575b0 px4fmu-v2: disable camera_trigger
due to limited flash space.
2018-10-02 14:14:10 +02:00
Beat Küng fb04a611c5 gps: reduce stack size
A buffer size of the gps drivers got reduced by 100 bytes.
2018-10-02 14:14:10 +02:00
Beat Küng cef6cf96f8 gps: reduce delay by reducing the sleep time
This uses now the same sleep time logic as mavlink, depending on the
baudrate.

CPU usage on a Pixracer for different sleep times:

#num reads/sec    sleep time         CPU usage
17-18             2.8ms              0.233-0.31% (this PR)
12                5ms                0.155-0.3%
9-10              10ms               0.155-0.233%
6                 20ms               0.155-0.233% (previous)
2018-10-02 14:14:10 +02:00
Beat Küng 979e8ad28b gps drivers: update submodule 2018-10-02 14:14:10 +02:00
Beat Küng 403f909e3a mavlink_receiver: simplify sleeptime calculation 2018-10-02 14:14:10 +02:00
Beat Küng 23094b9ac9 ekf2: subscribe only to 2 gps topic instances 2018-10-02 14:14:10 +02:00
Matthias Grob e167e6bec4 px_uploader: catch non-standard baud exception
to fix Cygwin upload. It failed silently but when catching it prints
"non-standard baudrates are not supported on this platform".
Discussion about platform independet FTDI detection is in issue #10429.
2018-10-02 10:01:41 +02:00
Matthias Grob ebdea6e50d px_uploader: fix code and output spacing 2018-10-02 10:01:41 +02:00
Daniel Agar 181b2f69ed Github templates add support question and documentation issue (#10613) 2018-10-01 09:44:19 -04:00
Matthias Grob bee6a6b8b0 Refactor: Use new matrix::Vector2f constructor 2018-10-01 08:10:21 -04:00
Matthias Grob ada0179cda matrix lib: update to latest version 2018-10-01 08:10:21 -04:00
Beat Küng 0d3bff5e00 Vector2: add explicit constructor for Vector3
Initialize from the first 2 elements.
2018-10-01 10:17:16 +02:00
Beat Küng 807472bfd7 README: document how to run tests 2018-10-01 10:17:16 +02:00
Lukas Woodtli 587c2e2477 Improve the use of ubsan in SITL pipeline
Also some general minor sanitizer improvements.
2018-09-30 16:08:58 -04:00
Bart Slinger 9530b6c24d bebop 2 disable motors on kill (#10605) 2018-09-30 11:40:51 -04:00
Daniel Agar b83cb79596 Update submodule DriverFramework to latest Sun Sep 30 08:37:23 EDT 2018 (#10604)
- DriverFramework in PX4/Firmware (1ce7e8d89a16262afe07d7487e55a2ec05985627): https://github.com/PX4/DriverFramework/commit/721ace3e797f141f0950144bace6a30f6aa1325a
    - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/9f456acb3c8d70df3cd8906123388935dd6303f6
    - Changes: https://github.com/PX4/DriverFramework/compare/721ace3e797f141f0950144bace6a30f6aa1325a...9f456acb3c8d70df3cd8906123388935dd6303f6

    9f456ac 2018-09-30 Bart Slinger - Increase DriverFramework priority to SCHED_PRIORITY_MAX
2018-09-30 10:28:52 -04:00
Daniel Agar 9d2ff820bf px4fmu-v2 disable sdp3x to save flash (#10600)
- fixes #10599
2018-09-29 11:21:21 -04:00
Paul Riseborough 72f85e4b2d ekf2: Handle blending of dissimilar rate GPS data (#10570)
A filtered update update interval is calculated for each receiver.
If dissimilar interval data is detected, blending occurs when data is received from the slower of the receivers.
If similar interval data is detected, blending occurs when receiver data with similar time stamps is available.
If no data is received from either receiver for longer than 300msec, then no blending will be performed and the most recent data will be used instead.
2018-09-29 09:23:19 -04:00
Beat Küng df9a09ce9d PreflightCheck: rename 'Estimator internal checks' to 'Position unknown' 2018-09-29 09:17:53 -04:00
Beat Küng 30cf287f7b PreflightCheck: update messages & use proper log level 2018-09-29 09:17:53 -04:00
Beat Küng af07497b21 mavlink_log: add mavlink_log_warning 2018-09-29 09:17:53 -04:00
Beat Küng ee928c20f0 PreflightCheck: improve error message in case there is no sensor data 2018-09-29 09:17:53 -04:00
Beat Küng 7f0f391fe1 GPS PreflightCheck: improve failure reporting
- previously it was possible to get a Position Control rejected message
  without further advice what was actually wrong. So now we report warnings
  even if gps is not required for arming (which could be annoying too...).
- the GPS failure message was very generic, making it hard to debug the
  cause. Now we check every bit and send an appropriate warning

All strings were checked not to exceed the maximum length of 50 characters.
2018-09-29 09:17:53 -04:00
Beat Küng f1966aa3fd PreflightChecks: improve labels by not capitalizing everything
estimator status init is not required.
2018-09-29 09:17:53 -04:00
Beat Küng 0784725ad3 ekf2: only report gps failure flags that are enabled
So that they can be used for reporting errors.
2018-09-29 09:17:53 -04:00
Beat Küng 0e1e0b997d mavlink_receiver: reduce s_variance_m_s for HIL GPS message from 1 to 0.1
1 was too high to pass the EKF2 test (EKF2_REQ_SACC which is 0.5 by default)
and thus switching into position mode in HIL was not possible.
2018-09-29 09:17:53 -04:00
Daniel Agar 066ca50ddf mission test temporarily increase landed timeout 60s -> 120s (#10596)
- revert once #10590 is resolved properly
2018-09-28 10:28:07 -04:00
Beat Küng 465d399e8f land_detector: move _parameterSub to the right place 2018-09-28 16:04:40 +02:00
Beat Küng b69dd50d90 land_detector: cleanup subscriptions & publications 2018-09-28 16:04:40 +02:00
Beat Küng 0ac5f2cd8b ulanding radar: add UART config param 2018-09-28 10:29:31 +02:00
Beat Küng a1f0f88b33 posix_ocpoc_cross.cmake: fix ulanding module
module list is now the same as posix_ocpoc_ubuntu.cmake
2018-09-28 10:29:31 +02:00
Beat Küng 079a43238f mc_pos_control: print Failsafe message only once when entering failsafe 2018-09-28 08:59:22 +02:00
Beat Küng 720b3307d8 mc_pos_control: limit flight task init failure printf's
There were cases where the console was continuously spammed with activation
failure messages.
2018-09-28 08:59:22 +02:00
Beat Küng ff69158836 mc_pos_control: add missing orb_unsubscribe 2018-09-28 08:59:22 +02:00
Beat Küng f7b65c577b mc_pos_control: refactor to use ModuleBase 2018-09-28 08:59:22 +02:00
TSC21 3a910555a1 add Jenkins catkin build 2018-09-28 08:59:04 +02:00
TSC21 324a5c1477 deactivate catkin build of dynamic libs 2018-09-28 08:59:04 +02:00
David Sidrane d3c37e0206 fmu:fix doumantation and pwm 8 useage 2018-09-28 07:48:32 +02:00
David Sidrane c7edd9f31b fmu:Add MODE_4PWM1CAP, MODE_5PWM, MODE_5PWM1CAP
This extends the  Capture support for FMU
   CHAN 5 and 6.
2018-09-28 07:48:32 +02:00
Beat Küng 719bfd1073 posix-configs: use '.' instead of 'source'
'source' is not POSIX
2018-09-27 23:39:20 +02:00
Beat Küng b972651a06 posix shell: use /bin/sh instead of bash
This uses the systems default shell:
- Ubuntu: dash
- Fedora: bash

Since bash is invoked via /bin/sh, it operates in POSIX mode:
  https://tiswww.case.edu/php/chet/bash/POSIX

- remove '# Ignore the expand_aliases command in zshell.'
  Not needed because the shell operates in POSIX mode
- [[ is bashism -> use [
- autostart_files=( $autostart_file_match )
  is not supported in dash, so use 'ls'
- shellcheck runs the dash flavor, since dash is a minimalistic shell.

Tested on dash & bash.
2018-09-27 23:39:20 +02:00
Beat Küng 37338e442f NuttX shell scripts: replace operator == with =
- NuttX supports both versions
- POSIX shell only supports '='
2018-09-27 23:39:20 +02:00
Beat Küng 4c90d2c025 module_schema: enforce serial config param names to end in _CONFIG or _CFG
For consistency & documentation
2018-09-27 23:39:20 +02:00
Julien Lecoeur a346619623 Logger: add debug_array topic 2018-09-27 12:33:12 -04:00
Julien Lecoeur cafd2f5352 Add example usage of topic debug_array in px4_mavlink_debug app 2018-09-27 12:33:12 -04:00
Julien Lecoeur cb3d86a609 Add support for mavlink message DEBUG_FLOAT_ARRAY 2018-09-27 12:33:12 -04:00
Julien Lecoeur 7f665a70e7 Update MAVLink, Thu Sep 27 07:43:26 2018 2018-09-27 12:33:12 -04:00
David Sidrane 45cf4d49f9 rcS:FMU V5 mini disable px4io 2018-09-26 23:27:23 +02:00
Bart Slinger ea96501e8c bebop 2: upload entire bin directory content 2018-09-26 21:34:22 +02:00
Bart Slinger adad22f879 make set function work in sh 2018-09-26 21:34:22 +02:00
Bart Slinger 4df88122cb Bebop 2: use sh instead of bash 2018-09-26 21:34:22 +02:00
Bart Slinger 77d053ba65 Bebop 2: update DriverFramework with MPU6050 fix 2018-09-26 21:34:22 +02:00
TSC21 2250946eaa add verification for the ID uniqueness; give list of available ID's 2018-09-26 12:01:58 +02:00
TSC21 fc980493d7 px_generate_uorb_topic_helper: add a check for the existence of the RTPS ID for each uORB topic 2018-09-26 12:01:58 +02:00
TSC21 6f4ef80389 update RTPS msg ID's 2018-09-26 12:01:58 +02:00
PX4 Build Bot 82acf6894d Update submodule nuttx to latest Tue Sep 25 23:58:20 UTC 2018
- nuttx in PX4/Firmware (1adcfeecc20620f02439093afb85f3151b2e8be1): https://github.com/PX4-NuttX/nuttx/commit/e31e94f5bd3cf68b9ed0f010724ac9122730dd21
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/7e3c8e10cd92351b905bc8d0e34e69bccd00dfea
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/e31e94f5bd3cf68b9ed0f010724ac9122730dd21...7e3c8e10cd92351b905bc8d0e34e69bccd00dfea

    7e3c8e1 2018-09-21 Gregory Nutt - [BACKPORT] 510b0f7e07 Correct all ARMv7-M architectures.
2018-09-25 20:28:47 -04:00
Daniel Agar fff1cdfa51 Jenkins firmware compile readd av-x-v1_default 2018-09-25 18:32:36 -04:00
Beat Küng c2ff0b1052 rcS: start frsky_telemetry on Pixracer if not enabled already 2018-09-25 14:31:47 -04:00
David Sidrane 6ec693b716 tap-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 3f1a155e57 px4nucleoF767ZI-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane f7dd2511ab px4fmu-v5 stackcheck: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane a6e77eb9a0 px4fmu-v5 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane a302c58a0d px4fmu-v4pro nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 825d6c06f2 px4fmu-v4 stackcheck: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane dfc390bbe0 px4fmu-v4 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 2ec56cef42 px4fmu-v2 stackcheck: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 5148d2d94f px4fmu-v2 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane b606897743 px4flow-v2 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane ee28b9aa69 px4esc-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 65322c98ca px4cannode-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 384a1dcf66 px4cannode-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane eaec63a747 px4cannode-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 233d116aee px4-stm32f4discovery nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 7c3850902f omnibus-f4sd nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 053fecbf20 nxphlite-v3 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 0bd2a0be05 mindpx-v2 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 197940eadd esc35-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 907d478f3e crazyflie nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane debb8afa0d av-x-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane fe591aee5c auav-x21 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane e893aaec48 aerofc-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 0829e3c654 aerocore2 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP
This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
2018-09-25 12:28:03 -04:00
David Sidrane 72b5a8c0a5 libuavcan: update with Kinetis int priority disable (#10564) 2018-09-25 11:52:07 -04:00
mcsauder c390d02f1c Tidy up an OUTPUT_DEV set/unset in rc.interace and rcS. 2018-09-25 07:55:03 +02:00
Beat Küng 525531f2fc Jenkins: add module config validation to CI 2018-09-25 07:53:29 +02:00
Daniel Agar 078f5ea198 serial generate config add 10 generic serial ports 2018-09-25 07:53:29 +02:00
Beat Küng 39db2a6bf9 shellcheck: ignore SC2154 on NuttX
This is because NuttX uses a different assignment for variables.
2018-09-25 07:53:29 +02:00
Beat Küng 64912ed7f6 rc.serial.jinja: remove 'param touch' for baudrates
Can be reverted if needed later on...
2018-09-25 07:53:29 +02:00
Beat Küng 300e66ae6a SYS_COMPANION: deprecate this param
Replaced with the more generic serial config params.

rc.mavlink contains automatic transition support that can be removed after
the next release.
2018-09-25 07:53:29 +02:00
Beat Küng f0c0b6f6e8 params: remove unused SENS_EN_* params
Replaced with the more general serial config params.
2018-09-25 07:53:29 +02:00
Beat Küng f2f9a7aadc px4_module.h: remove unnecessary ; 2018-09-25 07:53:29 +02:00
Beat Küng d418a09e1d module_schema.yaml: move from test/ to validation/
It doesn't really fit to test/, and also no other existing place.
2018-09-25 07:53:29 +02:00
Beat Küng e4d4192f9c module_schema.yaml: add parameter definitions 2018-09-25 07:53:29 +02:00
Beat Küng babe300960 sf0x: avoid reopening the UART on startup
And:
- return correct return code in SF0X::init()
- remove unneeded SF0X::probe()
2018-09-25 07:53:29 +02:00
Beat Küng 52967bd654 Tools/validate_yaml: add schema validation for module yaml config files 2018-09-25 07:53:29 +02:00
Beat Küng b5e552924a serial drivers/modules: add yaml config files 2018-09-25 07:53:29 +02:00
Beat Küng dae292631c Tools/serial: use per-module serial port config params, instead of per-port 2018-09-25 07:53:29 +02:00
Beat Küng dc412e4cd5 px_process_params.py: fix default argument for --inject-xml 2018-09-25 07:53:29 +02:00
Beat Küng 546886259f boards: remove GPS_DEFAULT_UART_PORT
Not required anymore.
2018-09-25 07:53:29 +02:00
Beat Küng 98ac557ebc gpssim: remove unused uart_path 2018-09-25 07:53:29 +02:00
Beat Küng ced37fdf30 mavlink_main: use px4_get_parameter_value for baudrate, datarate and mode 2018-09-25 07:53:29 +02:00
Beat Küng a3d9b84b1e micrortps_client: use px4_get_parameter_value for baudrate 2018-09-25 07:53:29 +02:00
Beat Küng 4d05a74aeb pwm.cpp: use px4_get_parameter_value 2018-09-25 07:53:29 +02:00
Beat Küng fe924334c2 px4_cli: add px4_get_parameter_value CLI helper method 2018-09-25 07:53:29 +02:00
Beat Küng c237221a81 cmake: add serial param & ROMFS generation to the build system
- only a few configs done yet
2018-09-25 07:53:29 +02:00
Beat Küng 5bb75a7ff8 Tools/serial: add script to generate ROMFS serial startup logic & serial parameters 2018-09-25 07:53:29 +02:00
Beat Küng 15044909a4 param: add 'param touch <param_name>' command
so that params can be marked as used from scripts.
2018-09-25 07:53:29 +02:00
Beat Küng 91a1ac1b60 sf0x: add -d param to pass the serial port 2018-09-25 07:53:29 +02:00
Beat Küng 0ebf821db4 cmake configs: minor cleanup for hott telemetry
it got moved to drivers/telemetry/hott
2018-09-25 07:53:29 +02:00
TSC21 28521ea77c move parse_yaml_msg_id_file() definition to generate_microRTPS_bridge.py 2018-09-24 19:28:40 +02:00
TSC21 a50fed1bf9 generate_microRTPS_bridge: state that RTPS msg IDs definition file path is relative to the msg_dir 2018-09-24 19:28:40 +02:00
TSC21 a857f33cf0 remove redundante --rtps-ids-file arg option 2018-09-24 19:28:40 +02:00
TSC21 1cc3d95ff7 msg: templates: add 'ids' to the Context documentation 2018-09-24 19:28:40 +02:00
TSC21 0227ea3835 msg: RTPS: pass RTPS ID msg definition file as an EmPy global var 2018-09-24 19:28:40 +02:00
Beat Küng eac8f8813a flight tasks: minor cleanup (avoid using *= for assignment) 2018-09-24 13:57:37 +02:00
Beat Küng afada8ddb5 FlightTaskManualStabilized: allow attitude control with 0 throttle
With minimum throttle set to 0, it was not possible to control the attitude
anymore at 0 throttle, the vehicle would just stay level.
2018-09-24 13:57:37 +02:00
Beat Küng b93d02aee7 Revert "omnibus: (temporarily) disable the topic listener"
This reverts commit 370fddc115.

Because the topic_listener got smaller.
2018-09-24 13:25:23 +02:00
Beat Küng 62550be858 topic_listener: reduce flash space by avoiding template bloat
Use a templated callback method for the code parts that we actually need
templates, and avoid using a template for the rest of the code.

Saves around 20KB of flash.
2018-09-24 13:25:23 +02:00
Beat Küng 3453506471 logger: log vehicle_air_data and vehicle_magnetometer by default & minor cleanup
Make sure vehicle_air_data & vehicle_magnetometer are logged if ekf2 replay
is disabled.
2018-09-24 13:25:01 +02:00
Beat Küng 92bf761bf1 PreflightCheck: do not check for primary mag & inconsistencies if system has no mag 2018-09-24 13:24:38 +02:00
Martina 5a57e82072 navigator: clarify NaN return for get_yaw_acceptance 2018-09-24 11:23:01 +02:00
Martina b220e74219 navigator_main: add comment to explain yaw_acceptance usage 2018-09-24 11:23:01 +02:00
Martina 5b8ae9fb29 rename position_controller_status field from altitude_acceptance_radius
to altitude_acceptance
2018-09-24 11:23:01 +02:00
Martina 40650ee2c7 FlightTaskAuto: check avoidance progress only for multicopter 2018-09-24 11:23:01 +02:00
Martina 07eb0b697e FlightTaskAuto: don't create vectors from pointers 2018-09-24 11:23:01 +02:00
Martina ba4e633bd4 FlightTaskAuto: check avoidance progress only if avoidance is active 2018-09-24 11:23:01 +02:00
Martina cef7673969 FlightTaskAuto: calculate the new altitude acceptance radius if the vehicle
is inside the xy acceptance radius but not inside the z acceptance radius
2018-09-24 11:23:01 +02:00
Martina fffb479edf navigator_main: use the altitude acceptance radius from the pos control if
it is greater than the one in the mission item
2018-09-24 11:23:01 +02:00
Martina b8e46d3323 position_controller_status: add altitude acceptance radius 2018-09-24 11:23:01 +02:00
Martina 7031bb5a6d navigator: add yaw_acceptance getter to incorporate feedback from position
controller. The yaw acceptance is defined by the mission item. If the pos
control sets it to NAN, then the yaw at a waypoint is ignored.
2018-09-24 11:23:01 +02:00
Martina a5a204004b FlightTaskAuto: add check for xy mission progress 2018-09-24 11:23:01 +02:00
Daniel Agar 18a0b39968 sanitizers cleanup (#10551)
- add to AddressSanitizer and UndefinedBehaviorSanitizer to CMAKE_BUILD_TYPE options
 - handle environment variable helpers outside of CMake
 - add -O1 optimization
 - cleanup whitespace
2018-09-23 16:52:09 -04:00
Daniel Agar 38aa9a20f6 parameters delete unused scope 2018-09-23 13:56:04 -04:00
Daniel Agar 50d1db3372 Tools/check_submodules.sh silence normal git output 2018-09-23 13:41:59 -04:00
Daniel Agar 036734eb76 cmake git submodules handle all paths consistently
- relative to the PX4 source directory root
2018-09-23 13:41:59 -04:00
Daniel Agar 610ec9f854 Update submodule nuttx to latest Sun Sep 23 08:37:24 EDT 2018 (#10550)
- nuttx in PX4/Firmware (f3cbd3c744e9224bd55597fbfae23c56ce296544): https://github.com/PX4-NuttX/nuttx/commit/98a89513060c42215e9cd14f52a7fd7dcc08dacc
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/e31e94f5bd3cf68b9ed0f010724ac9122730dd21
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/98a89513060c42215e9cd14f52a7fd7dcc08dacc...e31e94f5bd3cf68b9ed0f010724ac9122730dd21

    e31e94f 2018-09-21 David Sidrane - [REJECTED] kinetis:usbdev use CONFIG_KINETIS_USBOTG_PRIO at default
2018-09-23 10:07:42 -04:00
mcsauder a1af7ffdcf Remove whitespaces to quiet git commit trailing whitespace warnings. 2018-09-21 23:28:31 +02:00
David Sidrane d2faf5f31d platforms/nuttx/NuttX/nuttx with hardfault fix 2018-09-21 22:34:38 +02:00
MaEtUgR 2c7c876c38 mavlink_receiver: parse all 18 channels from rc_override 2018-09-21 16:26:27 +02:00
MaEtUgR 4f0e090e88 drv_rc_input: replace useless rc_input_values define 2018-09-21 16:26:27 +02:00
TSC21 5c386a737c make generation of micro-RTPS agent CMakeLists.txt optional 2018-09-21 15:55:17 +02:00
TSC21 93daec43d3 generate_microRTPS_bridge: add option to set preprocessor include paths of fastrtpsgen 2018-09-21 15:55:17 +02:00
TSC21 d708c965ec px_generate_uorb_topic_helper.py: beautify 2018-09-21 15:55:17 +02:00
TSC21 4137517d12 px_generate_uorb_topic_files.py: beautify 2018-09-21 15:55:17 +02:00
TSC21 cafc2f5e61 add Copyright notice 2018-09-21 15:55:17 +02:00
TSC21 9b028e4f6d update copyright notice 2018-09-21 15:55:17 +02:00
TSC21 0bee156e8f remove unneeded condition verfication for the package 2018-09-21 15:55:17 +02:00
TSC21 57f5bb6290 generate_microRTPS_bridge.py: beautify 2018-09-21 15:55:17 +02:00
TSC21 6eda4feb20 use os.path.join() when possible 2018-09-21 15:55:17 +02:00
TSC21 8efb2bbe10 improve ImportError verbosity for yaml 2018-09-21 15:55:17 +02:00
TSC21 43f78705ab add option to set the msg IDL dir 2018-09-21 15:55:17 +02:00
TSC21 e3560795a1 make 'build' dir creation optional 2018-09-21 15:55:17 +02:00
TSC21 f43c581a8c add errno import for fixing script running over python 3 or above 2018-09-21 15:55:17 +02:00
TSC21 1ee6c03627 add --generate-yaml option 2018-09-21 15:55:17 +02:00
TSC21 5c80fe25f5 small typo fix 2018-09-21 15:55:17 +02:00
TSC21 2cc6c03a08 change argparse logic for idl generation 2018-09-21 15:55:17 +02:00
TSC21 eedb80f76d remove unnecessary 'nargs=1' from argparse 2018-09-21 15:55:17 +02:00
TSC21 bb835382dd use a yaml file description instead of json; minor improvements and cleanup 2018-09-21 15:55:17 +02:00
TSC21 7d40c4f97e fix templates dir 2018-09-21 15:55:17 +02:00
TSC21 a323073456 load RTPS msg IDs from a JSON file and remove uorb_rtps_message_ids.py 2018-09-21 15:55:17 +02:00
TSC21 943bfbf93f generalize scripts for usage outside the PX4 Firmware dir and with other templates/packages 2018-09-21 15:55:17 +02:00
Kunal Shah 7f016b5fd4 ROS multi-vehicle simulation: fixed udp port overlap issues 2018-09-21 09:01:47 +02:00
Beat Küng 370fddc115 omnibus: (temporarily) disable the topic listener
To reduce flash usage, until we can disable the FW & VTOL modules.
2018-09-20 11:14:02 +02:00
Daniel Agar 72489e27b3 px4fmu-v2 disable SRF02 ultra sonic range finder 2018-09-20 07:57:00 +02:00
mcsauder 0ecf6436f8 Modify 500001_axialracing_ax10 to utilize rc.ugv_defaults to allow deprecating rc.axialracing_ax10_apps and rc.axialracing_ax10_defaults and update CMakeLists.txt. 2018-09-19 14:07:30 -04:00
Matthias Grob 4863b3669b appveyor: switch to toolchain 0.4
with:
- shutdown command support in SITL
- pyyaml included for RTPS message generation
2018-09-19 14:06:46 -04:00
Roman e1992a5036 ROMFS: enable weathervane by default for VTOL
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 13:30:32 -04:00
mcsauder 39ee1926a2 Alphabetize hardware type logic blocks and sensor specific logic blocks in rc.sensors. 2018-09-19 13:17:10 -04:00
Daniel Agar cfac2cc38e uORB advertise through uORBDeviceMaster directly 2018-09-19 10:00:45 +02:00
Roman ad88ef14e1 weathervane: use a single parameter to enable
- in auto mode we always run weather vane
- in manual model we just use it in position control mode

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman ee5007e886 weathervane params: added unit tag and minor comment update
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 96f3feb088 weathervane: get rid of passive strategy
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 0e835cb498 Weathervane: pass quaterionon as constant reference
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman ccaeb58708 WeatherVane lib: address review comments 2018-09-19 08:27:07 +02:00
Roman ce7272a39c WeatherVane: calculate rotation matrix directly when updating
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman d6b6a1d0b3 addressed comments from review
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 4ad11484ca mc_pos_control: moded weathervane parameters to weathervane lib
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 8abcf2defa mc_pos_control: use weathervane library to make vehicle turn into relative wind
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 6038c22174 added a weathervane library
- computes a yaw-rate setpoint that tries to rotate the nose of the vehicle
into the relative wind.

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Daniel Agar b1c6701f01 px4io driver use common error string 2018-09-19 08:26:32 +02:00
Daniel Agar 878bd43ad1 heater driver use common error string 2018-09-19 08:26:32 +02:00
Daniel Agar 67f1e63362 drivers don't print accel and gyro filter frequency 2018-09-19 08:26:32 +02:00
garfieldG f14125c160 Mavlink NuttX network support (#10200) 2018-09-18 23:29:58 -04:00
mcsauder 31f3bcfc3a Remove logic from rc.vehicle_setup that resulted in redundantly setting the MAV_TYPE to the same initial default value set within the script. 2018-09-18 22:49:01 -04:00
Daniel Agar e3ff623df5 README.md update Jenkins build status icon and url 2018-09-18 20:18:02 -04:00
Daniel Agar 2c3a064942 README.md update Jenkins build status icon and url 2018-09-18 20:16:29 -04:00
mcsauder e79fa1773d Alphabetize vehicle type logic block order and Update param set MAV_TYPE logic to only set the parameter if no MAV_TYPE was previously set. 2018-09-18 19:46:59 -04:00
Paul Riseborough f240eaa5b0 EKF: Fix test script 2018-09-19 06:32:43 +10:00
Paul Riseborough 5cb228e1b3 EKF: Remove duplicate line 2018-09-19 06:32:43 +10:00
Paul Riseborough 0220f469b0 EKF: Use more generic variable name for bad yaw fusion flag
This flag now reports on  fusion of data that is not from a magnetometer.
2018-09-19 06:32:43 +10:00
Paul Riseborough eb52f7c410 EKF: Remove implicit conversion and use single precision trig operator
Double precision accuracy is not required for this operation.
2018-09-19 06:32:43 +10:00
Paul Riseborough 6847acb72e EKF: Add protection for undefined GPS antenna array heading offset 2018-09-19 06:32:43 +10:00
Paul Riseborough d1f3f4c916 EKF: Use #define function for isfinite check 2018-09-19 06:32:43 +10:00
Paul Riseborough 91f886cb5e EKF: Add support for use of GPS heading data.
Heading data is assumed to be from a  dual antenna array at a specified yaw angle offset in body frame, but with the heading data already corrected for antenna offset. The offset is required to apply the correct compensation for combined rotations and to determine when the yaw observation has become badly conditioned.
2018-09-19 06:32:43 +10:00
Paul Riseborough af60e6bbc8 EKF: Add derivation for for dual antenna yaw observations 2018-09-19 06:32:43 +10:00
Paul Riseborough 342c3ab202 EKF: Fix timeout parameter documentation and name
The parameter used to control the maximum dead reckoning time had 'gps' in the parameter name which was confusing because it was used for all measurement types capable of constraining horizontal velocity error growth. The parameter variable has been renamed and the documentation for it improved.
The parameter used to control the maximum time since fusing a measurement before the measurement is considered to be not contributing to aiding had misleading documentation which has been updated.
2018-09-19 06:32:43 +10:00
Daniel Agar c7e572d2c2 commander preflight check sensors via uORB instead of IOCTL
- remove all platform defines
2018-09-18 22:24:03 +02:00
ChristophTobler f72e9e4385 pmw3901: set quality to zero if flow below threshold 2018-09-18 18:37:44 +02:00
PX4 Build Bot a4a9b02ff1 Update submodule matrix to latest Tue Sep 18 12:37:50 UTC 2018
- matrix in PX4/Firmware (6a217407806bac38328cd12903ee3aff52df14b0): https://github.com/PX4/Matrix/commit/dc3af8097798881b9b2e72a029a3c6c10abd059b
    - matrix current upstream: https://github.com/PX4/Matrix/commit/30d5a794326f41286b387581f7c21f4bdb8fa696
    - Changes: https://github.com/PX4/Matrix/compare/dc3af8097798881b9b2e72a029a3c6c10abd059b...30d5a794326f41286b387581f7c21f4bdb8fa696

    30d5a79 2018-09-14 Bart Slinger - testing float/double with Type template
707e288 2018-09-13 Bart Slinger - explicit casting
480c5f1 2018-09-13 Bart Slinger - static assert M>=N. floats to Type, arguments as const reference
7495794 2018-09-12 Bart Slinger - test zero divisions
3f2d3cf 2018-09-12 Bart Slinger - fix a div/0 condition
983a3f0 2018-09-12 Bart Slinger - use Matrix and Vector class for A and tau
98b8e2d 2018-09-12 Bart Slinger - formatting
0009328 2018-09-09 Bart Slinger - least squares solver for MxN matrices using QR householder algorithm
2018-09-18 18:36:51 +02:00
Matthias Grob fbd175c0c9 posix-shell server: switch pipe flag to read/write
to make it non-blocking and ommit opening the same
named pipe multiple times inside the same process
which seems to be not supported in cygwin.
2018-09-18 18:24:07 +02:00
Oleg Kalachev 9887c463fd mavlink_receiver: fill some missing fields in OPTICAL_FLOW_RAD handler 2018-09-18 09:53:35 +02:00
TSC21 f0c231778f fix format 2018-09-18 09:52:33 +02:00
TSC21 9566804f8c fix small typo on PX4_ISFINITE covariance verification 2018-09-18 09:52:33 +02:00
TSC21 095cdeb4b0 add a local frame of reference field to vehicle_odometry 2018-09-18 09:52:33 +02:00
TSC21 cc73f214d1 add covariance matrices index aliases 2018-09-18 09:52:33 +02:00
TSC21 1cfaccfd7b mavlink_receiver: use typedef dcmf for DCM matrices 2018-09-18 09:52:33 +02:00
TSC21 1d10c5f740 vehicle_odometry: add timestamp field 2018-09-18 09:52:33 +02:00
TSC21 6329f1a38a small fix on cov passing loop 2018-09-18 09:52:33 +02:00
TSC21 746250d86d use static_assert over covariance matrices URT array size 2018-09-18 09:52:33 +02:00
TSC21 7db57bedb7 assert over the covariance matrices URT size matching 2018-09-18 09:52:33 +02:00
TSC21 eeca8d4efe position_estimator_inav: fix inverted logic for data validation check 2018-09-18 09:52:33 +02:00
TSC21 8325724079 general fixes on VIO data access 2018-09-18 09:52:33 +02:00
TSC21 7d7ee8e4bf small rebase fix 2018-09-18 09:52:33 +02:00
TSC21 88ffd047e0 lpe: mocap and vision: set common ref timestamp 2018-09-18 09:52:33 +02:00
TSC21 7629075cae lpe: sensors: mocap: fix global ref init logic 2018-09-18 09:52:33 +02:00
TSC21 f1e0310df2 fix rebase 2018-09-18 09:52:33 +02:00
TSC21 22b8fa0414 posix_configs: add LPE iris_vision config 2018-09-18 09:52:33 +02:00
TSC21 981fd98564 position_estimator_inav: simplify validation check 2018-09-18 09:52:33 +02:00
TSC21 5865a40bf3 attitude_estimator_q: add attitude data validation check 2018-09-18 09:52:33 +02:00
TSC21 6b2fb54963 attitude_estimator_q: use vehicle_visual_odometry topic to get the heading 2018-09-18 09:52:33 +02:00
TSC21 440ebfde02 remove att_pos_mocap uORB topics 2018-09-18 09:52:33 +02:00
TSC21 8dd610ab78 replay: subscribe to vehicle_visual_odometry 2018-09-18 09:52:33 +02:00
TSC21 2f5b16a5d3 mavlink_receiver: odometry handler: simplify quaternion init 2018-09-18 09:52:33 +02:00
TSC21 607be6791c ekf2: use fmaxf instead of fmax 2018-09-18 09:52:33 +02:00
TSC21 68fce26ae7 sdlog2: update log for new vehicle_odometry uORB topics 2018-09-18 09:52:33 +02:00
TSC21 efe312d4a6 style and format clean 2018-09-18 09:52:33 +02:00
TSC21 2cc193c173 lpe: mocap: fix enum constant in boolean context 2018-09-18 09:52:33 +02:00
TSC21 04dc6bc04a simulator: add ODOMETRY Mavlink msg handler 2018-09-18 09:52:33 +02:00
TSC21 cce36e69c8 position_estimator_inav: add vehicle_odometry usage; improve inout interface 2018-09-18 09:52:33 +02:00
TSC21 183a63cce9 purge vehicle_vision_position alias 2018-09-18 09:52:33 +02:00
TSC21 8f23a073a4 ekf2: add vehicle_odometry usage and data validation check; update replay as well 2018-09-18 09:52:33 +02:00
TSC21 048ff56890 lpe: add vehicle_odometry and data validation handlers; improve inout interface 2018-09-18 09:52:33 +02:00
TSC21 7303005373 mavlink_receiver: add ODOMETRY handler; use new visual_odometry uORB msg and aliases 2018-09-18 09:52:33 +02:00
TSC21 4816adcdee mavlink_receiver: remove attitude_quatertion_cov and local_position_ned_cov handlers 2018-09-18 09:52:33 +02:00
TSC21 939216d6ff add vehicle_odometry msg 2018-09-18 09:52:33 +02:00
Bart Slinger 30d5a79432 testing float/double with Type template 2018-09-18 09:39:17 +02:00
Bart Slinger 707e288019 explicit casting 2018-09-18 09:39:17 +02:00
Bart Slinger 480c5f1f8e static assert M>=N. floats to Type, arguments as const reference 2018-09-18 09:39:17 +02:00
Bart Slinger 7495794386 test zero divisions 2018-09-18 09:39:17 +02:00
Bart Slinger 3f2d3cf58d fix a div/0 condition 2018-09-18 09:39:17 +02:00
Bart Slinger 983a3f0212 use Matrix and Vector class for A and tau 2018-09-18 09:39:17 +02:00
Bart Slinger 98b8e2d43b formatting 2018-09-18 09:39:17 +02:00
Bart Slinger 0009328257 least squares solver for MxN matrices using QR householder algorithm 2018-09-18 09:39:17 +02:00
mcsauder 0d0fcb140c Updated rc.vtol_defaults to correct PWM_AUX behavior for VTOL airframes. Added PWM_AUX_RATE to rc.vtol_default and set parameters directly instead of environment variables. 2018-09-17 20:28:09 -04:00
Daniel Agar 73deded106 Jenkins force push metadata git updates (Devguide, userguide, QGC) 2018-09-17 15:09:43 -04:00
David Sidrane 2d800885bc NXPHlite: rc.sensors start lis3mdl (#10500) 2018-09-17 13:29:08 -04:00
Roman Bapst f361749d70 mavlink temporary workarounds for dronekit: added parameters to disable (#10422)
hash check and heartbeat forwarding

- hash check disabling: for systems where a companion link forwards messages
to QGC (e.g. via LTE) parameter streaming will be stopped as soon as QGC
sends the request to stop the stream. If the companion side for some reason
still requires the stream to be active we need to disable QGC from stopping
the stream. Normally dronekit should be responsible for filtering out the
request from QGC but apparently this is not possible.

- disable heartbeat forwarding: dronekit does seem to get confused if
heartbeats from another system other than the autopilot get forwarded to it.
Example: Sending messages from QGC via the autopilot to dronekit running on
companion computer.

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-17 13:24:20 -04:00
David Sidrane c1df899b6f fxos8701cq: Fully remove the mag to facilitate calibration (#10499)
The previous removal of the mag was not complete. It just disabled publishing. This commit conditionally removes all the the mag functionality.
2018-09-17 13:07:46 -04:00
Roman e17f0802cc tecs msg: changed flight_path_angle to height rate as clearly we are
looking at height rates

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-17 10:27:08 -04:00
PX4 Build Bot dd63a634b2 Update submodule devices to latest Mon Sep 17 00:37:44 UTC 2018
- devices in PX4/Firmware (8158cdfcf4): https://github.com/PX4/GpsDrivers/commit/aef48b04ff9b95350c4e5e507eea72a9e971d6a4
    - devices current upstream: https://github.com/PX4/GpsDrivers/commit/657514b26a0bf1b1ea2bf723b18449b04248822c
    - Changes: https://github.com/PX4/GpsDrivers/compare/aef48b04ff9b95350c4e5e507eea72a9e971d6a4...657514b26a0bf1b1ea2bf723b18449b04248822c

    657514b 2018-08-02 Alexis Paques - Adding UBX_MSG_RTCM3_* for additional messages
f9cf788 2018-08-02 Alexis Paques - Adding RTCM3 class documentation reference
6009a29 2018-08-02 Alexis Paques - Adding RTCM3 available output message IDs
2018-09-17 08:16:20 +02:00
Dion Gonano c68146c510 Update src/lib/ecl submodule tracking for required hgtErr changes 2018-09-16 21:30:20 -04:00
Dion Gonano 7691990a50 Pass through horizontal and vertial covariances 2018-09-16 21:30:20 -04:00
Roman Bapst 8158cdfcf4 navigator: set yaw_valid flag in reposition triplet (#10294)
- yaw_valid flag was always left at false which made the position controller reject the yaw setpoint of the reposition command
2018-09-16 19:29:38 -04:00
bresch 740e409016 PWM - Add PWM_MIN and PWM_MAX parameters for MAIN and AUX (#10452) 2018-09-16 18:07:29 -04:00
Daniel Agar bcad940a9f pwm_out_sim lazily publish actuator_outputs 2018-09-17 00:06:52 +02:00
Daniel Agar 9580cb8d86 SITL plane cut throttle during landing final stage 2018-09-17 00:06:52 +02:00
Julian Oes 9f7f30a166 jmavsim_run.sh: fall back to Java 9 on macOS
This checks if we are on macOS and if we have Java 8 installed. If yes,
it falls back to Java 8 by setting JAVA_HOME.

This avoids https://github.com/PX4/jMAVSim/issues/81
2018-09-16 17:40:27 -04:00
Julian Oes fec3422f54 jmavsim_run.sh: fix shebang and exit on error 2018-09-16 17:40:27 -04:00
Julian Oes 1789083ab3 jMAVSim: update to latest master
This should resolve the issues with Java 9/10.
2018-09-16 17:40:27 -04:00
Lukas Woodtli 3d29e2e76f Fix some test code related leaks (#10488)
These leaks are not critical but the address-sanitizer complains.
And it's better programming practice anyway.

Signed-off-by: Lukas Woodtli <woodtli.lukas@gmail.com>
2018-09-16 17:38:50 -04:00
Daniel Agar 3996ab1fc5 frsky_telemetry increase MAIN stack 2018-09-16 17:16:59 -04:00
Lukas Woodtli c1a58bda17 Add address sanitizer to SITL pipeline
- Environment variables for building with asan
- Docker argument for leak sanitizer
- Regex for tests to fail on sanitizer error

Signed-off-by: Lukas Woodtli <woodtli.lukas@gmail.com>
2018-09-16 09:40:53 +02:00
David Sidrane eb4f847322 nxphlite-v3:Set UART4 to have the same bufffer sizes as TELEM1
Bring UART4 bufffer sizes in alignment with FMUv2 Telem1
2018-09-14 15:38:56 -04:00
David Sidrane 153d106969 fxas21002c:Add margin to stack from RTT-Stack check 2018-09-14 15:37:20 -04:00
David Sidrane e84a7dc140 fxos8701cq:Add margin to stack from RTT-Stack check 2018-09-14 15:37:20 -04:00
David Sidrane 82576c8d4c mtd:Add margin to stack from RTT-Stack check 2018-09-14 15:37:20 -04:00
Beat Küng e2973028ab sitl_run.sh: do not kill jmavsim if model is none
I sometimes start jmavsim independently from px4, and in that case jmavsim
should not be killed. These are the commands:
./Tools/jmavsim_run.sh
make posix none
2018-09-14 17:07:40 +02:00
PX4 Build Bot fea77690ae Update submodule sitl_gazebo to latest Fri Sep 14 12:42:47 UTC 2018
- sitl_gazebo in PX4/Firmware (031885f9a90e70cd8d8aa22c774dfca1bd0c8dfb): https://github.com/PX4/sitl_gazebo/commit/821c55ca714d7acf93d8ed96af71237b8437e488
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/9d512af0075659f0ace91ec0e2f8c8a170f911fb
    - Changes: https://github.com/PX4/sitl_gazebo/compare/821c55ca714d7acf93d8ed96af71237b8437e488...9d512af0075659f0ace91ec0e2f8c8a170f911fb

    9d512af 2018-09-12 Lorenz Meier - Update gazebo_wind_plugin.cpp
46d0be1 2018-09-12 Lorenz Meier - Update Wind.proto
14f09ff 2018-09-03 Elia Tarasov - fix compilation for gazebo version equal or greater 9
de86d7b 2018-08-31 Elia Tarasov - use template class vector3d from ignition::math
f3cba29 2018-08-31 Elia Tarasov - enable wind plugin
2018-09-14 17:07:22 +02:00
Beat Küng 2d5b51ed8e run-shellcheck.sh: exclude .bin files 2018-09-14 17:06:19 +02:00
Beat Küng 84c6b5ac6b fmu-v2: add bootloader binary and SYS_BL_UPDATE param for BL updates
This allows a simple-to-use bootloader update mechanism to switch from
fmu-v2 to fmu-v3 target that has more flash.
2018-09-14 17:06:19 +02:00
Roman 5847ab4607 posix main.cpp: better reporting e.g. when there are permission problems
- if somebody tries to use the shell with insufficient permissions he will be told so

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-14 14:43:08 +02:00
Roman Bapst 2d59ead1bf simulator: add MAV_TYPE to module parameters (#10476)
- this ensures that the MAV_TYPE parameter is always updated
- previously it could happen that the simulator module was using a wrong
MAV_TYPE value because it only read the parameter value at initialisation

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-13 21:56:21 -04:00
David Sidrane 3022fdb240 test_file2:test fails due to missing slash 2018-09-13 12:15:03 -07:00
David Sidrane 22a65f6c1d fmu:Fix Safety switch breakage from bc9c25a
The update check is on ORB_ID(safety) but the copy
   was from ORB_ID(actuator_armed).
2018-09-13 11:21:53 -07:00
David Sidrane 698590a5b2 Update nuttx with hardfault fix for kinetis on i2c reset 2018-09-13 06:56:00 -07:00
David Sidrane be6f6126f4 px4io:Add passive support for Enter/Exit pwm test mode
Accept PWM_SERVO_[ENTER|EXIT]_TEST_MODE as a noop.
   As long as the mixer in passthrough and armed the
   pwm test will work.
2018-09-13 08:45:36 +02:00
David Sidrane b578419e09 Bug fix fmu hard fault on pwm info
A hardfault was happening on:
    fmu stop
    fmu mode_pwm
    pwm info

   The _mixer was null and being dereferenced to access the trim
   setting that were moved to the mixer from the fmu.

   This commit fixes that but making the getter issue a warning
   and the setter fail.
2018-09-13 08:45:36 +02:00
David Sidrane 945a532260 pwm:Use test mode in steps command 2018-09-13 08:45:36 +02:00
David Sidrane 49f1540c30 pwm:Add test mode 2018-09-13 08:45:36 +02:00
David Sidrane 73b9f09920 fmu:Add test mode 2018-09-13 08:45:36 +02:00
David Sidrane efb512abea drv_pwm_output:Define test enter/exit IOCTL 2018-09-13 08:45:36 +02:00
Daniel Agar a87e81c61b Jenkins update snapdragon docker to 2018-09-12 2018-09-12 15:02:03 -04:00
Daniel Agar 8b76a87f98 OSX setup helper install pip python dependencies with sudo 2018-09-12 10:06:41 -04:00
Daniel Agar 73fe4ecd20 AV-X enable GPS for rev C board 2018-09-12 02:39:03 -04:00
Daniel Agar 90b60d44dc Jenkins update docker containers to 2018-09-11 (#10463) 2018-09-12 00:05:22 -04:00
David Sidrane c41d7ebdd3 kinetis:Bug fix PWM led update
The code was forcing the CV reload, but not resettting the count
  this would cause short and long blinks during breathing.

  this change allows the CV to update at 50Hz (20 ms) asynchronously.
  So the LED update rate of 40Hz (25) will take effect on the next
  FTM counter change, end of the prescaler counting, after CnV register
  was written.update.
                   a   b   c   d
  LED PWM   ___-___-___-___-___-___-___-___-___-___
  LED Data  ____-____-____-____-____-____-____-____-
                 a    b    c    d
2018-09-12 01:03:22 +02:00
Daniel Agar 16a23c5527 ubuntu env setup script install python deps system wide in docker 2018-09-11 15:24:55 -04:00
Daniel Agar c7ff4a87a3 ubuntu env setup script add file utility
- needed for cmake packaging
2018-09-11 15:24:55 -04:00
David Sidrane 520a81a951 nxphlite-v3:Disable internal mag due to random spikes.
This will disable the fxos8701cq internal mag on
  the NXPHlite. There are random noise spikes on the
  HIGHRES_IMU.[x|y|x]mag. Even with all other SPI
  devices shut down, the noise is still present.
2018-09-11 06:58:35 -07:00
Julian Oes a9070ce6e6 sitl_run.sh: fix process grep for jMAVSim
It seems that the oneline to find the process ID of any running jMAVSim
instance was not working correctly.
1. On Linux, the name of the process does not contain Simulator but
   jmavsim_run.jar. Also, it triggers incorrectly, if you have opened
   Simulator.java using the command line :).
2. The cutting to get the PID at the end does not work as intenteded and
   gives the username instead of PID, at least on Arch Linux. Using awk
   should fix this.
2018-09-11 14:09:41 +02:00
Dion Gonano 2354c30d81 Add vision height covariance passthrough (#507)
* Add vision height covariance passthrough

* Fix hgtErr layout
2018-09-11 06:36:13 +10:00
Daniel Agar c886d8d9af Jenkins SITL tests build grab all tags 2018-09-10 16:27:21 -04:00
Daniel Agar 33e68b3331 update ubuntu.sh setup script and python requirements.txt 2018-09-10 13:50:18 -04:00
Daniel Agar 40a68624e5 tests command ignore -Wunused-variable (#10442) 2018-09-10 11:24:57 -04:00
Hamish Willee dc878f43a8 Param docs explain how create (#10439)
This adds text to markdown output to explain how params are generated
2018-09-10 09:38:41 -04:00
Daniel Agar 56723b2ece AV-X initial networking support 2018-09-07 16:50:32 -07:00
Beat Küng 8e563c29cb DriverFramework: update submodule
MPU6050: fix implicit float to double conversion
2018-09-06 18:10:35 +02:00
Beat Küng c5b954dacc heater: fix resource leak 2018-09-06 12:20:08 +02:00
mcsauder 615348189e Remove doxy comments from private member variables. 2018-09-06 12:03:26 +02:00
mcsauder e7666aa5d8 Added an imu heater driver, formatted whitespace, standardized comments, and added doxy documentation. 2018-09-06 12:03:26 +02:00
PX4 Build Bot 039221fa93 Update submodule DriverFramework to latest Thu Sep 6 04:08:26 EDT 2018
- DriverFramework in PX4/Firmware (060463e8a7): https://github.com/PX4/DriverFramework/commit/b439556d54aa53532586e69de87cc720af4543c2
    - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/c85f446f3ae3aa7707b4dfaf20486b0b75897042
    - Changes: https://github.com/PX4/DriverFramework/compare/b439556d54aa53532586e69de87cc720af4543c2...c85f446f3ae3aa7707b4dfaf20486b0b75897042

    c85f446 2018-09-06 Daniel Agar - mpu6050 fix abs double promotion
2018-09-06 01:36:06 -07:00
Daniel Agar 060463e8a7 parameters lib convert to c++ (#10267) 2018-09-04 09:18:28 -04:00
mcsauder 0c08b7035b Edit the init.d-posix files to set MAV_TYPE script variables, and alphabetize lists in a few places. 2018-09-04 10:23:27 +02:00
mcsauder 4ea3306ec2 Set parameters directly rather than script variables in VTOL airframe config files and alphabetize lists. 2018-09-04 10:23:27 +02:00
fredowski ad6e48c372 cmake - check directory existence before copy_directory (#10402)
Starting with cmake version 3.12 the cmake -E copy_directory
command fails if the source directory does not exist. This results
in a build failure. This fix creates the source directory before
the copy which does not harm if the source directory exists.

Closes: #10368
2018-09-03 20:27:32 -04:00
Beat Küng e5a7945ad2 cmake configs: remove posix_sitl_ekf2.cmake
Not needed anymore, use PX4_ESTIMATOR.
2018-09-03 09:01:50 -04:00
Kabir Mohammed a7245229cb EKF : Fix divergence when optical flow is not fused for a long time (#503)
* terrain_estimator : guard against case where latest range sample is newer than IMU sample

* EKF : control : correct detection of no optical flow fusion over a time period
2018-09-03 14:26:43 +10:00
Daniel Agar d32fd27129 Jenkins SITL tests restore try to always analyze 2018-09-02 20:50:52 -04:00
Daniel Agar d7580aa676 px4fmu-v5 increase CONFIG_USERMAIN_STACKSIZE slightly 2018-09-02 16:41:41 -04:00
Daniel Agar 8fbeb6f717 cmake px4_add_git_submodule set USES_TERMINAL
- this allows interacting with the submodules check
2018-09-02 16:28:45 -04:00
Daniel Agar d6fd1c4811 rgbled_pwm increase MAIN stack 2018-09-02 16:15:03 -04:00
Daniel Agar 2dbc95382e rgbled increase MAIN stack 2018-09-02 16:15:03 -04:00
Daniel Agar ee90eb6c92 IST8310 increase MAIN stack 2018-09-02 16:15:03 -04:00
Daniel Agar 6abd0c2672 BMI055 increase MAIN stack 2018-09-02 16:15:03 -04:00
Daniel Agar ab8bf09996 tests cmd remove unused stack module option 2018-09-02 15:31:54 -04:00
Daniel Agar ea73284a1f uORB tests increase stack sizes 2018-09-02 15:31:54 -04:00
Daniel Agar 1a0472dfab sensors increase MAIN stack 2018-09-02 15:31:54 -04:00
Daniel Agar 2dd71fa73c mpu6000 increase MAIN stack 2018-09-02 15:31:54 -04:00
Daniel Agar b75fa645ce bmp280 increase MAIN stack 2018-09-02 15:31:54 -04:00
Daniel Agar 34da02f41b Jenkins compile add px4fmu-v5_stackcheck 2018-09-02 15:31:54 -04:00
Daniel Agar ac298664c7 nuttx-configs increase idle thread stack size to 750 bytes 2018-09-02 15:31:54 -04:00
Daniel Agar 55abaaf6ab uORB printf map extend floating point decimal places 2018-09-02 21:13:10 +02:00
Daniel Agar af6098b9ea uORB print_message add device_id pretty print 2018-09-02 21:13:10 +02:00
Daniel Agar 7cc0e69fcd add px4fmu-v{3,4,5} stackcheck configs 2018-09-02 14:16:04 -04:00
Daniel Agar 7e12815f81 Mavlink add RADIO_STATUS timeout and reset 2018-09-02 19:48:10 +02:00
Daniel Agar 930ac8d4fe Mavlink set telemetry_status type properly for Sik radios
- remove radio_status type since there's no type support in mavlink
2018-09-02 19:48:10 +02:00
PX4 Build Bot 4630b60c41 Update submodule ecl to latest Sat Sep 1 18:41:45 UTC 2018
- ecl in PX4/Firmware (e421c254e2): https://github.com/PX4/ecl/commit/3c74dc2ce1002db5b68a833fdd0aa964210e91f5
    - ecl current upstream: https://github.com/PX4/ecl/commit/b861594d0b2f8c476cb758f9ae22c83e14920dfe
    - Changes: https://github.com/PX4/ecl/compare/3c74dc2ce1002db5b68a833fdd0aa964210e91f5...b861594d0b2f8c476cb758f9ae22c83e14920dfe

    b861594 2018-09-01 Paul Riseborough - EKF:  enable optical flow use to bootstrap
2018-09-01 15:05:39 -04:00
Paul Riseborough b861594d0b EKF: enable optical flow use to bootstrap 2018-09-01 14:49:45 +02:00
PX4 Build Bot e421c254e2 Update submodule genmsg to latest Fri Aug 31 21:30:44 UTC 2018
- genmsg in PX4/Firmware (92b52c56af728741b4ac9f57e583350b0fcd7c3b): https://github.com/ros/genmsg/commit/a189fc78558e7276df59d2961cfe4f8b4de08a8b
    - genmsg current upstream: https://github.com/ros/genmsg/commit/42e364661025b8f3d51486dc513d9e29cbd308da
    - Changes: https://github.com/ros/genmsg/compare/a189fc78558e7276df59d2961cfe4f8b4de08a8b...42e364661025b8f3d51486dc513d9e29cbd308da

    42e3646 2018-08-27 Jochen Sprickerhof - Use CATKIN_GLOBAL_ETC_DESTINATION for etc (#79)
2018-08-31 18:51:44 -04:00
Daniel Agar 47db2a28e1 Update submodule mavlink v2.0 to latest Fri Aug 31 21:30:38 UTC 2018 (#10387)
- v2.0 in PX4/Firmware (21f6ca4a1f): https://github.com/mavlink/c_library_v2/commit/fe2349dea9a88fb5b873eff2a59a88125943fd61
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/d8fcf0a694dc11b3f83b89a0970e3d8c4e48d418
    - Changes: https://github.com/mavlink/c_library_v2/compare/fe2349dea9a88fb5b873eff2a59a88125943fd61...d8fcf0a694dc11b3f83b89a0970e3d8c4e48d418

d8fcf0a 2018-08-30 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/580a9ce77f3653d04937c9703dbd7fb31bf0ef33
189a1d8 2018-08-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/1a55f0bf6101d87ee50a92869c6a31a855526fd2
2018-08-31 18:50:26 -04:00
PX4 Build Bot cbd1636d8d Update submodule matrix to latest Fri Aug 31 21:31:02 UTC 2018
- matrix in PX4/Firmware (468f28463eabc30843e606546d642adc1a62fe10): https://github.com/PX4/Matrix/commit/b815fc97c4e686a93a8074f27d1830a031b0d38d
    - matrix current upstream: https://github.com/PX4/Matrix/commit/dc3af8097798881b9b2e72a029a3c6c10abd059b
    - Changes: https://github.com/PX4/Matrix/compare/b815fc97c4e686a93a8074f27d1830a031b0d38d...dc3af8097798881b9b2e72a029a3c6c10abd059b

dc3af80 2018-08-27 Daniel Agar - constructors use array size rather than pointers
f1bee77 2018-08-27 Daniel Agar - use default constructors and skip unnecessary initialization
1bcf48b 2018-08-30 Daniel Agar - Quaternion from_dcm don't pass by value
2018-08-31 18:48:58 -04:00
PX4 Build Bot ee51fcb3c0 Update submodule ecl to latest Fri Aug 31 21:30:56 UTC 2018
- ecl in PX4/Firmware (95b83ba29715c067a30cb9501cab51264db502f1): https://github.com/PX4/ecl/commit/56b8bb08a16f0e86f7c7dfe458f0d2d3082e92e4
    - ecl current upstream: https://github.com/PX4/ecl/commit/3c74dc2ce1002db5b68a833fdd0aa964210e91f5
    - Changes: https://github.com/PX4/ecl/compare/56b8bb08a16f0e86f7c7dfe458f0d2d3082e92e4...3c74dc2ce1002db5b68a833fdd0aa964210e91f5

    3c74dc2 2018-08-30 Daniel Agar - ECL_Controller base needs virtual destructor
0d39072 2018-08-30 Daniel Agar - EKF add missing header guards
a6a1edb 2018-08-30 Kabir Mohammed - EKF : Fix type of flow data navigation variable (#499)
a53ad9c 2018-08-25 Paul Riseborough - EKF: Add missing optical flow ground motion protection
2018-08-31 18:47:11 -04:00
Daniel Agar c76187dbbb Update submodule nuttx to latest Fri Aug 31 21:30:51 UTC 2018 (#10385)
- nuttx in PX4/Firmware (0a1a2025402a387cde88132c6f8d8cc7237d2e6b): https://github.com/PX4-NuttX/nuttx/commit/bf8cce85c3f9310bcff8cdd1d979270419782a6e
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/e3b5b667aee16a699ecd6605f2d2a4adc6e95c17
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/bf8cce85c3f9310bcff8cdd1d979270419782a6e...e3b5b667aee16a699ecd6605f2d2a4adc6e95c17

e3b5b66 2018-08-31 Daniel Agar - [BACKPORT] Merged in dagar/nuttx/pr-stm32f7_stackcheck-upstream (pull request #714)
2018-08-31 18:44:34 -04:00
Martina Rivizzigno 21f6ca4a1f mc_pos_control: fix desired trajectory waypoint. (#10372)
- The first waypoint contains the vehicle current position and the desired velocity setpoint
2018-08-31 17:28:15 -04:00
David Sidrane 1b6e933176 Make.defs.in:Runtime Stack Checking in Nuttx Build
Use CONFIG_ARMV7M_STACKCHECK to add the instrumentation
  for runtime stack checking
2018-08-31 13:03:39 -07:00
David Sidrane 4f2aa51767 px4_impl_os:Use the defconfig CONFIG_ARMV7M_STACKCHECK
To enable coherent runtime stack checking use the boards
  CONFIG_ARMV7M_STACKCHECK setting
2018-08-31 13:03:39 -07:00
Daniel Agar a6dabbbae7 Landing slope move to standalone library
- this is shared by both the FW position controller and navigator's
   missiong feasibility checker
2018-08-31 14:43:51 -04:00
Daniel Agar 5207c420c3 generic position controller status/feedback message 2018-08-31 14:43:51 -04:00
Daniel Agar 223dacee64 multicopter position controller use const references 2018-08-31 14:37:49 -04:00
Beat Küng e26bfd2e79 SITL: remove config_sitl_rcS_dir
Not needed anymore
2018-08-31 14:21:56 -04:00
Beat Küng 47094aa1f8 cmake configs: remove unneeded sitl files
This is all done through posix_sitl_default.cmake and env variables:
- PX4_ESTIMATOR
- replay
2018-08-31 14:21:56 -04:00
Beat Küng 1a4396c15e param_shmem: rename exit to do_exit 2018-08-31 18:11:58 +02:00
Beat Küng 4e6139d9fb Posix: add '#pragma GCC poison exit'
Generally exit() should not be used on Posix, because it exits the whole
program instead of only the task.
2018-08-31 18:11:58 +02:00
Beat Küng 9193312bd0 segway_main: avoid using exit() 2018-08-31 18:11:58 +02:00
Beat Küng 0dc8eeb118 tests: avoid using exit() 2018-08-31 18:11:58 +02:00
Beat Küng 50cdb01141 rover_steering_control: avoid using exit() 2018-08-31 18:11:58 +02:00
Beat Küng 258f7a7ff8 fixedwing_control: avoid using exit() 2018-08-31 18:11:58 +02:00
Beat Küng d5bef4a932 sf0x.cpp: avoid using exit() 2018-08-31 18:11:58 +02:00
Beat Küng fe502ffd33 fix tone_alarm: avoid using exit()
On POSIX it exits the process.
2018-08-31 18:11:58 +02:00
Daniel Agar dc3af80977 constructors use array size rather than pointers 2018-08-31 08:11:02 +02:00
Daniel Agar f1bee775a0 use default constructors and skip unnecessary initialization 2018-08-31 08:11:02 +02:00
David Sidrane 9246110161 samv7:tone_alarm refactor for Cdev 2018-08-30 19:11:17 +02:00
David Sidrane 75d7800deb samv7:tone_alarm cleanup 2018-08-30 19:11:17 +02:00
David Sidrane 1306e28874 kinetis:tone_alarm remmove assert 2018-08-30 19:11:17 +02:00
David Sidrane a0f70be238 stm32:tone_alarm remmove assert 2018-08-30 19:11:17 +02:00
David Sidrane a063de093a posix:tonealrmsim: use workqueue 2018-08-30 19:11:17 +02:00
David Sidrane 19a8c3e49c rcs:Add comment & test 4 Mini test on all px4io init 2018-08-30 19:11:17 +02:00
David Sidrane c072fefa2c px4fmu_common:rcS:Use tune control, suport FW with no PX4IO
On FW with a px4io bin file, but not a px4io do not error

   Use tune control and have all paths in rcS indicate tunes
2018-08-30 19:11:17 +02:00
David Sidrane 6a7d98229e tap_common rcS:Use tune_control & clean up 2018-08-30 19:11:17 +02:00
David Sidrane b9a54cb4fd tap_common rc.interface:Use tune_control 2018-08-30 19:11:17 +02:00
David Sidrane 91abb36063 px4fmu_test:rcS:Use tune_control 2018-08-30 19:11:17 +02:00
David Sidrane a2dde6bc19 rc.mavlink:Use tune_control 2018-08-30 19:11:17 +02:00
David Sidrane 7d3d497831 rc.io:Use tune_control 2018-08-30 19:11:17 +02:00
David Sidrane f5295d7700 rc.interface:Use tune_control 2018-08-30 19:11:17 +02:00
David Sidrane ab26bd76ff tunes:Refactor for maintenance
Adds a single file definition to provide a single point to add
    new tunes and clearly understand, the useage: it need to be
    stopped will it not allow interruption.
2018-08-30 19:11:17 +02:00
David Sidrane 250c561963 posix simulated tone_alarm: Use tune_control
Refactor to use the tune_control interface
2018-08-30 19:11:17 +02:00
David Sidrane 1fb7046052 stm32 tone_alarm: Remove stale documentation & cleanup
Since tune control came in this driver does not have a
    have a test based interface. The module Documentation
    has been moved to tune_control

    minor cleanup and assert on workque delay of 0
2018-08-30 19:11:17 +02:00
David Sidrane ec25e4b913 stm32 tone_alarm: Remove stale documentation
Since tune control came in this driver does not have a
    have a test based interface. The module Documentation
    has been moved to tune_control
2018-08-30 19:11:17 +02:00
David Sidrane 040ffd52a1 samv7:tone_alarm:ported to tune_control 2018-08-30 19:11:17 +02:00
David Sidrane 43e60b98aa kinetis tone_alarm: Remove stale documentation & cleanup
Since tune control came in this driver does not have a
    have a test based interface. The module Documentation
    has been moved to tune_control

    minor cleanup and assert on workque delay of 0
2018-08-30 19:11:17 +02:00
David Sidrane 6b4e549ba9 kinetis tone_alarm: Remove stale documentation
Since tune control came in this driver does not have a
    have a test based interface. The module Documentation
    has been moved to tune_control
2018-08-30 19:11:17 +02:00
Daniel Agar 99ed46949e uORB_tests print pointer correctly 2018-08-30 19:04:13 +02:00
Daniel Agar d11c6af923 FlightTaskAuto don't pass position setpoint by value 2018-08-30 19:04:13 +02:00
Daniel Agar 12dd9b475e tfmini add missing PX4_ERR argument 2018-08-30 19:04:13 +02:00
Daniel Agar 323ba9f837 batt_smbus.h missing header guard 2018-08-30 19:04:13 +02:00
Daniel Agar 1bcf48bd82 Quaternion from_dcm don't pass by value 2018-08-30 12:07:48 -04:00
Daniel Agar 3c74dc2ce1 ECL_Controller base needs virtual destructor 2018-08-30 12:07:25 -04:00
Daniel Agar 0d39072a6d EKF add missing header guards 2018-08-30 12:07:25 -04:00
Daniel Agar ad321c8824 parameters test save restored parameters when finished 2018-08-30 11:29:39 -04:00
Daniel Agar 8ddb99971f tests template skip mavlink except for mavlink test 2018-08-30 11:13:24 -04:00
Roman 844671ed6d mavlink: moved to ModuleParams
Signed-off-by: Roman <bapstroman@gmail.com>
2018-08-30 11:13:24 -04:00
Daniel Agar d131fea899 vehicle trajectory limit unnecessary updates and reduce logging (#10347)
- fixes #10345
2018-08-30 09:21:13 -04:00
Kabir Mohammed a6a1edbe3f EKF : Fix type of flow data navigation variable (#499) 2018-08-30 18:26:17 +10:00
Paul Riseborough 94d953eef2 Tools: Fix EKF data analysis false positives
The high frequency acceleration noise levels in the gazebo models and also seen on some hardware is causing the IMU vibration check warning to fail.

The thresholds have been lifted and the reporting improved to make it clearer which sensor noise is causing the failure.
2018-08-30 09:57:18 +02:00
Bram Strack van Schijndel ca446982ab [Bebop 2] also upload mixer and config files 2018-08-30 09:48:26 +02:00
Bram Strack van Schijndel 918c397ae7 fixup! [Bebop 2] don't strip and upload to /data/ftp/internal_000 2018-08-30 09:48:26 +02:00
Bram Strack van Schijndel 0b6dc65e3c [Bebop 2] fix upload 2018-08-30 09:48:26 +02:00
Bram Strack van Schijndel b678f8bc5b [Bebop 2] don't strip and upload to /data/ftp/internal_000 2018-08-30 09:48:26 +02:00
Dennis Mannhart 16ca0be4e5 FlightTaskAuto: set reference to 0 if auto is requested but no global position available 2018-08-30 09:44:54 +02:00
Dennis Mannhart 3222f583c8 use matrix .zero 2018-08-30 09:27:48 +02:00
Dennis Mannhart e2e8d6d135 mc_pos_control_main: fix comment and remove line that is not used 2018-08-30 09:27:48 +02:00
Dennis Mannhart a24fdb93c3 FlightTaskManual: increase rc timeout to 1.5 x COM_RC_LOSS_T 2018-08-30 09:27:48 +02:00
Dennis Mannhart 1f1c9fde01 FlightTaskAuto: lock yaw once within acceptance radius 2018-08-30 09:27:48 +02:00
Dennis Mannhart 72f1fca55c mc_pos_control: lower LOITER_TIME_BEFORE_DESCEND from 1 second to 0.2 2018-08-30 09:27:48 +02:00
Dennis Mannhart 8714b216b0 FlightTaskFailsafe: comments and land with land speed if velocity in z is valid but altitude not 2018-08-30 09:27:48 +02:00
Dennis Mannhart 3d250b3b83 FlightTaskAutoLine: don't update yaw if waypoints are too close together 2018-08-30 09:27:48 +02:00
Dennis Mannhart 81c5025ad8 mc_pos_control: enter FlighttaskFailsafe if Flighttask wants to be started, but all of
the Flighttask fail. A failure of the Flighttask can occur if the demanded Flighttask does
not have the required data.
2018-08-30 09:27:48 +02:00
Dennis Mannhart 06c10f61c1 mc_pos_control: go into Failsafe only after 1 second flighttask.update() continous to fail 2018-08-30 09:27:48 +02:00
Dennis Mannhart 4d9f96bfbd FlightTaskFailure: will hover if position available, will land if velocity valid and
will land with 0.3 of hover thurst if position nor velocity is valid
2018-08-30 09:27:48 +02:00
Julian Oes d370a7c2b5 commander: remove unused HITL transition function
To my knowledge this hil transition function is not used anymore,
however, it makes sending the DO_SET_MODE command unnecessarily complex.
In my opinion the DO_SET_MODE command should only change the mode but
not other things like arming (already removed) and HITL state (this
commit).

Often times, I was seeing the error message "Set SYS_HITL to 1 and
reboot to enable HITL." when using QGC with a vehicle in HITL.

HITL is set via parameter which then has an impact in the startup script
where the CLI argument `-hil` is added to some of the commands that
require it (like commander as well).
2018-08-30 09:16:02 +02:00
Julian Oes f3e576b6f4 commander: remove set but unused HITL flag
This flag does not seem to be used anywhere.
2018-08-30 09:16:02 +02:00
Matthias Grob c87e124f13 commander: refactor COM_DISARM_LAND to param wrapper
after review comment request from @dagar. Thanks!
2018-08-30 08:05:13 +02:00
Matthias Grob 0c6bffb66a commander: make auto disarm timeout float
such that fractions of a second are configurable
2018-08-30 08:05:13 +02:00
Daniel Agar 658b957888 Jenkins build and archive all packages (#10332) 2018-08-29 12:31:14 -04:00
alessandro 74785f75bd ControlMath: Initialize vehicle_attitude_setpoint 2018-08-29 17:41:11 +02:00
Daniel Agar 715fad8bf1 commander send_vehicle_command don't ignore cmd argument
- #10359
2018-08-29 16:05:14 +02:00
mcsauder bf87270ded Doxy documenting in send_event.cpp/h and px4_module.h. 2018-08-29 09:50:21 +02:00
Jake Dahl 5a678295b3 added a check to ensure the initialize settings function succeeds. If it does not, the driver fails gracefully. This handles the case that the device is not there. 2018-08-28 18:52:23 -04:00
Paul Riseborough a53ad9c261 EKF: Add missing optical flow ground motion protection
Motion compensated optical flow rates are supposed to be zeroed if reported flow quality is below the minimum threshold value when on ground.
The comments and logic have been amended to be consistent and make the design intent clearer.
2018-08-28 21:31:50 +02:00
Kevin Lopez Alvarez c10ea132b4 PNI RM3100 magnetometer driver (#10302)
* tested on SPI (px4fmu-v4pro)
 * WIP I2C support
2018-08-28 11:44:34 -04:00
bresch 124a34e8f6 Failure Detector - Add space between Failure and Detector in @group field 2018-08-28 11:23:25 -04:00
bresch 9be0c97346 Failure Detector - use bitmask field instead of boolean in vehicle_status msg (failure_detector_status) and instead of struct in class 2018-08-28 11:23:25 -04:00
bresch 0001031e59 Failure Detector - Rename parameters and change group 2018-08-28 11:23:25 -04:00
bresch 93ba11c218 Failure Detector - Move COM_FAIL_x params to dedicated _param.c file 2018-08-28 11:23:25 -04:00
bresch 92b00ec07e Failure Detector - Do not trigger force_failsafe flag anymore 2018-08-28 11:23:25 -04:00
bresch fea91c96e8 Failure Detector - Use dedicated parameters for attitude checks 2018-08-28 11:23:25 -04:00
bresch 72f2317c95 Failure Detector - move "force_failsafe" flag inside circuit_breaker protection; remove PX4_WARN and send mavlink msg only once 2018-08-28 11:23:25 -04:00
bresch 9a6fef62ab Vehicle_Status_msg - Add attitude_failure flag to vehicle_status message 2018-08-28 11:23:25 -04:00
bresch c4c8e8d2db Failure Detector - Various cleanup and style changes.
- use pragma once guard in FailureDetector.hpp
- send Commander parent to ModuleParams and remove update_params() method
- simplify attitude checks
- FailureDetector::get_status() (previously named "get") is now a constant method that returns a constant reference
2018-08-28 11:23:25 -04:00
bresch 04c765f497 Failsafe PWM - Add PWM_MAIN/AUX_FAILx parameters to set "failsafe" values. 2018-08-28 11:23:25 -04:00
bresch b0bbc56d12 NullMixer - Send NAN instead of 0. NAN is mapped to disarmed in fmu and io. A Null mixer can now be used to set a fixed value: "disarmed" if the system is operational or "failsafe" in failsafe mode 2018-08-28 11:23:25 -04:00
bresch 4e1027f292 FailureDetector - Add check for non-zero roll/pitch failure parameters. Rename 'result' into 'updated' 2018-08-28 11:23:25 -04:00
bresch 246b3ebc23 FailureDetector - Update failure detector logic in commander. 2018-08-28 11:23:25 -04:00
bresch 7908f75b8b FailureDetector - New class, first working simple implementation. Outputs PX4_ERR messages if roll or pitch is exceeded. 2018-08-28 11:23:25 -04:00
Sebastian Verling d3bb3631ec fixed sign error in mag calibration 2018-08-28 14:28:35 +02:00
Paul Riseborough ad1c2b31d1 drivers: Always set GPS heading to NAN if not updated 2018-08-28 14:10:36 +02:00
Paul Riseborough b2c7b44935 drivers: Prevent duplicate reporting of GPS heading 2018-08-28 14:10:36 +02:00
Dennis Mannhart 3ff8cd33a1 mc_pos_control: smooth takeoff requires current position as reference 2018-08-28 10:14:54 +02:00
Daniel Agar 6142e2c4b8 uavcannode move to cdev lib 2018-08-28 09:17:53 +02:00
Daniel Agar 087c8cacb5 uavcanesc move to cdev lib 2018-08-28 09:17:53 +02:00
Daniel Agar 82ad7d77fa airspeedsim move to cdev lib 2018-08-28 09:17:53 +02:00
Daniel Agar 4da5e61f4a uavcan move to cdev lib 2018-08-28 09:17:53 +02:00
Daniel Agar d0d1967a65 samv7 adc and tone_alarm move to cdev lib 2018-08-28 09:17:53 +02:00
Daniel Agar 1e7197976d bmp280 move to cdev library 2018-08-28 09:17:53 +02:00
Daniel Agar df96cd2873 terrain_estimator construct Vector3f safely 2018-08-27 16:33:38 -04:00
Daniel Agar acff200f0d FlightTasks safer matrix usage 2018-08-27 16:33:38 -04:00
Jake Dahl 507a872546 Made changes as requested by the dev team. 2018-08-27 21:15:04 +02:00
Jake Dahl 07d606ef83 Added TI PGA460 driver functionality to PX4. 2018-08-27 21:15:04 +02:00
Daniel Agar 61db21b7f0 syslink cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar e4b9891259 led cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 98a16fdc23 iridiumsbd cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar a40161a3ec tap_esc cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 6e97194ce6 drivers/stm32 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 6ee47eef14 px4io cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 01595947e5 px4fmu cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 7d57ce65dc px4flow cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 51faca0f66 pwm_out_sim cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 3d6c1690c9 pwm_input cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 0ff1effd98 protocol_splitter cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar fa9b968a16 ulanding cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar f2ef8708b2 tfmini cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 483bacad87 teraranger cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar cfe34ee19c srf02 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar ebcd3b0b2e sf1xx cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 8cb222494a sf0x cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 9a2def25f3 mb12xx cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar bdba733dd4 ll40ls cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 585d3bbe55 leddar_one cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar b7bf2dd688 hc_sr04 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 43965c6e10 batt_smbus cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 9b2274ea8d ms5611 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 1a5ffb3173 mpl3115a2 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 85a11fc3c3 lps25h cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar 9cc5453163 lps22hb cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar dbf2d25e2f uORB move to standalone CDev
- uORB topics should not be Devices with bus, address, device id
2018-08-27 13:14:15 -04:00
Daniel Agar a2f4757e31 CDev extract from drivers Device class hierarchy
- leave CDev shim for now until all usage is updated
2018-08-27 13:14:15 -04:00
ChristophTobler 6955272316 pmw3901: add specs from datasheet to opt flow msg
without this ekf2 rejects flow
https://wiki.bitcraze.io/_media/projects:crazyflie2:expansionboards:pot0189-pmw3901mb-txqt-ds-r1.00-200317_20170331160807_public.pdf
2018-08-27 17:32:00 +02:00
Hamish Willee bbc0c28c2c Improve docs for SD Log profile 2018-08-27 09:38:00 +02:00
Daniel Agar f7a20acba6 [WIP] Jenkins code coverage updates 2018-08-27 00:04:58 +02:00
PX4 Build Bot 8731a5b2b1 Update submodule ecl to latest Sun Aug 26 01:37:45 UTC 2018
- ecl in PX4/Firmware (e4088204ee): https://github.com/PX4/ecl/commit/aa134d5a617cd90142d82039c4466aef2f009383
    - ecl current upstream: https://github.com/PX4/ecl/commit/56b8bb08a16f0e86f7c7dfe458f0d2d3082e92e4
    - Changes: https://github.com/PX4/ecl/compare/aa134d5a617cd90142d82039c4466aef2f009383...56b8bb08a16f0e86f7c7dfe458f0d2d3082e92e4

    56b8bb0 2018-08-23 dakejahl - added a checking for range_aid to determine if we are relying on the range finder as our primary source of height observation (#491)
2018-08-26 12:05:46 +02:00
Lorenz Meier 1d027f938c tfmini: fix format and fix driver start / stop logic so it works when running PX4 as threads on Linux. 2018-08-26 12:05:09 +02:00
Mohammed Kabir 38bae7d401 tfmini : restructure parsing logic to always publish latest measurement 2018-08-26 12:05:09 +02:00
Mohammed Kabir 3afa018954 tfmini : fix scheduling and modernize output
This reduces the scheduling interval to 9ms, such that the driver is always ready to read new data. Running it at exactly 100Hz is not correct since the driver and sensor measurement intervals are not "in sync", causing the driver to miss data. This causes a fill-up of the UART buffer.
2018-08-26 12:05:09 +02:00
Daniel Agar e4088204ee shellcheck ignore array references for now (SC2039) and run everywhere 2018-08-25 20:12:29 +02:00
Daniel Agar 52e1b59e60 cmake add nuttx shellcheck helper 2018-08-25 20:12:29 +02:00
Daniel Agar 096c41b041 init.d-posix/rcS replace bashism 'source' with '.' 2018-08-25 20:12:29 +02:00
Daniel Agar 642aff9786 init.d-posix replace bashism '==' with '=' 2018-08-25 20:12:29 +02:00
Daniel Agar 3c4c9131aa Jenkins add ShellCheck 2018-08-25 20:12:29 +02:00
PX4 Build Bot 2164ef8fb6 Update submodule nuttx to latest Sat Aug 25 15:12:57 UTC 2018
- nuttx in PX4/Firmware (72792cef43): https://github.com/PX4-NuttX/nuttx/commit/bf8cce85c3f9310bcff8cdd1d979270419782a6e
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/bf8cce85c3f9310bcff8cdd1d979270419782a6e
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/bf8cce85c3f9310bcff8cdd1d979270419782a6e...bf8cce85c3f9310bcff8cdd1d979270419782a6e
2018-08-25 11:23:25 -04:00
Daniel Agar 72792cef43 posix-configs shell scripts use /bin/sh to maximize compatibility (#10292)
- fix ocpoc line endings
2018-08-25 11:02:37 -04:00
David Sidrane e79b9a2c1b Update nuttx with backport Kinetis i2c fix (#10325) 2018-08-25 10:10:02 -04:00
Daniel Agar efbe63c1ca Jenkins update CMAKE_BUILD_TYPE to PX4_CMAKE_BUILD_TYPE 2018-08-25 00:46:36 -04:00
Daniel Agar 92d288e8d4 Jenkins SITL tests add cmake build type choice 2018-08-25 00:26:41 -04:00
David Sidrane 28125aca3d fxos8701cq:Clean up & paramater based low pass fileter
Added paramater based low pass fileter settting from
      IMU_ACCEL_CUTOFF.

      removed gotos.
2018-08-24 23:09:55 +02:00
David Sidrane 3f65efe1b0 fxas21002c:Clean and speed up with SW, HW LPF.
Added paramater based low pass fileter settting from
  IMU_GYRO_CUTOFF.

  Added interfaces for setting the HW low pass filter.
  Set HW LPF to 64 Hz

  Changed poll rate to ODR to 800 Hz.

  Documeted the TIMER_REDUCTION value as 20% and changed it to
  250 Us / 1250 us.

  Added standby control API, to insure chip is configured in
  standby mode.

  removed tabs.

  removed gotos.
2018-08-24 23:09:55 +02:00
mcsauder de92e699bf Doxy documentation work in px4_module_params.h and px4_module.h. 2018-08-24 23:07:01 +02:00
Philipp Oettershagen c997159e32 Fixed-wing autoland: Introduce parameter to enable/disable the early activation of the landing configuration 2018-08-24 10:13:07 -04:00
Philipp Oettershagen 334aa57a5f Fixed-wing autoland: Remove the dynamic altitude acceptance calculation and just use a simple separate landing altitude acceptance radius instead. This gives users that do not use LOITER-TO-ALT waypoints more control over their landing procedure 2018-08-24 10:13:07 -04:00
Philipp Oettershagen 953cff7ba0 Fixed-wing autoland: Parameter description fixes 2018-08-24 10:13:07 -04:00
Philipp Oettershagen 20c02ae093 Fixed-wing autoland: Adapt according to @dagar's and @antiheavy's comments. 2018-08-24 10:13:07 -04:00
Philipp Oettershagen 08ceddaddb Fixed-wing autoland: ALWAYS flare when close to the ground, independently of the horizontal distance to the land WP. This avoids that we crash into the ground at negative pitch and guarantees that the flare always starts at the same altitude above ground. However, the motor shutoff still depends on the horizontal distance to the LAND WP, thus avoiding that the motor is shut off prematurely 2018-08-24 10:13:07 -04:00
Philipp Oettershagen ec4ccc1fcd Fixed-wing autoland: Use a more appropriate (i.e. mostly tighter) altitude acceptance radius than just the standard altitude acceptance parameter (which may be too large to allow a precise autoland) 2018-08-24 10:13:07 -04:00
Philipp Oettershagen 4c4f585ad5 Fixed-wing autoland: 1) The landing configuration (flaps, different airspeed) is now already set during the loiter down instead of at the start of the landing approach. This is done to avoid any mode changes (which can cause altitude/airspeed jumps) so close to the gorund. 2) A scaling factor for the TECS throttle time constant was added which allows tighter throttle control during the landing (i.e. close to the ground) than high up in the air 2018-08-24 10:13:07 -04:00
David Sidrane 790356ef6d NXPHlite-v3:Ensure bin file sizes in mtpl of 8 2018-08-23 14:26:32 -07:00
David Sidrane 19d3e562e9 NXPHlite:Track kinetis upstream CONFIG changes 2018-08-23 14:26:32 -07:00
David Sidrane add7484083 Nuttx with Missing Backports 2018-08-23 14:26:32 -07:00
David Sidrane b721b6a54a kinetis:Fixed hard fault when called with nullptr for errata
Logger was hard faulting on start due to a write to
  null pointer dereferece of errata
2018-08-23 14:26:32 -07:00
David Sidrane 454d175617 rc.mavlink:Seperate sys compaion init dependant on MAVLINK_COMPANION_DEVICE 2018-08-23 14:26:32 -07:00
David Sidrane 46b563fe3a rc.mavlink:NXPhlite Mavlink on ttyS4 and ttyACM only
NXPhlite does not have a companion link. So start
    Mavlink on ttyS4 and ttyACM only.
2018-08-23 14:26:32 -07:00
David Sidrane 2c282d0e0e rc.mavlink:Fix syntax errors 2018-08-23 14:26:32 -07:00
dakejahl 56b8bb08a1 added a checking for range_aid to determine if we are relying on the range finder as our primary source of height observation (#491) 2018-08-24 06:42:58 +10:00
Daniel Agar ad4bd6b0d6 Jenkins add separate Ubuntu 18.04 posix_sitl_default build 2018-08-23 13:44:06 -04:00
Daniel Agar b39a3664bd Jenkins update cppcheck to px4-dev-base:2018-08-23 with fixed python dependencies 2018-08-23 11:17:19 -04:00
PX4 Build Bot c7779508df Update submodule ecl to latest Thu Aug 23 09:46:28 EDT 2018
- ecl in PX4/Firmware (8b6b34b8f073fc47fdce658ab5c1bccd7e1682db): https://github.com/PX4/ecl/commit/34cd1366b715d80885d71f80c72cc5d0bfde64f0
    - ecl current upstream: https://github.com/PX4/ecl/commit/aa134d5a617cd90142d82039c4466aef2f009383
    - Changes: https://github.com/PX4/ecl/compare/34cd1366b715d80885d71f80c72cc5d0bfde64f0...aa134d5a617cd90142d82039c4466aef2f009383

    aa134d5 2018-08-20 Roman - l1 position controller: make sure that a NAN roll setpoint does not keep the roll setpoint state at NAN forever
2018-08-23 10:47:13 -04:00
mcsauder 1a1a04c094 Directly set parameters in airframe config files rather than setting script variables and move the param set lines into logic blocks, and alphabetize and tidy up param set lists. 2018-08-22 10:20:07 +02:00
Beat Küng b6b935026a mavlink: switch back from _mavlink_timesync.sync_stamp to hrt_absolute_time
- the timestamp is only used for logging and log analysis. For that it's
  important to have the timestamp when a setpoint becomes active.
- there was a consistent problem with the position_setpoint_triplet
  timestamp, where the timestamp was just bogus. Timesync seems to work
  correctly though. Might be a problem on the sender side?
  For example here:
  https://logs.px4.io/plot_app?log=41918a7d-4c1d-464d-9abe-aef2c0818d92
2018-08-22 08:31:37 +02:00
Daniel Agar 0935354c0a Jenkins update cppcheck to px4io/px4-dev-base:2018-08-21 (ubuntu 18.04) 2018-08-21 15:50:36 -04:00
dakejahl f62e89638f navigator: add yaw setpoint to rcloss state (#10291)
This fixes the issue where the vehicle yaws in a seemingly random direction when RC is lost.
2018-08-21 15:05:55 -04:00
Roman aa134d5a61 l1 position controller: make sure that a NAN roll setpoint
does not keep the roll setpoint state at NAN forever

Signed-off-by: Roman <bapstroman@gmail.com>
2018-08-21 16:16:33 +02:00
PX4 Build Bot d25b76c9c8 Update submodule sitl_gazebo to latest Tue Aug 21 01:37:53 UTC 2018
- sitl_gazebo in PX4/Firmware (7f41ead238): https://github.com/PX4/sitl_gazebo/commit/c1ca87e37b831cd4b64ac642957e701875738909
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/821c55ca714d7acf93d8ed96af71237b8437e488
    - Changes: https://github.com/PX4/sitl_gazebo/compare/c1ca87e37b831cd4b64ac642957e701875738909...821c55ca714d7acf93d8ed96af71237b8437e488

    821c55c 2018-08-20 Elia Tarasov - remove unused destination socket address
37faf25 2018-08-20 Elia Tarasov - remove undecalred member function
d5ca1d4 2018-08-20 Elia Tarasov - fix default QGC udp port initialization
2018-08-21 09:43:11 +02:00
Daniel Agar 29082d0118 commander battery_failsafe state machine share strings 2018-08-21 02:38:51 -04:00
Daniel Agar 6396e486bd commander cleanup battery failsafe handling 2018-08-21 02:38:51 -04:00
Daniel Agar 7f41ead238 Update submodule mavlink v2.0 to latest Sun Aug 19 21:37:20 EDT 2018 (#10277)
- v2.0 in PX4/Firmware (485c5db21e): https://github.com/mavlink/c_library_v2/commit/6404047979cadac62fecd75070cd995f1ca66ca2
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/fe2349dea9a88fb5b873eff2a59a88125943fd61
    - Changes: https://github.com/mavlink/c_library_v2/compare/6404047979cadac62fecd75070cd995f1ca66ca2...fe2349dea9a88fb5b873eff2a59a88125943fd61

    fe2349d 2018-08-11 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/141637e21e87a9c4ade90dbb9d544375294c106a
1d49e43 2018-08-09 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/f4fda461caaa0cb2c5dfed20d21a9d2a254b6c03
2018-08-20 13:26:24 -04:00
Daniel Agar 1f261862f6 Update submodule ecl to latest Sun Aug 19 21:37:24 EDT 2018 (#10276)
- ecl in PX4/Firmware (5d5841de980ca2d108d52f4652a9437507652860): https://github.com/PX4/ecl/commit/35f628e68febc54abee801797da5f92612d89116
    - ecl current upstream: https://github.com/PX4/ecl/commit/34cd1366b715d80885d71f80c72cc5d0bfde64f0
    - Changes: https://github.com/PX4/ecl/compare/35f628e68febc54abee801797da5f92612d89116...34cd1366b715d80885d71f80c72cc5d0bfde64f0

    34cd136 2018-08-12 Daniel Agar - Jenkins update PX4BuildBot credential usage
2018-08-20 13:26:08 -04:00
Martina Rivizzigno 854e4ef3de mc_pos_control_main: fix typo (#10274) 2018-08-20 10:56:43 -04:00
Hamish Willee 37aa2132e5 Make it clear up front that SDLOG is a bitmask 2018-08-20 15:12:08 +02:00
Daniel Agar 485c5db21e Mavlink implement GPS2_RAW for 2nd GPS 2018-08-19 16:49:44 +02:00
mcsauder 3a22ee48db Correct trailing whitespaces. 2018-08-18 15:15:41 -04:00
Daniel Agar 260c8a19c8 Jenkins upload airframe and parameter metadata to s3 2018-08-18 00:23:54 -04:00
Daniel Agar 5ec4a48a90 CI mission tests align with initial heading 2018-08-17 22:25:45 -04:00
Daniel Agar 7d389a35ce uORB: split uORBDevices into uORBDeviceNode and uORBDeviceMaster 2018-08-17 22:25:29 -04:00
Daniel Agar e356fd89b0 CI mission tests add FW and cleanup (#10250)
* jenkins: decrease VTOL mission alt and FW mission use simple land wps
* startup: decrease min airspeed scaling factor for landing
* jenkins: FW mission include loiter_to_alt cmd
2018-08-17 13:02:14 -04:00
Daniel Agar 5acb9dfed0 Jenkins HIL test add px4fmu-v4 2018-08-17 09:28:51 -04:00
Paul Riseborough 57052edfb2 logger: Log GPS drift data
This data is published at the GPS publication rate and only when on ground.
2018-08-17 10:44:07 +10:00
Paul Riseborough c2fcef8fc1 ekf2: Tighten preflight GPS quality checks
Enable drift checks and reduce thresholds to reduce likelihood of commencing  use of  a unstable GPS position.
Publish drift data to assist with tuning.
2018-08-17 10:44:07 +10:00
Paul Riseborough d0f733d375 ecl: use master with required publication of gps drift data 2018-08-17 10:44:07 +10:00
Paul Riseborough f100cd73ef msg: Create message for GPS drift rates
This data is only updated at 5Hz and only required pre-flight.
2018-08-17 10:44:07 +10:00
dakejahl f7147653ab Navigator RTL: Removed the condition to transition straight to RTL_LAND if the previous setpoint was of type LAND. Not only does this not normally work, as the setpoints are cleared to invalid when navigator changes nav states, but the land lat/lon is set as home.lat and home.lot which is very wrong, as the vehicle would just beeline straight towards thatlocation. (#10252) 2018-08-16 18:08:46 -04:00
PX4 Build Bot 33ac659a10 Update submodule libuavcan to latest Thu Aug 16 15:14:07 EDT 2018
- libuavcan in PX4/Firmware (9c9160e015aa68ee7efe456dae7de6fc9a819715): https://github.com/UAVCAN/libuavcan/commit/3ca697e64d52ba86c8e831d563c746827473e5e3
    - libuavcan current upstream: https://github.com/UAVCAN/libuavcan/commit/aa3650d34d9732af51ced52add24dee044eac79a
    - Changes: https://github.com/UAVCAN/libuavcan/compare/3ca697e64d52ba86c8e831d563c746827473e5e3...aa3650d34d9732af51ced52add24dee044eac79a

    aa3650d 2018-08-16 Pavel Kirienko - Merge pull request #156 from UAVCAN/master_kinetis_flexcan
0dc5751 2018-07-30 Pavel Kirienko - Merge pull request #155 from hjoertel/change-start-script
ff040ea 2018-07-30 Oertel - removed the confusing "echo ..." line (it confused Pavel)
8bb5677 2018-07-30 Oertel - replaced the depricated ifconfig command by the ip command
2018-08-16 12:49:13 -07:00
Daniel Agar 36403e9025 Mavlink expand telemetry_status and split radio_status 2018-08-16 17:32:15 +02:00
ChristophTobler f4f112424f pmw3901: add bus option and minor improvements
- remove unused distance sensor rotation
- add possibility to define SPI bus for other boards
- use SENS_FLOW_ROT param to rotate sensor
2018-08-16 17:22:33 +02:00
Beat Küng efbae51efe launch: add px4.launch script that only starts the px4 binary
This provides a clean ROS interface for external projects which is
independent from the px4 CLI interface.

It can be used with:
```
	<include file="$(find px4)/launch/px4.launch">
	</include>
```
2018-08-16 10:34:44 +02:00
ChristophTobler b14839ab2b mc_pos_ctrl: send vehicle cmd if task fails and task should be switched
without this tasks will be switched all the time and the drone starts driftig
2018-08-16 09:48:59 +02:00
Daniel Agar ce18225710 cmake px4_add_module add unity build support
- a unity build is a single compilation unit per module
2018-08-16 09:47:29 +02:00
David Sidrane 84f121ce0a px4fmu-v2:CAN2 GPIO init was over written
hardware detection was overwriting the CAN2 GPIO setting
2018-08-16 00:06:25 +02:00
Dennis Mannhart a9d83b77de ControlMath: math optimization 2018-08-15 16:19:51 +02:00
Dennis Mannhart d94778dd94 test_controlmath: replace FLT_EPSILON with 10^-6 2018-08-15 16:19:51 +02:00
Beat Küng 888d85008b rcS: use quotes to set TUNE_ERR variable (ShellCheck complained) 2018-08-15 10:13:06 -04:00
Beat Küng b3a25bb2bb posix rcS: use sed instead of grep -P
The -P argument seems not to be supported on OSX
2018-08-15 10:13:06 -04:00
David Sidrane 18ccf8dbd2 px4fmu-v2: Add detection for Pixhack V3 (#10231)
The Simple HW detection was detecting the
  Pixhack V3 as a mini.

  This commit adds further discrimination, based on
  the fact the Pixhack V3 left VDD_5V_PERIPH_EN
  floating. Where a mini ,V2, V3 HW has it connected
  to the active low enable of the VDD_5V_PERIPH and
  VDD_5V_HIGHPOWER via a 10K pull down.

  The detection enables the 40K pull up and samples
  the pin. This reads back as a logical one on the
  Pixhack V3, and a logical zero on the Mini.

  Since the float is applied some 3.3 Ms post pin setting
  at reset the 10 us should leave the 5 Volt supplies in
  the on state because of the 10K pull down.
  This is assuming typical 40K pullup 10K pull down
  This results in typical 0.66V (.875V max) on the /EN pin
  which should not be detected as a high on the TPS2041.
2018-08-15 09:24:18 -04:00
Daniel Agar 01744a9efc Jenkins px4fmu-v2 hardware test 2018-08-14 23:12:26 -04:00
Daniel Agar a2059acde5 NuttX stm32f7 configs unset ADC1 DMA 2018-08-14 20:32:28 -04:00
David Sidrane cff3d55d33 uavcanesc:Fix date in copyright 2018-08-14 09:38:15 -04:00
David Sidrane 34812be2de uavcan:Fix date in copyright 2018-08-14 09:38:15 -04:00
David Sidrane 03000bb0ef Updated apps nuttx of platforms/nuttx 2018-08-14 09:38:15 -04:00
David Sidrane 4d3aff23d7 NXPflite-v3:Hack-Fixes USB not enumerating on Virtual Box VM 2018-08-14 09:38:15 -04:00
David Sidrane dd69427cbf rc.io:Add USE_IO == yes && IO_PRESENT == yes test
On a FMU without a px4io (FMUv4, NXPhlite etc), this code should
  not be run.
2018-08-14 09:38:15 -04:00
David Sidrane 346224a0c6 NXPhlite:Fix init stack warning 2018-08-14 09:38:15 -04:00
David Sidrane ce47dc24da rcS:Added unset for TUNE_ERR 2018-08-14 09:38:15 -04:00
David Sidrane 0e382aec71 Update NuttX with Kinetis Backports 2018-08-14 09:38:15 -04:00
David Sidrane 619c9c5810 Update libuavcan submodule with Kinetis Flexcan submodule 2018-08-14 09:38:15 -04:00
David Sidrane 8d14f9db52 rcS:Fix missing TUNE_ERR 2018-08-14 09:38:15 -04:00
David Sidrane c46a405e0c rcS:NXPhlite add back UxASRT usage 2018-08-14 09:38:15 -04:00
David Sidrane 88cb57a093 update libuavcan with Kinetis support 2018-08-14 09:38:15 -04:00
David Sidrane f0663fb143 nxphlite-v3:Match probes to V3 HW 2018-08-14 09:38:15 -04:00
David Sidrane 011ebd43b8 nxphlite-v3:Enable CAN transceivers 2018-08-14 09:38:15 -04:00
David Sidrane 5c7cbc4d30 nxphlite-v3:Add uavcan 2018-08-14 09:38:15 -04:00
David Sidrane 4bd5c02455 uavcan:add architecture specific driver header 2018-08-14 09:38:15 -04:00
David Sidrane 78fcf1dc28 uavcan use the specified architecture driver 2018-08-14 09:38:15 -04:00
David Sidrane caa0700ca3 uavcan:Build system specify architecture 2018-08-14 09:38:15 -04:00
David Sidrane 0c3386d255 uavcan:virtual_can_driver removed unused arch specific header 2018-08-14 09:38:15 -04:00
David Sidrane c6cab03319 nxphlite-v3:Add Probes to defconfig 2018-08-14 09:38:15 -04:00
David Sidrane b9f2530688 Update nuttx submodule with FlexCan and PIT contrib 2018-08-14 09:38:15 -04:00
David Sidrane 9f96aa7a1e nxphlite-v3:Match bootloader VENDORSTR 2018-08-14 09:38:15 -04:00
David Sidrane e892227d1f nxphlite-v3:Fix merge issue 2018-08-14 09:38:15 -04:00
David Sidrane 5044426949 nxphlite-v3:Use non data time RTC configuration.
One a 32.768 is added (RC16) to the board this will keep time.
2018-08-14 09:38:15 -04:00
David Sidrane d466a09708 kinetis:Add MCU version decoding 2018-08-14 09:38:15 -04:00
David Sidrane f0c981312f nxphlite-v3:SDIO DMA working.
The fix ix in nuttx. This is just the defconfig changes to use
   it.

   There were 2 problems. The first was that the interrupt did
   test DINT and raise a completion events. But since DINT is
   just an indication of DMA completion, TC is a valid way to
   determine that the transfer is complete.

   The second problem is that Software Reset For DAT Line
   SDHC_SYSCTL[RSTD] clears the bits 24-0 in SDHC_PROTO
   this looses the wide bus setting DTW
2018-08-14 09:38:15 -04:00
David Sidrane 26bc2d90d8 Upates nuttx Submodule - backport USB fix 2018-08-14 09:38:15 -04:00
David Sidrane c02fab20fd kinetis:tone_alarm fixed rebase error. 2018-08-14 09:38:15 -04:00
David Sidrane f8085423fe Updated platforms/nuttx/NuttX/nuttx:as rebased on px4_firmware_nuttx-7.22+ 2018-08-14 09:38:15 -04:00
David Sidrane 9ccb9345be nxphlite-v3:bin file must be padded to multiple of 8
Flash programing on the K66 has to be units of 8 bytes. So we cache
   the write of words until there are 2 written. Then the 2 words are
   written to FLASH. This change ensure the bin file has an even
   number of (4 byte) words by padding the last section in progflash
   with 0xffffffff if needed.
2018-08-14 09:38:15 -04:00
David Sidrane 35960fb012 NXPHlite-V3:Add reset to bootloader detection
On the K66 we use the first word of the Battery backed up RAM
   as the bootloader - app communication location.
2018-08-14 09:38:15 -04:00
David Sidrane cb58fa5131 NXPHlite-V3:Prep for bootloader of 24K load address is 0x6000 2018-08-14 09:38:15 -04:00
David Sidrane 881fbd2197 Prep for Bootloader - Use NXP's VID and PID=board_id of 28 2018-08-14 09:38:15 -04:00
David Sidrane a1a03bd6ae update nxphlite-v3.prototype to use original unused board_id
Since nxphlite V1 was never released, we reused that code point.
2018-08-14 09:38:15 -04:00
David Sidrane e35be68fd4 NXPhlite work arround to internal i2c routed to external connector.
Since the only device on the bus is the barro, int or ext does
   not apply. This will be fixed on the rev > RC15.
   This defines an alias that can be used to condition the buss logic
   connection logic px4_i2c_bus_external to return external.
2018-08-14 09:38:15 -04:00
David Sidrane 678627d783 mpl3115a2 - removed old comment 2018-08-14 09:38:15 -04:00
David Sidrane 5726352040 NXPhlite grow init stack 56B 2018-08-14 09:38:15 -04:00
David Sidrane 622cd44634 Point nuttx submodule to PX4-NuttX 2018-08-14 09:38:15 -04:00
David Sidrane a4c4449b85 NXPhlite:Dedicate P10 UART as Telem 1 and disable companion 2018-08-14 09:38:15 -04:00
David Sidrane d50042f58d xnphlite:Intergrate tune control library
Tone Alarm driver was using hrt and tunes. Hence no start up tune.
  Integrated the tune control and removed note cruft.
2018-08-14 09:38:15 -04:00
David Sidrane 017e414c6a nxphlite:Updated module list to be consistent with FMUv3 2018-08-14 09:38:15 -04:00
David Sidrane 5d9a0cfc82 nxphlite-v3:Fix RGB ordering Red and Green were swapped. 2018-08-14 09:38:15 -04:00
Jan Okle 0754b3566c Enable DMA based serial driver and add polling serial driver for more data. 2018-08-14 09:38:15 -04:00
Beat Küng d2aa68f62c sitl_run.sh: use correct ROMFS path for tests 2018-08-13 21:50:14 -04:00
Beat Küng 83ea7fa45e camera_feedback: remove unused class member & call orb_unsubscribe() 2018-08-13 21:50:14 -04:00
Beat Küng 923f6239e1 posix rcS: automatically find the requested model instead of explicitly enumerating them 2018-08-13 21:50:14 -04:00
Beat Küng 4e860e357c Tools: add run-shellcheck.sh to statically analyze startup scripts
Use './Tools/run-shellcheck.sh ROMFS/px4fmu_common' to run it.
2018-08-13 21:50:14 -04:00
Beat Küng 9712f6b02a mixers: remove unneeded README
This info is on the dev-guide now
2018-08-13 21:50:14 -04:00
Beat Küng 9d66bcefd3 posix main: print script failure as an error instead of a warning 2018-08-13 21:50:14 -04:00
Beat Küng 273988c124 SITL: move all models to unified rcS startup and remove old scripts 2018-08-13 21:50:14 -04:00
Beat Küng 5ebd0116de rc.interface: allow setting a custom MIXER_FILE 2018-08-13 21:50:14 -04:00
Beat Küng e6b9806ee1 SITL: add multi-vehicle support to rcS
This also removes the HIGHRES_IMU mavlink stream to the GCS. I don't see
why it's needed and it adds noticeable CPU load.
2018-08-13 21:50:14 -04:00
Beat Küng a00f7ebf47 sitl scripts: refactor to use existing rc.vehicle_setup from NuttX 2018-08-13 21:50:14 -04:00
Beat Küng b1c56813ae gpssim: fix process name 2018-08-13 21:50:14 -04:00
Beat Küng 2baa4681d2 camera_feedback: add to SITL config 2018-08-13 21:50:14 -04:00
Beat Küng fcd3a04b07 rc.interface: remove unnecessary fmu start for RC input
RC input is now handled via rc_input module
2018-08-13 21:50:14 -04:00
Beat Küng 9ba2e91fa1 ROMFS: avoid empty 'then else' clause, it's an error in bash
Use 'if ! <cmd>' instead.
2018-08-13 21:50:14 -04:00
Beat Küng d4c7dbc93d posix rcS: automatically find matching autostart file based on SYS_AUTOSTART 2018-08-13 21:50:14 -04:00
Beat Küng 6971a92881 pwm_out_sim: reduce verbosity 2018-08-13 21:50:14 -04:00
Beat Küng 9a259cd139 param: use PX4_INFO_RAW and add 'param show -q <param_name' command 2018-08-13 21:50:14 -04:00
Beat Küng 1318e614ad SITL: handle 'make posix_sitl_shell' via unified rcS
The command is now: 'make posix none_shell'
which means: don't start a simulator and run a minimal shell only.
2018-08-13 21:50:14 -04:00
Beat Küng ab7f68f2ad ekf2 replay: refactor to use unified rcS scripts 2018-08-13 21:50:14 -04:00
Daniel Agar 34f1bbeb44 px4fmu-v2 disable errno strings 2018-08-13 22:45:34 +02:00
Beat Küng e5ed05766d px4_daemon server: fix startup race condition
The FIFO was created in the server thread, and the PX4 main thread could
already have continued and started to execute the bash script.
In that case the client tried to open the FIFO but it did not exist yet.

Client error:
ERROR [px4_daemon] pipe open fail
ERROR [px4_daemon] Could not send commands
2018-08-13 14:26:41 +02:00
Beat Küng 52168f9665 px4_daemon client: improve error output 2018-08-13 14:26:41 +02:00
Daniel Agar 34cd1366b7 Jenkins update PX4BuildBot credential usage 2018-08-12 13:38:35 -04:00
Daniel Agar 96995852cb Jenkins update git credential usage 2018-08-12 13:21:00 -04:00
Daniel Agar c2142a3067 posix SITL tests don't manually stop dataman 2018-08-12 11:23:21 -04:00
Daniel Agar 5b410e5f28 doxygen update excludes and output structure
- exclude DriverFramework, parameters, libuavcan
2018-08-12 11:10:19 -04:00
Daniel Agar 7ceb79d606 parameters lib always depend on prebuild_targets 2018-08-12 10:25:24 -04:00
Alexis Paques 6b8ea8e543 Mavlink SET_ACTUATOR_CONTROL_TARGET support group_mlx (#7477)
- Allow to use the 4 groups from Mavlink
 - Allow an Offboard control of the Gimball, Gripper or servoes.
 - Fixes issue #7440

Signed-off-by: Alexis Paques <alexis.paques@gmail.com>
2018-08-12 10:08:50 -04:00
ChristophTobler 56ea4fa6fa FlightTask StraighLine: check values before dividing 2018-08-12 09:37:05 -04:00
ChristophTobler d3d549b8e6 FlightTask Smoothing: check dt before dividing 2018-08-12 09:37:05 -04:00
Dennis Mannhart 9a23295a40 heading update: do not update heading within NAV_ACC_RAD 2018-08-10 15:52:10 +02:00
Beat Küng 30fb82d9b4 fmu-v5 defconfig: increase USART3 from 1500 to 3000
This is needed for companions with high baudrate and high data rate.
Tested with 1500000 Baudrate and mavlink TX rate of ~120KB/s: no drops.

I did not test the exact limit, something like 2500 might be enough. But
we (still) have enough free RAM on FMU-v5.
2018-08-10 07:11:07 +02:00
Beat Küng f414d0c413 SYS_COMPANION: add 1500000 baud to metadata & increase the data rate 2018-08-10 07:11:07 +02:00
Martina c905a73e2e remove FLightTask Orbit from fmu-v2 target 2018-08-09 16:38:47 -04:00
Martina 2d9bbeb7ed FlightTaskAuto: use the triplets from navigator and not with the internal
ones for obstacle avoidance. Otherwise the vehicle is continuolsy in the
offtrack state. Use already comnputed yaw and yaw speed setpoints instead
of subscription
2018-08-09 16:38:47 -04:00
Martina 8096e84133 FlightTask: add padding to empty_trajectory_waypoint definition 2018-08-09 16:38:47 -04:00
Martina 10988f5bf1 FlightTask: add comment for method getAvoidanceWaypoint 2018-08-09 16:38:47 -04:00
Martina aef41a1378 remove empty lines 2018-08-09 16:38:47 -04:00
Martina da2191b721 mc_pos_control: check parameter MPC_OBS_AVOID to enable obstacle avoidance 2018-08-09 16:38:47 -04:00
Martina 0694abf916 mc_pos_control: do not execute updateSetpoint twice if obstacle avoidance
active
2018-08-09 16:38:47 -04:00
Martina 4b54050358 mc_pos_control: get empty avoidance waypoint from fligth task so that code
isn't duplicated
2018-08-09 16:38:47 -04:00
Martina ede302290b FlightTasks: add getter method to retrieve empty avoidance waypoint in the
mc_pos_control
2018-08-09 16:38:47 -04:00
Martina 8190242e02 mc_pos_control: port trajectory interface to the new mc_pos_control
structure (flight task refactor)
2018-08-09 16:38:47 -04:00
Martina b856c1048d FlightTask: add methods to get the desired trajectory waypoints 2018-08-09 16:38:47 -04:00
Martina 17a08a9de7 FlightTaskAuto: add update method to get triplets for the trajectory
interface
2018-08-09 16:38:47 -04:00
TSC21 7c7602873e assert over the type of the 'timestamp' field 2018-08-09 13:40:48 +02:00
TSC21 e6bd9bdeeb fix radio_status timestamp init 2018-08-09 13:40:48 +02:00
TSC21 91c3f1ae63 sync submodules with upstream 2018-08-09 13:40:48 +02:00
TSC21 c10e851251 replace printf with PX4_INFO_RAW 2018-08-09 13:40:48 +02:00
TSC21 c53c035ec6 px_generate_uorb_topic_files: add check and throw error if no timestamp field exists 2018-08-09 13:40:48 +02:00
TSC21 a1ac34d3e7 reformat how the passed time is printed 2018-08-09 13:40:48 +02:00
TSC21 cac84e1424 px_generate_uorb_topic_helper: do not account with the timestamp, so the struct size matches 2018-08-09 13:40:48 +02:00
TSC21 8a8cc26b13 uorb templates: remove redundant timestamp field 2018-08-09 13:40:48 +02:00
TSC21 86baa6a90a beautify some identation 2018-08-09 13:40:48 +02:00
TSC21 e932030d88 add timestamp field to uORB msgs; sync timestamp whenever possible 2018-08-09 13:40:48 +02:00
acfloria 4a08003952 Change warnings to error in case the iridium driver start failed 2018-08-08 21:13:56 +02:00
acfloria eb59407586 Fix starting the iridium driver in the start script 2018-08-08 21:13:56 +02:00
acfloria 5c6fad84e7 Improve the startup of the IridiumSBD driver
During startup retry commands several times before exiting.
Report if the startup was successful or failed.
2018-08-08 21:13:56 +02:00
acfloria 21ebcdc0ae Publish the satcom subsystem health 2018-08-08 21:13:56 +02:00
acfloria 1daaa6f5dc Shorten notification on the link switch to fit in 50 characters 2018-08-08 21:13:56 +02:00
Beat Küng 55db10d9e2 mavlink_ulog: clear potential existing ulog_stream messages on start
- the uorb behavior got recently changed so that we now need to clear
  any potential existing messages when we start log streaming.
- ulog_stream_ack should also not use a queue, since the ack is done
  synchonous between mavlink and the logger.
2018-08-08 21:12:04 +02:00
Beat Küng ffffcaeb0f px4-alias.sh_in: move to platforms/posix/src/px4-alias.sh_in 2018-08-08 21:09:39 +02:00
Anthony Lamping 0edf4513eb Jenkins: change log path 2018-08-08 21:09:39 +02:00
Beat Küng 23b12f02e7 cmake: fix install target (add bin dir which includes the symlinks and px4-alias.sh) 2018-08-08 21:09:39 +02:00
Beat Küng 4703f22d4e mixers: remove unnecessary output settings (reduce flash usage) 2018-08-08 21:09:39 +02:00
Beat Küng ac5988fd35 ROMFS cmake: do not copy init.d-posix and mixers-sitl
Otherwise these files are added to the NuttX ROMFS build.
2018-08-08 21:09:39 +02:00
Beat Küng 5363aff879 fixes for integration and unit tests
Move ros logs dir so that .ulg files are not in the same directory
(mission_test.py:: get_last_log() fails otherwise)
2018-08-08 21:09:39 +02:00
Beat Küng 0edd7c93e1 posix main: check for ROS argument 2018-08-08 21:09:39 +02:00
Beat Küng 22b47a84f5 px4_log.c: fix cygwin include 2018-08-08 21:09:39 +02:00
Beat Küng a5de82aaa8 cmake: add documentation for px4_posix_generate_alias and px4_posix_generate_symlinks 2018-08-08 21:09:39 +02:00
Beat Küng f748c8d883 fix mavros launch scripts & use non-unified startup scripts
This is to not lose any existing functionality until we have everything
unified.
2018-08-08 21:09:39 +02:00
Beat Küng ec09379813 px4_daemon: fixes for clang-tidy
Also ignore the warning:
error: calling 'system' uses a command processor [cert-env33-c,-warnings-as-errors]
2018-08-08 21:09:39 +02:00
Beat Küng efb202106f bbblue: required changes for posix shell 2018-08-08 21:09:39 +02:00
Beat Küng d480d24a4c fix perf counter: use dprintf instead of printf 2018-08-08 21:09:39 +02:00
Beat Küng b306935de0 module base: use PX4_INFO_RAW instead of printf 2018-08-08 21:09:39 +02:00
Beat Küng 26f11cb9d7 commander: use PX4_INFO for status output 2018-08-08 21:09:39 +02:00
Beat Küng f1dc8f8f48 listener: use PX4_INFO_RAW instead of printf
Ensures that clients will get the output of the listener.
2018-08-08 21:09:39 +02:00
Beat Küng e6d71680ab px4_daemon server: fix packet reading
By reading sizeof(packet), it could have happened that 2 packets at once
were read, and the second one was then ignored.
This makes sure that only one packet at a time is read.

The other 2 changes are for efficiency.
2018-08-08 21:09:39 +02:00
Beat Küng 1f0655302c px4_daemon: fix locking
It was not enough to lock individual accesses to the maps.
For example it could happen that a thread was started and exited very
quickly, before the pthread_t item was inserted into the map, such
that when the cleanup method was called, the thread and pipe fd were not
found (and fd=0=stdin was closed).
2018-08-08 21:09:39 +02:00
Beat Küng 5b171bd614 px4_daemon: fixes for packet length computation
The enum change from uint8_t to an int avoids uninitialized bytes,
which led to valgrind warnings (no error though).
2018-08-08 21:09:39 +02:00
Beat Küng 7359f44835 fix px4_log.c: avoid potential buffer overflow
The buffer length given to snprintf() is unsigned, so we must check for
an overflow after each call.

This happend for very long printf's (module documentation)
2018-08-08 21:09:39 +02:00
Beat Küng d90ac975a7 posix shell: required updates for RPi, bepob, ocpoc, eagle & exxcelsior
- RPi works
- the rest is not tested, and requires a bit more
  (such as uploading the bin/ directory)
2018-08-08 21:09:39 +02:00
Beat Küng 2454ef9240 Tools/check_submodules.sh: remove unnecessary verbose message
This was printed for all submodules.
2018-08-08 21:09:39 +02:00
Beat Küng d05b268d19 posix shell: allow to run multiple instances 2018-08-08 21:09:39 +02:00
Beat Küng c0cac0594e file paths: add PX4_STORAGEDIR & use it where appropriate 2018-08-08 21:09:39 +02:00
Beat Küng 57a85fbc61 cleanup: remove unused files 2018-08-08 21:09:39 +02:00
Beat Küng 7822e5b5c3 posix shell: lots of cleanup and fixes
- move posix-configs/SITL/init/{rcS,10016_iris,6011_typhoon_h480} to ROMFS/px4fmu_common/init.d-posix
  allows for easier unification, only one symlink is required.
  - rcS: add AUTOCNF support. Update scripts to match with behavior of PX4
    master (parameter values, some sitl driver got removed)
- add alias to allow 'set variable value' syntax in scripts to px4-alias.sh
- use px4_getopt
- use separate argument for the test_data directory
- append PATH from within the px4 binary: this simplifies the usage
  w/o the sitl_run.sh script.
- add 'source px4-alias.sh' to all existing sitl startup scripts
- move sitl mixers to ROMFS/px4fmu_common/mixers-sitl
  makes it easier to use existing mixers and sitl-specific ones.
- remove unused rcS_gazebo_delta_wing
2018-08-08 21:09:39 +02:00
Beat Küng 413c09e20e posix main: some cleanup & fixes
- argv[0] can have the form ./px4-commander
- create eeprom directory
- fix fpe signal handler
2018-08-08 21:09:39 +02:00
Beat Küng 6a49d78c4b logger: remove last references to SYS_LOGGER 2018-08-08 21:09:39 +02:00
Julian Oes 0c5c741b1a add posix shell
squashed & rebased version, not including:
- listener changes
- src/firmware renaming

Commits:

tag_to_version.py: fix Python3 error

subprocess.communicate returns bytes instead of a str which is not the
same for Python3. Therefore, we need to decode the bytes.

cmake: remove folder src/firmware

The folder src/firmware was not intuitive. Why would the binaries for
SITL be inside a src and why even inside a src/firmware folder. Also,
the rootfs was put there which made it even more confusing.

The CMakeLists.txt files are moved into cmake/ and get now called from
the main CMakeLists.txt.

qshell: support for return value

Instead of just sending commands, qshell will now also wait until
the command has finished on QURT and sent back a return value. This will
allow all modules on the DSP side to be spawned from the Linux side
meaning that we only need one config/startup file instead of two.

adb_upload: create folders before pushing

Previously the script failed if the folder on the destination was not
already existing. This therefore makes pushing easier.

posix: spawn PX4 modules in bash

This adds the possibility to spawn PX4 modules out of bash. Basically,
the main executable can now be started as a server/daemon or as a
client.
The server replaces the existing functionality of the main exe with
the pxh shell, however, it also opens a pipe that clients can talk to.

Clients can run or spawn PX4 modules or commands by connecting to the
server over the pipe. They clients will get the stdout and return value
of their commands via a client specific pipe back.

This work will allow to start all modules using a bash script similar to
the way it is done in NuttX where the NuttShell scripts the startup
scripts and starts the modules.

SITL: use new client shell in SITL

This is a first step to use the new shell capabilities for SITL.
The new startup bash script rcS merges (and therefore replaces) the two
existing scripts rcS_gazebo_iris and rcS_jmavsim_iris.

More cleanup will be necessary for the rest of the SITL startup scripts.

Snapdragon: use new shell to start all modules

Instead of different mainapp.config and px4.config files, we can now use
a unified rcS bash script which starts all the modules based on
parameters, mainly the SYS_AUTOSTART param.

Snapdragon: fix the airframe description

pxh: argv needs to end with a nullptr

The comment was wrong that argv needs an additional 0 termination.
Instead it needs a nullptr at the end.

px4_posix_tasks: variable cleanup

The px4_task_spawn_cmd function got a cleanup while debugging, however,
no functional changes.

Snapdragon: move some drivers to 4100 config

These drivers are supported by the community, so they go into the 4100
config.

Snapdragon: update 210qc platform

px4_daemon: use doxygen comments

apps.h_in: fix string printf: use .c_str()

px4_daemon: \b -> \n in printf

px4_daemon: handle error in generate_uuid (close the file on error)

posix main: some clarifications in comment (it's the symlinks not the script aliases)

cmake: remove new install command again

This one was probably wrong and untested. Installing needs revisiting.

POSIX: remove argument USES_TERMINAL

POSIX: copy init and mixer files for SITL

Instead of using non-working install commands, the mixer and startup
files are now copied as part of the build in cmake.

adb_upload.sh: remove leftover commented printf

POSIX main: just the pointer instead of memmove

POSIX main: remove chroot

chroot is removed because it hasn't been used anywhere and seems
untested.

px4_daemon: remove client pipe when cleaning up

px4_daemon: fail if the client pipe already exists

The client pipe is supposed to be specific (by UUID), so the path
shouldn't exist already.

history: limit the number of history entries

This is a protection to avoid filling the memory if we are entering a
lot of commands (e.g. auto-generated).

px4_daemon: add a threadsafe map and use it

px4_daemon: whitespace

px4_daemon: fix client parsing

Sometimes the client ends up reading more than one packet in one read.
The parsing is not made for this and would require a (ring)buffer for
it.

The solution of this commit just reads as much as needed from the pipe
which avoids having to do buffering and parsing.

posix: changes sitl_run.sh and main.cpp cleanup

This changes the paths in sitl_run.sh quite a bit to allow the px4
binary to run in the rootfs directory which should make it convenient
and very close to the NuttX variant.

Also main.cpp got a big cleanup after the big rebase with some
conflicts. Quite some functionality was removed but it has yet to be
seen if it needs to be re-added.

px4_log: cleanup log levels, now they make sense

Before DEBUG and INFO log levels where inverted which didn't make much
sense in my eyes.

dataman: fix path for bash shell

logger: fix paths for bash shell

mavlink: fix paths for bash shell

param: fix path for bash shell

inav: fix paths for bash shell

sdlog2: fix paths for bash shell

ROMFS: add forgotten mixer to list

SITL init: more models, more options

- Support for different models using the unified startup
script rcS.
- Support to choose the estimator by setting the environment variable
  PX4_ESTIMATOR.
- Support to choose the logger by setting the environment variable
  PX4_LOGGER.

rcS: fix string comparison

listener: use template file

Instead of having all of the C++ code inside the Python file it is
nicer to have a separate template file with the C++ headers, etc.

px4_log: add PX4_INFO_RAW for raw printfs

This allows to do custom formatting but is still transported over
sockets to clients.

topic_listener: use PX4_INFO_RAW instead of printf

commander: use PX4_INFO_RAW for status

listener: rewrite to classes and factory

posix: fix some argument warnings

generate_listener.py: by accident changed shebang

listener: big refactor of the generator

Hopefully this makes it easier to read and change in the future.

rcS: manually take over rebase changes

listener: remove leftover try

listener: properly clean up topic instance

rcS: take over some vehicle specific changes

posix-configs: vehicle specifics to separate files

posix-configs: remove leftover lines

uORBDevices: new PX4_INFO_RAW instead of printf

px4_log: just use printf on NuttX

listener: use less binary space, strip on NuttX

generate_listener.py: remove commented code

cmake: fix syntax error from merge

px4_daemon: fixes after rebase of apps.h/cpp fix

px4_daemon: namespace missing

posix: only create stub for fsync on QURT

unitests: reduce dependencies of param test

This makes the unit test compile and link again after the bash changes.

QURT: some compile fixes after a rebase

SITL: arg change for sitl_run.sh to use rcS_test

This allows to use a custom startup file for testing.

SITL: add the folder test_data

SITL: implement shutdown command as systemcmd

The shutdown command needs to be a proper systemcmd, otherwise the alias
and symlink generation doesn't work and we end up calling shutdown of
the host computer which is to be avoided.

px4fmu_test: same IO_pass mixer as px4fmu_default

px4fmu_test: use normal quad x mixer

There is no good reason to use a specific test mixer, except more cmake
code around it. Therefore just use the same mixer as default, and at
some point px4fmu_test and px4fmu_default can get merged

POSIX: cleanup, dir and symlink fixes

This cleans up the logic behind the symlinking and creating directories.

POSIX: correct arg order in usage info

tests: fix paths for SITL tests

POSIX: printf fix

sitl_run.sh: try to make this run on Mac as well

cmake: try to make jenkins happier

Path cleanup, the bin is no longer in src/firmware

POSIX: fix symlink logic

SITL: prefix all exported env variables

cmake: fix path for ROS tests

integrationtests: fix log path

launch: try to make tets with ROS working again

px4_defines: fix after wrong merge deconflicting

px4_defines: get paths for POSIX correct

cmake: fix cmake arguments

This was fine with cmake 3.6 but did not work with cmake 3.2.2

cmake: use cp instead of cmake -E copy

cmake -E copy does not support copying multiple files with versions <
3.5. Therefore, just use cp for now.

ROMFS: fix build error after rebase

cmake: fix paths in configs

launch: use `spawn_model` again

cmake: various fixes after big rebase

param: path fixes after rebase

posix platform: fixes after rebase

test_mixer: fix screwed up rebase
2018-08-08 21:09:39 +02:00
David Sidrane 7bdfac786d uavcannode:Boards do the CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane b577bfc461 uavcanesc:Boards do the CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 4b863aa108 uavcan:Boards do the CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane e88bad3b47 px4cannode-v1:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane ef43dee1d6 px4nucleoF767ZI-v1:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane fbb1c65221 px4fmu-v5:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 5da93ad7c5 px4fmu-v4pro:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane f2fbffab84 px4fmu-v4:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 35b010aeed omnibus-f4sd:Does not have uavcan 2018-08-08 15:09:01 -04:00
David Sidrane 33ee4dafa0 nxphlite-v3:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane d8300bfd8e mindpx-v2:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 1a007c139c mindpx-v2:Add On board reset 2018-08-08 15:09:01 -04:00
David Sidrane e0b7314607 av-x-v1:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 885fed0402 px4fmu-v2:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane dc4c09e5f4 aerofc-v1:Does not have uavcan 2018-08-08 15:09:01 -04:00
David Sidrane 9a3963d0cf aerocore2:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane 5517d84433 auav-x21:Board does CAN GPIO init 2018-08-08 15:09:01 -04:00
David Sidrane d6987ac674 auav-x21:Add On board reset 2018-08-08 15:09:01 -04:00
David Sidrane 866721cb33 libuavcan:Update Submodule to latest master 2018-08-08 15:09:01 -04:00
Daniel Agar a7f3012c1c delete all dokuwiki helpers 2018-08-08 14:07:59 -04:00
ChristophTobler adfb54243c FlightTasks: fix typo and improve comment 2018-08-08 13:44:49 +02:00
ChristophTobler f6e1ab9034 FlightTasks: cmake - add and remove tasks
add possibility to add additional tasks or to remove upstream tasks
2018-08-08 13:44:49 +02:00
ChristophTobler 89cc53755c FlightTasks: set variable for python args 2018-08-08 13:44:49 +02:00
ChristophTobler 4bbde0df8c FlightTasks: move FlightTask to own folder/lib
fix header includes
add cmake subdirectories dynamically
2018-08-08 13:44:49 +02:00
ChristophTobler 1b1b3b5484 FlightTasks: Move AutoMapper to own folder and create lib
AutoLine now depends on AutoMapper
2018-08-08 13:44:49 +02:00
ChristophTobler 8090708f76 FlightTasks: generate tasks depending on target
- rename flight tasks to use camelCase
- add core tasks to flight tasks cmake
- add additional tasks in targets (TODO)
- add templates
- generate hpp and cpp which contain all specified tasks
2018-08-08 13:44:49 +02:00
ChristophTobler 34203f7e8c FlightTasks: add header lib for sport 2018-08-08 13:44:49 +02:00
ChristophTobler 584838de30 FlightTasks: rename libs to use CamelCase convention 2018-08-08 13:44:49 +02:00
ChristophTobler b68fd5e0a7 Flight Tasks: CMake/folder restructure (no code change)
put flight tasks in separate folder and create a lib for each
goal is to select tasks for targets (e.g. because of flash issue)
2018-08-08 13:44:49 +02:00
Daniel Agar 9551dcb497 logger increase log_writer_file stack 1072 -> 1150 2018-08-07 17:21:15 +02:00
Beat Küng 81f0b64ad3 gps: add SER_GPS1_BAUD param to configure the baudrate
The default is auto-detect, but some GPS devices might not like that, such
as the Trimble MB-Two.
2018-08-07 02:07:49 +02:00
Beat Küng db9d25505d gps: update submodule (fix sign of heading offset) 2018-08-07 02:07:49 +02:00
Alessandro Simovic aad1ff0209 mission_block: explicit type conversion 2018-08-06 16:17:11 +02:00
Alessandro Simovic b527187a10 mission_block: swapped "param6" for "altitude" for consistency 2018-08-06 16:17:11 +02:00
Alessandro Simovic 337133e9fa use double LAT/LONG fields instead of float params for storing ROI settings 2018-08-06 16:17:11 +02:00
Alessandro Simovic 1448285b1c mavlink_mission: respect integer MAV_CMD in ROI settings as well
Otherwise the conversion from mavlink_mission_item to mission_item
will cause the latitude and longitude of the ROI to be off by a factor of 1e7
in the case of INT mode.
2018-08-06 16:17:11 +02:00
Bob-F a40c983137 updated submodule src/lib/DriverFramework 2018-08-06 13:32:36 +02:00
Bob-F cc3727bfbd skip creation of self-pointing link 2018-08-06 13:32:36 +02:00
Bob-F e056aa3204 Roll back change that handles absent test_data directory 2018-08-06 13:32:36 +02:00
Bob-F 082ef85773 handled a document issue and the case of absent test_data directory 2018-08-06 13:32:36 +02:00
Bob-F f2e3c0b6e9 Replaced a NULL with nullptr to fix an issue in make clang-tidy-quiet 2018-08-06 13:32:36 +02:00
Bob-F a9bb274001 Renamed mavlink wifi interface name and enabled land_detector 2018-08-06 13:32:36 +02:00
Bob-F 0368c26177 removed a sleep in init.c 2018-08-06 13:32:36 +02:00
Bob-F 627ea3b23e update according to pull request review comments 2018-08-06 13:32:36 +02:00
Bob-F 7c62fe885d Fixed an issue of documentation inconsistency 2018-08-06 13:32:36 +02:00
Bob-F adf411fdd8 Fixed style issue with Astyle 3.1 2018-08-06 13:32:36 +02:00
Bob-F 2ece14bad1 Port PX4 to BeagleBone Blue Board using library librobotcontrol instead of a submodule 2018-08-06 13:32:36 +02:00
Beat Küng e989c80205 replay: fix potential invalid memory access
_subscriptions is a vector that is resized when needed. However there could
still be references to elements in the vector when the resize happens.
These references then become invalid.
Using a vector of pointers fixes that.
2018-08-06 07:15:51 +02:00
Beat Küng e4485fc8cf ekf2 replay: use correct timestamp for attitude publication 2018-08-06 07:15:51 +02:00
Andreas Antener e0dc5ae7f4 px4iofirmware: only set mixer trims when they got updated 2018-08-05 23:24:57 +02:00
Andreas Antener 5500dfc550 px4iofirmware: moved the simple register updates down to the fall-through block, moved the sbus rate update up so it doesn't get called on each of the other updates which would set the wrong value 2018-08-05 23:24:57 +02:00
Andreas Antener 4db149f6e7 mixer: set/get_trim needs to return the amount of channels consumed by the mixer even if the mixer doesn't support trims (or is empty) 2018-08-05 23:24:57 +02:00
Andreas Antener f298d4bb4f mixer: use global new line check for parsing the heli mixer 2018-08-05 23:24:57 +02:00
Trevor Joynson ec2c230633 Remove conflicting optimization flags (-mcpu includes -march) (#10165) 2018-08-05 10:09:38 -04:00
mcsauder 722e891730 Add doxy styling to method comments and update comments, replace goto statements with stop() calls and return statements. 2018-08-05 09:54:46 +02:00
Daniel Agar 3261c5178c Jenkins update Devguide, Userguide, QGC metadata directly from pipeline 2018-08-04 19:02:23 -04:00
Daniel Agar 459ad7528f python scripts code coverage (#10157) 2018-08-04 18:22:08 -04:00
Daniel Agar d21fdf9988 pwm_out_sim: replace usleep with sleep
- the valid values are 0-999999
2018-08-05 00:19:11 +02:00
Daniel Agar d3f5c06ba7 Jenkins add unit test build with address sanitizier 2018-08-04 14:49:09 -04:00
Daniel Agar 36ff6202a9 Jenkins unit tests coverage force pass for now 2018-08-04 14:49:09 -04:00
Daniel Agar c3cf5e6822 Jenkins codecov.io add Flags for unit and mission tests 2018-08-04 13:21:49 -04:00
Daniel Agar 4af7025996 Jenkins move bloaty to Analysis stage of main pipeline 2018-08-04 13:08:59 -04:00
Daniel Agar 90f4e77a80 Jenkinsfile add new Analysis stage (#10150) 2018-08-04 12:51:51 -04:00
Daniel Agar a889ad8e8c Jenkins move all compile jobs to dedicated pipeline (#10149) 2018-08-04 12:23:46 -04:00
PX4 Jenkins 1d4ef1e6fa Update submodule micro-CDR to latest Sat Aug 4 01:27:00 UTC 2018
- micro-CDR in PX4/Firmware (1332d4dbc224a2980c37572be951d247a5698b9b): https://github.com/eProsima/micro-CDR/commit/92efe34b65622aef3d41315230cec0bce37a27e3
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/8125eac84c11d70ce148da4b67b2d73d46bf6c33
    - Changes: https://github.com/eProsima/micro-CDR/compare/92efe34b65622aef3d41315230cec0bce37a27e3...8125eac84c11d70ce148da4b67b2d73d46bf6c33

    8125eac 2018-08-03 Ricardo González Moreno - Merge commit 'c571c7f22602d88d2415ea46c19fb5d81e0260f1' into hotfix/enable_language
c571c7f 2018-08-03 Ricardo González Moreno - Squashed 'cmake/common/' changes from a4f9b91..9e7f35b
99cb75d 2018-08-02 Ricardo González Moreno - Hardening the warnings.
775a847 2018-08-02 Ricardo González Moreno - Removed warnings in windows.
cd13d68 2018-08-01 Ricardo González Moreno - Changing jenkins support to toolset.
6f2c623 2018-07-31 Ricardo González Moreno - Added files to support jenkins.
2018-08-04 10:07:25 -04:00
Daniel Agar 76848456bb Jenkins split SITL tests into separate pipeline (#10144) 2018-08-03 23:57:44 -04:00
Daniel Agar 3b5460a54a Update submodule mavlink v2.0 to latest Sat Aug 4 01:26:42 UTC 2018 (#10143)
- v2.0 in PX4/Firmware (ca3e4a5318): https://github.com/mavlink/c_library_v2/commit/2c4b0e9ff26ce4900a72335912e2604a1e9948de
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/6404047979cadac62fecd75070cd995f1ca66ca2
    - Changes: https://github.com/mavlink/c_library_v2/compare/2c4b0e9ff26ce4900a72335912e2604a1e9948de...6404047979cadac62fecd75070cd995f1ca66ca2

6404047 2018-08-03 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b4871443354d607298b6f67bedd6c473c69c659a
d0fb5b8 2018-08-03 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/1ba233efffb54a7ed634160cd11855b3f5021b74
2018-08-03 22:34:19 -04:00
mcsauder 21aea5bf6c Rename commander.cpp to Commander.cpp and update CMakeLists.txt. 2018-08-03 22:06:05 -04:00
Daniel Agar ca3e4a5318 Update submodule mavlink v2.0 to latest Thu Aug 2 20:26:39 CDT 2018 (#10140)
- v2.0 in PX4/Firmware (5cac32de66): https://github.com/mavlink/c_library_v2/commit/7014d02d665d5e8fa33f084f7c5f4dbcfd61b4b0
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/2c4b0e9ff26ce4900a72335912e2604a1e9948de
    - Changes: https://github.com/mavlink/c_library_v2/compare/7014d02d665d5e8fa33f084f7c5f4dbcfd61b4b0...2c4b0e9ff26ce4900a72335912e2604a1e9948de

    2c4b0e9 2018-08-02 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/a31cd350d4c2046f2378fe64bb7b3da1cfa829f4
63f79b0 2018-08-02 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/8879d8e2f1ca51dbc0f4e57da0075076b1ade973
193557c 2018-08-01 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e77128069d785b47dcc13033d555896ce28acf4c
2018-08-03 19:36:32 -04:00
Daniel Agar d04aef65d0 estimator_status reduce size of n_states 2018-08-03 17:42:48 -04:00
Daniel Agar 0626527d2c EKF2 estimator_status fill n_states and use correct type for health_flags and timeout_flags 2018-08-03 17:42:48 -04:00
Daniel Agar 2bf90574ed estimator_status separate LPE only flags and comment 2018-08-03 17:42:48 -04:00
Daniel Agar da68ea0d11 estimator_status delete unused nan_flags 2018-08-03 17:42:48 -04:00
Daniel Agar 92bfdea1e3 commander delete non-existant methods and cleanup 2018-08-03 17:38:16 -04:00
Daniel Agar 05ca1defee commander consolidate estimator checks in new method 2018-08-03 17:38:16 -04:00
Daniel Agar c415477caf calibration parameter category consistency 2018-08-03 16:48:49 +02:00
Daniel Agar bbe18ed5fd EKF2_MAG_DECL move to system category 2018-08-03 16:48:49 +02:00
Beat Küng a6f93c30d9 Revert "Move px4io firmware update logic block to rc.io."
This reverts commit 0928112a80.
2018-08-03 10:46:12 -04:00
Mark Sauder 002b8b6a9c Mavlink: add SCALED_IMU2 and SCALED_IMU3 (#9556)
- correct a gyro variable type, and add magnetometer values to ScaledIMU messages.
2018-08-03 09:33:17 -04:00
Dennis Mannhart 4a91074aaa FlightTaskAuto: add comment 2018-08-03 08:24:34 +02:00
Dennis Mannhart a24b614dec FlightTaskAutoLine: generate heading along track if yaw setpoint is not valid 2018-08-03 08:24:34 +02:00
Dennis Mannhart e0f505ec57 mc_pos_control_param: MPC_YAW_MODE remove option "set by waypoint" because that
is executed at any time if triplet as valid yaw waypoint
2018-08-03 08:24:34 +02:00
Dennis Mannhart 02feb10865 FlightTaskAuto: triplet yaw-setpoint has priority over MPC_YAW_MODE.
Add MPC_YAW_MODE option for heading along trajectory, which will be the same as
option 0 (heading towards target) if trajectory is straight line
2018-08-03 08:24:34 +02:00
Dennis Mannhart 694f49c80a FlightTaskAuto: method for computing heading from 2D vector 2018-08-03 08:24:34 +02:00
Dennis Mannhart 6cd16f345e FlightTaskAuto: set heading based on yaw mode 2018-08-03 08:24:34 +02:00
Dennis Mannhart f0282bcd8f FlightTaskAuto/Line: make params protected and add NAC_ACC_RAD and MPC_YAW_MODE 2018-08-03 08:24:34 +02:00
Dennis Mannhart 27812ad7ac mc_pos_control_params: add MPC_YAW_MODE for heading during auto 2018-08-03 08:24:34 +02:00
Dennis Mannhart d704a2d675 mission_param: remove MIS_YAWMODE 2018-08-03 08:24:34 +02:00
Dennis Mannhart c76621bdb2 RLT: set yaw to current yaw during climb 2018-08-03 08:24:34 +02:00
Dennis Mannhart 998a95db55 mission.h: remove MIS_YAWMODE 2018-08-03 08:24:34 +02:00
Dennis Mannhart e61131cf9c mission heading_sp_update: remove everthing except of MC and ROI logic. 2018-08-03 08:24:34 +02:00
Dennis Mannhart a3ca016c1d loiter.h: remove yawmode param 2018-08-03 08:24:34 +02:00
Dennis Mannhart f0140a6290 loiter: remove yaw_mode param and logic 2018-08-03 08:24:34 +02:00
Daniel Agar 2302c64004 listener: add optional rate and cleanup existing arguments 2018-08-03 06:50:41 +02:00
Paul Riseborough 35f628e68f EKF: Add interface to enable logging of GPS drift metrics (#490)
* EKF: Add interface to enable logging of GPS drift metrics

* EKF: Fix bug affecting rate of GPS drift publication

Also fix variable name.
2018-08-03 13:24:31 +10:00
Jake Dahl 5cac32de66 added STACK_MAIN to CMakeLists.txt and bumped up the stack from 1024 default to 1100 2018-08-02 23:46:36 +02:00
Jake Dahl 58e81ef66b multiply current measurement by -1 to force positive value for current being sunk 2018-08-02 23:46:36 +02:00
Jake Dahl b9a60f0f29 removed comment copy/paste from GPS driver
A line was too long, shrunk it
2018-08-02 23:46:36 +02:00
Jake Dahl 3f550bf408 resolved merge conflicts 2018-08-02 23:46:36 +02:00
Beat Küng 79ba6b0d39 lsm303d: improve error output 2018-08-02 16:09:36 +02:00
Beat Küng 5437d55518 rc.sensors: try to start ist8310 on PX4FMU_V2
The Pixhack v3 comes with an external IST8310 in the GPS.
2018-08-02 16:09:36 +02:00
Beat Küng 8ef4f12b61 rc.sensors: fix BOARD_FMUV3, it was unset too early
It's used further down again.
2018-08-02 16:09:36 +02:00
Beat Küng bc9c25a376 fmu: fix safety button
- use the orb topic safety to check the safety state, because the actual
  safety state can come from the IO
- fix initialization if circuit breaker is set
2018-08-02 15:48:35 +02:00
Beat Küng 4c572577b2 px4io: unadvertise topics 2018-08-02 15:48:35 +02:00
mcsauder 0928112a80 Move px4io firmware update logic block to rc.io. 2018-08-02 12:19:23 +02:00
Dennis Mannhart 7723860f37 remove unused constant 2018-08-02 09:23:17 +02:00
Dennis Mannhart a06ff4a2ce FlightTaskAuto/Mapper/Line: move landing gear to mapper; fix comments 2018-08-02 09:23:17 +02:00
Dennis Mannhart 338ca3104c FlightTaskAutoLine: remove activate method bc uses same impl as FlightTaskAutoMapper 2018-08-02 09:23:17 +02:00
Martina 3fe2646d80 FlightTaskAuto: add comments and fix variable naming convention 2018-08-02 09:23:17 +02:00
Martina e13ca0d990 FlightTaskAuto: fix triplet reset 2018-08-02 09:23:17 +02:00
Martina f379035a3b FlightTaskAuto: move generation of the the internal waypoints to FlightTaskAuto such that they are available to all derived classes.
Change logic to update the internal triplets only when the navigator triplets have changed or when the vehicle state has changed.
2018-08-02 09:23:17 +02:00
Martina ade254394e fix parameters subscription 2018-08-02 09:23:17 +02:00
Martina 3f2f399b91 FlightTaskAutoMapper: clean-up and fix comments 2018-08-02 09:23:17 +02:00
Martina d85481be6d Restructure FlightTaskAutoLine:
-add FlightTaskAutoMapper that handles the different types of waypoint and
generates setpoints for all types except of position and loiter
- FlightTaskAutoLine generates the setpoint types position and loiter if
the flight between waypoint is a straight line
2018-08-02 09:23:17 +02:00
Daniel Agar 253323601a wind_estimator status print last publication 2018-08-02 08:07:01 +02:00
Daniel Agar ad41744670 wind_estimator add param to enable and start 2018-08-02 08:07:01 +02:00
Daniel Agar 6f204c4913 FlightTask initialize _dist_to_bottom
- fixes Coverity CID 306248
2018-08-02 08:06:08 +02:00
Daniel Agar 36fdd3a127 FlightTaskManualPosition initialize all fields
- fixes Coverity CID 306259
2018-08-02 08:06:08 +02:00
Daniel Agar 99b9eaea68 mavlink timesync avoid unintended integer divide
- fixes Coverity CID 306260
2018-08-02 08:06:08 +02:00
Daniel Agar a90c7659ad FlightTasks local position setpoint don't use copyRaw
- fixes Coverity CID 268659
2018-08-02 08:06:08 +02:00
Daniel Agar 568a5f1c4c delete ACCELIOCSELFTEST and GYROIOCSELFTEST 2018-08-02 08:05:52 +02:00
Daniel Agar 31c08c7ffb mpu9250 mag delete MAGIOCSHWLOWPASS and MAGIOCGHWLOWPASS 2018-08-02 08:05:52 +02:00
Daniel Agar bb9c38a480 delete MAGIOCSELFTEST 2018-08-02 08:05:52 +02:00
Daniel Agar daee7a4e4e commander preflight delete individual sensor selftest 2018-08-02 08:05:52 +02:00
Daniel Agar 92ff391c97 ekf2 fix GPS fix_type comparison
- fixes Coverity CID 306253
2018-08-02 07:46:43 +10:00
Lorenz Meier 18c46f562a Update README.md 2018-08-01 20:08:55 +02:00
Lorenz Meier ebb1ef623a Update README.md 2018-08-01 20:08:37 +02:00
Daniel Agar 2750541bfb appveyor limit branch builds (#10112) 2018-08-01 14:03:03 -04:00
Daniel Agar b5092bd183 Update submodule micro-CDR to latest Tue Jul 31 20:26:41 CDT 2018 (#10110)
- micro-CDR in PX4/Firmware (8f2facbac528cf94b6ac86828e58801c8c572994): https://github.com/eProsima/micro-CDR/commit/df48e526feca3bd140b0adf12c3c847a6d78ed79
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/92efe34b65622aef3d41315230cec0bce37a27e3
    - Changes: https://github.com/eProsima/micro-CDR/compare/df48e526feca3bd140b0adf12c3c847a6d78ed79...92efe34b65622aef3d41315230cec0bce37a27e3
2018-08-01 14:02:24 -04:00
Roman Bapst 8b1381ead9 update ecl l1 and usage for new roll angle setpoint slew rate limit (#10005)
* added ability to slew rate limit the roll angle output of the l1 controller
* FixedWingPositionControl: this avoids the steps in roll angle setpoint which occur when the controller
switches to a new waypoint
* GroundRoverPositionControl: adapted to new l1 API
2018-08-01 14:01:41 -04:00
Daniel Agar ac0988d519 travis-ci coverity properly run and submit scan
- the ignored warning (-Wno-missing-field-initializers) can be dropped in the future when GCC 4.8 is no longer supported
2018-08-01 13:50:42 -04:00
Daniel Agar 639a066cac Update submodule mavlink v2.0 to latest Tue Jul 31 20:26:26 CDT 2018 (#10070)
- v2.0 in PX4/Firmware (6d662c5531): https://github.com/mavlink/c_library_v2/commit/fb2c4f819819e2348285bc9e03ab711ceb6c4cc1
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/7014d02d665d5e8fa33f084f7c5f4dbcfd61b4b0
    - Changes: https://github.com/mavlink/c_library_v2/compare/fb2c4f819819e2348285bc9e03ab711ceb6c4cc1...7014d02d665d5e8fa33f084f7c5f4dbcfd61b4b0
2018-08-01 13:32:12 -04:00
Daniel Agar daeb2d8417 travis-ci update coverity_scan build dependencies (#10107) 2018-08-01 10:18:26 -04:00
Daniel Agar 6d662c5531 AV-X configure i2c network switch at init 2018-07-31 21:44:38 +02:00
Beat Küng 4b42cfaa6c simulator_mavlink: improve error output 2018-07-31 11:51:15 +02:00
Beat Küng 2c148f07bd cdev: delete the prev_pollset in unlocked state
Because it uses a semaphore.
2018-07-31 11:49:45 +02:00
mcsauder 1fe526b8eb Updated and added full stops to comments and did some comment/whitespace formatting in the startup scripts. 2018-07-31 09:06:03 +02:00
Beat Küng 13f2315314 CDev: add DEVICE_POLL_DEBUG macro that removes all poll debug output from the build by default
Reduces 'uorb_tests latency_test' by about 1us
2018-07-30 23:06:32 +02:00
Beat Küng 99fd1f7213 CDev::poll_notify_one: remove checking the semaphore counter
The check is unnecessary. In the worst case the semaphore gets unlocked
twice, but it's not an issue because the waiter is only interested in the
first sem_post(), and the semaphore is then not used anymore.
2018-07-30 23:06:32 +02:00
Beat Küng 72773b75c3 CDev::poll: disable IRQs instead of using an expensive semaphore
poll() is one of the heavily used methods and thus needs to be optimized
as much as possible.

Test on Pixracer: uorb_tests latency_test
Before:
uORB note: ---------------- LATENCY TEST ------------------
INFO  [uorb_tests] mean:     40.4320 us
INFO  [uorb_tests] std dev:   1.3466 us
INFO  [uorb_tests] min:      39 us
INFO  [uorb_tests] max:      57 us
INFO  [uorb_tests] missed topic updates: 0
This Patch:
uORB note: ---------------- LATENCY TEST ------------------
INFO  [uorb_tests] mean:     31.3480 us
INFO  [uorb_tests] std dev:   1.4584 us
INFO  [uorb_tests] min:      30 us
INFO  [uorb_tests] max:      45 us
INFO  [uorb_tests] missed topic updates: 0
2018-07-30 23:06:32 +02:00
Beat Küng fbd553c528 uorb tests: improve & extend latency test output
- min/max
- std dev
- number of missed updates
2018-07-30 23:06:32 +02:00
Beat Küng 00ebffb0dd uorb tests: run at max priority & increase stack size
- running at max priority significantly decreases jitter for the latency
  test, providing more consistent results
- stack size increase is required for the latency test
2018-07-30 23:06:32 +02:00
Beat Küng 1514ec3a5a top: use SCHED_PRIORITY_MAX instead of 255 to specify the priority 2018-07-30 23:06:32 +02:00
rolandash 12f96adbe2 delete member value initialization in constructor. 2018-07-30 22:54:20 +02:00
rolandash 506d761d58 use local brightness variable. 2018-07-30 22:54:20 +02:00
rolandash c1830fd9ce format spaces. 2018-07-30 22:54:20 +02:00
rolandash 7d68c52835 correct indent. 2018-07-30 22:54:20 +02:00
rolandash 82d5ac56a9 fixed rgb pwm led breathing. 2018-07-30 22:54:20 +02:00
TSC21 ca42483794 update msgs fields from camelCase to snake_case so rosidl_generate_interfaces() is able to generate code for ROS IDL files 2018-07-30 21:40:28 +02:00
Daniel Agar 553d68b80f Makefile add doxygen helper 2018-07-30 21:36:35 +02:00
Dennis Mannhart 00e09524f7 SearchMin and BezierQuad: replace define with static constexpr (#10050) 2018-07-30 12:28:27 -04:00
Daniel Agar 48a17b5234 cmake ignore doxygen option when not a standalone build (#488) 2018-07-30 12:23:24 -04:00
Daniel Agar 6660418c31 rc_input make RC_SCAN_STRING static constexpr 2018-07-30 10:32:56 -04:00
Daniel Agar 0069141ffc px4fmu increase actuator controls poll timeout 2018-07-30 10:32:56 -04:00
Daniel Agar cdf828cbda rc_input don't store cycle_timestamp 2018-07-30 10:32:56 -04:00
Daniel Agar 46254420be rc_input add perf counters 2018-07-30 10:32:56 -04:00
Daniel Agar 658237f36a px4fmu move RC input to new rc_input driver 2018-07-30 10:32:56 -04:00
Daniel Agar 4e05f26659 ms4525 driver extend to support ms4515 2018-07-30 10:24:40 +02:00
mcsauder ac8f44268b Added remaining two channels of PWM_AUX_DIS disarm parameter set commands, remove trailing whitespace from pwm_params_aux.c and pwm_params_main.c, gps/params.c and added block comment headers to separate sections instead of whitespace. 2018-07-30 09:36:44 +02:00
Daniel Agar 56a7c63789 version lib fix BUILD_URI properly 2018-07-30 09:30:23 +02:00
Daniel Agar 28610a2b62 AV-X lps22hb only start on SPI 2018-07-30 00:36:05 -04:00
Daniel Agar 4f0c9c501a lps22hb cleanup startup options 2018-07-30 00:36:05 -04:00
Daniel Agar a4a040aa45 ADIS16477 run onboard self test during init 2018-07-29 18:09:34 -04:00
Daniel Agar cc1c37ffd1 ADIS16477 improve reset and probe logic 2018-07-29 18:09:34 -04:00
Daniel Agar cc96e5ec5e sensor messages remove unused fields and improve comments 2018-07-29 21:04:21 +02:00
Dennis Mannhart fc8a05f636 estimataor reset counter: set Flighttaskcounter equal reset-counter during activation (#10035)
- fixes #10033
2018-07-28 10:08:58 -04:00
Daniel Agar 921e9f6e09 commander params fix COM_VEL_FS_EVH unit
- fixes #10028
2018-07-28 10:03:19 -04:00
Daniel Agar 5e6b35758a commander params fix COM_OF_LOSS_T unit 2018-07-28 10:03:19 -04:00
Beat Küng 1fb5353a60 rc: add unit test for CRSF RC
Also cleanup other RC unit tests
2018-07-28 15:23:09 +02:00
Beat Küng 6e24bbbaaf fmu: add CRSF RC and Telemetry support
- Telemetry is only enabled on omnibus, since on Pixhawk it seems we cannot
  write to the RC UART due to how the board is wired
- For the Telemetry the UART needs to be opened RW
2018-07-28 15:23:09 +02:00
Beat Küng 04dbd40723 rc lib: add CRSF Crossfire protocol (RC and Telemetry) 2018-07-28 15:23:09 +02:00
Beat Küng 74e4619042 rc lib: cleanup, move structs out of common_rc.h 2018-07-28 15:23:09 +02:00
Beat Küng 388b963dd8 refactor fmu: fix naming convention for raw_rc_count & raw_rc_values 2018-07-28 15:23:09 +02:00
Beat Küng 3816145d59 fmu: fix init & use of _control_subs
0 is a valid file descriptor, init (all) to -1 instead
2018-07-28 15:23:09 +02:00
Beat Küng 49fe19c20f uavcan_main: fix init & use of _control_subs
0 is a valid file descriptor
2018-07-28 15:23:09 +02:00
Beat Küng 442d4410ca pwm_out_sim: cleanup, avoid unnecessary & incorrect init of _control_subs
These need to be set to -1.
2018-07-28 15:23:09 +02:00
Daniel Agar be3af59c76 lsm303agr flip z axis and properly set scaling and range 2018-07-28 15:22:20 +02:00
Daniel Agar 14cf92d8b2 lsm303agr split main 2018-07-28 15:22:20 +02:00
Daniel Agar 3d3855e87b AV-X configure default serial on UART5 (J116) 2018-07-28 03:21:01 -07:00
Roman 37f59ad4f5 mavlink: fixed nullptr dereferencing in case unknown mavlink message is
forwarded

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-27 18:41:51 +02:00
Julian Oes 462cf131d5 mavlink: add sysid to UUID
To avoid that multiple SITL instances have the same UUID we add the
mavlink system ID to the UUID which is sent via mavlink.

This should resolve the case where multiple vehicles show up with the
same UUID in simulation.

Note that the UUID show in `ver` will still be the same for all
instances.
2018-07-27 11:49:28 +02:00
Matthias Grob 83c0888d80 Appveyor: finally found all install, build and path bugs, commented 2018-07-26 23:10:06 +02:00
Matthias Grob a31e851fd8 Appveyor: enable build cache and better download command 2018-07-26 23:10:06 +02:00
Matthias Grob cb57cf6ab5 Appveyor: switch to msi installer 0.3 2018-07-26 23:10:06 +02:00
Matthias Grob 3b1dcc8185 Cygwin: add appveyor sitl build 2018-07-26 23:10:06 +02:00
Beat Küng 382f989c9d ecl submodule: fix commit hash
The current commit hash points to a deleted branch.
2018-07-26 13:47:51 +02:00
Lorenz Meier c86dbe60a0 Increased mixer load buffer to allow larger mixer structures to fit.
This allows to load mixers with more inputs.
2018-07-26 08:39:01 +02:00
Daniel Agar 77751d4822 EKF2 set param EKF2_MAG_DECL volatile 2018-07-26 08:32:09 +02:00
Paul Riseborough 77f0883cb9 ekf2: Reinstate saving of mag declination for use next start
This capability was removed unintentionally by previous changes.
Requires ecl version with updated declination accessor function
2018-07-26 08:32:09 +02:00
mcsauder 8da1e67050 Move OUTPUT_MODE logic from rcS to rc.interface. 2018-07-26 08:17:52 +02:00
Roman 4a8a3a4079 l1 controller: simpler way of doing slew rate limiting
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-26 07:54:38 +02:00
Roman fe4e6779f3 l1 position control: added roll angle setpoint slew rate limiting
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-26 07:54:38 +02:00
Paul Riseborough 748446b92f EKF: Use parameter for stuck range test threshold
The default has been reduced to make it suitable for low altitude optical flow navigation.
2018-07-26 07:53:39 +02:00
Paul Riseborough 628079719f EKF: Fix inconsistency in timeout for terrain validity
Terrain validity is determined solely by successful range finder fusion and terrain state initialisation.
A range finder that has been declared faulty requires continuous range finder data fusion requires  data to be continuous before the fault status _rng_hgt_faulty  can be cleared. This will enforce the requirement for continuous data before fusion can commence.
2018-07-26 07:53:39 +02:00
Paul Riseborough d1d49857f9 EKF: Prevent stuck range checks running without new data 2018-07-26 07:53:39 +02:00
dakejahl 80146273ba removed if statement that would prevent the update of the _rng_hgt_faulty flag (#480) 2018-07-26 07:53:39 +02:00
Paul Riseborough 17d40478bb EKF: Rework range height validity checking
Eliminate race condition caused by checking for data freshness using time stamps from buffer push instead than buffer pop events.
Consistent use of range data ready and range data fault flags. This achieved by ensuring that _rng_hgt_faulty is set to true for all range data faults, not just data freshness.
Include range data validity requirement in rangeAidConditionsMet() check.
2018-07-26 07:53:39 +02:00
Paul Riseborough e0bcfeb533 EKF: Add validity boolean to mag declination accessor 2018-07-26 07:51:58 +02:00
Paul Riseborough 1e610894b9 EKF: Correct documentation and function name for declination accessor
The function name and documentation are misleading given the function is only a getter.
This change makes the usage clearer.
2018-07-26 07:51:58 +02:00
Jake Dahl 57dfcee842 added a check for not maybe_landed upon takeoff 2018-07-26 07:49:14 +02:00
Daniel Agar d7b2b48bad tap_esc increase stack 1100 -> 1180 bytes 2018-07-26 07:48:01 +02:00
Jake Dahl 4144a53cd6 added a check to ensure the current position setpoint is valid 2018-07-26 07:46:24 +02:00
Jake Dahl a1ff4a8a67 removed unneccessary includes, eliminated namespace on math, changed date
changed a comment

reverted a file back to master
2018-07-26 07:46:24 +02:00
Jake Dahl 21db15ff4f If already in landing, go straight to state RTL_LAND. Also cleaned up the comments 2018-07-26 07:46:24 +02:00
Jake Dahl 130cdf25bf prevent RTL if already landing 2018-07-26 07:46:24 +02:00
Jake Dahl 7c84e77312 we used to check if we have actually landed not mission reached in navigator 2018-07-26 07:45:00 +02:00
Daniel Agar 100f9553ce tests clang-tidy ignore modernize-pass-by-value 2018-07-25 08:50:10 +02:00
Dennis Mannhart 9c0a6eb87a clang modernize: remove void argument 2018-07-25 08:50:10 +02:00
Dennis Mannhart 40f2388295 test_search_min: remove printf 2018-07-25 08:50:10 +02:00
Dennis Mannhart 609d412217 BezierQuad: use template type Tp for default 2018-07-25 08:50:10 +02:00
Dennis Mannhart 7559610a7b BezierQuad: update description, replace Data with Vector3_t 2018-07-25 08:50:10 +02:00
Dennis Mannhart 6ddf214bbd BezierQuad: set cached_arc_length once computed 2018-07-25 08:50:10 +02:00
Dennis Mannhart fe48e06f9d add tests for Bezier and Golden Section Search libraries 2018-07-25 08:50:10 +02:00
Dennis Mannhart c8842665da mathlib: add golden section search 2018-07-25 08:50:10 +02:00
Dennis Mannhart 90f95bca0e add Bezier library 2018-07-25 08:50:10 +02:00
Daniel Agar 5ec010372c rcS preserve accel, gyro, and temp cal parameters 2018-07-25 07:48:19 +02:00
PX4 Jenkins b98f5aaf7e Update submodule micro-CDR to latest Tue Jul 24 20:26:29 CDT 2018
- micro-CDR in PX4/Firmware (eca3a58a36d7367d5d5ca4a6289585e13003cf51): https://github.com/eProsima/micro-CDR/commit/890b118196a253540bc175096fa53d7733005d7b
    - micro-CDR current upstream: https://github.com/eProsima/micro-CDR/commit/df48e526feca3bd140b0adf12c3c847a6d78ed79
    - Changes: https://github.com/eProsima/micro-CDR/compare/890b118196a253540bc175096fa53d7733005d7b...df48e526feca3bd140b0adf12c3c847a6d78ed79

    df48e52 2018-07-11 Luis Enrique Muñoz Martín - Removed some inline modifiers
c77a49f 2018-07-11 Luis Enrique Muñoz Martín - indent
4f659ab 2018-07-11 Luis Enrique Muñoz Martín - Removed unused images.
d3a5b4a 2018-07-11 Luis Enrique Muñoz Martín - Removed old files.
2018-07-25 07:31:02 +02:00
Matthias Grob 152c6db212 Fix logger signed unsigned error with GCC 7.3 in Cygwin (#10009) 2018-07-24 17:39:45 -04:00
Julian Oes 80cac6561f sensors: no temperature compensation in HITL
Temperature compensation is not supported in HITL. Therefore, don't try
and fail. This basically removes the confusing error message that we get
in HITL.
2018-07-24 18:56:36 +02:00
mcsauder ee3e34cd06 Move UART mapping comments back to top level rcS script. Deprecate PWM_ACHDIS and replace with PWM_AUX_OUT and set PWM_AUX_DIS value directly in vtol airframe config files. Replace tone_alarm instances with tune_control and default tune enums, and relocate an OUTPUT_MODE == fmu logic block in rcS. 2018-07-24 18:44:55 +02:00
Daniel Agar 4818e3abe0 ROMFS cmake combine copy, rc.autostart, prune steps 2018-07-24 10:50:24 -04:00
ChristophTobler 9aa6dad514 FlightTask orbit: make format 2018-07-24 15:03:53 +02:00
MaEtUgR e8d2f1c2be FlightTaskOrbit: execute MAVLink orbit command
Latest QGC daily supports sending an orbit command. This commit applies
the correct radius, rotation direction, velocity and center position.
Still missing is a check to have global position available and applying
x,y coordinates and altitude independently.
2018-07-24 15:03:53 +02:00
MaEtUgR 7c068e47ab FlightTaskOrbit: fix acceleration limit inverting velocity
The formula only calculated the absolute value of the velocity and
the sign (rotation direction) got lost in that case.
2018-07-24 15:03:53 +02:00
MaEtUgR 12290c27e6 FlightTask: update global reference
For the geo.h C library to convert between global and local frame
we need an up to date global reference which is currently inside the
vehicle_local_position message.
2018-07-24 15:03:53 +02:00
MaEtUgR 7d4fcccf83 FlightTasks: fix switch case style 2018-07-24 15:03:53 +02:00
MaEtUgR e95d795b08 FlightTasks: use member function as check for constistency 2018-07-24 15:03:53 +02:00
MaEtUgR 6472b579dc FlightTaskOrbit: switch rotation direction
Switch to positive tangential velocity being clockwise because with NED
frame z-axis points down and mathematically positive around the z-axis
results in clockwise yaw rotation when seen from above. Also MAVLink
messages and other components in PX4 are defined this way.
2018-07-24 15:03:53 +02:00
MaEtUgR 8d88fa2fca FlightTasks: fix multiple comments 2018-07-24 15:03:53 +02:00
MaEtUgR 675b6bbabc mathlib: fix comment typo 2018-07-24 15:03:53 +02:00
MaEtUgR 3b7d31de75 FlightTasks: reintroduce vehicle command handling
The handling for vehicle commands inside the FlightTasks library
was already there but commented out because the previously used
MAVLink messages were tied to the specific application we used and
there was no clean common message definition. Because there is now
a well defined message for the orbit task I'm uncommenting and using
the working message handling again here.
2018-07-24 15:03:53 +02:00
MaEtUgR 5dae404fb2 vehicle_commands: add VEHICLE_CMD_DO_ORBIT 2018-07-24 15:03:53 +02:00
Matthias Grob 93bab20510 FlightTaskOrbit: switch to FlightTaskAltitudeSmooth
Nice smooth altitude control is already provided by the existing
flight task for altitude mode. We inherit from it to resuse the
functionality and just all its update first not altering the setpoints
for the z-axis it produced.
2018-07-24 15:03:53 +02:00
Matthias Grob ce49ac0259 FlightTaskOrbit: better member descriptions 2018-07-24 15:03:53 +02:00
Matthias Grob 26e3dbec2e FlightTaskOrbit: name member constants start with underscore 2018-07-24 15:03:53 +02:00
Matthias Grob 2b6926fe9d FlightTaskOrbit: speed up stick input to a fixed time frame
Maximum velocity achievable in 4 seconds,
maximum radius achievable in 8 seconds for futher testing.
These should be parameters as soon as it works fine.
2018-07-24 15:03:53 +02:00
Matthias Grob 33ba041120 FlightTaskOrbit: improve yaw tracking with feed-forward
To make the vehicle front always point exactly to the center and not
lag behind.
2018-07-24 15:03:53 +02:00
Matthias Grob c2223030d9 FlightTaskOrbit: add acceleration limit & unify checks 2018-07-24 15:03:53 +02:00
Matthias Grob 79aaa59715 FlightTaskOrbit: adapt comments to convention and 2018 2018-07-24 15:03:53 +02:00
Matthias Grob 993d76c0da FlightTaskOrbit: fix vehicle yawing to the center
I accidentally swapped yaw setpoint and yawspeed setpoint when switching
to the new setpointinterface in 309237c4a2
2018-07-24 15:03:53 +02:00
Daniel Agar 1481015675 ROMFS cmake update dependency handling 2018-07-24 09:12:44 +02:00
ChristophTobler 99e58e2923 FlightTask StraightLine: make format 2018-07-24 08:40:05 +02:00
Matthias Grob 7e547e6322 FlightTask StraightLine: use 2D Vector and remove newline 2018-07-24 08:40:05 +02:00
ChristophTobler ccd8a47015 FlightTask StraightLine: set origin and target at the same time
This avoids issues with reseting/calculating the max vel/acc
2018-07-24 08:40:05 +02:00
ChristophTobler 9e8c3ff0dc FlightTask StraightLine: check if target and origin are the same 2018-07-24 08:40:05 +02:00
ChristophTobler 8998714130 FlightTask StraightLine: remove unused target reached flag 2018-07-24 08:40:05 +02:00
ChristophTobler 090db6a115 FlightTask StraightLine: set max vel/acc/dec if value is bigger 2018-07-24 08:40:05 +02:00
ChristophTobler c619009364 FlightTask StraightLine: replace powf(x,2) with x*x
Apparently this is faster
2018-07-24 08:40:05 +02:00
Paul Riseborough 4d01883f75 EKF: Disable GPS drift checks when the vehicle is moving. 2018-07-24 07:31:45 +02:00
Beat Küng 7753dd4b4e refactor uorb: inline orb_publish_auto
It is a very small core function that needs to be fast.
2018-07-23 22:32:17 +02:00
Beat Küng 875ee794ef sensors: do not advertise topics before we have valid data
Modules generally do not check for a valid timestamp, thus we need to avoid
publishing invalid data.

This is for example problematic in the attitude_estimator_q, if the
system has no mag: it will copy the (invalid) data and then fails to
initialize, as there is no more mag data coming in.
2018-07-23 22:32:17 +02:00
Beat Küng f4fef5efc8 attitude_estimator_q: cleanup output, remove unnecessary topic init 2018-07-23 22:32:17 +02:00
Beat Küng 97fe5f928a mavlink_orb_subscription: remove unneeded checks
not needed anymore after the previous commit
2018-07-23 22:32:17 +02:00
Beat Küng 2fe5e7735a uorb: allow an orb subscription to retrieve data that was published prior to subscribe 2018-07-23 22:32:17 +02:00
Beat Küng 3f615695b6 ROMFS: fix some cmake issues
- every incremental rebuild extended ${config_romfs_files_list}, the
  chached variable was never reset
- cmake -E copy_directory did not remove deleted files

remaining issue: removing a file from the ROMFS & px4_add_romfs_files()
does not trigger the px_romfs_pruner.py COMMANDs to be re-executed.
2018-07-23 18:23:46 +02:00
ChristophTobler 8b3716c0df FlightTask StraightLine: remove 10% safety margin 2018-07-23 12:54:39 +02:00
ChristophTobler 7e0976f0ef FlightTaskStraightLine: fix braking distance corner cases
check if target vel is bigger than desired vel
accelerate if already inside braking distance but vel is lower
2018-07-23 12:54:39 +02:00
ChristophTobler e527a51de6 FlightTaskStraightLine: add descriptions for defines 2018-07-23 12:54:39 +02:00
ChristophTobler 37d4f714b2 FlightTaskStraightLine: replace define with parameter 2018-07-23 12:54:39 +02:00
ChristophTobler ebceac5fff FlightTasks: add lib for setpoints on a straight line 2018-07-23 12:54:39 +02:00
Beat Küng 3f03288a95 omnibus: add support for Hobbywing XRotor F4 G2
It has an ICM-20602 IMU
2018-07-23 11:04:17 +02:00
Kurt Kiefer b111489825 PX4IO: re-enable handling digital rssi
The px4io driver was ignoring the contents of PX4IO_P_RAW_RC_NRSSI
since digital rssi wasn't working properly. This change was made in
commit 41b127d40.

Now that PX4IO_P_RAW_RC_NRSSI is returning valid values for digital
rssi, we can re-enable its use.
2018-07-23 08:16:51 +02:00
Kurt Kiefer 7a5a135739 PX4IO Firmware: promote rssi to static storage
The controls_tick() rate exceeds the rate at which RC receivers
provide digital rssi. As such, most ticks set PX4IO_P_RAW_RC_NRSSI
to 0.

This change promotes the controls_tick() local variable 'rssi' to
static storage so that it doesn't have to be updated every tick to
keep the correct value in PX4IO_P_RAW_RC_NRSSI.
2018-07-23 08:16:51 +02:00
Daniel Agar b1d3bb0403 stop ignoring Wmissing-field-initializers and fix (#9912) 2018-07-22 12:45:52 -04:00
Paul Riseborough fc65939f0e ekf2: Add support for use of multiple GPS receivers (#9765) 2018-07-22 12:18:30 -04:00
Daniel Agar afe82ffb31 Update submodule mavlink v2.0 to latest Sat Jul 21 21:26:19 EDT 2018
- v2.0 in PX4/Firmware (8feac97399): https://github.com/mavlink/c_library_v2/commit/f2ae3ada7990d6fea25c5206057375e0c4d05672
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/fb2c4f819819e2348285bc9e03ab711ceb6c4cc1
    - Changes: https://github.com/mavlink/c_library_v2/compare/f2ae3ada7990d6fea25c5206057375e0c4d05672...fb2c4f819819e2348285bc9e03ab711ceb6c4cc1

fb2c4f8 2018-07-19 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/de22395191208df6c42e243a6d7993e6a364e48a
550c3f5 2018-07-19 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/fe88d5fd12f94066a42b80ed44f7284c9b9e72a3
404f50f 2018-07-18 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/3940532218b0a1a9491d3f0fa5eec8d4555693ad
2018-07-22 09:45:02 -04:00
Paul Riseborough a37580ceac mc_pos_control: remove un-used parameter 2018-07-22 17:42:31 +10:00
Paul Riseborough 73a7aa75a8 FlightTasks: update terrain hold transition logic.
Use pre-existing MPC_HOLD_MAX_XY parameter for speed threshold.
Use _stick_expo variable for stick movement check.
Update documentation.
2018-07-22 17:42:31 +10:00
Paul Riseborough dd3fb84db8 mc_pos_control: Fix parameter description error 2018-07-22 17:42:31 +10:00
Paul Riseborough c9ca27e7c2 ekf2: Update documentation for EKF2_RNG_AID parameter 2018-07-22 17:42:31 +10:00
Paul Riseborough 7ff23f7859 posix-configs: Update optical flow SITL test parameter defaults
Use baro for height in EKF.
Use terrain hold mode in height controller.
2018-07-22 17:42:31 +10:00
Paul Riseborough 2baa6caacb FlightTasks: Fix transition between use of local and ground height (+2 squashed commits)
Squashed commits:
[ed2a243] FlightTasks: Preserve control loop tuning when applying max altitude limit
[b33b947] FlightTasks: Add terrain hold function

This new mode of altitude control uses terrain following when holding position and normal altitude control when moving.
2018-07-22 17:42:31 +10:00
Paul Riseborough 82780e33b9 mc_pos_control: Add parameter support for terrain hold function
This new mode of altitude control uses terrain following when holding position and normal altitude control when moving.
2018-07-22 17:42:31 +10:00
mcsauder 14a8afb61d Formatted whitespace and comments, standardized comment block styles and single line comments, and added capitalization and full stops to comments wherever appropriate. 2018-07-22 08:44:30 +02:00
Kurt Kiefer a114450f51 spektrum_rssi: clear PX4IO_P_SETUP_FEATURES_ADC_RSSI when valid
When we're getting valid rssi input from the telemetry receiver,
clear the flag PX4IO_P_SETUP_FEATURES_ADC_RSSI in r_setup_features.
2018-07-22 08:42:30 +02:00
Kurt Kiefer fc16dce8f1 spektrum_rssi: initialize rssi lookup as constexpr
Rather than initializing the rssi percentage lookup table at runtime
on the heap, we would like it to be stored in flash.

This change pre-computes the rssi lookup table.
2018-07-22 08:42:30 +02:00
Kurt Kiefer 597372bec9 Gather RSSI data from Spektrum Telemetry receivers
On SPM4649T receivers with firmware versions at least 1.1RC9, the
serial data will contain an rssi value in dbm, as outlined in the
Remote Receiver Interfacing document section 8.3.1.

If the value received is greater than or equal to zero, the receiver
does not support rssi data, and the incoming value will be ignored.
However, if the value is negative, we can use the rssi value.

When we have a valid rssi, it gets mapped to a percentage from 0 to
100 as expected by mavlink. This mapping is constructed as a
logarithmic function over Spektrum's published minimum and maximum
rssi values, -92dBm to -42dBm as 0 to 100:
100 Log10[1 + (x - min) * (9 / (max - min))]

This change updates all calls to the dsm input rountes to return
the rssi value.

Note that one place this doesn't work with the px4io enabled.
There is a comment left in the absence of analog rssi that:
"we do not actually get digital RSSI regs[PX4IO_P_RAW_RC_NRSSI]".
This restriction has been left in place, as removing it exposes a
problem where the frequency of the control tick is greater than
that of valid dsm frames so the rssi isn't valid every cycle.
2018-07-22 08:42:30 +02:00
Daniel Agar 8feac97399 docker update all to 2018-07-19 tagged image 2018-07-21 15:52:19 -04:00
mcsauder ec16a4d063 Migrate LOGGER_BUF argument to rc.logging, group OUTPUT_MODE instances closer together by relocating UAVCAN logic block in rcS, and alphabetize hardware specific logic in rc.sensors. 2018-07-20 19:01:33 +02:00
David Sidrane 5ae39229b8 manifest:Clean up using synbolic constants 2018-07-20 18:29:58 +02:00
David Sidrane 45f210e544 fmu:Use Compile time & run time Safety switch control
Platforms that provide HW versioning tend to have
   more FLASH and can have a PX4IO as an option.
   (E.G.) FMUv5. This change provides run time
   decision to control the safety switch on
   platfors that have BOARD_HAS_VERSIONING.

   On platforms with no versioning and have
   BOARD_HAS_STATIC_MANIFEST defined as a 1
   The decision is compile time only. When a PX4IO
   is present the fmu control of the safety is
   not built.
2018-07-20 18:29:58 +02:00
David Sidrane 3ea3c1f537 px4fmu-v5:Runtime Safety LED support.
Safety Switch is HW version dependent on having an PX4IO
   So we init to a benign state with the _INIT definition
   and use the non _INIT verion in the driver if the run time
   decision is we do not have a PX4IO
2018-07-20 18:29:58 +02:00
David Sidrane 3136521493 px4fmu-v5:Fix led toggle.
The phyical led read was not returing the logical state
    of the LED. Since they are active low, when on it was
    returning 0 and the the negation operation in togggle
    was makeing that a 1 which it already was.
2018-07-20 18:29:58 +02:00
David Sidrane 1db1155697 px4fmu-v5:Comment and define SAFETY LED and Button so FMU can use
Safety Switch is HW version dependent on having an PX4IO
  So we init to a benign state with the _INIT definition
  and provide the the non _INIT one for the driver to make a run time
  decision to use it.

  We also define the FMU GPIO_BTN_SAFETY and GPIO_LED_SAFETY alias
  so the px4fmu will drrive will be built with the safety switch
  code at compile time and have runtime control via the manifest
2018-07-20 18:29:58 +02:00
David Sidrane c9cf17c432 px4fmu-v5:define BOARD_HAS_CONTROL_STATUS_LEDS
FMUv5 supports status LEDs.
2018-07-20 18:29:58 +02:00
David Sidrane 0b60df5fe0 px4fmu-v2:Added HW manifest (only support PX4IO) for now
This is the beginning of the manifest support on FMUv2/v3
   it only provide PX4_MFT_PX4IO for now.
2018-07-20 18:29:58 +02:00
David Sidrane 08e04e3c5c px4fmu-v4pro:Comment GPIO_BTN_SAFETY_FMU is inited and not used 2018-07-20 18:29:58 +02:00
David Sidrane 4330d6dad5 px4fmu-v4pro::Define BOARD_HAS_STATIC_MANIFEST as 1
When BOARD_HAS_STATIC_MANIFEST is defined with a value of 1
   and the board_config provides the BOARD_USES_PX4IO_VERSION
   then the board_common will define
   PX4_MFT_HW_SUPPORTED_PX4_MFT_PX4IO
2018-07-20 18:29:58 +02:00
David Sidrane 3b0427c2a5 auav-x21:Define BOARD_HAS_STATIC_MANIFEST as 1
When BOARD_HAS_STATIC_MANIFEST is defined with a value of 1
    and the board_config provides the BOARD_USES_PX4IO_VERSION
    then the board_common will define
    PX4_MFT_HW_SUPPORTED_PX4_MFT_PX4IO
2018-07-20 18:29:58 +02:00
David Sidrane 68aa5664b0 px4io:Use manifest query mechanism 2018-07-20 18:29:58 +02:00
David Sidrane 840b3ae985 px4fmu-v5:manifest add initial query mechanism 2018-07-20 18:29:58 +02:00
David Sidrane a0cc4dc345 Fix typo 2018-07-20 18:29:58 +02:00
David Sidrane f2cb7b0ade board_common:Add underpinning for board manifest query 2018-07-20 18:29:58 +02:00
David Sidrane 5b4da90d60 fmuv2:Added State information for FMUv2 questionable hardware
This HW does not respond to the GPIO query consistantly
   and should be treated like regular FMUv2
2018-07-20 18:29:58 +02:00
David Sidrane 7524a318cc px4fmuv5:Fix display order to ver rev 2018-07-20 18:29:58 +02:00
David Sidrane 7a4ac739f1 Fix Stack warning 2018-07-20 18:29:58 +02:00
Daniel Agar 345f6367a5 av-x remove mc_pos_control_tests 2018-07-20 09:26:18 +02:00
Dennis Mannhart 18a3c08659 mc_pos_control: idle to armed state delay controlled by parameter MPC_IDLE_TKF 2018-07-20 09:26:18 +02:00
Dennis Mannhart ab1ae1fb4e mc_pos_control_main: trigger failsafe if no setpoint along D-direction is valid 2018-07-20 09:26:18 +02:00
ChristophTobler 9362f844f4 position control: fix failsafe thrust
invert direction to point upwards and increase to 70% of throttle range between min and hover
2018-07-20 09:26:18 +02:00
ChristophTobler 7cc85885a4 position control: set _skip_controller before calling _interfaceMapping()
Without this failsafe will be overwritten
2018-07-20 09:26:18 +02:00
ChristophTobler 80867343ab mc_pos_control: trigger failsafe if no pos, vel or thrust pair is valid 2018-07-20 09:26:18 +02:00
Dennis Mannhart 260284571d mc_pos_control: move failsafe logic into method 2018-07-20 09:26:18 +02:00
Dennis Mannhart ac2c49218d mc_pos_control: remove mavlink_log_info 2018-07-20 09:26:18 +02:00
Dennis Mannhart f11a65a74f mc_pos_control: fix overwrite for state velocity 2018-07-20 09:26:18 +02:00
Dennis Mannhart f2d559a4c2 mc_pos_control: minor refactor 2018-07-20 09:26:18 +02:00
Matthias Grob cc0bc05156 mc_att_control: remove useless parameter MC_YAW_FF
It scales the yawspeed setpoint arbitrarily by default with 0.5.
This makes no sense because when you give a setpoint of 1rad/s then
you expect the setpoint to get executed. If you want manual yawspeed
response to be less agressive on the stick use the scaling parameter
for the stick MPC_MAN_Y_MAX.
2018-07-20 09:26:18 +02:00
Dennis Mannhart b5731e0ccd FlightTaskOffboard: only start task if control mode flags are met 2018-07-20 09:26:18 +02:00
Dennis Mannhart bf4ac7a9d6 mc_pos_control: for terrain following use range sensor climbrate for velocity estimate 2018-07-20 09:26:18 +02:00
Dennis Mannhart eb7139bc56 FlightTaskManualAltitude: respect maximum altitude if there is a valid distance sensor 2018-07-20 09:26:18 +02:00
Dennis Mannhart c907e7a9dc FlighttaskManualAlititude: replace SENS_FLOW_MINRNG with hagl_min 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4af9d79986 FlighttaskManualPosition: check if estimator velocity maximum is finite
before applying limits
2018-07-20 09:26:18 +02:00
MaEtUgR efed766919 FlightTasks: small rebase naming and typo fixes 2018-07-20 09:26:18 +02:00
Dennis Mannhart e51e1bbe74 mc_pos_control: replace legacy refactor
Until now we replaced legacy position controller functionality inside
the flight task architecture to split up the huge position control
module into the different tasks and have a modular setup with a clear
setpoint interface. This commit removes all the legacy code and hard
switches to using the flight task architecture for multicopter.

This is done because maintaining and testing everything in parallel is
not sustainable. The architecture is by now tested to cover all basic
legacy functionality and missing corner cases can be fixed a lot easier
with the new architecture.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 29fb5089bd FlightTasks: construct all tasks in constructor 2018-07-20 09:26:18 +02:00
Dennis Mannhart b1530d1a81 FlightTasks: create struct that contains FlightTask and FlightTaskIndex 2018-07-20 09:26:18 +02:00
Dennis Mannhart 83cc2b0e72 FlightTaskAuto: reset lock position to NAN 2018-07-20 09:26:18 +02:00
Dennis Mannhart c12dcb4eed FlightTaskAuto: take care of case when triplet.lat/lon are invalid, which corresponds
to position lock.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 65ad6edaf0 ManualSmoothingXY: remove empty lines 2018-07-20 09:26:18 +02:00
Dennis Mannhart b9d5189fe5 ManualSmoothing: direction change with maximum acceleration 2018-07-20 09:26:18 +02:00
Dennis Mannhart a5e8eb23ad PositionControl: saturate thrust integral 2018-07-20 09:26:18 +02:00
Dennis Mannhart 5ffcb6af01 PositionControl: set vel_dot to 0 if NAN 2018-07-20 09:26:18 +02:00
Dennis Mannhart 33d0a4e8ed FlightTaskAuto: replace target with destination for checks 2018-07-20 09:26:18 +02:00
Dennis Mannhart 92e93639d3 FlightTaskAuto: require valid position in 3D 2018-07-20 09:26:18 +02:00
Dennis Mannhart c4c01358b9 FlightTaskManualAltitude: do terrain following when distance sensor active and
below minimum distance to ground.
2018-07-20 09:26:18 +02:00
Dennis Mannhart bd85f5f993 FlightTask: set min_distance_to_ground to NAN as default and when
distance sensor is used to SENS_FLOW_MINRNG
2018-07-20 09:26:18 +02:00
Dennis Mannhart 80775d588b vehicle constraints: minimum distance to ground. currently used when distance sensor
is available
2018-07-20 09:26:18 +02:00
Dennis Mannhart ee7d5c3f38 FlightTaskAuto: remove unused member variable 2018-07-20 09:26:18 +02:00
Dennis Mannhart 7b13803e2c PositionControl: for thrust setpoints only use MPC_MANTHR_MIN for minimum thrust 2018-07-20 09:26:18 +02:00
Dennis Mannhart f30bf215db MulticopterLanddetector: adjust minimum throttle if climb-reate is not enabled 2018-07-20 09:26:18 +02:00
Dennis Mannhart e408870857 FlightTaskManual: remove unused override 2018-07-20 09:26:18 +02:00
Dennis Mannhart be6f3a5b48 FlightTaskOffboard: valid position and velocity is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart bd2de0e585 FlightTaskAuto: valid target is required and valid reference 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4713f47668 FlightTaskManualPosition: valid position/velocity in xy required 2018-07-20 09:26:18 +02:00
Dennis Mannhart 72a213aff7 FlightTaskManualAltitude: valid altitude/climb-rate is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart fc4fa169df FlightTaskManualStabilized: valid yaw is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2af253fa9f FlightTaskManual: sticks not to be finite
activation method not needed
2018-07-20 09:26:18 +02:00
Dennis Mannhart 6a7a7d7ff7 FlightTask: check if states are valid. if not valid, set them to NAN 2018-07-20 09:26:18 +02:00
Dennis Mannhart e8620708b3 PositionControl: set states to zero if not valid 2018-07-20 09:26:18 +02:00
Dennis Mannhart b2af9c3f58 FlightTasks: error to char string message 2018-07-20 09:26:18 +02:00
Dennis Mannhart afd02aca92 FlightTask: fail activation if required states are not available 2018-07-20 09:26:18 +02:00
Dennis Mannhart e6f6e2085c ControlMath: remove false comment 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3ea7f8783f FlightTaskManualAltitude: fix comment 2018-07-20 09:26:18 +02:00
Dennis Mannhart 414f38b677 test_controlmath: work around for internal compiler error: in trunc_int_for_mode, at explow.c:55 2018-07-20 09:26:18 +02:00
Dennis Mannhart c56ae130a7 test_controlmath remove static 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9c7c60ddc8 remove mc_pos_control_tests 2018-07-20 09:26:18 +02:00
Dennis Mannhart 89c266e699 by value to reference 2018-07-20 09:26:18 +02:00
Dennis Mannhart a0c3c80b37 FlightTaskManualStabilized make reset counter for heading static 2018-07-20 09:26:18 +02:00
Dennis Mannhart 68dd2d739a ManualSmoothingXY indent 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1317844a94 ManualSmoothingXY fix comments and style 2018-07-20 09:26:18 +02:00
Dennis Mannhart 250afd49a9 ManualSmoothingZ: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 216279b576 FlightTask: activate tasks with setpoints in use 2018-07-20 09:26:18 +02:00
Dennis Mannhart 389f897b04 mc_pos_control: member initialization during deceleration 2018-07-20 09:26:18 +02:00
Dennis Mannhart 46f91154a4 Smoothing: initialize ModuleParam in body of constructor because of compiler error 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9c2ec3c229 PositionControl: add control states structure 2018-07-20 09:26:18 +02:00
Dennis Mannhart bf15e852ff style-check 2018-07-20 09:26:18 +02:00
Dennis Mannhart cfe7d64a42 cmake/configs: remove module test for mc_pos_control 2018-07-20 09:26:18 +02:00
Dennis Mannhart c6055c979a systemcmds/tests: add test_controlmath 2018-07-20 09:26:18 +02:00
Dennis Mannhart 90a7d836fc ControlMath:: add legacy cross_sphere_line method 2018-07-20 09:26:18 +02:00
Dennis Mannhart c2343589d8 move cross_sphere_line_test method into test_controlmath.cpp
remove mc_pos_control_tests since empty
move test_controlmath.cpp into systemcmds/tests directory
2018-07-20 09:26:18 +02:00
Dennis Mannhart 09b7d0f659 the static keywork is a workaround for an internal bug of GCC
"internal compiler error: in trunc_int_for_mode, at explow.c:55"
2018-07-20 09:26:18 +02:00
Dennis Mannhart 742e9f7b15 FlightTaskManualStabilzied: check for absolute yaw 2018-07-20 09:26:18 +02:00
Dennis Mannhart cfa412b55f make format 2018-07-20 09:26:18 +02:00
Dennis Mannhart afbeafebd8 replace heading_reset_counter 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9ec47f2b74 replace reset counter logic for estimator reset for manual controlled mode 2018-07-20 09:26:18 +02:00
MaEtUgR 70802ba15a FlightTaskManual: Yaw lock with deadzone and expo
More than a year ago I started the easy to use math::Functions to handle
the always used mathematical SISO functions to be tested and available.

I switched x, y and z stick input to the freesh programmed deadzone and
exponential functions from the library to unify and clarify their use.
I just realized yaw was left over because it lead to a drift problem in
certain new use cases.

Now I'm just adding the yaw stick to the already well working method.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 8a3c7f9e41 PositionControl: style check 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2519d97aa2 PositionControl: add failsafe 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2017e394b3 speed limitation during auto-takoff: remove from legacy and add to FlightTask 2018-07-20 09:26:18 +02:00
Dennis Mannhart dcdbdbd8eb FlightTaskAuto: need to remove check for yaw valid since there is a
bug in the navigator where this flag is not correctly set.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 740f1f284f FlightTaskOffboard: enable triplet type takeoff, land etc 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1099dd8c7d FlightTaskOffboard: first commit similar in logic to legacy code
FlightTaskOffboard: ensure supported offboard setpoints
2018-07-20 09:26:18 +02:00
Dennis Mannhart dca378fbfd FollowMe: legacy implementation. NOTE: FOLLOW-ME is already broken on legacy code. 2018-07-20 09:26:18 +02:00
Dennis Mannhart 547cdc051c FlightTask: apply gear switch depending on task 2018-07-20 09:26:18 +02:00
Dennis Mannhart c637ccb65f FlightTaskAutoLine: move altitude above ground computaiton to method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3ea0a53192 FlightTask: set landing gear up boolean to false 2018-07-20 09:26:18 +02:00
Dennis Mannhart cdb723e54c vehicle_constraints: landing gear up boolean 2018-07-20 09:26:18 +02:00
Dennis Mannhart 7d7a2dffbf Smoothing-classes: initialize to parameters 2018-07-20 09:26:18 +02:00
Dennis Mannhart 5ef2a61be5 ManualSmoothingXY: ensure that maximum speed is correctly propagated to the smoothing class 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9df337e243 FlightTaskManualPosition: adjust scale based on vehicle maximum allowed speed sent by estimator 2018-07-20 09:26:18 +02:00
Dennis Mannhart 66d5f2ffd2 FlightTaskAuto: reference update only if refence altitude has not bee set. 2018-07-20 09:26:18 +02:00
Dennis Mannhart 45810ec2b4 PositionControl: replace constraint structure with new constraint message structure 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9e740f1aff FlightTaskManualAlt/Position/Sport: replace limits with constraint member structure 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6f704bd1e4 FlightTaskManualStabilized: replace limit with new member constraints structure 2018-07-20 09:26:18 +02:00
Dennis Mannhart dbb222e6ed FlightTaskAutoLine: set landing constraints and reset constraints 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4d6539b076 FlightTaskAuto: override default constraints 2018-07-20 09:26:18 +02:00
Dennis Mannhart 962c2eff61 FlightTask: rename mehtod and add default parameter for constraints 2018-07-20 09:26:18 +02:00
Dennis Mannhart edb2e3256f FlightTask: getConstraints method and member 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9f11f1afcf vehicle constraint message: fix range comment 2018-07-20 09:26:18 +02:00
Dennis Mannhart 0f4be12646 msg: first draft of vehicle_constraints message 2018-07-20 09:26:18 +02:00
Dennis Mannhart 51d4c1f305 FlightTasks: add getter method for constraints 2018-07-20 09:26:18 +02:00
Dennis Mannhart 63871bb4a5 FlightTaskManualAltitude: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 19bd7a9163 FlightTaskManualAltitude: terrain following 2018-07-20 09:26:18 +02:00
Dennis Mannhart ccd0be82ba FlightTaskManualAltitude: if flow is on, ensure minimum altitude 2018-07-20 09:26:18 +02:00
Dennis Mannhart 93ebb60b84 FlightTaskAutoLine: distance to bottom depending on the mode 2018-07-20 09:26:18 +02:00
Dennis Mannhart e1bc7a8e0a FlightTask.cpp resetSetpoints if subsctiption fails 2018-07-20 09:26:18 +02:00
Dennis Mannhart 5a4701c7de Flighttask: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 97be84b0e4 FlightTask: introduce method for limits and adjust accordingly for all the tasks 2018-07-20 09:26:18 +02:00
Dennis Mannhart 73b4f452cc FlightTask: add distance to bottom 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1759e181dc FlightTaskAutoLine: legacy support velocity ramp at low altitude 2018-07-20 09:26:18 +02:00
Dennis Mannhart 7d30db1395 FlightTaskAuto: subscribe to home position 2018-07-20 09:26:18 +02:00
Dennis Mannhart 24e6e4041f PositionControl: format clean up 2018-07-20 09:26:18 +02:00
Dennis Mannhart 89c0259b2a PositionControl: replace overwrite with ModuleParams updateParams method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6d716f2d26 px4_module_params: make updateParams virtual 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4c1fcca294 PositionControl.cpp: replace all params with ModuleParams type. Add method that overwrites
parameter values
2018-07-20 09:26:18 +02:00
Dennis Mannhart 7dbc368779 PositionControl.hpp: inherit from ModuleParams and replace params with ModuleParams type 2018-07-20 09:26:18 +02:00
Dennis Mannhart aef6b9216e FlightTasksAuto/Line: replace BlockParams with module params 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6cfb89a8e8 test_controlmath rebase fix: EPS to FLT_EPSILON 2018-07-20 09:26:18 +02:00
Dennis Mannhart caa773008a PositionControl: degrees to radians 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4a9e5941b6 mc_pos_control and FlightTaskAuto rebase fix 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4761f0a344 PositionControl: bug fix Pv replacement with Pp 2018-07-20 09:26:18 +02:00
Dennis Mannhart 83f6398e93 ControlMath: comments refactor 2018-07-20 09:26:18 +02:00
Dennis Mannhart 19743bcaec FlightTaskAuto: comments refactor 2018-07-20 09:26:18 +02:00
Dennis Mannhart c01fab089a PositionControl parameter renaming. Use the the name as stored in the metadata 2018-07-20 09:26:18 +02:00
Dennis Mannhart cf59c2a2ac PositionControl/mc_pos_control: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 673945f28b PositionControl: check if constraints are below global maximum 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1cde38f82f FlightTaskAuto: always update yaw 2018-07-20 09:26:18 +02:00
Dennis Mannhart 29391acbca FlightTaskAutoLine: fix greater sign 2018-07-20 09:26:18 +02:00
Dennis Mannhart 60a9b45c88 Positioncontrol: limit velocity upwards during smooth takeoff 2018-07-20 09:26:18 +02:00
Dennis Mannhart 0f4eb8e766 PositionControl: add integral reset methods 2018-07-20 09:26:18 +02:00
Dennis Mannhart 65a9cd171f PositionControl: variable replacement 2018-07-20 09:26:18 +02:00
Dennis Mannhart e2ac12ef2c FlightTask: comment fixes 2018-07-20 09:26:18 +02:00
Dennis Mannhart c6b5731086 test_controlmath: add first few tests for constrain function in xy 2018-07-20 09:26:18 +02:00
Dennis Mannhart c60481614e ControlMath constrainxy: fix one of the condition 2018-07-20 09:26:18 +02:00
Dennis Mannhart 386b70dc58 ControlMath: add derivation and simplify computation 2018-07-20 09:26:18 +02:00
Dennis Mannhart 99de97a528 FlightTaskAuto: fix global reference update 2018-07-20 09:26:18 +02:00
Dennis Mannhart b7f729e432 FlightTask: split _evalutateVehiclePosition into _evaluateVehicleLocalPosition
and _evaluateVehicleGlobalPosition
2018-07-20 09:26:18 +02:00
Dennis Mannhart 913932ff9e FlightTask: move geo-lib include to FlightTaskAuto where it is required
for conversion from global to local
2018-07-20 09:26:18 +02:00
Dennis Mannhart 10bd3a50ba PositionControl: parameter subscription declaration 2018-07-20 09:26:18 +02:00
Dennis Mannhart b20bd076a0 FlightTaskAuto: always update type 2018-07-20 09:26:18 +02:00
Dennis Mannhart 7f68417d19 PositionControl: make distinction for throttle minimum depending on mode 2018-07-20 09:26:18 +02:00
Dennis Mannhart 59087afac8 FlightTaskManualStabilized: replace minimum throttle with minum throttle specific for stabilized 2018-07-20 09:26:18 +02:00
Dennis Mannhart 65603d7de7 FlightTaskAutoLine: don't reset during normal operation 2018-07-20 09:26:18 +02:00
Dennis Mannhart 26ca17e329 comment fix 2018-07-20 09:26:18 +02:00
Dennis Mannhart 08a89ccdbb FlightTaskAutoLine: if previous type was idle, set thrust to NAN again to ensure
thrust is not used. Also, if previous was not a loiter or position type, then reset
setpoints to current state. This is needed because during line following, the
previous setpoints are requires and cannot be NAN.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 5f293cceac FlightTaskAutoLine: first activate and then reset 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6da47b4a85 FlightTaskAutoLine: move method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3d034823b0 FlightTaskAutoLine: introduce previous type which used to reset setpoints 2018-07-20 09:26:18 +02:00
Dennis Mannhart a401778038 FlightTask: remove global to local map 2018-07-20 09:26:18 +02:00
Dennis Mannhart 0efbbdc227 FlightTaskAutoLine: replace xy/z setpoints with FlightTask base setpoints 2018-07-20 09:26:18 +02:00
Dennis Mannhart 37bfd8e01a FlightTaskAuto: always update cruise speed 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3083de0979 FlightTaskAuto: typo fix 2018-07-20 09:26:18 +02:00
Dennis Mannhart fbe8a558b2 FlightTaskIndex: add AutoLine 2018-07-20 09:26:18 +02:00
Dennis Mannhart 288ee2362e FlightTaskAuto: remove warning message 2018-07-20 09:26:18 +02:00
Dennis Mannhart f62c3c3b8a FlightTaskAutoLine: simplify logic by setting setpoints directly 2018-07-20 09:26:18 +02:00
Dennis Mannhart 338130a9b4 FlightTaskAuto: simplify logic by just updating waypoints if anything has changed 2018-07-20 09:26:18 +02:00
Dennis Mannhart 171c19c3ca FlightTaskAutoLine: override _reset method 2018-07-20 09:26:18 +02:00
Dennis Mannhart e2347c30f6 FlightTaskAuto: comment fix 2018-07-20 09:26:18 +02:00
Dennis Mannhart 69ea4df45c FlightTaskAuto: pure virtual reset method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2c385e6967 FlightTaskAuto: remove unused include 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3ae07843e9 position control: remove empty space 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9ff4d13c2c mc_pos_control: remove unused method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 75fb1b28b9 mc_pos_control: set thrust to zero if in idle 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1fb8eaf6c6 mavlink_messages: add yawspeed to local position setpoint sent over mavlink 2018-07-20 09:26:18 +02:00
Dennis Mannhart 816f2d12d5 FlightTaskAuto minor clean up 2018-07-20 09:26:18 +02:00
Dennis Mannhart ae0f02f67d ControlMath: by value to reference 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3c40aa0d9c PositionControl: if valid velocity and position setpoint available, always prioritize
velocity setpoint generated from position error over velocity feedforward
2018-07-20 09:26:18 +02:00
Dennis Mannhart 5551021d23 FlightTaskAutoLine: check if yaw_wp is finite 2018-07-20 09:26:18 +02:00
Dennis Mannhart 558a0f892c PositionControl: auto takeoff with constant speed
PositionControl: remove takeoff logic

mc_pos_control: takeoff logic for flighttask

mc_pos_control: smooth takeoff throttle start at 0
2018-07-20 09:26:18 +02:00
Dennis Mannhart 6e62beb560 FlightTaskAuto: abstract class for mapping triplets to quadruple
FlightTaskAuto: add type that corresponds to triplet type

FligthTaskAuto: set all setpoints if invalid in xy

FlightTaskAuto: cast triplet type to WaypointType

FlightTaskAutoLine: class for px4 legacy auto

FlightTaskAutoLine: methods prototype

FlightTaskAuto: change sp to wp (=Waypoint)
add params

FlightTaskAutoLine: follow waypoints along line based on flight state
2018-07-20 09:26:18 +02:00
David Sidrane 89a902524a px_uploader:Revert the rebooting text to have baudrate
Using the port name is platform dependent. It may give not
  provide the correct feedback. The port can be ttyS, or ftdi
  or CDC/ACM. While it is true that buadrate does not matter on
  CDC/ACM. It is better to give more information about what the
  code is doing before filtering by the port name.
2018-07-19 11:23:15 -07:00
Matthias Grob ade70cbbdf cmake px4_base: switch visibility.h back to relative include path (#9981) 2018-07-19 09:49:04 -04:00
mcsauder 4f937a2ff6 Migrate px4io logic into rc.io. 2018-07-19 13:56:03 +02:00
mcsauder bccda56ed3 Re-order hardware specific logic in rc.interface. 2018-07-19 10:35:18 +02:00
mcsauder 6f63553824 Move MNT_MODE_IN / MOUNT_MODE_OUT logic block to rc.interface and move dataman, send_event, and load_mon startup just below uorb and tone_alarm startup in the rcS script. 2018-07-19 10:35:18 +02:00
mcsauder 1fa2a6d26e Continued work to group/condense/consolidate logic in rcS. 2018-07-19 10:35:18 +02:00
DanielePettenuzzo ee9a336d62 add PX4_I2C_BUS_EXPANSION2 support in px4flow driver 2018-07-19 09:31:51 +02:00
vkotaru 96920e0370 AUTOPILOT_HOST address for Raspberrypi2/3 included in posix CMakeLists.txt 2018-07-18 22:31:32 +02:00
Beat Küng 6dda641cc0 omnibus-f4sd defconfig: change USB vendor & product strings to match with the bootloader
This fixes automatic upload. Since ed95dced0f the NuttX string
is used for device detection, but Linux uses the bootloader's USB vendor
and product strings.
So the NuttX strings must match with the ones from the bootloader.
2018-07-18 22:30:45 +02:00
Daniel Agar 3293fe47f9 mavlink submodule update to latest 2018-07-18 05:12:39 -04:00
Martina 24413c6192 mavlink_messages: rename MavlinkStreamTrajectory -> MavlinkStreamTrajectoryRepresentationWaypoints 2018-07-18 05:12:39 -04:00
Martina c9d27b65ef mavlink_main: stream trajetcory_presententation_waypoints instead of trajectory 2018-07-18 05:12:39 -04:00
Martina 02d360c33a update trajectory message to trajectory_representation_waypoint as in mavlink 2018-07-18 05:12:39 -04:00
David Sidrane f12acd7b0f px_uploader:Platform and Timming indepentant Serial detection
The correct determination of Windowed mode is critical to
   maximise the speed on a USB based upload.

   This commit bases the detection of a Serial (FTDI) on the
   fact a CDC ACM port (USB) does not really have a baud rate.
   We bump the baud rate to 233% of the requested baud rate to
   see if the SYNC is acked. If it is Acked it must be a USB
   port and Windowed mode is turned off. This removes unnessary
   baud rate based delays from the proframing logic. If it is a
   real Serial port getSync will not get the ACK and Windowed
   mode is turned on.
2018-07-18 08:11:11 +02:00
Beat Küng c166ea9ed5 sensors: fix potential busy loop when a gyro driver is stopped
When a gyro driver is stopped, the topic is unadvertised and
orb_group_count() returns a smaller count. This can have the effect, that
we poll on a certain gyro fd, but since _gyro.subscription_count is reduced
we never do the orb_copy for that fd.

This cannot happen when armed. And only someone playing with the shell
can trigger it (sensor failures do not have that effect).
2018-07-18 08:10:13 +02:00
Beat Küng 891a09f488 sensors: make sure to do an orb_copy, even if a gyro is disabled
This makes sure that poll() never returns immediately.
accel & mag are only updated to keep the code in sync.
2018-07-18 08:10:13 +02:00
Beat Küng 28d70f5f79 logger: remove unneeded topics from the default set
Should some of these be of interest to someone, we should create a profile.
2018-07-18 08:10:13 +02:00
mcsauder 1d7dbdddca Add pwm failsafe -c argument to rc.interface, reference issue #9775. 2018-07-18 08:05:31 +02:00
mcsauder 71ceb0cfd6 Copy/paste logic in rc.interface to group MIXER and MIXER_AUX logic, alphabetize hardware list in rc.interface, alphabetize set/unset lists in rcS, and add -p argument to pwm failsafe calls per issue #9775. 2018-07-18 08:05:31 +02:00
Daniel Agar 50b5e124d5 cmake fix BUILD_URI 2018-07-17 21:03:27 -04:00
Daniel Agar 8985403c00 FMU relocate MOT_SLEW_MAX and THR_MDL_FAC parameters centrally 2018-07-17 19:59:41 -04:00
Daniel Agar c26ca49f36 PWM parameters centralize under sensors and add aux 7&8 2018-07-17 19:59:41 -04:00
Daniel Agar 24d742ed51 FMU PWM parameters respect instance for MAIN/AUX usage 2018-07-17 19:59:41 -04:00
Julian Oes 11d4c32cd4 px_uploader: fix unknown variables 2018-07-17 07:44:58 -07:00
Julian Oes 8b91a68fea px_uploader: white space PEP8 fixes 2018-07-17 07:44:58 -07:00
mcsauder f9a6c13d55 Group instances of UAVCAN logic into a single block and copy/paste/regroup OUTPUT_MODE logic to form on block of code handling OUTPUT_MODE. 2018-07-17 09:33:50 +02:00
David Sidrane 6f665aee55 board_common:Update description to include paramater. 2018-07-17 08:53:29 +02:00
David Sidrane a7a1607689 fmu & px4io:Use uORB Publish Auto 2018-07-17 08:53:29 +02:00
David Sidrane 33c9459ebe fmu:Use extended board_supports_single_wire APU with UxART 2018-07-17 08:53:29 +02:00
David Sidrane d0d361ef92 sbus:Add comment that turning off the single wire has not effect 2018-07-17 08:53:29 +02:00
David Sidrane ec73e73934 px4fmu-v5:Support board_supports_single_wire query by UxART 2018-07-17 08:53:29 +02:00
David Sidrane ab49b42f1c board_common:Extend board_supports_single_wire API to use UxART_BASE 2018-07-17 08:53:29 +02:00
David Sidrane b6d01c36af px4fmu-v5:Support RX TX swap 2018-07-17 08:53:29 +02:00
David Sidrane 8076b103bc px4fmu-v5:Provide RC_UXART_BASE to use board_common UxART based INVERT_RC_INPUT 2018-07-17 08:53:29 +02:00
David Sidrane 7dfd26cd8f nxphlite-v3:Provide RC_UXART_BASE to use board_common UxART based INVERT_RC_INPUT 2018-07-17 08:53:29 +02:00
David Sidrane f48481fcbd fmu:Use extended rc_io_invert API with UxART 2018-07-17 08:53:29 +02:00
David Sidrane c291566c3e fmu:Remove gpio config on GPIO_SBUS_INV it is done in board_init 2018-07-17 08:53:29 +02:00
David Sidrane 8cc358dff8 px4fmu-v5:extend board_rc_input to pass UxART 2018-07-17 08:53:29 +02:00
David Sidrane bf36d272bf nxphlite-v3:extend board_rc_input to pass UxART 2018-07-17 08:53:29 +02:00
David Sidrane 70a453f148 px4nucleoF767ZI-v1:Provide board_common INVERT_RC_INPUT with GPIO based invert 2018-07-17 08:53:29 +02:00
David Sidrane 28a669a637 px4fmu-v4pro:Provide board_common INVERT_RC_INPUT with GPIO based invert 2018-07-17 08:53:29 +02:00
David Sidrane 05b9b5e533 px4fmu-v4:Provide board_common INVERT_RC_INPUT with GPIO based invert 2018-07-17 08:53:29 +02:00
David Sidrane 407fe692d8 mindpx-v2:Provide board_common INVERT_RC_INPUT with GPIO based invert 2018-07-17 08:53:29 +02:00
David Sidrane 9fc37606fd tap-v1:Use board_common default nop INVERT_RC_INPUT 2018-07-17 08:53:29 +02:00
David Sidrane 3debee9563 aerofc-v1:Use board_common default nop INVERT_RC_INPUT 2018-07-17 08:53:29 +02:00
David Sidrane b08a0d50f8 aerocore2:Use board_common default nop INVERT_RC_INPUT 2018-07-17 08:53:29 +02:00
David Sidrane c57928343c Create INVERT_RC_INPUT default usages 2018-07-17 08:53:29 +02:00
David Sidrane 6f3783221f px4fmu-v5:Enable CONFIG_STM32F7_USART_SINGLEWIRE
FMUv5 has singlewire support
2018-07-17 08:53:29 +02:00
David Sidrane 657af126b0 Update nuttx submodule with USART_SINGLEWIRE support on f7 2018-07-17 08:53:29 +02:00
David Sidrane cba7410e49 fmu:Use board_supports_single_wire when calling sbus_config 2018-07-17 08:53:29 +02:00
David Sidrane 7ea592016e px4fmu-v5:Use board_supports_single_wire
This is a stubbed out version that will rely on the hardware
   manifest moving forward.
2018-07-17 08:53:29 +02:00
David Sidrane 13a972cfe6 px4fmu-v5:Add place holder for hardware manifest 2018-07-17 08:53:29 +02:00
David Sidrane d986c14591 board_common:add board_supports_single_wire API 2018-07-17 08:53:29 +02:00
PX4 Jenkins d390524437 Update submodule sitl_gazebo to latest Mon Jul 16 20:26:32 CDT 2018
- sitl_gazebo in PX4/Firmware (a08fc0c3ff3cfb4bba57035c98b0a7398b0c2a19): https://github.com/PX4/sitl_gazebo/commit/ac54b8fdddd9b21dbe6d59deaf46494864858bc9
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/c1ca87e37b831cd4b64ac642957e701875738909
    - Changes: https://github.com/PX4/sitl_gazebo/compare/ac54b8fdddd9b21dbe6d59deaf46494864858bc9...c1ca87e37b831cd4b64ac642957e701875738909

    c1ca87e 2018-07-16 Elia Tarasov - add support for gazebo version greater or equal 9
eb4494d 2018-07-16 Elia Tarasov - load rotation signs from sdf model file
c00b9ee 2018-07-16 Elia Tarasov - add default constants for rotation signs
36360c5 2018-07-16 Elia Tarasov - add rotation signs to class variables
2018-07-16 22:40:47 -04:00
PX4 Jenkins 35089bf008 Update submodule jMAVSim to latest Mon Jul 16 20:26:26 CDT 2018
- jMAVSim in PX4/Firmware (e2eb84042e): https://github.com/PX4/jMAVSim/commit/e0e8b6ca473a6eecc3ee2984ea414e321f6808c6
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/136e92eb8a0131b63c165d5f32dd74c3a2b28993
    - Changes: https://github.com/PX4/jMAVSim/compare/e0e8b6ca473a6eecc3ee2984ea414e321f6808c6...136e92eb8a0131b63c165d5f32dd74c3a2b28993

    136e92e 2018-07-16 Hamish Willee - Merge pull request #77 from PX4/readme-update-for-blender
78b653e 2018-07-10 alessandro - typo fix
9734edf 2018-06-20 alessandro - Addressing review comments from #77
a197e76 2018-06-19 Alessandro Simovic - readme: added instructions for Blender
2018-07-16 22:40:25 -04:00
mcsauder e2eb84042e Group hardware specific logic in rcS, deprecate the MODE parameter from rcS, and update comments. 2018-07-16 16:43:01 +02:00
Paul Riseborough 4e3f7bdcc6 ekf2: Move range min/max checks to inside the ecl library 2018-07-16 21:59:04 +10:00
Philipp Oettershagen da2fbf60b5 distance sensors: Improve variable naming / description 2018-07-16 21:59:04 +10:00
Philipp Oettershagen 35bde5c9fc LL40LS: Implement driver-specific filtering based on the datasheet and experiments 2018-07-16 21:59:04 +10:00
Beat Küng e1f2360560 gps: remove unused field _baudrate_changed & _mode_changed 2018-07-16 12:18:37 +02:00
Beat Küng 4d71686ac6 gps: add GPS_YAW_OFFSET param & properly initialize _baudrate 2018-07-16 12:18:37 +02:00
Beat Küng a947ad2506 gps: remove unused code & fix _mode_auto initialization 2018-07-16 12:18:37 +02:00
Beat Küng 43c2970fb9 vehicle_gps_position: add heading field 2018-07-16 12:18:37 +02:00
Beat Küng a8463a5226 gpssim: cleanup (remove unused fields) 2018-07-16 12:18:37 +02:00
Beat Küng 5ae1c658a9 Revert "Add heading to true north to GPS report"
This reverts commit 89e49166fa.
2018-07-16 12:18:37 +02:00
Daniel Agar 50ae8c9c6f airspeed.msg update incorrect comments 2018-07-16 01:09:19 -04:00
Daniel Agar 3b580514ae delete unused airspeed.true_airspeed_unfiltered_m_s 2018-07-16 01:09:19 -04:00
Daniel Agar 9a4de09325 sensors remove airspeed negative check 2018-07-16 01:09:19 -04:00
Philipp Oettershagen 79f172eb92 Navigator: Fix fixed-wing first order altitude hold (#9850)
i.e. the altitude reference oscillations caused by it in LOITER mode
2018-07-15 23:54:08 -04:00
Roman Bapst ee85a29202 Pr opt flow (#482)
* optical flow: fixed calculation of velocity of the flow sensor relative to
the IMU

- gyroXYZ holds a delta angle and first needs to converted to a gyro rate

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

* optical flow: calculate height above the ground with respect to the flow
camera
- the flow camera can be offset from the IMU which needs to be considered

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

* estimator interface: fixed comment regarding optical flow sample timestamp

- the timestamp on an optical flow sample corresponds to the trailing
edge of the flow integration period

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-16 11:41:35 +10:00
Daniel Agar c141081d47 sitl_gazebo update to latest with baro noise fix 2018-07-15 21:12:27 -04:00
johannes 62ea0b6ddb ecl-ekf tools: fix division by zero warning by dividing by epsilon 2018-07-15 21:12:27 -04:00
johannes 45483f8cc3 ecl ekf tools: print check failures and warnings (for IMU) to stdout 2018-07-15 21:12:27 -04:00
johannes 78d8061aaf ecl-ekf tools: set exit code to -1 for failed analysis, pipe args
- process_log_data: exit with code -1 if whole system analysis fails
- batch_process_logdata and process_log_data: pipe sensor safety
margin argument to the arguments of the superseeding scripts
- reduce minimum flight length for analysis to 50 samples
2018-07-15 21:12:27 -04:00
Daniel Agar effeae93cc GPS initialize all class members in definition 2018-07-15 20:34:31 +02:00
Daniel Agar 94dd6abd9f GPS organize status print 2018-07-15 20:34:31 +02:00
Lorenz Meier ff626a19f6 GPS driver: Initialize heading field for all drivers, reduce UBX hold-off time for config reset. 2018-07-15 20:34:31 +02:00
Lorenz Meier e2333d7d5c GPS driver: Keep stack to required size for app boot 2018-07-15 20:34:31 +02:00
Lorenz Meier b3b83afa6a GPS: Update device driver 2018-07-15 20:34:31 +02:00
Lorenz Meier 5dd981a7be GPS driver: Initialize baud rate and improve output 2018-07-15 20:34:31 +02:00
Lorenz Meier 16dd82ab60 Update GPS driver submodule 2018-07-15 20:34:31 +02:00
Lorenz Meier 493a84638d GPS driver: Add RTCM parsing 2018-07-15 20:34:31 +02:00
Lorenz Meier 89e49166fa Add heading to true north to GPS report
This is used by multi-antenna RTK systems.
2018-07-15 20:34:31 +02:00
Lorenz Meier 2931b85f0e GPS: Add support for RTK GPS units
This includes the Trimble MB-TWO and similar devices. Tested including GPX streams.
2018-07-15 20:34:31 +02:00
Daniel Agar c199ca5193 msg generated print support boolean 2018-07-15 20:33:16 +02:00
Daniel Agar bb49ac1933 gitignore remove obsolete 2018-07-15 17:59:07 +02:00
Daniel Agar 45daa8d091 gitignore gdb history 2018-07-15 17:59:07 +02:00
Lorenz Meier 57c7e1a3eb Uploader: Ensure that we are not entering windowed mode on USB links 2018-07-15 16:15:21 +02:00
TSC21 ceae2f8896 update sitl_gazebo submodule 2018-07-13 20:58:44 +02:00
David Sidrane 05936f2ff7 px_uploader.py:Speed Improvments on Serial
The __getSync was costing about 16Ms per call.
  The commit uses a window based approch allowing
  the SYNC,<results> to be read all at one time.
  and delaying for programing based on transport
  time + 1 Ms;
  THe improvment at 2Mbps is >4 minutes to ~37
  seconds
2018-07-13 17:29:31 +02:00
Daniel Agar 0c0b761c87 mavlink update POSITION_TARGET_GLOBAL_INT publish
- publish continuously in position control mode when there's a valid
   setpoint
 - optionally fill in the velocity and acceleration setpoints when
   available
 - fixes #9841
2018-07-13 15:30:25 +02:00
Daniel Agar 1ea63e4955 mavlink MOUNT_ORIENTATION use math::degrees 2018-07-13 15:30:06 +02:00
Daniel Agar f26c3ac014 mavlink properly wrap heading fields
- fixes #9867
2018-07-13 15:30:06 +02:00
Beat Küng 5e3e486527 px4_posix.h: avoid defining PX4_F_RDONLY as O_RDONLY
- There is an assumption un uORB that PX4_F_RDONLY is not 0.
- But O_RDONLY is 0 on Linux. orb_exists passes 0 to px4_open, which in
  uORB::DeviceNode::open leads to an unnecessary allocation of
  SubscriberData()
- PX4_F_RDONLY is only used in combination with px4_open, never with open()

However even if it was wrong/unexpected, it did not cause any problems,
just the unnecessary allocation.
2018-07-13 11:30:23 +02:00
mcsauder ab788ceba7 Update sd card logic statment and comment. 2018-07-13 11:02:26 +02:00
mcsauder f2970071a7 Acronym correction. 2018-07-13 11:02:26 +02:00
mcsauder 2512f6e30e Format and comment fw, mc, vtol, and ugv vehicle apps and default startup scripts. 2018-07-13 11:02:26 +02:00
Daniel Agar 8537863848 delete sdlog2 2018-07-13 09:02:59 +02:00
Nuno Marques 83fd5a5fd1 Update micro-CDR to latest and fix API usage (#9651)
* uorb_microcdr: msg.cpp.template: update API for how the buffer length is obtained
* micrortps_bridge: CMakeLists: temporarily deactivate check endianness option
2018-07-12 18:04:15 -04:00
Mark Sauder 72de9a901d Move additional logic block to rc.vehicle_setup, add rc.vehicle_setup to init.d/CMakeLists.txt, and relocate sd card logic block higher up in rcS. (#9896) 2018-07-12 16:45:19 -04:00
Martina 84d22fe0c6 logger: trajectory_waypoint -> vehicle_trajectory_waypoint 2018-07-12 16:36:11 -04:00
Martina e7cf2c5675 remove unused trajectory_bezier message 2018-07-12 16:36:11 -04:00
Martina 5cd0da95cc mc_pos_control_params: add type boolean to MPC_OBS_AVOID parameter 2018-07-12 16:36:11 -04:00
Martina 064a6dd2fd mc_pos_control: fix rebase mistake 2018-07-12 16:36:11 -04:00
Martina d6ea735b18 make format 2018-07-12 16:36:11 -04:00
Martina 492e40a139 mc_pos_control: enable obstacle avoidance only in mission and rtl 2018-07-12 16:36:11 -04:00
Martina f42095af8f mavlink_messages: refactor to use vehicle_trajectory_waypoint instead of trajectory_waypoint message 2018-07-12 16:36:11 -04:00
Martina da2df5708b mc_pos_control: refactor to use vehicle_trajectory_waypoint 2018-07-12 16:36:11 -04:00
Martina 2a40d001de mavlink_receiver: refatcor to use vehicle_trajectory_waypoint 2018-07-12 16:36:11 -04:00
Martina 00bc70a49c trajectory_waypoint: refactor to contain information about one of the 5
points of the trajectory
2018-07-12 16:36:11 -04:00
Martina c15f2e45d6 add vehicle_trajectory_waypoint message 2018-07-12 16:36:11 -04:00
Martina 53a528b01b nuttx_omnibus-f4sd_default: disable bl_update, wind_estimator, gnd_att_control, gnd_pos_control to save flash 2018-07-12 16:36:11 -04:00
Martina f3a7886fbf trajectory_bezier: remove yaw_speed define 2018-07-12 16:36:11 -04:00
Martina 87cd110044 mavlink_receiver: make format 2018-07-12 16:36:11 -04:00
Martina 33b1b13432 mc_pos_control: replace define with parameter to enable/disable obstacle
avoidance
2018-07-12 16:36:11 -04:00
Martina 6cceca6fe5 mc_pos_control_params: add parameter to enable and disable obstacle
avoidance
2018-07-12 16:36:11 -04:00
Martina 8662c71d82 logger: enable trajectory_waypoint and trajectory_waypoint_desired logging 2018-07-12 16:36:11 -04:00
Martina c9fcc6b7d5 trajectory_waypoint: add comment to explain the use of the two topics
trajectory_waypoint and trajectory_waypoint_desired
2018-07-12 16:36:11 -04:00
Martina 1144b66a70 mc_pos_control: temporary solution to enable and disable the execution of
obstacle avoidance waypoints
2018-07-12 16:36:11 -04:00
Martina c5d62b5524 mc_pos_control: use local frame position setpoint from triplets calculated
in the pos_control and not coming from navigator. Refactor method
update_avoidance_waypoint_desired since all waypoints have the same type
2018-07-12 16:36:11 -04:00
Martina 26ca09f824 mc_pos_control: fix typo 2018-07-12 16:36:11 -04:00
Martina 35cf00dd5e trajectory message: change sp to wp 2018-07-12 16:36:11 -04:00
Martina 59c7fc5d96 mc_pos_control: use one method to wrap yaw speed instead of triplicate
code
2018-07-12 16:36:11 -04:00
Martina 8b20c66cfc mc_pos_control: use desired velocity to calculate vel_sp_along_track_prev
if obstacle avoidance is running
2018-07-12 16:36:11 -04:00
Martina d39b969e72 mc_pos_control: refactor the update of the desired waypoints for avoidance
to eliminate duplicated code
2018-07-12 16:36:11 -04:00
Martina 9bdc9aada2 mc_pos_control: use defines for point size and number of points in
trajectory_waypoint
2018-07-12 16:36:11 -04:00
Martina c84e651edd trajectory_waypoint: add defines for point size and number of points 2018-07-12 16:36:11 -04:00
Martina a11c6235fe mc_pos_control: uses consistent naming for desired waypoints 2018-07-12 16:36:11 -04:00
Martina 272d7ca4cd mc_pos_control: use consistent naming for position waypoints 2018-07-12 16:36:11 -04:00
Martina 3fa094cb6b mc_pos_control: use same notation for velocity waypoints 2018-07-12 16:36:11 -04:00
Martina 6e7f1d249e bezier: fix index description 2018-07-12 16:36:11 -04:00
Martina 31d675fd95 mc_pos_control: add interface to send desired position and velocity
waypoint to the obstacle avoidance module
2018-07-12 16:36:11 -04:00
Martina b33a708215 mc_pos_control: add vel_sp_desired to send desired velocity to the
obstacle avoidance
2018-07-12 16:36:11 -04:00
Martina 47f2db67b6 mc_pos_control: execute yaw or yaw speed of the obstacle avoidance
waypoint
2018-07-12 16:36:11 -04:00
Martina df19610e69 mc_pos_control: add execution of position waypoint coming from the
obstacle avoidance
2018-07-12 16:36:11 -04:00
Martina 5d6771753d mc_pos_control: add execution of velocity waypoint coming from the
obstacle avoidance module
2018-07-12 16:36:11 -04:00
Martina f511d3a399 mc_pos_control: add method to constrain velocity setpoint 2018-07-12 16:36:11 -04:00
Martina 14444af38c mc_pos_control: subscribe to trajectory_waypoint message 2018-07-12 16:36:11 -04:00
Martina f3ce7be1e3 mavlink_messages: stream TRAJECTORY mavlink message with data from
uORB trajectory_waypoint as input path to a obstacle avoidance node
2018-07-12 16:36:11 -04:00
Martina 5ef26dd862 mavlink_receiver: decode mavlink message TRAJECTORY in uORB msgs
trajectory_waypoint or trajectory_bezier depending on the mav trajectory
representation type
2018-07-12 16:36:11 -04:00
Martina e59a29197e replace obstacle_avoidance message with trajectory_waypoint and trajectory_bezier 2018-07-12 16:36:11 -04:00
ChristophTobler 82e0547f6e add first draft of the avoidance msg 2018-07-12 16:36:11 -04:00
Beat Küng e1a7472738 MavlinkOrbSubscription::update: improve performance & fix corner case
- reorders operations, such that the most expensive one (orb_copy) is done
  only when really needed.
- corner case: when the topic was not advertised yet, orb_stat() would fail
  and then update() was called, which succeeds for the first advertisement.
  In that case the timestamp was incorrectly set to 0 and true was
  returned.
  The next call would again return true, because the timestamp was updated,
  but the topic data was still the same.

Reduces CPU load by ~2% on a Pixracer.
2018-07-12 21:31:38 +02:00
Beat Küng 060b130128 mavlink: add optional disable_sharing flag to add_orb_subscription
This is a more generic solution for 532a97041, and also enables it for
vehicle_command_ack's.

In addition it avoids using a timestamp for subscription update checking,
because it does not work well together with orb queuing.
2018-07-12 21:31:38 +02:00
Mark Sauder bb86c5f200 Breakout rc.vehicle_setup from rcS. (#9892) 2018-07-12 14:50:47 -04:00
Paul Riseborough 4d59c834eb EKF: Consolidate range finder checking
This brings all the range finder data checks (excluding innovation consistency checks) into one place and eliminates the need to perform range checking external to the library.
The hard coded optical flow tilt limit is changed to use the same value as the range finder.
Variable names are changed to make a clear distinction between the max/min values calculated by the stuck range check and the max/min valid values for the sensor.
2018-07-12 18:20:50 +02:00
Daniel Agar 21cc34befb GPS driver increase stack 2018-07-12 08:12:05 +02:00
mcsauder e12acc4b28 Migrate hardware specific mavlink stream cases to rc.mavlink. 2018-07-12 08:10:59 +02:00
Kabir Mohammed e1661a92c3 EKF : allow init without external vision measurements (#464) 2018-07-12 11:36:47 +10:00
Paul Riseborough a0ed08967e EKF: Add missing range validity check 2018-07-11 14:53:37 +02:00
mcsauder 8b71bb4562 Breakout rc.mavlink from rcS script. 2018-07-11 09:38:58 +02:00
Thomas Stastny 8a7919bcb6 fw att+pos ctrl: use enum for flaps configs 2018-07-11 08:08:13 +02:00
Thomas Stastny 0c3399433d fw att+pos ctrl: add takeoff flaps setting 2018-07-11 08:08:13 +02:00
Beat Küng 3f0a398a25 Omnibus F4 SD: fix UART4
- do not configure RSSI GPIO pin
- disable serial console on UART4
2018-07-10 19:39:50 +02:00
Beat Küng 93da0416fa frsky_telemetry: add a '-m <mode>' CLI param
Can be used to avoid auto-detection.

Strangely on the Omnibus via UART4, the auto-detection for single-wire
S.Port did not work when connecting via battery (it works via USB) -
S.Port got detected instead.
Might be a board-specific issue.
2018-07-10 19:39:50 +02:00
mcsauder 9386ab6afe Breakout rc.thermal_cal from rcS and group set/unset parameters at the beginning and end of the rcS script. Revert commit 2a3d66cf45 to reduce px4fmu-v2_default flash size. Standardize tabs/whitespaces across all files in the init.d directory. 2018-07-10 08:59:38 -04:00
Daniel Agar 33f7318400 Jenkins archive av_x binaries 2018-07-09 03:29:20 -04:00
mcsauder cf7dd383b1 Update ADC voltage calculation instances to avoid divide by integer. 2018-07-09 07:51:15 +02:00
Daniel Agar 850b1ad6a7 EKF2 split output predictor and publish attitude immediately (#9832)
* EKF2 split output predictor and publish attitude immediately

* ecl: incorporate magic number tidy up
2018-07-09 08:11:24 +10:00
Beat Küng 58c8c50174 frsky_telemetry: add scanning timeout parameter, and set it to 15s
This frees unused RAM in case frsky telemetry is not connected.
2018-07-08 23:24:17 +02:00
Beat Küng f3292c7741 frsky_telemetry: add S.Port single-wire support
If S.Port is connected via external inverter or an uninverted signal is
used, the UART needs to be put into half-duplex mode.

This can be used to get uninverted S.Port:
https://oscarliang.com/uninverted-sbus-smart-port-frsky-receivers/

It is not needed for the Pixracer FrSky port.
2018-07-08 23:24:17 +02:00
Beat Küng 1feccfcc81 frsky_telemetry: increase stack size by 52 bytes
As indicated in previous logs (268 bytes left).
2018-07-08 23:24:17 +02:00
Beat Küng 898eb95623 frsky_telemetry cleanup: remove err, use px4_getopt 2018-07-08 23:24:17 +02:00
Lorenz Meier 84770f195d Create PULL_REQUEST_TEMPLATE.md 2018-07-08 23:19:24 +02:00
Daniel Agar e4be8eccc9 bmi055 add measure interval perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar 0da8125ac0 bmi055 remove unused reset retries perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar adf6ea3596 bmi055 remove unused gyro duplicates perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar 734fc1bf8d bmi055 remove cdev read (gyro_reads) perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar 7bc364207e bmi055 remove cdev read (accel_reads) perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar cd07e756b9 bmi055 name separate accel and gyro perf counters properly 2018-07-08 20:14:34 +02:00
Daniel Agar b6399dbdf0 bmi055 remove common good_transfers perf counter 2018-07-08 20:14:34 +02:00
Daniel Agar eef325e2af bmi055 split accel and gyro headers 2018-07-08 20:14:34 +02:00
Daniel Agar 4c5ace9b75 mpu6000 add interval perf counter and delete unused 2018-07-08 20:14:34 +02:00
Daniel Agar 13c2c8c89b ADIS16477 use checksum to verify transfer and populate gyro device id 2018-07-08 10:18:13 -04:00
Daniel Agar 4e4724f9eb add ST LSM303AGR driver (mag only) 2018-07-08 10:18:13 -04:00
Daniel Agar 74c20a0fd5 ADIS16477 reset on init and increase delay 2018-07-08 10:18:13 -04:00
Daniel Agar 00c34d8a2b AV-X board support 2018-07-08 10:18:13 -04:00
Daniel Agar dec03873bc px_uploader add small delay before checking CRC result 2018-07-07 15:55:53 +02:00
Daniel Agar 8647f0e527 px4fmu-v2 disable teraranger distance sensor 2018-07-06 16:17:33 +02:00
Daniel Agar 13ecc71fe2 px4fmu-v2 disable tfmini distance sensor 2018-07-06 16:17:33 +02:00
Daniel Agar 29d1226c70 px4fmu-v2 only enable ms4525, ms5525, sd3px airspeed sensors 2018-07-06 16:17:33 +02:00
Daniel Agar 4e77f8c783 px4fmu-v2_default sort driver list 2018-07-06 16:17:33 +02:00
Oleg Kalachev 532a970410 mavlink: fix transmitting vehicle commands 2018-07-05 22:38:02 +02:00
Daniel Agar 9fa882119d fw_pos_ctrl_l1 remove unnecessary orb rate limits 2018-07-05 12:16:44 -04:00
Beat Küng ec137489be px4flow: add documentation for i2c_frame and i2c_integral_frame 2018-07-05 15:23:47 +00:00
Beat Küng 3aa1721450 px4flow: refactor f and f_integral into a class attribute 2018-07-05 15:23:47 +00:00
alessandro 51ee9eaaf4 typo 2018-07-05 14:17:55 +02:00
Alessandro Simovic 11933ac239 rc_loss_alarm: removed unused var 2018-07-05 14:17:55 +02:00
Alessandro Simovic 155089c800 Addressed review comments from #9769 2018-07-05 14:17:55 +02:00
Alessandro Simovic df257c6555 Added parameters for enabling/disabling specific event tasks 2018-07-05 14:17:55 +02:00
Alessandro Simovic 1982957bef Added/moved namespaces in events module 2018-07-05 14:17:55 +02:00
Alessandro Simovic c684275018 moved rc_loss_alarm into the event module 2018-07-05 14:17:55 +02:00
Alessandro Simovic 9a4b26cd32 rc_loss_alarm: addressing review comments (#9769) 2018-07-05 14:17:55 +02:00
Alessandro Simovic 701d87912e rc_loss_alarm: replaced hard with soft tabs 2018-07-05 14:17:55 +02:00
Alessandro Simovic 6fa80d2034 rc_loss_alarm: require RC be seen at least once 2018-07-05 14:17:55 +02:00
Alessandro Simovic 96a0594078 rc_loss_alarm: formatting 2018-07-05 14:17:55 +02:00
Alessandro Simovic 0f2c710237 rc_loss_alarm: hiding all but default constructor 2018-07-05 14:17:55 +02:00
Alessandro Simovic d2b9197587 rc_loss_alarm: sorting function definitions 2018-07-05 14:17:55 +02:00
Alessandro Simovic c8ff5f09d4 rc_loss_alarm: Added some custom commands 2018-07-05 14:17:55 +02:00
Alessandro Simovic c0db004294 rc_loss_alarm: Added basic functionality 2018-07-05 14:17:55 +02:00
Daniel Agar 278e4cef84 uORB fix ORB_COMMUNICATOR defined sections
- keep portions of internal add/remove helpers
2018-07-05 07:03:27 +00:00
Bram Strack van Schijndel 05fc506a56 [df_ms5607_wrapper] convert to mbar, fix error_count, device_id 2018-07-05 08:07:54 +02:00
Daniel Agar 41953ab582 EKF angle constants in degrees for readability (#465)
* EKF angle constants in degrees for readability

* EKF make FILTER_UPDATE_PERIOD_MS static constexpr and add FILTER_UPDATE_PERIOD_S

* EKF controlOpticalFlowFusion() use constants and update comments

* EKF controlMagFusion() use angle in degrees

* EKF move earth spin rate to geo and update usage

* EKF: Fix numerical constant error and clean up comments

Comments do not need to contain numerical values when the code makes these clear.
2018-07-05 08:55:22 +10:00
Daniel Agar cebdc3d829 ekf run output predictor immediately with new IMU data (#471)
* EKF collect_imu take const imu sample and populate buffer

* EKF calculateOutputStates cleanup

* EKF add calculate_quaternion output predictor method

* EKF: update documentation

* EKF: remove unnecessary getter function

* EKF calculateOutputStates only apply dt correction to bias

* EKF pytest assert attitude validity, not update() return

* EKF: correct documentation

* EKF: Do not make attitude validity dependent on yaw alignment status

Yaw alignment could fail in flight due to temporary loss of data and yet the quaternions would still usable for stabilisation even though the absolute earth yaw angle wrt true north was uncertain.
2018-07-05 07:59:35 +10:00
DanielePettenuzzo 5cb6753572 i2c.h: include board_config 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 84f937a098 airspeed sensor: use bus_option array from i2c.h instead of one in each driver 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 6cb17839ee distance sensors: remove bus_option array and add it to i2c.h header 2018-07-03 17:33:18 +02:00
DanielePettenuzzo e15d390f65 rc.sensors: fix 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 0cc5a41bb8 rc.sensors: start all i2c distance sensor with -a flag 2018-07-03 17:33:18 +02:00
DanielePettenuzzo c13d69a610 distance sensor drivers: change all open and close to px4_open and px4_close 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 8f4e9228bf mb12xx driver: add -b and -a flags to choose i2c busses and remove nuttx stuff such as exit functions 2018-07-03 17:33:18 +02:00
DanielePettenuzzo fed6c9ae34 srf02 driver: add -b and -a flags to choose i2c busses and remove nuttx stuff such as exit functions 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 5b259a008a vl53lxx driver: add -b, -a and -R flags to choose i2c busses and sensor rotation and remove nuttx stuff such as exit functions 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 040662ff04 sf1xx driver: add -b and -a flags to choose i2c busses and remove nuttx stuff such as exit functions 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 7d281b2619 teraranger driver: add -b and -a flags to choose i2c busses and remove nuttx stuff such as exit functions 2018-07-03 17:33:18 +02:00
Roman 9d1fa8cee2 esc_calibration: adjust timeout when waiting for user to connect battery
to 20 seconds

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 07:05:38 +00:00
Roman 5d87eed41c esc_calibration: use hrt_elapsed_time instead of manually calculating the diff
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 07:05:38 +00:00
Roman 73577df994 esc_calibration: use batter status connected flag instead of checking voltage
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 07:05:38 +00:00
Roman beb8c3e152 esc_calibration: use predefined literals
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 07:05:38 +00:00
Roman 8b629454de esc_calibration: increase safety and initialise all data
- do not do calibration if not very sure that battery is not connected
- initialise all structs and variables

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 07:05:38 +00:00
Roman e1117d175b ROMFS: updated deltaquad autoconfig params
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 08:53:30 +02:00
Hamish Willee 4a45d79f52 Delete STM32F4Discovery support/link 2018-07-03 07:21:46 +02:00
Lorenz Meier c8ce120c92 PX4 Flow: modernize output and replace warnx() with PX4_INFO/WARN 2018-07-02 21:44:29 +00:00
Hamish Willee 7402d8223b Fix up references to pixhawk.org 2018-07-02 13:11:15 +02:00
Roman 863cd52714 ROMFS: fixed some naming inconsistencies for the HITL VTOL model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 220068acb6 ROMFS: use more appropriate autostart ID for standard vtol hitl
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman d70e90f174 ROMFS: remove unnecessary params from hitl vtol config
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman b37ff23708 ROMFS: indicate that the hitl vtol config is for the gazebo standard vtol model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 1dea998be5 ROMFS: clean up quad x tailsitter mixer files
- use mixer for the simulation to the sitl mixer dir
- do not use virtual elevator in the mixer for the real vehicle

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 484a939779 added MAV_TYPE to standard vtol hitl config
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 9546daadea ROMFS: added autostart and mixer file for standard vtol in hitl
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Daniel Agar fb3e3b1cad uORB::DeviceNode initialize _publisher 2018-07-01 16:30:31 -04:00
Daniel Agar 8599495082 uORB add ORB_COMMUNICATOR define to enable remote uORB 2018-07-01 16:03:03 +00:00
Philipp Oettershagen 6579b7254a Change TECS max sink rate minimum value, because very fragile aircraft might not be able to sustain higher max sink rates 2018-07-01 10:42:27 -04:00
Philipp Oettershagen a76c4c55d4 Decrease default flare altitude. The previous value was way too high for any small aircraft. It was also unsafe because after the flar, pitch is currently controlled open-loop, which means that stall can potentially happen during the flare 2018-07-01 10:42:27 -04:00
Philipp Oettershagen 8f09a20478 Update TECS integrator gain parameter description to represent the changes in https://github.com/PX4/ecl/commit/ccfba4997147658d8340f7efa351c19299120704 2018-07-01 10:42:27 -04:00
Daniel Agar 9ce83f2208 fix all sign-compare warnings 2018-07-01 09:36:55 +00:00
Daniel Agar cf74166801 double promotion warning fix or ignore per module 2018-07-01 09:36:55 +00:00
Daniel Agar 11d348ec4f microbench split into hrt, math, matrix, uorb 2018-07-01 09:25:22 +00:00
Daniel Agar ea0a80d4d1 microbench add uorb and matrix test 2018-07-01 09:25:22 +00:00
Daniel Agar 3ba97297d5 tests simple timing microbenchmark 2018-07-01 09:25:22 +00:00
Daniel Agar 02d4405a62 c++11 default destructors 2018-06-30 19:55:08 -04:00
Daniel Agar c39ac93ca8 device integrator cleanup initialization 2018-06-30 19:55:08 -04:00
Daniel Agar 33a71c929d Update submodule mavlink v2.0 to latest Fri Jun 29 21:33:36 EDT 2018 (#9814)
- mavlink v2.0 in PX4/Firmware (16d67ed179): https://github.com/mavlink/c_library_v2/commit/f5c0ba684659fbc6c6c5f8777bd30e0b3c32fdef
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e550f4124bc331848aad3d691b27ec941a94c1e5
    - Changes: https://github.com/mavlink/c_library_v2/compare/f5c0ba684659fbc6c6c5f8777bd30e0b3c32fdef...e550f4124bc331848aad3d691b27ec941a94c1e5

    e550f41 2018-06-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/9e9398d5d1d8d1eab689086b73b1258b595969bb
4fae56b 2018-06-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/174fc3aad7ce26be66979051261bfd1e5e2dde1e
2018-06-30 19:47:00 -04:00
Daniel Agar 114ae4116a geo get_bearing_to_next_waypoint() small optimization 2018-06-30 21:30:35 +00:00
Daniel Agar aaaf67f9c3 cmake don't automatically enable ccache if already enabled 2018-06-30 19:59:00 +00:00
Daniel Agar 73f825e4b3 cmake toolchain enable double fpu for cortex-m7 2018-06-30 19:57:51 +00:00
Daniel Agar b26c2d62b8 geo get_distance_to_arc remove double promotion 2018-06-30 10:09:10 -04:00
Giovanni Carbone 16d67ed179 frsky_telemetry improved com port init (fix #9783), minor refactor (#9798)
* frsky_telemetry added support for hw flow control com port and minor improvements

* DTYPE tested OK. Return 0 for unix compatibility, whitespace removed. Full test start - status- stop - start -status OK
2018-06-29 21:41:53 +00:00
acfloria 17df184953 Fix sending first High Latency message 2018-06-29 16:49:30 +00:00
acfloria ca1f7a4a19 Reenable the MissionManager for the Iridium mavlink instance
The MissionManager handles the MAVLINK_MSG_ID_MISSION_SET_CURRENT command which should also be supported for SatCom.
2018-06-29 16:49:30 +00:00
acfloria 8825bbed29 Increase the stack size for the IridiumSBD driver 2018-06-29 16:49:30 +00:00
Paul Riseborough a04468ba9f ekf2: Fix EKF preflight check fail false positives
Uses a relaxed yaw innovation check threshold for fixed wing vehicle that can recover from larger yaw errors after takeoff.
Replaces the peak hold with decay filtering applied to the magnetic yaw innovations with a conventional lowpass filter. This prevents mag heading innovation transients caused by preflight handling from failing the check, but catches persistent errors. Sign swapping of innovations due to angle wrapping is not a problem due to the way that innovations are calculated inside the EKF, so a simple LPF sufficient.
2018-06-29 16:36:38 +00:00
Julian Oes 6ff9fd2209 calibration: remove warning message
The calibration warning was only used in the ESC calibration and in all
cases it actually meant that the calibration failed. In order to keep
the API as small as possible, I've deprecated the warning string and
converted the warning messages to failed messages.
2018-06-29 16:07:32 +00:00
Philipp Oettershagen b3959fab2f TECS: Do not even calculate integrator state if integrator gain is zero 2018-06-29 15:55:46 +00:00
Philipp Oettershagen ccfba49971 TECS: Set the integrator output to zero if the gain is zero. Otherwise (e.g. after a climbout) it can happen that the integrator stays at a large constant value and thus distrubs the control loop 2018-06-29 15:55:46 +00:00
Florian Achermann 02116c0a80 mavlink: Indicate if the instance did not start correctly (#9744) 2018-06-29 10:11:27 -04:00
Thomas Stastny 8551d2eb9d mission feasibility: add small tolerance to fw landing slope alt 2018-06-29 12:10:53 +00:00
Julian Oes 193993c54f px_uploader: fix typo and Python 3 issue 2018-06-29 08:46:45 +00:00
Julian Oes b0ec64efe8 px_uploader: fixed a couple small PEP8 warnings 2018-06-29 08:46:45 +00:00
Julian Oes 48edf9b65e px_uploader: remove commented out line 2018-06-29 08:46:45 +00:00
Mark Sauder d3c169b1e0 Fix whitespaces in PreflightCheck.cpp, tilt_quad.aux.mix, and tilt_quad.main.mix 2018-06-28 20:20:32 -04:00
Julian Oes 4e43cc3518 px_uploader.py fix flashing issue (#9792)
This fixes a problem where the pyserial write call gets stuck.
It happens on a specific Fedora 28 system with internal USB ports as
well as USB hubs.
It is not clear why the problem is resolved but it is clearly
reproducible that with a timeout of 0, the write can get stuck and with
a timeout > 0 it works every time.

The exception added as part of this commit makes sense but has never
been triggered in my testing.
2018-06-28 20:18:22 -04:00
Daniel Agar 96f47d4772 EKF2 add perf counters (#9795) 2018-06-28 17:28:03 -04:00
Daniel Agar 7efdec1469 cmake nuttx skip upload helper without cdcacm 2018-06-28 19:35:36 +00:00
Daniel Agar ed95dced0f cmake nuttx upload use vendor and product string 2018-06-28 19:35:36 +00:00
Daniel Agar e78b9a063f px_uploader cleanup status messages and print used percentage 2018-06-28 19:35:36 +00:00
MaEtUgR 6a06417096 rpi_rc_in: replace chinese comments with english ones 2018-06-28 15:33:24 +02:00
PX4 Jenkins dee5635f79 Update submodule sitl_gazebo to latest Wed Jun 27 21:26:29 EDT 2018
- sitl_gazebo in PX4/Firmware (18abeb1118): https://github.com/PX4/sitl_gazebo/commit/3c7d18d0a52657106a3a7190c54006ed6b442071
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/fcee53fc4c6ef734204fd74eeed2db5b767027ad
    - Changes: https://github.com/PX4/sitl_gazebo/compare/3c7d18d0a52657106a3a7190c54006ed6b442071...fcee53fc4c6ef734204fd74eeed2db5b767027ad

    fcee53f 2018-06-22 TSC21 - vision: by default, do not send ODOMETRY Mavlink msgs
2018-06-28 07:11:10 +00:00
PX4 Jenkins 18abeb1118 PX4-NuttX/nuttx branch test: px4_firmware_nuttx-7.22+
NuttX:
 - https://github.com/PX4-NuttX/nuttx/tree/px4_firmware_nuttx-7.22+
 - https://github.com/PX4-NuttX/nuttx/commit/d5c12b24fa5349791220ce44a46b96f345ec77c1

Changes from PX4-NuttX/nuttx (https://github.com/PX4-NuttX/nuttx/commit/f57752b6f16f54bd50188024475657c6a7a1604c) in current PX4/master (bb8e653469)
https://github.com/PX4-NuttX/nuttx/compare/f57752b6f16f54bd50188024475657c6a7a1604c...d5c12b24fa5349791220ce44a46b96f345ec77c1

d5c12b2 (HEAD, origin/px4_firmware_nuttx-7.22+, origin/HEAD, px4_firmware_nuttx-7.22+) [BACKPORT] stm32f7:I2C reset Configure I2C pins as GPIO output

Apps:
 - https://github.com/PX4-NuttX/apps/tree/px4_firmware_nuttx-7.22+
 - https://github.com/PX4-NuttX/apps/commit/36806ba3d84c0fa07ed86857d4c92a997b7cd194

Changes from PX4-NuttX/apps (https://github.com/PX4-NuttX/apps/commit/36806ba3d84c0fa07ed86857d4c92a997b7cd194) in current PX4/master (bb8e653469)
https://github.com/PX4-NuttX/apps/compare/36806ba3d84c0fa07ed86857d4c92a997b7cd194...36806ba3d84c0fa07ed86857d4c92a997b7cd194
2018-06-27 20:21:02 -04:00
Beat Küng bb8e653469 mc_att_control: keep integral enabled based on land detector
Previously the rate controller disabled updating the integral below 20%
throttle. This is not ideal for several reasons:
- some racers already hover with 20% throttle.
- for acro it is important to always keep the integral enabled, it has a
  noticeable effect on flight performance.
2018-06-27 09:11:23 +00:00
Beat Küng bf1c11a33c commander: move comment to the right place
It's now the same way as in the ARM logic further down.
2018-06-27 10:41:21 +02:00
Beat Küng 02fc68a53e commander arming: disable stick (dis-)arming when arming switch/button is used
A reason for using switch arming in the first place is that you cannot
accidentally disarm in-air with the sticks during acrobatic flights.

It also adds a low-throttle arming requirement for switch arming.
2018-06-27 10:41:21 +02:00
Beat Küng db2b010630 commander arming: add a grace period of 5 seconds to allow re-arming w/o preflight checks
This changes the arming logic such that the preflight checks don't need
to be satisfied if arming happens < 5 seconds after the last disarming.
This allows to recover from accidental in-air disarming.
2018-06-27 10:41:21 +02:00
Beat Küng 8c3cf0167c commander arming_state_transition: respect fRunPreArmChecks properly
if fRunPreArmChecks was set to false, there were still cases where the
preflight checks could be called. This fixes that.

arming_state_transition() with fRunPreArmChecks=false is only called
when entering & leaving preflight calibration mode.
All other places use fRunPreArmChecks=true, which means there is no change
for these.
2018-06-27 10:41:21 +02:00
Beat Küng 469b5f98e2 commander Preflight::preflightCheck: transition condition_system_sensors_initialized only to true
- this matches the logic in arming_state_transition()
- if Commander::preflight_check was run in armed state and the checks
  failed, disarming was not possible anymore
  (because disarming checks for condition_system_sensors_initialized).
  That is currently not the case, but the existing logic is way too fragile.

Alternative solution: check if armed in Preflight::preflightCheck, and
only transition to false if disarmed (but also respect the re-arming
grace period).
2018-06-27 10:41:21 +02:00
Daniel Agar 9eae8e7c5b Update submodule libuavcan to latest Wed Jun 27 01:27:03 UTC 2018 (#9779)
- libuavcan in PX4/Firmware (fab974fde713b9de0ece1b85239d9dc52622052e): https://github.com/UAVCAN/libuavcan/commit/231b221b64265db4e98f86e53721316f9e17e143
    - libuavcan current upstream: https://github.com/UAVCAN/libuavcan/commit/dfcdf22eda16ff06847976fd6c7f40671fc92eb5
    - Changes: https://github.com/UAVCAN/libuavcan/compare/231b221b64265db4e98f86e53721316f9e17e143...dfcdf22eda16ff06847976fd6c7f40671fc92eb5

    dfcdf22 2018-06-26 Pavel Kirienko - Merge pull request #142 from thirtytwobits/feature/issue141
529a376 2018-06-21 Dixon, Scott - Issue #141 Add Vagrantfile to automate dev environment
2018-06-27 00:09:19 -04:00
Beat Küng 0ac1ef12c7 gpssim: unadvertise gps topics 2018-06-26 15:51:17 +02:00
Nuno Marques bb19c2bc8b Jenkins: add LPE CI test (#9762) 2018-06-26 01:15:13 -04:00
PX4 Jenkins a5d5d5e38e Update submodule nuttx to latest Mon Jun 25 21:26:34 EDT 2018
- nuttx in PX4/Firmware (537fe886015be0ccb6b691a8a2802fb29d17c410): https://github.com/PX4-NuttX/nuttx/commit/63775322bf25adb406594f8e610122fe0cef2f7a
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/f57752b6f16f54bd50188024475657c6a7a1604c
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/63775322bf25adb406594f8e610122fe0cef2f7a...f57752b6f16f54bd50188024475657c6a7a1604c

    f57752b 2018-06-25 Daniel Agar - Merged in dagar/nuttx/pr-fixCompileError (pull request #660)
2018-06-26 06:42:42 +02:00
Beat Küng ddde968a6f mavlink: allow resetting streams to their default via 'mavlink stream' command 2018-06-25 12:19:56 +02:00
Beat Küng ec15fc333b mavlink: add 'mavlink status streams' command
Displays all enabled streams and their configured rates.
Example output:
instance #1:
        Name                Rate Config (current) [Hz] Message Size (if active) [B]
        HEARTBEAT                       1.00 (1.000)    21
        STATUSTEXT                     20.00 (6.320)
        COMMAND_LONG                  unlimited
        ALTITUDE                        1.00 (0.316)
        ATTITUDE                       25.00 (7.900)    40
        ATTITUDE_TARGET                10.00 (3.160)    49
        ESTIMATOR_STATUS                1.00 (0.316)    44
        EXTENDED_SYS_STATE              1.00 (0.316)    14
        GLOBAL_POSITION_INT            10.00 (3.160)    40
        GPS_RAW_INT                     1.00 (0.316)    62
        HOME_POSITION                   0.50 (0.158)
        RC_CHANNELS                     5.00 (1.580)
        SERVO_OUTPUT_RAW_0              1.00 (0.316)    49
        SYS_STATUS                      5.00 (1.580)    43
        SYSTEM_TIME                     1.00 (0.316)    24
        VFR_HUD                        25.00 (7.900)    32
        WIND_COV                        2.00 (0.632)
2018-06-25 12:19:56 +02:00
Beat Küng 84841236cb mavlink: allow resetting mavlink streams to default via MAV_CMD_SET_MESSAGE_INTERVAL
This implementation does not need more resources.
It's not super efficient in terms of runtime, but it's also not something
that is called often.
2018-06-25 12:19:56 +02:00
Beat Küng 333fd9cf45 mavlink: improve status output
- add datarate
- add UDP remote port
- add partner IP
2018-06-25 12:19:56 +02:00
Beat Küng f59412ba65 mavlink: only enable HIL_ACTUATOR_CONTROLS in hil if link has enough bandwidth
Plus correct return value.
Iridium links are below that.
2018-06-25 12:19:56 +02:00
Beat Küng 4553992760 mavlink: refactor get_client_source_address() to return a reference instead of a pointer 2018-06-25 12:19:56 +02:00
Daniel Agar aa270fcd89 Mission feasibility: remove 2/3rds distance warnings that don't reject a mission (#9743) 2018-06-23 10:39:23 -04:00
PX4 Jenkins 1a363be2e7 Update submodule sitl_gazebo to latest Sat Jun 23 01:30:51 UTC 2018
- sitl_gazebo in PX4/Firmware (1dd67e7787): https://github.com/PX4/sitl_gazebo/commit/b5a92095bfb1b6a218a80f58ad9fe09c89ef4598
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/3c7d18d0a52657106a3a7190c54006ed6b442071
    - Changes: https://github.com/PX4/sitl_gazebo/compare/b5a92095bfb1b6a218a80f58ad9fe09c89ef4598...3c7d18d0a52657106a3a7190c54006ed6b442071

    3c7d18d 2018-06-19 TSC21 - travis: add -DBUILD_ROS_INTERFACE=ON option to catkin build
e89cf8f 2018-06-17 TSC21 - travis: use catkin build tools
f7a1c4b 2018-06-19 Elia Tarasov - remove unnecessary mavros libs and duplicate CMake message
c495c57 2018-06-19 Elia Tarasov - remove unnecessary dependecies
5c861a5 2018-06-19 Elia Tarasov - remove executable node
7d69268 2018-06-19 Elia Tarasov - remove redundant includes
6ba0eeb 2018-06-19 Elia Tarasov - remove redundant ros packages
9c69a95 2018-06-18 Elia Tarasov - modify target node name and add needed libs
147cb56 2018-06-17 elia - move class member function definitions to implementation file
dc24fcc 2018-06-17 elia - add undefined class varibales
2018-06-23 10:35:22 -04:00
Daniel Agar 6b02fc083e cmake PMP fetch FlameGraph to build directory 2018-06-23 15:00:51 +02:00
PX4 Jenkins 1dd67e7787 Update submodule v2.0 to latest Fri Jun 22 01:28:36 UTC 2018
- v2.0 in PX4/Firmware (5e76f2dca7530404173601b4a231778381d4f3cc): https://github.com/mavlink/c_library_v2/commit/033fa8e7a4a75a0c3f17cea57e3be8966e05f770
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/f5c0ba684659fbc6c6c5f8777bd30e0b3c32fdef
    - Changes: https://github.com/mavlink/c_library_v2/compare/033fa8e7a4a75a0c3f17cea57e3be8966e05f770...f5c0ba684659fbc6c6c5f8777bd30e0b3c32fdef

    f5c0ba6 2018-06-19 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/40f8149d642892b87c61acf3fb63d2512d06a22a
2018-06-22 09:42:40 -04:00
Daniel Agar d21cf7123e version library add ECL 2018-06-22 08:46:30 +02:00
Daniel Agar 2a3d66cf45 px4fmu-v2_default include bl_update 2018-06-21 07:40:08 +02:00
DanielePettenuzzo 325fe16178 airspeed drivers: add PX4_I2C_BUS_ONBOARD as possible bus 2018-06-21 07:37:53 +02:00
DanielePettenuzzo 82b3e57abb rc.sensors: look for airspeed sensors on all busses 2018-06-21 07:37:53 +02:00
DanielePettenuzzo 035f240e76 ets_airspeed: add -a flag to scan all i2c busses during start 2018-06-21 07:37:53 +02:00
DanielePettenuzzo 670c3cbf4e sdp3x_airspeed: add -a flag to scan all i2c busses during start 2018-06-21 07:37:53 +02:00
DanielePettenuzzo fd675084cc ms5525_airspeed: add -a flag to scan all i2c busses during start 2018-06-21 07:37:53 +02:00
DanielePettenuzzo cf816fe556 ms4525_airspeed: remove i2c_bus parameter from start function (it tries all busses) 2018-06-21 07:37:53 +02:00
DanielePettenuzzo 5f3ea2f7ba ms4525_airspeed: change start_bus from bool to int 2018-06-21 07:37:53 +02:00
DanielePettenuzzo c231b6834d ms4525_airspeed: remove PX4_I2C_ALL 2018-06-21 07:37:53 +02:00
DanielePettenuzzo fa35731e02 ms4525_airspeed: add -a flag to scan all i2c busses during start 2018-06-21 07:37:53 +02:00
Philipp Oettershagen 7a82c777b2 LandDetector FW: Fix param min/max values and descriptions as well as some variable names which were wrong/outdated (#9708) 2018-06-20 16:13:33 -04:00
korigod 4dfd77a0cd cmake: add nuttx force-upload target (#9717)
If the PX4FMUv2 board does not have the v5 uploader, it's not possible
to check the silicon revision to make sure it's safe to upload the
firmware which is more than 1 MB. However, if the user is sure the
silicon revision is not affected by this errata, he can upload the
firmware using px4_uploader.py with --force argument. This commit adds
`force-upload` make target to do it more convenient way.

Signed-off-by: Andrei Korigodski <akorigod@gmail.com>
2018-06-20 10:37:01 -04:00
Ricardo Marques bf0a1f05fb Tilt-Quadrotor Mixer and Airframe files (#9496) 2018-06-20 10:35:05 -04:00
Beat Küng 6a7751496b df_ms5611_wrapper: fix initialization of error_count & device_id 2018-06-20 08:28:33 +02:00
Paul Riseborough 4a0b41bbc0 ekf2: Enable use of flow sensors not fitted with gyros (#9703)
* ecl: Update to version allowing use of flow sensors without gyros

* msg: Update description for optical_flow

Adds advice for publishing gyro rate integral message when no rate gyro is fitted.
2018-06-20 10:28:58 +10:00
Julien Lecoeur c73944c7a2 Mavlink: initialize _ping_stats
Uninitialized `_ping_stats.last_ping_time` caused ping statistics to be printed even when no ping was received.
2018-06-19 13:00:36 +02:00
Paul Riseborough 1cba257bac Merge branch 'master' into pr-ekfOptFlowGyro 2018-06-18 09:36:16 +10:00
Paul Riseborough 1a1106878d EKF: Prevent timestamp jitter failing GPS data arrival check (#462)
This fixes a error condition that occurs if _time_last_gps is greater than _time_last_imu.
By checking time stamps at the fusion time horizon, we guarantee that this cannot happen because all observations must have a time stamp smaller or equal to _imu_sample_delayed.time_us before they are retrieved from the buffers.
2018-06-15 16:03:54 +10:00
Daniel Agar 4ae8242c35 validation DataValidatorGroup::get_best() nullptr check
- fixes Coverity CID 139448
2018-06-14 08:14:53 +02:00
Daniel Agar c3e071e052 validation initialize all members
- fixes Coverity CID 260331
2018-06-14 08:14:53 +02:00
Roman c8af315aa7 flow_fusion: corrected sign of gyro data when it is taken from the ekf
gyro data

Signed-off-by: Roman <bapstroman@gmail.com>
2018-06-13 21:52:42 +02:00
Paul Riseborough c6ed2ccfcd EKF: Fix half frame offset in flow gyro compensation.
The gyro data accumulation needs to be across the same integration period as the flow sensor. The previous code didn't sample the accumulation until the midpoint of the flow data had fallen behind the fusion time horizon.

This PR changes the optical flow time stamp definition so that flow data is retrieved when the leading edge of the flow accumulation period falls behind the fusion time horizon. This enables the accumulated gyro data to be sampled at the correct time. Fusion is then delayed until the mid sample time has fallen behind the fusion time horizon.
2018-06-13 16:51:42 +10:00
Roman Bapst b815fc97c4 replace quiet_NaN() with INFINITY (#70)
- solves undefined symbols for QURT

Signed-off-by: Roman <bapstroman@gmail.com>
2018-06-12 12:24:51 -04:00
Paul Riseborough 48561b0c8a EKF: Update optical flow interface documentation 2018-06-12 16:52:26 +10:00
Paul Riseborough de7c9d85a4 EKF: Handle flow data without valid gyro data 2018-06-12 16:24:25 +10:00
elia 26dcf05d80 keep ev timeout sign always positive 2018-06-11 00:17:19 +02:00
Daniel Agar a8b73bd139 replace geo _wrap_pi with matrix::wrap_pi 2018-06-11 00:16:17 +02:00
Daniel Agar 03a3e3ad46 helper_functions add wrap_2pi 2018-06-10 10:56:45 +02:00
Daniel Agar 5c64879688 Jenkins codecov.io add flag 2018-06-09 21:12:03 -04:00
Daniel Agar abc8f82d49 travis-ci add codecov.io (#69) 2018-06-09 21:08:56 -04:00
Paul Riseborough d177e96508 EKF: Fix bug causing slow drift when high rate flow data is used
High rate optical flow data could make flow fusion to run every major update cycle, resulting in the calculation of bias errors in the body rates used to compensate flow data failing time validity checks and not running. This resulted in a slow drift of the nav solution if bias errors were present in the in the gyro data used for flow sensor motion compensation.
2018-06-09 22:23:55 +02:00
Paul Riseborough ee2dc7d790 EKF: Rework optical flow selection logic
Fixes a race condition caused by the _is_dead_reckoning test.
Only checks flow selection when flow is available.
2018-06-09 22:23:55 +02:00
Paul Riseborough e383b6a272 EKF: rework optical flow selection logic
Make use of range aiding movement check clearer.
Fix logic errors that caused rapid toggling of flow use when on ground.
2018-06-09 22:23:55 +02:00
Paul Riseborough 487e6a0901 EKF: enable user selection of auto mag free operation
Also modify check to not apply if EV yaw is being used.
2018-06-09 22:23:55 +02:00
Paul Riseborough 6bdbe032f9 EKF: Fallback to optical flow for all in-flight loss of navigation scenarios 2018-06-09 22:23:55 +02:00
Mohammed Kabir b4d2b8c57d EKF : introduce new architechture for navigation limits 2018-06-09 22:23:55 +02:00
Paul Riseborough 8a713398cb EKF: Improve ground effect compensation
Start deadline at zero so that initial rotor wash effect is rejected.
2018-06-09 22:23:55 +02:00
Paul Riseborough 39697f1196 EKF: rework optical flow switching 2018-06-09 22:23:55 +02:00
Paul Riseborough 1cfe845751 EKF: rework GPS quality check 2018-06-09 22:23:55 +02:00
Paul Riseborough 99a80387ed EKF: improve optical flow GPS quality checking 2018-06-09 22:23:55 +02:00
Paul Riseborough 7f36add241 EKF: scale GPS vertical accuracy check when using optical flow 2018-06-09 22:23:55 +02:00
Paul Riseborough fc9f532c34 EKF: relax range finder data continuity check 2018-06-09 22:23:55 +02:00
Paul Riseborough 93c456f2b8 EKF: Improve protection against badly conditioned dVel bias covariances
Reduces likelihood of Z delta velocity bias learning to wrong value.
2018-06-09 22:23:55 +02:00
Paul Riseborough 225057aaf5 EKF: Fix bug preventing use of terrain estimator 2018-06-09 22:23:55 +02:00
Paul Riseborough adb4a09beb EKF: Fix bug causing large yaw innovations when GPS is lost 2018-06-09 22:23:55 +02:00
Paul Riseborough f59cd0f5b0 EKF: Don't make detection of indoor operation dependent on optical flow
This is required because it can take several seconds for an optical flow sensor operation to be confirmed and there are also many use cases for indoor operation where no optical flow is used.
2018-06-09 22:23:55 +02:00
Paul Riseborough 1562a82dc2 EKF: Add parameter to adjust on-ground movement detector sensitivity 2018-06-09 22:23:55 +02:00
Paul Riseborough ea9e8246ed EKF: Improve detection of indoor flight condition 2018-06-09 22:23:55 +02:00
Paul Riseborough 565f99254c EKF: Reduce effect of yaw gyro bias when using optical flow indoors 2018-06-09 22:23:55 +02:00
Paul Riseborough e10798bfdf EKF: Add on ground movement detector 2018-06-09 22:23:55 +02:00
Paul Riseborough 2d3b65231b EKF: Reset yaw gyro bias learning when resuming use of magnetometer
The previous lack of yaw drift constraint will also mean that the yaw gyro bias estimate is likely to be incorrect and needs to be re-learned.
2018-06-09 22:23:55 +02:00
Paul Riseborough 8191068959 EKF: Don't start using mag if optical flow use is interrupted
If magnetometer use is being inhibited because an indoor condition has been detected (optical flow and poor or no GPS) and the optical flow fusion checks fail causing the EKF to stop navigating, we do not want the EKF to start using the magnetometer.
2018-06-09 22:23:55 +02:00
Paul Riseborough 4889e8432c EKF: Don't fuse multi rotor drag if yaw angle is bad 2018-06-09 22:23:55 +02:00
Paul Riseborough 092a8d8f21 EKF: Fix GPS validity time check error 2018-06-09 22:23:55 +02:00
Paul Riseborough 0160aaa568 EKF: Don't use magnetometer with optical flow only nav if GPS checks are failing 2018-06-09 22:23:55 +02:00
Paul Riseborough 84516760c0 EKF: Use stricter GPS accuracy test when optical flow is being used
This adds some hysteresis to the automated optical flow selection and also reduces likelihood of bad GPS being used when operating indoors,
2018-06-09 22:23:55 +02:00
Daniel Agar a80b3ab610 set MODULE define for each library
- this is needed for INFO, WARN, ERR messages when used within PX4
2018-05-27 20:08:47 +02:00
Daniel Agar 50631e5d98 geo remove use of DBL_EPSILON
-this doesn't seem to be (obviously?) available on qurt
2018-05-21 10:59:40 +02:00
Daniel Agar cb63f16d48 cmake cache ECL source directory path to work with catkin (#447) 2018-05-17 12:01:30 -04:00
Bart Slinger bae4b8a5e7 remove superfluous elseif (#431)
* remove superfluous elseif

* Set ev_hgt flag false when starting on baro
2018-05-11 08:38:42 +10:00
Paul Riseborough 16976d3911 Merge branch 'pr-ekfOptFlowFixes'
* pr-ekfOptFlowFixes:
  EKF: fix bug causing height offset when GPS use stops
  EKF: Don't reject saturated flow data when it is the only aiding source
  EKF: Prevent flow motion check false positives
  EKF: Don't assume large position uncertainty when starting optical flow nav
  EKF: relax terrain update requirements for continuing optical flow use
  EKF: Relax minimum required range finder measurement rate
  EKF: relax optical flow on ground motion checks
  EKF: range finder aiding logic fixes
  EKF: Decouple range finder use criteria checking and selection
  EKF: Don't auto select range finder for height when on ground.
  EKF: Fix false triggering of optical flow bad motion checks
  EKF: update comments
  EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
  EKF: Stop using EV for yaw when GPS fusion starts
  EKF: Add persistence criteria to  GPS fail check
  EKF: allow GPS fallback if quality bad and alternative aiding available
  EKF: always run GPS checks
2018-05-11 08:22:14 +10:00
Paul Riseborough 75e65901ae EKF: fix bug causing height offset when GPS use stops
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 10:55:56 +02:00
Paul Riseborough e8e9e34a73 EKF: fix bug causing height offset when GPS use stops
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 13:45:19 +10:00
Paul Riseborough 6cadc92285 EKF: Don't reject saturated flow data when it is the only aiding source 2018-05-10 07:11:59 +10:00
Paul Riseborough bf902e5eca EKF: Prevent flow motion check false positives
The previous implementation could false trigger if there was significant vibration below 200Hz during startup.
2018-05-09 07:47:17 +10:00
Paul Riseborough bdf5b3e003 EKF: Don't assume large position uncertainty when starting optical flow nav 2018-05-08 08:43:56 +10:00
Paul Riseborough e26711af7d EKF: relax terrain update requirements for continuing optical flow use 2018-05-08 08:43:14 +10:00
Paul Riseborough 868bc01087 EKF: Relax minimum required range finder measurement rate 2018-05-08 08:43:14 +10:00
Paul Riseborough 02963a85c4 EKF: relax optical flow on ground motion checks 2018-05-08 08:43:14 +10:00
Paul Riseborough 24b005ed57 EKF: range finder aiding logic fixes 2018-05-08 08:42:29 +10:00
Paul Riseborough 0c0a6602b0 EKF: Decouple range finder use criteria checking and selection 2018-05-08 08:42:29 +10:00
Paul Riseborough 6708bec1b4 EKF: Don't auto select range finder for height when on ground. 2018-05-08 08:42:03 +10:00
Paul Riseborough 0a63052753 EKF: Fix false triggering of optical flow bad motion checks 2018-05-08 08:42:03 +10:00
Paul Riseborough f9d4934db6 EKF: update comments 2018-05-08 08:42:03 +10:00
Paul Riseborough 82de3141f0 EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height 2018-05-08 08:42:03 +10:00
Paul Riseborough 389786ef1b EKF: Stop using EV for yaw when GPS fusion starts 2018-05-08 08:42:03 +10:00
Paul Riseborough 4ab78230e6 EKF: Add persistence criteria to GPS fail check 2018-05-08 08:41:15 +10:00
Paul Riseborough 67d71ca406 EKF: allow GPS fallback if quality bad and alternative aiding available 2018-05-08 08:41:15 +10:00
Paul Riseborough bd59e381db EKF: always run GPS checks 2018-05-08 08:40:31 +10:00
Daniel Agar b227aca4a8 geo_lookup fix table bounds 2018-05-06 03:13:00 +02:00
Daniel Agar e494a4e634 Jenkins set git username and email with environment variables 2018-05-05 18:11:28 -04:00
Daniel Agar 3639087ac6 cmake and Jenkins add basic address santiizer test buld 2018-05-05 16:11:04 -04:00
Daniel Agar 1fba622a80 travis-ci basic build script 2018-05-05 15:25:54 -04:00
Daniel Agar cde2ee9b6f cmake ignore missing-field-initializers 2018-05-05 15:25:54 -04:00
Daniel Agar 2100127304 geo: zeroing static unnecessary 2018-05-05 15:25:54 -04:00
Daniel Agar 0f12db5b2c travis-ci enable coverity_scan 2018-05-05 15:25:54 -04:00
Daniel Agar aceab8c82c Jenkins upload coverage to codecov.io 2018-05-05 15:13:52 -04:00
Daniel Agar 5780cd3c6b Jenkins create PX4/Firmware test branch and push (#436) 2018-05-05 14:40:15 -04:00
Daniel Agar cf957b5831 code coverage cmake and Jenkins support 2018-05-04 01:40:23 -04:00
Daniel Agar 4e0cd45676 doxygen cmake and Jenkins support 2018-05-04 01:22:10 -04:00
Daniel Agar 372f9f430b EKF pytest save plots to pdf 2018-05-03 22:25:36 -04:00
Daniel Agar d6a3110918 visual studio build compatibility 2018-05-03 22:25:36 -04:00
Daniel Agar 3a61035ac2 fix and re-enable EKF pytests 2018-05-03 22:25:36 -04:00
Daniel Agar 4dabf7a1a8 Jenkins add OSX build 2018-05-03 22:25:36 -04:00
Daniel Agar c5b2f59f57 PX4 style fixes (excluding EKF generated code) 2018-05-03 22:25:36 -04:00
Daniel Agar e5952fadaf cmake standalone build 2018-05-03 22:25:36 -04:00
Daniel Agar eec71d1a10 EKF get_ekf_soln_status() fix pred_pos_horiz_abs 2018-05-03 00:12:23 -04:00
Paul Riseborough 1bd1809d6e EKF: Fix bug causing simultaneous range and baro height fusion (#429) 2018-05-03 13:24:33 +10:00
Daniel Agar a14434d6dc EKF always fill position and velocity accuracy (#425) 2018-04-23 21:15:29 +10:00
Paul Riseborough 6e3403ce28 EKF: prevent race condition between global position validity and eph reporting 2018-04-21 13:04:04 -04:00
Paul Riseborough fdabb9277f EKF: Use consistent validity definition for global position reporting 2018-04-21 13:04:04 -04:00
Paul Riseborough 31142c0322 EKF: tighten wind variance growth check 2018-04-21 13:04:04 -04:00
Paul Riseborough ae069b12d6 EKF: Fix bug preventing wind relative dead reckoning 2018-04-21 13:04:04 -04:00
Paul Riseborough 9747dc778d EKF: Rework nav validity reporting
Remove duplicate checking for dead reckoning and consolidate into a single function.
Use separate timers to check for start of dead reckoning and check when dead reckoning has been performed for too long for the nav solution to be valid.
Allow the timeout for validity reporting to be adjusted externally.
Separate external reporting of dead reckoning from internal checks.
2018-04-21 13:04:04 -04:00
Daniel Agar bd72f3c521 geo std pressure constants and update usage 2018-04-19 08:57:38 +02:00
Daniel Agar 02e319431b cmake remove embedded vim settings 2018-04-11 20:50:30 -04:00
Daniel Agar 91b5bfe2bb attitude_fw remove unused perf include 2018-04-11 20:50:30 -04:00
Paul Riseborough 02055acee2 EKF: Fix non GPS aiding data reset logic (#418)
* EKF: Move optical flow specific state reset to helper functions

* EKF: Ensure loss of optical flow aiding is handled correctly

If data is only source of aiding and has been rejected for too long - reset using flow data as a velocity reference.
If flow data is unavailable for too long - declare optical flow use stopped.
Use consistent time periods for all resets

* EKF: Ensure loss of external vision aiding is handled correctly

If data is only source of aiding and has been rejected for too long - reset using data as a position.
Don't reset velocity if there is another source of aiding constraining it.
If data is unavailable for too long, declare external vision use stopped.
Use consistent time periods for all resets.

* EKF: Update parameter documentation

Make the distinction between the no_gps_timeout_max and no_aid_timeout_max parameters clearer

* EKF: make class variable units consistent with documentation

* EKF: Don't reset states when optical flow use commences if using external vision

* EKF: Stop optical flow fusion when on ground if excessive movement is detected.

* EKF: fix terrain estimator vulnerabilities

Reset estimate to sensor value if rejected for 10 seconds
Protect against user motion when on ground.
Fix unnecessary duplication of terrain validity check and separate validity update and reporting.

* EKF: remove unnecessary Info console prints

Optical flow use information can be obtained from the estimator_status.control_mode_flags message

* EKF: fix inaccurate comment

* EKF: remove duplicate calculation from terrain validity accessor function
2018-04-09 18:35:15 +10:00
Daniel Agar 21d47424c6 Quaternion mark const helpers const 2018-04-01 17:02:20 -04:00
Daniel Agar ba2b9dfdd9 update matrix lib usage 2018-03-28 17:57:51 -04:00
James Goppert e7c95fa027 Fix README/cmake format. 2018-03-28 00:11:03 -04:00
James Goppert d142ac234c Fix coverage and bug in matrix equal test. 2018-03-28 00:09:01 -04:00
Daniel Agar 50446a55c8 Matrix add == and != operators 2018-03-27 15:05:22 -04:00
Daniel Agar 39b69af9bf geo_lookup: Update geomagnetism tables.
Update declination table to use latest IGRF data
Add lookups for inclination and field strength
2018-03-26 21:52:11 -04:00
Daniel Agar cd12f049fe move geo and geo_lookup from PX4 Firmware to ECL 2018-03-26 21:52:11 -04:00
Paul Riseborough 1bb4c17c0e EKF: Allow use of large GPS position observation noise when using other aiding sources (#403) 2018-03-27 11:31:37 +11:00
Paul Riseborough 8a012436f9 EKF: Fix reversion from GPS to no-aiding mode (#412)
* EKF: Do not delay reversion to no-aiding mode if parameter initiated

* EKF: Move no-aid reversion resets to helper functions

* EKF: Prevent unwanted fusion of velocity data during no aiding mode
2018-03-22 22:39:00 +11:00
Roman Bapst 95c4777b35 added airdata module which contains wind & airspeed scale estimator (#405)
* added airdata module which contains wind & airspeed scale estimator

* airdata: support gate sizes for innovation consistency checks
2018-03-21 13:06:00 -04:00
Carl Olsson f6d23cc621 added rng_stuck to filter control status flags (#392) 2018-03-21 11:46:27 +11:00
Roman Bapst 7964820412 tecs.cpp: tecs initialisation fixes (#411)
- zero thrust integrator on initialisation, we already have a cruise throttle
variable
- if initialising from in_air condition set last throttle setpoint to
cruise throttle (_in_air ? throttle_cruise : 0.0f);
2018-03-21 11:25:15 +11:00
Daniel Agar 61af508755 helper_functions include required px4_defines header 2018-03-19 02:24:38 -04:00
Daniel Agar 35bc2cfcd9 tecs and l1 switch to matrix math library (#409) 2018-03-18 21:59:41 -04:00
Daniel Agar 1bc7378414 EKF decrease synthetic sideslip interval 1s -> 150ms (#407) 2018-03-15 23:09:42 -04:00
Daniel Agar 341f8962d2 EKF interface add get_wind_status() (#406) 2018-03-14 16:41:09 -04:00
Thomas Stastny 041886a289 attitude_fw: move angular rate limits to body angular rates (#404) 2018-03-08 22:19:19 -05:00
Paul Riseborough 78e983073a EKF: Fix bug in use of gps velocity noise parameter (#401)
This fixes a bug introduced by an earlier feature request PR. The parameter is supposed to define the lower limit on the observation noise.
2018-02-28 11:48:53 +11:00
ChristophTobler cdc6efc5d6 EKF: fix rot vec calc from quat by using matrix lib 2018-02-08 10:22:55 +01:00
ChristophTobler 9238e2f1a2 EKF: fix spike handling in ev rotation calculation 2018-02-08 10:20:59 +01:00
Paul Riseborough db5264e45c EKF: Add missing reset for output observer vertical position derivative
Required to prevent large transients in value returned by get_pos_d_deriv accessor following a vertical state reset event.
2018-01-31 08:43:39 +01:00
Beat Küng d078d68f64 Reverse the linked list of data_validator_group #2 (#389)
* Reverse the linked list of data_validator_group and maintain a first node
for search from index 0

Fixes issue PX4/Firmware#8644

* fix code style

* validator: fix shadowing of 'sibling' argument
2018-01-30 09:11:01 +11:00
ChristophTobler 337cdcc59a init height using baro when set to ev height (#388)
this also makes sure the _baro_hgt_offset is being initialized correctly
2018-01-30 07:33:28 +11:00
Paul Riseborough a2d6a4dded EKF: fix indexing bug (#387)
Should use index 9 for vertical position.
2018-01-29 08:09:55 +11:00
Paul Riseborough 1ddd94f237 tecs: Remove redundant code
The if() statement was there as provision to do something different with the speed demand derivative limits if an abnormal condition was present, however we have no basis for assigning different limits at this point in time.
2018-01-28 22:01:28 +01:00
Paul Riseborough f016e66ff8 Revert "EKF: Release flow speed limit with altitude gained" (#382)
* Revert "EKF: Release flow speed limit with altitude gained"

This reverts commit e70206f74b.

* Revert "fix code style"

This reverts commit 76bf70121c.

* Revert "Reverse the linked list of data_validator_group and maintain a first node"

This reverts commit 32482e7644.
2018-01-24 20:46:48 +11:00
jay 76bf70121c fix code style 2018-01-19 11:53:36 +01:00
lijie 32482e7644 Reverse the linked list of data_validator_group and maintain a first node
for search from index 0

Fixes issue PX4/Firmware#8644
2018-01-19 11:53:36 +01:00
ChristophTobler cdbca91e79 EV height reset (#379)
* fix typo

* EKF: use baro if it was reset to baro from ev

* EKF: set vert_pos_reset if resetting to ev hgt

otherwise the position controller will not reset the setpoint -> leading to unwanted altitude changes
2018-01-15 20:15:56 +11:00
Andreas Antener 9e16e51d3a attitude_fw: constrain integrator properly to prevent building it up over the specified maximum 2018-01-13 16:17:01 +01:00
Daniel Agar c8ab806120 EKF pytest temporarily disable 2018-01-05 02:39:02 -05:00
Daniel Agar ae641020dd EKF run pytest quick and plot 2018-01-05 02:39:02 -05:00
Daniel Agar ec0d907d5a update README build badge (travis-ci -> jenkins) 2018-01-05 02:39:02 -05:00
Daniel Agar 7df4e0f8eb reenable pytest with px4-dev-ecl 2018-01-05 02:39:02 -05:00
Daniel Agar f407954207 initial jenkins configuration 2018-01-05 02:39:02 -05:00
Lorenz Meier dd9ea86fd6 Update README.md
Added link to tuning guide.
2018-01-04 08:50:34 +01:00
Paul Riseborough 76763adb5c Merge pull request #374 from PX4/pr-ekfInitFix
EKF: Prevent possible /0 due to incorrect initial values
2018-01-04 08:15:08 +11:00
Paul Riseborough 0f047504d4 EKF: Prevent possible div 0 due to incorrect initial values
Gate size class variables should not be initialised to zero, because it will cause a /0 error if fuseVelPosHeight() is called before they are set to their respective parameter values.
2018-01-04 07:47:03 +11:00
Daniel Agar f0862210c7 EKF initialize _hvelInnovGate
- fixes CID 139550
2018-01-03 08:07:28 +01:00
Paul Riseborough bdbc05cf91 Merge pull request #372 from PX4/pr-tecs_init
TECS initialize throttle integrator at cruise if in air
2017-12-28 09:09:14 +11:00
Paul Riseborough a39c376c26 Merge pull request #371 from CarlOlsson/pr-push_beta_test_ratio
ekf: return beta test ratio in get_innovation_test_status
2017-12-28 08:29:15 +11:00
Daniel Agar 8320c8ba14 TECS initialize throttle integrator at cruise if in air 2017-12-21 16:29:14 -05:00
CarlOlsson 5c8b22b43f ekf: return beta test ratio in get_innovation_test_status
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-12-18 15:48:36 +01:00
Paul Riseborough e70206f74b EKF: Release flow speed limit with altitude gained
When GPS use is gained whilst flying using optical flow data, the sudden release of the speed limit is unannounced to  the operator and can cause unexpected acceleration.
This patch releases the speed limit as height is gained, but does not reduce it when the vehicle descends, unless GPS use is lost.
2017-12-12 01:26:44 +00:00
CarlOlsson dea0c8bb6a tecs: fixed some typos 2017-12-08 00:31:12 -05:00
Daniel Agar 41a1cc7583 LICENSE minor changes to template 2017-12-05 10:56:04 -05:00
Matthias Grob f835d39017 Quaternion/Vector: Small refactor for review: put more comments, switched type conversions, took out default destination vector because confusing 2017-12-04 15:34:13 +01:00
Matthias Grob af2610ec04 Test: added check for quaternion vector to vector rotation constructor
including all the parallel vector corner cases
2017-12-04 15:34:13 +01:00
Matthias Grob 84cd7483ae Quaternion: added constructor which generates the shortest rotation that maps one vector to another
including tedious corner case handling for parallel vectors with 180 degree rotations
2017-12-04 15:34:13 +01:00
Matthias Grob d513c94f85 Test: added check for Vector.norm_squared() 2017-12-04 15:34:13 +01:00
Matthias Grob 5130da206a Vector: added norm_squared() because sometimes you can safe the sqrt operation 2017-12-04 15:34:13 +01:00
Paul Riseborough 83b765f707 EKF: Don't print navigation lost message on startup 2017-12-03 23:02:02 +00:00
Daniel Agar e3da71c89d Ekf initialize all fields 2017-11-26 16:50:16 -05:00
Andreas Antener ee57908911 Provide access to FW integrators 2017-11-26 15:33:34 +01:00
Paul Riseborough 22a6abbca2 Merge pull request #365 from PX4/pr-ekfBugFix
EKF: Fix vel pos innovation handling bug
2017-11-24 14:46:11 +11:00
Paul Riseborough 89be63d6c2 EKF: Fix vel pos innovation logging bug 2017-11-24 14:25:44 +11:00
Paul Riseborough 882f4d44e5 Merge pull request #362 from PX4/pr-ekfAuxVelFuse
EKF: Add additional velocity interface to use landing beacon data
2017-11-21 11:55:43 +11:00
Paul Riseborough b0ad8269a5 EKF: enable separate monitoring of aux velocity innovations 2017-11-21 11:18:09 +11:00
Paul Riseborough 2a57fd858d EKF: clean up reset of fusion flags 2017-11-21 11:18:09 +11:00
Paul Riseborough 8e30c2666d EKF: Add support auxiliary velocity observation
This enables the EKF to use an additional NE velocity measurement. This can be used to improve position hold stability when landing using a beacon system for positioning by fusing the beacon velocity estimates.
2017-11-21 11:18:09 +11:00
Paul Riseborough bd8f30752a Merge pull request #351 from PX4/ekfGndEffectComp-wip
EKF: Protect against ground effect induced static pressure rise
2017-11-20 09:14:26 +11:00
Paul Riseborough a2b24fa960 EKF: Protect against ground effect induced static pressure rise during landing and takeoff.
Apply a dead-zone to the vertical position innovation if using baro for height and if in the ground effect region during and just after takeoff.
Method needs to be activated externally.
Turns off automatically after 10 seconds or if specified height gained.
2017-11-17 21:41:31 +11:00
Matthias Grob 41ad2bdea5 Matrix: added copyToRaw method to allow copying to a pointer
because most uORB messages still contain all components of a vector one by one after each other
2017-11-17 09:30:56 +01:00
Paul Riseborough c8d459eecd Merge pull request #360 from dagar/pr-ekfObsBufAlloc
EKF RingBuffer allocation minor improvements + print memory usage
2017-11-17 08:38:57 +11:00
Paul Riseborough 3479542ae5 Merge pull request #359 from PX4/pr-ekfObsBufAlloc
EKF: Reduce memory usage
2017-11-17 08:09:37 +11:00
Daniel Agar d9c8af54bd EKF add print_status() with memory usage 2017-11-16 14:11:34 -05:00
Daniel Agar 75d1ed894c EKF simplify RingBuffer allocation check 2017-11-16 13:09:17 -05:00
Paul Riseborough af7004ef01 EKF: report observation buffer allocation errors 2017-11-16 20:04:46 +11:00
Paul Riseborough d785a19c0a EKF: delay final allocation of observation buffers until required 2017-11-16 19:47:04 +11:00
Matthias Grob 308a6c91cb Test: added copyTo tests for Vector3, Quaternion and Matrix including clolumn-major order 2017-11-16 04:42:54 +01:00
Matthias Grob 1dffd5930b Matrix: add copyTo copying data to an array and copyToColumnMajor which does the same but with column-major order
same functionality explicitly for quaternions can be deleted
2017-11-16 04:42:54 +01:00
Paul Riseborough f54f1d467f Merge pull request #358 from PX4/pr-ringbuffer_copies
EKF RingBuffer avoid unnecessary copying
2017-11-16 13:37:36 +11:00
Paul Riseborough 7c8fcf7628 EKF: Clarify use of *= operator for quaternions 2017-11-16 11:52:19 +11:00
Daniel Agar ed9a394029 EKF RingBuffer avoid copying 2017-11-15 18:08:51 -05:00
Paul Riseborough 44eaa076db Merge pull request #356 from PX4/pr-ekfMiscUpdate
EKF: Remove redundant code
2017-11-16 07:05:18 +11:00
Paul Riseborough 2b20c52c4d EKF: Remove redundant code 2017-11-15 22:03:17 +11:00
Paul Riseborough cfdab732d1 EKF: Update parameter description 2017-11-15 21:28:11 +11:00
Paul Riseborough 16154423c8 matlab: update optical flow derivation
Support use of sensors with arbitrary orientation in body frame
2017-11-15 11:16:19 +11:00
Paul Riseborough cc651ac472 Merge pull request #354 from PX4/ekfMagYawReset-wip
Prevent loss of navigation accuracy after in-flight mag yaw alignment
2017-11-13 07:32:23 +11:00
Paul Riseborough 72a7ab2c25 EKF: Improve resistance to bad initial mag offset
When magnetic field states have been reset in-flight using a single sample, the magnetic field states are not used to constrain heading drift for a period after the reset. This period has been shortened from 10 to 5 seconds which is enough time to average out the effects of measurement noise (the original concern). The shorter time has enabled the previous practice for RW vehicles of using magnetic heading in that time period to constrain yaw drift to be discontinued. This is necessary becasue while magnetic heading is being used, it fights the yaw corrections obtained from GPs observations and lengthens the time required to recover from a bad mag calibration.
2017-11-13 07:05:56 +11:00
Paul Riseborough df9f48d2d3 EKF: Fix build error 2017-11-13 07:05:56 +11:00
Paul Riseborough 44c50ab2df EKF: Correct magnetic yaw measurement using learned mag biases
Don't apply bias corrections when biases are being learned to avoid possible circular data dependency.
2017-11-13 07:05:56 +11:00
Paul Riseborough c70363c501 EKF: Don't fuse heading if FW and waiting for mag states to stabilise
Doing so is a bad idea because bad mag data can drag the yaw angle away from the reset value and lead to rejection of GPS.
2017-11-13 07:05:56 +11:00
Paul Riseborough 279fc836f7 EKF: Always reset covariance matrix terms when doing vel pos state reset
If state errors were large before the reset, then failure to reset the covariance matrix terms can result in incorrect fusion of position and velocity measurements after the reset due to inconsistencies in the covariance matrix.
2017-11-13 07:05:56 +11:00
Paul Riseborough 141264fe63 EKF: Add method to set diagonals in covariance matrix 2017-11-13 07:05:56 +11:00
Paul Riseborough 32de90b9ef EKF: Add method to zero covariance terms 2017-11-13 07:05:56 +11:00
Paul Riseborough f3e34eddc9 EKF: do not attempt to align FW yaw using GPS method if on ground 2017-11-13 07:05:56 +11:00
Paul Riseborough 8f27d3fc54 EKF: don't reset quaternion states unnecessarily
When performing the initial in-flight mag yaw reset for RW vehicle, do not reset the quaternion states and corresponding variances unless there has been a change in yaw angle large enough to cause problems with navigation.
This is because the state estimates after a reset are more vulnerable to transient sensor errors, so a reset should be avoided if possible.
2017-11-13 07:05:56 +11:00
Paul Riseborough 9e47b6e1b6 EKF: don't reset quaternions unnecessarily
When performing the initial in-flight magnetic field reset for fixed wing vehicles, resetting the quaternion states and their corresponding covariances should be avoided unless yaw errors are large, because state estimates are vulnerable to transient sensor errors immediately following a reset.
2017-11-13 06:55:02 +11:00
Paul Riseborough 29d383edbf EKF: Allow mag field estimates to stabilise before use 2017-11-13 06:55:02 +11:00
Paul Riseborough 363edf5eb9 EKF: Fix yaw reset for fixed wing
Ensures that a complete reset of velocity and position states will always be performed if yaw has had to be reset using GPS velocity.
Ensures that the yaw_align status cannot be set to false once the filter has aligned.
2017-11-13 06:55:02 +11:00
Paul Riseborough 7852c0ed03 Merge pull request #312 from PX4/pr-ekfExtVisQuat
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough 5fd006ca48 EKF: remove redundant code 2017-11-11 07:06:01 +11:00
ChristophTobler 368248fe6d Merge pull request #353 from PX4/pr-expo_int_cast
EKF: use uint64_t cast for XeY to avoid float casting of variables
2017-11-08 11:54:39 +01:00
ChristophTobler e388e59f32 EKF: use uint64_t cast for XeY to avoid float casting of variables
The default type for XeY is float
2017-11-08 11:40:26 +01:00
Matthias Grob 3bd94fcd6f Test vector: structured & commented, added normalize and unit_or_zero tests, removed duplicate data preparation 2017-11-06 17:58:52 +01:00
Matthias Grob 9e59691e43 Vector: Additional normalization with check for zero norm because it occurs so many times in applications 2017-11-06 17:58:52 +01:00
Paul Riseborough bba3f70a0e EKF: reduce prediction time step from 12 to 8 sec
Reduces susceptibility to incorrect estimation of acceleration bias during sustained yaw rate.
Requires an increase in RAM allocation of 837 Bytes to allow for the longer IMU and output predictor buffers that can be created.
2017-11-02 09:27:33 +01:00
Paul Riseborough 01d68ef67c EKF: Enable use of rotated external nav estimates 2017-11-01 08:33:57 +11:00
Paul Riseborough f921b2de5c Merge pull request #348 from PX4/pr-ekfAddImuBiasReset
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-30 15:55:52 +11:00
Paul Riseborough 063533afae EKF: Add method to enable the IMU bias states to be reset externally 2017-10-26 10:41:39 +11:00
Paul Riseborough cd2ca57ec2 Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Daniel Agar 22a51c6afd PX4_ISFINITE -> ISFINITE 2017-10-22 20:37:40 +02:00
Daniel Agar 9e13a2cb21 tecs move initialization 2017-10-22 20:37:40 +02:00
Daniel Agar 31a8e047d7 tecs one line setters and group 2017-10-22 20:37:40 +02:00
Daniel Agar 4f2d571c89 tecs fix code style 2017-10-22 20:37:40 +02:00
Paul Riseborough 79995b2c15 Create total energy control system implementation
This is a new, clean and streamlined variant of the mathematical derivation I created a few years ago.
2017-10-22 20:37:40 +02:00
Daniel Agar 9eb860fabd travis-ci fix gcc and clang compilation jobs (#344)
- allow the python testing to fail without failing the entire build
2017-10-22 12:19:11 -04:00
Paul Riseborough e10ec59058 EKF: Use consistent test for navigation validity reporting
This will enable controller to take advantage of non-inertial dead reckoning.
2017-10-20 14:44:38 +11:00
Paul Riseborough 19074fdd9e EKF: Use consistent time limit for inertial dead reckoning test 2017-10-20 14:44:38 +11:00
Paul Riseborough 55a2dc94df EKF: handle air data fusion covariance reset consistently
Both the sideslip and airspeed fusion should not be resetting covariances for states they do not modify.
2017-10-20 14:44:37 +11:00
Paul Riseborough 0d32128701 EKF: Use dead-reckoning status to determine if air data should modify non-wind states 2017-10-20 14:44:37 +11:00
Paul Riseborough e4ffe199ed EKF: fix bug in sideslip fusion activation 2017-10-20 14:44:37 +11:00
Paul Riseborough 59f1c3e19e EKF: Update dead-reckoning definition
Use of air data to navigate should be classified as dead-reckoning because neither ground relative velocity or position is observed directly and errors grow faster.
2017-10-20 14:44:37 +11:00
Paul Riseborough a2dcd5b9b6 EKF: Consolidate no aiding reset logic 2017-10-20 14:44:37 +11:00
Paul Riseborough 929c5c2b37 EKF: enable gps fusion flag to be false while fusing air data 2017-10-20 14:44:37 +11:00
Paul Riseborough 204a218ee6 EKF: Allow dead-reckoning using air data 2017-10-20 14:22:06 +11:00
ChristophTobler f5fd90533a fix gps and flow flag handling
gps flag was not turning false if there was flow

only reset states if we were relying on that sensor only
2017-10-20 14:22:06 +11:00
Paul Riseborough 9857fb9eb6 EKF: publish control limits for optical flow navigation 2017-10-20 14:22:06 +11:00
Paul Riseborough afa8844eb7 Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
CarlOlsson 2e03084d34 EKF: If aligning yaw for fw with low GPS velocity, use mag 2017-10-19 16:49:54 +02:00
Paul Riseborough 61e0c04811 Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
Matthias Grob f4243160e2 Quaternion: changed comments because of typos and unclear inconsistent indexing 2017-10-17 17:37:23 +02:00
Matthias Grob d259ab2108 Test: add Quaternion rotate() test that catches non-commutating rotations 2017-10-17 17:37:23 +02:00
Matthias Grob ee2219b836 Quaternion: replace conversion in rotate() with AxisAngle call 2017-10-17 17:37:23 +02:00
Matthias Grob b241cf5c95 Quaternion: Adjusted rotate() to the Hamilton convention (which we switched to)
Note: This error was not caught by a test because the test included only trivial cases which do not explore non-commuting quaternions.
2017-10-17 17:37:23 +02:00
Matthias Grob 6b1fea76d0 Quaternion: added and adjusted comments to further explain conjugation and derivative functionality 2017-10-17 17:37:23 +02:00
Matthias Grob 0527471a52 Matrix: adjust buffer size calculation to account for additional characters
Note: If the buffer is too small there's no memory corruption because of the snprintf limit but part of the output gets missing.
2017-10-17 17:37:23 +02:00
CarlOlsson c81cdfa1ce EKF: Fix bug when resetting position and velocities for fw due to something else than bad yaw estimate
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-10-17 15:08:09 +02:00
Paul Riseborough 410697cb0c Merge pull request #337 from CarlOlsson/fix/comment
EKF: fixed comment
2017-10-17 21:15:06 +11:00
CarlOlsson 8c83167857 EKF: fixed comment
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-10-17 11:41:55 +02:00
Paul Riseborough 32b795ee10 EKF: Add readme file to EKF documentation directory 2017-10-13 21:46:41 +11:00
Paul Riseborough 8dd4800a2c EKF: Add preliminary documentation for filter mathematics 2017-10-13 21:34:49 +11:00
Paul Riseborough a34bba87fc Merge pull request #322 from PX4/pr-ekfMagFusionMode
EKF Add mag fusion mode for VTOL
2017-10-13 07:27:54 +11:00
Paul Riseborough dbff89fbcb EKF: Fix error preventing selection of MAG_FUSE_TYPE_AUTOFW 2017-10-12 19:54:35 +11:00
Paul Riseborough 6f7f05fdc0 EKF: Move MAG_FUSE_TYPE_AUTOFW control to the expected place 2017-10-12 14:50:23 +11:00
Paul Riseborough e834522f62 EKF: Use fixed wing status flag in MAG_FUSE_TYPE_AUTOFW logic 2017-10-12 14:50:23 +11:00
Paul Riseborough 7b4c957ad4 ekf2: Add new mag fusion mode
Adds a mode where mag fusion is only used update the field estimates
2017-10-12 14:50:23 +11:00
Paul Riseborough 9c65968c3d Merge pull request #334 from PX4/pr-ekf_minor_flow_fix
ekf: fix optical flow bugs
2017-10-12 09:14:29 +11:00
Paul Riseborough 68bad48598 Merge pull request #330 from CarlOlsson/pr-add_get_wind_vel_var
EKF: added get_wind_velocity_var function
2017-10-12 09:12:54 +11:00
Paul Riseborough 4db23b7b2e EKF: Don't report terrain estimate invalid immediately when HAGL observations fail checks 2017-10-12 08:26:04 +11:00
Paul Riseborough 1119a9b0ac EKF: Enable optical flow reversion to work if flow data is lost
Also improve reporting.
2017-10-12 08:02:54 +11:00
ChristophTobler cdf6e6cd36 EKF: use delta_time to avoid division by zero 2017-10-11 15:15:06 +02:00
Paul Riseborough d293c4231d EKF: Protect against divide by zero caused by invalid optical flow 2017-10-11 21:54:47 +11:00
Paul Riseborough ab9b8e1964 EKF: Prevent bad optical flow quality causing loss of aiding when on ground 2017-10-11 21:22:33 +11:00
ChristophTobler b7e589b98a EKF: only fuse optical flow if terrain is valid 2017-10-10 17:51:56 +02:00
ChristophTobler 81a64c0479 ekf: fix flow direction when on ground 2017-10-10 14:39:44 +02:00
ChristophTobler 6cb99ce8a8 ekf: add function to get in air status 2017-10-03 22:36:33 +02:00
CarlOlsson 8200e4b218 EKF: added get_wind_velocity_var function
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-10-02 14:47:56 +02:00
Paul Riseborough 705f93d0bf Merge pull request #327 from CarlOlsson/parameterize_max_rng_tilt
EKF: Parameterize maximum angle for rng fusion
2017-10-02 17:08:34 +11:00
CarlOlsson 0a7c3ecbc6 EKF: Parameterize maximum angle for rng fusion 2017-09-26 20:53:48 +02:00
Matthias Grob 0a772f59dd Quaternion: added direct efficient body z-axis calculation with test 2017-09-26 11:20:56 +02:00
Matthias Grob 976461eb0f Dcm: more efficient conversion from quaternion, extend reuse of multiplications 2017-09-26 11:20:56 +02:00
Matthias Grob baf54ad29f quaternion: correcting comments
^(-1) went missing and some phrase was inprecise
2017-09-25 12:18:10 +01:00
Paul Riseborough 160e4d69c1 Merge pull request #323 from PX4/pr-ekfQuatMultOrder
EKF: use hamiltonian convention for quaternion multiplication order
2017-09-21 07:49:35 +10:00
Paul Riseborough 4411c7fd1c Merge pull request #325 from PX4/pr-ekfFlowGyroBias
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias
2017-09-14 18:47:46 +10:00
Paul Riseborough 1d3e8edc46 EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias calculation 2017-09-14 18:34:11 +10:00
Paul Riseborough 3b3326e250 Merge pull request #326 from TSC21/fix_travis
travis: install python3.5 for trusty in order to run pip3
2017-09-14 18:32:31 +10:00
TSC21 571a0f7da7 travis: use pyenv in order to force pip3 version 2017-09-14 09:22:09 +01:00
TSC21 7affb42f22 travis: install python3.5 for trusty in order to run pip3 2017-09-14 09:08:11 +01:00
Paul Riseborough dd5b8525c3 EKF: Use hamiltonian convention for quaternion product order 2017-08-31 11:14:02 +02:00
Paul Riseborough b57b5e869d matrix: Use hamiltonian convention for quaternion product 2017-08-31 11:14:01 +02:00
James Goppert e595ebb9a7 Switch to Hamilton quaternions and add Cholesky decomposition. 2017-08-31 11:09:20 +02:00
Paul Riseborough b0300b9723 Revert "attitude_fw delete unused and cleanup"
This reverts commit 25bd3ac5e6.
2017-08-30 16:23:40 +02:00
Paul Riseborough 1531269f92 Merge pull request #319 from PX4/pr-attitude_fw-cleanup
attitude_fw delete unused and cleanup
2017-08-28 09:48:49 +02:00
Daniel Agar 25bd3ac5e6 attitude_fw delete unused and cleanup 2017-08-26 17:44:24 -04:00
Paul Riseborough fac292fef9 Merge pull request #321 from dagar/pr-ekf_formatting
EKF trivial code style cleanup
2017-08-26 18:17:23 +10:00
Daniel Agar 99ba1c3745 EKF trivial code style cleanup 2017-08-25 10:09:11 -04:00
ChristophTobler 89236ef275 Merge pull request #314 from PX4/pr-check_stuck_rng
Pr check stuck rng
2017-08-21 07:54:06 +02:00
Peter Dürr 305a95aef9 Integrate Python-based tests and benchmark into Travis
* Unfortunately, due to the SWIG dependency, we need sudo to install on
  Travis (conflicts when adding with debian-sid source prevent using addons)
  which means we cannot use the container-based infrastructure anymore.
* Building the Python bindings requires g++5 (at least with -Werr set).
* When building the Python bindings on Travis, the numpy includes are not found
  by cmake, so they have to be added separately by running a Python process with
  `numpy.get_include()`
* The build script now (somewhat clumsily) depends on the RUN_PYTEST environment
  variable. If it is set to anything other than "", it will make the tests and
  run tests and benchmarks
2017-08-14 12:02:03 +02:00
Peter Dürr 15c8c24418 Fix time units on plots
* Time in plots was of by a factor of 1e3 due to wrong conversion from us.
2017-08-14 12:02:03 +02:00
Peter Dürr b29067a188 Better handle Python dependencies
* Add requirements.txt file with required Python packages
* Read requirements.txt from CMakeLists.txt to check dependencies and alert the
  user if necessary.
2017-08-14 12:02:03 +02:00
Peter Dürr bb5719a0da Add Python wrapper to ecl and use it to test functionality
* Add SWIG interface definition (and external numpy interface) to ecl classes
* Add section in CMakeLists.txt to build Python bindings and execute
  Python-based tests
* Write (property-based) tests that show the basic functionality of the Python
  bindings and the EKF (using pytest and hypothesis libraries)
* Write minimal benchmark for the EKF update (using benchmark plugin for pytest)
* Add plotting utilities to analyze tests
* Add lint script to keep the Python scripts clean
2017-08-14 12:02:03 +02:00
Peter Dürr 5988900044 Add getters for a few private variables of the EstimatorInterface
* For testing it is useful to have access to more internal states
* For the same reason I also promote the const FILTER_UPDATE_PERIOD_MS to
  public
2017-08-14 12:02:03 +02:00
Peter Dürr a2ed0a76f9 Make the destructor of EstimatorInterface virtual
* This is a sane choice (and should arguably always be done for classes with
  virtual methods to avoid undefined behavior)
* It is required for wrapping the EstimatorInterface with SWIG (without virtual
  destructor, deriving from the EstimatorInterface leads to
  -Werror=delete-non-virtual-dtor).
2017-08-14 12:02:03 +02:00
Paul Riseborough 9cf0948bcf matlab: add derivation for air data error equations 2017-08-12 20:59:41 +10:00
Paul Riseborough 3983ac23fa Merge pull request #316 from PX4/pr-ekfTrueAirspeed
EKF: Add true airspeed accessor
2017-08-11 08:18:04 +10:00
Paul Riseborough 967720a9d7 Merge pull request #313 from PX4/pr-ekfYawReset
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-08-08 20:59:49 +10:00
Paul Riseborough 35ffd55481 EKF: Fix incorrect use of double precision operation 2017-08-07 10:34:19 +10:00
Paul Riseborough cc5db74d1b EKF: Add true airspeed accessor 2017-08-07 09:19:48 +10:00
ChristophTobler 8ecec58292 Check for stuck range finder measurements in terrain estimator 2017-07-31 17:59:44 +02:00
ChristophTobler 7252284628 Add check for stuck range finder measurements 2017-07-31 17:59:16 +02:00
ChristophTobler 41f4b62cdb fix indentation 2017-07-31 17:58:03 +02:00
Paul Riseborough 596b8220e2 EKF: Output mag sensor isolation warning first time only 2017-07-31 19:39:07 +10:00
Paul Riseborough ce806768b7 EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing 2017-07-31 19:39:07 +10:00
Paul Riseborough c230663b68 Merge pull request #309 from PX4/pr-ekfYawFusion
EKF: Improve efficiency of yaw fusion for External Vision
2017-07-31 19:37:15 +10:00
Paul Riseborough ba5de96fcb Merge pull request #311 from PX4/pr-ekfExtVis
EKF: Add ability to use EV and GPS data together
2017-07-29 16:29:53 +10:00
Paul Riseborough 3ee6898710 EKF: Enable origin to be maintained when starting aiding using EV only
When starting aiding using EV only and commencing GPS aiding later, this change means that the GPS origin is set to the local position 0,0 point rather than the current vehicle position. This avoids large changes in local position when GPs aiding starts.
2017-07-29 15:31:34 +10:00
Paul Riseborough e08da1c599 EKF: Add ability to use EV and GPS data together
Fuse external vision data using a relative position odometry method when GPS data is also being used and enable both GPOS and EV data to be fused on the same time step.
2017-07-26 18:06:18 +10:00
Paul Riseborough 74d1955dfa Merge pull request #310 from PX4/pr-ekfFixComments
EKF: Correct units in comments
2017-07-26 16:28:44 +10:00
Paul Riseborough f3909244f0 EKF: Correct units in comments 2017-07-25 09:17:18 +10:00
Paul Riseborough 33e8d5923f matlab: Allow replay to handle late start GPS data in log
Also minor fix to comments.
2017-07-24 16:34:50 +10:00
Paul Riseborough e18f92d9c2 matlab: Improve conversion of APM log data
Allow file conversion to work with unequal length GPS and GPA data.
Allow file conversion to work if range, flow and odometry data is not present.
2017-07-24 16:33:12 +10:00
Paul Riseborough 20584ee997 EKF: Improve efficiency of heading fusion calculations when using EV heading
Moves calculation only required for mag heading fusion into the if (_control_status.flags.mag_hdg) branch
When using EV yaw, the observed yaw angle is calculated directly from the EV quaternions using derived expressions from references in code comments.
2017-07-21 10:56:14 +10:00
Paul Riseborough df34b43c00 Merge pull request #308 from PX4/pr-ekfDoxygen
EKF: Update documentation and make compatible with Doxygen
2017-07-21 10:55:18 +10:00
Paul Riseborough 5aeeebf7ac matlab: Fix derivation for 321 Euler rotation sequence 2017-07-21 10:48:54 +10:00
Paul Riseborough 26b5f26891 matlab: Add scripts to calculate rotation conversions for 321 or 312 Euler sequences 2017-07-21 10:22:17 +10:00
Paul Riseborough aec01ce59c EKF: Update class variable documentation and make compatible with Doxygen 2017-07-20 20:16:42 +10:00
Paul Riseborough 627f8184b3 Merge pull request #307 from PX4/pr-constrain_vpos
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance …
2017-07-20 17:35:35 +10:00
ChristophTobler 61a7991693 constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance larger than _state.pos(2) 2017-07-20 08:29:11 +02:00
Paul Riseborough 9b6e1ab2a7 Merge pull request #306 from PX4/revert-305-revert-303-pr-get_terr_valid
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:54:18 +10:00
Paul Riseborough e1fe5b2229 Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos"" 2017-07-19 17:52:35 +10:00
Paul Riseborough 13f8d949bd Merge pull request #305 from PX4/revert-303-pr-get_terr_valid
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:34:03 +10:00
Paul Riseborough c887b02f21 Revert "Split get_terrain_vert_pos() into valid and get_vpos" 2017-07-19 17:33:48 +10:00
ChristophTobler a59cf894d2 Merge pull request #303 from PX4/pr-get_terr_valid
Split get_terrain_vert_pos() into valid and get_vpos
2017-07-17 17:29:20 +02:00
ChristophTobler e429ecab17 check if terrain valid instead of initialized 2017-07-17 16:43:23 +02:00
ChristophTobler eae0522dc2 split into get_terrain_valid and get_terrain_vert_pos 2017-07-17 16:42:42 +02:00
ChristophTobler c42f820072 Merge pull request #295 from PX4/pr-rng_aid_hagl_hyst
rng aid: use hysteresis with lower hagl check
2017-07-17 16:05:45 +02:00
ChristophTobler 517fe8a71f rng aid: use hysteresis with lower hagl check 2017-07-17 13:36:51 +02:00
ChristophTobler 9da9aa632d Merge pull request #298 from PX4/pr-fix_rng_offset
init rng offset with ground clearance param when on ground to avoid n…
2017-07-17 13:33:10 +02:00
Paul Riseborough 18e81eba31 Merge pull request #300 from nicolaerosia/ekf2-dt
sensor_combined stores deltas in usec instead of seconds
2017-07-17 07:25:27 +10:00
Nicolae Rosia 5277141166 sensor_combined stores deltas in usec instead of seconds
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-07-16 20:50:16 +03:00
Paul Riseborough e2a5e57e14 matlab: Update replay scripts
Miscellaneous fixes and tuning changes.
Add plotting of Euler angle uncertainties.
2017-07-16 12:56:02 +10:00
ChristophTobler 8ed61ac052 init rng offset with ground clearance param when on ground to avoid noisy init 2017-07-13 17:43:19 +02:00
ChristophTobler 667517a9b6 Merge pull request #301 from PX4/pr-fix_hagl_valid
return hagl valid false if update was rejected
2017-07-13 17:28:53 +02:00
ChristophTobler d2945abd85 return hagl valid false if update was rejected 2017-07-13 14:17:48 +02:00
Paul Riseborough d69cc3d7c8 Merge pull request #293 from PX4/pr-fixExtVisionFallback
EKF: Allow fallback to non-aiding mode if external vision fusion is lost
2017-07-13 20:45:24 +09:00
Paul Riseborough 9ee35e38df EKF: Don't fallback when optical flow is lost if external vision data is being used 2017-07-13 20:21:41 +09:00
Paul Riseborough 1bb576c197 EKF: Allow fallback to non-aiding mode if external vision is lost. 2017-07-13 20:21:41 +09:00
Paul Riseborough 7a17f74910 Merge pull request #297 from ursa-drone/vispos_fix
Fixed vision position fusion bug
2017-07-12 22:15:54 +09:00
Isaac f96685267e Fixed vision position fusion bug 2017-07-10 13:44:51 +10:00
Paul Riseborough ec2b54fde7 EKF: Ensure normal yaw alignment using mag is performed if GPS method is not 2017-07-08 11:13:40 +02:00
Paul Riseborough d446f66105 EKF: Add a fixed wing mode with setter function 2017-07-08 11:13:40 +02:00
Paul Riseborough f064915889 EKF: Enable planes to recover from bad mag data at start of flight
Adjusts yaw by the amount of the error between GPS and EKF course if innovations are large.
2017-07-08 11:13:40 +02:00
Paul Riseborough 48a42dfb5b Merge pull request #288 from PX4/pr-ekfDelVelBiasFix
EKF: Improve protection against covariance instability in delta velocity bias states
2017-07-04 08:57:32 +10:00
Paul Riseborough 929f205a00 EKF: Changes arising from code review 2017-07-04 08:12:15 +10:00
Paul Riseborough 7b5f55303a EKF: Prevent covariance instability in delta velocity bias state estimation 2017-07-03 21:04:07 +10:00
Paul Riseborough eb1e73ec81 Merge pull request #283 from PX4/ekf_matrix_cleanup
EKF matrix typedef cleanup
2017-07-03 21:02:24 +10:00
Paul Riseborough ae118940b1 Merge pull request #292 from PX4/pr-use_baro_align
use baro for the ekf alignment if range finder is primary height source
2017-07-03 20:31:16 +10:00
Paul Riseborough dfbc9de48e Merge pull request #291 from PX4/pr-ekfWindEstBugFix
EKF: Fix bug affecting wind estimation for planes
2017-07-01 11:06:58 +10:00
ChristophTobler ed8fa16678 use baro for the ekf alignment if range finder is primary height source 2017-06-30 10:28:57 +02:00
Paul Riseborough 73ef95b37f Merge pull request #289 from PX4/pr-height_fixes
Pr height fixes
2017-06-30 12:31:26 +10:00
Paul Riseborough 59edccca4a EKF: Fix bug in wind estimation for fixed wing 2017-06-30 10:32:54 +10:00
Paul Riseborough ba4a311771 EKF: Update comments for wind estimation logic 2017-06-30 10:32:23 +10:00
Paul Riseborough 8e0cd1bc39 EKF: Add parameter to set initial and max allowed wind uncertainty
This enables the initial uncertainty to be set based on application and also ensures that the max allowed growth in wind state variance is consistent with the initial uncertainty specified.
2017-06-30 10:31:16 +10:00
ChristophTobler e1274ad28a move faultiness check above pop_first_older_than() and check independent of range aid to switch back to original sensor if available 2017-06-29 17:07:58 +02:00
ChristophTobler 0d9e535acb Use baro if reset to baro from gps and vice versa 2017-06-29 17:07:42 +02:00
ChristophTobler 4a4b0fa604 remove setting rng faulty in ev mode because not checked 2017-06-29 10:01:16 +02:00
ChristophTobler 066c641d61 range aid: switch to baro/gps even if rng aid conditions met and rng faulty 2017-06-29 09:47:02 +02:00
ChristophTobler 2f382c8e0e if hgt mode is range, switch to baro if range is faulty 2017-06-29 09:47:02 +02:00
ChristophTobler e4f36215cb if in range aid mode, check faultiness that otherwise would never change back 2017-06-29 09:47:02 +02:00
ChristophTobler e800de88b6 remove duplicate 2017-06-29 09:47:02 +02:00
Paul Riseborough 42b2469a46 matlab: fix comment error in file conversion utility 2017-06-29 10:41:42 +10:00
Paul Riseborough 70ece4df17 matlab: Add references for coning and skulling correction method 2017-06-28 15:27:59 +10:00
Paul Riseborough 8ccc45b26b matlab: Fix bug in replay plotting 2017-06-27 16:41:26 +10:00
Paul Riseborough 3e99898d47 matlab: Update readme file for the replay and improve optical flow tuning 2017-06-26 15:23:30 +10:00
Paul Riseborough c1829d8e9a matlab: fix bugs and add replay of PX4 optical flow test data 2017-06-26 14:48:03 +10:00
Paul Riseborough 233c4b49c5 matlab: Add derivation of observation Jacobians used by the terrain estimator 2017-06-20 16:01:30 +10:00
Daniel Agar c44488fdb8 EKF matrix typedef cleanup 2017-06-19 11:10:01 -04:00
Paul Riseborough 9303db85eb matlab: remove project specific code from mag cal comparison script 2017-06-17 17:35:07 +10:00
Paul Riseborough edeed770b7 matlab: fix alignment bugs 2017-06-17 11:46:36 +10:00
Paul Riseborough 7f1cca5b28 Merge pull request #244 from PX4/pr-rangeAid
Pr range aid
2017-06-16 17:47:21 +10:00
ChristophTobler 6f5cffafec fix type of range_aid parameter: int -> int32_t 2017-06-15 10:14:59 +02:00
ChristophTobler 1fed209804 fix formatting 2017-06-15 09:10:43 +02:00
Roman 5036967343 barometer does not special height sensor offset because a barometer
offset from the local origin is calculated if the primary source for
height is not baro

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman c5d464b821 make range sensor height offset computation more robust
- when switching to range finder use the current terrain estimate as
height sensor offset, otherwise spikes in the range measurements could lead
to a wrong offset

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman 182ea43445 fixed baro offset calculation
- do not subtract the height sensor offset variable when computing the
baro offset from the local origin. The baro height offset is calculated
when baro is not fused and so the height sensor offset used in that case
is associated to another sensor and has nothing to do with the baro.

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman 39983a7d55 range aid: added hysteresis for switching in and out of range aid
- prevents rapid switching
- added innovation consistency check for using range aid

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman 1b92c9b5b3 ekf_helper: fixed resetting height using range finder
- take range sensor offset wrt to IMU into account
- use projection to earth Z axis

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman 3778f0921a ekf: enable range finder to be used for estimating height even if it's not
the primary height source

- moved height control into single function in order to decide which sensor
should be used for estimating height
- under certain conditions allow to use the range finder to estimate height
even if it's not the primary height source
- fixed a bug where the delta time for the baro offset calculation was always
zero
- use methods to set height control flags to reduce code duplication and
to prevent bugs

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman 36bffd2571 ekf: calculate the delta time between consecutive baro measurments
(used for calculating filtered baro offset when primary height source
is not baro)

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman a0ab5cf0d7 ekf vel_pos_fusion: added height sensor offset to range innovation calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman a1e67396f4 ekf: added methods for setting control height flags
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Paul Riseborough d6decb3c84 Merge pull request #277 from PX4/pr-ekfBufferParam
EKF: Add a parameter to enable setting of a minimum buffer length
2017-06-15 07:34:21 +10:00
Paul Riseborough c48b879843 Merge pull request #276 from CarlOlsson/feature/only_update_mag_states
EKF: Add feature to use the mag to only update the mag states
2017-06-14 11:04:14 +10:00
CarlOlsson b255d4a53a fixed typos 2017-06-12 18:13:22 +02:00
Paul Riseborough 97eb17a62f Merge pull request #265 from PX4/pr-ekfOutputObserver
EKF: add option to output velocity as time derivative of position
2017-06-12 19:01:54 +10:00
Paul Riseborough fed4a9bc5a EKF: add vertical position derivative output
Add calculation of a vertical position derivative to the output predictor. This will have degraded tracking relative to the EKF states, but the velocity will be closer to the first derivative of the position and reduce the effect inertial prediction errors on control loops that are operating in a pure velocity feedback mode.
Move calculation of IMU offset angular rate correction out of velocity accessor and into output predictor.
Provide separate accessor for vertical position derivative.
2017-06-12 10:45:46 +10:00
Paul Riseborough 16c7041f4a EKF: Add a parameter to enable setting of a minimum buffer length to handle large sensor timing jitter 2017-06-12 09:33:34 +10:00
Paul Riseborough a17879ab91 matlab: miscellaneous EKF replay script file improvements
Save APM and PX4 data into separate directories and level plots accordingly
2017-06-10 13:29:20 +10:00
Paul Riseborough 3a7a66d360 matlab: improve EKF simulation fusion control
Add ability to start before GPS checks pass.
Add ability to turn GPS fusion off and on during replay.
Add ability to turn Optical Flow fusion off and on during replay.
Add ability to turn Visual Odometry fusion off and on during replay.
Convert miscellaneous constants to parameters
2017-06-10 13:02:42 +10:00
Paul Riseborough dabf129daf matlab: Update EKF replay script files
Add automatic save of output results
2017-06-05 20:53:16 +10:00
Julien Lecoeur d0b4f1e225 Use binary operator~ instead of logical operator! 2017-06-05 01:07:52 +08:00
Julien Lecoeur c323b64742 Fix -Werror=int-in-bool-context on GCC 7 2017-06-05 01:07:52 +08:00
Daniel Agar 3e197fdded EKF tests remove extra semicolon 2017-06-05 01:06:41 +08:00
Daniel Agar e7ed32fb82 attitude_fw remove extra semicolons 2017-06-05 01:06:41 +08:00
Daniel Agar 6ed8512ff4 EKF parameters use int32_t (#279) 2017-06-03 17:16:29 -04:00
Paul Riseborough 8351e13c70 Matlab: update readme file and provide link to sample data set 2017-06-03 13:22:08 +10:00
Paul Riseborough 9f61622044 Matlab: Improve efficiency of odometry derivation 2017-06-03 12:39:24 +10:00
Paul Riseborough 510b8763ea Matlab: Add basic implementation of EKF to support development testing 2017-06-03 12:39:24 +10:00
CarlOlsson 871ebb251b EKF: Changed get_control_mode to coyp 32 bits 2017-06-01 11:02:56 +02:00
CarlOlsson a1308482fd EKF: Reset the mag states to the field state variance when switching from the inhibit mag mode to standard mode 2017-05-31 10:18:40 +02:00
CarlOlsson be16406b35 EKF: Add feature to use the mag to only update the mag states 2017-05-26 11:29:21 +02:00
Paul Riseborough 05c3c46f83 ekf2: changes arising from code review 2017-05-17 08:59:01 +02:00
Paul Riseborough 394dd95cba EKF: Don't do magnetic field estimation without earth frame measurements
Use horizontal acceleration to check if yaw is observable independent of the magnetometer.
Use rotation about the vertical to check if mag raises are observable.
If neither yaw of mag biases are observable, save the magnetic field variances and switch to magnetic yaw fusion.
Use the last learned declination when using magnetic yaw fusion so that the yaw reference remains consistent.
When yaw or biases become observable, reinstate the saved variances and switch back to 3D mag fusion.
2017-05-17 08:59:01 +02:00
Paul Riseborough 20db74eca8 Revert "EKF: Add parameter control of individual IMU axis delta velocity bias estimation"
This reverts commit 9c31632e2b.
2017-05-15 16:38:17 +10:00
ChristophTobler 47973a4820 run terrain estimator after control fusion modes. Otherwise _range_data_ready will never be true and fuseHagl() will never run 2017-05-15 07:42:51 +02:00
Paul Riseborough 9c31632e2b EKF: Add parameter control of individual IMU axis delta velocity bias estimation
Add a bitmask parameter to control bias learning for individual axes. This is achieved by setting the disabled states to zero together with their corresponding covariances.
Minor cleanup of the covariance prediction comments.
Removal of unnecessary variable copy operations.
Replace index operations to initialise covariance to zero with the more efficient memset.
2017-05-11 07:51:37 +02:00
Daniel Agar 87fdee440b EKF estimator_interface coverity fix 139419 2017-04-29 11:48:15 +02:00
Daniel Agar b3f8fd19e0 EKF estimator_interface coverity fix 140490, 140491 2017-04-29 11:48:15 +02:00
Paul Riseborough 5ee0ed5a0d EKF: Increase sensitivity and add tuning of bad accel checks 2017-04-29 11:47:38 +02:00
Paul Riseborough e35921534d EKF: fix reporting of optical flow fusion errors 2017-04-29 11:46:39 +02:00
Paul Riseborough 5112ffca90 EKF: Adjust default time delay params and clean up formatting 2017-04-27 07:34:42 +02:00
Paul Riseborough 8a2c5c1ad2 Merge pull request #266 from dagar/valgrind
ekf2 initialization fixes
2017-04-25 17:38:17 +10:00
Daniel Agar 3919d60f66 ekf2 initialization fixes 2017-04-24 18:56:50 -04:00
Paul Riseborough c62bdcbdb2 Merge pull request #264 from PX4/pr-ekfBuildErrorFix
EKF: remove clang build error message
2017-04-18 19:29:16 +10:00
Paul Riseborough c3f966f53e EKF: remove clang build error message 2017-04-18 19:22:59 +10:00
Paul Riseborough d47c372872 Merge pull request #263 from PX4/pr-ekfBuildErrorFix
EKF: Fix travis clang build error
2017-04-18 17:12:51 +10:00
Paul Riseborough 1e393530ed EKF: Fix travis clang build error 2017-04-18 17:06:31 +10:00
Paul Riseborough c607941e2f EKF: Allow external setting of air density for multi-rotor drag fusion 2017-04-16 13:07:12 +02:00
Paul Riseborough 3758c5a09d EKF: down-sample drag specific force data 2017-04-16 13:07:12 +02:00
Paul Riseborough 9f48c0505b EKF: improve covariance stability when estimating wind 2017-04-16 13:07:12 +02:00
Paul Riseborough 5cf31e439d EKF: Add specific drag fusion tuning parameters 2017-04-16 13:07:12 +02:00
Paul Riseborough 465b145929 EKF: Add multi-rotor drag model for wind estimation 2017-04-16 13:07:12 +02:00
Paul Riseborough b07acd8cf3 Merge pull request #254 from PX4/pr-ekfAccelErrorHandling
EKF: improve recovery from bad IMU accel data
2017-04-12 21:39:14 +10:00
Paul Riseborough 0d7e7e9d81 EKF: Don't use EKF origin in GPS drift check calculation
The GPS drift calculations need to be able to run independently of the EKF origin.
2017-04-12 13:11:34 +02:00
Paul Riseborough 7b996c5972 EKF: Increase measurement error allowance for accelerometer clipping 2017-04-07 16:37:27 +10:00
Paul Riseborough f0bbbc8dc6 EKF: Add reporting of bad accel status 2017-04-07 08:47:13 +10:00
Paul Riseborough 2f2ac5be43 EKF: Improve protection against severe IMU accel errors
Use vertical velocity and position innovation failure to detect bad accelerometer data caused by clipping or aliasing which can cause large vertical acceleration errors and loss of height estimation. When bad accel data is detected:

1) Inhibit accelerometer bias learning
2) Force fusion of vertical velocity and height data
3) Increase accelerometer process noise
2017-04-07 08:47:13 +10:00
Paul Riseborough a1a5734443 Merge pull request #259 from PX4/pr-ekfBugFix
EKF: Protect against covariance prediction and update errors
2017-04-06 16:30:07 +10:00
Paul Riseborough bef7325884 EKF: protect covariance prediction from delta time errors
Allow time step to vary by a factor of 2 to allow for jitter.
2017-04-06 13:34:37 +10:00
Paul Riseborough fa07536314 EKF: Prevent rounding errors causing bad conditioned covariance matrix
The previous practice of relying on the off-diagonals being zero caused problems with conditioning of the magnetometer fusion on one flight. By storing the variances when the learning inhibit becomes active and ensuring that the rows and columns in the covariance matrix for the inhibited states are always zero, the observed numerical conditioning error has been eliminated for replay of the problem flight log .
2017-04-06 13:34:37 +10:00
Paul Riseborough 8f6c51e10e Merge pull request #257 from PX4/pr-ekfBugFix
EKF: Do not move EKF origin when performing GPS checks
2017-04-01 08:07:49 +10:00
Paul Riseborough 710b2bcb9f EKF: Do not move EKF origin when performing GPS checks
Doing so can casue large jumps in GPS position and innovation check errors after landing and also reduces the effectiveness of pre-flight innovation consistency checks.
2017-03-31 16:19:30 +11:00
Nate Weibley 471e96ff6f Provide const dataptr access 2017-03-23 20:22:45 -07:00
Nate Weibley 2ad3ec46b9 Mark simple min, max, abs methods as const 2017-03-23 20:22:45 -07:00
Nate Weibley 66e1b406b8 Remove artifical need to virtualize dtors 2017-03-23 20:22:45 -07:00
Paul Riseborough 6d9b556b04 Merge pull request #255 from PX4/pr-ekfBugFix
EKF: fix bugs preventing preflight checks passing
2017-03-21 07:27:43 +10:00
Paul Riseborough a1ff219380 EKF: Extend range of conditions over which we run GPS quality checks
Previously GPS quality checks were only run until the EKF origin was set. This meant that they could not be used by other pre-flight checks.
This change ensures that checks will always be run when the vehicle on-ground or not using GPS to enable use by external preflight checks.
2017-03-21 07:57:23 +11:00
Paul Riseborough ed2938c8a4 EKF: fix bug causing bad accel bias status to latch 2017-03-21 07:57:23 +11:00
Paul Riseborough 2426f1dd3a EKF: remove use of memset to initialise variable
When using a union of flags and integer value it is safer to initialise the value to 0 rather than memset the flags because the flags may not define all bits in the integer.
2017-03-21 07:57:23 +11:00
Pavel Kirienko 499b897e5f Style fix 2017-03-17 12:18:39 -04:00
Pavel Kirienko 99b44c0242 NuttX math lib workaround 2017-03-17 12:18:39 -04:00
Pavel Kirienko 8dbe4a7531 NuttX workaround 2017-03-17 12:18:39 -04:00
Pavel Kirienko 23def31d21 Fixed stdlib imports 2017-03-17 12:18:39 -04:00
Pavel Kirienko e09cf12e2e Removed all uses of C library from tests 2017-03-17 12:18:39 -04:00
Pavel Kirienko 9ebf5f89db Removed all use of C library from the matrix namespace 2017-03-17 12:18:39 -04:00
Pavel Kirienko 552dad40a1 Fixed inclusions in matrix/ 2017-03-17 12:18:39 -04:00
Pavel Kirienko b74749fb61 Un-poisoned fabs 2017-03-17 12:18:39 -04:00
Pavel Kirienko 8af7b8c130 Poisoned the C library identifiers 2017-03-17 12:18:39 -04:00
Paul Riseborough 9ddfd66d01 EKF: Fix bug in accelerometer bias learning inhibit
This bug caused X and Y delta velocity bias state variance to be reset to the same value as the Z axis when learning was inhibited.
Documentation has also been updated.
2017-03-16 09:34:05 +01:00
Paul Riseborough 040639837e EKF: Use common timeout test for reporting deadreckoning
Use a parameter to set the time-out threshold
Use a class variable for the time-out flag
Clean up comments
2017-03-15 07:57:38 +01:00
Paul Riseborough 6ac7e2f807 EKF: report conservative position errors when failing innovation checks 2017-03-15 07:57:38 +01:00
Paul Riseborough 21e7734149 EKF: fix compile error 2017-03-14 13:00:54 +01:00
Paul Riseborough f7cae7f3ab EKF: improve compatibility with ARM cross compiler
This change removes the following compiler error when building using the ARM cross compiler.

/Users/paul/src/Firmware/src/lib/ecl/EKF/ekf_helper.cpp:45:12: error: 'std::abs' has not been declared
 using std::abs;
2017-03-12 22:55:23 +01:00
Paul Riseborough 9bb54ccc08 EKF: don't accept GPS data without a 3D lock 2017-03-10 10:15:53 +01:00
Paul Riseborough 588b27bde7 EKF: inhibit accelerometer bias learning if manoeuvre levels are excessive
This prevents bad scale factors and other errors associated with rapid manoeuvres corrupting the accelerometer bias estimates.
2017-03-10 10:14:06 +01:00
Paul Riseborough 5fb24c3032 EKF: Reduce EKF prediction delta time jitter
Make the target EKF rate an integer multiple of the IMU rate. This slightly increases the average prediction time step for the EKF from just over 10msec to 12msec, but the variation reduces significantly which makes filter tuning more deterministic.
Improve the algorithm used to adjust the collection time criteria to reduce jitter in the correction.
2017-03-10 10:14:06 +01:00
Paul Riseborough 324fe3b0c7 EKF: Add accel bias estimation fault to reporting 2017-03-10 10:14:06 +01:00
Paul Riseborough b51abf4aff EKF: Add console notification for accel bias covariance reset 2017-03-10 10:14:06 +01:00
Paul Riseborough 8511754094 EKF - detect and fix badly conditioned accel bias covariance values. 2017-03-10 10:14:06 +01:00
Paul Riseborough cf31945038 EKF: Fix use of incorrect timestamp
This was incorrectly using the IMU (1/250 sec) timestamp instead of the EKF (1/100 sec) value.
The corresponding accelerometer limit has been made a parameter and adjusted to match previous behaviour.
2017-03-10 10:14:06 +01:00
Paul Riseborough 879ad1fd2c Merge pull request #231 from pickledgator/ev_hgt_counter_fix
height counter update for ev primary height source
2017-03-10 14:18:35 +11:00
Paul Riseborough 092cc52838 EKF: Remove out of date comment 2017-03-10 14:18:13 +11:00
Paul Riseborough e4a4427991 Revert "EKF: fix compile error"
This reverts commit 6db552717d.
2017-03-10 07:38:02 +11:00
Paul Riseborough 6db552717d EKF: fix compile error 2017-03-07 21:13:45 +11:00
Paul Riseborough a02a046f5e EKF: Clean up auto-code files for body frame velocity measurements 2017-03-06 09:01:46 +11:00
Paul Riseborough e569578cf9 EKF: add derivation for body frame velocity measurements 2017-03-04 15:32:10 +11:00
Daniel Agar eb4f5ecbb9 cmake add all EKF sources (#243)
- trivial cmake cleanup
 - travis-ci build with both gcc and clang
 - update matrix to latest (matches PX4)
 - closes #240
2017-02-27 00:46:48 -05:00
Daniel Agar 507f48a147 geo NULL to nullptr (#242) 2017-02-25 15:27:00 -05:00
Paul Riseborough 0d77470efc EKF: Use conservative reporting of velocity errors when aiding is lost 2017-02-25 21:17:01 +01:00
Paul Riseborough 8070691aa4 EKF: Add accessor function for velocity accuracy 2017-02-25 21:17:01 +01:00
Paul Riseborough d6abf3f2e4 EKF: add accessor function for local position accuracy 2017-02-25 21:17:01 +01:00
Paul Riseborough b7d0b3c4d0 EKF: Improve naming of WGS-84 accuracy accessor function 2017-02-25 21:17:01 +01:00
Paul Riseborough d22599b440 EKF: Add reporting of inertial dead-reckoning status 2017-02-25 21:17:01 +01:00
Daniel Agar cf924956d7 test vector3 using matrix::isEqual 2017-02-24 20:47:41 -05:00
Daniel Agar d81ddb0f37 travis-ci only check formatting once 2017-02-24 20:47:41 -05:00
Daniel Agar de3517a5c7 cmake add asan and ubsan 2017-02-24 20:47:41 -05:00
Daniel Agar cfa68c2196 clang-tidy trivial cleanup 2017-02-24 20:47:41 -05:00
Daniel Agar 5f2f6f0308 rename cmake "Profile" to "Coverage" and add builds 2017-02-24 20:47:41 -05:00
Daniel Agar fb87165051 cmake add check 2017-02-24 20:47:41 -05:00
Daniel Agar f00edc9442 update to astyle 2.06 and fix formatting 2017-02-24 20:47:41 -05:00
Daniel Agar 68c7cc5bfd Quaternion add copyTo 2017-02-24 20:47:41 -05:00
Roman 7e2597ec28 update range sensor angle parameters in case they have changed
Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-22 14:12:05 +01:00
Roman aa53f45f15 terrain estimator: removed unused hrt dependancy
Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-22 14:12:05 +01:00
Roman 6480fcc3d5 terrain estimator: fixed computation of filtered time since last range update
- do not use hrt to compute delta time
- limit filter state
- do not use static variables

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-22 14:12:05 +01:00
Paul Riseborough 6561edb9a5 EKF: Clean up terrain estimation functionality.
This is a functionally equivalent. It moves all of the code for the terrain estimator into a single function call from the main filter update, making it clear that it is independent of the main filter.
2017-02-22 14:12:05 +01:00
devbharat 8004e9fe7e EKF: Make range finder data continuous check more robust
Use a filtered arrival time delta to determine if range data is continuous
2017-02-22 14:12:05 +01:00
Paul Riseborough d94068b88a EKF: Simplify calculation of height above terrain observation variance
The tilt compensation being applied previously was based on a flat earth geometric model assuming perfect tilt knowledge which reduces the effect of range errors on height error as the vehicle tilts. however in the real world, variations in terrain gradient and uncertainty in vehicle tilt and sensor alignment tend to increase height error with tilt, so the adjustment of observation variance with tilt has been removed given we do not have a valid mathematical model on which to base it.
2017-02-22 14:12:05 +01:00
Paul Riseborough 3dadc98b43 EKF: enable scaling of range observation variance with height 2017-02-22 14:12:05 +01:00
Paul Riseborough cf9c8de167 EKF: Add arbitrary pitch offset for range sensor 2017-02-22 14:12:05 +01:00
devbharat d9688fae7d EKF: Simplify terrain position validity check
Remove the relative accuracy check that was false triggering close to ground
2017-02-22 14:12:05 +01:00
Paul Riseborough af26ade1ce EKF: Use norm for vector length everywhere 2017-02-22 14:12:05 +01:00
Paul Riseborough 6e5a9aabe1 Merge pull request #234 from PX4/pr-optFlowUpdates
EKF: optical flow improvements
2017-02-22 09:00:48 +11:00
Daniel Agar e2211c5867 QuRT use __builtin_isfinite 2017-02-15 19:30:19 -05:00
Andreas Antener 66b8f7ec5b Removed obsolete fields from ECL control data 2017-02-12 11:40:14 +01:00
Andreas Antener 5363e8d307 Wheel controller: use library function to wrap pi 2017-02-12 11:40:14 +01:00
Daniel Agar 674ab3f81b attitude_fw fix style 2017-02-12 11:40:14 +01:00
Roman f22ad30ef3 removed turn compensation flag form control data since it's obsolete
Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman e1f9874c82 wheel controller: fix computation and scaling of integrator
Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman c4cc02b3f2 yaw controller: fix bug where roll for turn coordination was constrained
wrongly

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman 391b6dfd00 yaw controller: for now do not do turn compensation when inverted and use
the roll setpoint as limit for turn compensation

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman 66b7773059 yaw controller: deactivate lateral acceleration control for now but
put comment of how to do it properly

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman f300877db4 yaw controller: computed desired yaw rate based on coordinated turn constraint
Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman 4057defa53 pitch controller: removed turn offset compensation form pitch controller
- turn compensation is included in the desired yawrate

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman 55401ec1b0 fw attitude control: compute integrator correctly
- I gain was applied wrongly, such that the integrator value was depending
direcly on the I gain. This made the integrator value jump when the gain
was changed

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Roman ac7fc30ea7 fw attitude controllers: restructuring in order to allow acro flight mode
- split rate control into body rate control and euler rate control
- this allows standard attitude control but also direct rate control
of all three axes
- allow activation/deactivation of turn compensation

Signed-off-by: Roman <bapstroman@gmail.com>
2017-02-12 11:40:14 +01:00
Daniel Agar 2750961be6 c++11 initialization cleanup (#237) 2017-02-05 13:05:10 -05:00
Lorenz Meier 2283e6946a Matrix inversion: Ensure that null check is done against the same type 2017-02-04 10:42:10 +01:00
James Goppert 843be9418b Rename isfinite to is_finite to avoid name conflicts. 2017-02-03 18:15:43 -05:00
James Goppert 63aea23f9e Add cholesky decomp, Closes #30, and dynamic print buf 2017-02-03 17:54:16 -05:00
James Goppert a154e14439 Fix coverage for inverse. 2017-02-03 17:24:15 -05:00
James Goppert db6dfeafbe Add helper_functions include for inverse and in general header 2017-02-03 16:56:33 -05:00
James Goppert 230e84702a Fix unit test, create matrix isfinite. 2017-02-03 16:25:55 -05:00
Siddharth Bharat Purohit 7e3eff7b2d remove unnecessary duplicate matrices from inverse 2017-02-03 16:12:17 -05:00
Daniel Agar 7883085e4a clang-tidy readability-simplify-boolean-expr (#235) 2017-02-02 00:17:43 -05:00
Daniel Agar 47b8ef258b clang-tidy performance-type-promotion-in-math-fn (#236) 2017-02-02 00:17:08 -05:00
Paul Riseborough bcf7cac5d9 EKF: remove hardcoded limit on optical flow time delta
Allow for up to 50% lost data.
2017-01-18 06:06:45 +11:00
Paul Riseborough 3fb7effb0c EKF: Allow optical flow use when on-ground with poor data quality 2017-01-18 06:06:45 +11:00
Paul Riseborough 21270bb06a EKF: Use last known position when resuming OF aiding 2017-01-17 08:58:01 +11:00
Lorenz Meier 453bde73f8 ECL: Simplify / correct estimator interface 2017-01-15 10:17:41 +01:00
Roman c5a55d97aa initialise data members properly
- dot not use memset for struct with non POD types

Signed-off-by: Roman <bapstroman@gmail.com>
2017-01-15 10:02:31 +01:00
Paul Riseborough 1465adca2f EKF: Improve use of memcpy
Changes made to remove Coverity scan errors
2017-01-15 10:02:31 +01:00
Paul Riseborough 26a06567bb EKF: add missing initialisation for class variables 2017-01-15 10:02:31 +01:00
Paul Riseborough f999729d70 EKF: fix incorrect use of memcpy 2017-01-15 10:02:31 +01:00
Paul Riseborough b536382ae1 EKF: remove dead code 2017-01-15 10:02:31 +01:00
Paul Riseborough 6358bbd257 EKF: remove self assignment 2017-01-15 10:02:31 +01:00
Paul Riseborough 3b61528f0f EKF3: initialise default value for EV fusion gate 2017-01-15 10:02:31 +01:00
Paul Riseborough 9ddcba3ed0 EKF: remove un-used variable 2017-01-15 10:02:31 +01:00
Daniel Agar d668a2d798 clang-tidy performance-unnecessary-value-param 2017-01-14 16:26:25 -08:00
Daniel Agar a7cdef6c5c clang-tidy modernize-redundant-void-arg 2017-01-14 16:24:45 -08:00
Nic ec1a14bc6b height counter needs to be updated with ev counter value when our primary height source is set to ev 2017-01-05 21:47:13 -08:00
Paul Riseborough 3c4c09593f EKF: Rationalise console messages
Combine the observation action buffer and alignment messages
Ensure all data timeout messages are warnings.
Use consistent terminology.
2016-12-28 10:39:47 +01:00
Paul Riseborough 934890c2df EKF: Add validity flag to ekf origin reporting
Flag is false until the origin has been initialised
2016-12-28 00:56:09 +01:00
Dennis Mannhart b154ce9c33 Fixed include for snapdragon 2016-12-23 10:22:25 +01:00
Lorenz Meier 9618adb542 Simplify switch logic for validator 2016-12-21 08:10:08 +01:00
Lorenz Meier 6f78ef4084 Update validator to provide correct response for single sensor usage 2016-12-17 20:44:46 +01:00
Lorenz Meier aad3a2b751 Validator: Trim down printing and do not reset init state 2016-12-17 17:39:55 +01:00
Lorenz Meier 75520641a5 Make the equal value threshold configurable 2016-12-17 15:25:29 +01:00
Lorenz Meier 00dbffe11d Validator whitespace fixes 2016-12-17 13:45:28 +01:00
Lorenz Meier bf8a9a3d09 EKF: Whitespace fixes 2016-12-17 13:45:28 +01:00
Lorenz Meier 6282c72d2e Validation: Whitespace fixes 2016-12-17 13:45:28 +01:00
Lorenz Meier 10c6ae77ae Attitude fw yaw: Initialize yaw rate properly 2016-12-17 13:45:28 +01:00
Matthias Grob 47c0a93140 Quaternion: added tests for the corner cases of Dcm to quaternion conversion 2016-12-14 18:25:06 +01:00
Matthias Grob 2f4427a923 Quaternion: Implemented the largest pivot element method for conversion from Dcm to Quaternion to avoid numerical problems 2016-12-14 17:55:05 +01:00
Matthias Grob bb1a321639 Changed Dcm to inherit from SquareMatrix because it is square and we can use the trace method 2016-12-14 17:42:45 +01:00
James Goppert 7eff04742c Fix for zero check on quat from dcm ctor. 2016-12-13 10:21:55 -05:00
James Goppert 74a120f554 Handle some divide by zero edge cases on init. 2016-11-30 01:27:48 -05:00
James Goppert 945edbc58c Ensure direction is always defined for axis angle. 2016-11-30 00:40:55 -05:00
James Goppert 8a94f0f8ac Fix axis angle fabsf usage. 2016-11-28 10:43:29 -05:00
Daniel Agar 983c44088f fw att fix pitch feedforward constrained roll 2016-11-27 12:34:12 +01:00
Paul Riseborough a776b2c549 EKF: Fix bug preventing reset to GPS position when using optical flow 2016-11-26 10:28:58 +01:00
Paul Riseborough 460c9e5250 EKF: Don't try to fuse air data if not in normal aiding mode
Taking off before passing GPS checks would cause airspeed or sideslip to be fused when the filter was still using a constant position assumption. This would cause large airspeed innovations, invalid wind estimates and degrade filter performance after GPS was gained and position and velocity was reset.
2016-11-26 10:28:58 +01:00
James Goppert bf69be7f17 Fix formatting. 2016-11-22 10:07:08 -05:00
James Goppert f3e478cbff Fix matrix inverse pivotting logic. 2016-11-22 10:04:45 -05:00
Paul Riseborough 5ad329b641 EKF: Fix variable names to match convention 2016-11-07 22:23:12 +11:00
Paul Riseborough afd6e54b2a EKF: Allow for worst case timing jitter when setting observation buffer length 2016-11-07 11:50:16 +11:00
Paul Riseborough 403424d55d EKF: fix cross compiler build errors 2016-11-07 09:38:44 +11:00
Paul Riseborough d5b398ddb1 EKF: Minimise data buffer lengths
Saves RAM and reduces output predictor errors by using the smallest data buffer length that meets time delay and update rate requirements.
2016-11-07 09:06:45 +11:00
Paul Riseborough 750a8874c1 EKF: Improve recovery and reporting for badly conditioned sideslip fusion
Do not reset the entire covariance matrix if we are only using sideslip fusion to update wind states.
Improve reporting.
2016-11-05 12:19:01 +01:00
Paul Riseborough 6c7703d485 EKF: Update tuning for synthetic sideslip fusion
Used value that worked well for replay of flight logs
2016-11-05 12:19:01 +01:00
Paul Riseborough f76a2a5ff7 EKF: fix bug in sideslip fusion and reduce RAM usage
The bug meant the  Y velocity (state index 5)  covariance was not being updated correctly when sideslip was being used to constrain velocity drift (extended GPS loss).
The rework of the covariance update to reduce RAM follows the same pattern as adopted for other fusion processes
2016-11-05 12:19:01 +01:00
Paul Riseborough 951c8b77af EKF: Improve wind state reset logic
Enables wind estimation without an airspeed sensor and enables synthetic sideslip to be used with an airspeed sensor for improved wind state estimation.
Wind states and covariances are reset differently depending on whether airspeed is available.
2016-11-05 12:19:01 +01:00
Paul Riseborough 2fedbc8a18 EKF: Refresh sideslip fusion auto-code and improve covariance update efficiency 2016-11-05 12:19:01 +01:00
Paul Riseborough 352b4ca177 EKF: Allow sideslip fusion with airspeed fusion 2016-11-05 12:19:01 +01:00
Paul Riseborough fb6f4be453 EKF: don't allow sideslip fusion to affect non-airspeed states if not deae-reckoning 2016-11-05 12:19:01 +01:00
CarlOlsson a9182259a5 fixed bug in beta fusion 2016-11-05 12:19:01 +01:00
CarlOlsson 0e3ae4b323 fixed issue with the covariance update in synthetic sideslip fusion 2016-11-05 12:19:01 +01:00
CarlOlsson e1d9d503e3 updated logic of when to fuse beta. Now synthetic sideslip measurements are fused after 5 seconds of cruise flight with airspeed sensor activated 2016-11-05 12:19:01 +01:00
CarlOlsson dec686afd7 updated parameters 2016-11-05 12:19:01 +01:00
CarlOlsson 5205a8198b added function to control when to fuse beta 2016-11-05 12:19:01 +01:00
CarlOlsson f5d0228cd5 include ecl.h 2016-11-05 12:19:01 +01:00
CarlOlsson beb90f008d adopted code for upstream changes 2016-11-05 12:19:01 +01:00
CarlOlsson b7a4a1358f added sidelip_fusion.cpp 2016-11-05 12:19:01 +01:00
CarlOlsson 12aeaafbd3 adopted estimator_interface.h 2016-11-05 12:19:01 +01:00
CarlOlsson c8e3c24150 adopted ekf_helper.cpp 2016-11-05 12:19:01 +01:00
CarlOlsson 8f6c75bb0b adopted ekf.h 2016-11-05 12:19:01 +01:00
CarlOlsson 15768f6f93 adopted ekf.cpp 2016-11-05 12:19:01 +01:00
CarlOlsson 738414d36e adopted common.h 2016-11-05 12:19:01 +01:00
CarlOlsson 6c9cc5691c adopted EKF/CMakeLists 2016-11-05 12:19:01 +01:00
CarlOlsson daf44dcd67 adopted CMakeLists 2016-11-05 12:19:01 +01:00
Paul Riseborough 283c328c23 Merge pull request #212 from PX4/pr-ekfCriticalBugFix
EKF: Fix bug causing repeated resets if GPS sensor disconnected
2016-11-05 09:43:24 +11:00
Paul Riseborough 8aee45dd96 EKF: Fix bug causing repeated resets if GPS sensor disconnected 2016-11-05 09:36:06 +11:00
Paul Riseborough 2bc50489fd Merge pull request #210 from PX4/remove_KH
EKF: reduce KH to only the elements that are really needed, and merge the loops
2016-11-05 09:24:13 +11:00
James Goppert 34fccdd680 add renormalize method (#32) 2016-11-02 12:10:30 -04:00
Beat Küng 07c6aabd98 EKF: reduce KH to only the elements that are really needed, and merge the loops 2016-11-02 10:26:40 +01:00
Paul Riseborough 1b59a89a18 EKF: save some stack memory 2016-11-02 09:06:06 +01:00
Beat Küng f472324ae8 DataValidatorGroup: remove the assert
(avoid crashes in flight)
2016-11-01 22:49:20 +01:00
Beat Küng 25cb400da9 EKF: remove Ekf::KHP and move KHP to the methods where it's used
Everywhere where KHP is used, it is first completely reset, thus making
it unnecessary to keep it as a class member.

This saves 2.3KB RAM.

Stack sizes don't need changing, since there is already a function
Ekf::predictCovariance(), which needs around 3KB of stack and is called
close to where the fuse* functions are called.
2016-11-01 22:49:20 +01:00
Beat Küng 227938d263 DataValidatorGroup: add add_new_validator() to dynamically add new validators 2016-11-01 22:49:20 +01:00
Beat Küng ded3b1a690 DataValidatorGroup: fix memory leak, delete all DataValidator's in destructor 2016-11-01 22:49:20 +01:00
Beat Küng b870f92e1c DataValidator: use 32bit timeout instead of 64bit, saves memory 2016-11-01 22:49:20 +01:00
Paul Riseborough d07692e87e Merge pull request #204 from PX4/pr-gpsReset
ekf reset: more granular reset / timeout strategy for gps fusion
2016-10-26 06:52:10 +11:00
Paul Riseborough 79df7e8889 EKF: Reduce effect of bad airspeed when other aiding data available 2016-10-25 08:34:41 +02:00
Paul Riseborough 968cfae632 EKF: Fix bug preventing fallback from GPS mode if GPS is lost 2016-10-25 08:32:01 +11:00
Roman 63cf3d50be ekf gps reset: do not bother checking for need of reset if gps is not
available

Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-24 11:45:36 +02:00
Roman c5f750dcca ekf reset: more granular reset / timeout strategy for gps fusion
- if both gps position and velocity measurements are rejected for 7 seconds
do a reset
- if only gps position measurements are rejected then wait for 14 seconds
as we still have velocity measurements to constrain the drift in position
- introduced ecl internal parameter for the timeout

Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-24 11:40:12 +02:00
Roman Bapst 65de4962b5 Merge pull request #203 from PX4/pr-ekfVibeReporting
EKF: Add IMU vibration calculation and reporting
2016-10-19 13:32:53 +02:00
Paul Riseborough b10b0184c5 EKF: Add IMU vibration calculation and reporting
Add calculation and reporting of IMU delta angle and velocity coning and high frequency vibration
2016-10-19 21:46:55 +11:00
Roman 17c195d1cd ekf2 height reset: do not apply height change to height state twice (bug)
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-18 07:58:19 +02:00
Paul Riseborough 1093e6d789 EKF: fix documentation error 2016-10-13 22:37:14 +02:00
Roman f80b3481a4 reset the newest output sample for all possible resets
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Roman 238d947239 proper handling of position and velocity reset
- position reset method was returning before the actual delta values
were written and applied to the output buffer
- apply reset delta also to the output sample which was already taken out
from the output buffer, otherwise the complementary filter solution is
offset from the ekf solution

Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Paul Riseborough 79b1d3018d EKF: Fix magnetometer innovation test ratio reporting bug 2016-10-12 08:51:45 +02:00
Lorenz Meier 394bfdc935 Update README.md
Fix prerequisites.
2016-10-08 11:00:52 +02:00
Daniel Agar 0d02bb2612 ecl attitude_fw fix excessive body fixed turn offset
-limit body fixed turn offset contrained roll to possible
roll setpoint range
-fixes #181
2016-10-06 09:03:48 +02:00
James Goppert 7dbb43f2cd Update matrix. 2016-10-06 09:03:10 +02:00
Paul Riseborough 352750e5d1 EKF: publish ekf solution status summary data 2016-10-06 09:02:29 +02:00
Paul Riseborough 007e73379f EKF: Improve reporting of position error 2016-10-06 09:02:29 +02:00
Paul Riseborough 744b79c1b2 EKF: Publish innovation test ratios 2016-10-06 09:02:29 +02:00
Paul Riseborough 5ab90048e1 Merge pull request #184 from PX4/pr-rngDelayFix
fixed computation of range measurement timestamp
2016-10-04 09:13:19 +11:00
Paul Riseborough b29174d86b Merge pull request #193 from PX4/pr-haglInit
Pr hagl init
2016-10-04 08:21:15 +11:00
Paul Riseborough 5702c2d51b Merge pull request #186 from priseborough/pr-ekfOutputPredictor
EKF: Improve Output Predictor Tracking
2016-10-04 07:47:34 +11:00
Paul Riseborough b5ba4f280f EKF: reduce output predictor velocity time constant 2016-10-03 14:13:07 +11:00
Paul Riseborough 65762e5998 EKF: publish output predictor tracking errors 2016-10-03 14:13:07 +11:00
Paul Riseborough c81f9f1dba EKF: Reduce output predictor tracking errors
Implements a PI tracking loop
2016-10-03 14:13:07 +11:00
Julian Oes 4fefe5c6c6 cmake: stack size args cleanup 2016-09-28 08:23:18 +02:00
Julian Oes 616aeb9ad7 ekf_helper: fix forgotten return value 2016-09-27 16:36:29 +02:00
Julian Oes fd403b733d CMakeLists: don't always optimize for size
Going forward the optimization flags should be set for a platform,
rather than for each individual module.
2016-09-27 16:35:35 +02:00
Roman c6e1d97176 terrain estimator: initialise with projection
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:09:42 +02:00
Roman cc05db4985 terrain estimator: pass initialisation return value correctly
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:07:50 +02:00
Roman d53f532079 fixed computation of range measurement timestamp
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-17 11:41:12 +02:00
Paul Riseborough 7240fc78fe Merge pull request #183 from CarlOlsson/cont_wind_estimation
Fix wind state  and wind variance initialization
2016-08-23 19:55:22 +10:00
James Goppert db4374882b Fix attitude tests. 2016-08-18 16:54:43 -04:00
James Goppert 3aeb099249 Revert "Use Hamilton quaternion definition."
This reverts commit 19554c4470.
2016-08-18 16:51:00 -04:00
James Goppert eab57b0187 Merge pull request #189 from PX4/revert-188-matrix_update
Revert "Update matrix."
2016-08-18 12:29:41 -04:00
James Goppert e5b74f511f Revert "Update matrix." 2016-08-18 12:29:31 -04:00
James Goppert 90f6bd7f3d Merge pull request #188 from PX4/matrix_update
Update matrix.
2016-08-18 12:06:20 -04:00
James Goppert 1daea6c1a3 Update matrix. 2016-08-18 11:58:31 -04:00
James Goppert 4653626d92 Format. 2016-08-16 19:04:23 -04:00
James Goppert 0eb8aa0c0b Support more of mathlib function for easier swap in px4. 2016-08-16 19:03:54 -04:00
James Goppert 558777f34c Fix formatting. 2016-08-16 12:43:42 -04:00
James Goppert 262a715d90 Fix some when building in px4. 2016-08-16 12:37:41 -04:00
James Goppert 4be23552c5 Bump version. 2016-08-16 12:13:26 -04:00
James Goppert 9af58f7e08 Coverage fix. 2016-08-16 12:00:37 -04:00
James Goppert 6197515a51 Fix shadow warnings. 2016-08-16 11:50:46 -04:00
James Goppert f02fb37265 Add Testing to git ignore. 2016-08-16 11:40:14 -04:00
James Goppert 37b00b0880 Added check or consistency of dcm and quaternion product. 2016-08-16 11:37:45 -04:00
James Goppert 1a87564b85 Added dcm quat prod consistency check. 2016-08-16 11:33:56 -04:00
James Goppert 4f13809420 Added axis angle accessors, removed == operator. 2016-08-16 11:05:01 -04:00
James Goppert 19554c4470 Use Hamilton quaternion definition. 2016-08-16 03:59:06 -04:00
James Goppert e6a6b4680c Use quaternion multiplaction for quaternion derivative. 2016-08-16 01:03:23 -04:00
CarlOlsson 8d60da1442 removed old wind initialization 2016-08-11 15:26:21 +02:00
CarlOlsson 51c8715638 fixed issue with airspeed never fused 2016-08-11 15:26:21 +02:00
Paul Riseborough d1d56d9e5e EKF: Add logic to to control wind state estimation 2016-08-11 15:26:21 +02:00
Paul Riseborough 75bec44b94 EKF: add function to initialise wind states 2016-08-11 15:26:21 +02:00
Paul Riseborough 6dff2df28e EKF: Add method to reset wind state covariances
Set variances in polar coordinates and rotate into cartesian frame
2016-08-11 15:26:21 +02:00
Paul Riseborough eff9af549f scripts: derive conversion from polar to cartesian wind state covariance 2016-08-11 15:26:21 +02:00
Paul Riseborough a9894d7e8c EKF: improve efficiency of airspeed fusion
Don't compute array entries where the result will be zero
2016-08-11 15:26:21 +02:00
Roman Bapst df0f8fed45 fixed wrong condition on which gps height would be fused (#180)
- this solves the issue where height innovations would jump
between two regimes

Signed-off-by: Roman <bapstroman@gmail.com>
2016-08-05 14:45:48 +02:00
Youssef Demitri 168d9add76 added getter function for wind states 2016-07-22 12:33:41 +02:00
Beat Küng 73b8ac954d ekf_helper.cpp: remove unused includes
This fixes a compile error with GCC 5.2.0 and cross-compilation:
/usr/arm-none-eabi/include/c++/5.2.0/arm-none-eabi/armv7e-m/fpu/bits/error_constants.h:122:27: error: 'ENOTSUP' was not declared in this scope
       not_supported =     ENOTSUP,

The problem was that the #include <iomanip> was taken from the host system,
which conflicts with includes from NuttX (NuttX has only basic C++ STL
support)
2016-07-15 12:50:11 +02:00
Lucas De Marchi 2240eb6b4f Move __STDC_FORMAT_MACROS to build system (#174)
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.

Instead of defining it everywhere it is used, let the PX4 build system
to deal with it.
2016-07-10 16:29:51 +02:00
georgehines 4f8ffb3420 promote to float (for internal representation) before scaling by format multiplier (#175) 2016-07-10 11:13:18 +02:00
Paul Riseborough a2d866520a EKF: perform innovation check in all axes before fusing 3D mag data (#171)
Perform the innovation consistency check on all axes first and exit if any axis fails. Reduces the likelihood of bad magnetometer data corrupting the attitude estimates.
2016-07-07 16:46:30 +02:00
James Goppert c563c41cd4 Fix cmake version. 2016-07-06 01:56:24 -04:00
James Goppert cbb7e06a1f Replace float with Type in kalman. 2016-07-06 01:39:06 -04:00
James Goppert 9353e4cb64 Fix bugs in axis angle. 2016-07-06 01:37:50 -04:00
James Goppert 7b7297b674 Fix for ctor comments on axis angle. 2016-07-05 21:30:22 -04:00
James Goppert fdf00d163c Small fix to README. 2016-07-05 21:27:42 -04:00
James Goppert 0b1bed6b00 Added deprecation warnings in source code. 2016-07-05 21:16:17 -04:00
James Goppert b78e124b73 Fix for README. 2016-07-05 21:08:12 -04:00
James Goppert 298e037f3a Added AxisAngle to README. 2016-07-05 21:06:48 -04:00
James Goppert 0f41af271a Added axis angle attitude representation. (#25) 2016-07-05 20:59:42 -04:00
James Goppert 3320d57f63 Fix format.sh user message. 2016-07-05 17:13:41 -04:00
Beat Küng 42eadb2656 format.sh: better inform the user what to do on style issues (#24) 2016-07-05 17:09:25 -04:00
Beat Küng b1f76782f6 Euler, Quaternion: fix compiler errors for GCC 6.1.1 (#23)
* Euler, Quaternion: fix compiler errors for GCC 6.1.1

GCC output:
error: implicit conversion from ‘float’ to ‘double’ to match other operand
of binary expression [-Werror=double-promotion]

* astyle: fix formatting for Euler.hpp & Quaternion.hpp
2016-07-05 17:00:35 -04:00
Beat Küng 5e0a229ee8 data_validator cleanup: use dimensions variable, use static for some constants (#167) 2016-06-30 13:28:01 +02:00
Paul Riseborough 0cc0008927 Merge pull request #166 from georgehines/matlab-log-import
add double support
2016-06-30 17:21:37 +10:00
Paul Riseborough eaae95fdc4 Merge pull request #160 from priseborough/pr-ekf2Improvements
EKF: clean up fusion control logic
2016-06-30 17:18:14 +10:00
Paul Riseborough f5e9ea1626 EKF: Prevent potential divide by zero 2016-06-30 17:06:32 +10:00
Paul Riseborough eb2afc522d EKF: fix bug preventing use of baro as a backup height source 2016-06-30 17:06:32 +10:00
Paul Riseborough 573f252b73 EKF: fix bug preventing GPS use as a backup height source 2016-06-30 17:06:32 +10:00
Paul Riseborough 5f9752cac8 EKF: Improve function names 2016-06-30 17:06:32 +10:00
Paul Riseborough 7bc9217f00 EKF: Clean up control of observation fusion
All the decision for a sensor are made within a specific function for that sensor and when there is data to process at the fusion time horizon.
Information and warning messages are improved.
2016-06-30 17:06:32 +10:00
Beat Küng 9a95898414 gps_message: remove time_usec_vel from struct (unused) 2016-06-27 10:12:23 +02:00
George Hines f467e714bd add double support 2016-06-23 09:24:11 -07:00
Roman Bapst 1b394460a3 fix comment about filter bias states
Signed-off-by: Roman Bapst <roman@px4.io>
2016-06-21 14:13:47 +02:00
Roman Bapst bec1a6831e added method to get gyro bias
Signed-off-by: Roman Bapst <roman@px4.io>
2016-06-21 14:13:47 +02:00
Lorenz Meier 74a77b45b2 Add DOI 2016-06-12 11:51:54 +02:00
Paul Riseborough 16bdbebdc6 Merge pull request #161 from PX4/pr-resetFix
do not return early in velocity reset method
2016-06-08 17:23:09 +10:00
Roman 703fb4e31b do not return early in velocity reset method otherwise
some code will not be executed
2016-06-08 07:51:18 +02:00
Paul Riseborough 928a7dd059 Merge pull request #157 from PX4/pr-ekf2ResetInterface
Change state reset information interface
2016-06-08 14:18:31 +10:00
Paul Riseborough 2024252d65 Merge pull request #158 from CarlOlsson/act_ars_off_by_default
activate tas fusion, off by default
2016-06-08 14:17:31 +10:00
Paul Riseborough e72788bd0f Merge pull request #159 from priseborough/pr-ekf2MagBugFix
EKF: Fix critical bugs in mag fusion and yaw reset
2016-06-08 14:11:47 +10:00
Paul Riseborough f26aca55a1 EKF: Fix bug in quaternion covariance initialisation function
The covariances between quaternion and non-quaternion states were not being updated
2016-06-08 13:23:30 +10:00
Paul Riseborough b3baab64f2 EKF: Updates to 3-axis mag fusion auto-code
The code fragments for the magnetometer fusion have been refreshed from the auto-coder.
Explicit floating point types used for constants.
The 3x24 observation Jacobian has been replaced with a 1x24 that is updated each axis iteration to save memory.
2016-06-08 12:56:59 +10:00
Paul Riseborough 21168f9929 EKF: fix bug in 3-axis mag fusion innovation test
The fault flag was not being set after an innovation test failure resulting in fusion of the failed measurement
2016-06-08 11:58:33 +10:00
Paul Riseborough 99b34f0df4 EKF: Only reset necessary terms when mag fusion covariance reset required
Only the quaternion and mag fusion state covariances are used in the mag fusion calculations.
2016-06-08 11:58:33 +10:00
Paul Riseborough 381d99aed6 EKF: Inform console of serious fusion numerical errors 2016-06-08 11:58:33 +10:00
Paul Riseborough dbfe8c0242 EKF: remove approximation in mag fusion innovation variance calculation
The covariance was not being updated with the observation from one axis before the innovation variance was calculated for the next axis. This results in greater weighting on measurements for subsequent axes.
2016-06-08 11:58:33 +10:00
Paul Riseborough 79228352e9 EKF: Reset mag and wind state variances to 'reasonable' values
If an in-flight reset is required, we do not want these variances going to zero as that will significantly delay recovery
2016-06-08 11:58:33 +10:00
Paul Riseborough 34ffffa021 EKF: Prevent use of non time-stamped invalid data during initialisation
Fixes bad height initialisation seen intermittently with snapdragon
2016-06-08 11:56:07 +10:00
CarlOlsson eded0a8f7e activate tas fusion, off by default 2016-06-07 13:49:17 +02:00
Paul Riseborough 3c84d37175 Merge pull request #156 from PX4/fix_printfs
EKF: use ECL printfs everywhere
2016-06-07 09:45:00 +10:00
Paul Riseborough 081e17729c EKF: delay commencement of 3D mag fusion until clear of ground
Wait until enough height has been gained to be clear of ground based magnetic anomalies. Failure to do so can result in incorrect earth field initialisation.
2016-06-06 21:59:46 +10:00
Roman Bapst 670c6ca019 change state reset information interface for more convenient handling
on firmware side
2016-06-06 13:22:20 +02:00
Paul Riseborough f08aee0a7d EKF: Fix covariance index bug 2016-06-04 00:36:07 +10:00
Julian Oes ab0ac05b47 ecl.h: guard PX4 defines with ifdef 2016-06-02 16:29:55 +01:00
Julian Oes b8e2f79005 EKF: correct include paths 2016-06-02 16:29:22 +01:00
Julian Oes ecfd8c867a EKF: use ECL printfs everywhere
- Changes all printfs to ECL printfs
- Add ECL_ERR.
- Include ecl.h where needed.
- Add forgotten pragma once.
2016-06-02 16:07:26 +01:00
Paul Riseborough 8bfdb0430c Merge pull request #150 from PX4/pr-ekf2StatusReporting
EKF: Publish full reset and innovation consistency check status data
2016-06-02 07:17:49 +10:00
Paul Riseborough 6a55d908c5 EKF: replace reset event times with event counters
Using a 64bit integer was unnecessary given it was only being used to detect a new reset event.
2016-06-01 17:13:00 +10:00
Paul Riseborough 70f76e1a6c EKF: publish innovation consistency check fail status 2016-06-01 17:13:00 +10:00
Paul Riseborough e371a303a9 EKF: publish the quaternion reset event 2016-06-01 17:13:00 +10:00
Paul Riseborough 81ca167da8 EKF: align output observer to EKF states on startup 2016-06-01 17:13:00 +10:00
Paul Riseborough 3ec9221c18 EKF: update output observer and capture reset event for EV yaw resets 2016-06-01 17:13:00 +10:00
Paul Riseborough 9ec09f5f4e EKF: update output observer and capture reset event for magnetic heading resets 2016-06-01 17:13:00 +10:00
Paul Riseborough 2b0d5c28f0 EKF: capture full quaternion change for reset events 2016-06-01 17:13:00 +10:00
Paul Riseborough b2e432e211 EKF: publish position and velocity reset data 2016-06-01 17:13:00 +10:00
Paul Riseborough 733862f649 EKF: move the reset status struct to the Ekf class
This protects it from being modified externally
2016-06-01 17:13:00 +10:00
Paul Riseborough aca0336392 EKF: update vertical position and velocity reset capture
Use reset event struct members instead of separate variables
2016-06-01 17:13:00 +10:00
Paul Riseborough 0605c88ecc EKF: capture horizontal position reset events 2016-06-01 17:13:00 +10:00
Paul Riseborough e3a1b4a3b3 EKF: capture velocity reset events 2016-06-01 17:13:00 +10:00
Paul Riseborough 4237269fab EKF: add struct to capture state reset events 2016-06-01 17:13:00 +10:00
Paul Riseborough 65da9173b9 EKF: capture innovation checks and reset events in separate variables
rename the innovation check status class variable and remove the reset flags from it.
2016-06-01 17:13:00 +10:00
Paul Riseborough 79705da7e6 EKF: make output predictor states consistent with position reset 2016-06-01 17:13:00 +10:00
Paul Riseborough 54d90261d5 EKF: make output predictor states consistent with velocity reset 2016-06-01 17:13:00 +10:00
Paul Riseborough 52229da089 EKF: capture optical flow innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough d80e71a499 EKF: capture HAGL innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough 8125717bf5 EKF: remove un-used airspeed health class variable
Airspeed rejection now is captured in _sensor_fault_status
2016-06-01 17:13:00 +10:00
Paul Riseborough 388e500180 EKF: remove un-used magnetometer health class variable
replaced by _sensor_health_status
2016-06-01 17:13:00 +10:00
Paul Riseborough cf489f4248 EKF: capture airspeed innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough e7690bd8f8 EKF: capture magnetometer innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough 3fb449295e EKF: capture yaw innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough 52f6eea52b EKF: capture position and velocity innovation test failures 2016-06-01 17:13:00 +10:00
Paul Riseborough aea827aa8a EKF: ensure filter fault status is initialised 2016-06-01 17:13:00 +10:00
Paul Riseborough 106482b078 EKF: add structure to capture innovation test failures and state resets 2016-06-01 17:13:00 +10:00
Paul Riseborough 654093cae1 Merge pull request #155 from PX4/pr-ekf2AlignmentNoiseFilterInit
EKF: Initialise alignment noise filters using valid data
2016-05-28 09:12:15 +10:00
Paul Riseborough 70c40d695d EKF: Initialise alignment noise filters using valid data
Don't initialise the states for the alignment data noise filters until the buffers have been flushed
2016-05-28 09:04:26 +10:00
Paul Riseborough 35bb6cc6e9 Merge pull request #154 from PX4/pr-ekf2AlignmentBufferFlush
EKF: Ensure bad initial data is flushed from buffers before use
2016-05-28 08:41:24 +10:00
Paul Riseborough c905684c12 EKF: Ensure bad initial data is flushed from buffers before using data to perform alignment 2016-05-28 08:28:57 +10:00
Paul Riseborough 9557f64248 Merge pull request #153 from PX4/pr-ekf2ExternalVision
EKF: external vision bug fixes
2016-05-27 18:57:41 +10:00
Paul Riseborough ad02818b3d EKF: Improve height reset for external vision
reset to measurement closest in time to fusion time horizon
2016-05-27 14:00:50 +10:00
Paul Riseborough 98c0b74a71 EKF: Initialise height correctly when using external vision data
If EV height selected ensure switch to correct height mode as soon as EV data is received
The 0 height datum is not at the initialisation position, so the height state needs to be reset to the measurement on startup
2016-05-27 13:59:14 +10:00
Paul Riseborough 9f81b8f09e EKF: provide reset protection for external vision height 2016-05-27 13:15:53 +10:00
Paul Riseborough 1b6c5bbafd EKF: Enable height source to be selected independent of EV aiding 2016-05-27 13:14:52 +10:00
Paul Riseborough 00bada8f25 EKF: Clean up logic for horizontal position fusion
Remove reference to optical flow fusion mode
Simplify logic flow for selection of observation noise
Remove unnecessary conditional statement
2016-05-27 11:29:10 +10:00
Paul Riseborough 6f412a73b4 EKF: Use correct height gate when using external vision 2016-05-27 11:24:53 +10:00
Paul Riseborough e41524ac9d EKF: remove unused variables 2016-05-27 11:21:04 +10:00
Paul Riseborough 53030b9297 Merge pull request #152 from PX4/pr-ekf2FixObsDataHandling
EKF: Fix vulnerability to loss of observations due to high input data rates
2016-05-26 21:44:10 +10:00
Paul Riseborough 7dd123094f EKF: correct documentation 2016-05-26 21:42:56 +10:00
Paul Riseborough d5b5cb5899 EKF: improvements to observation collection
Remove unnecessary function calls
Remove un-used functions
Apply a consistent maximum safe data rate check for all observation inputs
2016-05-26 13:27:08 +10:00
Roman Bapst 3c87ae78ff added two more examples to the README 2016-05-25 15:24:35 +02:00
Paul Riseborough e2d9e19a5d Merge pull request #148 from PX4/pr-ekf2OutputPredictor
EKF2 provide alternative output velocity prediction
2016-05-24 08:46:33 +10:00
Paul Riseborough 9f0b9909e7 Merge pull request #149 from PX4/pr-ekf2FixUnwantedGpsUse
EKF: prevent unwanted GPS use
2016-05-24 08:45:18 +10:00
Paul Riseborough 5a40aa2c1a EKF: prevent unwanted GPS use 2016-05-24 07:55:09 +10:00
Paul Riseborough 90d65071c1 EKF: Add output predictor processing option
Setting the velocity tracking tine constant to a negative number causes the output predictor to use a different method of correcting the velocity which provides a velocity output that is kinematically consistent with the position output.

This may improve height controller performance under some circumstances
2016-05-23 07:47:10 +10:00
Paul Riseborough 30917430e2 EKF: inline ring buffer functions used repeatedly
These functions get called 30 times each per output prediction cycle
2016-05-23 07:43:59 +10:00
Paul Riseborough c8c2d6d963 Merge pull request #145 from CarlOlsson/small_fix
Deleted second update of transformation matrix
2016-05-23 07:40:58 +10:00
Carl Olsson 0fafc49a49 fixed typos (#147) 2016-05-22 17:40:43 +02:00
Carl Olsson dbe2513d48 updated logic of calculation of body field variance (#146) 2016-05-22 17:39:25 +02:00
CarlOlsson eb70aca2e8 deleted second update of transformation matrix 2016-05-22 16:03:30 +02:00
Paul Riseborough 4c5252269c Merge pull request #142 from PX4/pr-ekf2ImproveHeadingReset
EKF: Improved heading reset
2016-05-21 22:38:26 +10:00
Paul Riseborough ae5071f668 EKF: Improve heading reset
Improves reset of quaternion covariance matrix after a heading reset by preserving variance in roll and pitch and resetting yaw variance to the measurement variance.
2016-05-21 19:30:15 +10:00
Paul Riseborough 4b279a8836 Merge pull request #144 from waltjohnson/master
Addressed C99 compiler issues of initializing variables in header and…
2016-05-20 07:37:24 +10:00
waltjohnson a9ca8c294c Generalized isfinite() in similar form as done in ekf.cpp https://github.com/PX4/ecl/blob/e3b9800cac459e7c279395c18191a872f465f848/EKF/ekf.cpp#L45-L52 2016-05-19 10:34:16 -06:00
waltjohnson 6eaa00e3f9 isfinite() is not part of the math class, rather the math.h header file. 2016-05-19 10:07:45 -06:00
waltjohnson 7c158aa59b Addressed C99 compiler issues of initializing variables in header and unused included statements. 2016-05-19 09:58:18 -06:00
Paul Riseborough f5e2dabc2b Create CONTRIBUTING.md 2016-05-19 18:14:33 +10:00
Paul Riseborough e3b9800cac Merge pull request #138 from pickledgator/evTesting
EV testing
2016-05-19 12:56:41 +10:00
Paul Riseborough 867bc8c601 Merge pull request #139 from PX4/pr-ekf2Alignment
EKF: Improve angular alignment consistency
2016-05-18 21:23:31 +10:00
Paul Riseborough c1b02eaa91 EKF: Don't use 3-axis magnetometer fusion until the tilt is aligned 2016-05-18 21:06:45 +10:00
Paul Riseborough aaac867da8 EKF: Adjust tilt alignment threshold 2016-05-18 20:34:12 +10:00
Paul Riseborough e272d5f003 EKF: Use consistent position noise values during alignment 2016-05-18 20:11:08 +10:00
Paul Riseborough b9a3712ccb EKF: record yaw alignment event during initialisation to allow heading fusion to start early
This ensures bad yaw gyro biases are compensated for early, rather than waiting for the tilt alignment to fully converge before fusing heading.
2016-05-18 19:25:19 +10:00
Paul Riseborough 94a63ec9d5 EKF: don't interfere with quaternion covariances during tilt alignment 2016-05-18 19:25:19 +10:00
Paul Riseborough 22fba0fc6e EKF: don't initialise filter without EV data if we are relying on it 2016-05-18 19:25:19 +10:00
Nic 1b16f3575a added ev_pos flag check to valid_lpos, disable fake gps when ev_pos is valid 2016-05-17 21:07:04 -07:00
Paul Riseborough 50ba26a434 Merge pull request #134 from PX4/pr-ekf2Alignment
EKF: Improved tilt alignment control
2016-05-18 12:34:22 +10:00
Paul Riseborough e4b2e9c93d EKF: Improve yaw alignment
Uses best conditioned of 321 or 312 Euler sequence to calculate initial yaw angle.
Allows alignment of yaw angle using external vision data
2016-05-18 12:16:16 +10:00
Roman eeb595d1db applied formatting 2016-05-17 08:27:35 +02:00
Paul Riseborough 57b2a256f7 EKF: Improve initialisation of quaternion covariances
Convert uncertainty in initial rotate vector into quaternion covariances using symbolic toolbox derived expressions.
Enable setting of initial angle uncertainty via a parameter
2016-05-17 12:47:20 +10:00
Paul Riseborough a4728bc748 EKF: derive auto-code for quaternion state covariance initialisation 2016-05-17 12:28:58 +10:00
Paul Riseborough 88860d0307 EKF: Enable tuning for IMU switch on bias errors 2016-05-17 11:17:24 +10:00
Paul Riseborough 1540e937b1 EKF: Improve tilt alignment monitoring
Convert quaternion covariances into an angular alignment variance vector and discard the z component so that yaw uncertainty does not affect the result.
2016-05-17 11:17:24 +10:00
Paul Riseborough 6ca8a36782 EKF: Add matlab derivation for calculation of rotation vector variance 2016-05-17 10:56:19 +10:00
Roman f4e2b21608 - better description for quaternion class
- revert conversion functions to constructor
2016-05-16 09:21:44 +02:00
Paul Riseborough d5046b078e Merge pull request #106 from PX4/pr-visionSupport
EKF: add support for external vision data
2016-05-16 07:32:46 +10:00
Andreas Bircher 81eacb0cfa removing body and intertial frame expressions and establishing consistency 2016-05-15 18:42:21 +02:00
Roman 4a405e7f60 make it clear that we are using right hand rotation convention 2016-05-15 18:42:21 +02:00
Roman 10c1b49bde fix typo 2016-05-15 18:42:21 +02:00
Roman 1033e145a5 fix some typos and better explanation of quaternion ordering 2016-05-15 18:42:21 +02:00
Roman 2b3bdb523d better description for quaternion class 2016-05-15 18:42:21 +02:00
Roman 3152d3d6cf better function descriptions for rotation classes:
- do not talk specifically about body or earth frame, just use frame 1 and frame 2
2016-05-15 18:42:21 +02:00
Andreas Bircher e3a1d67444 adding detailed comments on rotation classes 2016-05-15 18:42:21 +02:00
Andreas Bircher af2e6d952e correcting comments 2016-05-15 18:42:21 +02:00
Andreas Bircher 34e6e2a941 refactoring rotation classes and adding initial description 2016-05-15 18:42:21 +02:00
Paul Riseborough c955bfbf93 EKF: fix previous merge error 2016-05-15 20:36:51 +10:00
Paul Riseborough 920d83d68c EKF: Fix bugs preventing use of external vision yaw data 2016-05-14 21:56:41 +10:00
Paul Riseborough 13c3a95bc1 EKF: Add missing line returns 2016-05-14 21:17:30 +10:00
Paul Riseborough 59eb9eb3db EKF: fix shadow declaration arising from rebase 2016-05-14 21:17:30 +10:00
Paul Riseborough 172f4be594 EKF: Fix bug in calculation of terrain observation variance 2016-05-14 21:17:29 +10:00
Paul Riseborough b985e58333 EKF: clean up control function
With the addition of new observation types, the control function has become too large and needed be broken up into separate functions
2016-05-14 21:17:29 +10:00
Paul Riseborough f4a0f69f6e EKF: print to console when starting EV fusion 2016-05-14 21:17:29 +10:00
Paul Riseborough 349c731375 EKF: remove PX4 dependant text output 2016-05-14 21:17:29 +10:00
Paul Riseborough ac9b7a3df6 EKF: Ensure use of EV aiding inhibits use of other height sources 2016-05-14 21:17:29 +10:00
devbharat cf1df5861a Undid hack in ecl. Handled yaw missalignment on the vision side. 2016-05-14 21:17:29 +10:00
devbharat d16f413b55 Hack to fix external vision pos offset compensation 2016-05-14 21:17:29 +10:00
devbharat d3bad9fdb0 Correct height fusion flag when using sensor other than baro 2016-05-14 21:17:29 +10:00
devbharat 6d20a426e0 Reset time_last_ext_vision 2016-05-14 21:17:29 +10:00
devbharat b681c9a5d0 Added external vision noise parameters etc and position offset 2016-05-14 21:17:29 +10:00
devbharat ff8f03b5dd Added compensation for VI sensor offset. Check sign. 2016-05-14 21:17:29 +10:00
Paul Riseborough e917d6c7f2 EKF: Add fusion of external yaw data 2016-05-14 21:17:29 +10:00
Paul Riseborough 37a09c61bc EKF: Don't use delayed data to start EV aiding 2016-05-14 21:17:29 +10:00
Paul Riseborough 25f1d1d766 EKF: Add fusion of external vision 3D pos data 2016-05-14 21:17:29 +10:00
Paul Riseborough 81469d6621 EKF: Add position, height and velocity reset for EV aiding 2016-05-14 21:17:29 +10:00
Paul Riseborough 3a0fcd03d7 EKF: Add interfaces and variables to use ext vision data 2016-05-14 21:17:29 +10:00
Paul Riseborough 7afd015b49 Merge pull request #129 from PX4/pr-ekf2OutputFilterTracking
EKF:  Improve output observer position and velocity tracking
2016-05-14 15:53:19 +09:30
Paul Riseborough c7e225124c EKF: Improve output observer position and velocity tracking
Replace the delayed time feedback mechanism used by the translational states with a direct feedback method.
Time constants for velocity and position convergence can be separately adjusted with tunable parameters
The method is more computationally more expensive because it requires modification of the output buffer history but is acceptable because it only requires 6 FLOP per buffer index for a total of 30*6 = 180 FLOP
The method was not applied to the attitude states because the quaternion operations required at each buffer index would have been computationally prohibitive.
2016-05-14 12:45:29 +09:30
Paul Riseborough 627d08ecc9 Revert "EKF: Fix bug in output observer"
This reverts commit 03f3df7415.
2016-05-14 12:26:46 +09:30
Paul Riseborough 03f3df7415 EKF: Fix bug in output observer
Bug was causing output observer state history to be stored at the the EKF, not IMU output rate and resulted in degraded tracking performance
2016-05-14 08:33:05 +09:30
Lorenz Meier d595596c42 Merge pull request #114 from PX4/fix_linux_build
CMakeLists: use find_package Eigen3
2016-05-12 12:55:40 +02:00
Carl Olsson 5217b73df1 added bad_airspeed reporting (#123) 2016-05-12 10:06:04 +02:00
Carl Olsson b126921894 changed airspeed innovation gate to 5 (#119) 2016-05-12 10:05:26 +02:00
Julian Oes b8ccc58887 cmake: ignore more eigen warnings 2016-05-12 08:38:37 +02:00
Julian Oes b74114a573 cmake: ignore deprecated warnings of Eigen 2016-05-12 08:27:59 +02:00
jaredkw 3509329f30 Define M_PI float, change logical and to && 2016-05-11 18:35:05 -04:00
Julian Oes 07ecffc963 cmake: another try to get the module path right 2016-05-10 17:59:01 +02:00
Julian Oes 001433c660 cmake: debug output for path 2016-05-10 17:59:01 +02:00
Julian Oes d242bb78b9 cmake: try to provide path to FindEigen3 2016-05-10 17:59:01 +02:00
Julian Oes dcd191d734 cmake: include FindEIgen3.cmake for older cmake 2016-05-10 17:59:01 +02:00
Julian Oes 798cdfe675 build.sh: if cmake fails, don't continue with make 2016-05-10 17:59:01 +02:00
Julian Oes 37b73c7d85 README: updated build instructions, prerequisites 2016-05-10 17:59:01 +02:00
Julian Oes fc47684942 build.sh: get path right for travis build 2016-05-10 17:59:01 +02:00
Julian Oes 54e62f1495 travis: just use libeigen3-dev 2016-05-10 17:59:01 +02:00
Julian Oes 3d28f7ecca CMakeLists: use find_package Eigen3
Instead of hardcoding the Eigen3 path which only works on Mac, use
find_package(Eigen3).
2016-05-10 17:59:01 +02:00
Paul Riseborough e91a934f07 Merge pull request #124 from PX4/pr-removeVehicleArmStatus
Remove reliance on vehicle arm status
2016-05-10 10:54:32 +10:00
Paul Riseborough 1a24ec5f50 EKF: remove unused flag from control status message 2016-05-10 10:45:06 +10:00
Paul Riseborough 481c624975 EKF: Remove use of vehicle arm status
Use single externally set in-air status for all decisions
2016-05-10 10:23:08 +10:00
James Goppert 4d33092bcb Removed lcov testing from travis. 2016-05-09 12:19:26 -04:00
James Goppert dd8ff8db12 Made coverage html output optional. 2016-05-09 12:13:00 -04:00
James Goppert 061609322a Added command line output for coverage. 2016-05-09 12:01:20 -04:00
James Goppert 32ad3989f2 Fix lcov install on travis. 2016-05-09 11:55:45 -04:00
James Goppert f4902fafb9 Added lcov package for coverage test. 2016-05-09 11:53:18 -04:00
James Goppert 155202f6b0 Found a few coverage gaps with local coverage testing. 2016-05-09 11:49:45 -04:00
James Goppert 6efa3c1cb5 Added make coverage to travis. 2016-05-09 11:34:26 -04:00
James Goppert 3f77991388 Merge branch 'MaEtUgR-maetugr-fix2' 2016-05-09 11:24:55 -04:00
James Goppert 8b7eae3b4a Merge branch 'maetugr-fix2' of https://github.com/MaEtUgR/Matrix into MaEtUgR-maetugr-fix2 2016-05-09 11:24:28 -04:00
James Goppert bd8420fcf6 Added example of assignment to already created object. 2016-05-09 11:12:06 -04:00
Paul Riseborough 3cdf56e57c Merge pull request #122 from CarlOlsson/airspeed_fix
fixed_airspeed_healthy_bug
2016-05-09 10:24:22 +10:00
Paul Riseborough e06c0f41d7 Merge pull request #117 from PX4/ekf2AccuracyImprovement
EKF: Accuracy Improvements
2016-05-09 09:24:44 +10:00
CarlOlsson ee7d7aeb8a fixed_airspeed_healthy_bug 2016-05-08 18:30:37 +02:00
Paul Riseborough 175723f690 EKF: Allow for larger accel bias offsets on startup 2016-05-08 18:03:58 +10:00
Paul Riseborough 161ac2e051 EKF: ensure position co-variances are reset
When transitioning into optical flow nav  from a non-aiding condition during ground operation, ensure position covariances are reset as they could be invalid.
2016-05-08 18:03:09 +10:00
Paul Riseborough feb4db6347 EKF: protect against large IMU errors during initial tilt alignment
Turn off innovation consistency checks for height and synthetic position measurements until the tilt as aligned
2016-05-08 17:54:45 +10:00
Paul Riseborough 00973d6215 EKF: fix pos/vel fusion innovation variance bug 2016-05-08 17:51:47 +10:00
Paul Riseborough 2144a40a3c EKF: redefine accelerometer bias state inhibit switch bit location 2016-05-08 16:03:21 +10:00
Paul Riseborough 724280fd1f EKF: move calculation of optical flow observation variance into a function
Allows it to be used when calculating initial state variance
2016-05-08 15:40:06 +10:00
Paul Riseborough 25682dce91 EKF: Prevent badly conditioned covariance calculation when starting or resetting to optical flow 2016-05-08 10:30:40 +10:00
Paul Riseborough c66ed7b662 EKF: Add interface method for filter fault status 2016-05-07 21:18:00 +10:00
Paul Riseborough 020b87933e EKF: replace fault status struct with a union to facilitate logging 2016-05-07 21:11:16 +10:00
Paul Riseborough 7f5669fb2d EKF: consolidate covariance corrections
Combines the forced symmetry, variance limiting and zeroing of covariances for unwanted states in the one function.
This ensures a consistent correction is applied after every covariance prediction or correction.
2016-05-07 20:29:50 +10:00
Paul Riseborough 0c6a367e1b EKF: fix Travis build error 2016-05-07 17:45:49 +10:00
Paul Riseborough 22f0f52bf1 EKF: fix travis build error 2016-05-07 17:06:45 +10:00
Paul Riseborough 9e53ff2f80 EKF: Improve protection against bad optical flow fusion 2016-05-07 14:23:56 +10:00
Paul Riseborough 1126048a93 EKF: Improve protection against bad airspeed fusion 2016-05-07 14:23:38 +10:00
Paul Riseborough c8d95586e7 EKF: Improve protection against bad magnetometer fusion 2016-05-07 14:23:20 +10:00
Paul Riseborough 310bd97080 EKF: Improve protection against bad pos vel fusion 2016-05-07 14:22:59 +10:00
Paul Riseborough da9d894441 EKF: Improvements to covariance reset 2016-05-07 12:57:41 +10:00
Lorenz Meier 199c423f1f Attitude fw: Remove builtin perf counters 2016-05-05 20:06:01 +02:00
Paul Riseborough d9aeace6ac EKF: tuning update 2016-05-05 21:23:03 +10:00
Paul Riseborough f1b7e7714e EKF: Make average update rate of EKF closer to target
With the EKF, the average update rate is more important than the instantaneous value as it affects tuning. This patch ensures that the EKF prediction cycle will be performed early if the previous one was late in an attempt to maintain the target update rate.
2016-05-05 21:23:03 +10:00
Paul Riseborough 1daa6c7866 EKF: update tuning defaults 2016-05-05 21:23:03 +10:00
Paul Riseborough fc6c0c7ebf EKF: Update covariance prediction
Refresh auto generated code
Make 3-axis accel fusion the default and no accel fusion the option
2016-05-05 21:23:03 +10:00
Paul Riseborough ecaffe63af EKF: update tuning defaults 2016-05-05 21:23:03 +10:00
Paul Riseborough 7a74d58591 EKF: reduce initial accel bias uncertainty 2016-05-05 21:23:03 +10:00
Paul Riseborough a7d08d08fc EKF: Relax tilt alignment check 2016-05-05 21:23:03 +10:00
Paul Riseborough 5523a4f225 EKF: Fix IMU bias compensation scale error in output filter
Delta angle and velocities are calculated assuming data is at the filter update rate, not the IMU update rate
2016-05-05 21:23:03 +10:00
Paul Riseborough fd109b00ab EKF: replace in-line code with existing function 2016-05-05 21:23:03 +10:00
Paul Riseborough 727a43764f EKF: update initial angle alignment check 2016-05-05 21:23:03 +10:00
Paul Riseborough bc34b14779 EKF: Initialise height state variance to a value compatible with the measurement
A large height state variance and small measurement variance can destabilise the filter in the first few seconds after alignment
2016-05-05 21:23:03 +10:00
Paul Riseborough 29a361d3a3 EKF: Use intuitive units for gyro and accel bias process noise
This also makes the tuning less sensitive to changes in the EKF update rate.
2016-05-05 21:23:03 +10:00
Paul Riseborough 799865c934 EKF: update default tuning parameters 2016-05-05 21:23:03 +10:00
Paul Riseborough f01f4ae4b1 EKF: tidy up mag declination fusion 2016-05-05 21:23:03 +10:00
Paul Riseborough 0d31aad33a EKF: Fix bad limit on magnetometer noise parameter 2016-05-05 21:23:03 +10:00
Paul Riseborough 7069fb7a04 EKF: refresh auto code for mag fusion 2016-05-05 21:23:03 +10:00
Paul Riseborough ffea65e1a4 EKF: fix bug in state prediction 2016-05-05 21:23:03 +10:00
Paul Riseborough 63f093a10a EKF: Update upper limits for state variances
This limiting is a  last resort measure and the limiting for normal operation should be achieved by modification in the covariance prediction
2016-05-05 21:23:03 +10:00
Paul Riseborough 26a51c667d EKF: Improve robustness to initial gyro bias errors
Allows for ~6 deg/sec of startup bias
2016-05-05 21:23:03 +10:00
Paul Riseborough 7530e30012 EKF: Improve IMU data collection
Use IMU driver published delta angle integration time to determine when enough data has been accumulated.
Perform basic first order sculling corrections on delta velocity data
Comment steps to make make method clearer
2016-05-05 21:23:03 +10:00
Paul Riseborough f23f0b1035 EKF: fix bugs in stationary process model covariance prediction
Noise variance for stationary states was  being overwritten by the covariance prediction operations for the kinematic states
Unwanted states could end up with non-zero covariance values
The forced symmetry operation was being applied too late to be effective
2016-05-05 21:23:03 +10:00
Paul Riseborough a373ada858 EKF: explicitly define floating point type in hardcoded constants 2016-05-05 21:23:03 +10:00
Paul Riseborough a189c60d33 EKF: update code fragment text files 2016-05-05 21:23:03 +10:00
Paul Riseborough f4e84a2234 EKF: fix axis label error in comments 2016-05-05 21:23:03 +10:00
Paul Riseborough 57d3036ee7 EKF: update derivation files 2016-05-05 21:23:03 +10:00
Paul Riseborough 82da832816 EKF: tidy up Kalman gain calculations
Inhibiting of states is controlled via zeroing rows and columns in the covariance prediction so conditional logic in gain calculations is unnecessary.
2016-05-05 21:23:03 +10:00
Paul Riseborough 311d046a26 EKF: Enable optional activation of XY delta velocity bias estimation 2016-05-05 21:23:03 +10:00
Paul Riseborough 572c2280bd EKF: tidy up covariance prediction 2016-05-05 21:23:03 +10:00
Paul Riseborough 54e713969d EKF: Fix rebase error 2016-05-05 21:23:03 +10:00
Paul Riseborough 67d23948b5 EKF: preliminary re-tune 2016-05-05 21:23:03 +10:00
Paul Riseborough 03c35266ef EKF: remove unused parameter 2016-05-05 21:23:03 +10:00
Paul Riseborough fe9f88a8b4 EKF: test new derivation
Use direct attitude parameterisation
Discard scale factors
Add accel bias
2016-05-05 21:23:03 +10:00
MaEtUgR b2eb4d13d8 Matrix.setCol off by one bug fixed
The Column Vector you are copying from, only has one Column and it is indexed by 0 not 1.
I also completed the unit test stub that would have found this bug.
2016-05-05 13:18:51 +02:00
Daniel Agar 22d18d638c enable Wshadow 2016-05-04 19:45:40 -04:00
Paul Riseborough c6775b5bf2 Merge pull request #118 from PX4/fix_member_init
ekf: initialize _terrain_var
2016-05-03 10:26:48 +10:00
Beat Küng f2dda3c183 ekf: initialize _terrain_var, fixes access to uninitialized value
in PX4 Firmware, Ekf::get_terrain_vert_pos depends on it. This is the
valgrind output:
==15439== Thread 14 ekf2:
==15439== Conditional jump or move depends on uninitialised value(s)
==15439==    at 0x5610087: sqrtf (in /usr/lib64/libm-2.22.so)
==15439==    by 0x4D1AF0: Ekf::get_terrain_vert_pos(float*) (terrain_estimator.cpp:135)
==15439==    by 0x46641F: Ekf2::task_main() (ekf2_main.cpp:655)
==15439==    by 0x42BF3D: entry_adapter(void*) (px4_posix_tasks.cpp:103)
==15439==    by 0x4E3C609: start_thread (in /usr/lib64/libpthread-2.22.so)
==15439==    by 0x5BF7A4C: clone (in /usr/lib64/libc-2.22.so)
2016-05-02 17:35:42 +02:00
Paul Riseborough 0a6d95c6c2 Merge pull request #116 from PX4/pr-covReset
after a height reset zero the cross covariances for height and vertical
2016-05-01 21:44:38 +10:00
Roman 0c77ebf6bd EKF: Reduce likelihood of bad covariance values after height resets
The cross terms (covariances) are now reset before the variance variance is set.

The vertical velocity state variance following a reset without GPS has been reduced.
2016-05-01 21:39:56 +10:00
Paul Riseborough 6c57bea1c3 EKF: fix bug in IMU error application timing patch 2016-04-30 15:11:12 +10:00
Paul Riseborough 6ecbefd7e4 EKF: add matlab script to test complementary filter gains 2016-04-30 11:05:03 +10:00
Paul Riseborough 15df20831a EKF: improve output complementary filter tracking
Optimise for height tracking and adjust gains automatically with changes in time delay.
2016-04-30 11:03:45 +10:00
Paul Riseborough 4fa1e9c651 EKF: Fix timing errors in state prediction
IMU corrections were being applied at the wrong time horizon to the EKF states
IMU downsampling rotates the delta velocities into the orientation produced by the last delta angle, but this wasn't consistent with the way the state prediction was using the delta velocity data.
2016-04-30 11:02:19 +10:00
Paul Riseborough 4c9c102597 Merge pull request #115 from PX4/fix_isfinite_again
ekf: another stab at fixing isfinite for all
2016-04-29 09:12:59 +10:00
Matthias Grob 65679fbcbb Features and fixes
* added the trace function for a SquareMatrix

* added Vector3.hat() and it's counterpart Dcm.vee()
for skewsymskew symmetric matrix operations in relation to the cross product
see https://en.wikipedia.org/wiki/Hat_operator

* Matrix::write_string produced runtime errors when I used it in PX4 posix simulation, i simplified it

* a Matrix3f is a SquareMatrix

* added tests for SquareMatrix.trace, Vector3.hat and Dcm.vee

* added a test for quaternion initialisation from array

* preventing buffer overflows in Matrix.write_string method
2016-04-28 15:16:36 -04:00
Julian Oes f8a48f9cc5 ekf: now it should even compile for NuttX 2016-04-28 16:30:49 +02:00
Julian Oes 12f4d6f703 ekf: another stab at fixing isfinite for all
The previous solution did not work for Snapdragon, so I needed to copy
what is used in px4_defines.h.
2016-04-28 16:09:12 +02:00
Paul Riseborough 22ad87599c Merge pull request #112 from PX4/fix_ubuntu1604_2
ekf: compile fix for Ubuntu 16.04
2016-04-27 21:21:04 +10:00
Julian Oes 46e207106b ekf: use std::isfinite instead of isnan 2016-04-27 12:58:22 +02:00
Lorenz Meier 7b702ee37e Merge pull request #105 from georgehines/matlab-log-import
fix a field name that I missed last time
2016-04-26 10:03:37 +02:00
Lorenz Meier 7c7945961e Merge pull request #107 from dagar/l1_init
L1 initialize everything
2016-04-26 10:01:27 +02:00
Daniel Agar fe5a337c99 l1 initialize everything 2016-04-25 14:39:11 -04:00
George Hines 9994aa7fdb fix a field name that I missed last time 2016-04-22 17:21:47 -07:00
Paul Riseborough 42635903cd Merge pull request #102 from priseborough/pr-ekf2HeightReset
EKF: Improve height reset behaviour
2016-04-23 10:04:13 +10:00
Paul Riseborough 4fcbfb5d42 EKF: correct error in comment 2016-04-23 07:55:25 +10:00
Paul Riseborough 13814681d7 Merge pull request #104 from georgehines/matlab-log-import
Matlab log import
2016-04-23 07:50:07 +10:00
Paul Riseborough 3e81b86280 EKF: improve height reset logic
Don't use failed sensors unless necessary and handle case where not height sensor is available for reset
2016-04-22 10:50:53 +10:00
Paul Riseborough 874558d194 EKF: improve detection of bad vert accel data
Improve ability to detect if bad vertical accel data has caused loss of height accuracy by using historical data.
2016-04-22 09:24:04 +10:00
Paul Riseborough 469a7d1711 EKF: rework height reset
calculate and save the amount that the vertical states have changed and the time of the change
apply the change delta to the output observer states and buffer
2016-04-22 08:43:56 +10:00
Paul Riseborough e3365525c2 EKF: rework height reset logic 2016-04-22 08:39:24 +10:00
Paul Riseborough 421703c267 EKF: rework initialisation of height state and offsets 2016-04-22 08:38:41 +10:00
Paul Riseborough a7417657c3 EKF: ensure fusion timeout counters are reset when required 2016-04-22 08:33:11 +10:00
Paul Riseborough 10bf05e9a6 EKF: publish the vertical position offset 2016-04-22 08:30:46 +10:00
Paul Riseborough 0de15b1b20 EKF: Add variables to monitor vertical position and height offset 2016-04-22 08:28:56 +10:00
Paul Riseborough 62c6d40f1f EKF: Add methods to ring buffer to access specific indices 2016-04-22 08:21:36 +10:00
George Hines 59df1a3552 rename log GUI consistent with its assumptions 2016-04-21 10:58:28 -07:00
George Hines 62bdcf3e9b supports APM dataflash logs 2016-04-21 10:54:37 -07:00
Paul Riseborough b295f9050c EKF: ensure GPS check status is correctly initialised 2016-04-20 21:53:15 +10:00
Lorenz Meier 9487eac505 Merge pull request #98 from priseborough/pr-ekf2StatusReporting
EKF: improve reporting of filter status
2016-04-20 11:44:02 +02:00
Roman Bapst 6344fa0e8c limit maximum rates of all measurement at which they are stored into the buffers 2016-04-19 12:47:57 +02:00
Roman Bapst 00c8821006 disable airspeed fusion for now. Needs more testing and implementation of side slip fusion 2016-04-19 11:18:45 +02:00
Paul Riseborough 2fa8a11a29 EKF: replace unnecessary memcopy 2016-04-19 19:10:41 +10:00
Roman Bapst 99fc61c27c ekf2 airspeed fusion:
- finished logic for fusion
- fixed bug where previous control status was set in the wrong location
2016-04-19 09:53:31 +02:00
Paul Riseborough 82920da232 EKF: strengthen checking of local position status
provides immediate status reporting when dropping out of optical flow mode
2016-04-19 17:38:22 +10:00
Paul Riseborough 31bf342fc1 EKF: publish GPS check status 2016-04-19 17:38:22 +10:00
Paul Riseborough 6fa13c7806 EKF: publish control mode status 2016-04-19 17:37:27 +10:00
Roman Bapst 60abf07bee added function to return accelerometer bias 2016-04-18 17:52:16 +02:00
Roman Bapst f32303de69 added function to return accelerometer bias 2016-04-18 17:00:17 +02:00
Lorenz Meier 3455931617 EKF init: Fix initialization statement 2016-04-17 19:29:23 +02:00
Lorenz Meier e1ce948768 Merge pull request #97 from dagar/cmake_update
cmake STACK -> STACK_MAIN
2016-04-17 15:58:52 +02:00
Daniel Agar 861c13f1fe cmake STACK -> STACK_MAIN 2016-04-16 21:46:50 -04:00
Paul Riseborough 55db3d8725 Merge pull request #94 from priseborough/pr-sensorPosComp
Add compensation for EKF sensor position offsets
2016-04-14 11:45:24 +10:00
Paul Riseborough ea38aa130f EKF: update default time delay parameter values 2016-04-14 08:53:59 +10:00
Paul Riseborough 8c55e36ca9 EKF: use common value for gravity 2016-04-12 11:14:31 +10:00
Paul Riseborough 163c08a3ac EKF: Improve output observer documentation 2016-04-12 11:14:31 +10:00
Paul Riseborough 2dcc6e2053 EKF: Improve accuracy of state prediction
Use an a common estimator value for gravity
Use average orientation across update interval when rotating delta velocities
2016-04-12 11:14:31 +10:00
Paul Riseborough 5bf02517a7 EKF: Rationalise use of rotation matrices and improve efficiency 2016-04-12 11:14:31 +10:00
Paul Riseborough e10093854a EKF: correct outputs for IMU offset 2016-04-12 11:14:31 +10:00
Paul Riseborough b46053415f EKF: Compensate optical flow data for sensor position offset 2016-04-12 11:14:31 +10:00
Paul Riseborough 48b105b748 EKF: correct range finder data for sensor position offset 2016-04-12 11:14:31 +10:00
Paul Riseborough e89dbb9f63 EKF: correct GPS data for antenna position offset 2016-04-12 11:14:31 +10:00
Paul Riseborough 3580940e10 EKF: Add sensor position offset parameters 2016-04-12 11:14:31 +10:00
Paul Riseborough 64e95910c4 Merge pull request #92 from priseborough/pr-ekf2HgtResetFix
EKF: Fix vulnerability in height reset
2016-04-12 11:09:06 +10:00
Paul Riseborough 006b6b58e4 EKF: fix bug in status print statement 2016-04-12 10:38:50 +10:00
Paul Riseborough 74078cde94 EKF: reset state variance when performing a height reset
Set vertical position and velocity variances using known sensor error characteristics if we have reset the states to the sensor readings.
2016-04-11 19:40:27 +10:00
Paul Riseborough f4f108d57d EKF: Reset vertical velocity when performing a height reset 2016-04-11 19:25:24 +10:00
Paul Riseborough 61b919754d Merge pull request #90 from georgehines/matlab-log-import
version/toolbox compatibility
2016-04-11 05:23:50 +10:00
George Hines 941d3bca0a changes some graphics arguments for version compatibility, adds a viewer example to the usage samples script 2016-04-07 16:39:32 -07:00
Paul Riseborough a919088b6a Merge pull request #89 from georgehines/matlab-log-import
Matlab log import
2016-04-07 15:44:04 -07:00
George Hines 684b41494e adds estimator log viewer UI 2016-04-07 15:13:19 -07:00
George Hines 3773d5a00d removes accidentally commited px4log test file 2016-04-07 11:59:54 -07:00
George Hines eb41d25ff6 reduces update rate of progress display, stores message time (not TIME message) as floating point seconds, automatically extracts TIME message, updates usage samples accordingly 2016-04-07 11:58:51 -07:00
George Hines 2ad21bc8c7 adds function header comments and method attribution 2016-04-07 07:40:40 -07:00
George Hines f6413a1924 renames test script for clarity 2016-04-07 07:32:53 -07:00
George Hines 93fde19c25 changes some cell notation for speed 2016-04-07 07:22:21 -07:00
George Hines 0e3a6e214c completed low-overhead import script, added usage examples 2016-04-07 07:18:59 -07:00
George Hines 8c8653a1a2 initial commit of matlab px4 log importer 2016-04-06 17:12:40 -07:00
Lorenz Meier f86ef34782 EKF: Fix error message which lied 2016-04-05 19:06:35 -07:00
Paul Riseborough a352c2f4e3 EKF: Fix posix build error
Memset cannot be used on a class like this. Setting the time elements to zero achieves the desired result.
2016-04-05 18:57:21 -07:00
Lorenz Meier 6b3ad03419 Merge pull request #86 from CarlOlsson/small_airspeed_fix
Small airspeed fix
2016-04-05 16:38:37 -07:00
Roman Bapst f35e78643c Merge pull request #79 from dagar/integrator_fix
fw multiply integrator gain in loop
2016-04-05 22:33:29 +02:00
Paul Riseborough 430d4b1cf8 EKF: ensure data in buffers is zero at startup 2016-04-05 22:23:37 +02:00
Paul Riseborough c6bd93ed40 EKF: Include all output files generated by derivation script 2016-04-05 22:23:37 +02:00
Paul Riseborough 470098e182 EKF: update default tuning parameters
Parameters needed to be changed when covariance prediction error was corrected.
The magnetic earth and body field process noise now use separate parameters to help with tuning
2016-04-05 22:23:37 +02:00
Paul Riseborough eaf94935f0 EKF: Fix bug in initialisation of height and magnetic field
This prevents zero data being used to form the initial height and magnetic field.
Do not start sampling initial values until non-zero time values are retrieved from the buffer.
2016-04-05 22:23:37 +02:00
Paul Riseborough 03eac2f25e EKF: Apply covariance prediction derivation changes 2016-04-05 22:23:37 +02:00
Paul Riseborough ac71ec5d37 EKF: Fix scaling error in covariance prediction derivation
The covariance prediction derivation was using the noise 1-std value instead of the noise variance. This resulted in the values of IMU process noise required to tune not matching the observed covariance growth.
2016-04-05 22:23:37 +02:00
CarlOlsson 8678a939e2 removed reinitialization of intermediate variables 2016-04-05 14:18:47 +02:00
Roman Bapst 2632c930f7 Merge pull request #85 from CarlOlsson/add_error_reporting_tas
added fault status reporting
2016-04-04 18:52:06 +02:00
Roman Bapst 96b9674cb6 Merge pull request #84 from CarlOlsson/change_to_true_airspeed
change name to true_airspeed
2016-04-04 18:49:04 +02:00
CarlOlsson eee6f1048f Changed vtaspred threshold 2016-04-04 16:27:06 +02:00
CarlOlsson 3ad5b52aea removed comment 2016-04-04 16:26:46 +02:00
CarlOlsson 616725410d updated calculation 2016-04-04 16:26:13 +02:00
CarlOlsson ec9902d802 added fault status reporting 2016-04-04 16:21:12 +02:00
CarlOlsson 1ea26b406a change name to true_airspeed 2016-04-04 16:10:52 +02:00
Roman Bapst 068c29851c Merge pull request #80 from PX4/fuse_tas_rebased
Fuse tas rebased
2016-03-30 17:17:05 +02:00
Roman Bapst 27b894540e put airspeed fusion logic but don't actually call it yet 2016-03-30 17:01:03 +02:00
Roman Bapst 1b7115dec9 increased airspeed fusion rate to 12.5Hz 2016-03-30 17:01:03 +02:00
CarlOlsson f5a9afd278 moved init 2016-03-30 17:01:03 +02:00
CarlOlsson f990d99790 fixed bug 2016-03-30 17:01:03 +02:00
CarlOlsson 4301e1105b added commas 2016-03-30 17:01:03 +02:00
CarlOlsson 81fc086b76 adopted ekf_interface.h 2016-03-30 17:01:03 +02:00
CarlOlsson d440c883b5 adopted ekf_interface.cpp 2016-03-30 17:01:03 +02:00
CarlOlsson f8878d41dc adopted ekf_helper.cpp 2016-03-30 17:01:03 +02:00
CarlOlsson 6bb2f7638c adopted ekf.h 2016-03-30 17:01:03 +02:00
CarlOlsson 0918fa04c7 adopted ekf.cpp 2016-03-30 17:01:03 +02:00
CarlOlsson 92abf93c8f adopted common.h 2016-03-30 17:01:03 +02:00
CarlOlsson 0fb1e0578b added function for fusing airspeed 2016-03-30 17:01:03 +02:00
Daniel Agar 82cf1827d4 fw multiply integrator gain in loop 2016-03-25 17:28:39 -04:00
Paul Riseborough 0ea55e25f9 Merge pull request #78 from PX4/pr-addGpsHgtOption
EKF: Add option to use GPS for height and improve height fall-back behaviour
2016-03-23 11:19:01 -07:00
Paul Riseborough 400a6e12ba EKF: Ensure all data in buffers is initialised
This is a defensive change to prevent introduction of NaN's into the filter if data is read from the incorrect place in the buffer.
2016-03-20 15:14:16 +11:00
James Goppert 07fba8322a Fix for effective cpp. 2016-03-18 20:56:41 -04:00
Paul Riseborough 064a0e4dbc EKF: Don't use GPS to set position noise when not using GPS 2016-03-16 20:12:36 +11:00
Paul Riseborough c23d72ba29 EKF: Ensure filter control modes are correctly initialised 2016-03-16 17:22:27 +11:00
Paul Riseborough 9f3b1351f7 EKF: Don't initialise velocity to GPS on initial alignment
For initial alignment the velocity and position should start at zero
2016-03-16 17:20:57 +11:00
Paul Riseborough 687fcc70be EKF: Explicitly define type conversion for GPS height 2016-03-16 17:18:20 +11:00
Paul Riseborough e334a5dc57 EKF: Add check for NaN's on attitude states 2016-03-16 13:43:21 +11:00
Paul Riseborough 6b2e2dba90 EKF: Add GPS height option and improve height recovery 2016-03-16 10:40:51 +11:00
James Goppert 711b57d2d4 Added unit function that returns normalized vector. 2016-03-15 18:09:48 -04:00
James Goppert 0e14e11183 Added support for attitude_estimator_q functions. 2016-03-15 06:35:13 -04:00
Paul Riseborough 63b0cf4360 EKF: Fix baro height offset bug 2016-03-14 15:51:15 +11:00
Paul Riseborough 4bd79c9e5d Merge pull request #76 from PX4/pr-fixRngHgtMode
EKF: Fix bugs preventing use of range finder as primary height source

Flight testing completed and I have checked that the other pending PR #75 rebases cleanly on it.
2016-03-14 09:46:58 +11:00
Paul Riseborough 49023f3d7e EKF: fix travis build error 2016-03-13 21:56:28 +11:00
Paul Riseborough 7677a162aa EKF: Don't start the output observer before the main filter has initialised
This prevents the possibility of output transients if alignment is delayed.
2016-03-13 21:17:51 +11:00
Paul Riseborough d2407c3463 EKF: code style updates 2016-03-13 21:17:51 +11:00
Paul Riseborough c58ab3e256 EKF: Enable fallback to baro alt when using range finder for height 2016-03-13 21:17:51 +11:00
Paul Riseborough 370f643f42 EKF: Enable use of range finder for primary height source 2016-03-13 18:44:34 +11:00
Lorenz Meier 699ec17cc3 Removed spurious print in wheel controller 2016-03-12 11:23:08 +01:00
Paul Riseborough 2882c53246 Merge pull request #74 from PX4/pr-optflow-reworked
Add fusion of optical flow LOS rate measurements
2016-03-11 11:13:03 +11:00
Paul Riseborough 109e0e6dfc EKF: When commencing GPS aiding, don't reset local position and velocity if using optical flow 2016-03-11 11:03:43 +11:00
Paul Riseborough 26238bc2f5 EKF: Allow for change in position when defining the WGS-84 origin position
This allows GPS aiding to commence later in flight without step changes in local position output
2016-03-11 11:03:43 +11:00
Paul Riseborough e0fcce1463 EKF: Make position and velocity reset publish success
Some users of the position and velocity reset functions will need to know if the reset has been successful.
2016-03-11 11:03:43 +11:00
Paul Riseborough 48f980b054 EKF: Fix syntax causing posix build to fail 2016-03-11 11:03:43 +11:00
Paul Riseborough eab0ef4266 EKF: Update default process noise for terrain estimator 2016-03-11 11:03:43 +11:00
Paul Riseborough 962fd0aaf2 EKF: Adjust terrain process noise for gradient effect 2016-03-11 11:03:43 +11:00
Paul Riseborough 1a2da887ab EKF: Fix bug in calculation of terrain estimator Kalman gain 2016-03-11 11:03:43 +11:00
Paul Riseborough cc5512905a EKF: prevent optical flow, GPS and baro fusion from blocking each other 2016-03-11 11:03:43 +11:00
Paul Riseborough e9ccfdd484 EKF: Update derivation scripts and outputs
Work around limitation in Symbolic toolbox environment space by incrementally saving and clearing workspace
Remove vehicle vertical position from optical flow prediction equations (use range measurement instead) and regenerate auto-code
Remove legacy optical flow auto-code conversion method as it is not required now a work around for symbolic toolbox limitations has been developed
Fix out of date syntax
2016-03-11 11:03:43 +11:00
Paul Riseborough ffebaf384f EKF: Set initial optical flow fusion monitor outputs to zero 2016-03-11 11:03:43 +11:00
Paul Riseborough 5acd1cbac4 EKF: Make definitions of parameters clearer for external use 2016-03-11 11:03:43 +11:00
Paul Riseborough dd1d58bab5 EKF: Remove unnecessary matrix operations from optical flow fusion
The updated formulation means that H_LOS[][8] is always zero, so these operations are no longer required.
2016-03-11 11:03:43 +11:00
Paul Riseborough b3b0f1347a EKF: Make normal GPS mode the default 2016-03-11 11:03:43 +11:00
Paul Riseborough d97d308ca7 EKF: Add control of optical flow and range finder fusion 2016-03-11 11:03:43 +11:00
Paul Riseborough 836fe39070 EKF: Update external interface functions to support optical flow 2016-03-11 11:03:43 +11:00
Paul Riseborough 2ff338048d EKF: Add support for range-finder fusion as primary height reference 2016-03-11 11:03:43 +11:00
Paul Riseborough 2c2850c0ce EKF: Add functions to get position and velocity state variance 2016-03-11 11:03:43 +11:00
Paul Riseborough 32b03819ef EKF: Add function to calculate global position validity 2016-03-11 11:03:43 +11:00
Paul Riseborough 270451e17b EKF: Update height reset to support range finder height use 2016-03-11 11:03:43 +11:00
Paul Riseborough dca186c6e8 EKF: Add required declarations for optical flow 2016-03-11 11:03:43 +11:00
Paul Riseborough 75b22c95ac EKF: Add new source files to cmake 2016-03-11 11:03:43 +11:00
Paul Riseborough 122dd9c531 EKF: Add source file for optical flow LOS rate fusion 2016-03-11 11:03:43 +11:00
Paul Riseborough 82cbfafb34 EKF: Add source file for terrain vertical position estimator
Implements a single state Kalman filter to estimate terrain vertical position relative to the NED origin.
2016-03-11 11:03:43 +11:00
Paul Riseborough 829e0f1e65 Merge pull request #73 from mcsauder/master
Conversion error correction and additional function overloads to allow standalone compilation.
2016-03-11 11:02:32 +11:00
mcsauder 6a61f9ba77 Remove a define that might not be required for compilations in other scnearios outside of C99 restrictions to minimize Pull Request modifications. 2016-03-05 02:17:55 -07:00
mcsauder 115c87a0ea Remove an include that was unnecessary. 2016-03-05 02:15:04 -07:00
mcsauder 1aee1b895a Uncomment commented lines that removed Eigen namespaces and dependencies. 2016-03-05 02:12:26 -07:00
mcsauder f9be23933b Correct deg to rad conversion inversion. Add additional functionality to mathlib to allow standalone compile without Limits.cpp and Limits.hpp files from PX4. 2016-03-05 01:58:58 -07:00
Paul Riseborough b163efeae2 Merge pull request #72 from PX4/pr-MagFusionBug
Fix bug in declination fusion and standardise covariance update
2016-03-05 11:34:19 +11:00
Paul Riseborough 5242af84af EKF: Standardise covariance update and use static arrays for large matrices 2016-03-05 08:58:19 +11:00
Paul Riseborough 1414d591ce EKF: Fix bug in declination fusion indexing 2016-03-05 08:43:33 +11:00
Daniel Agar 2108466a00 initialize ECL_L1 variables 2016-03-03 11:22:07 +01:00
Roman Bapst b2744f965d use in_air flag from land detector to determine if we are on the ground 2016-03-03 10:53:39 +01:00
Paul Riseborough 569886a4fc EKF: Fix bug in velocity and position innovation consistency checks 2016-03-03 17:15:22 +11:00
mcsauder f9e3db0504 Move variable initializations from header file to constructor to allow C99 compliance. 2016-03-02 08:42:38 +01:00
Paul Riseborough d8627c6aaf EKF: Reset the vertical position states if height fusion times out 2016-03-02 08:39:07 +01:00
Paul Riseborough f7a53d69f2 EKF: Improve height reset function
Add a method to reset the vertical velocity to enable in-flight resets
Reset to GPS height if baro height is not available.
2016-03-02 08:39:07 +01:00
Paul Riseborough a6da73fa83 EKF: Add missing div0 protection 2016-03-01 18:03:35 +11:00
Paul Riseborough d5e47d21db EKF: miscellaneous comment and format changes 2016-03-01 15:35:45 +11:00
Paul Riseborough 7c83ac4b6d EKF: Use heading fusion as default for startup and ground operation 2016-03-01 15:35:17 +11:00
Paul Riseborough 57d4064d7b EKF: Increase default heading observation noise
Improves robustness when operating in a bad magnetic field environment
2016-03-01 15:28:53 +11:00
Paul Riseborough 97df006a6a EKF: Update direct heading fusion
Adds a 312 Euler rotation sequence option for magnetic heading fusion.
Switches between it and the normal 321 sequence option depending on orientation.
2016-03-01 15:25:22 +11:00
Paul Riseborough ea29e39e5b EKF: Updated derivation of Jacobians for direct heading measurement
Adds an alternative using a 312 Euler sequence.
2016-03-01 15:21:36 +11:00
Paul Riseborough 2c9a814de1 Merge pull request #64 from mcsauder/master
Additional filter variable initializations required to fully reset the filter variables
2016-02-26 23:06:56 +11:00
Paul Riseborough 78d6f6941c Merge pull request #61 from PX4/pr-ImprovedAccuracyReporting
EKF: Improve Position Accuracy Reporting
2016-02-26 22:48:44 +11:00
Paul Riseborough f058fc817f Merge pull request #63 from PX4/att_reset
Attitude reset after heading reset
2016-02-26 22:35:14 +11:00
James Goppert 6c04605531 Added conversion for scalar to vector. 2016-02-26 06:10:09 -05:00
James Goppert 2d27cd79d3 Added scalar to matrix conversion. 2016-02-26 05:56:21 -05:00
James Goppert 6974f97b1c Added scalar const conversion operator. 2016-02-26 05:47:24 -05:00
James Goppert 7b969094cb Fix for scalar type. 2016-02-26 05:33:16 -05:00
James Goppert 3917ef1992 Merge branch 'master' of github.com:PX4/Matrix 2016-02-26 03:39:28 -05:00
James Goppert 15865897d5 Added pow. 2016-02-26 03:39:04 -05:00
mcsauder 5fb48a2e7b Merge remote-tracking branch 'upstream/master' 2016-02-25 22:51:58 -07:00
mcsauder 5fec0df70d Additional initializations required to reset complimentary filter values if the state estimate ever diverges and requires re-initiailization. 2016-02-25 22:51:14 -07:00
James Goppert dd30028823 Merge pull request #14 from mcsauder/master
Matrix index correction to allow non-square matrices to evaluate properly.
2016-02-25 16:36:14 -05:00
mcsauder 46c83a8c18 Correct a few indexing copy/paste errors that likely previously only functioned properly on square matrices. 2016-02-25 18:51:28 -07:00
Roman Bapst 9192ced7bb do not reset output attitude state after heading reset to avoid jumps in attitude 2016-02-25 18:20:29 +01:00
Lorenz Meier cd5857e900 Add vibration magnitude estimation 2016-02-25 16:54:24 +01:00
Paul Riseborough cd0cac066a EKF: Calculate and publish horizontal and vertical position accuracy
This calculation takes into account the uncertainty of the origin.
Dead reckoning status is also published
2016-02-25 10:38:07 +11:00
Paul Riseborough a30830a7a9 EKF: Scale position observation noise with GPS quality
This allows the filter to adapt to variations in GPs quality.
The range of adjustment in observation noise is limited to the range between a lower limit set by the GPS observation noise parameter and an upper limit set by the no-aiding observation noise.
2016-02-25 10:16:32 +11:00
Paul Riseborough 5483e7a477 Merge pull request #60 from PX4/pr-ReduceMagModeSwitchKick
EKF: Fix Bug Causing Roll/pitch Disturbances On Mag Fusion Mode Switch
2016-02-25 09:42:18 +11:00
Paul Riseborough f55a0bff53 EKF: Fix code style 2016-02-25 08:17:50 +11:00
Paul Riseborough 5b5bddebea EKF: Always reset yaw and mag field states on entry into 3-axis mag fusion mode 2016-02-25 08:16:42 +11:00
Paul Riseborough 2d09a5f3ac EKF: Don't reset yaw and mag field states when not necessary 2016-02-25 08:16:42 +11:00
Paul Riseborough 380db7ebef EKF: Reset angle error covariance after yaw and mag field reset
The yaw angle could have changed by a significant amount making the correlations invalid.
Setting angle variances to zero prevents the initial kick in angles due to 3D fusion starting
2016-02-25 08:16:42 +11:00
Paul Riseborough e938475acc Merge pull request #59 from PX4/pr-ImprovedStartup
Improvements to EKF startup - partially replaces PR#57
2016-02-24 18:27:12 +11:00
Paul Riseborough 0ad5329caf EKF: Update comments in heading fusion to clarify calculation of magnetic heading 2016-02-24 12:06:11 +11:00
Paul Riseborough 36affe3cd8 EKF: Fix bug causing incorrect initial roll when inverted 2016-02-24 11:56:12 +11:00
Paul Riseborough 016695fc3e EKF: Reduce startup transients
Update initial state variance values
2016-02-24 11:48:42 +11:00
Siddharth Bharat Purohit 9c7a3f366c Merge pull request #54 from mcsauder/master
Address C99 compatibility issues by relocating variable initialization. - Replaces PR#50
2016-02-23 15:53:04 -08:00
mcsauder 6613335937 Added constexpr back from const var type. 2016-02-23 16:15:52 -07:00
mcsauder 342010c113 Update c style array initialization to attempt to pass Travic CI build tests. 2016-02-23 15:52:02 -07:00
mcsauder 48e80e9e3e Correct C style array initialization. 2016-02-23 15:16:40 -07:00
mcsauder f9f00fa52b Remove unnecessary include. 2016-02-23 14:00:39 -07:00
mcsauder ccb5736353 Spaces to tab. 2016-02-23 19:58:30 -07:00
mcsauder a4cecb1704 Match variable initialization order difference with upstream. 2016-02-23 19:57:27 -07:00
mcsauder 79d07c831f Convert spaces to tabs to match upstream. 2016-02-23 19:53:55 -07:00
mcsauder 6c96f45f08 Remove whitespace differences with upstream for pull request. 2016-02-23 19:49:27 -07:00
mcsauder fad1c87631 Merge upstream and resolve merge conflicts. 2016-02-23 19:29:30 -07:00
Siddharth Bharat Purohit 237ecfef1a Add travis build check badge 2016-02-22 23:49:58 -08:00
Roman Bapst 8eb63a150d Merge pull request #53 from bugobliterator/pr-sharedlib
Shared Library build
2016-02-23 08:30:46 +01:00
Paul Riseborough 35865048a2 Merge pull request #55 from PX4/pr-FixYawFusionBug
Fix bug in heading fusion and add new method for ground/indoor use
2016-02-21 09:41:18 +11:00
Paul Riseborough 70a3b91217 EKF: Update magnetometer fusion derivations 2016-02-20 20:09:15 +11:00
Paul Riseborough a711632017 EKF: Add method to fuse horizontal magnetometer data
This method is more suitable than a raw heading measurement because it works across a full range of pitch angles.
It has been made the default for ground operation.
2016-02-20 19:45:32 +11:00
mcsauder 4ce4724105 Added variable initializations back into EstimatorInterface() constructor to resolve a runtime error that occurs with uninitialized variables. 2016-02-19 23:57:06 -07:00
Paul Riseborough 6df6ac0023 EKF: Fix sign error in heading innovation calculation and clean up 2016-02-20 11:54:53 +11:00
Paul Riseborough 90e1bd3e36 EKF: wrap compass yaw estimate 2016-02-19 16:53:55 +11:00
Paul Riseborough 7d6226eb45 EKF: Improve efficiency of yaw angle fusion
Use direct calculation of Kaman gains with optimised algebra
2016-02-19 16:25:01 +11:00
Paul Riseborough 7f121e81e4 EKF: Update yaw innovation calculation to match revised derivation
The new derivation does not use magnetic field measurements in the observation model and instead fuses in a heading measurement directly.
2016-02-19 16:18:07 +11:00
mcsauder 72243c4a84 Resolve tab/space differences with upstream master. 2016-02-18 03:28:40 -07:00
mcsauder 437f6ca5fb Moved initialization to object constructors to allow C99 compiler compatibility. 2016-02-18 03:21:04 -07:00
Lorenz Meier 2b2c490382 Validator: Add function for 1D use of the 3D validator 2016-02-18 09:31:36 +01:00
bugobliterator ba7f0fc9ff EKF: add licensing information for mathlib header and src 2016-02-17 20:02:08 -08:00
bugobliterator 80632cc12c EKF: add comments and licensing information to builder files 2016-02-17 19:55:47 -08:00
bugobliterator e65c348905 EKF: add travis build 2016-02-17 18:51:40 -08:00
bugobliterator a40eb7cf37 EKF: add check for existence of matrix submodule 2016-02-17 17:51:09 -08:00
Siddharth Bharat Purohit 64a7b14171 update readme to include steps to build EKF shared object 2016-02-17 17:46:48 -08:00
bugobliterator cba5271785 add matrix submodule 2016-02-17 17:38:21 -08:00
bugobliterator 2f05f778de ignore build directory 2016-02-17 17:34:28 -08:00
bugobliterator 263c48d089 EKF: remove dependecies and allow ekf to be built as standalone shared lib 2016-02-17 17:33:18 -08:00
Paul Riseborough 96c0e18acb Merge pull request #49 from PX4/pr-fixMagCovariance
EKF: Fix magnetometer fusion and covariance handling
2016-02-18 10:22:36 +11:00
Roman Bapst 678d6f45cc Merge pull request #52 from bugobliterator/pr-airspeed-sample-fix
EKF: fix time of sample receive setting
2016-02-17 22:34:30 +01:00
bugobliterator 2096e24c06 EKF: fix time of sample receive setting 2016-02-17 13:29:12 -08:00
Paul Riseborough a679cdf1fb EKF: Change parameter default to not fuse declination when aiding
Ground and flight testing has shown declination drift to not be a problem with current tuning and realistic vehicle motion.
2016-02-17 17:22:02 +11:00
James Goppert 95e3d7d6ce Added set function. 2016-02-16 14:54:15 -05:00
James Goppert 5a01e6c939 Added slice function for matrix. 2016-02-16 12:22:08 -05:00
James Goppert 1ae114b3d2 Improved rk4 integration to allow longer time interval than 1 step. 2016-02-16 10:53:12 -05:00
Paul Riseborough abf9476853 EKF: miscellaneous formatting and typo updates 2016-02-16 11:08:30 +11:00
Paul Riseborough ffe1d30864 EKF: Set covariances to zero for un-used states 2016-02-16 11:08:30 +11:00
Paul Riseborough 294aca8609 EKF: Improve variance limiting for stationary states
Turn off the process noise if they grow too large and use the hard variance limit as a backup. This is numerically more stable than relying on a hard variance limit which does not deal with the covariances.
2016-02-16 11:08:30 +11:00
Paul Riseborough 1d40507af8 EKF: Set Kaman gains to zero for un-used states
This is a defensive programming technique. In theory this should not be necessary if the corresponding covariance entries are zero.
2016-02-16 11:08:30 +11:00
Paul Riseborough 69b8982043 EKF: Initialise variances to zero for un-used states
Setting these variances to zero makes it less likely that these states will be modified by fusion processing.
2016-02-16 11:08:30 +11:00
Paul Riseborough d9bf4e9870 EKF: Enable control mode transitions to be detected
Save the previous value of the filter control modes
2016-02-16 11:08:30 +11:00
Paul Riseborough 402206a305 EKF: Fix critical bug in fusion of yaw and declination observations
This bug was in the derivation and resulted from use of a tan instead of an atan operator. The derivations have been reworked and the updated auto-code has been imported as part of this patch.
2016-02-16 11:08:30 +11:00
Paul Riseborough d8afca5e7a EKF derivations: Correct error in direct yaw and declination angle fusion
The atan function is now being used correctly instead of the tan function. This fixes problems with large heading errors or declination values.
The simple heading fusion has been decoupled from the magnetic field measurements. This enables external yaw measurements to be used in the future.
2016-02-16 11:08:30 +11:00
Paul Riseborough 7da40a45a4 EKF: Add control mode for wind state estimation 2016-02-16 11:08:30 +11:00
Paul Riseborough de02aebafd EKF: Reset covariance matrix when doing a yaw and magnetic field reset
The correlation terms in the covariance matrix will be incorrect after a reset, so should be zeroed
2016-02-14 22:01:53 +01:00
Paul Riseborough dba58aa4c6 EKF: Add control logic for fusion modes 2016-02-14 22:01:53 +01:00
Paul Riseborough 22c177c951 EKF: Re-align yaw and magnetic field states when changing into GPS aiding mode 2016-02-14 22:01:53 +01:00
Paul Riseborough c089079321 EKF: Split tilt and yaw align 2016-02-14 22:01:53 +01:00
Paul Riseborough 020cc5978e EKF: Move calculation of declination into a separate function 2016-02-14 22:01:53 +01:00
Paul Riseborough aa58b3e98c EKF: Split angular alignment into tilt and yaw and use yaw and magnetic field alignment function 2016-02-14 22:01:53 +01:00
Paul Riseborough 2bbe7f9a1c EKF: Update magnetometer fusion to use declination from the specified source 2016-02-14 22:01:53 +01:00
Paul Riseborough 83945581ed EKF: Add function to calculate the magnetic declination to use 2016-02-14 22:01:53 +01:00
Paul Riseborough 9017e077f8 EKF: Publish the magnetic declination we wish to save for next startup 2016-02-14 22:01:53 +01:00
Paul Riseborough 0308f2f796 EKF: Add parameters to control declination source and fusion type 2016-02-14 22:01:53 +01:00
Paul Riseborough 6140d4b21f EKF: Add function to reset yaw and magnetic field states 2016-02-14 22:01:53 +01:00
Roman ad978c642f estimator interface:
added flag for in_air status of vehicle
2016-02-14 20:43:22 +01:00
Roman ce0ddc0207 -added comments
-removed unused print functions
-removed false _imu_time_last variable (correct is _time_last_imu)
2016-02-14 09:49:26 +01:00
Paul Riseborough 9d7340e187 EKF: Fix bugs in position and velocity resets
The position reset was not being compensated for velocity and measurement delay
The height was being reset with the position. It has been moved into a separate reset function
The maximum accepted GPS delay of 100msec was inadequate
The states  was being incorrectly reset to the GPS position and Baro height on initial alignment.
2016-02-14 09:49:26 +01:00
Paul Riseborough da1de2cc4d EKF: Correct for sensor noise and baro offset during alignment 2016-02-14 09:49:26 +01:00
Roman Bapst d21ce70eeb Merge pull request #45 from CarlOlsson/move_fuse_function_to_helper
moved fuse function to ekf_helper.cpp
2016-02-13 08:21:28 +01:00
CarlOlsson 1e766c7510 moved fuse function to ekf_helper.cpp 2016-02-12 15:54:32 +01:00
Lorenz Meier 0a9f7e58db Merge pull request #43 from PX4/pr-baroHeightOffset
Correct for sensor noise and baro offset during alignment
2016-02-10 08:02:48 +01:00
Paul Riseborough fff2bd50f6 EKF: Fix bugs in position and velocity resets
The position reset was not being compensated for velocity and measurement delay
The height was being reset with the position. It has been moved into a separate reset function
The maximum accepted GPS delay of 100msec was inadequate
The states  was being incorrectly reset to the GPS position and Baro height on initial alignment.
2016-02-10 15:16:05 +11:00
Paul Riseborough 40e174b81c EKF: Correct for sensor noise and baro offset during alignment 2016-02-10 10:25:27 +11:00
Paul Riseborough a6515543da Merge pull request #41 from PX4/pr-magFusionUpdates
EKF2: Prevent declination/heading drift during non-GPS operation
2016-02-09 07:57:34 +11:00
Paul Riseborough 5ea0ef39cd EKF: Update declination fusion logic
We do not need to run declination fusion if 3-axis mag fusion is not being used.
2016-02-09 07:54:24 +11:00
Paul Riseborough 47ab5ebcdd EKF: Make PR comply with project convention for indenting 2016-02-08 15:12:38 +11:00
Paul Riseborough cdc42c1de0 EKF: Add simple control logic for magnetic declination constraint 2016-02-08 14:18:43 +11:00
Paul Riseborough dbb8e12948 EKF: Add fusion method to constrain declination when unobservable
When fusing 3-axis magnetometer data without absolute external aiding leg GPS), the declination is ultimately unobservable and the declination of the  field states and the vehicle heading will slowly drift over time. To prevent this we need to fuse in a declination to constraint the NE earth field estimates.
2016-02-08 14:18:43 +11:00
Paul Riseborough 9347afe250 EKF: Use unique variable name for mag heading fusion observation Jacobian 2016-02-08 14:18:43 +11:00
Paul Riseborough 6aeccf01ff EKF: Add missing fusion health status messages 2016-02-08 14:18:43 +11:00
Paul Riseborough a22886544d EKF: Add missing Kalman gain to Declination fusion autocode 2016-02-08 14:02:08 +11:00
Paul Riseborough 2c8c6efb45 EKF: Eliminate use of power function to square numbers
Use of the power function to square a number can be very inefficient depending on processor and compiler. Replace with an inlined function  that multiplies the number by itself. This has not been put into the maths library because the use of the sq() function is peculiar to the autocode generated for the EKF and an inlined function was desired.
2016-02-08 11:11:59 +11:00
Paul Riseborough 42a943b37e EKF: Fix text errors introduced when editing optical flow fusion autocode fragment 2016-02-07 21:49:50 +11:00
Paul Riseborough f99256286b Merge pull request #40 from PX4/pr-updateOpticalFlowAutoCode
Update EKF Optical Flow Fusion Autocode Fragments
2016-02-07 19:35:38 +11:00
Paul Riseborough 384ce06110 EKF: Add alternative code fragments for optical flow fusion
These fragments were generated using the inbuilt matlab symbolic toolbox autocoder and may be more efficient than the other method
2016-02-07 19:31:13 +11:00
Paul Riseborough dba462b9f3 EKF: Improve efficiency of optical flow fusion auto generated code fragments 2016-02-07 19:29:49 +11:00
Paul Riseborough 3f81eb7d1b EKF: fix formatting 2016-02-04 17:15:03 +11:00
Paul Riseborough 9bfc11b660 EKF: Use specific position observation noise when flying without GPS
A larger position uncertainty is required when flying without GPS to reduce tilt attitude estimation errors caused by vehicle manoeuvring. This needs to be tuneable to allow optimisation for different use cases (e.g. outdoor vs indoor).
2016-02-03 18:40:32 +11:00
Paul Riseborough 7de1d39ce4 EKF: Improve use of position and velocity observation noise parameters
Fix bug where noise parameters were not being squared when calculating the observation variance.
Use GPS reported speed accuracy to set velocity observation noise and use the parameter to set the minimum.
2016-02-03 18:15:38 +11:00
Paul Riseborough 2b1e8fe910 EKF: Update tuning parameters
Set conservative defaults as a baseline for tuning
Add a missing parameter for magnetometer observation noise.
Correct error in definition of magnetic heading observations noise (previous parameter defined the variance directly, not the noise).
Scale vertical GPS noise to allow for average EPV to EPH ratio.
Update documentation and display names for consistency.
2016-02-03 17:05:45 +11:00
Lorenz Meier b21a49b3f9 EKF: Use standard C++ initializers 2016-01-31 23:24:36 +01:00
Roman b749a7557b fixed typos 2016-01-31 21:36:58 +01:00
bugobliterator d79e12dfa1 EKF: fix code style 2016-01-31 00:12:16 -08:00
bugobliterator 8200ef4d17 EKF: allocate and unallocate buffer more robustly 2016-01-31 00:12:16 -08:00
bugobliterator c6249a2825 EKF: change estimator base class name to estimation interface 2016-01-31 00:12:07 -08:00
bugobliterator 3cafedd4c1 EKF: start storing samples only when ekf is initialised 2016-01-30 12:46:01 -08:00
bugobliterator b062bd2e38 EKF: move estimator specific variables to estimator core 2016-01-30 12:45:23 -08:00
bugobliterator 287f5eb0c2 EKF: move all estimator specific types to common header 2016-01-30 12:44:19 -08:00
bugobliterator b05e2d825c EKF: move estimator specific initialisations to estimator core 2016-01-30 12:42:24 -08:00
Paul Riseborough f1b82057c0 EKF: Combine GPS velocity innovation gate parameters
Separate vertical and horizontal parameters for GPS velocity innovation gates are not required
2016-01-30 12:21:50 -08:00
Paul Riseborough 466a104534 EKF: additional GPS check logic
Improve naming of NED origin initialisation status
Add check for GPS solution type
Use GPS checks when regaining GPs in-flight
2016-01-30 12:21:39 -08:00
bugobliterator a779d45cd0 ekf2: fix bug causing faulty imu data storage 2016-01-29 23:56:24 -08:00
bugobliterator 92dc41e885 EKF: fix typo in function declaration 2016-01-29 20:05:07 -08:00
bugobliterator 3eea6cdcc5 EKF: use namespace for structure definitions
will be moved to a separate file in the future
2016-01-29 20:04:21 -08:00
bugobliterator 001d621eb1 EKF: move imu data processing code to estimator core 2016-01-29 20:03:25 -08:00
bugobliterator 251996d387 ekf: move gps checks to Ekf library from estimator_base 2016-01-29 17:15:18 -08:00
Paul Riseborough 46b0e9654c Add filter control logic 2016-01-30 09:01:48 +11:00
Paul Riseborough 9236f11c80 EKF: Add position and velocity innovation consistency checks 2016-01-28 16:33:54 +11:00
Paul Riseborough 7713cc8c20 Merge pull request #17 from priseborough/pr-addMagErrHandling
EKF: Add magnetometer fusion error handling
2016-01-28 13:43:57 +11:00
Lorenz Meier f4b2c0eecf Merge pull request #11 from mcharleb/PRIu64-fix
Fixed printf of uint64_t
2016-01-28 01:01:10 +01:00
Paul Riseborough 802129f384 EKF: Add magnetometer fusion error handling 2016-01-28 09:53:55 +11:00
Paul Riseborough 39eef3a2d7 EKF: Remove use of camel case variable names
Also fixes bug in GPS speed accuracy check that was using horizontal position accuracy variable by mistake.
2016-01-28 08:37:45 +11:00
Paul Riseborough cc50d26601 EKF: Update comments 2016-01-28 08:13:38 +11:00
Paul Riseborough 4526cb9c4f EKF: remove redundant variable 2016-01-28 07:50:45 +11:00
Paul Riseborough 6326433c47 EKF: Eliminate call to hrt_absolute_time()
This will make the library more portable
2016-01-27 19:04:31 +11:00
James Goppert ce30542dba Fix output for unit test. 2016-01-25 13:54:13 -05:00
James Goppert 1778ac199c Fixed euler wrapping. 2016-01-25 13:40:51 -05:00
Paul Riseborough 94a6644684 Add comprehensive user selectable GPS checks 2016-01-25 13:07:57 +11:00
James Goppert a92d5c1338 Removed unneeded headers. 2016-01-24 02:44:25 -05:00
James Goppert e639a3612f Fix typo. 2016-01-24 02:30:54 -05:00
James Goppert d8e397c010 Merge pull request #10 from PX4/euler_fix
fix euler calculation
2016-01-24 01:52:40 -05:00
James Goppert 5aef810e7c Fixed euler angles. 2016-01-24 01:50:34 -05:00
James Goppert 6e6033a1af Merge branch 'master' into euler_fix 2016-01-24 00:41:12 -05:00
James Goppert b98ac75452 Formatting. 2016-01-24 00:39:59 -05:00
James Goppert ffbe58ca10 Added better roundtrip euler test. 2016-01-24 00:39:21 -05:00
James Goppert b9bfadb0cc Fix for travis. 2016-01-24 00:00:22 -05:00
James Goppert faee66273b Turned back on testing flag. 2016-01-23 23:58:43 -05:00
James Goppert 20a1f902b1 Merge branch 'master' into euler_fix
Conflicts:
	.travis.yml
	test/attitude.cpp
2016-01-23 23:56:35 -05:00
James Goppert cc2804d6a6 Merge pull request #13 from PX4/testing
Testing
2016-01-23 23:38:13 -05:00
James Goppert 0969b0ae56 Removed uncessary print. 2016-01-23 23:35:44 -05:00
James Goppert d761bd3721 Fixed formatting. Made traivs more verbose. 2016-01-23 23:33:25 -05:00
James Goppert 38211e1aff Fix testing mechanism. 2016-01-23 23:26:26 -05:00
Roman 8d0022ab1e enable estimator state and innovations data logging 2016-01-22 11:31:14 +01:00
Roman 86df68e404 added interface for parameters 2016-01-22 10:45:03 +01:00
Lorenz Meier 6009709986 Merge pull request #11 from PX4/dspal_fix
Added dspal_math.h for missing constants
2016-01-21 23:23:41 +01:00
Mark Charlebois 306f0ac25d Added dspal_math.h for missing constants
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-21 12:45:07 -08:00
Roman Bapst 9b7afa2600 Merge pull request #12 from nickolasrossi/master
fix buffer overflow in constrain of wind velocity
2016-01-20 07:27:00 +01:00
nickolasrossi dfbbd36ff7 fix buffer overflow in constrain of wind velocity 2016-01-19 18:25:22 -08:00
Mark Charlebois 79bf35c4b3 Fixed printf of uint64_t
Must use PRIu64 to prevent compiler errors.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-18 22:19:10 -08:00
Lorenz Meier 48a3288753 Fix QuRT build 2016-01-18 13:39:46 -08:00
James Goppert fa31c61f2c Fix for euler. 2016-01-14 15:24:37 -05:00
Roman Bapst 2c80614e20 Merge pull request #10 from PX4/delta_ang_bias_fix
fix delta angle bias usage:
2016-01-14 17:10:47 +01:00
Roman 0b5c90574c fix delta angle bias usage:
the delta angle bias was applied to imu data which was not coming in the same
time intervall as the filter was operating. Therefore, the delta angle bias
applied to new imu data had to be scaled correctly in order to match
the imu time interval.
2016-01-14 17:06:02 +01:00
Roman Bapst a22a47fe15 fix euler calculation
Conflicts:
	matrix/Euler.hpp
2016-01-14 15:51:28 +01:00
Lorenz Meier 1d9d8e6f9b Use a slight ifdef hack to let things default to C++11 for most platforms 2016-01-12 12:14:53 +01:00
Lorenz Meier 187830164d Fix cast 2016-01-12 11:50:21 +01:00
James Goppert 67c8c8b331 Cast to float for isfinite. 2016-01-12 01:35:33 -06:00
James Goppert f1968f51d6 Fixed coverage issues. 2016-01-12 01:28:48 -06:00
James Goppert a90484362f Merge pull request #8 from PX4/cast_fix
added missing cast
2016-01-12 01:09:56 -06:00
Roman 4034c916c7 added missing cast 2016-01-12 07:51:52 +01:00
James Goppert cc800454d2 Formatting. 2016-01-11 22:05:34 -06:00
James Goppert 684a6b626d Merge branch 'quaternion'
Conflicts:
	test/attitude.cpp
2016-01-11 21:59:28 -06:00
James Goppert 0e48d2596c Merge pull request #6 from thomasgubler/pr1
scalar multiplication; std::cout support
2016-01-11 21:47:51 -06:00
Roman Bapst 749156d4aa Merge pull request #7 from PX4/ekf2_fixes
Ekf2 fixes
2016-01-08 07:09:01 +01:00
Roman 2af5856361 initialise output height with baro 2016-01-08 06:59:10 +01:00
Roman a41f75ffb1 use full mag fusion 2016-01-08 06:59:10 +01:00
Roman f8354bb5e9 - do not fake vertical gps measurement as we have baro
- formatting

Conflicts:
	EKF/ekf.cpp
2016-01-08 06:59:10 +01:00
Roman 2a88fc6cfd initialise vertical position correctly 2016-01-08 06:42:22 +01:00
Roman 5aa5f7f8c3 use correct timestamp for measurements 2016-01-08 06:42:03 +01:00
Lorenz Meier b542e2b49b Merge pull request #6 from mcharleb/hexagon_support
Added hexagon support
2016-01-08 00:37:32 +01:00
Mark Charlebois b8837b4dc6 Added hexagon support
std::to_string is not supported in the Hexagon complier

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-07 14:54:55 -08:00
Lorenz Meier b457709bd9 Merge pull request #4 from PX4/paul-wip
EKF: Fix 'Dizzy on Startup' behaviour
2016-01-03 02:00:23 +01:00
Paul Riseborough edfb7aefcc EKF: Fix initial alignment errors
Use the gravity vector to estimate the initial roll and pitch angle
Use the projection of the magnetic field measurement onto the earth axis horizontal plane to calculate the initial heading
2016-01-03 00:03:03 +11:00
Lorenz Meier 52cb9d02c7 EKF: Initialize all local structs and variables 2016-01-01 12:31:36 +01:00
Lorenz Meier 7537c966f9 Merge pull request #3 from PX4/paul-wip
Enable use of POSCTL mode with EKF2
2016-01-01 11:41:14 +01:00
Paul Riseborough 0cb210d045 EKF: Changes required to enter POSCTL mode 2016-01-01 11:56:38 +11:00
Thomas Gubler 45e6012818 matrix scalar pre multiplication and general scalar multiplication for
quaternions
2015-12-26 13:15:39 +01:00
Thomas Gubler 99ac532746 remove unnecessary ; 2015-12-26 12:07:12 +01:00
Thomas Gubler d999923a35 support for std::cout 2015-12-26 12:07:12 +01:00
Lorenz Meier eda69e727f Do not print states by default 2015-12-24 13:48:22 +01:00
Lorenz Meier ec0189bb3c Update README 2015-12-24 13:47:02 +01:00
Lorenz Meier 101bcdc4e1 Ignore system and temp files 2015-12-24 13:46:52 +01:00
Lorenz Meier e2e93ca100 Update README 2015-12-24 10:25:31 +01:00
Roman 457a57c6ff use simple heading fusion 2015-12-22 18:00:59 +01:00
Lorenz Meier 6b49e2495c Fix field initializers 2015-12-22 17:25:08 +01:00
Lorenz Meier 8894786752 Estimator base: Fix printf formatting 2015-12-22 17:24:58 +01:00
Lorenz Meier faf48242ed EKF: Fix ringbuffer warnings 2015-12-22 17:24:43 +01:00
Roman cc1658db15 fixed wrong type conversion 2015-12-22 11:23:18 +01:00
Roman 5e5d6f432a added static gps mode and init mag state correctly 2015-12-22 11:22:17 +01:00
Lorenz Meier 21fa17c948 Fix field initializers 2015-12-21 18:56:15 +01:00
Lorenz Meier e8273208d7 EKF: Remove excessive verbosity 2015-12-21 11:52:05 +01:00
Lorenz Meier 0da1aa54af Ignore system and temp files 2015-12-21 11:29:57 +01:00
Lorenz Meier 155ba9f796 Estimator base: Fix printf formatting 2015-12-21 11:27:11 +01:00
Lorenz Meier 2a6e48332d EKF: Fix ringbuffer warnings 2015-12-21 11:26:50 +01:00
Roman Bapst c3c6a0a9df fix euler calculation 2015-12-20 06:06:56 +01:00
Roman 10b395a782 added more quaternion methods 2015-12-19 09:47:03 +01:00
Roman f153a7cb44 added ifdef guard 2015-12-19 09:40:32 +01:00
Roman 772c1bf981 compile fw wheel controller code 2015-12-19 09:38:10 +01:00
Roman 3c7705b3f9 checked out attitude fw folder from master 2015-12-19 09:37:40 +01:00
Roman d009118437 set stack size for ecl 2015-12-19 09:16:17 +01:00
Roman dd171670ca checked out validation code from master 2015-12-19 08:53:08 +01:00
Roman Bapst c58d1df7bc fixed cmake file 2015-12-10 16:49:42 +01:00
Roman Bapst d233ca3990 added complementary filter for real time state estimation 2015-12-10 16:36:10 +01:00
Roman Bapst 67646a15b0 added full mag fusion 2015-12-10 09:07:00 +01:00
Roman 8de8b0eb76 prediction and vel pos heading fusion working 2015-12-09 17:47:52 +01:00
Roman 921df43d32 added tests for EKF ringbuffer 2015-12-07 22:41:11 +01:00
Roman d90c8fd7c2 fixed bug in covariance prediction 2015-12-07 22:41:11 +01:00
Roman cfc39bc2f9 implemented prediction of states and covariance matrix 2015-12-07 22:41:11 +01:00
Roman 16eb3b0e96 cmake: added new files for compilation 2015-12-07 22:41:11 +01:00
Roman b52e38eb9d fix 2015-12-07 22:41:11 +01:00
Roman cd5db8f494 enhance ringbuffer 2015-12-06 17:07:44 +01:00
Roman b3491bcfc3 added file with ekf helper functions 2015-12-06 13:19:25 +01:00
Roman 859502753d added file with covariance calculations 2015-12-06 13:10:49 +01:00
Roman Bapst 144aa9c461 added base class for data storage 2015-12-05 11:08:06 +01:00
jgoppert 9cd6ac3dd9 Fixed coverage. 2015-11-14 09:04:38 -05:00
jgoppert dc0eb16880 Fixed integration test. 2015-11-14 09:01:09 -05:00
jgoppert f2c0669c0d Changed rk4 to use generic matrix interface. 2015-11-14 08:55:34 -05:00
jgoppert b9924820e1 Work on kalman filter interface. 2015-11-12 16:41:07 -05:00
jgoppert 0a110a1b02 Fixed integration test. 2015-11-12 15:15:31 -05:00
jgoppert aa3a086cda Work on rk4 interface. 2015-11-12 15:13:17 -05:00
jgoppert 7656385ea1 Changed rk4 signature. 2015-11-12 10:19:30 -05:00
jgoppert 606eb1dc2b Added attitude classes to README. 2015-11-12 10:09:54 -05:00
jgoppert a334cecfa7 Forced function instantiation for coverage testing. 2015-11-12 10:07:09 -05:00
jgoppert 410bbc4c71 Added more to README. 2015-11-12 09:51:11 -05:00
jgoppert c29c44b450 Added more testing to instantiate some missing templates. 2015-11-12 09:44:30 -05:00
James Goppert 6a351ac050 Merge pull request #1 from PX4/coverage_filter
Changed root dir for coverage.
2015-11-12 01:32:08 -05:00
jgoppert e724ae4078 Set include dir. 2015-11-12 01:29:47 -05:00
jgoppert 8054180e89 Changed root dir for coverage. 2015-11-12 01:27:27 -05:00
jgoppert 10b89a2594 Switching coverage upload mechanism. 2015-11-12 01:22:40 -05:00
jgoppert 787606b6b8 Formatting. 2015-11-11 23:33:26 -05:00
jgoppert 42f2e60b24 Added runge kutta integration. 2015-11-11 23:31:43 -05:00
jgoppert 2c7a375e3d Fixed kalman correct test. 2015-11-09 19:58:00 -05:00
jgoppert e972a0a111 Made kalman filter correction function usable. 2015-11-09 19:55:20 -05:00
jgoppert 222a97e73f Merge ../Firmware/src/lib/matrix 2015-11-08 12:08:52 -05:00
jgoppert 5c573b075f Fixes for nuttx. 2015-11-08 12:08:19 -05:00
jgoppert 400a9caa47 Merge ../Firmware/src/lib/matrix 2015-11-07 14:27:41 -05:00
jgoppert 9b995e19f3 Added vector2. 2015-11-07 14:27:12 -05:00
jgoppert 1f72309520 Added some docs. 2015-11-07 12:17:45 -05:00
jgoppert 835cdd2f91 README fix. 2015-11-07 12:03:10 -05:00
jgoppert 3a2c3bdae1 README formatting. 2015-11-07 12:00:21 -05:00
jgoppert 9884a4c423 Improved README. 2015-11-07 11:59:30 -05:00
jgoppert f621f68fe1 Changed license holder to development team. 2015-11-07 11:55:24 -05:00
jgoppert ace2751715 Badge fix. 2015-11-07 11:29:08 -05:00
Lorenz Meier f6e8cdd970 First attempt at enabling coveralls 2015-11-07 17:17:37 +01:00
jgoppert b9e1ccfe00 Merge branch 'master' of github.com:PX4/Matrix 2015-11-07 11:08:33 -05:00
jgoppert 1fb0f33eb4 Removed old references to matrix.hpp. 2015-11-07 11:08:17 -05:00
Lorenz Meier 4058e32f73 Fix include path 2015-11-07 17:06:07 +01:00
Lorenz Meier 222e42f934 Re-add convenience header 2015-11-07 09:43:28 +01:00
Lorenz Meier 6abd2f782a Re-add Matrix.hpp 2015-11-07 09:42:33 +01:00
Lorenz Meier 713aee154b Remove both versions of matrix / Matrix 2015-11-07 09:41:38 +01:00
jgoppert a2696fcee4 Fix for isfinite. 2015-11-06 21:09:34 -05:00
jgoppert 7abbdcd88f License fix. 2015-11-05 20:27:03 -05:00
jgoppert 32839006f3 Implemented vector 3 cross product. 2015-11-05 20:22:17 -05:00
jgoppert 5b5cfcfeca Added more vector ctors. 2015-11-05 19:37:31 -05:00
jgoppert 44768fad35 Added vector data ctor. 2015-11-05 19:32:28 -05:00
jgoppert cefe7b3e80 Cleaned up header includes. 2015-11-05 19:25:44 -05:00
jgoppert b06c557a2a Comment fix. 2015-11-05 18:16:07 -05:00
jgoppert c70994e6a5 Formatting. 2015-11-05 18:10:06 -05:00
jgoppert 4a6369cee5 More coverage testing. 2015-11-05 18:07:05 -05:00
jgoppert 550108cf1d More testing. 2015-11-05 17:29:57 -05:00
jgoppert 75399fb15e Cleanup of printing. 2015-11-05 17:13:03 -05:00
jgoppert 455cb58ebf New tests. 2015-11-05 17:03:22 -05:00
jgoppert 6ff42b7b31 Added some more vectors tests. 2015-11-05 16:59:59 -05:00
jgoppert 7136e5b7d1 More work on gimbal lock case. 2015-11-05 16:54:19 -05:00
jgoppert d01e0a1038 Formatting. 2015-11-05 15:44:54 -05:00
jgoppert 00a0b36836 Moved inverse outside of matrix definition. 2015-11-05 15:43:36 -05:00
jgoppert 5566b3dc77 expm testing and fixes. 2015-11-05 15:39:41 -05:00
jgoppert 5517532c90 Fixed coveralls build. 2015-11-05 13:37:14 -05:00
jgoppert 6aa8a72651 Renamed coverage option. 2015-11-05 13:34:49 -05:00
jgoppert 31821a44aa Fixed formatting script. 2015-11-05 13:33:35 -05:00
jgoppert 9af1604daa Formatting. 2015-11-05 12:45:53 -05:00
jgoppert 537c683d58 More cleanup. 2015-11-05 12:34:14 -05:00
jgoppert fd64e7e93a More testing and cleanup. 2015-11-05 12:28:39 -05:00
jgoppert 9d88b0d573 Fix for gcc 4.6 2015-11-05 11:29:18 -05:00
jgoppert bb6b375390 Travis fix. 2015-11-05 11:25:47 -05:00
jgoppert 5b0ea675c3 Fixed float in square matrix. 2015-11-05 11:23:54 -05:00
jgoppert cbe8b4ef6f Travis fix. 2015-11-05 11:21:48 -05:00
jgoppert b8dc262582 Formatting. 2015-11-05 11:18:33 -05:00
jgoppert 0062cbcbe2 Added more warnings, and fixed issues. 2015-11-05 11:17:54 -05:00
jgoppert 6ba15eeaa0 Formatting. 2015-11-05 10:51:53 -05:00
jgoppert 7c4b2c590e Update for travis. 2015-11-05 10:46:22 -05:00
jgoppert f7b1c63b86 Work on testing. 2015-11-05 10:44:21 -05:00
jgoppert a703c8169e Working on formatting. 2015-11-04 23:19:20 -05:00
jgoppert f23bed6823 Explicity disabled sudo. 2015-11-04 22:54:39 -05:00
jgoppert 3fc5ec9751 Tried apt addon. 2015-11-04 22:53:45 -05:00
jgoppert 04f24310b5 Added astyle install to travis. 2015-11-04 22:51:25 -05:00
jgoppert b818774f6a Work on format testing. 2015-11-04 22:48:13 -05:00
jgoppert eddc55827a More filter testing. 2015-11-04 20:58:56 -05:00
jgoppert 76cf91c5fd Work on filter. 2015-11-04 20:56:44 -05:00
jgoppert 52956e360a Added filtering test. 2015-11-04 20:43:22 -05:00
jgoppert b2e9e1e3c7 Added kalman filter. 2015-11-04 18:58:29 -05:00
jgoppert 7ec13f6282 Updated pdf. 2015-11-04 12:22:07 -05:00
jgoppert 18f80462b7 Got coverage working for templates. 2015-11-04 12:11:32 -05:00
jgoppert bf6de4b710 Updated travis. 2015-11-04 11:39:49 -05:00
jgoppert 9e37b99d76 Added local coverage tools. 2015-11-04 11:38:55 -05:00
jgoppert edc356d0db Added coverage flag. 2015-11-04 11:02:09 -05:00
jgoppert 4bf4611087 Work on coverage. 2015-11-04 10:54:46 -05:00
jgoppert abd0ef0143 Removed test files from coverage. 2015-11-04 03:39:35 -05:00
jgoppert 88def6b54e Made instantiation actual test program. 2015-11-04 03:37:33 -05:00
jgoppert 3477ff2adb Added coverage to build. 2015-11-04 03:29:01 -05:00
jgoppert 6458c0477e Working on coverage for templates. 2015-11-04 03:16:41 -05:00
jgoppert ea66d09a8e Added coverage source. 2015-11-04 03:11:45 -05:00
jgoppert 9b90f223a4 Updated token. 2015-11-04 02:51:42 -05:00
jgoppert ce719a0fe2 Added cov sources. 2015-11-04 02:29:07 -05:00
jgoppert 8f0448eb91 Coverage fix. 2015-11-04 01:58:48 -05:00
jgoppert 35edae200f Badge placement. 2015-11-04 01:54:14 -05:00
jgoppert edd23778ca Added coverage. 2015-11-04 01:52:19 -05:00
jgoppert b1ee027f64 Working on coverage. 2015-11-04 01:50:30 -05:00
Paul Riseborough 83079e0e11 Inertial Nav EKF: add notes on use of generated code 2015-11-04 17:05:23 +11:00
jgoppert 12713105b8 Fixed quaternion unit test. 2015-11-04 00:48:59 -05:00
jgoppert c84e934909 Updated vector class. 2015-11-04 00:37:00 -05:00
jgoppert 89851a85c0 Added badge. 2015-11-03 20:31:47 -05:00
jgoppert 33e0272447 Travis fix. 2015-11-03 20:31:10 -05:00
jgoppert 7470134559 Fixed filename. 2015-11-03 20:29:34 -05:00
jgoppert ad03429ae9 Added readme. 2015-11-03 20:28:48 -05:00
jgoppert 49035ed6a9 Added mode lines for vi. 2015-11-03 20:26:42 -05:00
jgoppert b842f8d8a5 Added travis. 2015-11-03 20:17:34 -05:00
jgoppert 5369904d27 Fixed default. 2015-11-03 19:50:09 -05:00
jgoppert a36ff9f1e5 Formatting and added Scalar. 2015-11-03 19:38:31 -05:00
jgoppert 76e86cf937 Initial commit. 2015-11-03 14:46:54 -05:00
Paul Riseborough b92c99073e Update read 2015-11-03 12:29:55 +11:00
Paul Riseborough 06e9d73268 Add derivation script files for inertial nav EKF 2015-11-03 12:24:43 +11:00
Paul Riseborough b3bd09d5b9 Rename directory 2015-11-03 12:24:25 +11:00
Paul Riseborough af6a196187 Add generated code for 24 state Nav Filter 2015-11-03 12:17:02 +11:00
Lorenz Meier 363b7d8c36 Adding blank folders and instructions 2015-10-27 11:12:05 +01:00
Lorenz Meier e5743d503c Initial import 2015-10-26 16:06:30 +01:00
Lorenz Meier 86fb72d3a3 Initial commit 2015-10-26 15:41:25 +01:00
6279 changed files with 760985 additions and 348576 deletions
+199
View File
@@ -0,0 +1,199 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
steps {
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",
]
def armhf_builds = [
target: ["beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
image: docker_images.armhf,
archive: false
]
def arm64_builds = [
target: ["scumaker_pilotpi_arm64"],
image: docker_images.arm64,
archive: false
]
def base_builds = [
target: ["px4_sitl_rtps"],
image: docker_images.base,
archive: false
]
def nuttx_builds_archive = [
target: [
"airmind_mindpx-v2_default",
"ark_can-flow_canbootloader",
"ark_can-flow_default",
"ark_can-gps_canbootloader",
"ark_can-gps_default",
"ark_can-rtk-gps_canbootloader",
"ark_can-rtk-gps_default",
"atl_mantis-edu_default",
"av_x-v1_default",
"bitcraze_crazyflie_default",
"bitcraze_crazyflie21_default",
"cuav_can-gps-v1_canbootloader",
"cuav_can-gps-v1_default",
"cuav_nora_default",
"cuav_x7pro_default",
"cubepilot_cubeorange_default",
"cubepilot_cubeyellow_default",
"freefly_can-rtk-gps_canbootloader",
"freefly_can-rtk-gps_default",
"holybro_can-gps-v1_canbootloader",
"holybro_can-gps-v1_default",
"holybro_durandal-v1_default",
"holybro_kakutef7_default",
"holybro_pix32v5_default",
"matek_h743-slim",
"matek_gnss-m9n-f4_canbootloader",
"matek_gnss-m9n-f4_default",
"modalai_fc-v1_default",
"modalai_fc-v1_rtps",
"modalai_fc-v2_default",
"mro_ctrl-zero-f7_default",
"mro_ctrl-zero-f7-oem_default",
"mro_ctrl-zero-h7_default",
"mro_ctrl-zero-h7_rtps",
"mro_ctrl-zero-h7-oem_default",
"mro_ctrl-zero-h7-oem_rtps",
"mro_pixracerpro_default",
"mro_pixracerpro_rtps",
"mro_x21-777_default",
"mro_x21_default",
"nxp_fmuk66-e_default",
"nxp_fmuk66-e_rtps",
"nxp_fmuk66-e_socketcan",
"nxp_fmuk66-v3_default",
"nxp_fmuk66-v3_rtps",
"nxp_fmuk66-v3_socketcan",
"nxp_fmurt1062-v1_default",
"nxp_ucans32k146_canbootloader",
"nxp_ucans32k146_default",
"omnibus_f4sd_default",
"raspberrypi_pico_default",
"px4_fmu-v2_default",
"px4_fmu-v2_fixedwing",
"px4_fmu-v2_multicopter",
"px4_fmu-v2_rover",
"px4_fmu-v3_default",
"px4_fmu-v4_default",
"px4_fmu-v4pro_default",
"px4_fmu-v5_debug",
"px4_fmu-v5_default",
"px4_fmu-v5_rtps",
"px4_fmu-v5_stackcheck",
"px4_fmu-v5_uavcanv0periph",
"px4_fmu-v5_uavcanv1",
"px4_fmu-v5x_default",
"px4_fmu-v6u_default",
"px4_fmu-v6x_default",
"px4_io-v2_default",
"spracing_h7extreme_default",
"uvify_core_default"
],
image: docker_images.nuttx,
archive: true
]
def docker_builds = [
armhf_builds, base_builds, nuttx_builds_archive
]
for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
for (def build_target = 0; build_target < docker_builds[build_type].target.size(); build_target++) {
build_nodes.put(docker_builds[build_type].target[build_target],
createBuildNode(docker_builds[build_type].archive, docker_builds[build_type].image, docker_builds[build_type].target[build_target])
)
}
}
parallel build_nodes
} // script
} // steps
} // stage Build
// TODO: actually upload artifacts to S3
// stage('S3 Upload') {
// agent {
// docker { image 'px4io/px4-dev-base-focal:2021-09-08' }
// }
// options {
// skipDefaultCheckout()
// }
// when {
// anyOf {
// branch 'master'
// branch 'beta'
// branch 'stable'
// branch 'pr-jenkins' // for testing
// }
// }
// steps {
// sh 'echo "uploading to S3"'
// }
// }
} // stages
environment {
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
timeout(time: 90, unit: 'MINUTES')
}
}
def createBuildNode(Boolean archive, String docker_image, String target) {
return {
bypass_entrypoint = ''
node {
docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') {
docker.image(docker_image).inside('-e CCACHE_BASEDIR=${WORKSPACE} -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' + bypass_entrypoint) {
stage(target) {
try {
sh('export')
checkout(scm)
sh('make distclean; git clean -ff -x -d .')
sh('git fetch --tags')
sh('ccache -s')
sh('make ' + target)
sh('ccache -s')
sh('make sizes')
if (archive) {
archiveArtifacts(allowEmptyArchive: false, artifacts: 'build/*/*.px4, build/*/*.elf, build/*/*.bin', fingerprint: true, onlyIfSuccessful: true)
}
sh('make ' + target + ' package')
archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.tar.bz2', fingerprint: true, onlyIfSuccessful: true)
archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.deb', fingerprint: true, onlyIfSuccessful: true)
}
catch (exc) {
throw (exc)
}
finally {
sh('make distclean; git clean -ff -x -d .')
}
}
}
}
}
}
}
+950
View File
@@ -0,0 +1,950 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Hardware Test') {
parallel {
stage("cubepilot_cubeorange_test") {
stages {
stage("build cubepilot_cubeorange_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make cubepilot_cubeorange_bootloader'
sh 'make cubepilot_cubeorange_test'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*, build/cubepilot_cubeorange_test/etc/init.d/airframes/*', name: 'cubepilot_cubeorange_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'cubepilot_cubeorange'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'cubepilot_cubeorange_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_bootloader/cubepilot_cubeorange_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
// run tests
runTests()
// load all airframes
// sh("./Tools/HIL/test_airframes.sh `find /dev/serial -name *usb-*` `cd build/cubepilot_cubeorange_test/etc/init.d/airframes/; find . -regex '.*/[0-9].*' -exec basename {} \\; | cut -d '_' -f 1` || true") // test loading all airframes\
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "2000"'
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status"'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf || true'
}
}
} // stage test
}
}
stage("cuav_x7pro_test") {
stages {
stage("build cuav_x7pro_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make cuav_x7pro_bootloader'
sh 'make cuav_x7pro_test'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'cuav_x7pro_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'cuav_x7pro'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'cuav_x7pro_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cuav_x7pro_bootloader/cuav_x7pro_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cuav_x7pro_test/cuav_x7pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "2000"'
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/cuav_x7pro_test/cuav_x7pro_test.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v3_test") {
stages {
stage("build px4_fmu-v3_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v3_test'
sh 'make px4_fmu-v3_test bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v3_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v3'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v3_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_test/px4_fmu-v3_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_test/px4_fmu-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status"'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v3_test/px4_fmu-v3_test.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v4_test") {
stages {
stage("build px4_fmu-v4_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v4_test'
sh 'make px4_fmu-v4_test bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v4_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v4'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v4pro_test") {
stages {
stage("build px4_fmu-v4pro_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v4pro_test'
sh 'make px4_fmu-v4pro_test bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v4pro_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v4pro'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4pro_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status"'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v5_debug") {
stages {
stage("build px4_fmu-v5_debug") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v5_debug'
sh 'make px4_fmu-v5_debug bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_debug'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v5'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5_debug'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save" || true'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600 || true'
resetBoard()
}
}
stage("tests") {
steps {
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 "uorb top -1"'
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 "sd_bench"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -v"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -u -v" || true'
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 file" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic quadcopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
checkStatus()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v5_stackcheck") {
stages {
stage("build px4_fmu-v5_stackcheck") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v5_stackcheck'
sh 'make px4_fmu-v5_stackcheck bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_stackcheck'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v5'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5_stackcheck'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save" || true'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
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 "uorb_tests"'
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"'
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic quadcopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
checkStatus()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf || true'
}
}
} // stage test
}
}
stage("px4_fmu-v5_test") {
stages {
stage("build px4_fmu-v5_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make px4_fmu-v5_test'
sh 'make px4_fmu-v5_test bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'px4_fmu-v5'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5_test'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf || true'
}
}
} // stage test
}
}
stage("nxp_fmuk66-v3_test") {
stages {
stage("build nxp_fmuk66-v3_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2021-09-08'
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
checkoutSCM()
sh 'make nxp_fmuk66-v3_test'
//sh 'make nxp_fmuk66-v3_test bootloader_elf'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'nxp_fmuk66-v3_test'
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
}
}
} // stage build
stage("hardware") {
agent {
label 'nxp_fmuk66-v3'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'nxp_fmuk66-v3_test'
//sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_bootloader.elf'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
resetBoard()
}
}
stage("tests") {
steps {
runTests()
}
}
stage("status") {
steps {
// configure
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "400"'
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
checkStatus()
quickCalibrate()
}
}
stage("print topics") {
steps {
printTopics()
}
}
}
post {
always {
sh 'cat /tmp/pyserial_spy_file.txt || true'
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf || true'
}
}
} // stage test
}
}
} // parallel
} // stage Hardware Test
} // stages
environment {
CCACHE_DIR = '/tmp/ccache'
CCACHE_NOHASHDIR = 1
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '30', artifactDaysToKeepStr: '60'))
timeout(time: 180, unit: 'MINUTES')
skipDefaultCheckout()
}
}
void checkoutSCM() {
retry(3) {
checkout scm
sh 'export'
sh 'make distclean; git clean -ff -x -d .'
sh 'git fetch --tags'
sh 'ccache -z'
}
}
void quickCalibrate() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_*"' // parameters before
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "gyro_calibration status || true"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate accel quick"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_ACC*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate gyro"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_GYRO*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate level"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show SENS*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate mag quick"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_MAG*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_*"' // parameters after
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
}
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/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
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"'
// run logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sleep 1"' // sleep before continuing
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/blocks"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/usage"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/meminfo"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/uptime"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander check" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "dataman status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "df -h"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "df"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ekf2 status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "free"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "gps status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener cpuload; top once; listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /bin"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /dev"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /etc"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /fs"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /fs/microsd"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /obj"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /proc"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /proc/fs"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status streams" || true'
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 "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"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ps"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm info -d /dev/pwm_output0"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm info -d /dev/pwm_output1" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm_out status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
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 "uavcan status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb top -1 -a" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ver all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
// stop logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"'
}
void resetParameters() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param reset_all"'
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "CBRK_BUZZER" --value "782097"'
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SDLOG_DIRS_MAX" --value "1"'
}
void runTests() {
// test loading a range of airframes
sh './Tools/HIL/test_airframes.sh `find /dev/serial -name *usb-*` 1000 1001 2100 3000 4001 6001 8001 10016'
resetParameters()
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_CAL_EN" --value "0" || true' // disable during testing
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_FFT_EN" --value "0" || true' // disable during testing
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SENS_IMU_AUTOCAL" --value "0" || true' // disable during testing
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SENS_MAG_AUTOCAL" --value "0" || true' // disable during testing
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save"'
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
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 "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"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink_tests" || true' // TODO
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
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 "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 "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 "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 "sd_bench"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -v"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -u -v"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_stress"'
// tests (stop modules first)
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "navigator stop"'
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-*`'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during microbenchmarks
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "microbench all"'
//sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "calib_udelay"'
}
void printTopics() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /obj"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb top -1 -a" || true'
// these are for casually inspecting the system, output failure doesn't matter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_armed" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_0" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_1" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_2" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_3" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_outputs" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener adc_report" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener airspeed_validated" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener airspeed_wind" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener battery_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener commander_state" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener cpuload" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener distance_sensor" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener ekf2_timestamps" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener ekf_gps_drift" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener esc_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_attitude" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_baro_bias" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_event_flags" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_global_position" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovation_test_ratios" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovation_variances" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovations" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_local_position" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_odometry" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_optical_flow_vel" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_selector_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_sensor_bias" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_states" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_status_flags" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_wind" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener event" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener heater_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener input_rc" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener led_control" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener log_message" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener logger_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener manual_control_setpoint" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener mavlink_log" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener mission" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener multirotor_motor_limits" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener optical_flow" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener parameter_update" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener position_controller_landing_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener position_setpoint_triplet" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener radio_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener rate_ctrl_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener safety" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_accel" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_accel_fifo" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_baro" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_combined" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro_fft" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro_fifo" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_mag" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_preflight_mag" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_selection" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensors_status_imu" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener system_power" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener task_stack_info" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener telemetry_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener test_motor" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener trajectory_setpoint" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener tune_control" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_acceleration" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_air_data" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_angular_acceleration" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_angular_velocity" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_attitude" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_attitude_setpoint" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_command" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_command_ack" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_control_mode" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_global_position" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_imu" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_imu_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_land_detected" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_local_position" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_local_position_setpoint" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_magnetometer" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_odometry" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_rates_setpoint" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_status_flags" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vtol_vehicle_status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener yaw_estimator_status" || true'
}
void resetBoard() {
resetParameters()
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SDLOG_MODE -1" || true' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "echo > /fs/microsd/.format" || true'
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
}
+102 -81
View File
@@ -1,88 +1,109 @@
Checks: '*
,-cert-dcl50-cpp
,-cert-err34-c
,-cert-err58-cpp
,-cert-msc30-c
,-cert-msc50-cpp
,-clang-analyzer-core.CallAndMessage
,-clang-analyzer-core.NullDereference
,-clang-analyzer-core.UndefinedBinaryOperatorResult
,-clang-analyzer-core.uninitialized.Assign
,-clang-analyzer-core.VLASize
,-clang-analyzer-cplusplus.NewDelete
,-clang-analyzer-cplusplus.NewDeleteLeaks
,-clang-analyzer-deadcode.DeadStores
,-clang-analyzer-optin.cplusplus.VirtualCall
,-clang-analyzer-optin.performance.Padding
,-clang-analyzer-security.insecureAPI.strcpy
,-clang-analyzer-unix.API
,-clang-analyzer-unix.cstring.BadSizeArg
,-clang-analyzer-unix.Malloc
,-clang-analyzer-unix.MallocSizeof
,-cppcoreguidelines-c-copy-assignment-signature
,-cppcoreguidelines-interfaces-global-init
,-cppcoreguidelines-no-malloc
,-cppcoreguidelines-pro-bounds-array-to-pointer-decay
,-cppcoreguidelines-pro-bounds-constant-array-index
,-cppcoreguidelines-pro-bounds-pointer-arithmetic
,-cppcoreguidelines-pro-type-const-cast
,-cppcoreguidelines-pro-type-cstyle-cast
,-cppcoreguidelines-pro-type-member-init
,-cppcoreguidelines-pro-type-reinterpret-cast
,-cppcoreguidelines-pro-type-union-access
,-cppcoreguidelines-pro-type-vararg
,-cppcoreguidelines-special-member-functions
,-google-build-using-namespace
,-google-explicit-constructor
,-google-global-names-in-headers
,-google-readability-casting
,-google-readability-namespace-comments
,-google-readability-todo
,-google-runtime-int
,-google-runtime-references
,-llvm-header-guard
,-llvm-include-order
,-llvm-namespace-comment
,-misc-incorrect-roundings
,-misc-macro-parentheses
,-misc-misplaced-widening-cast
,-misc-redundant-expression
,-misc-unconventional-assign-operator
,-misc-unused-parameters
,-modernize-deprecated-headers
,-modernize-loop-convert
,-modernize-use-auto
,-modernize-use-bool-literals
,-modernize-use-default-member-init
,-modernize-use-emplace
,-modernize-use-equals-default
,-modernize-use-equals-delete
,-modernize-use-override
,-modernize-use-using
,-modernize-pass-by-value
,-performance-inefficient-string-concatenation
,-readability-avoid-const-params-in-decls
,-readability-else-after-return
,-readability-implicit-bool-cast
,-readability-inconsistent-declaration-parameter-name
,-readability-non-const-parameter
,-readability-redundant-declaration
,-readability-redundant-member-init
,-readability-simplify-boolean-expr
'
---
Checks: '*,
-android*,
-bugprone-integer-division,
-cert-dcl50-cpp,
-cert-env33-c,
-cert-err34-c,
-cert-err58-cpp,
-cert-msc30-c,
-cert-msc50-cpp,
-clang-analyzer-core.CallAndMessage,
-clang-analyzer-core.NullDereference,
-clang-analyzer-core.UndefinedBinaryOperatorResult,
-clang-analyzer-core.uninitialized.Assign,
-clang-analyzer-core.VLASize,
-clang-analyzer-cplusplus.NewDelete,
-clang-analyzer-cplusplus.NewDeleteLeaks,
-clang-analyzer-deadcode.DeadStores,
-clang-analyzer-optin.cplusplus.VirtualCall,
-clang-analyzer-optin.performance.Padding,
-clang-analyzer-security.insecureAPI.strcpy,
-clang-analyzer-unix.API,
-clang-analyzer-unix.cstring.BadSizeArg,
-clang-analyzer-unix.Malloc,
-clang-analyzer-unix.MallocSizeof,
-cppcoreguidelines-c-copy-assignment-signature,
-cppcoreguidelines-interfaces-global-init,
-cppcoreguidelines-no-malloc,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-const-cast,
-cppcoreguidelines-pro-type-cstyle-cast,
-cppcoreguidelines-pro-type-member-init,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions,
-fuchsia-default-arguments,
-fuchsia-overloaded-operator,
-google-build-using-namespace,
-google-explicit-constructor,
-google-global-names-in-headers,
-google-readability-casting,
-google-readability-function-size,
-google-readability-namespace-comments,
-google-readability-todo,
-google-runtime-int,
-google-runtime-references,
-hicpp-deprecated-headers,
-hicpp-explicit-conversions,
-hicpp-function-size,
-hicpp-member-init,
-hicpp-no-array-decay,
-hicpp-no-assembler,
-hicpp-no-malloc,
-hicpp-signed-bitwise,
-hicpp-special-member-functions,
-hicpp-use-auto,
-hicpp-use-equals-default,
-hicpp-use-equals-delete,
-hicpp-use-override,
-hicpp-vararg,
-llvm-header-guard,
-llvm-include-order,
-llvm-namespace-comment,
-misc-incorrect-roundings,
-misc-macro-parentheses,
-misc-misplaced-widening-cast,
-misc-redundant-expression,
-misc-unconventional-assign-operator,
-misc-unused-parameters,
-modernize-deprecated-headers,
-modernize-loop-convert,
-modernize-pass-by-value,
-modernize-raw-string-literal,
-modernize-return-braced-init-list,
-modernize-use-auto,
-modernize-use-bool-literals,
-modernize-use-default-member-init,
-modernize-use-equals-default,
-modernize-use-equals-delete,
-modernize-use-override,
-modernize-use-trailing-return-type,
-modernize-use-using,
-performance-inefficient-string-concatenation,
-readability-avoid-const-params-in-decls,
-readability-container-size-empty,
-readability-else-after-return,
-readability-function-size,
-readability-implicit-bool-cast,
-readability-implicit-bool-conversion,
-readability-inconsistent-declaration-parameter-name,
-readability-named-parameter,
-readability-non-const-parameter,
-readability-redundant-declaration,
-readability-static-accessed-through-instance,
-readability-static-definition-in-anonymous-namespace,
'
WarningsAsErrors: '*'
CheckOptions:
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
CheckOptions:
- key: google-readability-function-size.BranchThreshold
value: '600'
- key: google-readability-function-size.LineThreshold
value: '4000'
- key: google-readability-function-size.StatementThreshold
value: '4000'
- key: readability-braces-around-statements.ShortStatementLines
value: '1'
- key: readability-function-size.LineThreshold
value: '4000'
- key: readability-function-size.StatementThreshold
value: '4000'
...
+7
View File
@@ -0,0 +1,7 @@
FROM gcr.io/oss-fuzz-base/base-builder:v1
COPY . $SRC/PX4-Autopilot
RUN apt-get install -y libjpeg8-dev zlib1g-dev
RUN pip3 install --upgrade pip
RUN python3 -m pip install -r $SRC/PX4-Autopilot/Tools/setup/requirements.txt
WORKDIR $SRC/PX4-Autopilot
COPY ./.clusterfuzzlite/build.sh $SRC/
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash -eu
PX4_FUZZ=1 make px4_sitl
cp build/px4_sitl_default/bin/px4 $OUT/px4
+1
View File
@@ -0,0 +1 @@
language: c++
+42
View File
@@ -0,0 +1,42 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// 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",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
"ms-iot.vscode-ros",
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
],
"containerUser": "user",
"containerEnv": {
"LOCAL_USER_ID": "${localEnv:UID}"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [14556],
}
+80
View File
@@ -0,0 +1,80 @@
* text=auto eol=lf
*.cmake text eol=lf
*.c text eol=lf
*.cc text eol=lf
*.cpp text eol=lf
*.h text eol=lf
*.hh text eol=lf
*.hpp text eol=lf
*.hxx text eol=lf
*.S text eol=lf
*.ipynb text eol=lf
*.m text eol=lf
*.mat binary
*.py text eol=lf
*.java text eol=lf
*.jar binary
*.xml text eol=lf
# PX4 mixers, msgs, etc
*.bin binary
*.mix text eol=lf
*.msg text eol=lf
*.config text eol=lf
*.sdf text eol=lf
*.uavcan text eol=lf
# NuttX
Makefile.* text eol=lf
*.defs text eol=lf
*.ld text eol=lf
*.csv text eol=lf
*.md text eol=lf
*.txt text eol=lf
# Scripts
*.bash text eol=lf
*.sh text eol=lf
*.zsh text eol=lf
# These are explicitly windows files and should use crlf
*.ps1 text eol=crlf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
# Serialisation
*.json text eol=lf
*.toml text eol=lf
*.xml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
# Graphics
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.tif binary
*.tiff binary
*.ico binary
*.pdf binary
# SVG treated as an asset (binary) by default.
*.svg text eol=lf
# Text files where line endings should be preserved
*.patch -text
# Archives
*.7z binary
*.gz binary
*.tar binary
*.tgz binary
*.zip binary
# everything else
.gitattributes text eol=lf
.gitignore text eol=lf
Makefile text eol=lf
+32
View File
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
---
**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/master/en/getting_started/flight_reporting.html)).
- Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/).
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.
@@ -0,0 +1,19 @@
---
name: 🚀 Feature Request
about: Suggest an idea for this project
---
For general questions please use [PX4 Discuss](http://discuss.px4.io/) or Slack (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.
@@ -0,0 +1,10 @@
---
name: ⛔ Support Question
about: See [PX4 Discuss](http://discuss.px4.io/) for questions about using PX4.
---
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!
@@ -0,0 +1,9 @@
---
name: ⛔ Documentation Issue
about: See https://github.com/PX4/Devguide for documentation issues
---
PX4 has dedicated repositories for developer documentation (https://github.com/PX4/Devguide) and user documentation (https://github.com/PX4/px4_user_guide).
Thanks!
-32
View File
@@ -1,32 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
**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/en/getting_started/flight_reporting.html)).
- Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/).
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.
-19
View File
@@ -1,19 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
For general questions please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/).
**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.
+24
View File
@@ -0,0 +1,24 @@
<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>

After

Width:  |  Height:  |  Size: 894 B

+12 -52
View File
@@ -1,55 +1,15 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 14
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
# 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:
- priority-crtical
- security
- "[Status] Maybe Later"
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: true
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
# Label to use when marking as stale
staleLabel: status/STALE
# Comment to post when marking as stale. Set to `false` to disable
- 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. It will be closed in 2 weeks if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Closing as stale.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 10
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.
# issues:
# exemptLabels:
# - confirmed
recent activity. Thank you for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+34
View File
@@ -0,0 +1,34 @@
name: ClusterFuzzLite batch fuzzing
on:
schedule:
- cron: '0 6 * * *' # UTC 6am every day.
permissions: read-all
jobs:
BatchFuzzing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer:
- address
- undefined
- memory
steps:
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@v1
with:
sanitizer: ${{ matrix.sanitizer }}
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 1800 # 30 mins
mode: 'batch'
sanitizer: ${{ matrix.sanitizer }}
# Optional but recommended: For storing certain artifacts from fuzzing.
# See later section on "Git repo for storage".
# storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
# storage-repo-branch: main # Optional. Defaults to "main"
# storage-repo-branch-coverage: gh-pages # Optional. Defaults to "gh-pages".
+51
View File
@@ -0,0 +1,51 @@
name: Checks
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
check: [
"check_format",
"tests",
"tests_coverage",
"px4_fmu-v2_default stack_check",
"validate_module_configs",
"shellcheck_all",
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
"NO_NINJA_BUILD=1 px4_sitl_default",
"BUILD_MICRORTPS_AGENT=1 px4_sitl_rtps",
"airframe_metadata",
"module_documentation",
"parameters_metadata",
]
container:
image: px4io/px4-dev-nuttx-focal:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: check environment
run: |
export
ulimit -a
- name: ${{matrix.check}}
run: make ${{matrix.check}}
- name: upload coverage
if: contains(matrix.check, 'coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
file: coverage/lcov.info
+21
View File
@@ -0,0 +1,21 @@
name: Clang Tidy
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-clang:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: make clang-tidy-quiet
run: make clang-tidy-quiet
+54
View File
@@ -0,0 +1,54 @@
name: Linux Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2021-09-08
strategy:
matrix:
config: [
beaglebone_blue_default,
emlid_navio2_default,
px4_raspberrypi_default,
scumaker_pilotpi_default,
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{matrix.config}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make ${{matrix.config}}
run: make ${{matrix.config}}
- name: ccache post-run
run: ccache -s
+51
View File
@@ -0,0 +1,51 @@
name: Linux ARM64 Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:2021-09-08
strategy:
matrix:
config: [
scumaker_pilotpi_arm64,
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{matrix.config}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make ${{matrix.config}}
run: make ${{matrix.config}}
- name: ccache post-run
run: ccache -s
+56
View File
@@ -0,0 +1,56 @@
name: MacOS build
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: macos-10.15
strategy:
matrix:
config: [
px4_fmu-v5_default,
px4_sitl
#tests, # includes px4_sitl
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: setup
run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: macos_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: macos_${{matrix.config}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 40M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make ${{matrix.config}}
run: |
ccache -z
make ${{matrix.config}}
ccache -s
+120
View File
@@ -0,0 +1,120 @@
name: Nuttx Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2021-09-08
strategy:
fail-fast: false
matrix:
config: [
airmind_mindpx-v2,
ark_can-flow,
ark_can-gps,
ark_can-rtk-gps,
atl_mantis-edu,
av_x-v1,
bitcraze_crazyflie,
bitcraze_crazyflie21,
cuav_can-gps-v1,
cuav_nora,
cuav_x7pro,
cubepilot_cubeorange,
cubepilot_cubeyellow,
freefly_can-rtk-gps,
holybro_can-gps-v1,
holybro_durandal-v1,
holybro_kakutef7,
holybro_kakuteh7,
holybro_pix32v5,
matek_h743-slim,
matek_gnss-m9n-f4,
modalai_fc-v1,
modalai_fc-v2,
mro_ctrl-zero-f7,
mro_ctrl-zero-f7-oem,
mro_ctrl-zero-h7,
mro_ctrl-zero-h7-oem,
mro_pixracerpro,
mro_x21,
mro_x21-777,
nxp_fmuk66-e,
nxp_fmuk66-v3,
nxp_fmurt1062-v1,
nxp_ucans32k146,
omnibus_f4sd,
raspberrypi_pico,
px4_fmu-v2,
px4_fmu-v3,
px4_fmu-v4,
px4_fmu-v4pro,
px4_fmu-v5,
px4_fmu-v5x,
px4_fmu-v6u,
px4_fmu-v6x,
spracing_h7extreme,
uvify_core
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{matrix.config}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 120M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make all_variants_${{matrix.config}}
run: make all_variants_${{matrix.config}}
timeout-minutes: 45
- name: make ${{matrix.config}} bloaty_compileunits
run: make ${{matrix.config}} bloaty_compileunits || true
- name: make ${{matrix.config}} bloaty_inlines
run: make ${{matrix.config}} bloaty_inlines || true
- name: make ${{matrix.config}} bloaty_segments
run: make ${{matrix.config}} bloaty_segments || true
- name: make ${{matrix.config}} bloaty_symbols
run: make ${{matrix.config}} bloaty_symbols || true
- name: make ${{matrix.config}} bloaty_templates
run: make ${{matrix.config}} bloaty_templates || true
- name: make ${{matrix.config}} bloaty_ram
run: make ${{matrix.config}} bloaty_ram || true
- name: make ${{matrix.config}} bloaty_compare_master
run: make ${{matrix.config}} bloaty_compare_master || true
- name: ccache post-run
run: ccache -s
- name: Upload px4 package
uses: actions/upload-artifact@v2
with:
name: px4_package_${{matrix.config}}
path: |
build/**/*.px4
build/**/*.bin
+54
View File
@@ -0,0 +1,54 @@
name: Deploy metadata for all targets
on:
push:
branches:
- 'master'
- 'release/*'
- 'pr-metadata-test'
jobs:
enumerate_targets:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- id: set-matrix
run: echo "::set-output name=matrix::$(./Tools/generate_board_targets_json.py)"
build:
runs-on: ubuntu-latest
needs: enumerate_targets
strategy:
matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}}
container: px4io/px4-dev-${{ matrix.container }}:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: make ${{matrix.target}}
run: make ${{matrix.target}}
- name: parameter & events metadata
run: |
make ${{matrix.target}} ver_gen events_json actuators_json
./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV
cd build/${{ matrix.target }}
mkdir _metadata || true
cp parameters.* events/*.xz actuators.json* _metadata
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read
env:
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: 'build/${{ matrix.target }}/_metadata/'
DEST_DIR: 'Firmware/${{ env.version }}/${{ matrix.target }}/'
@@ -0,0 +1,21 @@
name: EKF Change Indicator
on: pull_request
jobs:
unit_tests:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v2.3.1
with:
fetch-depth: 0
- name: checkout newest version of branch
run: |
git fetch origin pull/${{github.event.pull_request.number}}/head:${{github.head_ref}}
git checkout ${GITHUB_HEAD_REF}
- name: main test
run: make tests TESTFILTER=EKF
- name: Check if there is a functional change
run: git diff --exit-code
working-directory: src/modules/ekf2/test/change_indication
@@ -0,0 +1,29 @@
name: EKF Update Change Indicator
on: push
jobs:
unit_tests:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
env:
GIT_COMMITTER_EMAIL: bot@px4.io
GIT_COMMITTER_NAME: PX4BuildBot
steps:
- uses: actions/checkout@v2.3.1
with:
fetch-depth: 0
- name: main test updates change indication files
run: make tests TESTFILTER=EKF
- name: Check if there exists diff and save result in variable
run: echo "CHANGE_INDICATED=$(git diff --exit-code --output=/dev/null || echo $?)" >> $GITHUB_ENV
working-directory: src/modules/ekf2/test/change_indication
- name: auto-commit any changes to change indication
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: '[AUTO COMMIT] update change indication'
commit_user_name: ${GIT_COMMITTER_NAME}
commit_user_email: ${GIT_COMMITTER_EMAIL}
- if: ${{env.CHANGE_INDICATED}}
name: if there is a functional change, fail check
run: exit 1
+139
View File
@@ -0,0 +1,139 @@
name: MAVROS Mission Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config:
- {vehicle: "iris", mission: "MC_mission_box", build_type: "RelWithDebInfo"}
- {vehicle: "rover", mission: "rover_mission_1", build_type: "RelWithDebInfo"}
#- {vehicle: "plane", mission: "FW_mission_1", build_type: "RelWithDebInfo"}
#- {vehicle: "plane_catapult",mission: "FW_mission_1", build_type: "RelWithDebInfo"}
#- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "Coverage"}
#- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "AddressSanitizer"}
#- {vehicle: "tailsitter", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
#- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
./test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=${{matrix.config.mission}} vehicle:=${{matrix.config.vehicle}}
timeout-minutes: 45
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: ecl EKF analysis
if: always()
run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
- name: Upload logs to flight review
if: always()
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2
with:
name: binary
path: build/px4_sitl_default/bin/px4
- name: Store PX4 log
if: failure()
uses: actions/upload-artifact@v2
with:
name: px4_log
path: ~/.ros/log/*/*.ulg
- name: Store ROS log
if: failure()
uses: actions/upload-artifact@v2
with:
name: ros_log
path: ~/.ros/**/rostest-*.log
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavros_mission
file: coverage/lcov.info
+134
View File
@@ -0,0 +1,134 @@
name: MAVROS Offboard Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config:
- {test_file: "mavros_posix_tests_offboard_posctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
#- {test_file: "mavros_posix_tests_offboard_attctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
#- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
./test/rostest_px4_run.sh ${{matrix.config.test_file}} vehicle:=${{matrix.config.vehicle}}
timeout-minutes: 45
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: ecl EKF analysis
if: always()
run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
- name: Upload logs to flight review
if: always()
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2
with:
name: binary
path: build/px4_sitl_default/bin/px4
- name: Store PX4 log
if: failure()
uses: actions/upload-artifact@v2
with:
name: px4_log
path: ~/.ros/log/*/*.ulg
- name: Store ROS log
if: failure()
uses: actions/upload-artifact@v2
with:
name: ros_log
path: ~/.ros/**/rostest-*.log
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavros_offboard
file: coverage/lcov.info
+157
View File
@@ -0,0 +1,157 @@
name: Metadata
on:
push:
branches:
- 'master'
- 'release/*'
- 'pr-metadata-test'
jobs:
airframe:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: airframe metadata
run: |
make airframe_metadata
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
cd build/px4_sitl_default/docs
# TODO: deploy to userguide gitbook
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read
env:
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: 'build/px4_sitl_default/docs/'
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
module:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: module documentation
run: |
make module_documentation
cd build/px4_sitl_default/docs
ls -ls *
# TODO: deploy to userguide gitbook and s3
parameter:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: parameter metadata
run: |
make parameters_metadata
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read
env:
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: 'build/px4_sitl_default/docs/'
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
events:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: events metadata
run: |
make extract_events
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
cd build/px4_sitl_default
mkdir _events_full || true
cp events/all_events_full.json.xz _events_full/all_events.json.xz
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read
env:
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: 'build/px4_sitl_default/_events_full/'
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
uorb_graph:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: uORB graph
run: |
make uorb_graphs
cd Tools/uorb_graph
ls -ls *
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
micrortps_agent:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: microRTPS agent
run: |
make px4_sitl_rtps
git clone https://github.com/PX4/micrortps_agent.git
cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
ROS_msgs:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: PX4 ROS msgs
run: |
git clone https://github.com/PX4/px4_msgs.git
python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
ROS2_bridge:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2021-09-08
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: PX4 ROS2 bridge
run: |
git clone https://github.com/PX4/px4_ros_com.git
./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml
+25
View File
@@ -0,0 +1,25 @@
name: Python CI Checks
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Install Python3
run: sudo apt-get install python3 python3-setuptools python3-pip -y
- name: Install tools
run: pip3 install --user mypy types-requests flake8
- name: Check MAVSDK test scripts with mypy
run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
- name: Check MAVSDK test scripts with flake8
run: $HOME/.local/bin/flake8 test/mavsdk_tests/*.py
+135
View File
@@ -0,0 +1,135 @@
name: SITL Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
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: "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
container:
image: px4io/px4-dev-simulation-focal:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Download MAVSDK
run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
- name: Install MAVSDK
run: dpkg -i "mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
env:
PX4_HOME_LAT: ${{matrix.config.latitude}}
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
ulimit -a
- name: Build PX4
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: make px4_sitl_default
- name: ccache post-run px4/firmware
run: ccache -s
- 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: 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
- name: ccache post-run mavsdk_tests
run: ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_HOME_LAT: ${{matrix.config.latitude}}
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json --verbose
timeout-minutes: 45
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: binary
path: build/px4_sitl_default/bin/px4
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavsdk
file: coverage/lcov.info
+47 -12
View File
@@ -8,17 +8,15 @@
.cproject
.DS_Store
.gdbinit
.gdb_history
.project
.settings
.swp
.~lock.*
Testing/
Packages/*
s3deploy-branch/
s3deploy-archive/
build/*
build_*/
core
cscope.out
cscope.in.out
cscope.po.out
@@ -33,18 +31,11 @@ tags
.pydevproject
.ropeproject
*.orig
src/modules/uORB/topics/*
src/platforms/nuttx/px4_messages/*
src/platforms/ros/px4_messages/*
Firmware.zip
*.generated.h
.vagrant
*.pretty
xcode
src/platforms/posix/px4_messages/
src/platforms/posix-arm/px4_messages/
src/platforms/qurt/px4_messages/
ROMFS/*/*/rc.autostart
rootfs/
*.autosave
CMakeLists.txt.user
@@ -60,8 +51,6 @@ GTAGS
.idea
cmake-build-*/
.vscode
posix-configs/SITL/init/test/*_generated
/airframes.md
@@ -69,5 +58,51 @@ posix-configs/SITL/init/test/*_generated
/parameters.md
/parameters.xml
/modules
/msg/ros/*.msg
*.gcov
.coverage
.coverage.*
# KDevelop ignores
.kdev4/*
*.kdev4
# cmake in tree (ninja)
.ninja_deps
.ninja_log
bin/
build.ninja
cmake_install.cmake
CMakeCache.txt
CMakeFiles
compile_commands.json
CPackConfig.cmake
CPackSourceConfig.cmake
CTestTestfile.cmake
external/
rules.ninja
# in tree build
**/*.a
**/*.px4mod
**/*.stamp
/coverage*
/functional-*
/generated_params/
/googletest-*/
/logs
/mavsdk_tests
/test_mixer_multirotor
/unit-*
/uORB/
DartConfiguration.tcl
msg/tmp/
msg/topics_sources/
platforms/posix/apps.cpp
platforms/posix/apps.h
src/lib/version/build_git_version.h
src/modules/simulator/simulator_config.h
src/systemcmds/topic_listener/listener_generated.cpp
!src/drivers/distance_sensor/broadcom/afbrs50/Lib/*
+48 -42
View File
@@ -1,60 +1,66 @@
[submodule "mavlink/include/mavlink/v2.0"]
path = mavlink/include/mavlink/v2.0
url = https://github.com/mavlink/c_library_v2.git
[submodule "src/modules/mavlink/mavlink"]
path = src/modules/mavlink/mavlink
url = https://github.com/mavlink/mavlink.git
branch = master
[submodule "src/modules/uavcan/libuavcan"]
path = src/modules/uavcan/libuavcan
url = https://github.com/UAVCAN/libuavcan.git
branch = master
[submodule "msg/tools/genmsg"]
path = msg/tools/genmsg
url = https://github.com/ros/genmsg.git
branch = indigo-devel
[submodule "msg/tools/gencpp"]
path = msg/tools/gencpp
url = https://github.com/ros/gencpp.git
branch = indigo-devel
[submodule "src/drivers/uavcan/libuavcan"]
path = src/drivers/uavcan/libuavcan
url = https://github.com/dronecan/libuavcan.git
branch = main
[submodule "Tools/jMAVSim"]
path = Tools/jMAVSim
url = https://github.com/PX4/jMAVSim.git
branch = master
[submodule "Tools/sitl_gazebo"]
path = Tools/sitl_gazebo
url = https://github.com/PX4/sitl_gazebo.git
branch = master
[submodule "src/lib/matrix"]
path = src/lib/matrix
url = https://github.com/PX4/Matrix.git
branch = master
[submodule "src/lib/DriverFramework"]
path = src/lib/DriverFramework
url = https://github.com/PX4/DriverFramework.git
branch = master
[submodule "src/lib/ecl"]
path = src/lib/ecl
url = https://github.com/PX4/ecl.git
branch = master
[submodule "cmake/cmake_hexagon"]
path = cmake/cmake_hexagon
url = https://github.com/ATLFlight/cmake_hexagon.git
url = https://github.com/PX4/PX4-SITL_gazebo.git
branch = master
[submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices
url = https://github.com/PX4/GpsDrivers.git
url = https://github.com/PX4/PX4-GPSDrivers.git
branch = master
[submodule "src/modules/micrortps_bridge/micro-CDR"]
path = src/modules/micrortps_bridge/micro-CDR
url = https://github.com/eProsima/micro-CDR.git
url = https://github.com/PX4/Micro-CDR.git
branch = master
[submodule "platforms/nuttx/NuttX/nuttx"]
path = platforms/nuttx/NuttX/nuttx
url = https://github.com/PX4-NuttX/nuttx.git
branch = px4_firmware_nuttx-7.22+
url = https://github.com/PX4/NuttX.git
branch = px4_firmware_nuttx-10.1.0+
[submodule "platforms/nuttx/NuttX/apps"]
path = platforms/nuttx/NuttX/apps
url = https://github.com/PX4-NuttX/apps.git
branch = px4_firmware_nuttx-7.22+
[submodule "cmake/configs/uavcan_board_ident"]
path = cmake/configs/uavcan_board_ident
url = https://github.com/PX4/uavcan_board_ident.git
branch = master
url = https://github.com/PX4/NuttX-apps.git
branch = px4_firmware_nuttx-10.1.0+
[submodule "Tools/flightgear_bridge"]
path = Tools/flightgear_bridge
url = https://github.com/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jsbsim_bridge"]
path = Tools/jsbsim_bridge
url = https://github.com/PX4/px4-jsbsim-bridge.git
[submodule "src/drivers/uavcan_v1/libcanard"]
path = src/drivers/uavcan_v1/libcanard
url = https://github.com/UAVCAN/libcanard.git
[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
path = src/drivers/uavcan_v1/public_regulated_data_types
url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcan_v1/legacy_data_types"]
path = src/drivers/uavcan_v1/legacy_data_types
url = https://github.com/PX4/public_regulated_data_types.git
branch = legacy
[submodule "src/lib/crypto/monocypher"]
path = src/lib/crypto/monocypher
url = https://github.com/PX4/Monocypher.git
branch = px4
[submodule "src/lib/events/libevents"]
path = src/lib/events/libevents
url = https://github.com/mavlink/libevents.git
[submodule "Tools/simulation-ignition"]
path = Tools/simulation-ignition
url = https://github.com/PX4/px4-simulation-ignition.git
[submodule "src/lib/crypto/libtomcrypt"]
path = src/lib/crypto/libtomcrypt
url = https://github.com/PX4/libtomcrypt.git
branch = px4
[submodule "src/lib/crypto/libtommath"]
path = src/lib/crypto/libtommath
url = https://github.com/PX4/libtommath.git
branch = px4
+14 -41
View File
@@ -1,55 +1,28 @@
# Build and autotest script for PX4 Firmware
# http://travis-ci.org
sudo: required
services:
- docker
language: cpp
git:
depth: 2000
depth: 100
submodules: false
env:
global:
# COVERITY_SCAN_TOKEN
- secure: "Q4IAcmo1r5cr/UvhcixQa6QN5e5eTcP7FeidzEbX2+BA38yo2BH5O9YQCvZe2AI1Na8ZCjVx3H2luGgDwOKgzAIAjXjZ2KbmXYc6Ns/j/BXScY05dCCzYEhXKD98NZxIKH9lLN9pYDGRA8pChGRJnVlFOr1JHHHnB801+osHy7M="
# AWS KEY: $PX4_AWS_KEY
- secure: "XknnZHWBbpHbN4f3fuAVwUztdLIu8ej4keC3aQSDofo3uw8AFEzojfsQsN9u77ShWSIV4iYJWh9C9ALkCx7TocJ+xYjiboo10YhM9lH/8u+EXjYWG6GHS8ua0wkir+cViSxoLNaMtmcb/rPTicJecAGANxLsIHyBAgTL3fkbLSA="
# AWS SECRET: $PX4_AWS_SECRET
- secure: "h6oajlW68dWIr+wZhO58Dv6e68dZHrBLVA6lPXZmheFQBW6Xam1HuLGA0LOW6cL9TnrAsOZ8g4goB58eMQnMEijFZKi3mhRwZhd/Xjq/ZGJOWBUrLoQHZUw2dQk5ja5vmUlKEoQnFZjDuMjx8KfX5ZMNy8A3yssWZtJYHD8c+bk="
matrix:
fast_finish: true
include:
- env: BUILD_TARGET=coverity_scan
dist: trusty
if: branch = coverity_scan
allow_failures:
- env: BUILD_TARGET=tests_coverage
cache:
ccache: true
- os: linux
dist: xenial
# In order to stay under the coverity rate limit, we only run this weekly
# and not on push which is configured in travis-ci settings.
if: branch = master
before_install:
# install dependencies for the coverity build (target and branch), otherwise exit early
- if [[ "${TRAVIS_BRANCH}" = "coverity_scan" ]]; then
sudo pip install empy jinja2 numpy toml;
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-;
fi
# use git:// to fetch instead of https://
- git config --global url."git://".insteadOf https://
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
install:
- export PATH=$HOME/.local/bin:$PATH
- pip install --user --upgrade pip
- pip install --user -r Tools/setup/requirements.txt
script:
- ./Tools/docker_run.sh make ${BUILD_TARGET}
after_success:
# upload code coverage
- if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
[ "${BUILD_TARGET}" = "tests_coverage" ] && bash <(curl -s https://codecov.io/bash) -F unittests;
fi
- make
addons:
coverity_scan:
@@ -58,5 +31,5 @@ addons:
description: "Build submitted via Travis CI"
notification_email: ci@px4.io
build_command_prepend: "make distclean"
build_command: "make posix_sitl_default"
build_command: "make px4_sitl_default"
branch_pattern: coverity_scan
+11
View File
@@ -0,0 +1,11 @@
.cortex-debug.peripherals.state.json
.cortex-debug.registers.state.json
compile_commands.json
# generated by cmake
launch.json
# C/C++ extension does some local caching in this folder
ipch/
browse.vc.db*
+16
View File
@@ -0,0 +1,16 @@
{
"configurations": [
{
"name": "PX4",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [],
"configurationProvider": "ms-vscode.cmake-tools",
"cppStandard": "c++14",
"cStandard": "c11"
}
],
"version": 4
}
+5
View File
@@ -0,0 +1,5 @@
[
{
"name": "PX4 detect"
}
]
+248
View File
@@ -0,0 +1,248 @@
CONFIG:
default: px4_sitl_default
choices:
px4_sitl_default:
short: px4_sitl
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_default
px4_sitl_rtps:
short: px4_sitl_rtps
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_rtps
px4_sitl_asan:
short: px4_sitl (AddressSanitizer)
buildType: AddressSanitizer
settings:
CONFIG: px4_sitl_default
px4_sitl_ubsan:
short: px4_sitl (UndefinedBehaviorSanitizer)
buildType: UndefinedBehaviorSanitizer
settings:
CONFIG: px4_sitl_default
px4_sitl_replay:
short: px4_sitl_replay
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_replay
px4_sitl_test:
short: px4_sitl_test
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_test
px4_io-v2_default:
short: px4_io-v2
buildType: MinSizeRel
settings:
CONFIG: px4_io-v2_default
px4_fmu-v2_default:
short: px4_fmu-v2
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v2_default
px4_fmu-v3_default:
short: px4_fmu-v3
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v3_default
px4_fmu-v4_default:
short: px4_fmu-v4
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v4_default
px4_fmu-v4pro_default:
short: px4_fmu-v4pro
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v4pro_default
px4_fmu-v5_default:
short: px4_fmu-v5
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v5_default
px4_fmu-v5_debug:
short: px4_fmu-v5_debug
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v5_debug
px4_fmu-v5x_default:
short: px4_fmu-v5x
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v5x_default
px4_fmu-v6x_default:
short: px4_fmu-v6x
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6x_default
px4_fmu-v6x_bootloader:
short: px4_fmu-v6x_bootloader
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6x_bootloader
airmind_mindpx-v2_default:
short: airmind_mindpx-v2
buildType: MinSizeRel
settings:
CONFIG: airmind_mindpx-v2_default
ark_can-flow_default:
short: ark_can-flow_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-flow_default
ark_can-flow_canbootloader:
short: ark_can-flow_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_can-flow_canbootloader
ark_can-gps_default:
short: ark_can-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-gps_default
ark_can-gps_canbootloader:
short: ark_can-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_can-gps_canbootloader
ark_can-rtk-gps_default:
short: ark_can-rtk-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_default
ark_can-rtk-gps_debug:
short: ark_can-rtk-gps_debug
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_debug
ark_can-rtk-gps_canbootloader:
short: ark_can-rtk-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_canbootloader
atl_mantis-edu_default:
short: atl_mantis-edu
buildType: MinSizeRel
settings:
CONFIG: atl_mantis-edu_default
av_x-v1_default:
short: av_x-v1
buildType: MinSizeRel
settings:
CONFIG: av_x-v1_default
bitcraze_crazyflie_default:
short: bitcraze_crazyflie
buildType: MinSizeRel
settings:
CONFIG: bitcraze_crazyflie_default
cuav_can-gps-v1_default:
short: cuav_can-gps-v1_default
buildType: MinSizeRel
settings:
CONFIG: cuav_can-gps-v1_default
cuav_can-gps-v1_canbootloader:
short: cuav_can-gps-v1_canbootloader
buildType: MinSizeRel
settings:
CONFIG: cuav_can-gps-v1_canbootloader
cuav_nora_default:
short: cuav_nora
buildType: MinSizeRel
settings:
CONFIG: cuav_nora_default
cuav_x7pro_default:
short: cuav_x7pro
buildType: MinSizeRel
settings:
CONFIG: cuav_x7pro_default
cubepilot_cubeorange_test:
short: cubepilot_cubeorange
buildType: MinSizeRel
settings:
CONFIG: cubepilot_orange_test
emlid_navio2_default:
short: emlid_navio2
buildType: MinSizeRel
settings:
CONFIG: emlid_navio2_default
freefly_can-rtk-gps_default:
short: freefly_can-rtk-gps_default
buildType: MinSizeRel
settings:
CONFIG: freefly_can-rtk-gps_default
freefly_can-rtk-gps_canbootloader:
short: freefly_can-rtk-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: freefly_can-rtk-gps_canbootloader
holybro_can-gps-v1_canbootloader:
short: holybro_can-gps-v1_canbootloader
buildType: MinSizeRel
settings:
CONFIG: holybro_can-gps-v1_canbootloader
holybro_can-gps-v1_default:
short: holybro_can-gps-v1_default
buildType: MinSizeRel
settings:
CONFIG: holybro_can-gps-v1_default
holybro_durandal-v1_default:
short: holybro_durandal-v1
buildType: MinSizeRel
settings:
CONFIG: holybro_durandal-v1_default
matek_h743-slim_default:
short: matek_h743-slim
buildType: MinSizeRel
settings:
CONFIG: matek_h743-slim_default
matek_gnss-m9n-f4_canbootloader:
short: matek_gnss-m9n-f4_canbootloader
buildType: MiniSizeRel
settings:
CONFIG: matek_m9nf4can_canbootloader
matek_gnss-m9n-f4_default:
short: matek_gnss-m9n-f4_default
buildType: MiniSizeRel
settings:
CONFIG: matek_gnss-m9n-f4_default
modalai_fc-v1_default:
short: modalai_fc-v1
buildType: MinSizeRel
settings:
CONFIG: modalai_fc-v1_default
modalai_fc-v2_default:
short: modalai_fc-v2
buildType: MinSizeRel
settings:
CONFIG: modalai_fc-v2_default
mro_ctrl-zero-f7_default:
short: mro_ctrl-zero-f7
buildType: MinSizeRel
settings:
CONFIG: mro_ctrl-zero-f7_default
mro_pixracerpro_bootloader:
short: mro_pixracerpro_bootloader
buildType: MinSizeRel
settings:
CONFIG: mro_pixracerpro_bootloader
mro_pixracerpro_default:
short: mro_pixracerpro_default
buildType: MinSizeRel
settings:
CONFIG: mro_pixracerpro_default
mro_x21-777_default:
short: mro_x2.1-777
buildType: MinSizeRel
settings:
CONFIG: mro_x21-777_default
nxp_fmuk66-v3_default:
short: nxp_fmuk66-v3
buildType: MinSizeRel
settings:
CONFIG: nxp_fmuk66-v3_default
raspberrypi_pico_default:
short: raspberrypi_pico
buildType: MinSizeRel
settings:
CONFIG: raspberrypi_pico_default
+23
View File
@@ -0,0 +1,23 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
"ms-iot.vscode-ros",
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
]
}
+140
View File
@@ -0,0 +1,140 @@
{
"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,
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.vcpkg.enabled": false,
"C_Cpp.workspaceParsingPriority": "low",
"cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.configureOnOpen": true,
"cmake.ctest.parallelJobs": 1,
"cmake.skipConfigureIfCachePresent": true,
"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,
"cSpell.words": [
"acro",
"nuttx",
"esc"
],
"debug.toolBarLocation": "docked",
"editor.defaultFormatter": "chiehyu.vscode-astyle",
"editor.dragAndDrop": false,
"editor.insertSpaces": false,
"editor.minimap.maxColumn": 120,
"editor.minimap.renderCharacters": false,
"editor.minimap.showSlider": "always",
"editor.suggest.localityBonus": true,
"editor.tabSize": 8,
"editor.wordWrapColumn": 120,
"explorer.openEditors.visible": 0,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.watcherExclude": {
"**/build/**": true
},
"git.detectSubmodulesLimit": 20,
"git.ignoreLimitWarning": true,
"githubPullRequests.defaultMergeMethod": "squash",
"githubPullRequests.telemetry.enabled": false,
"files.associations": {
"*.jinja": "jinja",
"algorithm": "cpp",
"array": "cpp",
"atomic": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"cfenv": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"complex": "cpp",
"condition_variable": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"exception": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"functional": "cpp",
"future": "cpp",
"hash_map": "cpp",
"hash_set": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"list": "cpp",
"map": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"mutex": "cpp",
"new": "cpp",
"numeric": "cpp",
"optional": "cpp",
"ostream": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"set": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"string": "cpp",
"string_view": "cpp",
"strstream": "cpp",
"system_error": "cpp",
"thread": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"utility": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp"
},
"search.exclude": {
"${workspaceFolder}/build": true
},
"search.showLineNumbers": true,
"telemetry.enableTelemetry": false,
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.rightClickBehavior": "paste",
"terminal.integrated.scrollback": 5000,
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
"workbench.editor.highlightModifiedTabs": true,
"workbench.enableExperiments": false,
"workbench.settings.enableNaturalLanguageSearch": false,
"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
}
+373
View File
@@ -0,0 +1,373 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "/bin/bash",
"args": [
"-c",
"${command:cmake.tasksBuildCommand}"
],
"options": {
"cwd": "${command:cmake.buildDirectory}"
},
"group": {
"kind": "build",
"isDefault": true,
},
"problemMatcher": {
"base": "$gcc",
"fileLocation": ["relative", "${command:cmake.buildDirectory}"]
},
"presentation":{
"echo": false,
"showReuseMessage": false,
"clear": true,
"panel": "shared",
"group": "build"
}
},
{
"label": "test",
"type": "shell",
"command": "make tests",
"options": {
"cwd": "${workspaceFolder}"
},
"group": {
"kind": "test",
"isDefault": true,
},
"presentation":{
"echo": true,
"showReuseMessage": false,
"clear": false,
"panel": "shared",
"group": "test"
}
},
{
"label": "jmavsim build",
"type": "shell",
"command": "ant create_run_jar copy_res",
"options": {
"cwd": "${workspaceFolder}/Tools/jMAVSim"
},
"problemMatcher": [],
"presentation":{
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false,
}
},
{
"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/jMAVSim/out/production",
"env": {
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "jmavsim kill",
"type": "shell",
"command": "kill $(ps aux | grep jmavsim | grep -v 'grep' | awk '{print $2}')",
"presentation": {
"echo": false,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": []
},
{
"label": "gazebo build",
"type": "shell",
"command": "make px4_sitl_default sitl_gazebo",
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation":{
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false,
}
},
{
"label": "gazebo start",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceFolder}/Tools/sitl_gazebo/worlds/${input:gazeboWorld}.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"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/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/sitl_gazebo/models/${input:vehicleModel}/${input:vehicleModel}.sdf --model-name=${input:vehicleModel} -x 1.01 -y 0.98 -z 0.83",
"isBackground": false,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo client",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzclient --verbose",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo kill",
"type": "shell",
"command": "killall gzserver",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_sitl_cleanup"]
},
{
"label": "px4_sitl_cleanup",
"type": "shell",
"command": "rm -rfv /tmp/px4*",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_kill"]
},
{
"label": "px4_kill",
"type": "shell",
"command": "killall px4 || true",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": []
},
{
"label": "mavlink shell",
"type": "shell",
"command": "./Tools/mavlink_shell.py",
"options": {
"cwd": "${workspaceFolder}"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "new",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": []
},
{
"label": "miniterm.py",
"type": "shell",
"command": "miniterm.py --raw - 57600",
"options": {
"cwd": "${workspaceFolder}"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "new",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": []
}
],
"inputs": [
{
"type": "pickString",
"id": "vehicleModel",
"description": "gazebo model",
"options": [
"iris",
"typhoon_h480",
"plane",
"plane_catapult",
"plane_lidar",
"standard_vtol",
"tailsitter",
"tiltrotor",
"r1_rover",
"boat"
],
"default": "iris"
},
{
"type": "pickString",
"id": "gazeboWorld",
"description": "gazebo world",
"options": [
"baylands",
"empty",
"ksql_airport",
"mcmillan_airfield",
"sonoma_raceway",
"warehouse",
"windy",
"yosemite"
],
"default": "empty"
}
]
}
+3 -3
View File
@@ -51,8 +51,8 @@ flags = [
# headers will be compiled as C headers. You don't want that so ALWAYS specify
# a "-std=<something>".
# For a C project, you would set this to something like 'c99' instead of
# 'c++11'.
'-std=c++11',
# 'c++14'.
'-std=c++14',
# ...and the same thing goes for the magic -x option which specifies the
# language that the files to be compiled are written in. This is mostly
# relevant for c++ headers.
@@ -61,7 +61,7 @@ flags = [
'c++',
'-undef', # get rid of standard definitions to allow us to include arm math header
'-I', os.path.join(os.path.expanduser("~"),'gcc-arm-none-eabi-4_7-2013q3/arm-none-eabi/include'),
'-I', 'Build/px4io-v2_default.build/nuttx-export/include/',
'-I', 'Build/px4_io-v2_default.build/nuttx-export/include/',
'-I', './NuttX/nuttx/arch/arm/include',
'-include', './src/include/visibility.h',
'-I', './src',
+225 -216
View File
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2017 PX4 Development Team. All rights reserved.
# Copyright (c) 2017 - 2019 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
@@ -40,7 +40,7 @@
# * Common functions should be included in px_base.cmake.
#
# * OS/ board specific fucntions should be include in
# px_impl_${OS}.cmake or px4_impl_${OS}_${BOARD}.cmake.
# px_impl_${PX4_PLATFORM}.cmake
#
# Formatting
# ---------------------------------------------------------------------------
@@ -92,68 +92,118 @@
# ---------------------------------------------------------------------------
#
# * If referencing a string variable, don't put it in quotes.
# Don't do "${OS}" STREQUAL "posix",
# instead type ${OS} STREQUAL "posix". This will throw an
# error when ${OS} is not defined instead of silently
# Don't do "${PX4_PLATFORM}" STREQUAL "posix",
# instead type ${PX4_PLATFORM} STREQUAL "posix". This will throw an
# error when ${PX4_PLATFORM} is not defined instead of silently
# evaluating to false.
#
#=============================================================================
cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE FILEPATH "PX4 source directory" FORCE)
set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE FILEPATH "PX4 binary directory" FORCE)
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake)
include(px4_parse_function_args)
#=============================================================================
# git
#
include(common/px4_git)
include(px4_git)
execute_process(
COMMAND git describe --always --tags
OUTPUT_VARIABLE git_tag
COMMAND git describe --exclude ext/* --always --tags
OUTPUT_VARIABLE PX4_GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
message(STATUS "PX4 version: ${PX4_GIT_TAG}")
define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
BRIEF_DOCS "PX4 module libs"
FULL_DOCS "List of all PX4 module libraries"
)
define_property(GLOBAL PROPERTY PX4_KERNEL_MODULE_LIBRARIES
BRIEF_DOCS "PX4 kernel side module libs"
FULL_DOCS "List of all PX4 kernel module libraries"
)
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}"
)
#=============================================================================
# configuration
#
set(CONFIG "posix_sitl_default" CACHE STRING "desired configuration")
set(CONFIG "px4_sitl_default" CACHE STRING "desired configuration")
string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
include(px4_add_module)
set(config_module_list)
set(config_kernel_list)
set(THREADS "4" CACHE STRING "number of threads to use for external build processes")
set(DEBUG_PORT "/dev/ttyACM0" CACHE STRING "debugging port")
# 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)
endif()
option(PYTHON_COVERAGE "Python code coverage" OFF)
if(PYTHON_COVERAGE)
message(STATUS "python coverage enabled")
set(PYTHON_EXECUTABLE coverage run -p)
endif()
include(px4_config)
include(kconfig)
message(STATUS "PX4 config: ${PX4_CONFIG}")
message(STATUS "PX4 platform: ${PX4_PLATFORM}")
if(${PX4_PLATFORM} STREQUAL "posix")
if(ENABLE_LOCKSTEP_SCHEDULER)
add_definitions(-DENABLE_LOCKSTEP_SCHEDULER)
message(STATUS "PX4 lockstep: enabled")
else()
message(STATUS "PX4 lockstep: disabled")
endif()
endif()
# external modules
set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location")
if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
get_filename_component(EXTERNAL_MODULES_LOCATION "${EXTERNAL_MODULES_LOCATION}" ABSOLUTE)
endif()
include(platforms/${OS}/cmake/px4_impl_os.cmake)
include(configs/${CONFIG})
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${OS}/cmake)
set_property(GLOBAL PROPERTY PX4_MODULE_CONFIG_FILES)
include(platforms/${PX4_PLATFORM}/cmake/px4_impl_os.cmake)
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake)
if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake/init.cmake")
include(init)
endif()
# CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage)
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
if(NOT CMAKE_BUILD_TYPE)
if(${PX4_PLATFORM} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
@@ -162,13 +212,22 @@ if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${PX4_BUILD_TYPE} CACHE STRING "Build type" FORCE)
endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
if((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (CMAKE_BUILD_TYPE STREQUAL "Coverage"))
set(MAX_CUSTOM_OPT_LEVEL -O0)
elseif(CMAKE_BUILD_TYPE MATCHES "Sanitizer")
set(MAX_CUSTOM_OPT_LEVEL -O1)
elseif(CMAKE_BUILD_TYPE MATCHES "Release")
set(MAX_CUSTOM_OPT_LEVEL -O3)
else()
if(px4_constrained_flash_build)
set(MAX_CUSTOM_OPT_LEVEL -Os)
else()
set(MAX_CUSTOM_OPT_LEVEL -O2)
endif()
endif()
#=============================================================================
message(STATUS "PX4 VERSION: ${git_tag}")
message(STATUS "CONFIG: ${CONFIG}")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
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
@@ -177,22 +236,54 @@ project(px4 CXX C ASM)
set(package-contact "px4users@googlegroups.com")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
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})
# 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()
#=============================================================================
# gold linker - use if available (posix only for now)
if(${PX4_PLATFORM} STREQUAL "posix")
include(CMakeDependentOption)
CMAKE_DEPENDENT_OPTION(USE_LD_GOLD
"Use GNU gold linker" ON
"NOT WIN32;NOT APPLE" OFF
)
if(USE_LD_GOLD)
execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
if("${LD_VERSION}" MATCHES "GNU gold")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold")
else()
set(USE_LD_GOLD OFF)
endif()
endif()
endif()
#=============================================================================
# Setup install paths
if (${OS} STREQUAL "posix")
if(${PX4_PLATFORM} STREQUAL "posix")
# This makes it possible to dynamically load code which depends on symbols
# inside the px4 executable.
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_ENABLE_EXPORTS ON)
include(common/coverage)
include(common/sanitizers)
include(coverage)
include(sanitizers)
# Define GNU standard installation directories
include(GNUInstallDirs)
@@ -200,39 +291,9 @@ if (${OS} STREQUAL "posix")
if (NOT CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Install path prefix" FORCE)
endif()
# cmake testing only on posix
enable_testing()
include(CTest)
endif()
#=============================================================================
# require px4 module interface
set(px4_required_interface
px4_os_prebuild_targets
px4_os_add_flags
)
foreach(cmd ${px4_required_interface})
if (NOT COMMAND ${cmd})
message(FATAL_ERROR "${CONFIG} must implement ${cmd}")
endif()
endforeach()
set(px4_required_config config_module_list)
foreach(conf ${px4_required_config})
if (NOT DEFINED ${conf})
message(FATAL_ERROR "cmake/${CONFIG} must define ${conf}")
endif()
endforeach()
#=============================================================================
# ccache
#
option(CCACHE "Use ccache if available" ON)
find_program(CCACHE_PROGRAM ccache)
if (CCACHE AND CCACHE_PROGRAM AND NOT DEFINED ENV{CCACHE_DISABLE})
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()
include(ccache)
#=============================================================================
# find programs and packages
@@ -249,86 +310,39 @@ if (CATKIN_DEVEL_PREFIX)
endif()
endif()
find_package(PythonInterp REQUIRED)
px4_find_python_module(jinja2 REQUIRED)
#=============================================================================
# check required toolchain variables
# get chip and chip manufacturer
#
set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID)
foreach(var ${required_variables})
if (NOT ${var})
message(FATAL_ERROR "Toolchain/config must define ${var}")
endif()
endforeach()
# print full c compiler version
execute_process(COMMAND ${CMAKE_C_COMPILER} --version
OUTPUT_VARIABLE c_compiler_version
OUTPUT_STRIP_TRAILING_WHITESPACE
)
STRING(REGEX MATCH "[^\n]*" c_compiler_version_short ${c_compiler_version})
message(STATUS "C compiler: ${c_compiler_version_short}")
# print full c++ compiler version
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
OUTPUT_VARIABLE cxx_compiler_version
OUTPUT_STRIP_TRAILING_WHITESPACE
)
STRING(REGEX MATCH "[^\n]*" cxx_compiler_version_short ${cxx_compiler_version})
message(STATUS "C++ compiler: ${cxx_compiler_version_short}")
#=============================================================================
# external libraries
#
px4_os_prebuild_targets(OUT prebuild_targets
BOARD ${BOARD}
THREADS ${THREADS})
px4_os_determine_build_chip()
if(NOT PX4_CHIP_MANUFACTURER)
message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP_MANUFACTURER")
endif()
if(NOT PX4_CHIP)
message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP")
endif()
#=============================================================================
# build flags
#
px4_os_add_flags(
BOARD ${BOARD}
C_FLAGS c_flags
CXX_FLAGS cxx_flags
OPTIMIZATION_FLAGS optimization_flags
EXE_LINKER_FLAGS exe_linker_flags
INCLUDE_DIRS include_dirs
LINK_DIRS link_dirs
DEFINITIONS definitions)
include(px4_add_common_flags)
px4_add_common_flags()
px4_os_add_flags()
px4_join(OUT CMAKE_EXE_LINKER_FLAGS LIST "${CMAKE_EXE_LINKER_FLAGS};${exe_linker_flags}" GLUE " ")
px4_join(OUT CMAKE_C_FLAGS LIST "${CMAKE_C_FLAGS};${c_flags};${optimization_flags}" GLUE " ")
px4_join(OUT CMAKE_CXX_FLAGS LIST "${CMAKE_CXX_FLAGS};${cxx_flags};${optimization_flags}" GLUE " ")
#=============================================================================
# board cmake init (optional)
#
if(EXISTS ${PX4_BOARD_DIR}/cmake/init.cmake)
include(${PX4_BOARD_DIR}/cmake/init.cmake)
endif()
#=============================================================================
# message, and airframe generation
#
include(common/px4_metadata)
include(px4_metadata)
add_subdirectory(msg EXCLUDE_FROM_ALL)
px4_generate_airframes_xml(BOARD ${BOARD})
#=============================================================================
# DriverFramework
#
px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework")
add_subdirectory(src/lib/DriverFramework/framework)
# List the DriverFramework drivers
if (DEFINED config_df_driver_list)
message("DF Drivers: ${config_df_driver_list}")
endif()
set(df_driver_libs)
foreach(driver ${config_df_driver_list})
add_subdirectory(src/lib/DriverFramework/drivers/${driver})
list(APPEND df_driver_libs df_${driver})
message("Adding DF driver: ${driver}")
endforeach()
px4_generate_airframes_xml(BOARD ${PX4_BOARD})
#=============================================================================
# external projects
@@ -337,11 +351,13 @@ set(ep_base ${PX4_BINARY_DIR}/external)
set_property(DIRECTORY PROPERTY EP_BASE ${ep_base})
# add external project install folders to build
link_directories(${ep_base}/Install/lib)
include_directories(${ep_base}/Install/include)
# add the directories so cmake won't warn
execute_process(COMMAND cmake -E make_directory ${ep_base}/Install/lib)
execute_process(COMMAND cmake -E make_directory ${ep_base}/Install/include)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ep_base})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ep_base}/Install)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ep_base}/Install/lib)
link_directories(${ep_base}/Install/lib)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ep_base}/Install/include)
include_directories(${ep_base}/Install/include)
#=============================================================================
# external modules
@@ -357,45 +373,76 @@ if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
endforeach()
endif()
#=============================================================================
# Testing - Automatic unit and integration testing with CTest
#
# optionally enable cmake testing (supported only on posix)
option(CMAKE_TESTING "Configure test targets" OFF)
if(${PX4_CONFIG} STREQUAL "px4_sitl_test")
set(CMAKE_TESTING ON)
endif()
if(CMAKE_TESTING)
include(CTest) # sets BUILD_TESTING variable
endif()
# enable test filtering to run only specific tests with the ctest -R regex functionality
set(TESTFILTER "" CACHE STRING "Filter string for ctest to selectively only run specific tests (ctest -R)")
# if testing is enabled download and configure gtest
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake/gtest/)
include(px4_add_gtest)
if(BUILD_TESTING)
include(gtest)
add_custom_target(test_results
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test -R ${TESTFILTER} USES_TERMINAL
DEPENDS
px4
examples__dyn_hello
test_mixer_multirotor
USES_TERMINAL
COMMENT "Running tests"
WORKING_DIRECTORY ${PX4_BINARY_DIR})
set_target_properties(test_results PROPERTIES EXCLUDE_FROM_ALL TRUE)
endif()
#=============================================================================
# subdirectories
#
add_library(parameters_interface INTERFACE)
include(px4_add_library)
add_subdirectory(src/lib EXCLUDE_FROM_ALL)
add_subdirectory(src/platforms/common EXCLUDE_FROM_ALL)
add_subdirectory(src/modules/systemlib EXCLUDE_FROM_ALL) # TODO: split into libraries in platform layer
add_subdirectory(src/modules/uORB EXCLUDE_FROM_ALL) # TODO: platform layer
add_subdirectory(src/drivers/boards EXCLUDE_FROM_ALL)
add_subdirectory(platforms/${PX4_PLATFORM}/src/px4)
add_subdirectory(platforms EXCLUDE_FROM_ALL)
if(EXISTS "${PX4_BOARD_DIR}/CMakeLists.txt")
add_subdirectory(${PX4_BOARD_DIR})
endif()
foreach(module ${config_module_list})
add_subdirectory(src/${module})
endforeach()
# add events lib after modules and libs as it needs to know all source files (PX4_SRC_FILES)
add_subdirectory(src/lib/events EXCLUDE_FROM_ALL)
# metadata needs PX4_MODULE_CONFIG_FILES
add_subdirectory(src/lib/metadata EXCLUDE_FROM_ALL)
# must be the last module before firmware
add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL)
target_link_libraries(parameters_interface INTERFACE parameters)
# firmware added last to generate the builtin for included modules
add_subdirectory(platforms/${OS})
#=============================================================================
# generate custom target to print for all executable and module cmake targets
#
if (all_posix_cmake_targets)
list(SORT all_posix_cmake_targets)
px4_join(OUT posix_cmake_target_list LIST ${all_posix_cmake_targets} GLUE "\\n")
add_custom_target(list_cmake_targets
COMMAND sh -c "printf \"${posix_cmake_target_list}\\n\""
COMMENT "List of cmake targets that can be matched by PX4_NO_OPTIMIZATION:"
VERBATIM
)
endif()
add_subdirectory(platforms/${PX4_PLATFORM})
#=============================================================================
# uORB graph generation: add a custom target 'uorb_graph'
#
set(uorb_graph_config ${BOARD})
set(uorb_graph_config ${PX4_BOARD})
set(graph_module_list "")
foreach(module ${config_module_list})
@@ -404,70 +451,32 @@ endforeach()
add_custom_command(OUTPUT ${uorb_graph_config}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/uorb_graph/create.py
${module_list}
${graph_module_list} --src-path src/lib
--merge-depends
--exclude-path src/examples
--exclude-path src/lib/parameters # FIXME: enable & fix
--file ${PX4_SOURCE_DIR}/Tools/uorb_graph/graph_${uorb_graph_config}
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
COMMENT "Generating uORB graph"
)
add_custom_target(uorb_graph DEPENDS ${uorb_graph_config})
#=============================================================================
# Doxygen
#
option(BUILD_DOXYGEN "Build doxygen documentation" OFF)
if (BUILD_DOXYGEN)
find_package(Doxygen)
if (DOXYGEN_FOUND)
# set input and output files
set(DOXYGEN_IN ${CMAKE_SOURCE_DIR}/Documentation/Doxyfile.in)
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
include(doxygen)
include(metadata)
include(package)
# request to configure the file
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
# print size
add_custom_target(size
COMMAND size $<TARGET_FILE:px4>
DEPENDS px4
WORKING_DIRECTORY ${PX4_BINARY_DIR}
USES_TERMINAL
)
# note the option ALL which allows to build the docs together with the application
add_custom_target(doxygen ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating documentation with Doxygen"
DEPENDS uorb_msgs parameters
VERBATIM
USES_TERMINAL
)
else()
message("Doxygen needs to be installed to generate documentation")
endif()
endif()
#=============================================================================
# packaging
#
# Important to having packaging at end of cmake file.
#
set(CPACK_PACKAGE_NAME ${PROJECT_NAME}-${CONFIG})
set(CPACK_PACKAGE_VERSION ${git_version})
set(CPACK_PACKAGE_CONTACT ${package-contact})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "The PX4 Pro autopilot.")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CONFIG}-${git_tag}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${git_version}")
set(CPACK_SOURCE_GENERATOR "ZIP;TBZ2")
set(CPACK_PACKAGING_INSTALL_PREFIX "")
set(CPACK_SET_DESTDIR "OFF")
if ("${CMAKE_SYSTEM}" MATCHES "Linux")
set(CPACK_GENERATOR "TBZ2")
find_program(DPKG_PROGRAM dpkg)
if (EXISTS ${DPKG_PROGRAM})
list (APPEND CPACK_GENERATOR "DEB")
endif()
else()
set(CPACK_GENERATOR "ZIP")
endif()
include(CPack)
# 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
)
+2 -2
View File
@@ -16,7 +16,7 @@ git checkout -b mydescriptivebranchname
### Edit and build the code
The [developer guide](http://dev.px4.io/) explains how to set up the development environment on Mac OS, Linux or Windows. Please take note of our [coding style](http://px4.io/dev/code_style) when editing files.
The [developer guide](http://dev.px4.io/) explains how to set up the development environment on Mac OS, Linux or Windows. Please take note of our [coding style](https://dev.px4.io/master/en/contribute/code.html) when editing files.
### Commit your changes
@@ -41,4 +41,4 @@ Since we care about safety, we will regularly ask you for test results. Best is
Push changes to your repo and send a [pull request](https://github.com/PX4/Firmware/compare/).
MuncherMake sure to provide some testing feedback and if possible the link to a flight log file. Upload flight log files to [Flight Review](http://logs.px4.io) and link the resulting report.
Make sure to provide some testing feedback and if possible the link to a flight log file. Upload flight log files to [Flight Review](http://logs.px4.io) and link the resulting report.
+2447 -121
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -62,7 +62,7 @@
"name": "PX4: make and upload",
"working_dir": "${project_path}",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"cmd": ["make upload px4fmu-v2_default -j8"],
"cmd": ["make upload px4_fmu-v2_default -j8"],
"shell": true
},
{
Vendored
+384 -765
View File
File diff suppressed because it is too large Load Diff
+185
View File
@@ -0,0 +1,185 @@
# PX4 Firmware Configuration
mainmenu "PX4 Firmware Configuration"
comment "Vendor: $(VENDOR)"
comment "Model: $(MODEL)"
comment "Label: $(LABEL)"
menu "Toolchain"
choice
prompt "Platform"
default PLATFORM_NUTTX
config PLATFORM_NUTTX
bool "nuttx"
config PLATFORM_POSIX
bool "posix"
config PLATFORM_QURT
bool "qurt"
endchoice
config BOARD_PLATFORM
string
default "nuttx" if PLATFORM_NUTTX
default "posix" if PLATFORM_POSIX
default "qurt" if PLATFORM_QURT
config BOARD_LOCKSTEP
bool "Force enable lockstep"
depends on PLATFORM_POSIX
help
forces lockstep behaviour, despite REPLAY env variable
config BOARD_NOLOCKSTEP
bool "Force disable lockstep"
depends on PLATFORM_POSIX
help
forces nolockstep behaviour, despite REPLAY env variable
config BOARD_LINUX
bool "Linux OS"
depends on PLATFORM_POSIX
help
Board Platform is running the Linux operating system
config BOARD_TOOLCHAIN
string "Toolchain"
default ""
config BOARD_ARCHITECTURE
string "Architecture"
default ""
config BOARD_FULL_OPTIMIZATION
bool "Full optmization (O3)"
default n
help
Enables Cmake Release for -O3 optimization
config BOARD_ROMFSROOT
string "ROMFSROOT"
default "px4fmu_common"
help
relative path to the ROMFS root directory
config BOARD_IO
string "IO board name"
default "px4_io-v2_default"
depends on DRIVERS_PX4IO
help
name of IO board to be built and included in the ROMFS (requires a valid ROMFSROOT)
config BOARD_CONSTRAINED_FLASH
bool "Contrained flash"
help
flag to enable constrained flash options (eg limit init script status text)
config BOARD_NO_HELP
bool "No help"
help
optional condition flag to disable help text on constrained flash systems
config BOARD_CONSTRAINED_MEMORY
bool "Contrained memory"
help
flag to enable constrained memory options (eg limit maximum number of uORB publications)
config BOARD_EXTERNAL_METADATA
bool "External metadata"
help
flag to exclude metadata to reduce flash
config BOARD_LINKER_PREFIX
string "linker prefix"
help
optional to prefix on the Linker script.
config BOARD_COMPILE_DEFINITIONS
string "add custom compile definitions"
help
add custom compile defitions to this specific target
endmenu #Toolchain
config BOARD_TESTING
bool "Testing"
select SYSTEMCMDS_TESTS
help
flag to enable automatic inclusion of PX4 testing modules
config BOARD_ETHERNET
bool "Ethernet"
help
flag to indicate that ethernet is enabled
config BOARD_CRYPTO
bool "Crypto support"
help
Enable PX4 Crypto Support. Select the implementation under drivers
config BOARD_PROTECTED
bool "Memory protection"
help
Enable memory protection via MPU/MMU
menu "Serial ports"
config BOARD_SERIAL_URT6
string "URT6 tty port"
config BOARD_SERIAL_GPS1
string "GPS1 tty port"
config BOARD_SERIAL_GPS2
string "GPS2 tty port"
config BOARD_SERIAL_GPS3
string "GPS3 tty port"
config BOARD_SERIAL_GPS4
string "GPS4 tty port"
config BOARD_SERIAL_GPS5
string "GPS5 tty port"
config BOARD_SERIAL_TEL1
string "TEL1 tty port"
config BOARD_SERIAL_TEL2
string "TEL2 tty port"
config BOARD_SERIAL_TEL3
string "TEL3 tty port"
config BOARD_SERIAL_TEL4
string "TEL4 tty port"
config BOARD_SERIAL_TEL5
string "TEL5 tty port"
config BOARD_SERIAL_RC
string "RC tty port"
config BOARD_SERIAL_WIFI
string "WIFI tty port"
config BOARD_SERIAL_PPB
string "PPB (Pixhawk Payload Bus) tty port"
endmenu
menu "drivers"
source "src/drivers/Kconfig"
endmenu
menu "modules"
source "src/modules/Kconfig"
endmenu
menu "systemcmds"
source "src/systemcmds/Kconfig"
endmenu
menu "examples"
source "src/examples/Kconfig"
endmenu
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2012 - 2018, PX4 Development Team
Copyright (c) 2012 - 2022, PX4 Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
+309 -142
View File
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2015 - 2017 PX4 Development Team. All rights reserved.
# Copyright (c) 2015 - 2020 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
@@ -48,16 +48,23 @@ endif
#
# Example usage:
#
# make px4fmu-v2_default (builds)
# make px4fmu-v2_default upload (builds and uploads)
# make px4fmu-v2_default test (builds and tests)
# make px4_fmu-v2_default (builds)
# make px4_fmu-v2_default upload (builds and uploads)
# make px4_fmu-v2_default test (builds and tests)
#
# This tells cmake to build the nuttx px4fmu-v2 default config in the
# directory build/nuttx_px4fmu-v2_default and then call make
# This tells cmake to build the nuttx px4_fmu-v2 default config in the
# directory build/px4_fmu-v2_default and then call make
# in that directory with the target upload.
# explicity set default build target
all: posix_sitl_default
# explicity set default build target
all: px4_sitl_default
# define a space character to be able to explicitly find it in strings
space := $(subst ,, )
define make_list
$(shell [ -f .github/workflows/compile_${1}.yml ] && cat .github/workflows/compile_${1}.yml | sed -E 's|[[:space:]]+(.*),|check_\1|g' | grep check_${2})
endef
# Parsing
# --------------------------------------------------------------------
@@ -66,7 +73,14 @@ all: posix_sitl_default
# by cmake in the subdirectory
FIRST_ARG := $(firstword $(MAKECMDGOALS))
ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
j ?= 4
# Get -j or --jobs argument as suggested in:
# https://stackoverflow.com/a/33616144/8548472
MAKE_PID := $(shell echo $$PPID)
j := $(shell ps T | sed -n 's|.*$(MAKE_PID).*$(MAKE).* \(-j\|--jobs\) *\([0-9][0-9]*\).*|\2|p')
# Default j for clang-tidy
j_clang_tidy := $(or $(j),4)
NINJA_BIN := ninja
ifndef NO_NINJA_BUILD
@@ -87,6 +101,11 @@ ifdef NINJA_BUILD
else
PX4_MAKE_ARGS :=
endif
# Only override ninja default if -j is set.
ifneq ($(j),)
PX4_MAKE_ARGS := $(PX4_MAKE_ARGS) -j$(j)
endif
else
ifdef SYSTEMROOT
# Windows
@@ -94,11 +113,14 @@ else
else
PX4_CMAKE_GENERATOR := "Unix\ Makefiles"
endif
# For non-ninja builds we default to -j4
j := $(or $(j),4)
PX4_MAKE = $(MAKE)
PX4_MAKE_ARGS = -j$(j) --no-print-directory
endif
SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
SRC_DIR := $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))")
# check if replay env variable is set & set build dir accordingly
ifdef replay
@@ -114,17 +136,79 @@ endif
ifdef PX4_CMAKE_BUILD_TYPE
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=${PX4_CMAKE_BUILD_TYPE}
else
# Address Sanitizer
ifdef PX4_ASAN
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=AddressSanitizer
endif
# Memory Sanitizer
ifdef PX4_MSAN
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=MemorySanitizer
endif
# Thread Sanitizer
ifdef PX4_TSAN
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=ThreadSanitizer
endif
# Undefined Behavior Sanitizer
ifdef PX4_UBSAN
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=UndefinedBehaviorSanitizer
endif
# Fuzz Testing
ifdef PX4_FUZZ
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=FuzzTesting
endif
endif
# Pick up specific Python path if set
ifdef PYTHON_EXECUTABLE
CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
endif
# Check if the microRTPS agent is to be built
ifdef BUILD_MICRORTPS_AGENT
CMAKE_ARGS += -DBUILD_MICRORTPS_AGENT=ON
endif
# Functions
# --------------------------------------------------------------------
# describe how to build a cmake config
define cmake-build
+@$(eval PX4_CONFIG = $(1))
+@$(eval BUILD_DIR = $(SRC_DIR)/build/$(PX4_CONFIG)$(BUILD_DIR_SUFFIX))
+@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ -e $(BUILD_DIR)/Makefile ]; then rm -rf $(BUILD_DIR); fi
+@if [ ! -e $(BUILD_DIR)/CMakeCache.txt ]; then mkdir -p $(BUILD_DIR) && cd $(BUILD_DIR) && cmake $(SRC_DIR) -G"$(PX4_CMAKE_GENERATOR)" $(CMAKE_ARGS) -DCONFIG=$(PX4_CONFIG) || (rm -rf $(BUILD_DIR)); fi
+@$(PX4_MAKE) -C $(BUILD_DIR) $(PX4_MAKE_ARGS) $(ARGS)
$(eval CMAKE_ARGS += -DCONFIG=$(1))
@$(eval BUILD_DIR = "$(SRC_DIR)/build/$(1)")
@# check if the desired cmake configuration matches the cache then CMAKE_CACHE_CHECK stays empty
@$(call cmake-cache-check)
@# make sure to start from scratch when switching from GNU Make to Ninja
@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ -e $(BUILD_DIR)/Makefile ]; then rm -rf $(BUILD_DIR); fi
@# make sure to start from scratch if ninja build file is missing
@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ ! -f $(BUILD_DIR)/build.ninja ]; then rm -rf $(BUILD_DIR); fi
@# only excplicitly configure the first build, if cache file already exists the makefile will rerun cmake automatically if necessary
@if [ ! -e $(BUILD_DIR)/CMakeCache.txt ] || [ $(CMAKE_CACHE_CHECK) ]; then \
mkdir -p $(BUILD_DIR) \
&& cd $(BUILD_DIR) \
&& cmake "$(SRC_DIR)" -G"$(PX4_CMAKE_GENERATOR)" $(CMAKE_ARGS) \
|| (rm -rf $(BUILD_DIR)); \
fi
@# run the build for the specified target
@cmake --build $(BUILD_DIR) -- $(PX4_MAKE_ARGS) $(ARGS)
endef
# check if the options we want to build with in CMAKE_ARGS match the ones which are already configured in the cache inside BUILD_DIR
define cmake-cache-check
@# change to build folder which fails if it doesn't exist and CACHED_CMAKE_OPTIONS stays empty
@# fetch all previously configured and cached options from the build folder and transform them into the OPTION=VALUE format without type (e.g. :BOOL)
@$(eval CACHED_CMAKE_OPTIONS = $(shell cd $(BUILD_DIR) 2>/dev/null && cmake -L 2>/dev/null | sed -n 's|\([^[:blank:]]*\):[^[:blank:]]*\(=[^[:blank:]]*\)|\1\2|gp' ))
@# transform the options in CMAKE_ARGS into the OPTION=VALUE format without -D
@$(eval DESIRED_CMAKE_OPTIONS = $(shell echo $(CMAKE_ARGS) | sed -n 's|-D\([^[:blank:]]*=[^[:blank:]]*\)|\1|gp' ))
@# find each currently desired option in the already cached ones making sure the complete configured string value is the same
@$(eval VERIFIED_CMAKE_OPTIONS = $(foreach option,$(DESIRED_CMAKE_OPTIONS),$(strip $(findstring $(option)$(space),$(CACHED_CMAKE_OPTIONS)))))
@# if the complete list of desired options is found in the list of verified options we don't need to reconfigure and CMAKE_CACHE_CHECK stays empty
@$(eval CMAKE_CACHE_CHECK = $(if $(findstring $(DESIRED_CMAKE_OPTIONS),$(VERIFIED_CMAKE_OPTIONS)),,y))
endef
COLOR_BLUE = \033[0;94m
@@ -134,10 +218,8 @@ define colorecho
+@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}'
endef
# Get a list of all config targets cmake/configs/*.cmake
ALL_CONFIG_TARGETS := $(basename $(shell find "$(SRC_DIR)/cmake/configs" -maxdepth 1 ! -name '*_common*' ! -name '*_sdflight_*' -name '*.cmake' -print | sed -e 's:^.*/::' | sort))
# Strip off leading nuttx_
NUTTX_CONFIG_TARGETS := $(patsubst nuttx_%,%,$(filter nuttx_%,$(ALL_CONFIG_TARGETS)))
# Get a list of all config targets boards/*/*.px4board
ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 -name '*.px4board' -print | sed -e 's|boards\/||' | sed -e 's|\.px4board||' | sed -e 's|\/|_|g' | sort)
# ADD CONFIGS HERE
# --------------------------------------------------------------------
@@ -145,78 +227,61 @@ NUTTX_CONFIG_TARGETS := $(patsubst nuttx_%,%,$(filter nuttx_%,$(ALL_CONFIG_TARGE
# All targets.
$(ALL_CONFIG_TARGETS):
$(call cmake-build,$@)
@$(call cmake-build,$@$(BUILD_DIR_SUFFIX))
# Abbreviated config targets.
# Filter for only default targets to allow omiting the "_default" postfix
CONFIG_TARGETS_DEFAULT := $(patsubst %_default,%,$(filter %_default,$(ALL_CONFIG_TARGETS)))
$(CONFIG_TARGETS_DEFAULT):
@$(call cmake-build,$@_default$(BUILD_DIR_SUFFIX))
# nuttx_ is left off by default; provide a rule to allow that.
$(NUTTX_CONFIG_TARGETS):
$(call cmake-build,nuttx_$@)
all_config_targets: $(ALL_CONFIG_TARGETS)
all_default_targets: $(CONFIG_TARGETS_DEFAULT)
all_nuttx_targets: $(NUTTX_CONFIG_TARGETS)
updateconfig:
@./Tools/kconfig/updateconfig.py
posix: posix_sitl_default
broadcast: posix_sitl_broadcast
# board reorganization deprecation warnings (2018-11-22)
define deprecation_warning
$(warning $(1) has been deprecated and will be removed, please use $(2)!)
endef
# All targets with just dependencies but no recipe must either be marked as phony (or have the special @: as recipe).
.PHONY: all posix broadcast all_nuttx_targets
# Multi- config targets.
eagle_default: posix_eagle_default qurt_eagle_default
eagle_rtps: posix_eagle_rtps qurt_eagle_default
eagle_legacy_default: posix_eagle_legacy qurt_eagle_legacy
excelsior_default: posix_excelsior_default qurt_excelsior_default
excelsior_rtps: posix_excelsior_rtps qurt_excelsior_default
excelsior_legacy_default: posix_excelsior_legacy qurt_excelsior_legacy
.PHONY: eagle_default eagle_rtps eagle_legacy_default
.PHONY: excelsior_default excelsior_rtps excelsior_legacy_default
.PHONY: all px4_sitl_default all_config_targets all_default_targets
# Other targets
# --------------------------------------------------------------------
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware alt_firmware check_rtps
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware check_rtps
# QGroundControl flashable NuttX firmware
qgc_firmware: px4fmu_firmware misc_qgc_extra_firmware
# px4fmu NuttX firmware
px4fmu_firmware: \
check_px4io-v2_default \
check_px4fmu-v2_default \
check_px4fmu-v3_default \
check_px4fmu-v4_default \
check_px4fmu-v4pro_default \
check_px4fmu-v5_default \
check_px4_io-v2_default \
check_px4_fmu-v2_default \
check_px4_fmu-v3_default \
check_px4_fmu-v4_default \
check_px4_fmu-v4pro_default \
check_px4_fmu-v5_default \
check_px4_fmu-v5x_default \
sizes
misc_qgc_extra_firmware: \
check_aerocore2_default \
check_aerofc-v1_default \
check_auav-x21_default \
check_crazyflie_default \
check_mindpx-v2_default \
check_px4fmu-v2_lpe \
check_tap-v1_default \
sizes
# Other NuttX firmware
alt_firmware: \
check_nxphlite-v3_default \
check_px4-same70xplained-v1_default \
check_px4-stm32f4discovery_default \
check_px4cannode-v1_default \
check_px4esc-v1_default \
check_px4nucleoF767ZI-v1_default \
check_s2740vc-v1_default \
check_nxp_fmuk66-v3_default \
check_nxp_fmurt1062-v1_default \
check_mro_x21_default \
check_bitcraze_crazyflie_default \
check_bitcraze_crazyflie21_default \
check_airmind_mindpx-v2_default \
sizes
# builds with RTPS
check_rtps: \
check_px4fmu-v3_rtps \
check_px4fmu-v4_rtps \
check_px4fmu-v4pro_rtps \
check_posix_sitl_rtps \
check_px4_fmu-v3_rtps \
check_px4_fmu-v4_rtps \
check_px4_fmu-v4pro_rtps \
check_px4_sitl_rtps \
sizes
.PHONY: sizes check quick_check check_rtps uorb_graphs
@@ -225,10 +290,10 @@ sizes:
@-find build -name *.elf -type f | xargs size 2> /dev/null || :
# All default targets that don't require a special build environment
check: check_posix_sitl_default px4fmu_firmware misc_qgc_extra_firmware alt_firmware tests check_format
check: check_px4_sitl_default px4fmu_firmware misc_qgc_extra_firmware tests check_format
# quick_check builds a single nuttx and posix target, runs testing, and checks the style
quick_check: check_posix_sitl_default check_px4fmu-v4pro_default tests check_format
# quick_check builds a single nuttx and SITL target, runs testing, and checks the style
quick_check: check_px4_sitl_test check_px4_fmu-v5_default tests check_format
check_%:
@echo
@@ -236,34 +301,65 @@ check_%:
@$(MAKE) --no-print-directory $(subst check_,,$@)
@echo
uorb_graphs:
@./Tools/uorb_graph/create_from_startupscript.sh
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --file Tools/uorb_graph/graph_full
@$(MAKE) --no-print-directory px4fmu-v2_default uorb_graph
@$(MAKE) --no-print-directory px4fmu-v4_default uorb_graph
@$(MAKE) --no-print-directory posix_sitl_default uorb_graph
all_variants_%:
@echo 'Building all $(subst all_variants_,,$@) variants:' $(filter $(subst all_variants_,,$@)_%, $(ALL_CONFIG_TARGETS))
@echo
$(foreach a,$(filter $(subst all_variants_,,$@)_%, $(ALL_CONFIG_TARGETS)), $(call cmake-build,$(a)$(BUILD_DIR_SUFFIX)))
uorb_graphs:
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --exclude-path src/lib/parameters --merge-depends --file Tools/uorb_graph/graph_full
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --exclude-path src/lib/parameters --exclude-path src/modules/mavlink --merge-depends --file Tools/uorb_graph/graph_full_no_mavlink
@$(MAKE) --no-print-directory px4_fmu-v2_default uorb_graph
@$(MAKE) --no-print-directory px4_fmu-v4_default uorb_graph
@$(MAKE) --no-print-directory px4_fmu-v5_default uorb_graph
@$(MAKE) --no-print-directory px4_sitl_default uorb_graph
px4io_update: px4_io-v2_default cubepilot_io-v2_default
# px4_io-v2_default
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/durandal-v1/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/pix32v5/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21-777/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v2/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v3/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v4pro/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v5/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v5x/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v6x/extras/px4_io-v2_default.bin
# cubepilot_io-v2_default
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeorange/extras/cubepilot_io-v2_default.bin
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
git status
bootloaders_update: cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
git status
.PHONY: coverity_scan
coverity_scan: posix_sitl_default
coverity_scan: px4_sitl_default
# Documentation
# --------------------------------------------------------------------
.PHONY: parameters_metadata airframe_metadata module_documentation px4_metadata
.PHONY: parameters_metadata airframe_metadata module_documentation extract_events px4_metadata doxygen
parameters_metadata:
@python $(SRC_DIR)/src/lib/parameters/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/lib/parameters/parameters_injected.xml --markdown
@python $(SRC_DIR)/src/lib/parameters/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/lib/parameters/parameters_injected.xml --xml
@$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen
airframe_metadata:
@python $(SRC_DIR)/Tools/px_process_airframes.py -v -a $(SRC_DIR)/ROMFS/px4fmu_common/init.d --markdown
@python $(SRC_DIR)/Tools/px_process_airframes.py -v -a $(SRC_DIR)/ROMFS/px4fmu_common/init.d --xml
@$(MAKE) --no-print-directory px4_sitl_default metadata_airframes ver_gen
module_documentation:
@python $(SRC_DIR)/Tools/px_process_module_doc.py -v --markdown $(SRC_DIR)/modules --src-path $(SRC_DIR)/src
@$(MAKE) --no-print-directory px4_sitl_default metadata_module_documentation
px4_metadata: parameters_metadata airframe_metadata module_documentation
extract_events:
@$(MAKE) --no-print-directory px4_sitl_default metadata_extract_events ver_gen
px4_metadata: parameters_metadata airframe_metadata module_documentation extract_events
doxygen:
@mkdir -p "$(SRC_DIR)"/build/doxygen
@cd "$(SRC_DIR)"/build/doxygen && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DBUILD_DOXYGEN=ON
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/doxygen
@touch "$(SRC_DIR)"/build/doxygen/Documentation/.nojekyll
# Astyle
# --------------------------------------------------------------------
@@ -271,121 +367,165 @@ px4_metadata: parameters_metadata airframe_metadata module_documentation
check_format:
$(call colorecho,'Checking formatting with astyle')
@$(SRC_DIR)/Tools/astyle/check_code_style_all.sh
@cd $(SRC_DIR) && git diff --check
@"$(SRC_DIR)"/Tools/astyle/check_code_style_all.sh
@cd "$(SRC_DIR)" && git diff --check
format:
$(call colorecho,'Formatting with astyle')
@$(SRC_DIR)/Tools/astyle/check_code_style_all.sh --fix
@"$(SRC_DIR)"/Tools/astyle/check_code_style_all.sh --fix
# Testing
# --------------------------------------------------------------------
.PHONY: tests tests_coverage tests_mission tests_mission_coverage tests_offboard rostest
.PHONY: tests tests_coverage tests_mission tests_mission_coverage tests_offboard tests_avoidance
.PHONY: rostest python_coverage
tests:
@$(MAKE) --no-print-directory posix_sitl_default test_results \
ASAN_OPTIONS="color=always:check_initialization_order=1:detect_stack_use_after_return=1" \
UBSAN_OPTIONS="color=always"
$(eval CMAKE_ARGS += -DTESTFILTER=$(TESTFILTER))
$(eval ARGS += test_results)
$(eval ASAN_OPTIONS += color=always:check_initialization_order=1:detect_stack_use_after_return=1)
$(eval UBSAN_OPTIONS += color=always)
$(call cmake-build,px4_sitl_test)
tests_coverage:
@$(MAKE) clean
@$(MAKE) --no-print-directory posix_sitl_default test_coverage_genhtml PX4_CMAKE_BUILD_TYPE=Coverage
@echo "Open $(SRC_DIR)/build/posix_sitl_default/coverage-html/index.html to see coverage"
@$(MAKE) --no-print-directory tests PX4_CMAKE_BUILD_TYPE=Coverage
@mkdir -p coverage
@lcov --directory build/px4_sitl_test --base-directory build/px4_sitl_test --gcov-tool gcov --capture -o coverage/lcov.info
rostest: posix_sitl_default
@$(MAKE) --no-print-directory posix_sitl_default sitl_gazebo
rostest: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
tests_integration: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@$(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 mavsdk_tests
@"$(SRC_DIR)"/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 test/mavsdk_tests/configs/sitl.json
@mkdir -p coverage
@lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
tests_mission: rostest
@$(SRC_DIR)/test/rostest_px4_run.sh mavros_posix_tests_missions.test
@"$(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
@"$(SRC_DIR)"/test/rostest_px4_run.sh $(TEST_FILE) mission:=$(TEST_MISSION) vehicle:=$(TEST_VEHICLE)
tests_mission_coverage:
@$(MAKE) clean
@$(MAKE) --no-print-directory posix_sitl_default PX4_CMAKE_BUILD_TYPE=Coverage
@$(MAKE) --no-print-directory posix_sitl_default sitl_gazebo PX4_CMAKE_BUILD_TYPE=Coverage
@$(SRC_DIR)/test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=vtol_new_1 vehicle:=standard_vtol
@$(MAKE) --no-print-directory posix_sitl_default generate_coverage
@$(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
@"$(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
tests_offboard: rostest
@$(SRC_DIR)/test/rostest_px4_run.sh mavros_posix_tests_offboard_attctl.test
@$(SRC_DIR)/test/rostest_px4_run.sh mavros_posix_tests_offboard_posctl.test
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_offboard_attctl.test
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_offboard_posctl.test
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_offboard_rpyrt_ctl.test
tests_avoidance: rostest
@"$(SRC_DIR)"/test/rostest_avoidance_run.sh mavros_posix_test_avoidance.test
@"$(SRC_DIR)"/test/rostest_avoidance_run.sh mavros_posix_test_safe_landing.test
python_coverage:
@mkdir -p "$(SRC_DIR)"/build/python_coverage
@cd "$(SRC_DIR)"/build/python_coverage && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DPYTHON_COVERAGE=ON
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/python_coverage
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/python_coverage metadata_airframes
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/python_coverage metadata_parameters
#@$(PX4_MAKE) -C "$(SRC_DIR)"/build/python_coverage module_documentation # TODO: fix within coverage.py
@coverage combine `find . -name .coverage\*`
@coverage report -m
# static analyzers (scan-build, clang-tidy, cppcheck)
# --------------------------------------------------------------------
.PHONY: scan-build posix_sitl_default-clang clang-tidy clang-tidy-fix clang-tidy-quiet cppcheck
.PHONY: scan-build px4_sitl_default-clang clang-tidy clang-tidy-fix clang-tidy-quiet
.PHONY: cppcheck shellcheck_all validate_module_configs
scan-build:
@export CCC_CC=clang
@export CCC_CXX=clang++
@rm -rf $(SRC_DIR)/build/posix_sitl_default-scan-build
@rm -rf $(SRC_DIR)/build/scan-build/report_latest
@mkdir -p $(SRC_DIR)/build/posix_sitl_default-scan-build
@cd $(SRC_DIR)/build/posix_sitl_default-scan-build && scan-build cmake $(SRC_DIR) -GNinja -DCONFIG=posix_sitl_default
@scan-build -o $(SRC_DIR)/build/scan-build cmake --build $(SRC_DIR)/build/posix_sitl_default-scan-build
@find $(SRC_DIR)/build/scan-build -maxdepth 1 -mindepth 1 -type d -exec cp -r "{}" $(SRC_DIR)/build/scan-build/report_latest \;
@rm -rf "$(SRC_DIR)"/build/px4_sitl_default-scan-build
@rm -rf "$(SRC_DIR)"/build/scan-build/report_latest
@mkdir -p "$(SRC_DIR)"/build/px4_sitl_default-scan-build
@cd "$(SRC_DIR)"/build/px4_sitl_default-scan-build && scan-build cmake "$(SRC_DIR)" -GNinja -DCONFIG=px4_sitl_default
@scan-build -o "$(SRC_DIR)"/build/scan-build cmake --build "$(SRC_DIR)"/build/px4_sitl_default-scan-build
@find "$(SRC_DIR)"/build/scan-build -maxdepth 1 -mindepth 1 -type d -exec cp -r "{}" "$(SRC_DIR)"/build/scan-build/report_latest \;
posix_sitl_default-clang:
@mkdir -p $(SRC_DIR)/build/posix_sitl_default-clang
@cd $(SRC_DIR)/build/posix_sitl_default-clang && cmake $(SRC_DIR) $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=posix_sitl_default -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
@$(PX4_MAKE) -C $(SRC_DIR)/build/posix_sitl_default-clang
px4_sitl_default-clang:
@mkdir -p "$(SRC_DIR)"/build/px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/px4_sitl_default-clang
clang-tidy: posix_sitl_default-clang
@cd $(SRC_DIR)/build/posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -p .
clang-tidy: px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -p .
# to automatically fix a single check at a time, eg modernize-redundant-void-arg
# % run-clang-tidy-4.0.py -fix -j4 -checks=-\*,modernize-redundant-void-arg -p .
clang-tidy-fix: posix_sitl_default-clang
@cd $(SRC_DIR)/build/posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -fix -p .
clang-tidy-fix: px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -fix -p .
# modified version of run-clang-tidy.py to return error codes and only output relevant results
clang-tidy-quiet: posix_sitl_default-clang
@cd $(SRC_DIR)/build/posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -p .
clang-tidy-quiet: px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -p .
# TODO: Fix cppcheck errors then try --enable=warning,performance,portability,style,unusedFunction or --enable=all
cppcheck: posix_sitl_default
@mkdir -p $(SRC_DIR)/build/cppcheck
@cppcheck -i$(SRC_DIR)/src/examples --enable=performance --std=c++11 --std=c99 --std=posix --project=$(SRC_DIR)/build/posix_sitl_default/compile_commands.json --xml-version=2 2> $(SRC_DIR)/build/cppcheck/cppcheck-result.xml > /dev/null
@cppcheck-htmlreport --source-encoding=ascii --file=$(SRC_DIR)/build/cppcheck/cppcheck-result.xml --report-dir=$(SRC_DIR)/build/cppcheck --source-dir=$(SRC_DIR)/src/
cppcheck: px4_sitl_default
@mkdir -p "$(SRC_DIR)"/build/cppcheck
@cppcheck -i"$(SRC_DIR)"/src/examples --enable=performance --std=c++14 --std=c99 --std=posix --project="$(SRC_DIR)"/build/px4_sitl_default/compile_commands.json --xml-version=2 2> "$(SRC_DIR)"/build/cppcheck/cppcheck-result.xml > /dev/null
@cppcheck-htmlreport --source-encoding=ascii --file="$(SRC_DIR)"/build/cppcheck/cppcheck-result.xml --report-dir="$(SRC_DIR)"/build/cppcheck --source-dir="$(SRC_DIR)"/src/
shellcheck_all:
@"$(SRC_DIR)"/Tools/run-shellcheck.sh "$(SRC_DIR)"/ROMFS/px4fmu_common/
@make px4_fmu-v5_default shellcheck
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/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
clean:
@rm -rf $(SRC_DIR)/build
@[ ! -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
@git submodule foreach git clean -dX --force # some submodules generate build artifacts in source
submodulesclean:
@git submodule foreach --quiet --recursive git clean -ff -x -d
@git submodule update --quiet --init --recursive --force || true
@git submodule sync --recursive
@git submodule update --init --recursive --force
@git submodule update --init --recursive --force --jobs 4
submodulesupdate:
@git submodule update --quiet --init --recursive || true
@git submodule update --quiet --init --recursive --jobs 4 || true
@git submodule sync --recursive
@git submodule update --init --recursive
@git submodule update --init --recursive --jobs 4
@git fetch --all --tags --recurse-submodules=yes --jobs=4
gazeboclean:
@rm -rf ~/.gazebo/*
distclean: gazeboclean
@git submodule deinit -f .
@git clean -ff -x -d -e ".project" -e ".cproject" -e ".idea" -e ".settings" -e ".vscode"
@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/"
# Help / Error / Misc
# --------------------------------------------------------------------
# All other targets are handled by PX4_MAKE. Add a rule here to avoid printing an error.
%:
$(if $(filter $(FIRST_ARG),$@), \
$(error "$@ cannot be the first argument. Use '$(MAKE) help|list_config_targets' to get a list of all possible [configuration] targets."),@#)
#help:
# @echo
# @echo "Type 'make ' and hit the tab key twice to see a list of the available"
# @echo "build configurations."
# @echo
empty :=
space := $(empty) $(empty)
$(error "Make target $@ not found. It either does not exist or $@ cannot be the first argument. Use '$(MAKE) help|list_config_targets' to get a list of all possible [configuration] targets."),@#)
# Print a list of non-config targets (based on http://stackoverflow.com/a/26339924/1487069)
help:
@@ -393,11 +533,38 @@ help:
@echo "Where <target> is one of:"
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | \
awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | \
egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS) $(NUTTX_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(posix|eagle|Makefile)'
egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(Makefile)'
@echo
@echo "Or, $(MAKE) <config_target> [<make_target(s)>]"
@echo "Use '$(MAKE) list_config_targets' for a list of configuration targets."
# Print a list of all config targets.
list_config_targets:
@for targ in $(patsubst nuttx_%,[nuttx_]%,$(ALL_CONFIG_TARGETS)); do echo $$targ; done
@for targ in $(patsubst %_default,%[_default],$(ALL_CONFIG_TARGETS)); do echo $$targ; done
check_nuttx : $(call make_list,nuttx) \
sizes
check_linux : $(call make_list,linux) \
sizes
check_px4: $(call make_list,nuttx,"px4") \
sizes
check_nxp: $(call make_list,nuttx,"nxp") \
sizes
ifneq ($(ROS2_WS_DIR),)
ROS2_WS_DIR := $(basename ${ROS2_WS_DIR})
else
ROS2_WS_DIR := ~/colcon_ws
endif
update_ros2_bridge:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --all
update_px4_ros_com:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_ros_com
update_px4_msgs:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_msgs
+17
View File
@@ -0,0 +1,17 @@
Please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/) to align on pull requests if necessary. You can then open draft pull requests to get early feedback.
**Describe problem solved by this pull request**
A clear and concise description of the problem this proposed change will solve.
E.g. For this use case I ran into...
**Describe your solution**
A clear and concise description of what you have implemented.
**Describe possible alternatives**
A clear and concise description of alternative solutions or features you've considered.
**Test data / coverage**
How was it tested? What cases were covered? Logs uploaded to https://review.px4.io/ and screenshots of the important plot parts.
**Additional context**
Add any other related context or media.
+83 -69
View File
@@ -1,108 +1,122 @@
# PX4 Pro Drone Autopilot
# PX4 Drone Autopilot
[![Releases](https://img.shields.io/github/release/PX4/Firmware.svg)](https://github.com/PX4/Firmware/releases) [![DOI](https://zenodo.org/badge/22634/PX4/Firmware.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/Firmware)
[![Releases](https://img.shields.io/github/release/PX4/PX4-Autopilot.svg)](https://github.com/PX4/PX4-Autopilot/releases) [![DOI](https://zenodo.org/badge/22634/PX4/PX4-Autopilot.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/PX4-Autopilot)
[![Build Status](http://ci.px4.io:8080/buildStatus/icon?job=Firmware/master)](http://ci.px4.io:8080/blue/organizations/jenkins/Firmware/activity) [![Coverity Scan](https://scan.coverity.com/projects/3966/badge.svg?flat=1)](https://scan.coverity.com/projects/3966?tab=overview)
[![Nuttx Targets](https://github.com/PX4/PX4-Autopilot/workflows/Nuttx%20Targets/badge.svg)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [![SITL Tests](https://github.com/PX4/PX4-Autopilot/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22)
[![Slack](https://px4-slack.herokuapp.com/badge.svg)](http://slack.px4.io)
[![Slack](/.github/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA)
This repository holds the [PX4 Pro](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/Firmware/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/PX4-Autopilot/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/Firmware/blob/master/LICENSE))
* [Supported airframes](https://docs.px4.io/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)):
* [Multicopters](https://docs.px4.io/en/airframes/airframe_reference.html#copter)
* [Fixed wing](https://docs.px4.io/en/airframes/airframe_reference.html#plane)
* [VTOL](https://docs.px4.io/en/airframes/airframe_reference.html#vtol)
* many more experimental types (Rovers, Blimps, Boats, Submarines, etc)
* Releases: [Downloads](https://github.com/PX4/Firmware/releases)
PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box.
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/PX4-Autopilot/blob/master/LICENSE))
* [Supported airframes](https://docs.px4.io/master/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)):
* [Multicopters](https://docs.px4.io/master/en/frames_multicopter/)
* [Fixed wing](https://docs.px4.io/master/en/frames_plane/)
* [VTOL](https://docs.px4.io/master/en/frames_vtol/)
* [Autogyro](https://docs.px4.io/master/en/frames_autogyro/)
* [Rover](https://docs.px4.io/master/en/frames_rover/)
* many more experimental types (Blimps, Boats, Submarines, High altitude balloons, etc)
* Releases: [Downloads](https://github.com/PX4/PX4-Autopilot/releases)
## PX4 Users
## Building a PX4 based drone, rover, boat or robot
The [PX4 User Guide](https://docs.px4.io/en/) explains how to assemble [supported vehicles](https://docs.px4.io/en/airframes/airframe_reference.html) and fly drones with PX4.
See the [forum and chat](https://docs.px4.io/en/#support) if you need help!
The [PX4 User Guide](https://docs.px4.io/master/en/) explains how to assemble [supported vehicles](https://docs.px4.io/master/en/airframes/airframe_reference.html) and fly drones with PX4.
See the [forum and chat](https://docs.px4.io/master/en/#support) if you need help!
## PX4 Developers
## Changing code and contributing
This [Developer Guide](https://dev.px4.io/) is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.
This [Developer Guide](https://docs.px4.io/master/en/development/development.html) is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.
Developers should read the [Guide for Contributions](https://dev.px4.io/en/contribute/).
See the [forum and chat](https://dev.px4.io/en/#support) if you need help!
Developers should read the [Guide for Contributions](https://docs.px4.io/master/en/contribute/).
See the [forum and chat](https://dev.px4.io/master/en/#support) if you need help!
### Weekly Dev Call
The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/en/contribute/#dev_call).
The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/contribute/#dev_call).
> **Note** The dev call is open to all interested developers (not just the core dev team). This is a great opportunity to meet the team and contribute to the ongoing development of the platform. It includes a QA session for newcomers. All regular calls are listed in the [Dronecode calendar](https://www.dronecode.org/calendar/).
## Maintenance Team
* Project: Founder - [Lorenz Meier](https://github.com/LorenzMeier), Architecture: [Daniel Agar](https://github.com/dagar)
* [Dev Call](https://github.com/PX4/Firmware/labels/devcall) - [Ramon Roche](https://github.com/mrpollo)
* 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 / UX
* [Donald Gagne](https://github.com/DonLakeFlyer)
* UI in QGroundControl
* [Gus Grubba](https://github.com/dogmaphobic)
* [Multicopter Flight Control](https://github.com/PX4/Firmware/labels/multicopter)
* [Dennis Mannhart](https://github.com/Stifael)
* [Matthias Grob](https://github.com/MaEtUgR)
* [VTOL Flight Control](https://github.com/PX4/Firmware/labels/vtol)
* [Daniel Agar](https://github.com/dagar)
* [Multicopter Flight Control](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
* [Mathieu Bresciani](https://github.com/bresch)
* [Sander Smeets](https://github.com/sanderux)
* [Roman Bapst](https://github.com/tumbili)
* [Andreas Antener](https://github.com/AndreasAntener)
* [Fixed Wing Flight Control](https://github.com/PX4/Firmware/labels/fixedwing)
* [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)
* Racers - [Matthias Grob](https://github.com/MaEtUgR)
* OS / drivers - [David Sidrane](https://github.com/davids5)
* [UAVCAN](https://github.com/PX4/Firmware/labels/uavcan) / Industrial - [Pavel Kirienko](https://github.com/pavel-kirienko)
* [State Estimation](https://github.com/PX4/Firmware/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22) - [James Goppert](https://github.com/jgoppert), [Paul Riseborough](https://github.com/priseborough)
* Vision based navigation
* [Christoph Tobler](https://github.com/ChristophTobler)
* [Mohammed Kabir](https://github.com/mhkabir)
* Obstacle Avoidance - [Martina Rivizzigno](https://github.com/mrivi)
* [Snapdragon](https://github.com/PX4/Firmware/labels/snapdragon)
* [Christoph Tobler](https://github.com/ChristophTobler)
* [Intel Aero](https://github.com/PX4/Firmware/labels/intel%20aero)
* [Sugnan Prabhu](https://github.com/sugnanprabhu)
* [José Roberto de Souza](https://github.com/zehortigoza)
* [Raspberry Pi / Navio](https://github.com/PX4/Firmware/labels/raspberry_pi) - [Beat Kueng](https://github.com/bkueng)
* [Airmind MindPX / MindRacer](https://github.com/PX4/Firmware/labels/mindpx) - [Henry Zhang](https://github.com/iZhangHui)
* RTPS/ROS2 Interface - [Vicente Monge](https://github.com/vicenteeprosima)
* Vision based navigation and Obstacle Avoidance
* [Markus Achtelik](https://github.com/markusachtelik)
* RTPS/ROS2 Interface
* [Nuno Marques](https://github.com/TSC21)
See also [About Us](http://px4.io/about-us/#development_team) (px4.io) and the [contributors list](https://github.com/PX4/Firmware/graphs/contributors) (Github).
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
## Supported Hardware
This repository contains code supporting these boards:
* [Snapdragon Flight](https://docs.px4.io/en/flight_controller/snapdragon_flight.html)
* [Intel Aero](https://docs.px4.io/en/flight_controller/intel_aero.html)
* [Raspberry PI with Navio 2](https://docs.px4.io/en/flight_controller/raspberry_pi_navio2.html)
* [Parrot Bebop 2](https://dev.px4.io/en/advanced/parrot_bebop.html)
* FMUv2.x
* [Pixhawk](https://docs.px4.io/en/flight_controller/pixhawk.html)
* [Pixhawk Mini](https://docs.px4.io/en/flight_controller/pixhawk_mini.html)
* [Pixfalcon](https://docs.px4.io/en/flight_controller/pixfalcon.html)
* FMUv3.x [Pixhawk 2](https://pixhawk.org/modules/pixhawk2)
* FMUv4.x
* [Pixracer](https://docs.px4.io/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/en/flight_controller/pixhawk3_pro.html)
* FMUv5.x (ARM Cortex M7, future Pixhawk)
* [STM32F4Discovery](http://www.st.com/en/evaluation-tools/stm32f4discovery.html) (basic support) [Tutorial](https://pixhawk.org/modules/stm32f4discovery)
* [Gumstix AeroCore](https://www.gumstix.com/aerocore-2/) (only v2)
This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.
### 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/master/en/flight_controller/pixhawk4.html)
* [Pixhawk 4 mini (FMUv5)](https://docs.px4.io/master/en/flight_controller/pixhawk4_mini.html)
* [CUAV V5+ (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_plus.html)
* [CUAV V5 nano (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_nano.html)
* [Auterion Skynode (FMUv5X)](https://docs.px4.io/master/en/flight_controller/auterion_skynode.html)
* FMUv4 (STM32F4, 2015)
* [Pixracer](https://docs.px4.io/master/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/master/en/flight_controller/pixhawk3_pro.html)
* FMUv3 (STM32F4, 2014)
* [Pixhawk 2](https://docs.px4.io/master/en/flight_controller/pixhawk-2.html)
* [Pixhawk Mini](https://docs.px4.io/master/en/flight_controller/pixhawk_mini.html)
* [CUAV Pixhack v3](https://docs.px4.io/master/en/flight_controller/pixhack_v3.html)
* FMUv2 (STM32F4, 2013)
* [Pixhawk](https://docs.px4.io/master/en/flight_controller/pixhawk.html)
* [Pixfalcon](https://docs.px4.io/master/en/flight_controller/pixfalcon.html)
### Manufacturer and Community supported
* [Holybro Durandal](https://docs.px4.io/master/en/flight_controller/durandal.html)
* [Hex Cube Orange](https://docs.px4.io/master/en/flight_controller/cubepilot_cube_orange.html)
* [Hex Cube Yellow](https://docs.px4.io/master/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/en/flight_controller/crazyflie2.html)
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/master/en/complete_vehicles/crazyflie2.html)
* [Omnibus F4 SD](https://docs.px4.io/master/en/flight_controller/omnibus_f4_sd.html)
* [Holybro Kakute F7](https://docs.px4.io/master/en/flight_controller/kakutef7.html)
* [Raspberry PI with Navio 2](https://docs.px4.io/master/en/flight_controller/raspberry_pi_navio2.html)
Additional information about supported hardware can be found in [PX4 user Guide > Autopilot Hardware](https://docs.px4.io/en/flight_controller/).
Additional information about supported hardware can be found in [PX4 user Guide > Autopilot Hardware](https://docs.px4.io/master/en/flight_controller/).
## Project Roadmap
A high level project roadmap is available [here](https://www.dronecode.org/roadmap/).
A high level project roadmap is available [here](https://github.com/orgs/PX4/projects/25).
+346 -47
View File
@@ -31,11 +31,14 @@
#
############################################################################
message(STATUS "ROMFS: ${config_romfs_root}")
set(config_romfs_files_list)
set(romfs_src_dir ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root})
set(romfs_temp_dir ${PX4_BINARY_DIR}/genromfs/${config_romfs_root})
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/etc)
file(RELATIVE_PATH romfs_path_relative ${PX4_SOURCE_DIR} ${romfs_src_dir})
message(STATUS "ROMFS: ${romfs_path_relative}")
set_property(GLOBAL PROPERTY PX4_ROMFS_FILES)
set_property(GLOBAL PROPERTY PX4_ROMFS_CMAKE_FILES)
#=============================================================================
#
@@ -57,64 +60,360 @@ set(romfs_temp_dir ${PX4_BINARY_DIR}/genromfs/${config_romfs_root})
# )
#
function(px4_add_romfs_files)
foreach(arg IN LISTS ARGN)
list(APPEND config_romfs_files_list
${CMAKE_CURRENT_SOURCE_DIR}/${arg}
)
endforeach()
set_property(GLOBAL APPEND PROPERTY PX4_ROMFS_CMAKE_FILES ${CMAKE_CURRENT_LIST_FILE})
set(config_romfs_files_list ${config_romfs_files_list} CACHE INTERNAL "ROMFS file list")
foreach(arg IN LISTS ARGN)
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${arg})
message(FATAL_ERROR "${CMAKE_CURRENT_LIST_DIR}/${arg} doesn't exist")
endif()
set_property(GLOBAL APPEND PROPERTY PX4_ROMFS_FILES ${CMAKE_CURRENT_LIST_DIR}/${arg})
endforeach()
endfunction()
# get list of all ROMFS files
add_subdirectory(${romfs_src_dir})
# directory setup
# copy all romfs files, process airframes, prune comments
add_custom_command(OUTPUT ${romfs_temp_dir}/init.d/rcS ${romfs_temp_dir}/init.d/rc.autostart
COMMAND cmake -E copy_directory ${romfs_src_dir} ${romfs_temp_dir}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
-a ${romfs_temp_dir}/init.d
-s ${romfs_temp_dir}/init.d/rc.autostart
--board ${BOARD}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
--folder ${romfs_temp_dir} --board ${BOARD}
# copy all romfs files, process airframes
get_property(romfs_cmake_files GLOBAL PROPERTY PX4_ROMFS_CMAKE_FILES)
get_property(romfs_copy_files GLOBAL PROPERTY PX4_ROMFS_FILES)
get_property(module_config_files GLOBAL PROPERTY PX4_MODULE_CONFIG_FILES)
file(GLOB jinja_templates ${PX4_SOURCE_DIR}/Tools/serial/*.jinja)
if (px4_constrained_flash_build)
set(added_arguments --constrained-flash)
endif()
if(PX4_ETHERNET)
set(added_arguments ${added_arguments} --ethernet)
endif()
# create list of relative romfs file names
set(romfs_copy_files_relative)
foreach(romfs_file IN LISTS romfs_copy_files)
string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file})
list(APPEND romfs_copy_files_relative ${romfs_file_rel})
endforeach()
# copy the ROMFS files by creating a tar and extracting it to the build
# directory (which preserves the directory structure)
file(MAKE_DIRECTORY ${romfs_gen_root_dir})
set(romfs_tar_file ${PX4_BINARY_DIR}/romfs_files.tar)
add_custom_command(
OUTPUT ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E tar cf ${romfs_tar_file} ${romfs_copy_files_relative}
WORKING_DIRECTORY ${romfs_src_dir}
DEPENDS
${config_romfs_files_list}
${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d/rcS
${romfs_copy_files}
${jinja_templates}
${module_config_files}
${romfs_cmake_files}
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
)
set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp)
add_custom_command(
OUTPUT ${romfs_extract_stamp}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/*
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp}
WORKING_DIRECTORY ${romfs_gen_root_dir}
DEPENDS ${romfs_tar_file}
VERBATIM
)
set(romfs_dependencies)
list(APPEND romfs_dependencies
${romfs_temp_dir}/init.d/rcS
${romfs_temp_dir}/init.d/rc.autostart
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/rc.serial
${romfs_gen_root_dir}/init.d/rc.autostart
${romfs_gen_root_dir}/init.d/rc.autostart.post
romfs_copy.stamp
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
--airframes-path ${romfs_gen_root_dir}/init.d
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
--board ${PX4_BOARD}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
--rc-dir ${romfs_gen_root_dir}/init.d
--serial-ports ${board_serial_ports} ${added_arguments}
--config-files ${module_config_files} #--verbose
COMMAND ${CMAKE_COMMAND} -E touch romfs_copy.stamp
DEPENDS
${romfs_extract_stamp}
COMMENT "ROMFS: copying, generating airframes"
)
# copy px4io binary if configured
if (config_io_board)
list(APPEND romfs_dependencies
copy_px4io_bin
${fw_io_bin}
)
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()
# create romfs.img
add_custom_command(OUTPUT romfs.img
COMMAND ${CMAKE_COMMAND} -E remove -f romfs.img romfs.txt
COMMAND ${GENROMFS} -f romfs.img -d ${romfs_temp_dir} -V "NSHInitVol" -v > romfs.txt 2>&1
DEPENDS ${romfs_dependencies}
# copy extras into ROMFS
set(extras_dependencies)
# optional board architecture defaults
set(board_arch_rc_file "rc.board_arch_defaults")
if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file}")
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file})
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/${board_arch_rc_file}")
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/${board_arch_rc_file}
${board_arch_rc_file}.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file} ${romfs_gen_root_dir}/init.d/${board_arch_rc_file}
COMMAND ${CMAKE_COMMAND} -E touch ${board_arch_rc_file}.stamp
DEPENDS
${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file}
romfs_copy.stamp
COMMENT "ROMFS: copying ${board_arch_rc_file}"
)
# create nsh_romfsimg.c
add_custom_command(OUTPUT nsh_romfsimg.c
COMMAND ${CMAKE_COMMAND} -E remove -f nsh_romfsimg.c
COMMAND xxd -i romfs.img nsh_romfsimg.c
COMMAND sed 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && mv nsh_romfsimg.c.tmp nsh_romfsimg.c
DEPENDS romfs.img
list(APPEND extras_dependencies
${board_arch_rc_file}.stamp
)
endif()
# board custom init files
set(OPTIONAL_BOARD_RC)
list(APPEND OPTIONAL_BOARD_RC
rc.board_defaults
rc.board_sensors
rc.board_extras
rc.board_mavlink
)
foreach(board_rc_file ${OPTIONAL_BOARD_RC})
if(EXISTS "${PX4_BOARD_DIR}/init/${board_rc_file}")
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_BOARD_DIR}/init/${board_rc_file})
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/${board_rc_file}")
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/${board_rc_file}
${board_rc_file}.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_BOARD_DIR}/init/${board_rc_file} ${romfs_gen_root_dir}/init.d/${board_rc_file}
COMMAND ${CMAKE_COMMAND} -E touch ${board_rc_file}.stamp
DEPENDS
${PX4_BOARD_DIR}/init/${board_rc_file}
romfs_copy.stamp
COMMENT "ROMFS: copying ${board_rc_file}"
)
list(APPEND extras_dependencies
${board_rc_file}.stamp
)
endif()
endforeach()
# board extras
set(OPTIONAL_BOARD_EXTRAS)
file(GLOB OPTIONAL_BOARD_EXTRAS ${PX4_BOARD_DIR}/extras/*)
foreach(board_extra_file ${OPTIONAL_BOARD_EXTRAS})
if(EXISTS "${board_extra_file}")
file(RELATIVE_PATH extra_file_base_name ${PX4_BOARD_DIR}/extras/ ${board_extra_file})
file(RELATIVE_PATH extra_file_relative_source ${PX4_SOURCE_DIR} ${board_extra_file})
message(STATUS "ROMFS: Adding ${extra_file_relative_source} -> /etc/extras/${extra_file_base_name}")
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/extras/${extra_file_base_name}
${extra_file_base_name}.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_BOARD_DIR}/extras/${extra_file_base_name} ${romfs_gen_root_dir}/extras/${extra_file_base_name}
COMMAND ${CMAKE_COMMAND} -E touch ${extra_file_base_name}.stamp
DEPENDS
${board_extra_file}
romfs_copy.stamp
COMMENT "ROMFS: copying ${board_extra_file}"
)
list(APPEND extras_dependencies
${extra_file_base_name}.stamp
)
endif()
endforeach()
if(config_uavcan_peripheral_firmware)
include(ExternalProject)
foreach(uavcan_peripheral_config ${config_uavcan_peripheral_firmware})
# include the UAVCAN peripheral binaries in ROMFS
message(STATUS "ROMFS: Adding UAVCAN peripheral ${uavcan_peripheral_config} -> /etc/uavcan/fw/")
# ExternalProject_Add() with GIT_SUBMODULES "" initializes no submodules.
cmake_policy(SET CMP0097 NEW)
include(ExternalProject)
ExternalProject_Add(build_${uavcan_peripheral_config}
GIT_REPOSITORY ${CMAKE_SOURCE_DIR}
GIT_TAG ${PX4_GIT_TAG}
GIT_SUBMODULES ""
DOWNLOAD_NO_PROGRESS true
CMAKE_ARGS -DCONFIG=${uavcan_peripheral_config}
INSTALL_COMMAND ""
USES_TERMINAL_BUILD true
BUILD_ALWAYS 1
)
ExternalProject_Get_Property(build_${uavcan_peripheral_config} BINARY_DIR)
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/uavcan/fw/_${uavcan_board_id}.bin
${uavcan_peripheral_config}.stamp
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/uavcan/fw/
COMMAND ${CMAKE_COMMAND} -E copy ${BINARY_DIR}/deploy/*.bin ${romfs_gen_root_dir}/uavcan/fw/
COMMAND ls -lsa ${romfs_gen_root_dir}/uavcan/fw/
COMMAND ${CMAKE_COMMAND} -E touch ${uavcan_peripheral_config}.stamp
DEPENDS
build_${uavcan_peripheral_config}
COMMENT "ROMFS: copying ${uavcan_peripheral_config}"
)
list(APPEND extras_dependencies
${uavcan_peripheral_config}.stamp
)
endforeach()
endif()
list(APPEND extras_dependencies
${config_romfs_extra_dependencies}
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
if (config_romfs_extra_files)
set(extras_copy_cmd COMMAND ${CMAKE_COMMAND} -E copy_if_different ${config_romfs_extra_files} ${romfs_gen_root_dir}/extras/)
else()
set(extras_copy_cmd "")
endif()
add_custom_command(OUTPUT romfs_extras.stamp
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/extras/
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PX4_BINARY_DIR}/romfs_extras/ ${romfs_gen_root_dir}/extras/
${extras_copy_cmd}
COMMAND ${CMAKE_COMMAND} -E touch romfs_extras.stamp
DEPENDS
romfs_copy.stamp
${config_romfs_extra_files}
${extras_dependencies}
COMMENT "ROMFS: copying extras"
)
add_custom_target(romfs_gen_files_target
DEPENDS
${romfs_extract_stamp}
${romfs_gen_root_dir}/init.d/rc.serial
romfs_extras.stamp
)
add_custom_command(
OUTPUT romfs_pruned.stamp
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
COMMAND ${CMAKE_COMMAND} -E touch romfs_pruned.stamp
DEPENDS
romfs_copy.stamp
romfs_extras.stamp
${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
COMMENT "ROMFS: pruning"
)
if("${CONFIG_FS_CROMFS}" STREQUAL "y")
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/gencromfs
COMMAND make --no-print-directory --silent -f Makefile.host gencromfs
COMMAND ${CMAKE_COMMAND} -E copy_if_different gencromfs ${CMAKE_BINARY_DIR}/gencromfs
DEPENDS ${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/nuttx/tools/gencromfs.c
WORKING_DIRECTORY ${NUTTX_DIR}/tools
)
# create nsh_romfsimg.c
add_custom_command(OUTPUT nsh_romfsimg.c
COMMAND ${CMAKE_COMMAND} -E remove -f nsh_romfsimg.c
COMMAND ${CMAKE_BINARY_DIR}/gencromfs ${romfs_gen_root_dir} nsh_romfsimg.c
DEPENDS
${CMAKE_BINARY_DIR}/gencromfs
romfs_pruned.stamp
COMMENT "ROMFS: generating image"
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
# create romfs.img
find_program(GENROMFS genromfs)
if(NOT GENROMFS)
message(FATAL_ERROR "genromfs not found")
endif()
add_custom_command(
OUTPUT
romfs.img
romfs.txt
COMMAND ${CMAKE_COMMAND} -E remove -f romfs.img romfs.txt
COMMAND ${GENROMFS} -f romfs.img -d ${romfs_gen_root_dir} -V "NSHInitVol" -v > romfs.txt 2>&1
DEPENDS romfs_pruned.stamp
COMMENT "ROMFS: generating image"
)
# create nsh_romfsimg.c
find_program(XXD xxd)
if(NOT XXD)
message(FATAL_ERROR "xxd not found")
endif()
find_program(SED sed)
if(NOT SED)
message(FATAL_ERROR "sed not found")
endif()
add_custom_command(OUTPUT nsh_romfsimg.c
COMMAND ${CMAKE_COMMAND} -E remove -f nsh_romfsimg.c
COMMAND ${XXD} -i romfs.img nsh_romfsimg.c
COMMAND ${SED} 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c
DEPENDS romfs.img
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
endif()
# shellcheck
find_program(SHELLCHECK_PATH shellcheck)
if(SHELLCHECK_PATH)
# TODO: fix SC2086, SC2166
add_custom_target(shellcheck
COMMAND ${SHELLCHECK_PATH} --shell=sh
--exclude=SC1090 # SC1090: use of source (.) - Can't follow non-constant source. Use a directive to specify location.
--exclude=SC1091 # SC1091: use of source (.) - Not following: xxxx openBinaryFile: does not exist (No such file or directory)
--exclude=SC2121 # SC2121: To assign a variable, use just 'var=value'
--exclude=SC2086 # SC2086: Double quote to prevent globbing and word splitting.
--exclude=SC2166 # SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
--exclude=SC2154 # SC2154: <var> is referenced but not assigned (NuttX uses different asssignment)
--exclude=SC2164 # SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
--exclude=SC2169 # SC2169: In dash, 'source' in place of '.' is not supported. (we alias it)
--exclude=SC2039 # SC2039: In POSIX sh, 'source' in place of '.' is undefined. (we alias it)
--exclude=SC2181 # SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
`find ${romfs_gen_root_dir}/init.d -type f`
DEPENDS ${romfs_gen_root_dir}/init.d/rc.autostart
WORKING_DIRECTORY ${romfs_gen_root_dir}
USES_TERMINAL
)
endif()
+34
View File
@@ -0,0 +1,34 @@
############################################################################
#
# Copyright (c) 2020 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
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
add_subdirectory(init.d)
+36
View File
@@ -0,0 +1,36 @@
############################################################################
#
# Copyright (c) 2020 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
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_romfs_files(
rcS
)
+95
View File
@@ -0,0 +1,95 @@
#!/bin/sh
# Un comment and use set +e to ignore and set -e to enable 'exit on error control'
set +e
# Un comment the line below to help debug scripts by printing a trace of the script commands
#set -x
# PX4FMU startup script.
#
# NOTE: environment variable references:
# If the dollar sign ('$') is followed by a left bracket ('{') then the
# variable name is terminated with the right bracket character ('}').
# Otherwise, the variable name goes to the end of the argument.
#
#
# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS.
#
#------------------------------------------------------------------------------
set R /
#
# Print full system version.
#
ver all
if mft query -q -k MTD -s MTD_PARAMETERS -v /fs/mtd_params
then
set PARAM_FILE /fs/mtd_params
fi
if mft query -q -k MTD -s MTD_PARAMETERS -v /dev/eeeprom0
then
set PARAM_FILE /dev/eeeprom0
fi
#
# Load parameters.
#
param select $PARAM_FILE
if ! param load
then
param reset_all
fi
#
# Optional board architecture defaults: rc.board_arch_defaults
#
set BOARD_ARCH_RC_DEFAULTS ${R}etc/init.d/rc.board_arch_defaults
if [ -f $BOARD_ARCH_RC_DEFAULTS ]
then
echo "Board architecture defaults: ${BOARD_ARCH_RC_DEFAULTS}"
. $BOARD_ARCH_RC_DEFAULTS
fi
unset BOARD_ARCH_RC_DEFAULTS
#
# Optional board defaults: rc.board_defaults
#
set BOARD_RC_DEFAULTS ${R}etc/init.d/rc.board_defaults
if [ -f $BOARD_RC_DEFAULTS ]
then
echo "Board defaults: ${BOARD_RC_DEFAULTS}"
. $BOARD_RC_DEFAULTS
fi
unset BOARD_RC_DEFAULTS
#
# Start system state indicator.
#
rgbled start -X -q
rgbled_ncp5623c start -X -q
#
# board sensors: rc.sensors
#
set BOARD_RC_SENSORS ${R}etc/init.d/rc.board_sensors
if [ -f $BOARD_RC_SENSORS ]
then
echo "Board sensors: ${BOARD_RC_SENSORS}"
. $BOARD_RC_SENSORS
fi
unset BOARD_RC_SENSORS
#
# Start UART/Serial device drivers.
# Note: rc.serial is auto-generated from Tools/serial/generate_config.py
#
. ${R}etc/init.d/rc.serial
# Check for flow sensor
if param compare SENS_EN_PX4FLOW 1
then
px4flow start -X
fi
uavcannode start
unset R
+5
View File
@@ -33,3 +33,8 @@
add_subdirectory(init.d)
add_subdirectory(mixers)
# TODO: make this configurable from the board config, or better combine
if("${PX4_BOARD}" MATCHES "sitl")
add_subdirectory(mixers-sitl)
add_subdirectory(init.d-posix)
endif()
@@ -0,0 +1,43 @@
############################################################################
#
# Copyright (c) 2020 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
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
add_subdirectory(airframes)
px4_add_romfs_files(
px4-rc.mavlink
px4-rc.params
px4-rc.rtps
px4-rc.simulator
rc.replay
rcS
)
@@ -0,0 +1,12 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL
#
# @type Quadrotor Wide
#
# @maintainer Julian Oes <julian@oes.ch>
#
. ${R}etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -0,0 +1,37 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL
#
# @type Quadrotor Wide
#
# @maintainer Julian Oes <julian@oes.ch>
#
. ${R}etc/init.d/rc.mc_defaults
param set-default SYS_CTRL_ALLOC 1
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
set MIXER skip
set MIXER_AUX none
@@ -0,0 +1,11 @@
#!/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
@@ -0,0 +1,19 @@
#!/bin/sh
#
# @name IF750A SITL
# InspiredFlight 750 Auterion edition. Gazebo Only.
#
# @type Quadrotor
#
. ${R}etc/init.d/rc.mc_defaults
# EKF2: Multi GPS blending (as the model has 2 GPS's)
param set-default SENS_GPS_MASK 7
param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 4
param set-default MNT_MODE_OUT 2
param set-default MNT_DO_STAB 2
set MIXER quad_x
@@ -0,0 +1,11 @@
#!/bin/sh
#
# @name PX4Vision SITL
# Holybro px4vision. Gazebo Only.
#
# @type Quadrotor
#
. ${R}etc/init.d/airframes/4016_holybro_px4vision
set MIXER quad_x
@@ -0,0 +1,20 @@
#!/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_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
@@ -0,0 +1,3 @@
# shellcheck disable=SC2154
mavlink stream -r 50 -s DISTANCE_SENSOR -u $udp_gcs_port_local
@@ -0,0 +1,15 @@
#!/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
# Start up Landing Target Estimator module
landing_target_estimator start
@@ -0,0 +1,11 @@
#!/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
@@ -0,0 +1,19 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Vision)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# EKF2: Vision position and heading
param set-default EKF2_AID_MASK 24
param set-default EKF2_EV_DELAY 5
# LPE: Vision + baro
param set-default LPE_FUSION 132
# AEQ: External heading set to use vision input
param set-default ATT_EXT_HDG_M 1
@@ -0,0 +1,3 @@
# shellcheck disable=SC2154
mavlink stream -r 30 -s ODOMETRY -u $udp_gcs_port_local
@@ -0,0 +1,13 @@
#!/bin/sh
#
# @name Solo
#
# @type Quadrotor
#
. ${R}etc/init.d/rc.mc_defaults
param set-default MC_PITCHRATE_P 0.1
param set-default MC_ROLLRATE_P 0.05
set MIXER quad_x
@@ -0,0 +1,12 @@
#!/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,2 @@
# shellcheck disable=SC2154
mavlink start -x -u 14558 -r 4000000 -m onboard -o 14541 -p # add mavlink stream for SDK
@@ -0,0 +1,18 @@
#!/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 SENS_FLOW_ROT 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
@@ -0,0 +1,12 @@
#!/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
@@ -0,0 +1,11 @@
#!/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
@@ -0,0 +1,15 @@
#!/bin/sh
#
# @name UUV
#
. ${R}etc/init.d/rc.uuv_defaults
# disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
set MAV_TYPE 12
param set MAV_TYPE ${MAV_TYPE}
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
set MIXER custom
@@ -0,0 +1,15 @@
#!/bin/sh
#
# @name Hippocampus UUV
#
. ${R}etc/init.d/rc.uuv_defaults
# disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
set MAV_TYPE 12
param set MAV_TYPE ${MAV_TYPE}
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
set MIXER custom
@@ -0,0 +1,70 @@
#!/bin/sh
#
# @name BlueROV2 Heavy Configuration
#
. ${R}etc/init.d/rc.uuv_defaults
# disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 7
param set-default CA_ROTOR_COUNT 8
param set-default CA_R_REV 255
param set-default CA_ROTOR0_AX 1.0000
param set-default CA_ROTOR0_AY -1.0000
param set-default CA_ROTOR0_AZ 0.0000
param set-default CA_ROTOR0_KM 0.0000
param set-default CA_ROTOR0_PX 0.5000
param set-default CA_ROTOR0_PY 0.3000
param set-default CA_ROTOR0_PZ 0.2000
param set-default CA_ROTOR1_AX 1.0000
param set-default CA_ROTOR1_AY 1.0000
param set-default CA_ROTOR1_AZ 0.0000
param set-default CA_ROTOR1_KM 0.0000
param set-default CA_ROTOR1_PX 0.5000
param set-default CA_ROTOR1_PY -0.3000
param set-default CA_ROTOR1_PZ 0.2000
param set-default CA_ROTOR2_AX 1.0000
param set-default CA_ROTOR2_AY 1.0000
param set-default CA_ROTOR2_AZ 0.0000
param set-default CA_ROTOR2_KM 0.0000
param set-default CA_ROTOR2_PX -0.5000
param set-default CA_ROTOR2_PY 0.3000
param set-default CA_ROTOR2_PZ 0.2000
param set-default CA_ROTOR3_AX 1.0000
param set-default CA_ROTOR3_AY -1.0000
param set-default CA_ROTOR3_AZ 0.0000
param set-default CA_ROTOR3_KM 0.0000
param set-default CA_ROTOR3_PX -0.5000
param set-default CA_ROTOR3_PY -0.3000
param set-default CA_ROTOR3_PZ 0.2000
param set-default CA_ROTOR4_AZ -1.0000
param set-default CA_ROTOR4_KM 0.0000
param set-default CA_ROTOR4_PX 0.5000
param set-default CA_ROTOR4_PY 0.5000
param set-default CA_ROTOR5_AZ 1.0000
param set-default CA_ROTOR5_KM 0.0000
param set-default CA_ROTOR5_PX 0.5000
param set-default CA_ROTOR5_PY -0.5000
param set-default CA_ROTOR6_AZ 1.0000
param set-default CA_ROTOR6_KM 0.0000
param set-default CA_ROTOR6_PX -0.5000
param set-default CA_ROTOR6_PY 0.5000
param set-default CA_ROTOR7_KM 0.0000
param set-default CA_ROTOR7_PX -0.5000
param set-default CA_ROTOR7_PY -0.5000
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 106
param set-default PWM_MAIN_FUNC7 107
param set-default PWM_MAIN_FUNC8 108
set MIXER skip
@@ -0,0 +1,74 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${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_AIRSPD_SC 1
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 FW_MAN_P_MAX 30
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.2
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
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_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_CRUISE 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 SYS_CTRL_ALLOC 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
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,12 @@
#!/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,9 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default RWTO_TKOFF 0
@@ -0,0 +1,9 @@
#!/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,48 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5
param set-default FW_THR_LND_MAX 0
param set-default FW_LND_HHDIST 30
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_LND_TLALT 15
param set-default FW_L1_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 MIS_DIST_WPS 10000
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_MAX_ROLL 10
param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,47 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5
param set-default FW_THR_LND_MAX 0
param set-default FW_LND_HHDIST 30
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_LND_TLALT 15
param set-default FW_L1_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 MIS_DIST_WPS 10000
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_MAX_ROLL 10
param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,40 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${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_AIRSPD_SC 1
param set-default FW_LND_ANG 8
param set-default FW_THR_LND_MAX 0
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
param set-default FW_PR_P 0.05
param set-default FW_R_TC 0.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 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
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,45 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_LND_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5
param set-default FW_THR_LND_MAX 0
param set-default FW_LND_HHDIST 30
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_LND_TLALT 15
param set-default FW_L1_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 MIS_DIST_WPS 10000
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_MAX_ROLL 10
param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,52 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${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_AIRSPD_SC 1
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 FW_MAN_P_MAX 30
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.2
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
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_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_CRUISE 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
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 FW_USE_NPFG 1
param set-default RWTO_TKOFF 1
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,9 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default FW_THR_CRUISE 0.0
param set-default RWTO_TKOFF 0
@@ -0,0 +1,83 @@
#!/bin/sh
#
# @name Standard VTOL
#
# @type Standard VTOL
#
. ${R}etc/init.d/rc.vtol_defaults
# param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 2
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 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 FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
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_MAX 32
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_CRUISE 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_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 NAV_LOITER_RAD 80
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_B_TRANS_DUR 8
param set-default VT_TYPE 2
set MAV_TYPE 22
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
set MIXER custom
@@ -0,0 +1,84 @@
#!/bin/sh
#
# @name Quadrotor + Tailsitter
#
# @type VTOL Quad Tailsitter
#
. ${R}etc/init.d/rc.vtol_defaults
# param set-default SYS_CTRL_ALLOC 1
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_KM 0.05
param set-default CA_ROTOR1_PX -1
param set-default CA_ROTOR1_PY -1
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 1
param set-default CA_ROTOR2_PY -1
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -1
param set-default CA_ROTOR3_PY 1
param set-default CA_ROTOR3_KM -0.05
param set-default CA_SV_CS_COUNT 2
param set-default CA_SV_CS0_TYPE 5
param set-default CA_SV_CS0_TRQ_P 0.5
param set-default CA_SV_CS0_TRQ_Y -0.5
param set-default CA_SV_CS1_TYPE 6
param set-default CA_SV_CS1_TRQ_P 0.5
param set-default CA_SV_CS1_TRQ_Y 0.5
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
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_MAN_P_MAX 30
param set-default FW_PR_I 0.2
param set-default FW_PR_P 0.2
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_P 0.2
param set-default FW_THR_CRUISE 0.33
param set-default FW_THR_MAX 0.6
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_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 MC_ROLLRATE_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 NAV_LOITER_RAD 80
param set-default VT_FW_DIFTHR_EN 1
param set-default VT_FW_DIFTHR_SC 0.5
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
set MAV_TYPE 20
set MIXER_FILE etc/mixers-sitl/quad_x_vtol.main.mix
set MIXER custom
@@ -0,0 +1,94 @@
#!/bin/sh
#
# @name VTOL Tiltrotor
#
# @type VTOL Tiltrotor
#
. ${R}etc/init.d/rc.vtol_defaults
# param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 3
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 CA_ROTOR0_TILT 1
param set-default CA_ROTOR1_TILT 2
param set-default CA_ROTOR2_TILT 3
param set-default CA_ROTOR3_TILT 4
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_CS_COUNT 3
param set-default CA_SV_TL0_CT 0
param set-default CA_SV_TL1_CT 0
param set-default CA_SV_TL2_CT 0
param set-default CA_SV_TL3_CT 0
param set-default CA_SV_TL_COUNT 4
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 204
param set-default PWM_MAIN_FUNC6 205
param set-default PWM_MAIN_FUNC7 206
param set-default PWM_MAIN_FUNC8 207
param set-default PWM_MAIN_FUNC9 201
param set-default PWM_MAIN_FUNC10 202
param set-default PWM_MAIN_FUNC11 203
param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
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_MAX 32
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_CRUISE 0.38
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_YAW_P 1.6
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 NAV_LOITER_RAD 80
param set-default VT_B_TRANS_DUR 8
param set-default VT_FWD_THRUST_EN 4
param set-default VT_MOT_ID 1234
param set-default VT_TILT_TRANS 0.6
param set-default VT_TYPE 1
set MAV_TYPE 21
set MIXER_FILE etc/mixers-sitl/tiltrotor_sitl.main.mix
set MIXER custom
@@ -0,0 +1,57 @@
#!/bin/sh
#
# @name Standard VTOL
#
# @type Standard VTOL
#
. ${R}etc/init.d/rc.vtol_defaults
param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
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_MAX 32
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_CRUISE 0.25
param set-default FW_THR_MAX 0.6
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_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 MC_ROLLRATE_P 0.3
param set-default MC_YAW_P 1.6
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 NAV_LOITER_RAD 80
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_B_TRANS_DUR 8
param set-default VT_TYPE 2
param set-default RC_MAP_AUX1 8
param set-default RC_MAP_AUX2 9
param set-default RC_MAP_AUX3 10
set MAV_TYPE 22
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
set MIXER custom
@@ -0,0 +1 @@
mixer append /dev/pwm_output0 etc/mixers-sitl/package_drop.aux.mix
@@ -0,0 +1,42 @@
#!/bin/sh
#
# @name Rover
#
. ${R}etc/init.d/rc.rover_defaults
param set-default GND_L1_DIST 5
param set-default GND_L1_PERIOD 10
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 0.001
param set-default GND_SPEED_I 3
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_LTRMIN_ALT 0.01
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 SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 5
param set-default CA_R_REV 1
param set-default PWM_MAIN_FUNC1 201
param set-default PWM_MAIN_FUNC2 201
param set-default PWM_MAIN_FUNC6 101
param set-default PWM_MAIN_FUNC7 101
set MAV_TYPE 10
set MIXER_FILE skip
@@ -0,0 +1,42 @@
#!/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_LTRMIN_ALT 0.01
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 SYS_CTRL_ALLOC 1
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
set MAV_TYPE 10
set MIXER_FILE skip
@@ -0,0 +1,38 @@
#!/bin/sh
#
# @name ThunderFly TF-R1 UAV Rover
# @type Rover
# @class Rover
#
# @url https://github.com/ThunderFly-aerospace/TF-R1/
# @maintainer ThunderFly s.r.o.
#
. ${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 15
param set-default GND_SPEED_MAX 25
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_LTRMIN_ALT 0.01
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
set MAV_TYPE 10
set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
@@ -0,0 +1,52 @@
#!/bin/sh
#
# @name Boat
#
. ${R}etc/init.d/rc.boat_defaults
param set-default GND_L1_DIST 5
param set-default GND_L1_PERIOD 100
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 0.001
param set-default GND_SPEED_I 8
param set-default GND_SPEED_IMAX 0.125
param set-default GND_SPEED_P 2
param set-default GND_SPEED_THR_SC 1
param set-default GND_SPEED_TRIM 1
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_LTRMIN_ALT 0.01
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 SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 9
param set-default CA_ROTOR_COUNT 2
param set-default CA_ROTOR0_AX 1
param set-default CA_ROTOR0_AZ 0
param set-default CA_ROTOR0_KM 0
param set-default CA_ROTOR0_PX -2
param set-default CA_ROTOR0_PY -1
param set-default CA_ROTOR1_AX 1
param set-default CA_ROTOR1_AZ 0
param set-default CA_ROTOR1_KM 0
param set-default CA_ROTOR1_PX -2
param set-default CA_ROTOR1_PY 1
param set-default CA_R_REV 3
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
set MAV_TYPE 11
set MIXER skip
@@ -0,0 +1,49 @@
#!/bin/sh
#
# @name ThunderFly TF-G1
# ThunderFly TF-G1 autogyro airframe. Only for FlightGear simulator
#
# @type Autogyro
# @class Autogyro
#
# @url https://github.com/ThunderFly-aerospace/TF-G1/
#
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_AIRSPD_STALL 8
param set-default FW_P_RMAX_NEG 20.0
param set-default FW_W_RMAX 10
param set-default FW_W_EN 1
param set-default FW_RR_P 0.08
param set-default MIS_LTRMIN_ALT 50
param set-default MIS_TAKEOFF_ALT 3
param set-default NAV_ACC_RAD 20
param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 100
param set-default RWTO_TKOFF 1
param set-default FW_ARSP_SCALE_EN 0
param set-default FW_AIRSPD_MAX 35
param set-default FW_AIRSPD_MIN 7
param set-default FW_P_LIM_MAX 25
param set-default FW_P_LIM_MIN -5
param set-default FW_R_LIM 30
param set-default FW_MAN_P_MAX 30.0
param set-default FW_MAN_R_MAX 30.0
param set-default FW_THR_CRUISE 0.8
param set-default FW_THR_IDLE 0
param set-default COM_DISARM_PRFLT 0
set MIXER_FILE etc/mixers-sitl/autogyro_sitl.main.mix
set MIXER custom
@@ -0,0 +1,41 @@
#!/bin/sh
#
# @name Cloudship
# @type Airship
# @class Airship
#
# @output MAIN1 thrust tilt
# @output MAIN2 starboard thruster
# @output MAIN3 port thruster
# @output MAIN4 tail thruster
. ${R}etc/init.d/rc.airship_defaults
param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 9
param set-default CA_ROTOR_COUNT 3
param set-default CA_ROTOR0_AX 1.0000
param set-default CA_ROTOR0_AZ 0.0000
param set-default CA_ROTOR0_KM 0.0000
param set-default CA_ROTOR0_PY 2.0000
param set-default CA_ROTOR1_AX 1.0000
param set-default CA_ROTOR1_AZ 0.0000
param set-default CA_ROTOR1_KM 0.0000
param set-default CA_ROTOR1_PY -2.0000
param set-default CA_ROTOR2_AY -1.0000
param set-default CA_ROTOR2_AZ 0.0000
param set-default CA_ROTOR2_KM 0.0000
param set-default CA_ROTOR2_PX -10.0000
param set-default CA_SV_CS_COUNT 1
param set-default CA_SV_CS0_TRQ_P 1.0000
param set-default CA_R_REV 7
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 201
param set-default PWM_MAIN_FUNC4 103
set MIXER skip
@@ -0,0 +1,12 @@
#!/bin/sh
#
# @name Quadrotor SITL model for JSBSim
#
# @type Quadrotor Wide
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
. ${R}etc/init.d/rc.mc_defaults
set MIXER quad_w

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