Commit Graph

30755 Commits

Author SHA1 Message Date
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): 085a85c48a
    - GpsDrivers current upstream: 781d4f1255
    - Changes: 085a85c48a...781d4f1255

    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): ec3a32a604
    - sitl_gazebo current upstream: 2637a94816
    - Changes: ec3a32a604...2637a94816

    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
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
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