Commit Graph

2100 Commits

Author SHA1 Message Date
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
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 c284198bec clang-tidy: partially fix hicpp-use-override 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
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 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 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
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
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
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
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
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
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 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
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
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
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 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
Matthias Grob 068f56d66f FlightTasks: fix switchTask() comment typo 2019-10-14 15:07:09 +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 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 65f3c7f93d dshot: add telemetry and publish esc_status message 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
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
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
Matthias Grob c8f3f07ff7 matrix: pull explicit constructors 2019-10-05 11:46:07 -04: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
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
Daniel Agar 0fe271b7f5 CollisionPrevention add more distance_sensor orientations 2019-10-01 21:05:37 -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
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 fd67bd0680 uORB: SubscriptionCallback cleanup naming 2019-09-28 13:43:56 -04: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