Compare commits

...

1540 Commits

Author SHA1 Message Date
Roman
f13bbacd52
mc_att_control: copy sensor_correction topic once initially
Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-12 21:00:28 -05:00
Daniel Agar
82aa24adfc tap_esc increase stack 1100 -> 1180 bytes 2018-10-19 20:11:14 -04:00
Daniel Agar
a7969de738 cmake fix BUILD_URI 2018-10-19 20:11:14 -04:00
Daniel Agar
33e86d25b9 FMU relocate MOT_SLEW_MAX and THR_MDL_FAC parameters centrally 2018-10-19 20:11:14 -04:00
Daniel Agar
805dfc4312 PWM parameters centralize under sensors and add aux 7&8 2018-10-19 20:11:14 -04:00
Daniel Agar
ab2d595224 FMU PWM parameters respect instance for MAIN/AUX usage 2018-10-19 20:11:14 -04:00
Philipp Oettershagen
ab044e274d Navigator: Fix fixed-wing first order altitude hold (#9850)
i.e. the altitude reference oscillations caused by it in LOITER mode
2018-10-19 20:11:14 -04:00
Daniel Agar
b0f766d90e mavlink MOUNT_ORIENTATION use math::degrees 2018-10-19 20:11:14 -04:00
Daniel Agar
2bb9d7e91f mavlink properly wrap heading fields
- fixes #9867
2018-10-19 20:11:14 -04:00
Beat Küng
5f8c08db79 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-09-13 12:56:00 +02:00
DanielePettenuzzo
a936dc291e airspeed drivers: add PX4_I2C_BUS_ONBOARD as possible bus 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
42dc2bd890 rc.sensors: look for airspeed sensors on all busses 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
9d878c719d ets_airspeed: add -a flag to scan all i2c busses during start 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
649d4be185 sdp3x_airspeed: add -a flag to scan all i2c busses during start 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
bec74085f1 ms5525_airspeed: add -a flag to scan all i2c busses during start 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
350df41e42 ms4525_airspeed: remove i2c_bus parameter from start function (it tries all busses) 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
95295b30e8 ms4525_airspeed: change start_bus from bool to int 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
dd044ed4be ms4525_airspeed: remove PX4_I2C_ALL 2018-08-03 13:41:56 +02:00
DanielePettenuzzo
9b2e32c976 ms4525_airspeed: add -a flag to scan all i2c busses during start 2018-08-03 13:41:56 +02:00
Roman
e1bca8d01a mavlink: fixed nullptr dereferencing in case unknown mavlink message is
forwarded

Signed-off-by: Roman <bapstroman@gmail.com>
2018-08-02 15:09:03 +02:00
Lorenz Meier
96443b3cf3 Update README 2018-06-19 08:23:34 +02:00
Beat Küng
d1343b0ccb calibration_routines: fix 'Command denied during calibration' error message
The uorb subscribe logic got changed for queued topics with
https://github.com/PX4/Firmware/pull/9436, meaning an orb_subscribe will
return past messages as well now.

This lead to an error 'Command denied during calibration' for the previously
received calibration start command.
2018-06-18 15:06:58 +02:00
PX4 Jenkins
1fac3a1cee Update submodule sitl_gazebo to latest Sat Jun 16 21:27:20 EDT 2018
- sitl_gazebo in PX4/Firmware (ebc40067c71e158646cc0fece422b0432c18878b): 8a3166bf5d
    - sitl_gazebo current upstream: b5a92095bf
    - Changes: 8a3166bf5d...b5a92095bf

    b5a9209 2018-06-10 TSC21 - travis_ci: Add OSX build
2018-06-17 10:30:44 +02:00
rolandash
ebc40067c7 otherwise posix_sitl_rtps fail to build (MACOS) 2018-06-16 10:13:33 +02:00
Lorenz Meier
d14d31df14 PX4IO: Initialize all channels to zero
This sets all channels to zero, including unused channels. Any consumer of the data using the channel count will not see a difference, but this is helpful to avoid confusion in log analysis.
2018-06-16 00:05:18 +02:00
PX4 Jenkins
af07d4b37b Update submodule apps to latest Fri Jun 15 15:25:42 UTC 2018
- apps in PX4/Firmware (1bc4a73eaacdb40f7d3f5ebd11882913b541b419): 7e2f17db4e
    - apps current upstream: 36806ba3d8
    - Changes: 7e2f17db4e...36806ba3d8

    36806ba 2018-06-06 Beat Küng - nsh_parse.c: fix 'while' and 'until' loop condition
2018-06-15 11:56:15 -04:00
PX4 Jenkins
499337ad7f Update submodule v2.0 to latest Fri Jun 15 15:25:36 UTC 2018
- v2.0 in PX4/Firmware (a19fecad94e3e937942abb6dcd3438fe1cce3d7a): 653ac745a5
    - v2.0 current upstream: 033fa8e7a4
    - Changes: 653ac745a5...033fa8e7a4

    033fa8e 2018-05-24 PX4BuildBot - autogenerated headers for rev d8ea87b9c6
2018-06-15 11:55:52 -04:00
David Sidrane
a19fecad94 Removed zero termination as a for constuct was used 2018-06-15 17:08:01 +02:00
David Sidrane
3e0928d9ea Changed variable type and used cpp array init. 2018-06-15 17:08:01 +02:00
David Sidrane
22b8a6c57e Fixed capitalization grammar 2018-06-15 17:08:01 +02:00
David Sidrane
afc8fe39df Rename trigger argument for clarity 2018-06-15 17:08:01 +02:00
David Sidrane
4e5e0c6921 camera_trigger:Refacter GPIO camera triggering
Refactored for efficiency and simplicity.
2018-06-15 17:08:01 +02:00
Beat Küng
ff365cad08 rtl: change "RTL: land at home" message from critical to info 2018-06-15 15:53:28 +02:00
Beat Küng
04db56638e ecl: update submodule
contains:
- https://github.com/PX4/ecl/pull/460
- https://github.com/PX4/ecl/pull/462
2018-06-15 15:53:28 +02:00
Anthony Lamping
e263af359e launch: make px4 required (#9682) 2018-06-14 20:37:25 -04:00
DanielePettenuzzo
1da87aa173 Vl53lxx Driver Coverity Fixes (#9671) 2018-06-14 20:36:43 -04:00
David Sidrane
3098b09bbd Updated submudule platforms/nuttx/NuttX/nuttx
to include [BACKPORT] Merged in kekiefer/nuttx/stm32f7-serial-fix-tiocssinglewire-upstream
2018-06-14 17:25:24 -04:00
Beat Küng
229b1274d0 fix camera_trigger gpio: _pins[i] == 0 is valid
Because _pins[i] is set from parameter value - 1
2018-06-14 15:03:39 -04:00
David Sidrane
a38b94c7dd BUGFIX:GPS not working. Invalid values passed to px4_arch_configgpio
This is the root cause of https://github.com/PX4/Firmware/issues/9461
   The _pins array was initialized to -1. It was used to index the
   _gpios array. The value at _gpios[-1] was a number that mapped to
   Analog mode on Port A pin 0. These is the UART4_TX pin and was
   being reconfigured by the fault in the camera_trigger to an
   alaog input.
2018-06-14 15:03:39 -04:00
David Sidrane
ae389ed0e3 Revert "gps: reopen the gps port on failed auto-detection"
This reverts commit a62a71f48f3d40bba6e9af114a185f6bbad849b1.
   The root cause was the camera trigger passing invalid pin
   configuration setting overwriting the UART4 TX pin setting
2018-06-14 15:03:39 -04:00
Roman Bapst
27fa29787d updated sitl_gazebo: use asphalt plane instead of uneven ground to reduce (#9675)
computational load in optical flow simulation

Signed-off-by: Roman <bapstroman@gmail.com>
2018-06-14 14:28:28 -04:00
Daniel Agar
322c7ad5da
Jenkins SITL tests completely wipe workspace (#9677) 2018-06-14 14:27:35 -04:00
Beat Küng
b66f0f36a5 ros tests: add an interactive flag & disable the PX4 shell for ROS tests (#9672) 2018-06-14 12:37:47 -04:00
Philipp Oettershagen
753ad0e0df Fixed-wing autoland: Fix bug that could cause a steep pitch increase and thus aircraft stall during the flare (#9674) 2018-06-14 11:29:03 -04:00
Oleg Kalachev
23cd6adbe7 precland: put land precision parameter to MAVLink mission item 2018-06-13 23:32:51 -04:00
Oleg Kalachev
86d3603e2d precland: fix landing target pose validity checking
In precland the copter may switch to horizontal approach state with an
old landing target pose message.
2018-06-13 23:32:51 -04:00
Beat Küng
036b59f3de posix main: convert c to a char when extending add_string 2018-06-13 16:19:34 +02:00
Beat Küng
f241e49ebf voted_sensors_update: initialize _last_magnetometer & _last_airdata 2018-06-13 16:19:34 +02:00
Beat Küng
20f2303e8a test_mixer: fix resource leak (unclosed dp) 2018-06-13 16:19:34 +02:00
Beat Küng
76c94b08f1 PositionControl: use constant references instead of pass-by-value for structs 2018-06-13 16:19:34 +02:00
Beat Küng
5cc450c7cb srf02: fix resource leak (unclosed fd) 2018-06-13 16:19:34 +02:00
Beat Küng
ab94bf1d60 batt_smbus: initialize _last_report 2018-06-13 16:19:34 +02:00
Beat Küng
4eda0ed782 posix main shell: fix getchar() return value and check for EOF to avoid busy loop 2018-06-13 16:19:34 +02:00
Beat Küng
226d7c79da sensors: initialize adc only if BOARD_NUMBER_BRICKS > 0
Fixes the SITL startup error:
ERROR [sensors] no ADC found: /dev/adc0 (9)

Introduced in 840488909838d76daf6b
2018-06-13 15:54:45 +02:00
Beat Küng
08064c2b71 mavlink_main: remove nonexisting streams
Removes SITL startup warnings:
WARN  [mavlink] stream SCALED_IMU2 not found
WARN  [mavlink] stream SCALED_IMU3 not found

Introduced in 912272505264a80e174eedbeb2cff85cc522f4c9
2018-06-13 15:54:45 +02:00
Ivo Drescher
42ebbd14bb Changed the intendation to tabs
Signed-off-by: Ivo Drescher <ivo.drescher@gmail.com>
2018-06-13 12:46:42 +02:00
Ivo Drescher
77d4554e6d Modified comment about feed forward of yaw setpoint rate.
Added more explanations regarding the coordinate transformation.

Signed-off-by: Ivo Drescher <ivo.drescher@gmail.com>
2018-06-13 12:46:42 +02:00
johannes
b583c5f69a ekf-tools: fix late start early end buffer, split imu checks
analyse_logdata_ekf:
- fix the buffer to start the analyses 5s after takeoff and end
them 5s before landing for logs that start or finish in air
- add flag for turning on-off 5s late start early end buffer
- split the combined imu sensor check into checks for vibration,
bias and output predictor
2018-06-13 08:37:48 +02:00
Daniel Agar
daa6f29b58 commander ignore failsafe transitions when in mission and disarmed 2018-06-13 08:37:00 +02:00
Anthony Lamping
aa625d9af8 Jenkins rm duplicate sitl build node def, don't checkout scm for S3 upload 2018-06-12 19:08:51 -04:00
Anthony Lamping
fc2e7e4dc4 Jenkins tests verbose package extract and list workspace on failure 2018-06-12 19:08:51 -04:00
Daniel Agar
f24353d02a Jenkins artifacts don't allow empty and skip test builds 2018-06-12 19:08:51 -04:00
Daniel Agar
b183764dc7 cmake nuttx fix upload target 2018-06-12 16:46:21 -04:00
Daniel Agar
44ad3c98ad
Update submodule matrix to latest Tue Jun 12 15:14:08 CDT 2018 (#9649)
- matrix in PX4/Firmware (ed6db94ec0f1ce2b6e4a975229c51fb5e3ff559a): 03a3e3ad46
    - matrix current upstream: b815fc97c4
    - Changes: 03a3e3ad46...b815fc97c4

    b815fc9 2018-06-12 Roman Bapst - replace quiet_NaN() with INFINITY (#70)
2018-06-12 16:45:51 -04:00
David Sidrane
8aa1d4d68d BUGFIX hardfault FMUv5 List was used before being initalized.
_uavcan_open_request_list was accessed before it was initalized.
2018-06-12 13:44:04 -07:00
PX4 Jenkins
55728ab129 Update submodule nuttx to latest Tue Jun 12 15:14:01 CDT 2018
- nuttx in PX4/Firmware (ed7eb8b4b4f792b8c373692812c8e255669f482e): 0ac630e6d0
    - nuttx current upstream: 80e58380a8
    - Changes: 0ac630e6d0...80e58380a8

    80e5838 2018-06-07 David Sidrane - [REJECTED] When console is absent preserve stdio fd numbering.
2018-06-12 13:43:03 -07:00
David Sidrane
b42794f3b9 Updated libuavcan to 883cba97 + NuttX IRQ patch 2018-06-12 13:01:12 -07:00
Florian Achermann
4697bf428b Navigator Fix: Do not set the closest mission item in normal mission mode (#9646)
- fixes #9606
2018-06-12 12:11:14 -04:00
Beat Küng
9151351b8d l3gd20: add argc check and use px4_getopt 2018-06-12 11:02:50 +02:00
Daniel Agar
4d3ad1b5c3 cmake consistency with build directory and and nuttx binary naming 2018-06-12 10:14:03 +02:00
Daniel Agar
0430520371 Revert "px4io: fix NuttX build"
This reverts commit 27e75920bd560b7d8de295db45aba8cf036cd98d.
2018-06-12 10:14:03 +02:00
Daniel Agar
20aabd3566 move systemlib/airspeed to standalone lib 2018-06-12 09:06:30 +02:00
Daniel Agar
b23e40ca42 move systemlib/pid to standalone lib 2018-06-12 09:06:30 +02:00
Daniel Agar
e468a9bbcc move systemlib/pwm_limit to standalone lib 2018-06-12 09:06:30 +02:00
Daniel Agar
387bc81f26 move systemlib/circuit_breaker.cpp to standalone lib 2018-06-12 09:06:30 +02:00
Daniel Agar
7eeba7b8ca systemlib delete unused board_serial 2018-06-12 09:06:30 +02:00
Daniel Agar
965eaecf4d systemlib printload naming consistency 2018-06-12 09:06:30 +02:00
Daniel Agar
dfb98b2a70 systemlib delete unused getopt_long 2018-06-12 09:06:30 +02:00
Daniel Agar
f913e062da systemlib delete unused err.c 2018-06-12 09:06:30 +02:00
Daniel Agar
d3f7de6f9c systemlib delete unused state_table.h 2018-06-12 09:06:30 +02:00
Daniel Agar
d73d20bcce systemlib delete unused systemlib.h 2018-06-12 09:06:30 +02:00
Daniel Agar
fda25e9f3a systemlib delete unused ppm_decode 2018-06-12 09:06:30 +02:00
Daniel Agar
d0bde9ab2a replace geo _wrap_pi with matrix::wrap_pi 2018-06-12 09:00:52 +02:00
TSC21
518daa4a8d fastrtps: clean up and fix template for client/agent code 2018-06-11 22:54:58 +02:00
Daniel Agar
3399ec9e73 move systemlib/rc_check to commander (the only usage) and convert to c++ 2018-06-11 22:53:38 +02:00
Daniel Agar
a6883c3a0d uORB generated header use full name in C define 2018-06-11 22:53:38 +02:00
Julian Oes
27e75920bd px4io: fix NuttX build
This change lead to a build error and is therefore reverted here.
2018-06-11 12:09:36 +02:00
Elia Tarasov
9ccf17dbee add sitl init file for iris_vision model 2018-06-10 21:26:44 -04:00
Elia Tarasov
981db0e21d add iris_vision sitl model 2018-06-10 21:26:44 -04:00
PX4 Jenkins
5d066f95c7 Update submodule matrix to latest Sun Jun 10 18:15:08 UTC 2018
- matrix in PX4/Firmware (a138252aea03ff414ef5b4444c61e2f7d5075ebc): 21d47424c6
    - matrix current upstream: 03a3e3ad46
    - Changes: 21d47424c6...03a3e3ad46

    03a3e3a 2018-06-09 Daniel Agar - helper_functions add wrap_2pi
abc8f82 2018-06-09 Daniel Agar - travis-ci add codecov.io (#69)
2018-06-10 20:42:33 +02:00
Lorenz Meier
3da459899a Gazebo Sim fix: Remove duplicate message spec causing compile error. 2018-06-10 13:51:19 +02:00
JohannesBrand
3b4d9efc8f ecl_ekf tools: add sideslip and gps fix type to fix bit error (#9619)
analyse_logdata_ekf:
- add sideslip innovation fail check flag to fix wrongly selected
bits for hagl innovation and optical flow innovations
- plot sideslip innovation fail
- add gps fix type fail flag to fix wrongly selected bits for all
gps check fail flags
- plot gps fix type
2018-06-09 21:57:46 -04:00
PX4 Jenkins
7278bdd4ab Update submodule sitl_gazebo to latest Sat Jun 9 21:28:20 UTC 2018
- sitl_gazebo in PX4/Firmware (1b33445c7be545717bd49a015c9309a7c6ee7704): e8b3624b9d
    - sitl_gazebo current upstream: 59f01ae9bd
    - Changes: e8b3624b9d...59f01ae9bd

    59f01ae 2018-06-07 Julian Oes - cmake: add tinyxml dependency
2018-06-09 17:55:56 -04:00
Daniel Agar
1b33445c7b simulator mavlink set lpos ground truth limits to infinity 2018-06-09 17:24:35 -04:00
PX4 Jenkins
fc29e78978 Update submodule ecl to latest Sat Jun 9 15:26:38 CDT 2018
- ecl in PX4/Firmware (f7937d783496e954efc52439148ef66824d9c80a): 1fdf33b343
    - ecl current upstream: d177e96508
    - Changes: 1fdf33b343...d177e96508

    d177e96 2018-06-08 Paul Riseborough - EKF: Fix bug causing slow drift when high rate flow data is used
ee2dc7d 2018-05-30 Paul Riseborough - EKF: Rework optical flow selection logic
e383b6a 2018-05-29 Paul Riseborough - EKF: rework optical flow selection logic
487e6a0 2018-05-28 Paul Riseborough - EKF: enable user selection of auto mag free operation
6bdbe03 2018-05-28 Paul Riseborough - EKF: Fallback to optical flow for all in-flight loss of navigation scenarios
b4d2b8c 2018-05-19 Mohammed Kabir - EKF : introduce new architechture for navigation limits
8a71339 2018-05-19 Paul Riseborough - EKF: Improve ground effect compensation
39697f1 2018-05-18 Paul Riseborough - EKF: rework optical flow switching
1cfe845 2018-05-18 Paul Riseborough - EKF: rework GPS quality check
99a8038 2018-05-18 Paul Riseborough - EKF: improve optical flow GPS quality checking
7f36add 2018-05-18 Paul Riseborough - EKF: scale GPS vertical accuracy check when using optical flow
fc9f532 2018-05-18 Paul Riseborough - EKF: relax range finder data continuity check
93c456f 2018-05-18 Paul Riseborough - EKF: Improve protection against badly conditioned dVel bias covariances
225057a 2018-05-18 Paul Riseborough - EKF: Fix bug preventing use of terrain estimator
adb4a09 2018-05-17 Paul Riseborough - EKF: Fix bug causing large yaw innovations when GPS is lost
f59cd0f 2018-05-16 Paul Riseborough - EKF: Don't make detection of indoor operation dependent on optical flow
1562a82 2018-05-16 Paul Riseborough - EKF: Add parameter to adjust on-ground movement detector sensitivity
ea9e824 2018-05-16 Paul Riseborough - EKF: Improve detection of indoor flight condition
565f992 2018-05-16 Paul Riseborough - EKF: Reduce effect of yaw gyro bias when using optical flow indoors
e10798b 2018-05-16 Paul Riseborough - EKF: Add on ground movement detector
2d3b652 2018-05-15 Paul Riseborough - EKF: Reset yaw gyro bias learning when resuming use of magnetometer
8191068 2018-05-15 Paul Riseborough - EKF: Don't start using mag if optical flow use is interrupted
4889e84 2018-05-15 Paul Riseborough - EKF: Don't fuse multi rotor drag if yaw angle is bad
092a8d8 2018-05-15 Paul Riseborough - EKF: Fix GPS validity time check error
0160aaa 2018-05-15 Paul Riseborough - EKF: Don't use magnetometer with optical flow only nav if GPS checks are failing
8451676 2018-05-14 Paul Riseborough - EKF: Use stricter GPS accuracy test when optical flow is being used
a80b3ab 2018-05-27 Daniel Agar - set MODULE define for each library
2018-06-09 17:24:35 -04:00
Daniel Agar
619cc6aedc mavlink disable conversion helpers and use Matrix 2018-06-09 21:19:33 +02:00
Beat Küng
a76c82f5f2 airframes: update 4050 generic 250 racer defaults
- P and D gains are too high for a racer
- default I gain is too low (0.25 is still quite low)
- use the thrust curve param instead of TPA
- improve responsiveness in Manual & increase max tilt angle to 60 degrees
- enable one-shot
- enable high-rate logging profile
- disable RC filter
2018-06-09 17:00:35 +02:00
Daniel Agar
a99f75dde2 Mavlink set last sent timestamp to space out initial publication
- remove QURT defines no longer required
2018-06-09 13:38:44 +02:00
Paul Riseborough
98465171aa ecl: include fix for bug affecting use of high frequency optical flow data 2018-06-09 13:38:04 +02:00
Paul Riseborough
c84d35e3d7 mc_pos_control: rework height limiter to stay in velocity mode 2018-06-09 13:38:04 +02:00
Paul Riseborough
d26da5fa3b mc_pos_control: Improve maximum height limiter
Implements a better method of determining when to switch from velocity to altitude control to keep height limit from being exceeded.
This method removes the overshoot and transients in height caused by the switching of the previous algorithm.
2018-06-09 13:38:04 +02:00
Paul Riseborough
f0a1cd197e mc_pos_control: formatting fixes 2018-06-09 13:38:04 +02:00
Paul Riseborough
b77845a3c0 mc_pos_control: Fix bug in calculation of altitude limit
The correction for stopping distance applied to the maximum altitude limiter uses the vertical velocity estimate and gives the same offset for both positive (down) and negative (up) velocity.
This calculation has been corrected and simplified and variable names changes to make the functionality clearer.
2018-06-09 13:38:04 +02:00
Paul Riseborough
967b27f131 ecl: rework optical flow selection logic
Fixes a race condition introduced by use of _is_dead-reckoning.
Only runs flow use logic when there is flow data available
2018-06-09 13:38:04 +02:00
Paul Riseborough
e3a6528a80 ecl: include fixes to flow selection logic 2018-06-09 13:38:04 +02:00
Paul Riseborough
366e36a07b ekf2: Update parameter description 2018-06-09 13:38:04 +02:00
Paul Riseborough
d46ee571ce ecl: test changes to pr-ekfOptFlowFixes 2018-06-09 13:38:04 +02:00
Mohammed Kabir
9a83f55c6a ecl: test PX4/ecl/pull/452 2018-06-09 13:38:04 +02:00
Mohammed Kabir
c1169eb38b mc_pos_control : update to use new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir
8f5ceac936 ekf2 : use INFINITY when altitude limiting is not needed 2018-06-09 13:38:04 +02:00
Mohammed Kabir
1a2f9dd37a land_detector : use INFINITY when altitude limiting is not needed 2018-06-09 13:38:04 +02:00
Mohammed Kabir
31aa1cbf01 simulator : publish optical flow limits over uORB 2018-06-09 13:38:04 +02:00
Mohammed Kabir
e8f1d50758 mavlink : update for compatibility with new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir
1d1dec0a8b inav : update for compatibility with new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir
9483885ed9 lpe : update for compatibility with new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir
6a9377846f ekf2 : update to use new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir
8299f571c8 msg : add height limits to local position 2018-06-09 13:38:04 +02:00
Mohammed Kabir
7f1686171b sensors : add parameter for maximum flow rate 2018-06-09 13:38:04 +02:00
Mohammed Kabir
32a7097018 px4flow : publish sensor limits over uORB 2018-06-09 13:38:04 +02:00
Mohammed Kabir
230d6c5aa2 msg : add sensor limits to optical flow message 2018-06-09 13:38:04 +02:00
Mohammed Kabir
b3c5e53333 Unify optical flow height limiting 2018-06-09 13:38:04 +02:00
Paul Riseborough
0113212b34 mc_pos_control: Update parameter descriptions 2018-06-09 13:38:04 +02:00
Paul Riseborough
9e567cadd6 ekf2: Update parameter description 2018-06-09 13:38:04 +02:00
Paul Riseborough
0dc2377c2f mc_pos_control: format fixes 2018-06-09 13:38:04 +02:00
Paul Riseborough
9fb674929c commander: do not check global position when using flow in POSCTL 2018-06-09 13:38:04 +02:00
Paul Riseborough
2c325414f9 mc_pos_control: limit maximum height when reliant on optical flow data 2018-06-09 13:38:04 +02:00
Paul Riseborough
9028592c5f mc_pos_control: control height above ground when reliant on optical flow 2018-06-09 13:38:04 +02:00
Paul Riseborough
98597dcffc commander: allow position uncertainty to grow when operator can correct for drift 2018-06-09 13:38:04 +02:00
Paul Riseborough
e5d428bd65 msg: add definitions for estimator status control mode bit positions 2018-06-09 13:38:04 +02:00
Lorenz Meier
aee05d0ac5 FMU: Increase stack space as needed (shown by instrumentation) to retain a 300 bytes buffer. 2018-06-08 08:39:14 +02:00
Beat Küng
a62a71f48f gps: reopen the gps port on failed auto-detection
work-around for https://github.com/PX4/Firmware/issues/9461
2018-06-07 22:20:47 +02:00
Lorenz Meier
f87fa9131b FMUv5: Fix RGB led usage - these are individual status leds. 2018-06-06 23:03:28 +02:00
Lorenz Meier
02eaf2ce28 FMUv5: Fix safety switch led
Both IO and FMU are connected to the safety switch for default models. This needs later to be broken out to a config option for builds that do not contain an IO.
2018-06-06 22:23:24 +02:00
Philipp Oettershagen
9f414e82f6 Subsystem_info status flags & checks: Add comment to indicate that the IMU+MAG consistency checks need to be performed AFTER the individual checks are complete 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
e12b470cac Subsystem_info status flags & checks: Small fixes according to @bkueng's review 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
0b71c52225 Subsystem_info status flags & checks: Suppress sensor failover warnings in Hardware in the loop (HITL) 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
302cb0a285 Subsystem_info status flags & checks: Moved the set_health_flags helper functions out of the /lib/ folder and into the module/commander folder because they are actually only needed there 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
bd2af289f5 Subsystem_info status flags & checks: Code style fixes and cleanup to avoid strcmp() as suggested by @LorenzMeier 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
e4d863b95f Subsystem_info status flags & checks: Separate the functionality to a) set the health flags inside commander and b) to publish them from external modules 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
a807d34a7a Remove distance sensor checks again. These checks should be handled by EKF2 and should thus be added there later 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
be4ba32cf0 vl53lxx distance sensor: Remove subsystem_info calls because all sensors are now checked inside commander 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
075009be2f Subsystem_info status flags & checks: 1) Set health flags in commander directly instead of publishing via uORB 2) move publish_subsystem_info into lib/ folder" 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
f5847a4a7b Subsystem_info status flags & checks: Switch back to uORB for inter-process communication, handle GPS checks completely inside ekf2, add distance_sensor checks 2018-06-06 18:54:24 +02:00
Philipp Oettershagen
6f1f414b49 Subsystem_info status flags & checks : Initial commit, updating the health flags in a centralized way mostly in commander and the votedSensorsUpdate function. 2018-06-06 18:54:24 +02:00
DanielePettenuzzo
40e6a5a39b fmu-v5: fix ms5611 2018-06-06 17:31:33 +02:00
DanielePettenuzzo
2ab5dc2951 fmu-v5: remove i2c3 as bus expansion because used just for internal mag (ONBOARD) 2018-06-06 17:31:33 +02:00
DanielePettenuzzo
7a760ee501 fmu-v5: add PX4_I2C_BUS_EXPANSION1 and 2 to all drivers that check all the busses 2018-06-06 17:31:33 +02:00
MaEtUgR
01afeed967 cmake nuttx upload: add verbatim parameter
to disable automatic evaluation of /dev/ttyS* expression in cygwin.
On linux verbatim seems to be default anyways. At least it doesn't get
evaluated on linux.
2018-06-06 12:32:03 +02:00
Philipp Oettershagen
ba2cf5fa9a fw_att_control: Fix stuttering rudder in manual mode (#9607)
fw_att_control: Fix bug that caused the rudder to stutter when FW_RLL_TO_YAW_FF>0 and aileron input was supplied
2018-06-06 12:31:24 +02:00
PX4 Jenkins
64cf043481 Update submodule sitl_gazebo to latest Tue Jun 5 20:26:27 CDT 2018
- sitl_gazebo in PX4/Firmware (bbc104ad4c6ee13fb6f101650ec35b3d19382ecf): 371e7c36c3
    - sitl_gazebo current upstream: e8b3624b9d
    - Changes: 371e7c36c3...e8b3624b9d

    e8b3624 2018-06-04 Elia Tarasov - tune gimbal pid gains
54c256d 2018-06-05 Poutshi - Update README.md (#211)
1992b0d 2018-06-05 TSC21 - CMakeLists: fix targe msg links
10b0597 2018-06-01 TSC21 - validade_sdf: fix typo
8fee88e 2018-06-01 TSC21 - travis_ci: add catkin build
de983cc 2018-05-31 TSC21 - generate separate protobuff libs for each msg category
6cb9360 2018-05-31 TSC21 - restructure proto msg API (rename, organize list)
5a250a2 2018-05-31 TSC21 - proto msgs: use PascalCase convention
ea6e2da 2018-05-31 TSC21 - remove the rotors_ prefix from plugin names
7989043 2018-05-31 TSC21 - allow building with the most recent C++ compiler available on the host
b819817 2018-05-31 TSC21 - package.xml: update and reorganize package list
a20bf63 2018-05-31 TSC21 - CMakeLists: reorganize build target and dependecies list
ae7df80 2018-05-31 TSC21 - CMakeLists: remove exception for ROS when building gazebo_geotagged_images_plugin (no longer applicable)
0a4e27b 2018-05-31 TSC21 - CMakeLists: fix typo on building gazebo_motor_failure_plugin
27f977b 2018-05-31 TSC21 - gazebo_mavlink_interface: add support for Gazebo 9 for model_param func
eded9b2 2018-05-31 Elia Tarasov - set default pid gains as constants
29b5424 2018-05-31 Elia Tarasov - add default pid control gains to sdf xml
4caf496 2018-05-30 Elia Tarasov - move pid control gains to sdf xml
2018-06-06 08:40:41 +02:00
githubDLG
563200fee6 fix rgbled On and Powersave value in read mode
fix rgbled On and Powersave value in read mode.
In read mode, the ENABLE and SHDN is in bit 4 and bit5, so we may need a 4bit left shift to get a correct value.
2018-06-06 08:19:18 +02:00
Lorenz Meier
bbc104ad4c Added missing fields to IST8310 mag report. 2018-06-05 23:21:53 +02:00
Elia Tarasov
384028aa7b decrease rollrate P gain due to gimbal oscillations 2018-06-05 20:57:08 +02:00
Beat Küng
2fa8783795 mavlink_receiver: implement MAV_CMD_REQUEST_STORAGE_INFORMATION 2018-06-05 14:40:01 +02:00
mcsauder
ca5e22583f Remove extra newline in omnibus-f4sd/usb.c to quiet git new blank line at EOF warning. 2018-06-05 09:15:21 +05:30
Beat Küng
d1a7a367ac fix px4_getopt: add argc check for options that take an argument
Fixes the following corner case:
mpu9250 start -R
This would return a valid result (myoptind < argc), but myoptind pointed
to a NULL argument (and thus mpu9250 would crash).
With this patch, px4_getopt will return '?', indicating a parser error.
2018-06-04 16:33:55 +02:00
Beat Küng
2de6192f66 position_estimator_inav: add missing return 2018-06-04 16:33:55 +02:00
Beat Küng
ad587def24 test_ppm: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
dc7db9d793 iridiumsbd: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
7c79c1ae9f pwm_input: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
cce3c270c3 lis3mdl: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
ffccba12e2 bmm150: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
009b2d4d6b mpu9250: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
c2c3780918 mpu6000: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
a0d4e7aa90 bmi160: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
8f5fb3d0e5 bma180: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
7a3b34be74 tfmini: add argc check and fix argv index 2018-06-04 16:33:55 +02:00
Beat Küng
eabfac71d6 teraranger: add argc check and fix argv index 2018-06-04 16:33:55 +02:00
Beat Küng
554003b3f1 srf02: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
490ccc0076 sf1xx: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
2a7cd392b1 sf0x: add argc check and fix argv index 2018-06-04 16:33:55 +02:00
Beat Küng
85c676316c mb12xx: add argc check and fix argv index 2018-06-04 16:33:55 +02:00
Beat Küng
19933b4d3b sdp3x: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
4b8658a318 ms5525: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
d3f9f419f1 ms4525: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
61b4b2df88 ets_airspeed: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
ae8439f0af ms5611: add argc check 2018-06-04 16:33:55 +02:00
Beat Küng
7e7905acd1 lps22hb: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
22bc35c048 bmp280: add argc check and use px4_getopt 2018-06-04 16:33:55 +02:00
Beat Küng
5f87545e48 mavlink_messages: fill in all 16 servo channels 2018-06-04 10:55:29 +02:00
Lorenz Meier
eb188996d0
Update LICENSE
Update year to 2018
2018-06-03 10:21:56 +02:00
Alessandro Simovic
15a44a059d addressing review comments from #9563 2018-06-02 08:36:35 +02:00
Alessandro Simovic
52c290e234 commander: moved emergency shutdown to end of cycle 2018-06-02 08:36:35 +02:00
mcsauder
861af1dac7 Remove whitespace from the top-level CMakeLists.txt. 2018-06-02 06:22:54 +05:30
Beat Küng
537451c2a0 Debug/Nuttx.py: fix 'mon reg' does not exist
Also there was no register xPSR.

Stack usage calculation is still broken...
2018-06-01 19:27:30 +02:00
Simone Guscetti
700b2c6294 logger: fix overflow on SD card total bytes 2018-06-01 19:27:30 +02:00
Jun-Tao
c7cb62eb28 logger: Fix calculation of total and left bytes 2018-06-01 19:27:30 +02:00
Beat Küng
f8dd833a14 onmibus-f4sd: add ADC support 2018-05-31 19:13:00 +02:00
Beat Küng
acc1cb08d4 omnibus-f4sd cmake config: minor cleanup 2018-05-31 19:13:00 +02:00
Daniel Agar
6ca078425e Jenkins archive nuttx bin file 2018-05-31 07:38:07 +02:00
PX4 Jenkins
35963abddd Update submodule sitl_gazebo to latest Thu May 31 01:26:50 UTC 2018
- sitl_gazebo in PX4/Firmware (1ee08da9c4182f7e30c2b39462bdead069c9c588): 651ca351fd
    - sitl_gazebo current upstream: 371e7c36c3
    - Changes: 651ca351fd...371e7c36c3

    371e7c3 2018-04-10 korotkoves - udp port for each model instance from options file
376258d 2018-04-17 korotkoves - change file format to use common and model specific parameters
b4b7245 2018-01-17 korotkoves - function to load parameters for each model from xml file
2018-05-30 21:08:26 -07:00
johannes
1ee08da9c4 ekf log analysis: fix filter_fault_status and one-off index bug
- analysed_logdata: add filter_fault_status check to test_results
dictionary to prevent a missing entry exception
- analyse_logdata: fix one-off errors of list indices due to python
non-inclusive end indices
2018-05-29 23:43:34 +02:00
Daniel Agar
2fbe1428a3 Jenkins temporarily disable address sanitizer mission test and test codecov 2018-05-29 21:29:24 +02:00
Beat Küng
77cea8844f ROMFS: fix SYS_USE_IO==0
When SYS_USE_IO was disabled, px4io would not start and thus there was no
RC. SYS_USE_IO=0 is interesting on Quads to avoid the IO and reduce output
latency.

Tested on Pixhawk 1 and Pixhawk 4
2018-05-28 19:03:33 +02:00
Beat Küng
ae75ff6c72 px4fmu-v5/board_config.h: update BOARD_BATTERY1_V_DIV 2018-05-28 15:38:29 +02:00
Beat Küng
3f00e2e6c2 mavlink mission: send an ack on duplicated last uploaded mission item 2018-05-28 11:57:35 +02:00
acfloria
ff4d95168e IridiumSBD: Fix for multiple MT messages
If MT messages are waiting on the server immediately restart a new session.
2018-05-28 09:26:11 +02:00
Hamish Willee
309b5bae98 Fix link to flight reporting page (#9541)
* Fix link to flight reporting page
2018-05-28 09:21:49 +02:00
Daniel Agar
3e843ba2d2 posix main add SIGSEGV handler 2018-05-28 08:40:05 +02:00
Daniel Agar
5234ba49ad Jenkins code coverage build 2018-05-28 08:40:05 +02:00
Hamish Willee
92d4a54012 Delete old issue template 2018-05-28 08:38:12 +02:00
Hamish Willee
1c5c3232fd Fix link to slack (Broken) 2018-05-28 08:37:43 +02:00
Beat Küng
4f1c01de7f fmu params: add MOT_ORDERING to adjust the motor ordering
Useful for 4-in-1 ESCs such as the Hobbywing XRotor Micro 40A 4in1
where the FC can be directly plugged on top.
2018-05-28 08:37:08 +02:00
Daniel Agar
e8fa94126e
set MODULE_NAME for parameters library and external ecl libraries (#9536) 2018-05-27 14:36:41 -04:00
Daniel Agar
2c7788060d Jenkins mission tests delete old build first 2018-05-27 19:49:25 +02:00
acfloria
ab279d5fe9 IridiumSBD: Fixes for receiving data
- Catch the case where the case where the driver gets stuck because nothing is received by +SBDRB
- Add a mutex for the rx buffer
- Stop the standby loop if a mode change is already scheduled
2018-05-27 12:11:35 -04:00
acfloria
57162ff08d Improve high latency switching and acknowledge
- Move publishing the telemetry status from the IridiumSBD driver to the mavlink instance
- In the commander use the iridiumsbd_status message for heartbeat in case of a high latency link
- Move positive acknowledge to the mavlink instance
- Add a failed acknowledge in the commander if no high latency link exists
2018-05-27 12:11:35 -04:00
acfloria
30fc8cd608 Add iridiumsbd_status to logger 2018-05-27 12:11:35 -04:00
acfloria
12f6affdfa Commander: Avoid sending ack for VEHICLE_CMD_CONTROL_HIGH_LATENCY if from_external is false 2018-05-27 12:11:35 -04:00
acfloria
d8cf012641 IridiumSBD: Add iridiumsbd_status uorb message 2018-05-27 12:11:35 -04:00
Florian Achermann
84578748f4 Navigator Mission RTL (#8749)
* Add return to land to mission

This method uses the planned mission for rtl. If a landing sequence
is present it will continue the mission and land. If not it will
fly back the mission and loiter/land at the home position.
2018-05-27 12:07:06 -04:00
Lorenz Meier
fdfa764913 Update feature_request.md 2018-05-27 12:06:58 +02:00
Lorenz Meier
ab7442093a Update bug_report.md 2018-05-27 12:06:58 +02:00
Daniel Agar
65c8142c59 [WIP] Update issue templates
These are the default github examples and need to be customized.

https://blog.github.com/2018-05-02-issue-template-improvements/
2018-05-27 12:06:58 +02:00
mcsauder
9122725052 Alphabetize the mavlink stream lists in mavlink_main.cpp. 2018-05-26 14:49:08 -04:00
Beat Küng
c9d179676e simple mixer: make output scalers O: optional and use default values instead
Reduces FLASH usage by about 4KB

Command to replace:
for i in *.mix; do sed -r -i '/O: +10000 +10000 +0 +-10000 +10000/d' $i; done
2018-05-25 07:57:08 +02:00
Daniel Agar
a9275d6c5b Jenkins don't distclean without checkout 2018-05-25 01:32:26 -04:00
Anthony Lamping
dbdf6d90a0 jenkins: don't do checkout step for ROS tests with package 2018-05-25 01:32:26 -04:00
Anthony Lamping
780d147c01 cmake: package don't use bin and share dirs 2018-05-25 01:32:26 -04:00
Anthony Lamping
ef5de4de87 cmake: package create tarball 2018-05-25 01:32:26 -04:00
Anthony Lamping
a3c13e0fbe tools: cleanup setup for gazebo env vars 2018-05-25 01:32:26 -04:00
Anthony Lamping
0e80210f33 cmake: package px4 with sitl_gazebo plugins for jenkins ROS tests 2018-05-25 01:32:26 -04:00
Daniel Agar
a4a0ccf7f7
initial dev env setup scripts for Ubuntu and OSX (#8818) 2018-05-24 15:57:43 -04:00
Daniel Agar
b03cfd9afa Jenkins remove address sanitizer mission test 2018-05-24 13:58:45 -04:00
Sander Smeets
04cc5c5611 Navigator: VTOL only apply acceptance radius calculation for FW part of back transition (#9519) 2018-05-23 19:46:36 -04:00
Daniel Agar
222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
Daniel Agar
0d7b5c4a4e commander accel calibration switch to matrix lib 2018-05-23 17:27:09 -04:00
mcsauder
0da01cd6f0 Alphabetize #include list in mavlink_receiver.h 2018-05-23 15:42:23 -04:00
Joshua Whitehead
3b6b1ee066 Use Nuttx defconfig defines to determine arch (#9516)
These hard coded paths assume all Nuttx targets are ARMv7-M targets. Updating them to use ${CONFIG_ARCH} and ${CONFIG_ARCH_FAMILY} instead allows for the architecture defined by the incoming Nuttx defconfig to be correctly targeted.
2018-05-23 15:20:39 -04:00
DanielePettenuzzo
28f616b1c1 crazyflie: updated default params in config file 2018-05-23 18:32:36 +02:00
DanielePettenuzzo
094490190f crazyflie: pmw3901 driver publish gyro equal to NAN for optflow estimator interface 2018-05-23 18:32:36 +02:00
Roman
464db32567 removed error message in qurt stub implementation of putchar
Signed-off-by: Roman <bapstroman@gmail.com>
2018-05-23 10:08:28 -04:00
Roman
20b51d6256 sdflight config: weird changes to get things working
- just use external mag, if they run together the sensor_mag_0 topic gets
corrupted even though they publish on different instances
- added sleep at two places, they resolve weird boot problems like params
not being read correctly...

Signed-off-by: Roman <bapstroman@gmail.com>
2018-05-23 10:08:28 -04:00
Daniel Agar
305e1b7b95 qurt cmake dependency fixes 2018-05-23 10:08:28 -04:00
Roman
835275f1a4 df_mpu9250_wrapper: publish imu based on integrator dt, not fixed count
Signed-off-by: Roman <bapstroman@gmail.com>
2018-05-23 10:08:28 -04:00
Roman
f3c12bc7c7 DfBmp280Wrapper: initialise baro report
Signed-off-by: Roman <bapstroman@gmail.com>
2018-05-23 10:08:28 -04:00
PX4 Jenkins
9cd03817b3 Update submodule ecl to latest Wed May 23 01:26:53 UTC 2018
- ecl in PX4/Firmware (9e6449570a58587b7dd0f4919ea9d6f0a52f5239): cb63f16d48
    - ecl current upstream: 50631e5d98
    - Changes: cb63f16d48...50631e5d98

    50631e5 2018-05-21 Daniel Agar - geo remove use of DBL_EPSILON
2018-05-23 02:32:22 -04:00
PX4 Jenkins
1edc368e70 Update submodule sitl_gazebo to latest Wed May 23 01:26:42 UTC 2018
- sitl_gazebo in PX4/Firmware (ac55a0de58c0884c3b70726aaf1f7d4889575c92): cd91ef411a
    - sitl_gazebo current upstream: 651ca351fd
    - Changes: cd91ef411a...651ca351fd

    651ca35 2018-05-18 Elia Tarasov - fix vision quaternion transformation
2018-05-23 02:19:02 -04:00
PX4 Jenkins
ff033f1e65 Update submodule DriverFramework to latest Wed May 23 01:26:47 UTC 2018
- DriverFramework in PX4/Firmware (381d3ccd577484a57e555ec9ad6166249d590140): e06222dd15
    - DriverFramework current upstream: 410e9fc4e7
    - Changes: e06222dd15...410e9fc4e7

    410e9fc 2018-05-18 Roman - mpu9250: set internal gyro dlpf frequency to 92 Hz
2018-05-23 02:14:54 -04:00
Daniel Agar
ac55a0de58 airspeed calibration log critical when ports are swapped 2018-05-22 21:02:33 -04:00
Daniel Agar
f208241074 SYS_COMPANION add RTPS client option 2018-05-22 20:37:37 -04:00
Daniel Agar
e9e01f7559 RTPS bridge send all EKF sensors 2018-05-22 20:37:37 -04:00
barzanisar
36131179d3 adding airframe config for s500 (#9342) 2018-05-22 18:39:28 -04:00
Daniel Agar
10cc827ce1
initial probot stale configuration (#9508) 2018-05-22 16:18:49 -04:00
Daniel Agar
48724e44dd NuttX build use 'all' target within each lib 2018-05-22 15:17:21 -04:00
DanielePettenuzzo
9cad11d832 crazyflie: clean up 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
22868dd5a4 crazyflie: add downsampling to pwm3901 optflow driver 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
2770e1d2c7 mpu9250: remove define from integrator interval when using i2c 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
8b54346d52 mpu9250: decrease sampling rate when using i2c 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
9c8e97a1ba crazyflie: optical flow and distace sensor driver fixes 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
533f42adb8 crazyflie: add probe() to vl53lxx driver and set imu sampling rate to 200 Hz for this board 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
ffbb53454e crazyflie: removed crazyflie specific #ifdefs from mpu9250 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
f49fd2acc7 crazyflie: increase imu reading rate 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
2359b73d1f pmw3901 driver: lock bus during transfers (avoid conflicts with sd card on crazyflie) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
b822966e8e crazyflie: support for sd card board via SPI 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
818a6759d4 nuttx_crazyflie_default.cmake: add vl53lxx driver, pmw3901 driver and topic_listener 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
9c1cbdfa11 vl53lxx driver: change I2C frequency to 400 kHz 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
8a4e144e86 crazyflie: add spi expansion to board configurations (modify spi bus and device in pmw3901 driver) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
2d20f31a70 vl53lxx and pmw3901 drivers: style fix 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
4098d50ff9 pmw3901 driver: remove integrator and publish data at sampling rate (about 10ms) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
3377ec181e vl53lxx driver: add saturation when distance goes beyond max_distance 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
ad49509b84 vl53lxx driver: added work queue between measure and collect 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
3644dd2d8c pmw3901 driver: multiply output of integrator by a constant to match gyro data during simple rotation 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
56acce4491 rcS: start vl53lxx and pmw3901 drivers 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
6ca341f84e pmw3901 driver: cleanup for pull request 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
ddf75db154 vl53lxx driver: cleanup for pull request 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
c73ca29f44 pmw3901 driver: added integrator 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
2d3f6737d7 pmw3901 driver: fixed communication with sensor 2018-05-22 12:21:45 +02:00
Daniele Pettenuzzo
cbafe03989 added path to pmw3901 driver for fmu-v4pro cmake file 2018-05-22 12:21:45 +02:00
Daniele Pettenuzzo
10fc3b8763 created driver for pmw3901 optical flow module 2018-05-22 12:21:45 +02:00
DanielePettenuzzo
4348852363 vl53lxx driver: change to I2C4 on fmu-v5 (I2C connector) 2018-05-22 12:21:45 +02:00
Daniele Pettenuzzo
5aa4759e2d created new distance sensor driver for vl53lxx 2018-05-22 12:21:45 +02:00
Julian Oes
f09f305866 Updated mavlink submodule
This fixes the compiler warning with GCC 8.
2018-05-21 16:49:52 +02:00
Daniel Agar
87a0e943d4 commander add geo dependency 2018-05-21 01:32:16 -04:00
Daniel Agar
c06e28b379 snapdragon_pwm_out add full mixer dependency 2018-05-21 01:32:16 -04:00
Daniel Agar
0334fadcde spektrum_rc add rc library dependency 2018-05-21 01:32:16 -04:00
Daniel Agar
3e8132935f mc_att_control add conversion library dependency 2018-05-21 01:32:16 -04:00
Daniel Agar
fc74e06341 sensors add conversion library dependency 2018-05-21 01:32:16 -04:00
nathan
59c1d3fc92 remove unnecessary param_find for mag and baro
in parameters.cpp

per @dagar: As soon as commander starts it runs the preflight checks which does the param_find.
2018-05-20 11:54:17 +02:00
nathan
5483b59674 bring omnibusf4 defconfig up to date via menuconfig 2018-05-20 11:54:17 +02:00
Beat Küng
527070bb35 rcS: update default params for Omnibus F4 SD 2018-05-20 11:54:17 +02:00
Beat Küng
d99b72ea41 attitude_estimator_q: set mag weight to 0 if SYS_HAS_MAG is not set 2018-05-20 11:54:17 +02:00
Beat Küng
f2516bbf5f system_params: add SYS_HAS_MAG and SYS_HAS_BARO params
This allows to use PX4 on systems that do not have a mag or a baro,
such as the Omnibus F4 SD.
2018-05-20 11:54:17 +02:00
nathan
f754d092f8 Initial omnibusf4sd target support
Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
2018-05-20 11:54:17 +02:00
JohannesBrand
eb6086cc39 ecl-ekf-tools: fix a bug related to time index calculation (#9489)
- fix start and end time indices calculation
2018-05-19 19:25:48 -04:00
Daniel Agar
da5a9043a7 clang-tidy modernize-use-equals-delete 2018-05-18 22:48:55 +02:00
Daniel Agar
4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Beat Küng
9b5df10631 logger watchdog: avoid using printf from IRQ context
PX4_ERR calls printf, which calls lib_sem_initialize, which calls sem_wait
2018-05-18 22:23:32 +02:00
Beat Küng
b8a94bf8d4 logger: move pthread_t cast to pid_t into watchdog_initialize
avoids compile error on OSX, trying to cast pthread_t to pid_t
2018-05-18 22:23:32 +02:00
Beat Küng
f2703abce0 top: increase process priority to 255
Helps debugging busy-looping tasks.
2018-05-18 22:23:32 +02:00
Beat Küng
bda237b368 logger: ensure that fsync is called at least every second
In case a log ends abruptly, we will know that we have everything up to the
last second.

A test showed that CPU load and the amount of logging drops are unaffected
by this.
2018-05-18 22:23:32 +02:00
Beat Küng
dd30012b27 logger: add watchdog that boosts its priority when the writer is blocked for >1s
This is to guard against busy-looping tasks, so that we at least have a
log. In case the watchdog is triggered, it also logs CPU load of all
tasks.
2018-05-18 22:23:32 +02:00
Beat Küng
401eefd39b refactor logger: add struct timer_callback_data_s used in the timer callback 2018-05-18 22:23:32 +02:00
Beat Küng
9b72080ec1 refactor logger: add an enum for the reason of printing the cpu load 2018-05-18 22:23:32 +02:00
Daniel Agar
2f553b956d dataman file read fixed size buffer 2018-05-18 08:03:56 +02:00
Daniel Agar
af168e42b9 Jenkins run tests under address sanitizer 2018-05-18 08:03:56 +02:00
Daniel Agar
ac4053fbd6
Update submodule ecl to latest Fri May 18 01:26:47 UTC 2018 (#9484)
* cb63f16 2018-05-17 Daniel Agar - cmake cache ECL source directory path to work with catkin (#447)
 * fixes #9447
2018-05-18 00:15:15 -04:00
Daniel Agar
d652e019c5 Jenkins run VTOL standard mission test under ASAN 2018-05-17 22:49:21 -04:00
Daniel Agar
dc1e91137a cmake add bloaty helpers for nuttx and use in Jenkins 2018-05-17 18:27:00 -04:00
Daniel Agar
f607ea5180 auav-x21 sync with px4fmu-v3 modules list 2018-05-17 14:44:07 -04:00
Beat Küng
11f4631b2a fix commander: initialize tune_durations (#9468)
Fixes #9451
2018-05-16 10:20:28 -04:00
Jake Dahl
ad4b3a738a set the range to the correct value 2018-05-16 08:35:55 +02:00
Jake Dahl
306d1e7e24 a few corrections 2018-05-16 08:35:55 +02:00
Jake Dahl
6324a8851d Complete refactor of the lis3mdl driver. This has been bench tested, flight tested, and verified functional. 2018-05-16 08:35:55 +02:00
PX4 Jenkins
8a114c2f05 Update submodule ecl to latest Mon May 14 20:26:35 CDT 2018
- ecl in PX4/Firmware (bcebb33f8618c8d1827ae65b904e9d85f2610b52): 372f9f430b
    - ecl current upstream: bae4b8a5e7
    - Changes: 372f9f430b...bae4b8a5e7

    bae4b8a 2018-05-11 Bart Slinger - remove superfluous elseif (#431)
16976d3 2018-05-11 Paul Riseborough - Merge branch 'pr-ekfOptFlowFixes'
75e6590 2018-05-10 Paul Riseborough - EKF: fix bug causing height offset when GPS use stops
e8e9e34 2018-05-10 Paul Riseborough - EKF: fix bug causing height offset when GPS use stops
6cadc92 2018-05-09 Paul Riseborough - EKF: Don't reject saturated flow data when it is the only aiding source
bf902e5 2018-05-09 Paul Riseborough - EKF: Prevent flow motion check false positives
bdf5b3e 2018-05-07 Paul Riseborough - EKF: Don't assume large position uncertainty when starting optical flow nav
e26711a 2018-05-05 Paul Riseborough - EKF: relax terrain update requirements for continuing optical flow use
868bc01 2018-05-05 Paul Riseborough - EKF: Relax minimum required range finder measurement rate
02963a8 2018-05-05 Paul Riseborough - EKF: relax optical flow on ground motion checks
24b005e 2018-05-03 Paul Riseborough - EKF: range finder aiding logic fixes
0c0a660 2018-05-03 Paul Riseborough - EKF: Decouple range finder use criteria checking and selection
6708bec 2018-04-29 Paul Riseborough - EKF: Don't auto select range finder for height when on ground.
0a63052 2018-04-26 Paul Riseborough - EKF: Fix false triggering of optical flow bad motion checks
f9d4934 2018-04-19 Paul Riseborough - EKF: update comments
82de314 2018-04-18 Paul Riseborough - EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
389786e 2018-03-12 Paul Riseborough - EKF: Stop using EV for yaw when GPS fusion starts
4ab7823 2018-02-26 Paul Riseborough - EKF: Add persistence criteria to  GPS fail check
67d71ca 2018-02-26 Paul Riseborough - EKF: allow GPS fallback if quality bad and alternative aiding available
bd59e38 2018-02-26 Paul Riseborough - EKF: always run GPS checks
b227aca 2018-05-05 Daniel Agar - geo_lookup fix table bounds
e494a4e 2018-05-05 Daniel Agar - Jenkins set git username and email with environment variables
3639087 2018-05-05 Daniel Agar - cmake and Jenkins add basic address santiizer test buld
1fba622 2018-05-05 Daniel Agar - travis-ci basic build script
cde2ee9 2018-05-05 Daniel Agar - cmake ignore missing-field-initializers
2100127 2018-05-05 Daniel Agar - geo: zeroing static unnecessary
0f12db5 2018-05-03 Daniel Agar - travis-ci enable coverity_scan
aceab8c 2018-05-05 Daniel Agar - Jenkins upload coverage to codecov.io
5780cd3 2018-05-05 Daniel Agar - Jenkins create PX4/Firmware test branch and push (#436)
cf957b5 2018-05-04 Daniel Agar - code coverage cmake and Jenkins support
4e0cd45 2018-05-03 Daniel Agar - doxygen cmake and Jenkins support
2018-05-15 19:18:36 +02:00
Mohammed Kabir
bbcf5b1b65 logger : log ping topic 2018-05-15 18:57:34 +02:00
Mohammed Kabir
92457bcafd mavlink : implement full ping protocol and link latency reporting 2018-05-15 18:57:34 +02:00
Mohammed Kabir
8d6e209888 msg : add ping message 2018-05-15 18:57:34 +02:00
Julien Lecoeur
e380adb9b6 Fix format with Artistic Style 3.1 2018-05-15 10:38:49 -04:00
Julien Lecoeur
b299d6222a Astyle: allow version 3.1 2018-05-15 10:38:49 -04:00
Beat Küng
873e036e85 px_romfs_pruner: reduce multiple consecutive spaces into a single space for mixers (#9457)
Reduces FLASH usage by about 3kb.

Plus add a missing cmake dependency.
2018-05-14 14:05:29 -04:00
Daniel Agar
e33da0a821 fw_att_control set default yaw rate max and update parameter descriptions 2018-05-14 00:56:46 +02:00
David Riseborough
a32333994f The single line UART setup was replaced with a locked down configuration.
As per issue #9428, this code change locks down the termios configuration
for the UART to non-canonical, binary tx/rx, 8 bits, 1 stop bit, no parity.
2018-05-11 17:11:40 +02:00
TSC21
7220fb1b21 update sitl_gazebo submodule 2018-05-11 14:25:28 +02:00
Beat Küng
12436c1d64 fix attitude_estimator_q: swap quaternion multiplication & fix from_dcm init
Quaterion::from_dcm does not set *this, but just returns the resulting
Quaterion.
2018-05-11 09:34:26 +02:00
Daniel Agar
421b01e677 attitude_estimator_q move to matrix lib 2018-05-11 09:34:26 +02:00
Beat Küng
9e24875131 attitude_estimator_q: fuse accel data only if close to 1g if GPS velocity not used
This reduces attitude drift on vehicles w/o GPS. The default behavior is
unchanged, to use it, disable ATT_ACC_COMP.
2018-05-11 09:34:26 +02:00
Beat Küng
f77b8d9aa8 attitude_estimator_q: remove double initialization 2018-05-11 09:34:26 +02:00
Beat Küng
54fac26327 attitude_estimator_q: allow it to be used on boards w/o a mag
By setting ATT_W_MAG to 0
2018-05-11 09:34:26 +02:00
Matthias Grob
58dd7be12a Cygwin: enable arm nuttx upload within cygwin
In the Cygwin environment the native Windows serial COM# ports get mapped
to /dev/ttyS# for POSIX compatibility. While # is one number lower inside
the environment than the COM port number because it's 0 indexed instead
of 1.

I added the necessary handling to all the dependent parts I found which
allows uploading to /dev/ttyS# when the cygwin platform is detected.
Now the usual "make px4fmu-v4 upload" and
"./Tools/upload.sh build/px4fmu-v4_default/px4fmu-v4_default.px4" work.
2018-05-09 11:31:42 +02:00
Beat Küng
c6b0d5c76a navigator: don't complain 'Using minimum takeoff altitude' in case of numerical inaccuracies
Happend in SITL.
2018-05-09 07:59:46 +02:00
Beat Küng
473fa15026 BlockParam: : ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng
258b1ea473 navigator: ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng
8c638ac88c sdlog2: check result of snprintf and ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng
f2092dd690 mixer_test: use snprintf instead of strncpy to fix compiler warning
compiler warning:
../../src/systemcmds/tests/test_mixer.cpp: In member function ‘bool MixerTest::loadAllTest()’:
../../src/systemcmds/tests/test_mixer.cpp:202:18: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 1 byte from a string of the same length [-Werror=stringop-truncation]
     (void)strncpy(&buf[strlen(MIXER_ONBOARD_PATH)], "/", 1);
2018-05-09 07:59:46 +02:00
Beat Küng
289e618b6c mavlink: fix compiler warnings with GCC 8.0.1
-Wno-extra-semi is not valid for C code
2018-05-09 07:59:46 +02:00
Beat Küng
8bd61a9330 uORBDevices: avoid memset, use braced initializer instead 2018-05-09 07:59:46 +02:00
Beat Küng
19a12ba75d logger: avoid memset, use braced initializer instead 2018-05-09 07:59:46 +02:00
Beat Küng
3dd791c92c vfile: rename fops to fix shadowing warning
for GCC 8.0.1
2018-05-09 07:59:46 +02:00
Beat Küng
13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Beat Küng
9772380779 posix main: avoid declaring px4_main_t, include the correct header instead 2018-05-09 07:59:46 +02:00
Matthias Grob
2c56ceec93 astyle: switch condition to empty string check
Thanks to @bkueang 's review comment I switched to an explicit check for
an empty sting instead of a condition that could be theoretically true
in other cases and is less readable.

Type "man test" on your terminal to read up what -n stands for.
2018-05-09 07:54:22 +02:00
Matthias Grob
ef7e885644 Makefile: fix parameter -e printed by echo
It seems that on linux only inside a makefile the parameter after the echo
command gets printed if no single quoted sting comes afterwards so I had
to switch to single quotes such that I can use the parameter.
2018-05-09 07:54:22 +02:00
Matthias Grob
4e139d2426 Makefile: fix color output of makefile echos
Force interpretation of backslash escapes with the parameter -e of echo.
Switch to a lighter blue because on certain terminals default blue is
hard to read on black background.
2018-05-09 07:54:22 +02:00
Matthias Grob
72db7d3396 astyle: fix display language dependency
The shell script which checks the style relies on greping for the
keyword "Formatted" in the output of astyle. But the program has
localization support and will output in other languages e.g. german.
This leads to all style checks always succeeding. I only tested this
on Windows in Cygwin but I can imagine the problem also exists in
non-english Ubuntu installations.

Solution is the parameter --formatted of astyle which only produces
any output if there was something to fix. This allows for a display
language independent condition for an empty string inside the shell
script.
2018-05-09 07:54:22 +02:00
Beat Küng
71b4ad62a1 ekf2 replay: handle multi multiple GPS instances (#9433) 2018-05-09 10:00:59 +10:00
Hamish Willee
9a7195cb2d Change offboard mode fallback option back to Manual 2018-05-08 07:04:32 +02:00
Hamish Willee
19032b91e3 Change RTL @group to Return Mode 2018-05-08 07:04:32 +02:00
Hamish Willee
66d4b495d4 Return params to reflect current mode names 2018-05-08 07:04:32 +02:00
Hamish Willee
09986237b6 Navigator failsafe action params to reflect current mode names 2018-05-08 07:04:32 +02:00
Hamish Willee
2c1eb443ca Geofence failsafe action params to reflect current mode names 2018-05-08 07:04:32 +02:00
Hamish Willee
42d1708d7c Commander failsafe action params to reflect current mode names 2018-05-08 07:04:32 +02:00
Daniel Agar
ffbd75d1b9 adis16477 driver 2018-05-07 00:07:29 +02:00
Daniel Agar
5de5d6ea49 Jenkins simple mission code coverage build 2018-05-05 19:49:50 -04:00
Daniel Agar
1b5396436e
Update submodule genmsg to latest Fri May 4 20:26:30 CDT 2018 (#9416)
- genmsg in PX4/Firmware (3ed093ba593601be8ab344d3d68633436c0f93d3): 3cea1fe528
    - genmsg current upstream: a189fc7855
    - Changes: 3cea1fe528...a189fc7855

    a189fc7 2018-05-01 Dirk Thomas - 0.5.11
c641725 2018-05-01 Dirk Thomas - update changelog
2018-05-05 16:48:09 -04:00
alessandro
3ed093ba59 Add baro temperature to sensor voter observation (#9411)
When determining the confidence of a barometer sensor, we should
consider the temperature as well, alongside the pressure.
Low-noise baros can show the same pressure reading for a second
or two when not moving and in an indoor location.
2018-05-04 12:40:10 -04:00
Daniel Agar
6b94ef1a03
mpu9250 allow a 2nd internal spi instance and remove px4fmu-v4 fake external (#9386) 2018-05-04 12:38:43 -04:00
Jake Dahl
92f15283c1 changed int to float 2018-05-04 12:08:55 -04:00
Daniel Agar
df042ab20e cmake update option to enable doxygen generation (off by default) 2018-05-04 01:08:58 -04:00
Daniel Agar
2e92484325
ecl update to latest master with separate libraries (#9406) 2018-05-03 23:48:09 -04:00
Daniel Agar
94d1593e5b
doxygen move to cmake and cleanup (#9234) 2018-05-03 22:07:24 -04:00
Martina Rivizzigno
41b0db2860 vmount: input_mavlink point gimbal towards current triplet instead of next (#9405) 2018-05-03 12:26:04 -04:00
Daniel Agar
9649a9d7a5
update PX4/ecl submodule to latest master
- eec71d1 (HEAD, origin/master, origin/HEAD, master) EKF get_ekf_soln_status() fix pred_pos_horiz_abs
 - 1bd1809 EKF: Fix bug causing simultaneous range and baro height fusion (#429)
2018-05-03 09:25:54 -04:00
Mohammed Kabir
fc07b23f41 logger : log timesync topic 2018-05-03 09:59:16 +02:00
Mohammed Kabir
40df193700 sdlog2 : remove old timesync logging 2018-05-03 09:59:16 +02:00
Mohammed Kabir
39bb65ffd7 mavlink : add advanced timesync algorithm 2018-05-03 09:59:16 +02:00
Daniel Agar
6b2daef5ec lps22hb barometer driver 2018-05-02 09:05:28 -04:00
Daniel Agar
598743bbdc
delete srf02_i2c which is nearly identical to srf02 (#9396) 2018-05-02 08:50:12 -04:00
Daniel Agar
977ab4e7b8
improve end to end control latency measurement (#9388) 2018-05-02 03:03:32 -04:00
Daniel Agar
edea1b65cd uORB delete unused Flavor 2018-05-02 00:48:46 -04:00
David Sidrane
cc061885f0 nxphlite-v3:Remove OTG config qualifier
This board supports USB but not doen not support OTG.
2018-05-01 11:33:29 -07:00
PX4 Jenkins
1d9bf83c51 Update submodule nuttx to latest Mon Apr 30 20:26:28 CDT 2018
- nuttx in PX4/Firmware (840488909838d76daf6ba679102e2f6d97517881): 65b87d092a
    - nuttx current upstream: 0ac630e6d0
    - Changes: 65b87d092a...0ac630e6d0

    0ac630e 2018-04-28 David Sidrane - [BACKPORT] Merged in david_s5/nuttx/master_kinetis_usb_fixes (pull request #634)
2018-05-01 11:33:29 -07:00
Daniel Agar
1b3803fbe5 px4io driver remove unnecessary class fields 2018-05-01 17:55:47 +02:00
Daniel Agar
8404889098 delete unused ADCSIM
- set BOARD_NUMBER_BRICKS to 0 for boards without analog power bricks
2018-04-29 21:48:54 -04:00
Daniel Agar
ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Lorenz Meier
a8bc3d187f Update MAVLink submodule
This updates the MAVLink submodule to the current version including the trajectory WIP messages.
2018-04-29 20:17:56 +02:00
aklimaj
25528a5ae0 Adds support for another MPU9250 or MPU6500 on px4fmu-v4 internal SPI bus. Adds PX4_SPI_BUS_EXT, PX4_SPIDEV_EXT_MPU to board config and spi.c. Call 'mpu9250 -S start' to enable. 2018-04-28 15:16:41 +02:00
Beat Küng
c7c3e23f0d MC acro: update param descriptions 2018-04-27 22:34:55 +02:00
johannes
b98cd6ecb5 ecl-ekf tools: separate the analysis from the visualization and preprocessing
- move the analysis parts of the process_logdata_ekf script to
the 'analyse_ekf' function in a new file analyse_logdata_ekf.py
- return a test_results dictionary from analyse_ekf
- still process log loading, preprocessing and results file output in
process_logdata_ekf
- add command line argument to toggle plotting
- add command line argument to use different dictionary to check_level_dict.csv
2018-04-27 22:34:17 +02:00
johannes
a0b4bbed5e ecl-ekf tools: clean up - move code to correct scope
- move code that is needed for general analysis out of plot scope
2018-04-27 22:34:17 +02:00
Beat Küng
12e967173d MC: set default MPC_THR_MAX & MPC_MANTHR_MAX to 1
With the updated mixer (#9062) it's safe to set maximum thrust to 1 (in
both cases, if MC_AIRMODE is set, or not set).
So I see no reason to limit the maximum thrust.
2018-04-26 14:37:48 +02:00
Beat Küng
f2cee9970c MC acro: add separate params to configure yaw expo
So that it can be customized better according to personal preferences.

The limitation of 16 chars did not allow to use a better param name.
2018-04-26 14:17:16 +02:00
Beat Küng
58c757a9db mc_att_control_params: increase max acro rates to 1800
This matches the maximum rates for the attitude controller.
2018-04-26 14:17:16 +02:00
Beat Küng
332a612f35 mc_att_control_main: do not apply the yaw weight for the feedforward term
The meaning of the yaw weight changed with #8003:
- before, the yaw weight decreased with increasing tilt angle error, so
  it was mostly 1
- now, it is constant and depends on the tuning gains (around 0.4 by default)

It means that #8003 reduced the feedforward term, and we get the closer
behavior as before with this change.
It also reduces coupling between different parameters.
2018-04-25 16:33:09 +02:00
Beat Küng
202505fd73 mixer_multirotor: fix initialization of _outputs_prev
memset (http://www.cplusplus.com/reference/cstring/memset/) interprets
the value argument as unsigned char, so passing a float will not work.
2018-04-25 16:33:09 +02:00
Beat Küng
4ef3d258eb imu drivers: do not set on-chip filter based on driver filter setting
The description of IMU_GYRO_CUTOFF was incorrectly saying that it only
affects the driver filtering, but in fact it also set the on-chip filter
to the next higher supported value. This patch fixes that.

And because the IMU_GYRO_CUTOFF and not the IMU_ACCEL_CUTOFF was used for
the on-chip filter, after #9070 which sets the default gyro filter to 80,
we were effectively using a dlpf of 98 Hz.
For this reason this patch changes the on-chip cutoff frequency to 98 as
well, so that the overall default behavior is unchanged.
2018-04-25 16:32:06 +02:00
Daniel Agar
fbbe1f5288 commander use new time literals 2018-04-24 00:02:48 -04:00
Paul Riseborough
cbb4559c15 ecl : update to version that fixes wind relative dead reckoning bug 2018-04-24 00:02:48 -04:00
Daniel Agar
35cb2d0a9e EKF2 fix airspeed orb_copy check 2018-04-24 00:02:48 -04:00
Paul Riseborough
477a42e6f6 ekf2: Enable adjustment of nav validity timeout 2018-04-24 00:02:48 -04:00
Daniel Agar
89ad46dd15 commander delete unused DIFFPRESS_TIMEOUT 2018-04-24 00:02:48 -04:00
Daniel Agar
cd69a573b5 commander restore MC nav failure latch 2018-04-24 00:02:48 -04:00
Daniel Agar
f13f8f9c64 commander add COM_POS_FS_PROB and COM_POS_FS_DELAY metadata limit 2018-04-24 00:02:48 -04:00
Daniel Agar
fc26fd99bd commander move remaining position failsafe params to class and cleanup 2018-04-24 00:02:48 -04:00
Daniel Agar
439ed7d3f5 posix sitl ekf2 plane model add fw defaults
- EKF2 airspeed fusion and synthetic sideslip fusion
 - commander eph/epv failsafe thresholds appropirate for FW
2018-04-24 00:02:48 -04:00
Daniel Agar
fa9f400dbd commander update super block parameters 2018-04-24 00:02:48 -04:00
Daniel Agar
f131409bce FW defaults set commander eph, epv, evh thresholds 2018-04-24 00:02:48 -04:00
Daniel Agar
b70e7433dc commander add parameters for eph, epv, evh requirements 2018-04-24 00:02:48 -04:00
alessandro
255cc12c48 tap_esc: removed a zero-memset 2018-04-23 12:08:51 +02:00
alessandro
c0efe2db56 tap_esc: replaced PWM_DEFAULT_UPDATE_RATE 2018-04-23 12:08:51 +02:00
alessandro
d7c9f5c101 tap_esc: paranoid check 2018-04-23 12:08:51 +02:00
alessandro
c869fa3431 tap_esc: moved device path to drv_tap_esc.h 2018-04-23 12:08:51 +02:00
Daniel Agar
5f175f9712
Update submodule nuttx to latest px4_firmware_nuttx-7.22+ (#9354)
- Changes: fe0dc6c41a...65b87d092a

    65b87d0 2018-04-19 Daniel Agar - [PX4 BACKPORT] Merged in dagar/nuttx/pr-stm32f777_typo (pull request #628)
2018-04-23 00:18:19 -04:00
Daniel Agar
0e823c82b6
FW landing check if prev valid before using (#9284) 2018-04-21 12:03:46 -04:00
Roman
4be4b9810e mpu9250 wrapper: support updating gyro & accel cutoff via parameter
- useful for tuning snapdragon flight

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-20 11:53:31 -04:00
alessandro
b066ef3427 libecl: checked out recent commit of master (#9339)
* ECL update includes physical constants for https://github.com/PX4/Firmware/pull/9319
2018-04-19 11:25:39 -04:00
CarlOlsson
56150c28dd ll40ls: increase the sleep time after resetting registers
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2018-04-19 07:52:15 +02:00
CarlOlsson
cbf3cee096 ll40ls: increase the number of samples used to find a correlation peak for LitarLite
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2018-04-19 07:52:15 +02:00
Daniel Agar
d75fd72c02 stop manually defining physical constants 2018-04-19 07:24:58 +02:00
Daniel Agar
7538ea44e3 Jenkins add VTOL tiltrotor mission test 2018-04-19 07:21:00 +02:00
Roman
7fa91ad3dd posix-configs: increase tailsitter land speed
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-18 17:23:38 -04:00
Roman
bb4b5e7c1d posix-configs: set tailsitter SITL SYS_AUTOSTART to quad tailsitter
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-18 17:23:38 -04:00
Roman
694df08b37 posix-configs: better tailsitter front transition parameters
- reduce height increase during front transition

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-18 17:23:38 -04:00
Daniel Agar
e0cb5a6164 Jenkins add tailsitter CI mission 2018-04-18 17:23:38 -04:00
Roman
e7e791fb1a tailsitter: use forward transition throttle for climb-rate controlled mode
- the mc pos controller will decrease throttle during the transition
and thus the vehicle will not pick up enough airspeed to complete the
transition

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-18 17:23:38 -04:00
Roman
0f1c9504d5 FixedWingPositionControl: rotate attitude consistenly for tailsitters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-18 16:20:15 +02:00
Beat Küng
e46e6f99f3 module template: move documentation to a new category 'template' (#9324) 2018-04-18 08:53:52 -04:00
alessandro
a05bf390c1 rc_check: typos in mavlink error 2018-04-18 13:15:16 +02:00
alessandro
5ebe76207d tap_esc: formatting and renaming 2018-04-18 07:48:24 +02:00
alessandro
05548829d3 tap_esc: addressing review comments for #9313 2018-04-18 07:48:24 +02:00
alessandro
4f5644c0ef tap_esc: more cleanup
- removing unused variables
- removing unused code blocks
- improving code readability
- initialising members at definition
2018-04-18 07:48:24 +02:00
alessandro
1ab2d22e42 tap_esc: removed redundant _initialized member 2018-04-18 07:48:24 +02:00
alessandro
b49ccb889c tap_esc: removed unused NO_VERIFY_CONFIG 2018-04-18 07:48:24 +02:00
alessandro
edf6f6c97a tap_esc: removed unnecessary includes 2018-04-18 07:48:24 +02:00
alessandro
fceffb1d01 tap_esc: removed unused mode var/struct 2018-04-18 07:48:24 +02:00
Alessandro Simovic
b71ac78959 tap_esc: converted to module 2018-04-18 07:48:24 +02:00
Alessandro Simovic
5da7beb8f5 tap_esc_common: docs & function return types etc. 2018-04-18 07:48:24 +02:00
Alessandro Simovic
f95b823e31 tap_esc: moved common functions to tap_esc_common 2018-04-18 07:48:24 +02:00
Alessandro Simovic
4ab8c2a682 tap_esc: made _uart_fd a class member 2018-04-18 07:48:24 +02:00
Beat Küng
64aab8a685 rcS: do not reset COM_FLTMODE* on airframe change
An airframe change keeps all RC params except the flight modes. This fixes
that.
2018-04-17 14:17:20 +02:00
Hamish Willee
1a0c312f28 Fix description of VT_FW_ALT_ERR 2018-04-17 08:28:05 +02:00
Daniel Agar
7bc3a12efe commander move telemetry checks to new preflightcheck helper 2018-04-16 20:43:33 -04:00
Daniel Agar
64fb4b43b6 commander preflightCheck don't report failures during calibration 2018-04-16 20:43:33 -04:00
Daniel Agar
2271b3f127 commander preflight checks pass status and status_flags messages 2018-04-16 20:43:33 -04:00
Daniel Agar
f2104217d4 commander arm_auth check last 2018-04-16 20:43:33 -04:00
Daniel Agar
a2bc0bd947 commander prearm_check limit simultaneous error messages 2018-04-16 20:43:33 -04:00
Daniel Agar
55596fad20 commander move safety check to prearm 2018-04-16 20:43:33 -04:00
Daniel Agar
a4703c6be4 commander arming state transition consolidate HIL special checks and remove atomic 2018-04-16 20:43:33 -04:00
Daniel Agar
54ea78898c commander arming state transition delete useless errors 2018-04-16 20:43:33 -04:00
Daniel Agar
1400652724 commander arming state machine pass checks by default
- this is needed for the unit tests
2018-04-16 20:43:33 -04:00
Daniel Agar
f81a1aedcd commander state machine add global position check 2018-04-16 20:43:33 -04:00
Daniel Agar
729c98d9e2 commander move avionics rail voltage check out of state machine
- add preflight_check helper
2018-04-16 20:43:33 -04:00
Daniel Agar
8931f1a75c commander set status_flags.usb_connected directly and delete static 2018-04-16 20:43:33 -04:00
Daniel Agar
415c5f13bb commander move power check to prearm_check 2018-04-16 20:43:33 -04:00
Daniel Agar
c679703da4 commander move arm authorization to prearm_check 2018-04-16 20:43:33 -04:00
Daniel Agar
082126610d commander status flags delete condition_system_prearm_error_reported
- this flag often results in hiding useful information, or adding
   useless information to the mavlink console
2018-04-16 20:43:33 -04:00
Daniel Agar
8f543d300d commander COMPONENT_ARM_DISARM remove useless arm error 2018-04-16 20:43:33 -04:00
Daniel Agar
c673c9f531 commander preflight sensor failure report one at a time 2018-04-16 20:43:33 -04:00
Daniel Agar
bb13b602e2 commander arming_state_transition cleanup preflight and prearm calls
- only call prearm if preflight passes
 - prearm always provide feedback
2018-04-16 20:43:33 -04:00
Daniel Agar
208e320975 commander prearm_check is always prearm 2018-04-16 20:43:33 -04:00
Daniel Agar
e73317a720 commander preflightCheck fail silently for the 2 seconds (rather than skip checks entirely) 2018-04-16 20:43:33 -04:00
Daniel Agar
e5d9c826d8 commander state machine fix preflight and prearm error
-  fixes #9155
2018-04-16 20:43:33 -04:00
Daniel Agar
35bf37d617 commander state machine helper shorten names 2018-04-16 20:43:33 -04:00
Simone Guscetti
8a7dc1b320 commander: Remove usb_ connected flag on battery warnings
Battery warning gets only fired if a battery is inserted.
2018-04-16 14:33:43 -04:00
Thomas Stastny
71170dce0a mavlink: HIGHRES_IMU set diff_pressure in fields_updated (#9296) 2018-04-16 11:43:52 -04:00
alessandro
c16e17f47b mag_calibration: only allocate as much memory as needed 2018-04-16 14:49:45 +02:00
Beat Küng
123f11fcdd land_detector: use user-defined literals for time constants 2018-04-14 13:45:57 +02:00
Beat Küng
e98919cf3c drv_hrt: add user-defined integer literals for time constants
The goal is to improve the readability for expressions like:
if (hrt_elapsed_time(&start_time) > 8000000)

Available since C++11
2018-04-14 13:45:57 +02:00
Daniel Agar
17beeb13c4 Jenkins set CCACHE_BASEDIR on Mac 2018-04-14 02:11:30 -04:00
Daniel Agar
e9aa79e309
Update submodule ecl to latest Fri Apr 13 20:26:41 CDT 2018 (#9303)
- ecl in PX4/Firmware (163fdded13d1cb48ea4849a4596feaa7025cb796): ba2b9dfdd9
    - ecl current upstream: 02e319431b
    - Changes: ba2b9dfdd9...02e319431b

02e3194 2018-04-11 Daniel Agar - cmake remove embedded vim settings
91b5bfe 2018-04-11 Daniel Agar - attitude_fw remove unused perf include
02055ac 2018-04-09 Paul Riseborough - EKF: Fix non GPS aiding data reset logic (#418)
2018-04-13 23:43:48 -04:00
Daniel Agar
90b81cf4c4 move check stack to cmake and run in Jenkins 2018-04-13 23:24:34 -04:00
PX4 Jenkins
0c9f483581 Update submodule DriverFramework to latest Fri Apr 13 20:26:36 CDT 2018
- DriverFramework in PX4/Firmware (1297859680ce15980a970c95d7caa95be67957c7): f98ea65e9b
    - DriverFramework current upstream: e06222dd15
    - Changes: f98ea65e9b...e06222dd15

    e06222d 2018-04-11 Daniel Agar - cmake change px4_add_module -> px4_add_library
2018-04-13 23:22:43 -04:00
Daniel Agar
119fe0a24f
Update submodule v2.0 to latest Fri Apr 13 20:26:31 CDT 2018
- v2.0 in PX4/Firmware (23017d051b7ff6686c8c8ff025a8e98af094780a): 163d4c84b9
    - v2.0 current upstream: c55dd0ec31
    - Changes: 163d4c84b9...c55dd0ec31

    c55dd0e 2018-04-12 PX4BuildBot - autogenerated headers for rev 292874beed
e2916e5 2018-04-10 PX4BuildBot - autogenerated headers for rev 012765b923
2018-04-13 23:21:45 -04:00
PX4 Jenkins
8c9b941e60 Update submodule sitl_gazebo to latest Fri Apr 13 20:26:27 CDT 2018
- sitl_gazebo in PX4/Firmware (4ffa98aa2a1418c9eab5bf72ec6f0e93ef2f9860): 28921bca9d
    - sitl_gazebo current upstream: 0df46c53b1
    - Changes: 28921bca9d...0df46c53b1

    0df46c5 2018-04-13 Tully Foote - Only use catkin env hook command if building with catkin.
38c0d07 2018-04-12 Tully Foote - Add package to GAZEBO_RESOURCE_PATH to make the worlds accessible.
5811488 2018-04-11 Tully Foote - updating OpticalFlow submodule
7c79bd7 2018-04-10 Tully Foote - Add environment hooks to export paths for plugins and resources.
2018-04-13 23:21:05 -04:00
Daniel Agar
4ffa98aa2a
Jenkins add OSX builds and disable circleci (#9198) 2018-04-12 12:19:44 -04:00
Beat Küng
d4faaff854 logger: remove some unneeded SITL topics
We got over the limit
2018-04-12 11:32:15 +02:00
Roman
c206e0f1ac vtol_type.cpp: close pwm output device file descriptor
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
bd434636e9 vtol_type: avoid code duplication
- created one method which has access to the pwm output device

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
733d773bcc drv_pwm_output: include board config header
- board config can define PX4_PWM_ALTERNATE_RANGES which needs to be known
by the compiler prior to processing this file

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
41a9ac0acb vtol_att_control: initialise VT_FW_MOT_OFFID correcly for standard vtol
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
df53dce6e1 vtol_type.h: initialise flag_idle_mc correctly
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
cd49c4bc17 vtol_type: improve comments
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
79ff1436b8 vtol_att_control: move handling of motor state and idle speed selection
to VtolType class

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman
744f806214 vtol_att_control: merge methods to disable a selection of motors
- moved methods used to modify channel maximum pwm value to VtolType
class so that the can be shared by the differnt vtol types

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Daniel Agar
00f98c64db VTOL preserve PWM min and max when enabling/disabling actuators 2018-04-12 09:19:47 +02:00
Daniel Agar
a78ab02144 fw_pos_control_l1 don't store TECS and L1 parameters 2018-04-12 00:46:49 -04:00
Daniel Agar
d2abd53692 mixer lib remove custom constrain and cleanup includes 2018-04-12 00:14:50 -04:00
Daniel Agar
08cc963de3 px4iofirmware use std NAN instead of undefined 0.0f/0.0f
- closes #9277
2018-04-12 00:14:50 -04:00
Daniel Agar
1ecfb22dbc EKF2 move all orb_subscribe/unsubsribe to the constructor/destructor 2018-04-11 23:26:58 -04:00
Daniel Agar
2a58c7a28c EKF2 and replay add all consumed messages to ekf2_timestamps and refactor 2018-04-11 23:26:58 -04:00
Daniel Agar
07edec282e replay update sensor_combined fields 2018-04-11 23:26:58 -04:00
Daniel Agar
3b5b12e1d1 move baro and magnetometer data out of sensor_combined 2018-04-11 23:26:58 -04:00
Paul Riseborough
3e6ba1d541 simulator: Use baro pressure direct from simulator 2018-04-11 23:26:58 -04:00
Daniel Agar
5dc23def2a move pressure altitude from baros to sensors module 2018-04-11 23:26:58 -04:00
Daniel Agar
bdf4f19867
enable -fno-math-errno as we never check errno (#9281)
- disables setting of the errno variable as required by C89/C99 on calling math library routines
2018-04-11 22:17:39 -04:00
Mohammed Kabir
28f9b38919 mavlink : fix pointer for main_mode and sub_mode 2018-04-11 22:03:12 +02:00
Oleg Kalachev
1b1617b5a0 Add new mode AUTO_PRECLAND 2018-04-11 14:50:07 -04:00
Beat Küng
f02ef20a23
commander: set timestamp for vehicle_command publication 2018-04-11 15:19:47 +02:00
acfloria
0caa4dc171 Mavlink: Don't use a packed struct as input for the convert_limit_safe function
- Addional small cleanup of the iridium driver and the include guards of mavlink module header files
2018-04-11 15:15:28 +02:00
acfloria
477a4e7ec8 MavlinkReceiver: Don't start MissionManager in IRIDIUM mode 2018-04-11 15:15:28 +02:00
acfloria
41de588a73 Move HIGH_LATENCY2 stream to separate file and update some comments" 2018-04-11 15:15:28 +02:00
acfloria
fb1bb7a769 Move the SimpleAnalyzer to a separate file 2018-04-11 15:15:28 +02:00
acfloria
ae807fc189 Move VEHICLE_CMD_CONTROL_HIGH_LATENCY ack to commander 2018-04-11 15:15:28 +02:00
acfloria
975d7ddcb2 IridiumSBD: Clean up MavLink message parsing 2018-04-11 15:15:28 +02:00
acfloria
f1a6aecb4d IridiumSBD: Log tx buffer reset in the telemetry_status instead of a status text 2018-04-11 15:15:28 +02:00
acfloria
53fdbb6c04 Remove unnecessary newlines 2018-04-11 15:15:28 +02:00
acfloria
219980cec1 Commander: Combine telemetry variables into struct 2018-04-11 15:15:28 +02:00
acfloria
6f0d3ffe9b Mavlink: Add acknowledge for VEHICLE_CMD_CONTROL_HIGH_LATENCY 2018-04-11 15:15:28 +02:00
acfloria
2a5c7efd8d Mavlink: Use filtered update rate for HIGH_LATENCY2 stream instead of main loop delay 2018-04-11 15:15:28 +02:00
acfloria
e9dde721f7 Commander: Remove Mavlink from CMakeFile 2018-04-11 15:15:28 +02:00
acfloria
8c0450b483 revert v2 cmake changes 2018-04-11 15:15:28 +02:00
acfloria
b95d65df53 Commander: Fix bug when changing to high latency telemetry
Due to the old heartbeat of the high latency telemetry when activating it after flying sufficiently long in normal telemetry it is first detected as lost until the first message is sent.
By updating the heartbeat to the current time on switching this issue is avoided.

Also includes a small style fix for the HIGH_LATENCY2 stream
2018-04-11 15:15:28 +02:00
acfloria
1124a397f2 Commander: Move telemetry logic to separate functions 2018-04-11 15:15:28 +02:00
acfloria
443a4016af Commander: Improve handling and generating of VEHICLE_CMD_CONTROL_HIGH_LATENCY 2018-04-11 15:15:28 +02:00
acfloria
da57dbbce0 Increase the MavLink module stack size 2018-04-11 15:15:28 +02:00
acfloria
b66b997c66 IridiumSBD: Robustify state machine and fix format
- Check if changing to a non standby state if the current state is the standy state and no change is already scheduled.
- Add prefix _ to all class variables
2018-04-11 15:15:28 +02:00
acfloria
63cb895a1d MavlinkStream: Ensure that not multiple messages are sent after some time sending nothing 2018-04-11 15:15:28 +02:00
acfloria
0e89a6b8bd IridiumSBD: Do not allow stopping the driver when the device is used to prevent hardfault 2018-04-11 15:15:28 +02:00
acfloria
d4f703bde8 IridiumSBD: Improve TX buffer handling
- Allow using the full buffer size (340 bytes)
- Add tx mutex for sbd session to avoid dropping message which are written during an sbd session
2018-04-11 15:15:28 +02:00
acfloria
28da1492d3 IridiumSBD: Only write to modem if new data arrived 2018-04-11 15:15:28 +02:00
acfloria
44937c3a99 Iridiumsbd driver: Publish log message when TX buffer is deleted 2018-04-11 15:15:28 +02:00
acfloria
47567c5c24 Improve IridiumSBD TX buffer handling
- Every time data is written to the iridium module all previous untransmitted data is overwritten
- The buffer is reset only on the following conditions
    - A sbd session is successfully completed
    - An incoming mavlink message would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written
    - Any other incomming data would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written to the buffer.
2018-04-11 15:15:28 +02:00
acfloria
6c3857a147 Remove exception for command acknowledge in mavlink transmitting 2018-04-11 15:15:28 +02:00
acfloria
f5a66782e5 Reduce required stack for HIGH_LATENCY2 2018-04-11 15:15:28 +02:00
acfloria
ebb5ec7c46 Fix bug when ISBD parameters were too large 2018-04-11 15:15:28 +02:00
acfloria
edd337880d Improve message handling in mavlink IRIDIUM mode
- Do not send any mission updates as they are handled within HIGH_LATENCY2
- Always send a command acknowledge even if transmitting is not enabled
2018-04-11 15:15:28 +02:00
acfloria
32815dc1d3 Only generate the HIGH_LATENCY2 message if transmitting is allowed 2018-04-11 15:15:28 +02:00
acfloria
22e234724f Update timestamp for last sent message im mavlink stream only if the message was sent 2018-04-11 15:15:28 +02:00
acfloria
1fd8b681a0 Transmit one message over high latency telemetry on boot 2018-04-11 15:15:28 +02:00
acfloria
392af4fbb6 Small improvements for the IridiumSBD driver 2018-04-11 15:15:28 +02:00
acfloria
e061b1a3a5 Do not enable hil for high latency mavlink 2018-04-11 15:15:28 +02:00
acfloria
e01763a7c7 Set the HIGH_LATENCY2 stream to a constant rate 2018-04-11 15:15:28 +02:00
acfloria
17a157b9da Adopt high latency switching to new MAV_CMD design 2018-04-11 15:15:28 +02:00
acfloria
fa1586249a Fixes IridiumSBD driver bug when transmitting data 2018-04-11 15:15:28 +02:00
acfloria
ce1b908714 Adopt mavlink stream to new HIGH_LATENCY2 definition 2018-04-11 15:15:28 +02:00
acfloria
78950f2b39 Fix format and remove ets driver from fmu-v2 build 2018-04-11 15:15:28 +02:00
acfloria
cbe75188e9 Add the HighLatency2 mavlink stream 2018-04-11 15:15:28 +02:00
acfloria
75ed9b002b Add the SimpleAnalyzer to generate messages for MAVLink streams 2018-04-11 15:15:28 +02:00
acfloria
a026575e37 commander: Fix for qurt and improve high latency switch logic 2018-04-11 15:15:28 +02:00
acfloria
1cc84ad8c9 Remove magic numbers from commander.cpp and style fixes 2018-04-11 15:15:28 +02:00
acfloria
00f6ef1d2f Style fix and iridium signal check rate fix 2018-04-11 15:15:28 +02:00
acfloria
1223a9abd5 Commander: High latency telem fallback only in non-manual mode 2018-04-11 15:15:28 +02:00
acfloria
b613ca051a Refactor Iridiumsbd driver
- Reorder functions so that they have the same order in the .h and .cpp file
- Update documentation for functions
- Make variables and some functions private
2018-04-11 15:15:28 +02:00
acfloria
634697946a Add switch logic for high latency telemetry in commander
Switch to the high latency telemetry, if available, if every low latency link is lost. Switch back if any low latency link is regained. Only indicate that all links are lost if all high and low latency links are lost. Allow different timeouts for high and low latency links.
2018-04-11 15:15:28 +02:00
acfloria
4f256cca20 Improvements for the iridiumsbd driver
- Update heartbeat after successful sbd session and fill it in the telemetry_status message
- Add parameter for session timeout, read interval, and stacking time
- Add sbd session timeout
- Fix updating the rssi at a constant rate when no sbd session is scheduled
- Add variable timout to read_at function
- Check if test command is valid to avoid being stuck in the test state
2018-04-11 15:15:28 +02:00
acfloria
631f314e89 En-/disable transmitting from a mavlink instance using a uORB message
Allow enabling/disabling transmitting data from all mavlink instances
with a specific mode/type. When disabled the instance can still receive
data. The uORB message used is the vehicle_command and uses the following
parameter:
param1: Specifies the mode/type of the instances to enable/disable transmitting
param2: Boolean to indicate if transmitting should be enabled or disabled
2018-04-11 15:15:28 +02:00
Roman
8f9e8a6282 FixedWingAttitudeControl: use trim airspeed if airspeed is disabled
- prior to this fix the fw attiude controller used airspeed to scale control
surfaces even though airspeed was disabled

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-11 15:03:45 +02:00
Matthias Grob
711b21cc5b mc_att_control: improve a quaternion control comment 2018-04-11 11:14:47 +02:00
Beat Küng
b52a8de5ff nuttx_px4fmu-v2_test.cmake: enable modules required to build mc_pos_control
due to param dependencies
2018-04-11 07:47:06 +02:00
Beat Küng
90513e719e ASSERT: remove some inappropriate asserts
Since assertions lead to crashes, we need better failure handling. In all
the cases in this patch, the assert is not required.

All the ones with the task id should be replaced with the module base
class.

Ah yes, and this reduces flash space, since the ASSERT macro will expand to
a printf that contains the source file name.
2018-04-11 07:47:06 +02:00
Beat Küng
a8645b51d5 voted_sensors_update: reduce flash usage by allowing compiler to dedup equal strings
reduces roughly 130 bytes. Almost enough to pass CI.
2018-04-11 07:47:06 +02:00
Beat Küng
b97d432844 px4_param.h: add override to _DEFINE_PARAMETER_UPDATE_METHOD_CUSTOM_PARENT 2018-04-11 07:47:06 +02:00
Beat Küng
5eb7d8ec5f flight tasks smoothing: refactor param_find -> Param
Plus some style fixes
2018-04-11 07:47:06 +02:00
Beat Küng
398d511fd9 flight tasks smoothing: fix style issues 2018-04-11 07:47:06 +02:00
Beat Küng
0eaa6222a2 flight tasks: refactor BlockParam -> Param and handle param updates 2018-04-11 07:47:06 +02:00
Beat Küng
2e620cf1d4 mc_pos_control: refactor BlockParam -> Param 2018-04-11 07:47:06 +02:00
nanthony21
0c2b9dc0b8 Fix formatting 2018-04-10 14:03:06 +02:00
nanthony21
d3e9ee88a0 Use filtered throttle for battery estimation instead of raw. 2018-04-10 14:03:06 +02:00
Daniel Agar
036d920070 NuttX cleanup debug helpers and add profile target 2018-04-09 12:07:05 -04:00
Daniel Agar
95f17d5669 px4fmu_test update mixers 2018-04-09 02:23:26 -04:00
Daniel Agar
45eb9cb518 fix typo PX4IO_MAX_MIXER_LENGHT -> PX4IO_MAX_MIXER_LENGTH 2018-04-09 02:23:26 -04:00
Daniel Agar
735c5544ae tests add ctlmath and use float FLT_EPSILON 2018-04-09 02:23:26 -04:00
Daniel Agar
367a18f735 tests temporarily disable mavlink tests on nuttx 2018-04-09 02:23:26 -04:00
Daniel Agar
47fd298143
Update submodule mavlink v2.0 to latest Sun Apr 8 20:31:34 CDT 2018 (#9268)
- v2.0 in PX4/Firmware (3ec37aa186a07681e6383f1cefa565a1ee74eaef): 95d4cb3b21
    - v2.0 current upstream: 163d4c84b9
    - Changes: 95d4cb3b21...163d4c84b9

    163d4c8 2018-04-08 PX4BuildBot - autogenerated headers for rev 07c4fc5f61
2018-04-08 23:40:12 -04:00
stmoon
3ec37aa186 clarify the codes of LPE 2018-04-08 11:13:47 -04:00
Daniel Agar
3b64325ff8 update px4fmu_test and add px4fmu-v2_test to Jenkins 2018-04-07 22:32:53 -04:00
Beat Küng
f1f72c70e0 commander: immediately publish kill switch state change 2018-04-06 11:29:49 +02:00
barzanisar
d025eb0da0 explaining why we send 30 bytes crtp msg data instead of 31 2018-04-05 18:11:03 +02:00
barzanisar
7ac3c97aad Improve the Crazyflie MAVLink tunnel to increase efficiency
This change fragments MAVLink packets more efficiently and therefore increases the net throughput. This in turn makes the connection significantly more stable and the Crazyflie experience overall more usable.
2018-04-05 18:11:03 +02:00
Roman
d6a86dfa56 tailsitter: do not condition transition on airspeed if airspeed disabled
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-05 08:48:36 +02:00
Daniel Agar
23d25f2a22 aerocore2 config remove telemetry modules, FW and GND controllers 2018-04-05 07:30:12 +02:00
Dennis Mannhart
48fa3fbca3 PositionControl: thrust setpoint check with fabsf 2018-04-05 07:30:12 +02:00
Dennis Mannhart
26ffda5079 PositionControl: replace matrix length() method with simple dot-product to safe compuation 2018-04-05 07:30:12 +02:00
Dennis Mannhart
0c6c771620 ControlMath: remove unused methods 2018-04-05 07:30:12 +02:00
Dennis Mannhart
81da94ff46 PositionControl: Anti-windup that uses max in NE based on tilt limit and remaining throttle
excess
2018-04-05 07:30:12 +02:00
Matthias Grob
f99471f34c PositionControl: refactor remove Data define for Vector
This define results in super unreadable code.
2018-04-05 07:30:12 +02:00
Matthias Grob
2405baa2c9 FlightTasks: fix manual mode takeoff
With the new position control architercture manual mode and
potition mode run through the same logic and as a result
it had a throttle thershold for smooth takeoff also in
manual mode. This is fixed by by ignoring the threshold for
any mode which doesn't control the climb rate.
2018-04-05 07:30:12 +02:00
Matthias Grob
4bf33339dc FlightTaskManualStabilized: remove double limit of yawspeed
The same paramater was used twice, once for scaling the yaw stick
and once for limitng just after. This was useless.
2018-04-05 07:30:12 +02:00
Matthias Grob
eaf4f99e38 FlightTasks: adapt tasks to member setpoints
The FlightTaskManual... tasks already had their internal
setpoint member variables. I switched them to use the
architecture with setpoint member variables as it was
implemented the commit before. They simplify a lot.
2018-04-05 07:30:12 +02:00
Matthias Grob
309237c4a2 FlightTasks: replace setpoint setters with members
I realized that instead of using the setpoint setters inline
in real world tasks everyone started to have its own setpoint
member variable and only call the setter in the end for all the
privatly generate setpoints. This makes the setter useless and
therefore I switched to member setpoints in the architecture.
They bring more felxibility which is obviously needed but also
less structure which is the price to pay.
2018-04-05 07:30:12 +02:00
Dennis Mannhart
e15240d3ad FlightTask: only allow for position and alitude control without smoothing.
This commit is only done to enable incremental testing of Flighttask.
2018-04-05 07:30:12 +02:00
Matthias Grob
dc60bc8766 mc_pos_control: enable flight tasks
instantiate flight tasks and the refactored position controller class
only use the new functionality if a temporary parameter is set for testing
2018-04-05 07:30:12 +02:00
Matthias Grob
0dcad42f57 mc_pos_control: refactor, indent control block
individual commit for the indentation because otherwise
the diff gets unreadable. this indentation is made because
afterwards the entire legacy position control functionality
is in an else case.
2018-04-05 07:30:12 +02:00
Matthias Grob
5ee136fe10 mc_pos_control: refactor, move landed thrust reduction into function
and make it use matrix library for flight task compatibility

# Conflicts:
#	src/modules/mc_pos_control/mc_pos_control_main.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob
fabf214bca mc_pos_control: refactor, move smooth takeoff velocity into a function
# Conflicts:
#	src/modules/mc_pos_control/mc_pos_control_main.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob
d5f90a1503 FlightTasks: add library to cmake configurations
all the ones with mc_pos_control need the library, we should use cmake dependencies!
2018-04-05 07:30:12 +02:00
Matthias Grob
8b4471d842 FlightTasks: comment out mavlink command processing
because upstream there needs to be a
common mavlink command definition first
and then it can be easily reenabled again
2018-04-05 07:30:12 +02:00
Matthias Grob
cf48ceb428 Revert "Subscription remove unused instance class member"
This reverts commit cf2d794da9026dfe7ba2cd746e767fddaf4666e3.
2018-04-05 07:30:12 +02:00
Dennis Mannhart
88cf2aebc6 PositionControl: comment fix + unused parameter removal 2018-04-05 07:30:12 +02:00
Dennis Mannhart
421aeb69d8 FlightTaskManual: transformation into heading frame use vehicle yaw or yaw_sp based
on vehicle rotation in yaw
2018-04-05 07:30:12 +02:00
Dennis Mannhart
ab8527cc8f FlightTaskManualStabilized: limit manual yaw rate in flighttask 2018-04-05 07:30:12 +02:00
Dennis Mannhart
03b3026e18 PositionControl: remove unused parameters 2018-04-05 07:30:12 +02:00
Dennis Mannhart
67900512ab PositionControl: remove legacy yaw logic 2018-04-05 07:30:12 +02:00
Dennis Mannhart
017576262c FlightTaskManual: replace yaw with yaw_sp for rotation 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ec79b2f8c8 ControlMath: don't consider sign when vector length is 0 2018-04-05 07:30:12 +02:00
Dennis Mannhart
bd37c274c6 PositionControl: parameter naming fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
59bddf339a ManualSmoothingXY: brake with large default jerk max 2018-04-05 07:30:12 +02:00
Dennis Mannhart
25c33d18b0 FlightTaskSport: just scale velocity septoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart
fc62df856d ControlMath: reference to by value 2018-04-05 07:30:12 +02:00
Dennis Mannhart
16d6ac6ad1 FlightTaskManualStabilized: check for 0 maximum tilt and scale throttle linearly 2018-04-05 07:30:12 +02:00
Dennis Mannhart
7f406aa251 FlightTaskManualSmoothingZ: remove empty space 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6538a7e88c FlightTaskSport: replace rotation by axis angle 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5bd2afa7be FlightTaskManualPositionSmooth: remove unused mehthods and member variables 2018-04-05 07:30:12 +02:00
Dennis Mannhart
d6fe2159ae FlightTaskManualPosition: remove update method and old member variable setpoints 2018-04-05 07:30:12 +02:00
Dennis Mannhart
a7f4859698 FlightTaskManualAltitudeSmooth: remove unused member methods/variables 2018-04-05 07:30:12 +02:00
Dennis Mannhart
c15b114cad FlightTaskManualAltitude: remove member setpoints and update method 2018-04-05 07:30:12 +02:00
Dennis Mannhart
4b49b0ed7a FlightTaskManualStabilized: update method that sets all member setpoints 2018-04-05 07:30:12 +02:00
Dennis Mannhart
2db2ef824b FlightTaskManual: move all setpoints into base class 2018-04-05 07:30:12 +02:00
Dennis Mannhart
2e9cb659c9 FlightTaskManual: method to reset all members setpoints to NAN 2018-04-05 07:30:12 +02:00
Dennis Mannhart
52eeb02549 empty setpoint add NAN for thrust, add comment 2018-04-05 07:30:12 +02:00
Dennis Mannhart
fb2ce062e4 FlightTask: rebse fix for empty setpoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart
f2f5f41641 FlightTaskManualSmoothing: change name of method 2018-04-05 07:30:12 +02:00
Dennis Mannhart
01073d36e5 FlightTaskManualPosition: use axis angle to rotate into world frame 2018-04-05 07:30:12 +02:00
Matthias Grob
d22af4679d FlightTaskManualAltitude/Position: renamed and recommented velocity hold threshold 2018-04-05 07:30:12 +02:00
Matthias Grob
6fb9ca3b0c FlightTasks: corrected comment and sorted out unnecessary includes 2018-04-05 07:30:12 +02:00
Matthias Grob
e1a81c7978 FlightTaskManual: remove unnecessary activate method 2018-04-05 07:30:12 +02:00
Matthias Grob
e8cc93ec23 FlightTasks: create enumeration type for the task index while still offering integer index with checks 2018-04-05 07:30:12 +02:00
Matthias Grob
f135e6dda0 FlightTasks: switch field name from thr to thrust + some code spacing 2018-04-05 07:30:12 +02:00
Alessandro Simovic
f8e4e82bba snapdragon: Applied camelCasing 2018-04-05 07:30:12 +02:00
Alessandro Simovic
01ecb05341 snapdragon: changed constexpr to const in FlightTask so that it would compile 2018-04-05 07:30:12 +02:00
Alessandro Simovic
50c1eba392 snapdragon: fixed compiler shadow warning, function name was identical as a variable name 2018-04-05 07:30:12 +02:00
Alessandro Simovic
cc41d8ccab snapdragon: added missing includes 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ca046af8ca clang-tidy: don't check for pass-by-value optimization 2018-04-05 07:30:12 +02:00
Dennis Mannhart
d64b59b95f FlightTaskUtility: remove duplicate slewrate 2018-04-05 07:30:12 +02:00
Dennis Mannhart
c1bb0cbdcc smoothing xy: remove unused variable 2018-04-05 07:30:12 +02:00
Dennis Mannhart
23b294b434 tests smoothz: fix fabsf and consider rest once previous velocity is zero 2018-04-05 07:30:12 +02:00
Dennis Mannhart
59f3de192f ManualSmoothingXY: velocity as criteria for direction change to prenvent fast acceleration at low spped 2018-04-05 07:30:12 +02:00
Dennis Mannhart
13eb79ffb8 FlightTasks: fix class name 2018-04-05 07:30:12 +02:00
Dennis Mannhart
bb00f6d737 FlightTaskManualPosition: update to new smoothing interface 2018-04-05 07:30:12 +02:00
Dennis Mannhart
4f17fb1303 ManualSmoothingXY: detect alignement based on body frame; do direction change only if not yawspeed is demanded 2018-04-05 07:30:12 +02:00
Dennis Mannhart
40d77d2234 FlightTaskManualStabilized: remove second ; 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5cfd93040f ManualSmoothZ: move vel_sp_previous update into class 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ed62056b7c FlightTaskManualPositionSmooth: smooth xy and z 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ac6ed74063 Add FlightTaskManualPositionSmooth 2018-04-05 07:30:12 +02:00
Dennis Mannhart
26889bc0e1 ManualSmoothing in xy 2018-04-05 07:30:12 +02:00
Dennis Mannhart
1ddcc7a3ee FlightTaskManaulAltitude: fix activation 2018-04-05 07:30:12 +02:00
Dennis Mannhart
0ec312ef3d FlightTaskManualAltitude: fix update 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6a639373ae PositionControl: set vel_dot to 0 if thrust setpoint is used 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5ad37cec71 FlightTaskManualAltitudeSmooth: update vel sp z 2018-04-05 07:30:12 +02:00
Dennis Mannhart
153b012df6 FlighTaskManual lock condition: rename boolean 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5d06464340 FlightTaskManualPosition: rename updateXYsetpoints to updateXYlock 2018-04-05 07:30:12 +02:00
Dennis Mannhart
efc2721add FlightTaskManualAltitude: rename method from updateZsetpoints to updateAltitudeLock 2018-04-05 07:30:12 +02:00
Dennis Mannhart
1810ae8226 ManualSmoothingZ: remove description in cpp file 2018-04-05 07:30:12 +02:00
Dennis Mannhart
39c77546d3 FlightTaskManualAltitudeSmooth: create taks 2018-04-05 07:30:12 +02:00
Dennis Mannhart
d44c406fb2 ManualSmoothingZ: unittests 2018-04-05 07:30:12 +02:00
Dennis Mannhart
54a5e177f3 ManualSmoothingZ: comments cleanup and style fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
08dfd0c495 ManualSmoothingZ: better getMaxAcceleration handling 2018-04-05 07:30:12 +02:00
Dennis Mannhart
0b551c1ede ManualSmoothingZ: style fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5343e49d1e CmakeLists Task: add ManualSmoothingZ 2018-04-05 07:30:12 +02:00
Dennis Mannhart
c4fbde395b ManualSmoothing: new class for smoothing setpoints generated from sticks 2018-04-05 07:30:12 +02:00
Dennis Mannhart
3d591f4f8c FlightTaskManualAltitude: thrust along xy depends on thrust along z direction 2018-04-05 07:30:12 +02:00
Dennis Mannhart
157814b710 FlightTaskManualAltitude/Position/Stabilized: activate with 0 velocity and hover thrust 2018-04-05 07:30:12 +02:00
Dennis Mannhart
8bafdba4f9 FlightTaskManualStabilized: update comments 2018-04-05 07:30:12 +02:00
Dennis Mannhart
85a263c7bd vehicle local position setpoint: use array for thrust setpoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart
a74c1116ee mc_pos_control/PositionControl: enable thrust setpoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart
0ca823eb30 PositionControl: remove thrust as state; add thrust setpoint support 2018-04-05 07:30:12 +02:00
Dennis Mannhart
d7c48ea5f2 FlightTaskManualAltitude/Position: set thrust setpoint to NAN (only temporary) 2018-04-05 07:30:12 +02:00
Dennis Mannhart
716eea31cf FlightTaskManualStabalized: compute thrust setpoint from sticks 2018-04-05 07:30:12 +02:00
Dennis Mannhart
76ad00497b FlightTasks and local setpoint: add thrust setpoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart
44e4c12eb5 FlightTaskManualAltitude: Comments update 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ad2c16c0ba FlightTaskManual: remove #include px4_defines.h 2018-04-05 07:30:12 +02:00
Dennis Mannhart
25ff03445e FlightTasks: remove description from cpp files 2018-04-05 07:30:12 +02:00
Dennis Mannhart
3b4870b2c2 FlightTaskManual: define as abstract class 2018-04-05 07:30:12 +02:00
Dennis Mannhart
46f0a14c28 FlightTaskStabilized: remove yaw prediction 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5a6ca148ad CMakeListsts FlightTasks: add stabilized 2018-04-05 07:30:12 +02:00
Dennis Mannhart
dcdf4d50a0 FlightTasks: add stabilized and fix switchTask for Altitude and Position 2018-04-05 07:30:12 +02:00
Dennis Mannhart
39731277ad FlightTaskSport: inherit from FlightTaskPosition; only change stickscaling 2018-04-05 07:30:12 +02:00
Dennis Mannhart
72624e14cb FlightTaskManualPosition: make position lock simpler; add underline for protected/private
methods
2018-04-05 07:30:12 +02:00
Dennis Mannhart
24b5d30a0a FlightTaskManualAltitude: remove everything related to yaw, which is now
handled by FlightTaskManualStabilized. Make altitude lock more simple
2018-04-05 07:30:12 +02:00
Dennis Mannhart
e763642a8b FlightTaskManualStabilized: this task will geerate thrust and yaw setpoints.
Thrust is not yet supported
2018-04-05 07:30:12 +02:00
Dennis Mannhart
4b856717b7 FlightTaskManual: replace hold_dz with stick_dz 2018-04-05 07:30:12 +02:00
Dennis Mannhart
a9ac94dd83 Add FlightTasksManual/Altitude to position controller 2018-04-05 07:30:12 +02:00
Dennis Mannhart
98e4afaf6e FlightTaskSport: temporary inherit from FlightTaskManualPosition 2018-04-05 07:30:12 +02:00
Dennis Mannhart
3b0373afda FlightTaskManual: remove unused methods 2018-04-05 07:30:12 +02:00
Dennis Mannhart
7a4796a6e3 rename TranslationControl to PositionControl 2018-04-05 07:30:12 +02:00
Dennis Mannhart
b4d56ed51a mc_pos_control: publish yaw_move_rate 2018-04-05 07:30:12 +02:00
Dennis Mannhart
1cad36efb9 ControlMath: use sign for direction 2018-04-05 07:30:12 +02:00
Dennis Mannhart
b0b72e63e7 TranslationControl: remove throttle 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6a4e3bb94e TranslationControl: update comments 2018-04-05 07:30:12 +02:00
Dennis Mannhart
720271332d FlightTaskManual/Alt/Position: update comments 2018-04-05 07:30:12 +02:00
Dennis Mannhart
55b6f19367 FlightTaskManual: remove stick_deadzone because base class already has it.
Remove deadzone check for vel in xy/z because expo already contains deadzone
2018-04-05 07:30:12 +02:00
Dennis Mannhart
8da2ff4d77 mc_pos_control: set local position setpoint message for idle; for logging purpose,
always send local position setpoint when in air
2018-04-05 07:30:12 +02:00
Dennis Mannhart
e6f04ad34a FlightTaskManualPosition: fix position lock 2018-04-05 07:30:12 +02:00
Dennis Mannhart
46c7b1c26c FlightTaskManualAltitude: fix position lock; use default constructor for initialization 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ac4379d13f TranslationControl: initialize with default constructor 2018-04-05 07:30:12 +02:00
Dennis Mannhart
e1ab31a5fc TranslationControl: replace matrix::Vector3f with Data 2018-04-05 07:30:12 +02:00
Dennis Mannhart
f1b3010c70 FlightTaskManualAlt/Pos: add deadzone fox xy/z 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ec4089cebf FlightTaskManualAltitude: add deadzone for yaw 2018-04-05 07:30:12 +02:00
Dennis Mannhart
cd1e01d5a0 FlightTaskManual: add px4_defines 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6276d0a8ef FlightTasks CMakeLists: add FlightTaskManualPosition 2018-04-05 07:30:12 +02:00
Dennis Mannhart
26a5eae7b1 FlightTasks: add FlighttaskManualPosition 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ddecb4d3a4 teest_controlmath: incomplete set of thrust to attitude tests 2018-04-05 07:30:12 +02:00
Dennis Mannhart
0afd0807bb FlightTaskPosition: brake depends on acceleration 2018-04-05 07:30:12 +02:00
Dennis Mannhart
bcbd3dc527 ControlMath: thrust to attitude method (legacy method) 2018-04-05 07:30:12 +02:00
Dennis Mannhart
adcb2b9ca8 TranslationControl: index fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
840247251d ControlMath: sign fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
deac27ee52 FlightTaskManualAltitude: brake depends on acceleration; description clean up 2018-04-05 07:30:12 +02:00
Dennis Mannhart
09bf73945a ControlMath: rename namespace to file name 2018-04-05 07:30:12 +02:00
Dennis Mannhart
10a50dd97e FlightTaskManual: switch to camel case 2018-04-05 07:30:12 +02:00
Dennis Mannhart
3b8c718971 TranslationControl: rename variable 2018-04-05 07:30:12 +02:00
Dennis Mannhart
2a544cee43 TranslationControl: use reference insteady of by value 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ded8675dae ControlMath: change description name 2018-04-05 07:30:12 +02:00
Dennis Mannhart
5fbee9fce9 ControlMath tests 2018-04-05 07:30:12 +02:00
Dennis Mannhart
03c81a8948 ControlMath: never saturate in xy when vector is below minimum 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6daf78494a TranslationControl: adjust direction based on constrainPIDu inputs 2018-04-05 07:30:12 +02:00
Dennis Mannhart
75b6af77de ControlMath: fix index and don't adjust sign with method but rather function caller
needs to adjust for sign
2018-04-05 07:30:12 +02:00
Dennis Mannhart
19d50f9511 ControlMath: index fix and scaling fix 2018-04-05 07:30:12 +02:00
Dennis Mannhart
c9cd920642 rename VectorMath to ControlMath 2018-04-05 07:30:12 +02:00
Dennis Mannhart
820d6e866f TransitionControl: replace thrust constraints with VectorMath functions;
temporary: remove thrust projection onto body frame
2018-04-05 07:30:12 +02:00
Dennis Mannhart
41a5ea6daa Multicoper position control: function file for controller specific functions 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6ffa7a96ba mc_pos_control: method for publishing attitude and local_pos_sp 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6e63ddacd2 yaw setpoint: add math::radians 2018-04-05 07:30:12 +02:00
Dennis Mannhart
f0f84d300b TranslationControl: move mc_pos_control related logic into TranslationControl 2018-04-05 07:30:12 +02:00
Dennis Mannhart
9ac32a764f TranslationControl added to CmakeLists.txt 2018-04-05 07:30:12 +02:00
Dennis Mannhart
85c1627c74 TranslationControl: new class that generates thrust vector from state and setpoints 2018-04-05 07:30:12 +02:00
Dennis Mannhart
6adc1755cc FlightTaskManualPosition: most basic implementation 2018-04-05 07:30:12 +02:00
Dennis Mannhart
b5c19f6483 FligtTaskManualAltitude: split functionality such that scale_stick values and the update_setpoints can be overwritten 2018-04-05 07:30:12 +02:00
Dennis Mannhart
ea61af3164 FlightTaskManualAltitude: added to lib 2018-04-05 07:30:12 +02:00
Dennis Mannhart
4f5fa33e74 FlightTaskManualAltitude: scale stick z to velocity 2018-04-05 07:30:12 +02:00
Dennis Mannhart
4dfd9ce8ed FlightTaskOrbit: replace sticks (which are now linear) with expo 2018-04-05 07:30:12 +02:00
Dennis Mannhart
e076825d78 FlightTaskManual: remove everything except of stick mapping 2018-04-05 07:30:12 +02:00
Matthias Grob
2b6e356c91 FlightTaskManual: fix for the sideways oscillations in fast foward flight when using the vehicle yaw estimate 2018-04-05 07:30:12 +02:00
Matthias Grob
089ebcbfa4 FlightTaskManual: fix two very stupid mistakes in the yaw hold logic 2018-04-05 07:30:12 +02:00
Matthias Grob
37e0f91c39 FlightTaskSport: scale maximal stick input to maximal allowed velocity instead of being hardcoded for testing 2018-04-05 07:30:12 +02:00
Matthias Grob
6c0acf8e13 FlightTaskManual: enable non-carrot velocity method also for yaw 2018-04-05 07:30:12 +02:00
Matthias Grob
975ac11635 mc_pos_control: enable yawspeed execution for tasks 2018-04-05 07:30:12 +02:00
Matthias Grob
a896332746 FlightTaskManual: fixed stick vector index bug and enabled basic yaw setpoint control 2018-04-05 07:30:12 +02:00
Matthias Grob
a00c3e4024 FlightTaskSport: created a simple child class of FlightTaskManual that can scale the velocity to a much higher value 2018-04-05 07:30:12 +02:00
Matthias Grob
de872ca047 FlightTaskManual: remove the smoothing from the task to add it later in a child class
also separated the velocity scaling to enable sport mode
2018-04-05 07:30:12 +02:00
Matthias Grob
6070d72308 FlightTasks: Various review refactoring 2018-04-05 07:30:12 +02:00
Matthias Grob
4d0dca5dd5 FlightTask: make applyCommandParameters getting called recursively & pass command by reference 2018-04-05 07:30:12 +02:00
Matthias Grob
4bb3692020 FlightTask: remove unused declaration of old position evaluation method 2018-04-05 07:30:12 +02:00
Matthias Grob
fd93e55527 FlightTaks: prevent running a new task with default parameters because they got rejected 2018-04-05 07:30:12 +02:00
Matthias Grob
d9c7e6321f FlightTasks: Introduce the empty setpoint to reset the setpoint for every loop iteration and return it in case of no task running 2018-04-05 07:30:12 +02:00
Matthias Grob
c500221894 FlightTasks: move methods of the class header into the cpp 2018-04-05 07:30:12 +02:00
Matthias Grob
efd240904f FlightTasks: added possibility to apply task parameters from the vehicle command 2018-04-05 07:30:12 +02:00
Matthias Grob
b1f24da05e FlightTasks: enable mavlink command handling for switching tasks including acknowledgement 2018-04-05 07:30:12 +02:00
Matthias Grob
6ec9ff64d1 FlightTaskManual/Orbit: make sure we are not required stick input data during orbit 2018-04-05 07:30:12 +02:00
Matthias Grob
e5d237088c FlightTasks: refactoring for CamelCase naming convention, small comment and declaration order renicements 2018-04-05 07:30:12 +02:00
Matthias Grob
888a63c001 FlightTasks: bool return values for clarity & introduce updateInitialize() to have input data fetching separated from the update() 2018-04-05 07:30:12 +02:00
Matthias Grob
e44733a03c FlightTasks: small refactor for review comments 2018-04-05 07:30:12 +02:00
Matthias Grob
1906b5b635 FlightTasks: remove all remaining unnecessary semicolons 2018-04-05 07:30:12 +02:00
Matthias Grob
5efb298ed9 FlightTasks: use forced update just after initialization 2018-04-05 07:30:12 +02:00
Beat Küng
737f7df6b8 Subscription & SubscriptionArray: add forcedUpdate() methods
Can be used to immediately get & use the data, as needed for the flight
tasks.
2018-04-05 07:30:12 +02:00
Matthias Grob
071b09c65d FlightTasks: initialize task state based on subscriptions after the SubscriptionArray was initialized 2018-04-05 07:30:12 +02:00
Beat Küng
b0fdbf5136 FlightTask: inherit from Block instead of SuperBlock
I think this is more how it's meant to be
2018-04-05 07:30:12 +02:00
Beat Küng
9b571abb47 FlightTasks: add SubscriptionArray class that contains all subscriptions
This is to avoid dynamic (re-)allocations on task switching, due to
orb_{un,}subscribe calls.
2018-04-05 07:30:12 +02:00
Beat Küng
b5ecf9824d flight tasks: use placement new to reduce memory overhead and the need for dynamic allocations
In addition, we will need some shared data structure for the uorb
subscriptions.
2018-04-05 07:30:12 +02:00
Matthias Grob
99eb051c0f FlightTasks: adapt POSIX convention to return negative values on error 2018-04-05 07:30:12 +02:00
Matthias Grob
8a4d51c630 FlightTasks: replaced all hrt_elapsed() calls and unneeded hrt_ calls to safe performance 2018-04-05 07:30:12 +02:00
Matthias Grob
9fdb3ace0c FlightTask: added setter for yawspeed and removed newlines in comments 2018-04-05 07:30:12 +02:00
Matthias Grob
dd53d1df5f FlightTask: use copyToRaw matrix method in setpoint setters 2018-04-05 07:30:12 +02:00
Matthias Grob
919d0d6483 msg: vehicle_local_position_setpoint: add yawspeed as a state you can control 2018-04-05 07:30:12 +02:00
Matthias Grob
2dd61f71d1 FlightTask: fix doxygen comment /**< instead of /*< 2018-04-05 07:30:12 +02:00
Matthias Grob
c1056d307c FlightTask: move setter back into header and switched argument to reference to have them inlined by the compiler 2018-04-05 07:30:12 +02:00
Matthias Grob
e597a9c0a1 FlightTasks: fix review comments 2018-04-05 07:30:12 +02:00
Matthias Grob
e193240e98 FlightTask: fix CI: static field requiring definition in cpp file, errors with clang linker (CI) but not with GCC 2018-04-05 07:30:12 +02:00
Matthias Grob
23fe822955 FlightTasks: private variables follow underscore name convention, member description comments doxygen style 2018-04-05 07:30:12 +02:00
Matthias Grob
6488acf8cd msg: vehicle_local_position_setpoint comment about usage of NaN 2018-04-05 07:30:12 +02:00
Matthias Grob
92acbfde3e FlightTasks: FlightTask definition to cpp, fix include chain, fix cmake 2018-04-05 07:30:12 +02:00
Matthias Grob
c211c807ad FlightTasks: move method definitions of existing tasks into cpp files, it's not a header library 2018-04-05 07:30:12 +02:00
Matthias Grob
3450ccb2b2 FlightTaskOrbit: Fix zero vector resulting in NaN output and ignored setpoint 2018-04-05 07:30:12 +02:00
Matthias Grob
a570390dfb FlightTasks: enable usage of yaw setpoint through position controller 2018-04-05 07:30:12 +02:00
Matthias Grob
e49f80eaa8 FlightTasks: switched output setpoint to reference getter, FlightTask holds it's data 2018-04-05 07:30:12 +02:00
Matthias Grob
d48ba8be72 FlightTask: move position and stick data subscription into tasks, Orbit introduce variable center position 2018-04-05 07:30:12 +02:00
Matthias Grob
0aeea44780 FlightTask: fixed time initialization issues 2018-04-05 07:30:12 +02:00
Matthias Grob
582990c0af FlightTasks: revised task switching algorithm to catch errors during activation of a new task and make it more readable 2018-04-05 07:30:12 +02:00
Matthias Grob
edd5ed1349 FlightTaskManual: remove unnecessary subscription which is deprecated anyways 2018-04-05 07:30:12 +02:00
Matthias Grob
76a0b9f736 FlightTaskManual: Smooth flight integration: refactored and checked get_acceleration_z 2018-04-05 07:30:12 +02:00
Matthias Grob
6fb4c79234 FlightTaskManual: Smooth flight integration: refactored and checked second half of get_acceleration_xy executing the intention 2018-04-05 07:30:12 +02:00
Matthias Grob
42708ea456 FlightTaskManual: Smooth flight integration: refactored and checked first half of get_acceleration_xy determining the xy user intention 2018-04-05 07:30:12 +02:00
Matthias Grob
56b54d7b85 FlightTaskManual: Smooth flight integration: prepare interface of acceleartion methods for xy and z 2018-04-05 07:30:12 +02:00
Matthias Grob
634a67d058 FlightTaskManual: Smooth flight integration: slewrate now works, set to 0.2m/s^2 in all dimensions for testing 2018-04-05 07:30:12 +02:00
Matthias Grob
0d8d24e36d FlightTaskManual: Smooth flight integration: replace all "dt"s with the local _deltatime 2018-04-05 07:30:12 +02:00
Matthias Grob
1f65717292 FlightTaskManual: Smooth flight integration: Make vel_sp_slewrate without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob
1b858f5e56 FlightTaskManual: Smooth flight integration: Copy over vel_sp_slewrate without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob
5854fa06e9 FlightTaskManual: Smooth flight integration: Make set_manual_acceleration_z without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob
316e85f7ef FlightTaskManual: Smooth flight integration: Copy over set_manual_acceleration_z without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob
cb096861d9 FlightTaskManual: Smooth flight integration: Make set_manual_acceleration_xy without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob
e6442c7a7c FlightTaskManual: Smooth flight integration: Copy over set_manual_acceleration_xy without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob
6c0e7654ed FlightTasks: added handling for switching to the already active task and success feedback
removed and added comments
2018-04-05 07:30:12 +02:00
Matthias Grob
018581faca FlightTaaskManual: finalized full acceleration manual controlled position flight to work properly 2018-04-05 07:30:12 +02:00
Matthias Grob
4d05193ad7 FlightTasks: switched to a block hierarchy with parameter names like TSK_ORB_RADIUS in mind 2018-04-05 07:30:12 +02:00
Matthias Grob
9437326b01 FlightTaskOrbit: altered initialisation and limiting of parameters for demonstration 2018-04-05 07:30:12 +02:00
Matthias Grob
01383a0eeb FlightTaskManual: Basic manual position controlled flight with position and altitude hold works 2018-04-05 07:30:12 +02:00
Matthias Grob
f2250c1952 FlightTasks: made a FlightTask inherit from SuperBlock to have Block::Subscription s
FlightTask Manual: subscription made setpoint conversion according to vehicle attitude work
2018-04-05 07:30:12 +02:00
Matthias Grob
a8a2b4b6f3 FlightTasks: switched output position setpoint to be pointer based
changed "NULL"-pointers to "nullptr" for better compliance
2018-04-05 07:30:12 +02:00
Matthias Grob
28f4d18062 FlightTasks: added FlightTaskManual as replacement for the current stick based position controlled flight
it's a draft and only works for velocity setpoints oriented in NED frame yet

# Conflicts:
#	src/lib/FlightTasks/tasks/FlightTaskOrbit.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob
a9d0990bb8 FlightTasks: added a temporary hardware switch for task switch testing 2018-04-05 07:30:12 +02:00
Matthias Grob
73f633dfd2 FlightTasks: added possibility to set velocity setpoint, switched Orbit to feedback velocity algorithm 2018-04-05 07:30:12 +02:00
Matthias Grob
e51e5f3e01 FlightTaskOrbit: added constraints for parameters & defined linear velocity instead of angular 2018-04-05 07:30:12 +02:00
Matthias Grob
88bf40e3cb FlightTasks: added simple task switching with possibility do disable FlightTasks completely 2018-04-05 07:30:12 +02:00
Matthias Grob
37cb8c1a59 FlightTasks: added access to prepared velocity state for every task 2018-04-05 07:30:12 +02:00
Matthias Grob
8da1d3b16e FlightTasks: give every FlightTask access to prepared stick input and position state 2018-04-05 07:30:12 +02:00
Matthias Grob
225f99af16 FlightTasks: created an array for all tasks and a method to set the general input pointers for all of them 2018-04-05 07:30:12 +02:00
Matthias Grob
32a1ff733d FlightTasks: switch input from pointers in parameters passed on every run to private pointers of the base class with safety getter and setter 2018-04-05 07:30:12 +02:00
Matthias Grob
f3357aeca4 FlightTasks: make the orbit example actually orbit 2018-04-05 07:30:12 +02:00
Matthias Grob
b52f541492 FlightTasks: added timer in base class that counts from activation on including possibility to reset in subclass 2018-04-05 07:30:12 +02:00
Matthias Grob
c21c36dd8d FlightTasks: added wrappers for filling setpoint vectors, made time dependent example 2018-04-05 07:30:12 +02:00
Matthias Grob
93ae260f44 FlightTasks: introduce new library to handle advanced features like orbit follow me and so on
it's only a draft setup yet and not functional for real use

the object is for now managed by the mc_pos_control module
but it stays as encapsulated as possible to enable the instance to reside in any trajectory module in the future
2018-04-05 07:30:12 +02:00
Beat Küng
b821297f20 logger: add board subtype 2018-04-04 13:30:52 -04:00
DanielePettenuzzo
572a6ec8e7 fmuv5 board_config: added TIM5_CH4 spare pin & 3 Input Cap channels 2018-04-04 12:08:34 +02:00
Daniele Pettenuzzo
b5d637cd0c fmuv5 board config: disabled USART6 due to conflict on SBUS 2018-04-04 12:08:34 +02:00
DanielePettenuzzo
1b7fd5eae7 rcS: initialize TELEM4 on ttyS3 on FMUv5 2018-04-04 12:08:34 +02:00
DanielePettenuzzo
20f5de33df PX4IO Firmware: bug fix in variable initialization 2018-04-04 12:08:34 +02:00
Lorenz Meier
97e8ec9551 PX4IO Firmware: Only decode DSM if no other input method matched
This ensures that the DSM decoder does not accidentally decode noise on the bus as DSM is not well-protected against CRC errors.
2018-04-04 12:08:34 +02:00
DanielePettenuzzo
4d8bd28a2b fmu-v5 board_config.h > change PX4IO_SERIAL_VECTOR for px4io communication on uart 8 2018-04-04 12:08:34 +02:00
Lorenz Meier
8c28591f2d FMUv5: Swap debug and PX4 IO serial ports to avoid DMA channel resource overlap
This is necessary to be able to use DMA on the IO link. We free one channel by disabling DMA entirely on the debug console.
2018-04-04 12:08:34 +02:00
Mateusz Sadowski
f0a8569c93 Drivers: Add TeraRanger Evo 600Hz support (#9169) 2018-04-04 00:28:53 -04:00
Daniel Agar
62700046eb Jenkins bloaty sort output by size properly
- add full px4fmu-v3 output as well
2018-04-03 20:36:44 -04:00
Daniel Agar
f145b65cbb mavlink static streams_list array 2018-04-03 18:37:51 -04:00
Daniel Agar
450229c2a4 dataman operations table is constexpr 2018-04-03 18:37:51 -04:00
Daniel Agar
ee7aebf971 ll40ls bus option is constexpr 2018-04-03 18:37:51 -04:00
Daniel Agar
428c8bbfe7 aerofc_adc bus option is constexpr 2018-04-03 18:37:51 -04:00
Daniel Agar
912cb7119e IridiumSBD driver state string constexpr 2018-04-03 18:37:51 -04:00
Daniel Agar
86295638c1
gitmodules make name consistent with path 2018-04-02 17:06:42 -04:00
Daniel Agar
68a9d213d2 NuttX track px4_firmware_nuttx-7.22+ branch 2018-04-02 15:58:04 -04:00
Daniel Agar
06466cc125 gencpp and genmsg update to tracking branch latest 2018-04-02 15:58:04 -04:00
Daniel Agar
0164538442 cmake_hexagon update to latest 2018-04-02 15:58:04 -04:00
PX4 Jenkins
5a93f07829 Update submodule sitl_gazebo to latest Mon Apr 2 17:13:58 UTC 2018
- sitl_gazebo in PX4/Firmware (d05bc28576ad99973ac59af3d4f7c81289519bcc): 7c5a7bb226
 - sitl_gazebo current upstream: 28921bca9d
 - Changes: 7c5a7bb226...28921bca9d

28921bc 2018-03-27 amy wagoner - Added fpv_cam.sdf as an exception.
c84d79c 2018-03-26 amy wagoner - removed unexpected element 'torsional'
4d777a7 2018-03-26 amy wagoner - Removed 'pose frame'
771265b 2018-03-26 amy wagoner - Added iris fpv world.
016a612 2018-03-26 amy wagoner - Added generic camera model and iris fpv model.
2018-04-02 13:43:47 -04:00
Daniel Agar
a130f31b30 gitmodules make urls consistent 2018-04-02 13:43:10 -04:00
Daniel Agar
768d7435c8 Jenkins bloaty comparison show top 100 (default is 10) 2018-04-02 13:43:10 -04:00
Daniel Agar
c593dff795 Jenkins split snapdragon build into linux + qurt 2018-04-02 13:43:10 -04:00
Daniel Agar
d05bc28576 Jenkins Style Check skip submodules clean 2018-04-02 11:53:26 -04:00
dw.xiong
381c2b52ac commander: Remove the ekf pre-flight check variables that are not used in commander. (#9226) 2018-04-02 10:52:32 -04:00
Hamish Willee
3e43300e54 Fix typo in spelling of Sonar 2018-04-01 21:40:47 -04:00
PX4 Jenkins
acc93092db Update submodule matrix to latest Sun Apr 1 21:55:42 UTC 2018
- matrix in PX4/Firmware (76a3dbc9df6609c04a1a0e24e28a42c4ef0ccc9c): e7c95fa027
 - matrix current upstream: 21d47424c6
 - Changes: e7c95fa027...21d47424c6

21d4742 2018-03-31 Daniel Agar - Quaternion mark const helpers const
2018-04-01 18:54:38 -04:00
PX4 Jenkins
76a3dbc9df Update submodule matrix to latest Sun Apr 1 17:27:33 UTC 2018
Latest: e7c95fa027

Changes from matrix (61af508755) in current PX4/master (9fc1755c33f54ddc2ebd56c03b54ad10019559ac)
61af508755...e7c95fa027

e7c95fa 2018-03-27 James Goppert - Fix README/cmake format.
d142ac2 2018-03-27 James Goppert - Fix coverage and bug in matrix equal test.
50446a5 2018-03-18 Daniel Agar - Matrix add == and != operators
2018-04-01 15:16:46 -04:00
PX4 Jenkins
059ddf88f4 Update submodule DriverFramework to latest Sun Apr 1 18:11:03 UTC 2018
- DriverFramework in PX4/Firmware (82a7343a7d5521c78f8ebf87a07fd1b3942472c0): 29f386628a
 - DriverFramework current upstream: f98ea65e9b
 - Changes: 29f386628a...f98ea65e9b

f98ea65 2018-01-15 Daniel Agar - remove platforms__nuttx dependency
2018-04-01 14:59:52 -04:00
Daniel Agar
f96338d6e4 gitmodules add branch to genmsg, gencpp, libuavcan 2018-04-01 14:19:56 -04:00
PX4 Jenkins
0f6552b156 Update submodule uavcan_board_ident to latest Sun Apr 1 17:34:37 UTC 2018
Latest: 2e5f9d6768

Changes from uavcan_board_ident (f8851c841e) in current PX4/master (9fc1755c33f54ddc2ebd56c03b54ad10019559ac)
f8851c841e...2e5f9d6768

2e5f9d6 2017-09-05 Daniel Agar - Update LICENSE
2018-04-01 14:19:16 -04:00
PX4 Jenkins
d0da91bded Update submodule v2.0 to latest Sun Apr 1 13:31:08 EDT 2018
Latest: 95d4cb3b21

Changes from v2.0 (37d14af47d) in current PX4/master (9fc1755c33f54ddc2ebd56c03b54ad10019559ac)
37d14af47d...95d4cb3b21

95d4cb3 2018-03-28 PX4BuildBot - autogenerated headers for rev f29e3302fe
f8b4fc9 2018-03-27 PX4BuildBot - autogenerated headers for rev 4accd6c062
695883f 2018-03-27 PX4BuildBot - autogenerated headers for rev b4efea1609
1bb9b2c 2018-03-27 PX4BuildBot - autogenerated headers for rev 56e28570a7
68f9957 2018-03-27 PX4BuildBot - autogenerated headers for rev 8cf87fc5af
62abc60 2018-03-26 PX4BuildBot - autogenerated headers for rev 17207917a3
1b0dc47 2018-03-23 PX4BuildBot - autogenerated headers for rev 1d007c59db
925ab39 2018-03-21 PX4BuildBot - autogenerated headers for rev 5515533e8e
f38624f 2018-03-15 PX4BuildBot - autogenerated headers for rev 91a22feb27
2018-04-01 14:18:48 -04:00
PX4 Jenkins
82a7343a7d Update submodule ecl to latest Sun Apr 1 17:26:07 UTC 2018
Latest: ba2b9dfdd9

Changes from ecl (39b69af9bf) in current PX4/master (9fc1755c33f54ddc2ebd56c03b54ad10019559ac)
39b69af9bf...ba2b9dfdd9

ba2b9df 2018-03-28 Daniel Agar - update matrix lib usage
2018-04-01 14:09:46 -04:00
PX4 Jenkins
9fc1755c33 Update sitl_gazebo submodule Sun Apr 1 00:19:14 UTC 2018 2018-03-31 21:54:00 -04:00
Daniel Agar
01340df545 Jenkins cleanup build creation
- cleanup workspace when done and increase retention
2018-03-31 19:26:08 -04:00
Anthony Lamping
e91275bcb4 CI: test launch files: setup for different vehicles, some reordering 2018-03-31 17:00:54 -04:00
Anthony Lamping
171a65c1cb CI: on mavros failure restart it instead of killing test 2018-03-31 17:00:54 -04:00
Anthony Lamping
0af1c71255 launch: add respawn_mavros arg
reqs mavros>=0.23.2
2018-03-31 17:00:54 -04:00
Daniel Agar
2c31671cc2 FW SITL enable FW EKF2 default parameters 2018-03-30 19:29:42 -04:00
Anthony Lamping
752d43d94c lengthen offboard tests
* land after offboard flying complete
* lengthen rostest time limit for tests (5 min ea)
2018-03-30 18:54:04 -04:00
Daniel Agar
ac61a04cd9 Jenkins ROS mission tests run ecl analysis script 2018-03-30 18:54:04 -04:00
Daniel Agar
ebed380998 process_logdata_ekf don't use Xwindows backend 2018-03-30 18:54:04 -04:00
Daniel Agar
2e207801d8 ecl process logdata script always use correct check_level_dict path 2018-03-30 18:54:04 -04:00
Daniel Agar
04ecc81a70 docker images update to 2018-03-30 tag 2018-03-30 15:49:41 -04:00
Daniel Agar
e6eab2e306 Jenkins update flight review title and description 2018-03-30 11:28:52 -04:00
Daniel Agar
8216187159 Jenkins discard old builds, but keep artifacts 2018-03-30 10:41:36 -04:00
Daniel Agar
60a7ce731d
Jenkins check style first (#9197) 2018-03-30 10:05:13 -04:00
Sugnan Prabhu
a328ba97de aerofc: Look for px4flow sensor on telemetry port (#8994)
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
2018-03-30 00:50:14 -04:00
Roman
2257cfc0fa vtol_att_control: set flag in_transition_to_fw properly
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-30 00:46:23 -04:00
Beat Küng
aa110f2075 tap_esc: add MC_AIRMODE support 2018-03-30 00:33:40 -04:00
Beat Küng
37d9d0c2cd tap_esc: remove NAN_VALUE define and use existing NAN instead 2018-03-30 00:33:40 -04:00
Amir Melzer
54260313b7 ADIS16448 remove the restore factory calibration functionality from probe (#9164) 2018-03-29 23:52:46 -04:00
Daniel Agar
f0528d28fb commander once armed safety should only request ARMING_STATE_STANDBY 2018-03-29 10:25:56 -04:00
Daniel Agar
95ff860f4e commander cleanup includes and sort 2018-03-29 10:25:56 -04:00
Daniel Agar
0f6a94894d commander state machine helper fix code style 2018-03-29 10:25:56 -04:00
Daniel Agar
db7e8635a2 commander state machine helper pass battery and safety as const references 2018-03-29 10:25:56 -04:00
Daniel Agar
4ccfc280c8 commander arming_state_transition add HIL boolean 2018-03-29 10:25:56 -04:00
Daniel Agar
c547866029 Commander::handle_command() remove unused safety parameter 2018-03-29 10:25:56 -04:00
Daniel Agar
e395b3578f delete unused ARMING_STATE_ARMED_ERROR state 2018-03-29 10:25:56 -04:00
Daniel Agar
e29b568d33 state machine helper remove unused headers 2018-03-29 10:25:56 -04:00
Daniel Agar
bff2136db0 commander state machine helper use constexpr for strings 2018-03-29 10:25:56 -04:00
Daniel Agar
f59b7c7399 commander is_safe() use const references 2018-03-29 10:25:56 -04:00
Daniel Agar
376b5e4747 state machine helper make vehicle_status_flags const 2018-03-29 10:25:56 -04:00
Daniel Agar
8c8fe17ff3 commander delete unused main_state_prev 2018-03-29 10:25:56 -04:00
Daniel Agar
c194c1acb5 commander use const where possible
- this helps tease apart the various pieces of commander.
2018-03-29 10:25:56 -04:00
Beat Küng
0038a5e755 uorb: fix constness for _uorb_topics_list
_uorb_topics_list was marked as 'const char *' array, which means the data
of the array was not actually const and thus landed in the data section
(so in RAM instead of FLASH).
The size of the array is 436 bytes.
2018-03-29 10:06:21 -04:00
Beat Küng
576f4e02da tunes: fix constness for _default_tunes
_default_tunes was marked as 'const char *' array, which means the data
of the array was not actually const and thus landed in the data section
(so in RAM instead of FLASH).
The size of the array is 64 bytes.
2018-03-29 10:06:21 -04:00
Daniel Agar
d40d165b4b mavlink delete deprecated HIL_CONTROLS 2018-03-28 15:37:57 -04:00
Daniel Agar
3db287ba67 mavlink messages delete unnecessary timestamps and cleanup 2018-03-28 15:37:57 -04:00
Daniel Agar
c181501e27 commander home position update swap incorrect eph/epv for auto update 2018-03-28 15:37:57 -04:00
Daniel Agar
deb5cbcc82 mavlink GLOBAL_POSITION_INT use vehicle_local_position for altitude 2018-03-28 15:37:57 -04:00
Daniel Agar
6af989e8c0 mavlink VFR_HUD use vehicle_local_position for altitude 2018-03-28 15:37:57 -04:00
Daniel Agar
354181be24 mavlink update ALTITUDE message to always use vehicle_local_position 2018-03-28 15:37:57 -04:00
Phillip Kocmoud
8f1c84ce56 Enable internal SPI LIS3MDL on R15 Pixracer 2018-03-28 13:47:22 -04:00
Phillip Kocmoud
c3b64f6d2a Corrected rotation for internal SPI LIS3MDL Sensor on R15 Pixracer 2018-03-28 13:47:22 -04:00
Julian Oes
e08ab0646f sitl_gazebo: update submodule
This brings Gazebo 9 compatibility.
2018-03-28 16:26:54 +02:00
Daniel Agar
416feea9e4 uORB print_message cleanup
- indent field print with tabs instead of spaces
 - print a newline before printing a nested field
 - cmake add generator dependencies
2018-03-28 09:15:41 -04:00
Daniel Agar
c4c4441c87 generate_listener.py combine message exclusion 2018-03-28 09:15:41 -04:00
Daniel Agar
e76a7e48c8 generate uorb topic helper ignore _padding properly 2018-03-28 09:15:41 -04:00
Daniel Agar
a98c7cf5c8 generate uorb topic helper rename px4_printf to print_field 2018-03-28 09:15:41 -04:00
Daniel Agar
55466e539b topic_listener report never published and cleanup
- don't ignore position_setpoint_triplet
2018-03-28 09:15:41 -04:00
Daniel Agar
0a0044fc29 uORB print message add timestamp elapsed 2018-03-28 09:15:41 -04:00
Daniel Agar
f172171928 listener replace custom uORB print code 2018-03-28 09:15:41 -04:00
Daniel Agar
5fba1f38b2 drivers start using uORB message print instead of custom 2018-03-28 09:15:41 -04:00
Daniel Agar
3db17a04fc uORB generate message print functions 2018-03-28 09:15:41 -04:00
Oleg Kalachev
8d6bff08bb precland: support receiving LANDING_TARGET message 2018-03-27 20:45:58 -04:00
Oleg Kalachev
5b030535c8 precland: fix incorrect converting microseconds to seconds 2018-03-27 20:45:58 -04:00
Oleg Kalachev
749a590c1c precland: fix landing_target_pose subscription check 2018-03-27 20:45:58 -04:00
Oleg Kalachev
fef2e2ba82 precland: fix typos and code style 2018-03-27 20:45:58 -04:00
Daniel Agar
d8de624851 update ECL to latest with geo lib 2018-03-26 23:16:55 -04:00
Daniel Agar
0baf3e39aa tests clang-tidy ignore eadability-function-size 2018-03-26 23:16:55 -04:00
Daniel Agar
f46ea75c9d mag declinataion test switch to ut_compare_float 2018-03-26 23:16:55 -04:00
Daniel Agar
d585218060 tests clang-tidy ignore readability-function-size 2018-03-26 23:16:55 -04:00
Paul Riseborough
2b87e5a790 tests: Test all data points for declination model 2018-03-26 23:16:55 -04:00
Daniel Agar
0814ac585e declination test update values
- test values entered from https://www.ngdc.noaa.gov/geomag-web/
2018-03-26 23:16:55 -04:00
Daniel Agar
29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Matthias Grob
76bf9c6465 mc_att_control: reenable TPA for I term
In commit
eb67686b110a995a258e80298fe180149c41c2a5
the TPA scaled integral gain was reverted back to the
normal unscaled gain which rendered the I part of TPA
useless.
2018-03-26 19:00:18 +02:00
ksschwabe
500a1c808d ROMFS list files explicitly instead of using GLOB_RECURSE (#9107)
* Lists ROMFS files explicity instead of using GLOB_RECURSE

Previously, when ROMFS files that were not airframes were touched, the ROMFS
would not be rebuilt. The ROMFS files are now specified explicityl in a
CMakeLists.txt file that is located in the root ROMFS directory.

Now when one of the ROMFS files is touched the whole ROMFS is rebuilt.

When new files are added to the ROMFS, they need to be explicity added to
the CMakeLists in the ROMFS root directory.

* ROMFS: adds individual CMakeLists files in each subdirectory

Also moves the temporary ROMFS build directory to ${PX4_BINARY_DIR}/ROMFS/genromfs
so that the cmake_install.cmake files and the CMakeFiles directories (generated whenever
are not add_subdirectory() is called) are not generated in the temporary ROMFS directory
from which the ROMFS binary is created.

* cmake ROMFS generate add px4_add_romfs_files function

* ROMFS CMakeLists: adds explanatory comment to px4_add_romfs_files function

* ROMFS CMakeLists: updates copyright headers
2018-03-26 11:19:00 -04:00
Matthias Grob
11ea7dc928 mc_att_control: refactor: switch to matrix library 2018-03-26 16:20:57 +02:00
Beat Küng
693e9ffd46 mc_att_control: remove unused include <systemlib/param/param.h> 2018-03-26 16:20:57 +02:00
Beat Küng
1e09139fcc refactor mc_att_control: move private method declarations above private data members 2018-03-26 16:20:57 +02:00
Beat Küng
b04a3a969d refactor mc_att_control: use ModuleParams & Param classes 2018-03-26 16:20:57 +02:00
Beat Küng
22e8204de8 refactor mc_att_control: move class initializer to member initializer 2018-03-26 16:20:57 +02:00
Beat Küng
d68d9b522b fix mc_att_control: add missing orb_unsubscribe 2018-03-26 16:20:57 +02:00
Beat Küng
673fa75e58 mc_att_control: refactor to ModuleBase & add module documentation 2018-03-26 16:20:57 +02:00
Daniel Agar
25300a6b11 VtolLandDetector add airspeed finite check 2018-03-26 09:42:50 -04:00
Daniel Agar
fda2edb7c4 sensors only publish airspeed if finite 2018-03-26 09:42:50 -04:00
Alessandro Simovic
9d3dfb7864 libtunes: addressing comments of #9117 2018-03-26 14:54:23 +02:00
Alessandro Simovic
6e1c495268 libtunes: added TUNE_MAX_STRENGTH 2018-03-26 14:54:23 +02:00
Alessandro Simovic
80d80835a0 libtunes: fixed some type conversions and other minor changes 2018-03-26 14:54:23 +02:00
Alessandro Simovic
92b89368f1 libtunes: fixed playback of string melodies 2018-03-26 14:54:23 +02:00
Alessandro Simovic
7d9b09b5e5 libtunes: made logic in Tunes::set_control() more obvious 2018-03-26 14:54:23 +02:00
Alessandro Simovic
4e479b7f04 libtunes: renamed config_tone() to reset() 2018-03-26 14:54:23 +02:00
Alessandro Simovic
6ce839ea1e libtunes: added tone strength as state and output to libtunes
Since the tune library also contains logic how tunes can be overriden,
a user of the tunes library cannot know the strength of the current tune
without replicating some logic. Easy solution is to add strength to the
output of Tunes::get_next_tune().
2018-03-26 14:54:23 +02:00
Alessandro Simovic
acdc81ea0a libtunes: cleanup / docs 2018-03-26 14:54:23 +02:00
Alessandro Simovic
d455c1e7e1 libtunes: Repeating tunes can be interrupted without override
Otherwise the only way of interrupting a repeated tune would be with the override flag, which should only be used rarely.
Now repeating tunes have lowest priority, followed by one-shot tunes, followed by anything with an override flag.
2018-03-26 14:54:23 +02:00
Alessandro Simovic
34836a2b21 libtunes: allow custom tune (id 0) to be used to stop playback.
Override flag must still be set to true!
2018-03-26 14:54:23 +02:00
Alessandro Simovic
2cf93df918 libtunes: _repeat was uninitialized. Defaulting to false now.
Bugfix: This fixes a bug where libtunes might indicate that there are more tones to play even after the last note of a tune.
2018-03-26 14:54:23 +02:00
Alessandro Simovic
f47443f283 libtunes: (bugfix) sending a custom msg tune overrides everything
Custom msg tune can override any tune playing, regardless of the tune_override flag.
2018-03-26 14:54:23 +02:00
Matthias Grob
2acd431fcb mc_att_control: revert to tested cutoff frequency
Revert the disabled d term filter which needs to be enabled
after reducing IMU filtering and was probably unintentionally
during a rebase.
2018-03-26 14:23:03 +02:00
Daniel Agar
19a4f0988c gyrosim fix transfer hardcoded buffer index
- fixes coverity CID 196758
2018-03-24 13:39:31 -04:00
Daniel Agar
a48e3bf68d sensors fix uninitialized diffferential_pressure message
- fixes coverity CID 260383
2018-03-24 13:39:31 -04:00
Daniel Agar
fc829b8519 pwm_out_sim PWM_SERVO_SET_MIN_PWM fix index check
- fixes coverity CID 264261
2018-03-24 13:39:31 -04:00
Daniel Agar
8c43408a92 pwm_out_sim PWM_SERVO_SET_MAX_PWM fix index check
- fixes coverity CID 264263
2018-03-24 13:39:31 -04:00
Daniel Agar
0ef5d892a1 navigator precland initialize all fields
- fixes coverity CID 264259
2018-03-24 13:39:31 -04:00
stmoon
ed261c76da add timestamp for sensor_preflight 2018-03-24 07:57:04 +01:00
Alexandr Kondratev
be52dcf5e3 BMP280 improve external device flag parameter naming (#8806) 2018-03-23 12:55:26 -04:00
Daniel Agar
d2712dcb05
mc_pos_control move to matrix lib (#9141) 2018-03-23 12:53:49 -04:00
Roman
cc26c34691 airspeed driver: un-advertise differential pressure topic
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-23 09:57:28 -04:00
bresch
81a80e0d56 Airmode - Minor rewording 2018-03-23 10:35:08 +01:00
bresch
c9d72c0d07 PWMSim : add MC_AIRMODE support 2018-03-23 10:35:08 +01:00
bresch
7ef3ae8828 Multicopter mixer - Recompute safe roll_pitch_scale if not in air-mode
If not in air-mode the mixer is not able to apply positive boosting
and roll_pitch_scale is recomputed to apply symmetric - reduced - thrust.
This has the consequence to cut completely the outputs when the thrust is
set to zero.
2018-03-23 10:35:08 +01:00
Beat Küng
56ea1a82aa linux_pwm_out: add MC_AIRMODE support 2018-03-23 10:35:08 +01:00
Beat Küng
20c7387c87 snapdragon_pwm_out: add MC_AIRMODE support 2018-03-23 10:35:08 +01:00
Beat Küng
2b6ca2cf82 uavcan_main: use parameter_update to check for param updates
this avoids calling param_get() on every loop iteration.
2018-03-23 10:35:08 +01:00
Beat Küng
72d22c4297 cleanup uavcan_main: replace warnx with PX4_{INFO,ERR,DEBUG} 2018-03-23 10:35:08 +01:00
Beat Küng
f21ab05f48 mixer_multirotor: fix comment thrust_gain -> thrust_scale
Added in 262d9c790bf0d3cd652.
2018-03-23 10:35:08 +01:00
Beat Küng
0d9693347f fmu + px4io: fixes for MC_AIRMODE parameter
- fmu: in case of _mot_t_max==0 _airmode was not set in the mixer
- px4io: param_val is a float
2018-03-23 10:35:08 +01:00
bresch
99ce9cc2a8 Airmode - Add support for UAVCAN 2018-03-23 10:35:08 +01:00
bresch
6976232a20 Airmode - Add airmode parameter for multicopter mixer 2018-03-23 10:35:08 +01:00
bresch
851c3657d1 Multicopter mixer - Use already computed value instead of recomputing it 2018-03-23 10:35:08 +01:00
bresch
803eb9ac32 Multicopter mixer - Simplify and correct mistakes of roll-pitch motor saturation handling 2018-03-23 10:35:08 +01:00
bresch
450e7c6774 Multicopter mixer - Remove arbitraty boost gain during saturation 2018-03-23 10:35:08 +01:00
bresch
096e2ec629 Multicopter mixer - Always unsaturate high-saturated motors when possible 2018-03-23 10:35:08 +01:00
bresch
df194b1de4 Multicopter mixer - Rewrite unnecessarily complicated conditions 2018-03-23 10:35:08 +01:00
bresch
5da2842dbc Multicopter mixer - Always unsaturate low-saturated motors when possible 2018-03-23 10:35:08 +01:00
Martin Trgina
01f5f8862a Support of HITL simulation for Intel Aero FC (#9132)
* Adding pwm_out_sim
* pwm_out_sim driver will be by default part of Aero FC PX4 Nuttx drivers
* tap_esc is off when SYS_HITL 1
2018-03-22 16:47:58 -04:00
Daniel Agar
dffb4f23b3
Jenkins add px4fmu bloaty comparison to last successful master build (#9142) 2018-03-22 13:42:24 -04:00
Daniel Agar
44e3bd6c1c navigator follow_target move to matrix lib 2018-03-22 11:16:34 -04:00
Beat Küng
d75087572c jMAVSim: update submodule
Fixes a mavlink 2 parsing bug
2018-03-22 08:27:27 +01:00
Beat Küng
a8ddd9ef64 syslink_bridge: include <cstring> to fix compilation issue
GCC error:
error: 'memcpy' was not declared in this scope
2018-03-22 08:19:08 +01:00
Beat Küng
b512d11e54 refactor fw_pos_control_l1: replace BlockParam* with Param* classes
Also change naming convention: add _ prefix to class attributes
2018-03-22 08:19:08 +01:00
Beat Küng
51ca01ce04 FixedwingAttitudeControl: remove SuperBlock dependency 2018-03-22 08:19:08 +01:00
Beat Küng
0fdd53f4c2 refactor simulator: replace BlockParam* with Param* classes 2018-03-22 08:19:08 +01:00
Beat Küng
7937f9e82c refactor Battery: replace BlockParam* with Param* classes 2018-03-22 08:19:08 +01:00
Beat Küng
e32d8ea8b6 ModuleParams: add setParent() method 2018-03-22 08:19:08 +01:00
Beat Küng
408cfd6ce1 err.h: remove unused declarations 2018-03-22 08:19:08 +01:00
Beat Küng
cd4eb9a1de pwm_out_sim: fix comment & add missing return 2018-03-22 08:19:08 +01:00
Beat Küng
dff7cf687a pwm_out_sim: fix documentation & task name 2018-03-22 08:19:08 +01:00
Beat Küng
68ce62f173 Commander.hpp: remove usage of BlockParam & SuperBlock 2018-03-22 08:19:08 +01:00
Beat Küng
e3d653d9a7 md25: remove used source files BlockSysIdent.{cpp,hpp} 2018-03-22 08:19:08 +01:00
Daniel Agar
3a0a896a9c sensors move to matrix lib 2018-03-22 08:17:32 +01:00
Daniel Agar
ad2b96b523 mavlink move to matrix lib 2018-03-22 07:46:16 +01:00
Daniel Agar
7830d3503e posix sitl standard_vtol lower MPC_THR_MIN 2018-03-21 20:49:41 -04:00
Daniel Agar
b5aded0db2 update vtol mission tests to increase length 2018-03-21 20:49:41 -04:00
Daniel Agar
fd0f31ef50 FW Phantom FPV Flying Wing fix FW_R_RMAX 0 2018-03-21 18:34:52 -04:00
Daniel Agar
0e972fc6c2 Jenkins run bloaty on px4fmu nuttx builds 2018-03-21 17:07:03 -04:00
Daniel Agar
21ea27f7f6 camera_trigger replace math::Vector with matrix::Vector 2018-03-21 15:35:00 -04:00
Daniel Agar
5b6fda2e4b uuv_example_app move to matrix lib 2018-03-21 15:15:41 -04:00
Daniel Agar
ac7242987c
delete unused tailsitter_recovery library (#9103) 2018-03-21 14:09:36 -04:00
Daniel Agar
b7bfeb442e fw_att_control move to matrix lib math 2018-03-21 14:08:47 -04:00
Daniel Agar
1b174eeca2 drivers replace math::Vector<3> with matrix::Vector3f 2018-03-21 13:48:45 -04:00
Roman
e504dc86b7 fw & vtol startup scripts: don't start wind estimator for now
- need to make some flash space for fmuv2 to avoid user confusion about
why it wind estimator only runs on some platforms

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
d9fbf85c20 ekf2: remove early advertising of wind estimate topic
- if it's not estimating wind it won't publish it below (was fixed)

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
372a519ac4 wind estimator: added airspeed and sideslip gate sizes for innovation tests
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
32a848d312 updated ecl for airdata module 2018-03-21 18:46:58 +01:00
Daniel Agar
3600225ed4 wind_estimator trim module documentation to fit in limit 2018-03-21 18:46:58 +01:00
Daniel Agar
f1bb61769f wind_estimator fix LPWORK/HPWORK confusion and cleanup 2018-03-21 18:46:58 +01:00
Roman
8400d42988 wind estimator: fixed minor comments
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
86b525ad2c wind_estimator: use ModuleParams class to handle parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
1fd1a426bb cmake configs: don't build wind estimator for fmu-v2 due to lack of flash space
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
d2ebb0c7a2 ekf2: advertise wind topic early to make sure ekf2 get the first instance
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
5b067df01e wind_estimator: cleanup
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
33c1bcb983 wind_estimator: set missing task_id
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
53e22661d4 wind_estimator: unsubscribe from topics and unadvertise wind topic
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
df3a3daa0f start wind estimator for relevant platforms
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
9dc7d1dd74 cmake configs: added wind estimator to relevant configs
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
7c0f043116 added module which implements wind & airspeed scale factor estimator via
work queue

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman
9e1089a4fc wind estimate msg: added more relevant data
- true airspeed innovation and variance
- sideslip angle innovation and variance

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Karl Schwabe
d952fe028e MPU6000: unadvertises the accel and gyro uORB topics in destructor 2018-03-21 13:07:01 -04:00
Roman
cb30d66cef convergence config: increase multirotor idle speed
- increase the minimum pwm value for multirotor mode since we experienced
the rear motor stalling in certain situations when throttle was low

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-20 21:00:34 -04:00
sanderux
d87b7ac7f4 Fix scale application on FW throttle baro compensation 2018-03-20 00:13:36 +01:00
Daniel Agar
b6b7fddb9f
TECS and L1 switch to matrix math library (#9101) 2018-03-19 18:09:54 -04:00
Daniel Agar
e63f9d9bf6
mathlib Limits move radians/degrees to header (#9102) 2018-03-19 12:45:42 -04:00
Alessandro Simovic
cd250831d5 commander: removed duplicated startup tune
Addressing review comments in PR #9096
2018-03-19 14:15:52 +01:00
Martina
be275b880b tunes: add fallthrough macro 2018-03-19 14:15:52 +01:00
Simone Guscetti
ee0ae079ff tests: test_hrt modernize NULL with nullptr 2018-03-19 14:15:52 +01:00
Simone Guscetti
879c698cab libtunes: Change TuneID::ERROR in ERROR_TUNE
This prevents the expanction of the ERROR macro inside the TuneID enum
2018-03-19 14:15:52 +01:00
Simone Guscetti
79dacdda2c tune_control: update comment 2018-03-19 14:15:52 +01:00
Simone Guscetti
e140c37fe3 systemcmds: tests update to cpp file for test_hrc 2018-03-19 14:15:52 +01:00
Simone Guscetti
50d35f63be tune_control: Remove the tune defines 2018-03-19 14:15:52 +01:00
Simone Guscetti
ce952d8f64 drv_tone_alarm: Add tune definition 2018-03-19 14:15:52 +01:00
Simone Guscetti
4c6daf0748 libtunes: Update tunes and mkblctrl to use the tune_definition 2018-03-19 14:15:52 +01:00
Simone Guscetti
26b721ac8b libtunes: Add new tune_definition file 2018-03-19 14:15:52 +01:00
Simone Guscetti
20905ce478 stm32: board_reset, keep legacy definition for old chips 2018-03-19 09:46:58 +01:00
Simone Guscetti
217a67f956 px4_micro_hal: Add up_internal for stm32f7 builds
This is included in other stm32 architectures in the stm32.h file.
2018-03-19 09:46:58 +01:00
Simone Guscetti
2b81331f8a stm32: board_reset, change backup register
Change to be coherent with the change on NuttX upstream, in the future
STM32_BKP_BASE will be removed. This is using the definition over stm32_rtc.h interface.
2018-03-19 09:46:58 +01:00
Beat Küng
76aa044105 navigator mission: add yaw offset to vehicle's yaw for ROI cmds and disabled gimbal yaw 2018-03-19 09:42:41 +01:00
Beat Küng
09dba29b6c fix vehicle_roi.msg: re-add ROI_WPINDEX
The indexes are directly mapped from MAVLink, thus the actual value is
important.
2018-03-19 09:42:41 +01:00
Beat Küng
a0372c6183 vmount: implement VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET 2018-03-19 09:42:41 +01:00
Beat Küng
cc777a80ff vehicle_roi.msg: remove unsupported fields 2018-03-19 09:42:41 +01:00
Beat Küng
aaa67632ca navigator: remove redundant switch block for ROI handling 2018-03-19 09:42:41 +01:00
Shivam Chauhan
062e44061d bmp280 changed variable name to resolve shadow declaration issue. (#9100) 2018-03-18 11:29:27 -04:00
Thomas Stastny
52e5e0df14 fw_att_control: schedule trims for airspeed and flap deployment (#8937) 2018-03-16 16:55:44 -04:00
ksschwabe
6d445cf5a6 Adds ability for generate_listener.py to process out-of-tree uORB message definitions as well (#9097) 2018-03-16 12:44:25 -04:00
barzanisar
34dd68bee1 Update syslink_main.cpp 2018-03-16 14:56:40 +01:00
barzanisar
a6e35ab7f7 Beat's changes to make QGC connect with crazyflie 2018-03-16 14:56:40 +01:00
barzanisar
691a5c6532 Beat's changes in syslink work so reverting this
No need for this since beat's changes in syslink_main.cpp work for connecting crazyflie to QGC. 
Will open a separate PR for it.
2018-03-16 14:13:21 +01:00
barzanisar
0f79222ff9 This makes QGC connect with crazyflie
Discussed in https://github.com/PX4/Firmware/issues/8924
2018-03-16 09:31:58 +01:00
AlexKlimaj
08a53a9056 batt_smbus add complementary filter and small fixes (#9080)
* Batt_smbus. Added complementary filter to remaining capacity, reversed warning state checks, and added remaining/discharged out of range checks to handle bad battery calibrations

* Changed errx to PX4_ERR

* Added PX4_ERR returns
2018-03-15 14:46:27 -04:00
Kabir Mohammed
7776789b7d rc.sensors : fix startup for lidars on Pixhawk boards (#9058) 2018-03-15 13:26:35 -04:00
Amir Melzer
f68f897820 update submodule to include changes in the ASLUAV BMS message (#9083) 2018-03-15 13:13:07 -04:00
Matthias Grob
ed0b6db2de mc_att_control: clarify comment about yaw feed forward 2018-03-15 17:57:46 +01:00
Matthias Grob
ff25c7f48a ensure attitude setpoint initialization before arming
- On initialization _v_att_sp got filled with zeros
  leaving invalid quaternions
- While not armed mc_pos_control did not publish any
  attitude setpoint which makes no sense
- The attitude control just uses the data in _v_att_sp
  if it was (ever) updated or not
2018-03-15 17:16:14 +01:00
Matthias Grob
e32b04fff1 mc_att_control: catch numerical out of domain case
While operating on exactly normalized float quaternions
it can aparently still happen that one of the elements
gets just slightly above 1 or below -1 and hence out of
the domain of the acosf and asinf functions resulting in
NaN. The constrain function uses stricly smaller/bigger
comparisons and catches all tested cases.
2018-03-15 17:16:14 +01:00
Matthias Grob
42f4e62a04 mc_att_control: clarify corner case comment 2018-03-15 17:16:14 +01:00
Matthias Grob
9f69447e22 mc_att_control: replace nasty corner case condition
I found a better solution for the condition of the numerical
corner case and also tried to comment it more clearly.
2018-03-15 17:16:14 +01:00
Matthias Grob
d2ead02fb5 mc_att_control: catch numerical corner cases
- Delete left over identity matrix.

- Corner case with a zero element when using the signum function:
We always need a sign also for zero.

- Corner case with arbitrary yaw but and 180 degree roll or pitch:
Reduced attitude control calculation always rotates around roll
because there's no right choice when neglecting yaw. In that small
corner case it's better to just use full attitude contol and hence
rotate around the most efficient roll/pitch combination.
2018-03-15 17:16:14 +01:00
Matthias Grob
dc28c47544 mc_att_control: correct head comment 2018-03-15 17:16:14 +01:00
Matthias Grob
c4fb2b26fd mc_att_control: prepare yaw weight from gain ratio
According to the paper the quaternion controller is built on
the yaw weight represents the ratio between the roll/pitch and
the yaw attitude control time constant. It also states that as a
thumb rule a value of ~0.4 works alright for most multicopter
platforms. The default attitude gains of PX4 which were determined
independent of the paper from experimental results have a ratio of
2.8/6.5 = 0.43 which matches.
2018-03-15 17:16:14 +01:00
Matthias Grob
6317d36ec9 mc_att_control: remove time constant parameter
Because the parameter does not make sense from a control theory
perspective. Either you have a gain with the unit 1/s or an inverse
gain or time constant with the unit s. But the time constant parameter
was neither bound to any exact unit nor did it apply instead of a gain.
Rather it adjusted multiple gains from rate and attitude control
according to an arbitrary scale. This can only by accident lead to
good tuning.
2018-03-15 17:16:14 +01:00
Matthias Grob
ba5f2254cd mc_att_control: add reduced quaternion attitude control
to prioritize yaw compared to roll and pitch by combining
the shortest rotation to achieve a total thrust vector with
the full attitude respecting the desired yaw
not by scaling down the control output with the gains
2018-03-15 17:16:14 +01:00
Matthias Grob
9ff9692270 mc_att_control: switch to quaternion attitude control (no yaw reduction yet) 2018-03-15 17:16:14 +01:00
Daniel Agar
1abf90c6d4 EKF2 only publish wind_estimate if wind velocity is being estimated
- refactor body wind velocity calculation
2018-03-15 07:18:58 +01:00
Daniel Agar
7607c71ca8 fw_pos_control_l1 project virtual waypoint to handle landing overshoot 2018-03-14 16:39:19 -04:00
Daniel Agar
d1dca4e74c fw_pos_ctrl_l1 move takeoff to control_takeoff() 2018-03-14 16:39:19 -04:00
Daniel Agar
c72340e039 fw_pos_ctrl_l1 move landing to control_landing() 2018-03-14 16:39:19 -04:00
Daniel Agar
f194c5424c move hmc5883 i2c address into driver 2018-03-14 14:38:40 -04:00
Daniel Agar
bb7466c596 move rgbled i2c address into driver 2018-03-14 14:38:40 -04:00
Karl Schwabe
2a5a7b3a1e Adds ability to have out-of-tree uORB message definitions
If the EXTERNAL_MODULES_LOCATION variable has been set, and the
EXTERNAL_MODULES_LOCATION/msg/ directory exists containing a
CMakeLists.txt file with the following format:
    set(config_msg_list_external
      message1.msg
      message2.msg
      message3.msg
      ...
      PARENT_SCOPE
      )
then the messages defined in config_msg_list_external are added to the
msg_files list in Firmware/msg/CMakeLists.txt and are used to generate uORB
message headers. The generate uORB message headers are generated in the same
location as the normal uORB message headers in the build directory, namely,
<build_dir>/uORB/topics. The uORB topic sources are generated in
<build_dir>/msg/topics_sources.
2018-03-14 10:01:43 +01:00
Daniel Agar
dacec87d6b px4fmu-v3 add missing lsm303d and sort 2018-03-14 08:02:19 +01:00
Daniel Agar
de85acb8b0 px4fmu-v2 version detection and init cleanup
- if an invalid version is detected reinit, then reset
2018-03-14 08:02:19 +01:00
Daniel Agar
24be68b27a eclipse project add paths for new params 2018-03-13 23:30:50 -05:00
Beat Küng
2bcc5cf3e5 imu filter defaults: set IMU_GYRO_CUTOFF to 80 and MC_DTERM_CUTOFF to 30
tested on at least 5 different vehicles, including AeroFC. The values
should be conservative, good setups (with low vibrations) can increase
these values even further.

increasing IMU_GYRO_CUTOFF allows for better tuning gains (increased P).
2018-03-13 20:54:49 +01:00
Beat Küng
a99e49a856 landing_target_estimator: fix param type: int -> int32_t 2018-03-13 17:35:15 +01:00
Beat Küng
22acb1dab1 cmake configs: add landing_target_estimator wherever local_position_estimator is enabled
LTEST_MODE is defined in landing_target_estimator and required by
local_position_estimator.
2018-03-13 17:35:15 +01:00
Beat Küng
7ee464c264 LPE: refactor to use ModuleParams 2018-03-13 17:35:15 +01:00
Beat Küng
83d55773af LPE: refactor to use ModuleBase 2018-03-13 17:35:15 +01:00
Beat Küng
9fb9b2916a LPE: use default & delete keywords for constructors & destructors 2018-03-13 17:35:15 +01:00
Beat Küng
f7ee3c2015 cmake configs: add vtol_att_control for required parameters VT_B_DEC_MSS & VT_B_REV_DEL
Required by Navigator.
2018-03-13 17:35:15 +01:00
Beat Küng
279b66bfbd ekf2: use new Param class
reduces RAM usage by 1.3KB
2018-03-13 17:35:15 +01:00
Beat Küng
eb33145ac8 px4_param.h: add ParamExtFloat & ParamExtInt (required by ekf2) 2018-03-13 17:35:15 +01:00
Beat Küng
89a775b401 navigator: remove use of final to allow extending class hierarchy 2018-03-13 17:35:15 +01:00
Beat Küng
8a5cdac1f4 FixedwingPositionControl: fix ordering of PRINT_MODULE_USAGE_NAME 2018-03-13 17:35:15 +01:00
Beat Küng
e0af2912a1 navigator: avoid use of a static variable last_geofence_check 2018-03-13 17:35:15 +01:00
Beat Küng
320bdc6482 navigator: refactor to use ModuleBase class 2018-03-13 17:35:15 +01:00
Beat Küng
246be4f0ab precland: use 'default' for destructor 2018-03-13 17:35:15 +01:00
Beat Küng
2e6904b8a4 navigator: use '#pragma once' as include guard 2018-03-13 17:35:15 +01:00
Beat Küng
f2dddc65a5 navigator: use new Param class 2018-03-13 17:35:15 +01:00
Beat Küng
32eaf278ad Battery: remove unnecessary updateParams() call in constructor 2018-03-13 17:35:15 +01:00
Beat Küng
523bb11577 module template: update to use the new Param classes 2018-03-13 17:35:15 +01:00
Beat Küng
0d26aeafe2 px4_parameter.h: remove this file - it's not used anymore 2018-03-13 17:35:15 +01:00
Beat Küng
fca99cf775 param: refactor BlockParam classes
- make the selected parameter a template argument. This
  enables type-checking at compile-time.
- move things to src/platforms.
  This provides consistent includes with ModuleBase
- add ModuleParams base class (replaces Block & SuperBlock)
- drop the Block* prefix from the class names
2018-03-13 17:35:15 +01:00
Beat Küng
0e4034d01e param: add a px4_parameters_public.h.jinja template
Generates an enum with all params & additional type information for static
type checking

The generated public param header is required to build the modules using
the new BlockParam classes.
2018-03-13 17:35:15 +01:00
Beat Küng
0a5af01454 NavigatorMode: inherit from Block instead of SuperBlock 2018-03-13 17:35:15 +01:00
Amir Melzer
118214c6b5 update submodule to include ASL_PWR_BRD 2018-03-13 15:24:44 +01:00
Philipp Oettershagen
ff66605a8a Fix: Increase pwmsim module stack by 100 bytes again because load_mon was giving warning about low stack 2018-03-13 12:51:33 +01:00
Jan Okle
63121b74df NuttX update - fix kinetis transmission status handling in the serial interrupt (#8944)
efc3d9e92b
2018-03-12 11:56:59 +01:00
David Sidrane
de9368319f Do not change mode to read temperature
The mode change was not necessary and in fact caused the chip to not update the registerfile resulting in MAG timeouts
2018-03-12 11:56:59 +01:00
Beat Küng
bb6802a1ed kinetis: fix PPM decoding
On kinetis, the TPM_STATUS_TOF was used to detect missed interrupts for
PPM decoding. However this was not correct, because the TOF bit was set on
each timer overflow. This happened regularly after every 64ms interval,
which meant that most PPM frames were just discarded.

I have not found any equivalent register/solution that is used on STMF4,
so this just removes the TOF handling. However there is now no way to
detect missed edges/interrupts!
2018-03-12 11:56:59 +01:00
Beat Küng
5a7885610d fmu: fix PPM publication if RC_SERIAL_PORT is not defined
Before, the RC channel was published as fast as the fmu was running
(around 200Hz in unarmed state).

And fix code style.
2018-03-12 11:56:59 +01:00
Beat Küng
dde922a971 fxos8701cq: add a 'stop' command 2018-03-12 11:56:59 +01:00
Beat Küng
06df2fcb65 rc.interface: disable AUX mixer on NXPHLITE_V3 2018-03-12 11:56:59 +01:00
David Sidrane
0ed631227f fxos8701cq:Work with fxos8701cq and fxos8700cq
Allow whoami of fxos8701cq and fxos8700cq
2018-03-12 11:56:59 +01:00
Daniel Agar
5335778f6e nxphlite start correct sensors and disable debug 2018-03-11 18:19:12 -05:00
Mohammed Kabir
f95f4c5f09 UAVCAN : Correct startup sequence and improve parameter description 2018-03-10 23:09:19 -05:00
Vasily Evseenko
ebe74ccb2e Add 'forced on' flow control mode to mavlink UART (#8776) 2018-03-10 14:54:57 -05:00
acfloria
fd0be3c412 Remove MavLink dependency in navigator 2018-03-09 21:16:28 +01:00
Simone Guscetti
dbdb2c9c22 px4-fmuv5: config fix stm32f7 max SD card speed
In the stm32f7 the configuration variable for SD card with DMA changed from CONFIG_STM32_SDIO_DMA to CONFIG_STM32F7_SDMMC_DMA
the maximum clock speed of 16MHz can now be achieved.
2018-03-09 14:54:54 +01:00
Roman
64b97cb18e fw_att_control: in acro use thrust from rate setpoint topic
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-09 13:48:14 +01:00
Thomas Stastny
74730273c1 fw_att_control move angular rate limits to body angular rates (#9023)
* ecl: attitude_fw update
- move angular rate limits to body angular rates
- handle rattitude/acro vs attitude mode rate limits
2018-03-08 22:55:45 -05:00
Daniel Agar
2ce8b6a984
delete VT_FW_PITCH_TRIM parameter (#9014) 2018-03-07 09:08:59 -05:00
Roman
ac2b3ccadc vtol_att_control: default front transition throttle to 100%
- the main idea is to prevent airspeed less systems to stall after a
transition

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
e4ea7262fd tailsitter.cpp: small cosmetic fix
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
03338935e0 vtol_att_control: make sure blending airspeed is smaller than transition airspeed
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
e0ca38e794 standard vtol: fix mc weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
23257bf6ee standard vtol: simplify blending weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
b66bc712af tailsitter: avoid doing same calculation twice
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
1d8f588d37 vtol_att_control: switch from division to multiplication for variable
calculation

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
9e16543dbe tiltrotor: represent time since transition in seconds
- more intuitive
- avoids tons of divisions

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
ae2e6c7a18 tailsitter: represent time since transition in seconds
- more intuitive
- avoids tons of divisions

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
bf22f02567 tailsitter: removed usage of hrt_elapsed and small cleanup
- do not call hrt_elapsed_time since it's expensive
- remove P2 front transition phase (was not even used)

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
196d0e40b4 standard vtol: use time in second since transition start instead of using
microseconds

- seconds is more intuitive
- avoids tons of divisions by 1e6f

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
5a2a5127fa tailsitter: removed common vtol parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
2c0436c37c sitl tiltrotor config: front transition throttle parameter name change
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
07a84f2246 tiltrotor: removed common vtol parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
6900f97b72 vtol_att_control: use airspeed_disabled flag instead of airspeed mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
8f71633516 sitl configs: updated VT_TRANS_THR parameter name change
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
4859cc04dc ROMFS: updated VT_TRANS_THR parameter name change
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman
daa6c6ffc8 vtol_att_control: consolidated standard parameters & fix usage of hrt_elapsed time
- standard vtol was implementing many custom parameters although they
are generic and should be shared between the vtol types
- removed heavy usage of hrt_elapsed_time() which is a system call and
could be computationally expensive
2018-03-07 14:01:51 +01:00
Julian Oes
9c6b1a0f04 navigator: fix incorrect takeoff altitude
This fixes a problem where we do not properly go to the set takeoff
altitude but end up lower.

The problem was that the setpoint triplet is reset when the navigation
mode changes. So in this case, the triplet is reset when we switch from
takeoff to loiter which can happen before reaching the actual takeoff
altitude.

The fix is an ugly hack to prevent the reset in the case of takeoff to
loiter. A better solution would be to remove the general reset and have
all navigation modes do the proper resets themselves.

This hotfix should however be lower risk.
2018-03-07 08:48:44 +01:00
Daniel Agar
623e16e8be logger SITL add additional messages by default 2018-03-06 17:42:33 +01:00
Daniel Agar
6f47894929 rc.sensors ms5611 driver auto detect ms5607/ms5611 2018-03-06 13:47:37 +01:00
Daniel Agar
ba90952e07 px4fmu-v2 board_on_reset also reinit spi 2018-03-06 13:47:37 +01:00
AlexKlimaj
83d01a7c76 Updated batt_smbus. Expanded battery_status.msg. Fixed mavlink_messages.cpp temperature. (#8991)
* Updated and expanded batt_smbus to work with bq40z50-R2. Expanded battery_status.msg. Fixed mavlink_messages.cpp temperature, added commented out expanded battery_status.msg parameters for future mavlink expansion.

* Changed errx to PX4_ERR

* Added PX4_ERR returns
2018-03-06 10:42:20 +01:00
Roman
bf097d7fa4 convergence config: increase idle speed in mc mode
- this makes sure that all motors are idling in mc mode. having this too
low can lead to a motor stopping in flight which is critical for
attitude control
- experienced loss of attitude control in RTL during descent prior to this
change

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-05 15:48:13 -05:00
Daniel Agar
493c41c76e VtolLandDetector require vehicle_status timestamp 2018-03-05 15:46:24 -05:00
Daniel Agar
354584acfc MulticopterLandDetector initialize all class members 2018-03-05 15:46:24 -05:00
Daniel Agar
69470f6991 land_detector use THROTTLE index 2018-03-05 15:46:24 -05:00
Daniel Agar
458db2e508 vehicle_global_position remove redundant evh and evv
- vehicle_status_flags condition_global_velocity_valid is also unnecessary
2018-03-05 13:20:28 -05:00
Beat Küng
03b8cd78b3 gps: explicitly disable flow control
If the GPS driver was used on another port (e.g. TELEM2), it would get
stuck in a `write` call and not return anymore. Disabling flow control
fixes that.

CPU usage is unchanged.
2018-03-05 16:43:14 +01:00
Daniel Agar
1290db7cb7 differential pressure sensors delete test helpers
- these are redundant with listener differential_pressure
2018-03-05 08:32:59 +01:00
Daniel Agar
b9081fb0ab vehicle_global_position delete unused pos_d_deriv 2018-03-05 01:41:18 -05:00
Daniel Agar
2ddd04cba6 px4fmu-v2 disable ulanding 2018-03-05 01:19:56 -05:00
Coby
664001921e quad_plus geometry fix typo in rear motor name (#9008) 2018-03-04 18:24:10 -05:00
Daniel Agar
2f96dbb216 gnd_att_control param fix incorrect FW metadata 2018-03-04 18:23:12 -05:00
Daniel Agar
5cbd19aef2 Jenkins archive nuttx elf files 2018-03-04 17:52:34 -05:00
Daniel Agar
5ef27c5425
mavlink add minimal mode (#8947) 2018-03-04 17:50:28 -05:00
Daniel Agar
6caeb2da4f pwm_out_sim reduce stack 1310 -> 1000 2018-03-04 14:12:15 -05:00
Daniel Agar
38f5f60a1e pwm_out_sim cleanup
- move to ModuleBase
 - strip down to PWM 8 and 16 modes only
 - remove all dead code
 - implement missing pwm ioctls (current value, rates, etc)
 - default rate 50Hz -> 400Hz
2018-03-04 14:12:15 -05:00
PX4 Jenkins
3d6854099e Update mavlink v2.0 submodule Sun Mar 4 07:43:12 UTC 2018 2018-03-04 10:45:51 -05:00
ToppingXu
e340f6fd7a FixedwingPositionControl: fix air_gnd_angle judgement condition.
air_gnd_angle is from acos(), and never return a value that bigger than
M_PI_F
2018-03-02 21:57:11 +01:00
Matthias Grob
d39a8b5a48 Battery: Switch thrust based load compensation back to linear
To account for the parameter definition.
My tests if quadratic is actually better in practise were anyways not conclusive.
2018-03-02 21:07:09 +01:00
Matthias Grob
5bb9babc20 Mavlink: round battery percentage up instead of down 2018-03-02 16:18:52 +01:00
Daniel Agar
4c4f990b3b EKF2 remove FW_ARSP_MODE check 2018-03-02 08:58:08 +01:00
Sander Smeets
2ef9c4ec35 VTOL force land even when transitioning to FW (#8958) 2018-03-01 16:51:50 -05:00
Roman
ff86d15c13 caipirinha vtol: do not lock elevons in hover mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 22:07:36 +01:00
Daniel Agar
3b0b5645e1 vtol_att update poll fd before poll call 2018-03-01 18:27:57 +01:00
Anthony Lamping
1ef7b351be CI: assmue plan file format 2018-03-01 12:21:22 -05:00
Anthony Lamping
3be6a439f1 CI: better detect end of mission
if the vehicle doesn't land and disarm at the end of the mission, the current sequence doesn't reset to 0
2018-03-01 12:21:22 -05:00
Anthony Lamping
25b02a9d0f CI: Jenkins use plan file missions 2018-03-01 12:21:22 -05:00
Anthony Lamping
3b69361a00 CI: move missions into a folder 2018-03-01 12:21:22 -05:00
Anthony Lamping
4158b5e6a9 CI: remove old mission formats 2018-03-01 12:21:22 -05:00
Anthony Lamping
e9c7023083 CI: add missions in plan file format 2018-03-01 12:21:22 -05:00
Roman
ea3586cfd9 tailsitter: stop fiddling with thrust during transition and just let
the mc pos controller handle it for now

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 12:16:27 -05:00
Roman
08534588cd fw_pos_control: get vtol parameter values if vehicle is vtol
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 12:16:27 -05:00
Roman
ee2163ce69 vtol_att_control: prevent segfault when no command line args given
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 11:35:34 -05:00
Andreas Antener
198708ba2e rotation: updated board rotation meta data 2018-02-28 10:08:58 +01:00
Andreas Antener
ab9ee3aa6c conversion: added -45 deg pitch rotation 2018-02-28 10:08:58 +01:00
Andreas Antener
add20389f6 conversion: added rotation +45 degree in pitch 2018-02-28 10:08:58 +01:00
Paul Riseborough
11e3081efd
ecl: Fixes bug preventing use of GPS reported speed accuracy (#8981) 2018-02-28 15:32:01 +11:00
Beat Küng
40675bd1f4 logger: fix potential semaphore counter overflow
When the timer callback is called at a higher rate than the logger can
execute the main loop (which is never the case under normal conditions),
the semaphore counter will increase unbounded, and eventually lead to
an assertion failure in NuttX.
The maximum semaphore counter is 0x7FFF, and when the logger runs at
default rate (3.5ms), the logger task must be blocked for 0x7FFF*3.5/1000
= 114 seconds continuously for an overflow to happen.

I see 2 cases where that could happen:
- the logger execution blocks somehow, or busy-loops in an inner loop
- a higher-prio task runs busy and hogs the CPU over a long period of time
2018-02-27 21:01:29 +01:00
Beat Küng
17cb5c4d58 hardfault_log: fix comment 2018-02-27 21:01:29 +01:00
Roman
49e349c753 updated sitl_gazebo: small tiltrotor fix to enable turns
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-27 16:28:22 +01:00
Julian Oes
38e5a06136 jMAVSim: update submodule again
This gets rid of a printf.
2018-02-26 10:37:34 +01:00
PX4 Jenkins
91d6f35fc8 Update jmavsim submodule Sat Feb 24 23:05:44 CST 2018 2018-02-25 19:07:23 +01:00
PX4 Jenkins
e0b32a6846 Update mavlink v2.0 submodule Sat Feb 24 02:43:15 EST 2018 2018-02-24 23:12:47 -08:00
Matthias Grob
611ab577d8 Battery: Fix estimate initialization
On the Intel Aero and probably also other specific platforms
the first measured voltage values despite connected battery are unuasable.
The solution here is to start filtering and determining warning
only after a measurement above 2.1V was received.
2018-02-24 16:27:44 +01:00
Matthias Grob
83ac74367c Battery: move member initialization values to class declaration 2018-02-24 16:27:44 +01:00
Julian Oes
3917eb2d00 mavlink: don't send wrong time
This prevents the autopilot from sending an invalid unix timestamp.
Usually, if no time is set yet by a GPS, the date is somehow set
to 2000-01-01, therefore we can ignore anything earlier than 2001.
2018-02-23 16:14:02 +01:00
Matthias Grob
df7364d2e2 Battery: Correct unit for capacity parameter 2018-02-23 15:30:17 +01:00
Roman
ea8db53d15 fmu: removed obsolete _trim_pwm member and implemented proper fetching
of mixer trim values

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Roman
04a89f7e9b mixer lib: added methods to fetch the active trim values
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Roman
29c60a1fd4 mixer_group: do not clamp offset to arbitrary value
- allow the user to apply an offset that covers the entire servo range

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
ChristophTobler
6a987b5a15 update submodule sitl_gazebo to include isinf() fix 2018-02-23 09:10:39 +01:00
Roman
2549b702f0 pwm_out_sim, simulator_mavlink: fixed code style
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
10bf6a4b59 params cmd: be less verbose
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
a1f169f752 updated sitl_gazebo for tiltrotor support
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
159834ce1b posix-configs: set tiltrotor transition parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
ddb2dd89db simulator mavlink: support for quad tiltrotor mav type
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
e9c715f89b pwm_out_sim: various fixes for tiltrotor simulation
- increased the number of pwm outputs
- handle PWM_SERVO_SET_MIN_PWM and PWM_SERVO_SET_MAX_PWM

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
2886fe8da3 posix-configs: added sitl startup script for gazebo quad tiltrotor model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Roman
86c472d8ff ROMFS sitl: added a mixer for the gazebo quad tiltrotor model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
mcsauder
3ef6bc7d93 Update CMakeLists for the drivers/imu directory. 2018-02-22 12:48:34 -05:00
Julian Oes
4cac6d1a44 tune_control: added define for tune strength
This adds a define for the tune strength instead of hard-coding it with
a magic number.
2018-02-22 15:24:46 +01:00
Paul Riseborough
abb067c788
ecl: Use EKF version with external vision nav axis rotation bug fixes (#8935) 2018-02-22 22:02:50 +11:00
Daniel Agar
19e706fede fw_att_control fix attitude setpoint publication 2018-02-21 21:07:29 -05:00
Daniel Agar
a0f115b9ae fw_att_control consolidate flaps code 2018-02-21 21:07:29 -05:00
Daniel Agar
4cb71f209f fw_att_control centralize manual setpoint generation 2018-02-21 21:07:29 -05:00
Daniel Agar
7fa858ad84 fw_att_control only store battery_status scale 2018-02-21 21:07:29 -05:00
Daniel Agar
94b8e4a2bf fw_att_control remove commented warnings 2018-02-21 21:07:29 -05:00
Daniel Agar
dcc47020a4 fw_att_control update params before poll 2018-02-21 21:07:29 -05:00
Daniel Agar
bf42964432 fw_att_control don't store entire vehicle_land_detected message 2018-02-21 21:07:29 -05:00
Daniel Agar
97815df1a8 uorb_graph update fw_att_control special case 2018-02-21 21:07:29 -05:00
Daniel Agar
063714c42c fw_att_control initialize all fields in header 2018-02-21 21:07:29 -05:00
Daniel Agar
15fb60c48f fw_att_control delete unused loop_counter 2018-02-21 21:07:29 -05:00
Daniel Agar
1897b93cd2 fw_att_control rename fw_att_control_main.cpp to match class 2018-02-21 21:07:29 -05:00
Daniel Agar
426f2cce2e fw_att_control split header into separate file 2018-02-21 21:07:29 -05:00
Daniel Agar
80de3f48c8 fw_att_control remove debug code 2018-02-21 21:07:29 -05:00
Daniel Agar
559e2c211a fw_att_control move to ModuleBase 2018-02-21 21:07:29 -05:00
Daniel Agar
a35abf2453
rename nuttx board support packages for consistecy (#8777) 2018-02-19 19:12:32 -05:00
Beat Küng
7b5b1c4f23 mc_att_control: update & reset d-term lowpass filter only when frequency changes 2018-02-19 17:02:31 +01:00
Beat Küng
5b7c062f67 mc_att_control_main: remove unused _rates_sp_prev 2018-02-19 17:02:31 +01:00
Beat Küng
f346b00ee0 mc_att_control rate controller: use a butterworth lowpass filter on the D-term
The filter is disabled by default, thus the behavior is unchanged.
2018-02-19 17:02:31 +01:00
Beat Küng
ca9c3b18ff mc_attitude_control: avoid using a static variable for last_run
and call hrt_absolute_time() only once.
2018-02-19 17:02:31 +01:00
Beat Küng
54d1395206 IMU_GYRO_CUTOFF, IMU_ACCEL_CUTOFF: reduce minimum to 0, allowing to disable filtering 2018-02-19 17:02:31 +01:00
Beat Küng
4bf1980ff6 MC_ROLL_P, MC_PITCH_P: increase maximum value to 12
- use the same value for both
- lower control latency allows increasing these gains
2018-02-19 17:02:31 +01:00
Beat Küng
8d9e9d3a7b RC input: allow disabling the RC filtering via RC_FLT_CUTOFF
The default value of 10 Hz adds noticeable lag.
2018-02-19 09:29:46 -05:00
Daniel Agar
8fc659dcb2 commander only copy actuator_controls if engine failure enabled 2018-02-19 15:28:47 +01:00
Daniel Agar
43c7f7edbe commander remove vehicle_attitude usage 2018-02-19 15:28:47 +01:00
Daniel Agar
71fef78bdd commander remove unused include 2018-02-19 15:28:47 +01:00
Daniel Agar
50e96b24b0 commander remove unused differential pressure check 2018-02-19 15:28:47 +01:00
Daniel Agar
ecf46b4f91 commander remove globallocalconverter 2018-02-19 15:28:47 +01:00
Daniel Agar
2c7d45064e mavlink EXTENDED_SYS_STATE initialize landed and vtol state 2018-02-19 15:28:47 +01:00
Daniel Agar
4e45d7959c commander remove gps receiver checks 2018-02-19 15:28:47 +01:00
Julian Oes
a6e863ac89 sitl_gazebo: updated submodule (#8917)
* This includes the new basic camera control.
2018-02-19 09:28:34 -05:00
Lorenz Meier
a24a40c6c4
Update CONTRIBUTING.md
Updated link to flight review
2018-02-19 12:23:56 +01:00
Vasily Evseenko
135162522a Don't use ADSB messages with undefined fields in navigator (#8900)
Don't use ADSB messages with undefined fields in navigator
2018-02-18 11:08:40 +01:00
Daniel Agar
a1f660119c fw_pos_control_l1 consolidate message updates 2018-02-17 18:11:43 +01:00
Daniel Agar
458d8f7b02 fw_pos_control_l1 move to ModuleBase 2018-02-17 18:11:43 +01:00
Daniel Agar
4aeb70fcfe rcS move logger startup to rc.logging and end of init
- fixes #8903
2018-02-17 18:09:50 +01:00
Martina
f932217fdc mavlink_receiver: decode obstacle_distance message 2018-02-16 19:59:31 +01:00
Martina
883fb8ce57 CMakeLists: add obstacle_distance message 2018-02-16 19:59:31 +01:00
Martina
f5bfabfab9 add obstacle_distance message 2018-02-16 19:59:31 +01:00
Beat Küng
37a082255a rc.interface: enable aux mixer for FMU-v5 2018-02-16 07:58:40 +01:00
Vicente Monge
a272cbbd08 Included field timestamp for micrortps bridge messages. 2018-02-15 22:32:18 +01:00
ChristophTobler
f9cb575ced mavlink_receiver: add evh/evv to vision msg
this will be used by the ekf2 at some point
2018-02-15 11:26:01 -05:00
Avinash Reddy Palleti
12c343317c Add aerofc baudrate to list
Adding aerofc baudrate 921600 into the list
2018-02-15 10:23:59 +01:00
Daniel Agar
a04110cad1 Jenkins temporarily disable ROS vtol mission test old 3 2018-02-14 20:29:20 -05:00
Beat Küng
89b2fa2ba0 microRTPS_transport.h: add clarifying comment for Transport_node::write() 2018-02-14 12:14:34 +01:00
ritul jasuja
13a3791c47 Send RTPS header and payload in one stream
This avoids assembling the header and payload on the receiver side
2018-02-14 12:04:35 +01:00
Beat Küng
2517d3854c printload: fix buffer overflow on NuttX
The NuttX config variable CONFIG_TASK_NAME_SIZE does not include the
null terminator byte, thus the buffer needs to be longer by 1 byte.
2018-02-14 11:17:44 +01:00
ChristophTobler
80eca30689 microRTPS_bridge: mark task as not running when running stop() 2018-02-13 20:50:00 -05:00
Anthony Lamping
c22dc2beaf CI: mission WP reached - satisfy based on mavros topics instead of distance check (#8879) 2018-02-13 20:49:18 -05:00
Roman
8ec1fb9999 ROMFS: added mixer for tailsitter simulation
- simulated tailsitter needs a virtual elevator since we cannot simulate
elevons yet (liftDrag plugin does not model longitudinal moment Cm)

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-13 20:47:40 -05:00
Roman
d63a8033d0 updated sitl_gazebo: tailsitter fixes
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-13 20:47:40 -05:00
acfloria
6be5a0aacc Add AERT mixer 2018-02-13 20:45:19 -05:00
Phillip Kocmoud
4d0964385b Update rc.sensors : mRo X2.1 to enable the LIS3MDL
This change allows the LIS3MDL based GPS magnetometers to autostart on the mRo x2.1.
2018-02-12 21:33:39 -05:00
Julian Oes
cc36c8ee37 mission: warn at 2/3 of the max distance
This was wrong, instead of warning at 2/3 of the max distance as
mentioned in the comment, we would start to warn at 3/2 of the distance
which would then never actually happen.
2018-02-12 17:36:54 -05:00
Lorenz Meier
85b88f723d
Update README
Update maintenance team duties according to latest discussions on dev call.
2018-02-12 21:58:11 +01:00
Beat Küng
4b64bfdd95 mc_pos_control: disable roll/pitch modification in manual for multicopters
This causes severe oscillations in aggressive maneuvers with high tilt
angles. It's an issue on VTOL's too, but the modification is specifically
for VTOL's and VTOL's typically do not fly with such high tilt angles
(>50 deg).
See also: https://github.com/PX4/Firmware/issues/7949
2018-02-12 10:53:54 +01:00
Daniel Agar
8b63dbecde FW controllers initialize vtol_type to a non-valid value
- tailsitter is vtol type 0
2018-02-11 17:12:45 +01:00
PX4 Jenkins
36e72a67fa Update mavlink v2.0 submodule Sun Feb 11 02:43:17 EST 2018 2018-02-11 16:38:09 +01:00
Anthony Lamping
b1f08a9640 ROS launch: cleanup
* remove non-functional gazebo headless arg
* remove unused namespace args
* simplify mavros launch, use mavros's px4.launch instead
* fix single_vehicle_spawn spelling
* formatting with xmllint: remove empty lines, set intent to 4 spaces, add xml tag for editors, add comments to break up spections
* remove old and deprecated launch files
2018-02-11 15:16:35 +01:00
nanthony21
a637063965 fix formattting 2018-02-11 14:08:02 +01:00
nanthony21
53b4f6406f cell_voltage is no longer constant 2018-02-11 14:08:02 +01:00
nanthony21
9c7de38b75 battery compensation is now performed on the cell voltage rather than the total voltage 2018-02-11 14:08:02 +01:00
Daniel Agar
e04d30c9cf param markdown metadata handle float enums 2018-02-10 20:37:47 -05:00
Daniel Agar
2eb684ded3 mavlink add MAV_TYPE enums 2018-02-10 20:37:47 -05:00
Daniel Agar
1a0238f20c tone_alarm fix circuit breaker param handling 2018-02-10 20:37:47 -05:00
Daniel Agar
6355eedd7a move NAV_RC_LT into Mission group 2018-02-10 20:37:47 -05:00
Daniel Agar
3928507f65 mc_pos_control MPC_CRUISE_90 missing max 2018-02-10 20:37:47 -05:00
Daniel Agar
232b38a669 RCX_REV params add enum metadata 2018-02-10 20:37:47 -05:00
Daniel Agar
2d27b1eb52 delete unused MAV_TEST_PAR 2018-02-10 20:37:47 -05:00
Daniel Agar
f621c334a8 sensors don't find parameters that are unused by QGC 2018-02-10 20:37:47 -05:00
Daniel Agar
5b80adeadb move SENS_EN_MB12XX to mb12xx driver 2018-02-10 20:37:47 -05:00
Daniel Agar
dbb3621bdb move SENS_EN_TFMINI to tfmini driver 2018-02-10 20:37:47 -05:00
Daniel Agar
3e2c9d1113 move SENS_EN_LEDDAR1 to leddar_one driver 2018-02-10 20:37:47 -05:00
Daniel Agar
23be7d4f96 move SENS_EN_SF1XX to sf1xx driver 2018-02-10 20:37:47 -05:00
Daniel Agar
fb29ea0079 move SENS_EN_TRANGER to teraranger driver 2018-02-10 20:37:47 -05:00
Daniel Agar
8a67b5b447 move SENS_EN_SF0X to sf0x driver 2018-02-10 20:37:47 -05:00
Daniel Agar
f6a37d8c74 move SENS_EN_LL40LS to ll40ls driver 2018-02-10 20:37:47 -05:00
Daniel Agar
cf54023c96 lis3mdl i2c address is not board specific 2018-02-09 22:40:34 +01:00
Daniel Agar
ad6df56438 lis3mdl add mixxing PX4_I2C_BUS_EXPANSION ifdef 2018-02-09 22:40:34 +01:00
Daniel Agar
c459a04b9b organize all telemetry drivers in subdirectory 2018-02-09 22:40:34 +01:00
Daniel Agar
681e351f62 organize all IMU drivers in subdirectory 2018-02-09 22:40:34 +01:00
Daniel Agar
f7a17ad5e5
cmake improve ROMFS dependencies for px4io inclusion (#8860)
- fixes #8858
2018-02-09 12:57:34 -05:00
Beat Küng
782ed5d324 modules documentation script: add anchor for '### Usage' sections
So that they are unique.
2018-02-09 09:53:25 -05:00
Daniel Agar
c7dfd2d17f ROMFS fix LeddarOne nsh init 2018-02-08 19:58:42 -05:00
Daniel Agar
caf50dbea2 batt_smbus delete IOCTL usage 2018-02-08 19:00:48 +01:00
Daniel Agar
64fa1ec6a5 batt_smbus readd to configurations and fix compilation errors 2018-02-08 19:00:48 +01:00
johannes
b69a4df20c tools-ecl-ekf: remove commas to prevent csv file import errors
- remove commas from a csv table file string to avoid import errors
2018-02-08 17:18:41 +01:00
ChristophTobler
bce08334d0 update sitl_gazebo submodule
includes range finder topic fix
2018-02-08 17:05:26 +01:00
Beat Küng
4772a25b77 rcS: add clarifying comment for Pixhawk 3 Pro UART port 2018-02-08 14:48:49 +01:00
Haukanes
35acdfa717 Start frsky_telemetry for PX4FMU_V4PRO 2018-02-08 14:46:55 +01:00
José Roberto de Souza
0b9025b2d2 px4fmu-v2: Build individual distance sensors
We are running out of flash memory in px4fmu-v2 so removing all the
distance sensors from binary and adding then individually.
Right now only LeddarOne is not being buid.
2018-02-08 11:26:26 +01:00
José Roberto de Souza
10df6729f3 ROMFS: aerofc: Do not start MAVLink in telemetry if LeddarOne is in use 2018-02-08 11:26:26 +01:00
José Roberto de Souza
d0baf95df3 drivers: Add LeddarOne lidar driver
More information: https://leddartech.com/modules/leddarone/
2018-02-08 11:26:26 +01:00
Lorenz Meier
eaf401a32f README: Add hint to QA session on dev call 2018-02-07 08:11:54 +01:00
Anthony Lamping
74bd40c09d multi uav launch: spawn urdf 2018-02-07 08:09:32 +01:00
Lorenz Meier
0413f407a5 Gazebo: Update to fix geotagging 2018-02-07 08:09:18 +01:00
Anthony Lamping
86ae744266 CI: allow Gazebo to restart on crash (#8817)
* add respawn_gazebo arg to be used with empty_world.launch
* catch rospy sleep method's exceptions
* fix copy-paste mistake in land state failure message
2018-02-06 15:11:09 -05:00
Daniel Agar
b40323b8d8 Jenkins simplify docker environment setup 2018-02-05 15:37:04 -05:00
Daniel Agar
f7285e1cfa UAVCAN improve dependencies within libuavcan submodule
- fixes #8828
2018-02-05 11:48:22 -05:00
johannes
26f9e56014 change short option for overwrite to be a single letter 2018-02-05 15:34:03 +01:00
johannes
5357d680d2 print "skipping files" information to console 2018-02-05 15:34:03 +01:00
johannes
0e82e2ec67 update the batch process script for the ekf analysis tool to support resumed analysis:
- ulog files are skipped from the analysis, if a corresponding .pdf file already exists
	- an overwrite flag can be set to analyse all the files
2018-02-05 15:34:03 +01:00
David Riseborough
83133b1bca This commit fixes the way baud rate is generated from the program argument in
the FTPS client and agent.

A table has been added to the FTPS client and agent code that correlates
the baud rate value with the encoding.

A function has been added to the FTPS client and agent to take the program
argument for baud rate and use it to look up the table and return the entry
containing both the value and the encoding.

The value is displayed for the user and the encoding is sent to the uart
node constructor.

Signed-off-by: David Riseborough <drisebor@hotmail.com>
2018-02-05 08:25:03 +01:00
elia
64f032441c add validity flags which are used by ekf2 main module 2018-02-04 21:17:37 +01:00
Daniel Agar
f5c1124812 move tailsitter_recovery lib to mc_att_control 2018-02-04 18:15:57 +01:00
Daniel Agar
b3b1161d53 mathlib filters include automatically 2018-02-04 18:15:57 +01:00
Daniel Agar
6f248bc7e9 move runway_takeoff lib to fw_pos_control_l1 2018-02-04 18:15:57 +01:00
Daniel Agar
f73f95965a parameter culling include subdirectories of modules 2018-02-04 18:15:57 +01:00
Daniel Agar
6a4ef78111 move launchdetection lib to fw_pos_control_l1 2018-02-04 18:15:57 +01:00
Julian Oes
d646abcee7 px_uploader: improve silicon check
- Move check to proper location, out of the try catch block for OTP.
- Add Pixhawk specific check to notify users that want to flash
  px4fmu-v3_default on Pixhawks with older v4 bootloaders that do not
  support the silicon errata check.
2018-02-04 18:14:51 +01:00
Julian Oes
a1ab84e5b9 px_uploader: make rev check a bit more intuitive 2018-02-04 18:14:51 +01:00
Lorenz Meier
6d00de7b25 Uploader: Move flash size check into appropriate bootloader version region 2018-02-04 18:14:51 +01:00
Lorenz Meier
df32297162 Gazebo SITL: Make Rospack optional 2018-02-03 19:20:51 +01:00
Julian Oes
d175a75691 px_uploader: fix Python3 upload
This fixes the error below when using Python3:

  File "Tools/px_uploader.py", line 128, in
  __init__
      self.image.append('\xff')
      TypeError: an integer is required
2018-02-03 09:33:13 -05:00
ChristophTobler
305859f356 disable power module (#8804)
- currently doesn't work on all boards...
2018-02-02 12:00:39 -05:00
Daniel Agar
976b890c56 commander increase stack by 90 bytes (3160 -> 3250) 2018-02-02 08:34:39 +01:00
Matthias Grob
5ad03d7ef2 mc_pos_control: comment typo in flow sensor altitude 2018-02-02 00:38:01 -05:00
Matthias Grob
11d480240a mathlib Functions: removed inline, fixed style 2018-02-02 00:38:01 -05:00
Matthias Grob
8e68f5ed79 mathlib Functions: improve documentation and limit checking 2018-02-02 00:38:01 -05:00
Daniel Agar
8c201c88ca Jenkins always distclean each build 2018-02-02 00:30:33 -05:00
Julian Oes
9c86cdab2e Robustify mission upload/download (take 2) (#8794)
* Revert "mavlink_mission: don't retransmit automatically"

This reverts commit 4e008fe89120e24e321e93fb551753242797f022.

* mavlink_mission: don't retry to send mission item

The mission items need to be requested one by one by a ground station.
This is a "pull" protocol and we should not retry to "push" the mission
items down.

If we do this we can trigger the situation where the autopilot keeps
retrying and the ground station does not time out because it keeps
receiving items (even though the items are the wrong ones).

* mavlink_mission: reduce retry timeout

When actively re-requesting lost mission items, we can be more agressive
and therefore lose less time when a mission item is lost on the way.
2018-02-01 16:59:22 -05:00
Daniel Agar
102c0ead53 cmake consolidate px4 executable builds and upload 2018-02-01 09:00:13 -05:00
Daniel Agar
2ff81393bc move posix, nuttx, qurt components into platforms 2018-01-31 17:17:07 +01:00
Beat Küng
a644ed90dd mavlink: use orb_unsubscribe() instead of close() for orb subscription 2018-01-31 15:18:51 +01:00
ChristophTobler
acaf7cd267 rcS: automate tfmini start
disable mavlink on aero telemetry if tfmini enabled and start on mavlink companion device for others (needs SYS_COMPANION to be 0)
2018-01-31 11:36:06 +01:00
Paul Riseborough
8a1b6d548f ecl: Update to version that fixes height reset bug 2018-01-31 10:46:52 +01:00
Beat Küng
0c6280ba45 tune_control: fix clang-tidy errors 2018-01-31 07:57:52 +01:00
Beat Küng
86acd23704 cmake configs: add lib/tunes for all configs that have tune_control enabled 2018-01-31 07:57:52 +01:00
Beat Küng
2577eb7527 sensors: adc_poll: remove unneeded argument 2018-01-31 07:57:52 +01:00
Beat Küng
90a6989440 px4fmu-v5 cmake config: re-add drivers/bmi055
Accidentally dropped in bad813e911061bc9d356b12673739ac1c48f02cb
2018-01-31 07:57:52 +01:00
Beat Küng
c8c918ce98 cmake configs: add systemcmds/tune_control
This is now required in the startup scripts
2018-01-31 07:57:52 +01:00
Beat Küng
10597fcf12 fmu-v5 board_config: add BOARD_BATTERY1_V_DIV and BOARD_BATTERY1_A_PER_V 2018-01-31 07:57:52 +01:00
PX4 Jenkins
a916a6c2db Update sitl_gazebo submodule Wed Jan 31 00:19:55 UTC 2018 2018-01-31 01:36:11 -05:00
Daniel Agar
4c5b42f256 parameters move bson buffered file support into tinybson 2018-01-30 09:17:56 -05:00
Daniel Agar
59fd22be1b parameters import/export test 2018-01-30 09:17:56 -05:00
ChristophTobler
8d4036df7d aerofc cmake: add baro driver again 2018-01-30 09:17:01 -05:00
ChristophTobler
d2e45d14fa update ecl to include ev hgt fix 2018-01-30 12:32:30 +01:00
Paul Riseborough
eed8b00857 mc_pos_control: Release estimator speed limit only when speed demand is significant
This prevents unexpected increases in stick sensitivity when stick is moved after periods of inactivity.
2018-01-29 22:30:34 +01:00
Paul Riseborough
6ef43e5b75 ecl: Use latest master 2018-01-29 22:30:34 +01:00
Paul Riseborough
f8693b49c2 mc_pos_control: Fix compile error after rebase 2018-01-29 22:30:34 +01:00
Paul Riseborough
388eb6ee4c ros: update local_position publication
Ensure all data is set.
2018-01-29 22:30:34 +01:00
Paul Riseborough
64551607bc simulator: update local_position publication
Ensure all data is set.
2018-01-29 22:30:34 +01:00
Paul Riseborough
4b2dcddec2 position_estimator_inav: update local_position publication
Ensure all data is set.
2018-01-29 22:30:34 +01:00
Paul Riseborough
33b75d8e87 mavlink: update local_position publication
Ensure all data is set.
2018-01-29 22:30:34 +01:00
Paul Riseborough
c294393377 local_position_estimator: update local_position publication
Ensure all data is set.
2018-01-29 22:30:34 +01:00
Paul Riseborough
642a4a5fc7 mc_pos_control: respect estimator max speed and min height limits 2018-01-29 22:30:34 +01:00
Paul Riseborough
1e9361572f sensors: Add parameter for flow sensor minimum range 2018-01-29 22:30:34 +01:00
Paul Riseborough
fc78de4c26 ekf2: Update parameter descriptions for air data fusion 2018-01-29 22:30:34 +01:00
Paul Riseborough
f866698fb2 ekf2: Update parameter description for max optical flow rate 2018-01-29 22:30:34 +01:00
Paul Riseborough
b117fddb21 ekf2: publish estimator position control limits 2018-01-29 22:30:34 +01:00
Paul Riseborough
0ed78f259e msg: Add estimator required control limits to vehicle_local_positiion 2018-01-29 22:30:34 +01:00
ChristophTobler
d53c531979 mpu9250 wrapper: set autopublish rate
before it didn't integrate IMU values and HIGHRES_IMU was using the filtered values
2018-01-29 16:55:45 +01:00
Simone Guscetti
47e5382e7e libtunes: insert explicit fallthrough 2018-01-29 09:45:59 -05:00
Martina
3e09f6309e tune_control: add string library after rebase 2018-01-29 09:45:59 -05:00
Martina
1a50759521 tone_alarm: fix rebase error 2018-01-29 09:45:59 -05:00
Simone Guscetti
9cb95b64ca libtunes: change variable name
This make the variable purpose more clear.
2018-01-29 09:45:59 -05:00
Martina
2ec5ea48a3 tunes: for custom tunes set silence from tune control message and set
silence to 0 when the end of the string is reached
2018-01-29 09:45:59 -05:00
Martina
9611641bb7 tune_control: add silence to tune_control message 2018-01-29 09:45:59 -05:00
Martina
d5b2ba276b tunes: change tune update interval to 100000 us 2018-01-29 09:45:59 -05:00
Martina
0f1f2d870f tune_control: add silence to tune_control msg 2018-01-29 09:45:59 -05:00
Martina
d10372c6b5 tunes: change config_tone definition and add pointer to the beginning
of the tune to repeat it
2018-01-29 09:45:59 -05:00
Martina
1988141c6d tunes: add pointer to the beginning of a tune to allow tune replay 2018-01-29 09:45:59 -05:00
Simone Guscetti
402ad9f48f rcS: partially change rcS to start the modified tone driver
- Start tone_alrm driver after uorb
- Replace tone_alarm $TUNE_ERR with tune_control play -m ${TUNE_ERR}
- TUNE_ERR is a string
2018-01-29 09:45:59 -05:00
Simone Guscetti
a4659b1228 mkblctrl: Repalce old tune interface with the new one
untested on real hardware
2018-01-29 09:45:59 -05:00
Simone Guscetti
117966d2a1 cmake configs: Add tunes library to each board using tone_alarm 2018-01-29 09:45:59 -05:00
Simone Guscetti
08490b0182 commander_helper: Modify to use the tunes library 2018-01-29 09:45:59 -05:00
Simone Guscetti
26d2e69ecf libtunes: Add maximum update interval 2018-01-29 09:45:59 -05:00
Simone Guscetti
8054bbb985 tone_alarm: Adapt tone_alarm driver to use libtunes 2018-01-29 09:45:59 -05:00
Simone Guscetti
f63be6b055 libtunes: If default tune does not exist
return -EINVAL
2018-01-29 09:45:59 -05:00
Simone Guscetti
915f728145 libtunes: Separate the default tunes from tunes.cpp 2018-01-29 09:45:59 -05:00
Simone Guscetti
6e712876a4 tune_control: Add checks for the strength 2018-01-29 09:45:59 -05:00
Simone Guscetti
591f9a8a38 libtunes: Handle notification tunes as high priority 2018-01-29 09:45:59 -05:00
Simone Guscetti
3f123acd7e libtunes: handle tune override 2018-01-29 09:45:59 -05:00
Simone Guscetti
6c8b16391e libtunes: complete API doc, minor changes 2018-01-29 09:45:59 -05:00
Simone Guscetti
61b3827962 tune_control: Modify tune_control to use new lib functions 2018-01-29 09:45:59 -05:00
Simone Guscetti
b84a97c6d5 libtunes: Changed to a set_control/string and a get_next_tune functions
Now it is possible to set a string and a control.
The get_next_tune function use the same return values as the erliaer
implemented parse_cmd and parse_string functions.
2018-01-29 09:45:59 -05:00
Simone Guscetti
5214642bc3 tunes lib: Minor changes 2018-01-29 09:45:59 -05:00
Simone Guscetti
546a92af1e tune_control: add usage and strength option 2018-01-29 09:45:59 -05:00
Simone Guscetti
9c2480e534 tune_control: clean up 2018-01-29 09:45:59 -05:00
Simone Guscetti
e9ea7ab698 lib tunes: clean up 2018-01-29 09:45:59 -05:00
Simone Guscetti
dcfd2f1579 tune_control: add max iteration count for the string and lib test calls 2018-01-29 09:45:59 -05:00
Simone Guscetti
f7aad844a3 tune control: added the possibility to set tunes with a string
minor changes
2018-01-29 09:45:59 -05:00
Simone Guscetti
7f1f3fa367 msg tune_control: change the duration field to be an uint32
to allign with the libray output which is in us
2018-01-29 09:45:59 -05:00
Simone Guscetti
1714deeb94 system cmd: add first iteration of the new CLI interface for tune control 2018-01-29 09:45:59 -05:00
Simone Guscetti
79ae413982 lib tunes: Add string input method 2018-01-29 09:45:59 -05:00
Simone Guscetti
8ce57bedb7 libtunes: create a new library for tunes
cmake configs: Modify to include new library
2018-01-29 09:45:59 -05:00
Simone Guscetti
e139446d09 msg: add new tune_control messege 2018-01-29 09:45:59 -05:00
bresch
aca30fc612 VTOL standard - Remove pitch trim 2018-01-29 09:32:51 -05:00
bresch
920cb7a1a1 VTOL standard - Group multicopter weights in update_vtol_state() 2018-01-29 09:32:51 -05:00
bresch
d34767b871 VTOL standatd - Simplify multicopter weight in update_transition_state() 2018-01-29 09:32:51 -05:00
Daniel Agar
2bea09a997 rate controller status include rates
- the actual corrected rates currently used by mc_att_control are not
   logged
2018-01-29 09:10:56 -05:00
Andreas Antener
98441ac100 Log rate controller integrators (FW + MC) 2018-01-29 09:10:56 -05:00
PX4 Jenkins
3504ce8efe Update mavlink v2.0 submodule Mon Jan 29 05:18:15 UTC 2018 2018-01-29 00:36:28 -05:00
ChristophTobler
cf79be1559 sitl ekf2 config: add vision position estimate 2018-01-28 21:07:48 +01:00
ChristophTobler
c272feb71d update sitl_gazebo submodule 2018-01-28 21:07:48 +01:00
Daniel Agar
8b0ba3c34c commander log full status flags 2018-01-28 19:28:32 +01:00
Daniel Agar
dc2d6e8aab
commander fix ignored parameters (COM_POS_FS_DELAY/COM_POS_FS_PROB) and refactor position velocity validity check (#8765) 2018-01-28 11:22:51 -05:00
SungTae Moon
f8f95078e8 commander status reuse arming_state_names in state_machine_helper (#8667) 2018-01-27 10:22:29 -05:00
ChristophTobler
1f5d6c7117 update sitl_gazebo submodule to include opt_flow fixes 2018-01-27 10:04:16 -05:00
ChristophTobler
92dbb16d29 tfmini: use px4_open/read and default range finder device path
this is more consistant and should enable it on qurt/linux
2018-01-27 14:13:28 +01:00
ChristophTobler
7bf3425b7e tfmini: move part from constructor to init()
This makes sure the driver fails if the device path is invalid (::open fails)
2018-01-27 14:13:28 +01:00
ChristophTobler
f294445cd0 rc.sensors: start tfmini with appropriate device path for FMUv3 2018-01-27 14:13:28 +01:00
ChristophTobler
d6f137e10d tfmini: fixes for other boards than FMUv3
mainly the default device path doesn't work
2018-01-27 14:13:28 +01:00
Beat Küng
738f1ccdb6 module template: need to check if it's running for custom commands 2018-01-27 00:43:04 +01:00
Beat Küng
44d0cba6aa modules documentation: ignore comments in source files 2018-01-27 00:43:04 +01:00
Beat Küng
5bd8574e47 examples/px4_daemon_app: remove this app
superseded by src/templates/module
2018-01-27 00:43:04 +01:00
Beat Küng
761826cc5a posix_sitl_default.cmake: add template module
Just to make sure it's built with CI
2018-01-27 00:43:04 +01:00
Beat Küng
25483faf88 modules: add a new module that serves as template for background tasks 2018-01-27 00:43:04 +01:00
ChristophTobler
a63fce86d4 rcs: mention wifi mapping on v4 2018-01-27 00:41:44 +01:00
ChristophTobler
5cfe0e9a0f rcS: update comment on mavlink for FMUv4
Comment was a contradiction
2018-01-27 00:41:44 +01:00
PX4 Jenkins
ca6d8fefd8 Update sitl_gazebo submodule Fri Jan 26 14:19:36 CST 2018 2018-01-26 15:41:49 -05:00
Julian Oes
757f0e7334 mavlink_mission: straightaway send item again
Instead of using a timeout to resend a mission item, we should directly
send the mission request again. This is needed because we removed the
automatic resending which lead to troubles.
2018-01-25 15:31:40 +01:00
Julian Oes
d5219c8bc0 mavlink_mission: answer with mission NACKs
if anything doesn't go according to protocol we should not just throw
warnings but actually tell the ground station with a mission nack.
2018-01-25 15:31:40 +01:00
Julian Oes
e43cc9a9c1 mavlink_mission: send request again if unsupported
When we receive a MAV_MISSION_UNSUPPORTED, we should try to send a
mission request again with or without int mode.
2018-01-25 15:31:40 +01:00
Julian Oes
ffc7f37f12 mavlink_mission: don't retransmit automatically
This is an attempt to fix mission upload and download with QGC on a
lossy link. The way it should work according to the protocol on
https://mavlink.io/en/protocol/mission.html is that in general
the ground station should be concerned about timeouts and
retransmission. This means the autopilot does not need to retransmit by
itself but just answer requests.

This seems like it would make the transfer less robust, however, it
actually resolves an edge case where QGC fails to make requests because
it gets spammed by the autopilot and keeps resetting the timeout.
2018-01-25 15:31:40 +01:00
Nicolas de Palezieux
bc3577bd60 mission_block: do relative alt correction for correct nav_cmd 2018-01-25 15:27:55 +01:00
Nicolas de Palezieux
0266ca9845 commander: fix indentation 2018-01-25 15:27:55 +01:00
DonLakeFlyer
342509b3ab New ROI commands implementation 2018-01-25 15:27:55 +01:00
Nicolas de Palezieux
ae52f74e78 landing target estimator: initialize landing target velocity with negative of vehicle velocity 2018-01-24 19:39:30 +01:00
Nicolas de Palezieux
b7dff95782 landing target estimator: check validity of the correct data before computing acceleration 2018-01-24 19:39:30 +01:00
Daniel Agar
c0615c9e70 logger add safety 2018-01-24 17:36:53 +01:00
Daniel Agar
2ae5e575a5 land detector initialize landed and publish periodically 2018-01-24 17:36:53 +01:00
Daniel Agar
fd3f59d8c4 commander publish periodic status messages at 1 Hz 2018-01-24 17:36:53 +01:00
Daniel Agar
edf178d4e8 commander safety update require successful orb_copy 2018-01-24 17:36:53 +01:00
PX4 Jenkins
9a32ca2307 Update sitl_gazebo submodule Wed Jan 24 00:19:13 UTC 2018 2018-01-24 08:27:49 +01:00
Nicolas de Palezieux
0fd043af01 vmount: compute gimbal yaw setpoint relative to vehicle yaw 2018-01-22 15:56:42 +01:00
Lorenz Meier
d8164377a8 Navigator: Move mission param into mission params
This is important for the compile scope.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
7ae3884944 heading towards ROI: do not require setting the MIS_YAWMODE param to enable multicopters yawing towards ROIs
ROI yaw control: configure yawing capability of mount in vmount parameters.
If configured that mount has no yaw control, vehicle will yaw towards ROI, irrespective of MIS_YAWMODE.
Vehicle will behave according to MIS_YAWMODE when there is no ROI.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
add3692357 ROI: accept ROIs of type None in missions to enable 'deactivating' another ROI 2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
bedaafcc20 NAV_CMD_DO_SET_ROI: handle relative altitude in mission ROI commands 2018-01-22 15:56:42 +01:00
PX4 Jenkins
9d18fc8787 Update mavlink v2.0 submodule Mon Jan 22 01:43:26 CST 2018 2018-01-22 09:53:33 -05:00
Beat Küng
99c9e09624 vmount mavlink input: continue to poll for vehicle_command until reaching the timeout
or receiving a command that we need to handle. This makes sure that we
don't drop commands, when the output mode is set to mavlink (in that case
the input topic is rate-limited, and each input change results in a
vehicle_command publication, which results in queueing up orb items if we
get vehicle_commands from other sources too).
2018-01-21 15:41:30 +01:00
Beat Küng
5a189f3c4a vmount mavlink input: rate-limit vehicle_command topic 2018-01-21 15:41:30 +01:00
Beat Küng
48edaa7ef6 vmount: remove output rate-limiting
It causes missed input changes.
This reverts 73d23742ea5c297f262c0e03caec61ee482977b1.
2018-01-21 15:41:30 +01:00
Beat Küng
5e826eaa27 Revert "vmount: fix new input getting lost in throttling"
This reverts commit b7404ad6c15231bef2a03add05f6b65e0138d24c.
2018-01-21 15:41:30 +01:00
Jonas Vautherin
38c949731f mavlink_main: fix broadcast computation
The way the broadcast IP is currently fetched is by sending an ioctl()
request. The limitation of this is that the broadcast address may not
be set on the network interface (more specifically, it is usually not
set in docker containers). In those cases, it results in the broadcast
address becoming 0.0.0.0, which is not valid [1].

This fix uses the network IP and the netmask to compute the directed
broadcast address. This should be more reliable, as both of those are
always set on the network interface.

[1]: https://tools.ietf.org/html/rfc1122, section 3.2.1.3 (a)
2018-01-21 14:58:04 +01:00
Matthias Grob
463217a5f9 Cygwin: repair NuttX build (#8737)
* Cygwin: repaired NuttX build after 1f63d85869b3495f3f66a3300b365c57469f1020
all the NuttX specific WINTOOL define handling was skiped in cmake Make.defs generation
The Nuttx build is makfile based and needs its cygwin treatment

Additionally the ${PX4_SOURCE_DIR}/src/include which was added through cmake needs path conversion

The two root causes for the special handling are:
- ARM GCC for Windows doesn't support cygwin paths passed as an argument
  so they need to be either relative or converted via cypath tool
- Symbolic links are totally different under Windows and because NuttX uses them extensively
  it has special handling scripts that need to be fed with the correct defines

* Cygwin: NuttX include paths all converted in Make.defs.in

differentiate between WINTOOL define (MSYS & cygwin) and cygwin using uname command:
- MSYS needs symbolic link handling for ARM GCC but no path conversion
- Cygwin needs both
2018-01-20 23:26:12 -05:00
Beat Küng
45458fe9eb uORBManager: add comment about not having to set the priority 2018-01-19 14:11:01 +01:00
Beat Küng
2cb698f01f uORBDevices: set the priority when advertising a node that's already subscribed
This fixes the case where a topic instance is already subscribed, and
advertised later. The subscriber will create the DeviceNode with default
priority, and the advertiser will just use the existing DeviceNode,
without updating to the requested priority.
2018-01-19 14:11:01 +01:00
Simone Guscetti
c8a1050323 libled: allow infinite flashing mode 2018-01-19 11:55:39 +01:00
Daniel Agar
bda929bebb commander fix hil_state regression again 2018-01-18 17:38:48 +01:00
Julian Oes
b7404ad6c1 vmount: fix new input getting lost in throttling
This fixes the case where a new gimbal input gets lost in the output
throttling.

This is required because an input is potentially set only once and
then not computed again. In the failure case, control_data is set
to nullptr in subsequent calls and therefore not used for the output
calculation ever.
2018-01-18 11:09:17 +01:00
Julian Oes
b468551b6c vmount: remove mavlink dependency
Let's just hardcode 0 because we don't want to include the mavlink
headers just for this.
2018-01-18 11:09:17 +01:00
Julian Oes
3adb389b7c vmount: don't ignore commands to all component ids
This resolves the case where a gimbal command assembled by
QGroundControl is rejected because the component id is set to 0 (for
all) and the component id of the vehicle is e.g. 1.
2018-01-18 11:09:17 +01:00
Anthony Lamping
85ba160757 CI: improve mavros SITL tests logging (#8714)
* add more logging to help with #8556
* log subscribed topics on mission start and test exit (pass or fail)
* use mavlink enums everywhere to avoid maintaining dictionary mappings and to have readable values
* log when the FCU advances to next mission item without satisfying the position reached offset/radius
* some renaming for readability
* log more state value changes (connected and MAV_STATUS)
2018-01-17 17:54:32 -05:00
TSC21
821eb5ac87 navigator: precland_params: PLD_MAX_SRCH: fix min value from float to int 2018-01-17 17:52:24 -05:00
TSC21
ae65289967 lpe: params: fix LPE_FUSION max value 2018-01-17 17:52:24 -05:00
PX4 Jenkins
850678b0a6 Update mavlink v2.0 submodule Wed Jan 17 07:43:11 UTC 2018 2018-01-17 05:45:00 -05:00
Beat Küng
e11008f30e px_uploader: minor text message update 2018-01-17 10:14:04 +01:00
ritul jasuja
fed06955bc Update debug message as per connection link 2018-01-17 10:10:33 +01:00
Beat Küng
f672152d2d logger: change 'removing log directory' warning to info 2018-01-17 02:19:01 -05:00
Beat Küng
a329fd4c76 SITL configs: set SDLOG_DIRS_MAX to 7
Avoids ending up with huge log directories.

plus some param alphabetic reordering
2018-01-17 02:19:01 -05:00
Julien Lecoeur
b7d7d1209b px_generate_mixers.py: scale mixer so that sum(z_thrust_scale)==n_rotors 2018-01-17 00:01:00 -05:00
Julien Lecoeur
262d9c790b MultirotorMixer: Apply thrust gain independently from other axes
Align the way motor output is computed with the model used in the mixer generation script.
previous:
`out = (roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust)*out_gain`
new:
`out = roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust_gain*thrust`
which is the standard matrix*vector multiplication.

This commit has 0 effect on symmetric platforms (i.e. most) as thrust_gain==1 on these platforms.
On asymmetric platform --where some thrust_gain are lower than 1-- the previous formulation resulted in coupling between thrust and other axes.

fixes #8628
2018-01-17 00:01:00 -05:00
Daniel Agar
0e3574c44f hott automatically include hott_sensors and hott_telemetry 2018-01-16 23:46:45 -05:00
Daniel Agar
c20594cd0e move all barometers to the same folder 2018-01-16 23:46:45 -05:00
Daniel Agar
bad813e911 move all magnetometers to the same folder 2018-01-16 23:46:45 -05:00
Beat Küng
094fa92de0 posix main shell: do not update the prompt for unprintable chars (#8704) 2018-01-16 23:45:28 -05:00
Julien Lecoeur
0e65753568 Iris: set mixer to quad_wide
The geometry was previously quad_deadcat in which front motors are closer to CG and thus more loaded in hover.
quad_wide is the same geometry as quad_deadcat except the CG is centered so all motors are loaded equally.
Flight logs on IRIS with deadcat mixer showed that
- all motors are equally loaded during hover (actuator_outputs 0 to 3 have similar values)
- a negative pitch offset is building up soon after takeoff (visible in actuator_controls)
2018-01-16 16:09:15 +01:00
Simon Laube
b184b61457 IO: fix px4io uploader to work reliably on F7 platform.
- Missing get_sync() in verify function
- Allow some time to reboot before closing the serial port
  (closing the serial port drives TX low)
2018-01-16 08:36:51 +01:00
Simon Laube
53249c53b5 IO: Move buffer allocation into the architecture dependent code files. 2018-01-16 08:36:51 +01:00
Daniel Agar
cc5e00feca px4io_serial_f7 fix style 2018-01-16 08:36:51 +01:00
Lorenz Meier
15a69b881d Enable IO image buildig for FMUv5 2018-01-16 08:36:51 +01:00
Simon Laube
c6c9f4dc64 IO: Implement serial driver for STM32F7 MCUs. 2018-01-16 08:36:51 +01:00
Simon Laube
a26c3a0530 IO: Split STM32F4 specific code for serial interface. 2018-01-16 08:36:51 +01:00
David Sidrane
e5317ed9b6 px4fmu-v5: Define UART7 for PX4IO 2018-01-16 08:36:51 +01:00
David Sidrane
2df5d23ab6 px4fmu-v5:Add px4io 2018-01-16 08:36:51 +01:00
PX4 Jenkins
49c838ffeb Update sitl_gazebo submodule Mon Jan 15 18:19:28 CST 2018 2018-01-15 19:53:36 -05:00
Daniel Agar
67f89f51ff move all distance sensor drivers to the same folder 2018-01-15 14:34:02 -05:00
Daniel Agar
576b42fea3 move all differential pressure drivers to the same folder 2018-01-15 14:34:02 -05:00
ChristophTobler
6d3dda2802 update DriverFramework to get ltc2946 fix (#8693) 2018-01-15 14:33:22 -05:00
Daniel Agar
5ab6834fed NuttX Make.defs.in ignore -Werror=logical-op
This is a temporary workaround for equal expressions in chip/sam_xdmac.c
and can be reverted once fixed properly in NuttX. Needed for the GCC 7
upgrade in #8551.
2018-01-15 12:57:29 -05:00
Daniel Agar
9b5ae1ef7a NuttX upgrade default compiler to GCC 7 2018-01-15 12:57:29 -05:00
Daniel Agar
cd296c5f88
circleci skip astyle until versioning is resolved (#8691)
- revert after #8689 is resolved
2018-01-15 12:23:21 -05:00
ChristophTobler
18b83f2960 eagle posix-config: add sleep after muorb
without this param set doesn't work -> adsp side never receives changes
2018-01-15 14:21:27 +01:00
ChristophTobler
872cba12d4 update ecl submodule 2018-01-15 11:11:56 +01:00
ChristophTobler
3a52e7ee5d simulator mavlink: set vision pos/val valid 2018-01-15 11:11:56 +01:00
ChristophTobler
66c67f89e6 ekf2: check if vision_position pos/vel are valid before using them 2018-01-15 11:11:56 +01:00
ChristophTobler
6609e4843b mavlink receiver: set vision_position pos/vel invalid depending on covariance 2018-01-15 11:11:56 +01:00
ChristophTobler
c7cf442e16 ekf2: use ev eph/v for noise parameter if bigger than noise param 2018-01-15 11:11:56 +01:00
Beat Küng
1d59d89282 posix-config iris_replay: log until SITL exits
If a log with multiple (dis)arming events was replayed, multiple logs were
created. This changes the replay to only create a single log.
2018-01-15 10:27:56 +01:00
Nicolas de Palezieux
45fd908784 mavlink : add support for precision landing 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
4fecb6fe20 irlock : add support for precision landing 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
155c55814b cmake configs : Add precision landing support 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
90e3aeda6c logger : add support for logging precision landing messages 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
f2dbb0ad3b commander : add support for precision landing measurements 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
d9b9b4407a ekf2 : add support for precision landing measurement fusion 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
dd1d0adfef LPE : add support for precision landing measurement fusion 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
8c0542bdb8 msgs : add support for precision landing 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
f600cfbb9f Add support for testing precision landing in SITL simulation 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
d9221bb8d2 mc_pos_control : add support for precision landing 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
aa4c6c038d navigator : add support for precision landing 2018-01-15 10:27:23 +01:00
Nicolas de Palezieux
652d295b2d Add landing_target_estimator for precision landing from @ndepal 2018-01-15 10:27:23 +01:00
Paul Riseborough
b2046ffd6b Tools: fix errors in thermal calibration script 2018-01-15 08:38:54 +01:00
Anthony Lamping
d375880c4b improve mavros SITL tests (#8652)
-created a test base class to centralize redundant methods among the different tests
-added mission waypoint list topic listener (this also helps make sure the simulation is ready)
-check number of mission waypoints in FCU against mission
-increase time for mavros topics to be ready from 30 to 60 seconds
-reduce position check loop rates
-clean up logging
-support QGC plan for mission file format, see #8619
-vehicle is an arg for mission test launch file, working toward other airframes
-Jenkins: fix vtol vehicle arg value
-get MAV_TYPE param and use FW radius for pure fixed-wing mission position check
-remove unused vehicle arg from test in multiple tests launch, clearing runtime warning
2018-01-14 21:13:45 -05:00
Lorenz Meier
e970f3a2a0 MAVLink: Update library submodule
This brings in new ROI commands and general sync.
2018-01-14 22:53:05 +01:00
TSC21
ec1c37e1af modules: lpe: push sensor status update to object; prioritize lidar readings over sonar 2018-01-14 22:52:41 +01:00
TSC21
b512759336 modules: lpe: refactor fusion bitmask 2018-01-14 22:52:41 +01:00
Lorenz Meier
1c74887a68 Makefile: Fix CLANG-tidy calls
The calls have not been updated as the CI target has been.
2018-01-14 13:28:12 +01:00
ChristophTobler
9ac70ff639 update DriverFramework submodule to include LTC2946 driver 2018-01-14 12:56:49 +01:00
ChristophTobler
7c019b7da3 publish battery_status directly
This is temporary until there is a solution that works for adc and posix power modules
2018-01-14 12:56:49 +01:00
ChristophTobler
856a523d29 add snapdragon power module (ltc2946) to eagle flight 2018-01-14 12:56:49 +01:00
ChristophTobler
4b751bdc4f add wrapper for snapdragon power module (ltc2946) from DriverFramework 2018-01-14 12:56:49 +01:00
stmoon
8b3ea27bb3 correct coding style 2018-01-14 12:55:47 +01:00
stmoon
eec1ead233 update description of LPE_FUSION 2018-01-14 12:55:47 +01:00
stmoon
28a5287a91 add FUSE_MOCAP, FUSE_LIDAR, and FUSE_SONAR to select more senors 2018-01-14 12:55:47 +01:00
Daniel Agar
b524c8a20f navigator silence geofence update PX4_INFO 2018-01-14 12:53:53 +01:00
Daniel Agar
6e0f3ffa88 commander move mission init out of main loop 2018-01-14 12:53:53 +01:00
Daniel Agar
fe6006e22f commander move mission_result to class 2018-01-14 12:53:53 +01:00
Daniel Agar
f49c061a3c navigator fix mission_result increment and sign mismatch 2018-01-14 12:53:53 +01:00
Daniel Agar
b1a3475ebf commander mission valid check require updated mission_result 2018-01-14 12:53:53 +01:00
Daniel Agar
916d6a15fd Mission merge offboard + onboard and simplify 2018-01-14 12:53:53 +01:00
Daniel Agar
956935141e Navigator simplify mission 2018-01-14 12:53:53 +01:00
Daniel Agar
25c7a03a8b Navigator remove unnecessary calls to updateParams
- the SuperBlock already does this
2018-01-14 12:53:53 +01:00
Lorenz Meier
6227139df1 MAVLink app: Make debug messages a compile time check
The debug messages are too verbose to be run in a production vehicle and inherently were something that should only be run in SITL / debug sessions on hardware. Switching the flag to the PX4_DEBUG() macro does not only make this more explicit, but also saves a lot of flash space that otherwise was consumed by the strings.
2018-01-13 22:02:57 -05:00
Lorenz Meier
f1a3fd09a3 Iridium SBD: Make debug messages a compile-time flag
This ensures that users do not accidentally enable this in an airborne system and saves flash space.
2018-01-13 22:02:57 -05:00
Lorenz Meier
bc487c7c36 Iridium: Remove lengthy test content
And also format file according to code style.
2018-01-13 22:02:57 -05:00
PX4 Jenkins
be4be6db2c Update jmavsim submodule Sat Jan 13 10:15:05 CST 2018 2018-01-13 11:16:11 -05:00
Matthias Grob
931482941c mc_pos_control: use global _dt member from the control block architecture 2018-01-13 13:08:47 +01:00
Daniel Agar
a25ca0c37d param include px4_config.h for FLASH_BASED_PARAMS
- fixes #8585
2018-01-12 23:46:15 +01:00
Daniel Agar
7b1b255158 EKF2 set zero unused estimator_status fields 2018-01-12 23:19:46 +01:00
Beat Küng
f47d0c8f8c load_mon: reduce FDS_LOW_WARNING_THRESHOLD to 3
This bound can be quite tight, because:
- The system still behaves well, even if all FD's are used (as opposed to
  a stack overflow)
- The amount of used FD's is typically only increased one at a time
  (e.g. adding new logged topics, adding a mavlink stream, ...)
- reducing CONFIG_NFILE_DESCRIPTORS to the minimum frees up a considerable
  amount of RAM on systems that need it
2018-01-12 23:18:59 +01:00
Beat Küng
794c7a5a0f load_mon: fix tasks index & fds_free initialization
Makes sure that if CONFIG_NFILE_DESCRIPTORS == 0, no warning is printed.
2018-01-12 23:18:59 +01:00
Lorenz Meier
eb43b86a4b Load mon: Also monitor file descriptors
It is important that tasks do not run out of them and this addition will provide a warning and log evidence if it goes wrong.
2018-01-12 23:18:59 +01:00
Daniel Agar
1037e983ab
LidarLite port to raspberrypi (#8633) 2018-01-12 16:20:00 -05:00
Beat Küng
86e2f9c306 posix shell: handle Home & End (Editing keys)
See https://github.com/mintty/mintty/wiki/Keycodes#editing-keys
2018-01-12 16:18:44 +01:00
ChristophTobler
dfe1b59949 posix main: add Home/End to jump to beginning/end 2018-01-12 16:18:44 +01:00
ChristophTobler
d523cb54a5 posix main: add left/right arrow
with this commit, lines can be edited with the lef/right arrow key
2018-01-12 16:18:44 +01:00
Daniel Agar
137a2444a8 VTOL standard respect VT_ELEV_MC_LOCK 2018-01-11 16:18:47 -05:00
Daniel Agar
2756c76613
mixer lib delete old multi_tables.py and cleanup cmake (#8658) 2018-01-11 15:56:15 -05:00
Matthias Grob
385212f2c1 Simulator: virtual battery drain stops by default at 50% to avoid failing preflight checks to take off again
also added comments and removed throttle compensation because there is no real battery emulation with load drop
2018-01-11 08:36:03 +01:00
Matthias Grob
8c998c1309 Battery: enhanced voltage, capacity estimate fusion, set empty voltage to a useful value for reasonable lipo usage 2018-01-11 08:36:03 +01:00
Matthias Grob
919b6ae239 Battery added proper initialization for the capacity voltage fusion and doubled the time constant 2018-01-11 08:36:03 +01:00
Matthias Grob
663913a1dc Battery: added simple fusion of capacity based estimate and voltage based estimate 2018-01-11 08:36:03 +01:00
Matthias Grob
823d423456 Battery: refactor current integration to be easier understandable 2018-01-11 08:36:03 +01:00
Matthias Grob
9fbd6b912d Battery: adapt output constraints to possible values, only calculate remaining capacity if capacity is configured 2018-01-11 08:36:03 +01:00
Matthias Grob
60cc132c8a Battery: refactor _param out of the variable names and use 0.f for zero floats to make code more readable 2018-01-11 08:36:03 +01:00
Matthias Grob
90b326f3b5 Battery: get rid of the duplicate filtering, just use the already existing methods 2018-01-11 08:36:03 +01:00
Matthias Grob
101aeadf03 Battery: revised voltage drop calculation to fit the new simpler easier to verify estimation 2018-01-11 08:36:03 +01:00
Matthias Grob
52e2aecaf1 Battery: simplify linear voltage relation, currently neglecting the real world voltage drop under load 2018-01-11 08:36:03 +01:00
Matthias Grob
bc15fdf267 Simulator: virtual battery drain simplified and stops when battery is exactly empty
it's a lot more readable and battery draining stops exactly at the empty battery voltage which makes debuging easier because it's directly predicatable
2018-01-11 08:36:03 +01:00
Beat Küng
f561d16334 fix param_export: off-by-one buffer size
In rare circumstances, the buffer size was too small by 1 byte, leading
to a param export failure. And leading to a reset of all params!
This could only happen when the last saved param was a float.

Also the realloc_ok initialization is not needed.
2018-01-10 22:03:14 +01:00
Beat Küng
f8ceee0cf2 fix param: need to use fsync() and not px4_fsync()
It's used with real OS FD's.
2018-01-10 22:03:14 +01:00
Beat Küng
f962e9826b param_export: reduce bson buffer size from 512 to 256
Some modules call this (and maybe in rare circumstances), which could lead
to stack overflows. With our current headroom of >= 300bytes, 256 should
be ok.

This increases the export time from ~28ms to ~34ms in my case (on a
Pixracer)
2018-01-10 22:03:14 +01:00
PX4 Jenkins
ee9853a3d6 Update sitl_gazebo submodule Tue Jan 9 18:19:31 CST 2018 2018-01-10 17:57:21 +01:00
Beat Küng
5fe203a510 rcS: cleanup defaults for SYS_FMU_TASK & FMUv5 params
- SYS_FMU_TASK is now enabled for PX4FMU_V4 PX4FMU_V4PRO PX4FMU_V5, but
  it's only set on autoconf
- v5 companion is now TELEM2 (same as all other boards)
2018-01-10 07:59:32 +01:00
Beat Küng
48a6a98071 rcS: merge 'ver hwcmp' for different boards, add V5 to px4flow 2018-01-10 07:59:32 +01:00
Beat Küng
92a667fca5 rc.sensors: document sensors for NXPhlite 2018-01-10 07:59:32 +01:00
Beat Küng
a56d2ab981 rc.interface: merge 'ver hwcmp' for different boards 2018-01-10 07:59:32 +01:00
Beat Küng
dac2a93ea2 logger: add sensor_combined at full rate to high rate profile
useful in case the ekf replay topics are not enabled
2018-01-10 07:59:32 +01:00
PX4 Jenkins
0ead55d38a Update mavlink v2.0 submodule Tue Jan 9 03:08:35 EST 2018 2018-01-09 13:05:39 -05:00
Daniel Agar
bdfb291026 Jenkins make distclean instead of clean only 2018-01-09 13:05:08 -05:00
Daniel Agar
82f661b37f Makefile distclean deinit all submodules 2018-01-09 13:05:08 -05:00
Huang
60eb1c2262 mc_pos_control: delete the unused variable 2018-01-09 10:03:44 +01:00
Daniel Agar
2cccbee0d5 runway_takeoff use BlockParamBool for RWTO_TKOFF 2018-01-09 09:11:39 +01:00
Daniel Agar
3d7afaafbd launchdetection use BlockParamBool for LAUN_ALL_ON 2018-01-09 09:11:39 +01:00
Daniel Agar
a9bbbdce82 controllib add BlockParamBool (int32 wrapper) 2018-01-09 09:11:39 +01:00
Daniel Agar
a02cd869c3 mavlink receiver remove unnecessary rates setpoint class member 2018-01-09 01:01:53 -05:00
Daniel Agar
fe22b856d6 mavlink receiver remove unnecessary attitude setpoint class member 2018-01-09 01:01:53 -05:00
Daniel Agar
cf2d794da9 Subscription remove unused instance class member 2018-01-09 00:48:54 -05:00
Daniel Agar
8fdcdedc84 Publication remove unused instance class member 2018-01-09 00:48:54 -05:00
Lorenz Meier
3d9cd5c0bc Params: Ignore volatile 2018-01-08 17:01:02 +01:00
Lorenz Meier
48af6b6d61 System: Mark reset state param as volatile 2018-01-08 09:27:22 +01:00
Lorenz Meier
5a0e4c137e Tools: Simplify QGC meta sync script using the makefile tools 2018-01-08 09:27:22 +01:00
Lorenz Meier
1739deb517 Makefile: Fix missing params by searching one level deeper
This is required for generating documentation
2018-01-08 09:27:22 +01:00
Lorenz Meier
501dd82aaf Systemlib: Move circuit breaker into Developer category 2018-01-08 09:27:22 +01:00
Lorenz Meier
115288301e INAV: Move circuit breaker to Developer category 2018-01-08 09:27:22 +01:00
Lorenz Meier
487530f791 Use SITL as metadata build validation target
This allows to build all params and test them.
2018-01-08 09:27:22 +01:00
Lorenz Meier
d6a2002505 Sensors: Update param metadata
This hides these parameters by default from the user.
2018-01-08 09:27:22 +01:00
Lorenz Meier
b07deed6c6 Land detector: Update param metadata
This helps with param transfers and will hide these params by default from the user.
2018-01-08 09:27:22 +01:00
Lorenz Meier
73348b6c4e EKF2: Update param metadata 2018-01-08 09:27:22 +01:00
Lorenz Meier
a0c312fcbd Commander: Update param metadata 2018-01-08 09:27:22 +01:00
Lorenz Meier
7f12f4ae9b Params: Switch level to category and move it to attribute along with volatile
This makes it easier for QGC to parse.
2018-01-08 09:27:22 +01:00
Lorenz Meier
55e0588661 Eagle: Update to latest param message 2018-01-08 09:27:22 +01:00
Lorenz Meier
ac5f856d2d Param parser and XML output: Add support for volatile attribute
This allows to mark parameters as volatile.
2018-01-08 09:27:22 +01:00
Lorenz Meier
27e64149f0 MAVLink app: Avoid comparing to zero for value change
No functional change, but this avoids numerical issues in the check routine. Since the routine will tend to false positives, we will tend to send more param updates than required in case of numerical noise of the float representation. This is desired, as we prefer to send two updates rather than not sending one.
2018-01-08 09:27:22 +01:00
Lorenz Meier
7695f79239 Parameters: Add support for volatile parameters
Volatile parameters are ones that do not represent a fundamental configuration change but rather than incrementally changing settings. These include logged flight hours or sensor offsets. Marking them as volatile avoids these parameters forcing time-consuming telemetry updates.
2018-01-08 09:27:22 +01:00
Lorenz Meier
f284385c3f MAVLink parameters: Send all updated parameters asynchronously
Parameters can change not just based on GCS request, but also due to internal code or requests by a different valid connected control authority such a cloud service. This change ensures that all connected systems get updated via MAVLink asynchronously.
2018-01-08 09:27:22 +01:00
Lorenz Meier
2170e7eba0 MAVLink main: Only update internal parameters
All param handling happens in the param manager.
2018-01-08 09:27:22 +01:00
Lorenz Meier
7888acf087 Reboot command: Documentation fix
Pure comment edit
2018-01-08 09:27:22 +01:00
Lorenz Meier
fb3c58d85f Param interface: Publish instance count
This helps subscribers to understand if they should update their parameters or not. We will extend this with other flags such as the current save status and alike.
2018-01-08 09:27:22 +01:00
Lorenz Meier
413b161250 Logger: Style cleanup and comments 2018-01-08 09:27:22 +01:00
Lorenz Meier
fba592b5fc MAVLink app: Send newest param hash for every param change to notify GCS about change
This should help keeping the GCS up to date about asynchronous changes on the autopilot.
2018-01-08 09:27:22 +01:00
Lorenz Meier
ca0267b4e9 EKF: Add required flags to parameters
This marks the learned bias parameters as volatile (as they change in flight without external configuration) and marks them as system level, which should hide them by default from the UI
2018-01-08 09:27:22 +01:00
Lorenz Meier
bf48a35882 Systemlib: Introduce volatile and level tags for parameters 2018-01-08 09:27:22 +01:00
Lorenz Meier
4eac493413 MAVLink app: Remove deprecation support for old param
This has been out of use for more than a year now and is no longer required.
2018-01-08 09:27:22 +01:00
Daniel Agar
3c669a4f30
commander ekf2Check respect reportFailures (#8622)
- fixes #8621
2018-01-08 03:07:48 -05:00
Daniel Agar
992db1f415 delete snapdragon_rc_pwm and passthrough config 2018-01-08 03:07:10 -05:00
Daniel Agar
fd7d4156fd delete pwm_out_rc_in 2018-01-08 03:07:10 -05:00
Daniel Agar
bb35f75bbf delete mavlink v1.0 submodule 2018-01-08 03:07:10 -05:00
Anthony Lamping
4b4b181e7c Jenkins: rename rostest xml logs to match mission (#8616)
two xml log files are generated for each rostest. they're named according to the launch file, which is reused for each mission test. currently subsequent tests overwrite the previous test's logs. this renames them after they're generated, appending the mission name to the end of the file name.
2018-01-07 16:05:52 -05:00
yinjiajie
adfa795b79 polyfit.hpp : modify xn to xm 2018-01-07 20:44:52 +01:00
yinjiajie
42b4156bae polyfit.hpp : modify n to m+1 2018-01-07 20:44:52 +01:00
stmoon
3e0b8b7016 remove unnecessary codes and follow code style 2018-01-06 15:21:17 +01:00
stmoon
447aa134db change mavlink version (1.0->2.0) for simulation 2018-01-06 15:21:17 +01:00
1727 changed files with 126101 additions and 113591 deletions

View File

@ -59,6 +59,7 @@ Checks: '*
,-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

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
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/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.

View File

@ -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](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.

View File

@ -1,9 +0,0 @@
**Bug Report** or **Feature Request**
For general questions please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](slack.px4.io). Issue reports need to contain the items below:
- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/en/flight-reporting.html))
- Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/)
- Expected behavior and actual behavior.
- Steps to reproduce the problem.
- Specifications like the version of the project, operating system, or hardware.

55
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,55 @@
# 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
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
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

15
.gitmodules vendored
View File

@ -1,7 +1,3 @@
[submodule "mavlink/include/mavlink/v1.0"]
path = mavlink/include/mavlink/v1.0
url = https://github.com/mavlink/c_library_v1.git
branch = master
[submodule "mavlink/include/mavlink/v2.0"]
path = mavlink/include/mavlink/v2.0
url = https://github.com/mavlink/c_library_v2.git
@ -9,12 +5,15 @@
[submodule "src/modules/uavcan/libuavcan"]
path = src/modules/uavcan/libuavcan
url = https://github.com/UAVCAN/libuavcan.git
[submodule "Tools/genmsg"]
branch = master
[submodule "msg/tools/genmsg"]
path = msg/tools/genmsg
url = https://github.com/ros/genmsg.git
[submodule "Tools/gencpp"]
branch = indigo-devel
[submodule "msg/tools/gencpp"]
path = msg/tools/gencpp
url = https://github.com/ros/gencpp.git
branch = indigo-devel
[submodule "Tools/jMAVSim"]
path = Tools/jMAVSim
url = https://github.com/PX4/jMAVSim.git
@ -37,13 +36,13 @@
branch = master
[submodule "cmake/cmake_hexagon"]
path = cmake/cmake_hexagon
url = https://github.com/ATLFlight/cmake_hexagon
url = https://github.com/ATLFlight/cmake_hexagon.git
branch = master
[submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices
url = https://github.com/PX4/GpsDrivers.git
branch = master
[submodule "src/lib/micro-CDR"]
[submodule "src/modules/micrortps_bridge/micro-CDR"]
path = src/modules/micrortps_bridge/micro-CDR
url = https://github.com/eProsima/micro-CDR.git
branch = master

View File

@ -69,7 +69,7 @@
#
# * Avoid use of global variables in functions. Functions in a nested
# scope may use global variables, but this makes it difficult to
# resuse functions.
# reuse functions.
#
# Included CMake Files
# ---------------------------------------------------------------------------
@ -99,18 +99,12 @@
#
#=============================================================================
# Warning: Changing this modifies CMake's internal workings
# and leads to wrong toolchain detection
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(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})
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
#=============================================================================
# git
@ -124,14 +118,16 @@ execute_process(
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
px4_add_git_submodule(TARGET git_ecl PATH "src/lib/ecl")
px4_add_git_submodule(TARGET git_matrix PATH "src/lib/matrix")
define_property(GLOBAL PROPERTY PX4_LIBRARIES
BRIEF_DOCS "PX4 libs"
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_MODULE_PATHS
BRIEF_DOCS "PX4 module paths"
FULL_DOCS "List of paths to all PX4 modules"
)
#=============================================================================
# configuration
#
@ -142,10 +138,6 @@ string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
set(target_name "${OS}_${BOARD}_${LABEL}")
file(GLOB_RECURSE configs RELATIVE cmake/configs "cmake/configs/*.cmake")
set_property(CACHE CONFIG PROPERTY STRINGS ${configs})
set(THREADS "4" CACHE STRING "number of threads to use for external build processes")
set(DEBUG_PORT "/dev/ttyACM0" CACHE STRING "debugging port")
@ -155,22 +147,14 @@ 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)
include(platforms/${OS}/cmake/px4_impl_os.cmake)
set(config_module "configs/${CONFIG}")
include(${config_module})
include(common/coverage)
include(common/sanitizers)
# CMake build type
# Debug Release RelWithDebInfo MinSizeRel Coverage
# CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage)
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "bebop")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
endif()
@ -180,12 +164,10 @@ endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
message(STATUS "PX4 VERSION: ${git_tag}")
message(STATUS "CONFIG: ${target_name}")
message(STATUS "CONFIG: ${CONFIG}")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
@ -195,20 +177,23 @@ project(px4 CXX C ASM)
set(package-contact "px4users@googlegroups.com")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 99)
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})
#=============================================================================
# The URL for the elf file for crash logging
if (DEFINED ENV{BUILD_URI})
set(BUILD_URI $ENV{BUILD_URI})
else()
set(BUILD_URI "localhost")
endif()
add_definitions(-DBUILD_URI=${BUILD_URI})
# Setup install paths
if (${OS} STREQUAL "posix")
include(common/coverage)
include(common/sanitizers)
# Define GNU standard installation directories
include(GNUInstallDirs)
@ -229,20 +214,17 @@ set(px4_required_interface
)
foreach(cmd ${px4_required_interface})
if (NOT COMMAND ${cmd})
message(FATAL_ERROR "${config_module} must implement ${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_module} must define ${conf}")
message(FATAL_ERROR "cmake/${CONFIG} must define ${conf}")
endif()
endforeach()
# force static lib build
set(BUILD_SHARED_LIBS OFF)
#=============================================================================
# ccache
#
@ -250,7 +232,6 @@ 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}")
else()
endif()
#=============================================================================
@ -271,23 +252,10 @@ endif()
find_package(PythonInterp REQUIRED)
px4_find_python_module(jinja2 REQUIRED)
#=============================================================================
# generate compile command database
#
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#=============================================================================
# check required toolchain variables
#
# PX4 requires c++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# PX4 requires c99
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID)
foreach(var ${required_variables})
if (NOT ${var})
@ -335,24 +303,20 @@ px4_join(OUT CMAKE_EXE_LINKER_FLAGS LIST "${CMAKE_EXE_LINKER_FLAGS};${exe_linker
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 " ")
include_directories(${include_dirs})
link_directories(${link_dirs})
add_definitions(${definitions})
#=============================================================================
# message, and airframe generation
#
include(common/px4_metadata)
add_subdirectory(msg)
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)
@ -369,7 +333,6 @@ endforeach()
#=============================================================================
# external projects
#
set(ep_base ${PX4_BINARY_DIR}/external)
set_property(DIRECTORY PROPERTY EP_BASE ${ep_base})
@ -397,10 +360,22 @@ endif()
#=============================================================================
# subdirectories
#
add_library(parameters_interface INTERFACE)
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)
foreach(module ${config_module_list})
add_subdirectory(src/${module})
endforeach()
# 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})
#=============================================================================
@ -437,6 +412,36 @@ add_custom_command(OUTPUT ${uorb_graph_config}
)
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)
# request to configure the file
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
# 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
#
@ -448,20 +453,21 @@ 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(short-description "The px4 autopilot.")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${short-description})
set(CPACK_GENERATOR "ZIP")
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)
# vim: set noet fenc=utf-8 ff=unix ft=cmake :
include(CPack)

View File

@ -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/).
Make sure to provide some testing feedback and if possible the link to a flight log file. Upload flight log files to [Log Muncher](http://dash.oznet.ch) and link the resulting report.
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.

File diff suppressed because it is too large Load Diff

121
Documentation/Doxyfile.in Normal file
View File

@ -0,0 +1,121 @@
# Use: `doxygen -g test.txt` to generate all possible settings for this file
# For modern doxygen style uncomment these three lines:
#HTML_EXTRA_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/doxygen/customdoxygen.css
#HTML_HEADER = @CMAKE_SOURCE_DIR@/Documentation/header.html
#HTML_FOOTER = @CMAKE_SOURCE_DIR@/Documentation/footer.html
# not interested build output
QUIET = YES
# Basic settings:
PROJECT_NAME = "@CMAKE_PROJECT_NAME@"
PROJECT_NUMBER = @PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@@VERSION_TYPE@
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
INPUT = @CMAKE_SOURCE_DIR@/README.md \
@CMAKE_SOURCE_DIR@ \
@CMAKE_SOURCE_DIR@/src \
@CMAKE_BINARY_DIR@/ \
@CMAKE_BINARY_DIR@/uORB
FILE_PATTERNS = *.h \
*.hpp \
*.hh \
*.c \
*.cc \
*.cpp.in \
*.cpp \
*.md
RECURSIVE = YES
USE_MDFILE_AS_MAINPAGE = "@CMAKE_SOURCE_DIR@/README.md"
# output location
HTML_OUTPUT = "@CMAKE_BINARY_DIR@/Documentation"
IMAGE_PATH = "@CMAKE_SOURCE_DIR@"
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
# Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
# Color style
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 40
HTML_COLORSTYLE_GAMMA = 80
# max size 200x55px
PROJECT_LOGO =
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# function all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = YES
# If the REFERENCES_RELATION tag is set to YES then for each documented function
# all documented entities called/used by that function will be listed.
# The default value is: NO.
REFERENCES_RELATION = YES
# This is nice to have - callgraphs of functions
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
GENERATE_LEGEND = YES
INCLUDED_BY_GRAPH = YES
INCLUDE_GRAPH = YES
DOT_IMAGE_FORMAT = svg
INTERACTIVE_SVG = YES
# More insight to templates, generaly not needed
TEMPLATE_RELATIONS = NO
# in class diagrams, you will have members and such
# Also they will be bigger
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 6
# should all pictures be collapsed?
HTML_DYNAMIC_SECTIONS = NO
# use with: /// @todo Do more stuff.
GENERATE_TODOLIST = YES
# we want all we can get
EXTRACT_ALL = YES
EXTRACT_STATIC = YES
EXTRACT_PRIVATE = YES
# We do not need latex output
GENERATE_LATEX = NO
USE_PDFLATEX = NO
# this makes first sentence from comment block a brief description.
# It is VERY useful
JAVADOC_AUTOBRIEF = YES
# Why not...
BUILTIN_STL_SUPPORT = YES
# Do we want source code browser? YES! Do we want strip comments? NO
SOURCE_BROWSER = YES
STRIP_CODE_COMMENTS = NO
# Side panel
# If you enable this, change .container max-width: 960px; to 1240px
GENERATE_TREEVIEW = YES

View File

@ -1,37 +0,0 @@
Linux/Mac OS X
==============
To install doxygen:
$sudo apt-get install doxygen
If the above does not work go to:
http://www.stack.nl/~dimitri/doxygen/download.html for the correct download.
Then go to the following website for inforamtion on the install:
http://www.stack.nl/~dimitri/doxygen/install.html
Then to generate the html, run the following code while you are in this directory:
$doxygen Doxyfile
The html file index.html should be in doc/html unless you changed the output directory.
The other option for generating the documentation is to use the wizard:
$doxywizard &
doxywizard information:
http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html
Or go to the Doxygen Manual for information at the website noted below.
Windows
=======
Go to the following website for the correct download and follow the wizard to install:
http://www.stack.nl/~dimitri/doxygen/download.html
Run the wizard to generate the documentation.
Go to the website below or the Doxygen Manual for information on running doxywizard.
http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html
Doxygen Manual
==============
http://www.stack.nl/~dimitri/doxygen/

View File

@ -1,3 +0,0 @@
#!/bin/sh
rm -rf html
doxygen

842
Jenkinsfile vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2012 - 2017, PX4 Development Team
Copyright (c) 2012 - 2018, PX4 Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without

View File

@ -120,17 +120,18 @@ endif
# --------------------------------------------------------------------
# describe how to build a cmake config
define cmake-build
+@$(eval BUILD_DIR = $(SRC_DIR)/build/$@$(BUILD_DIR_SUFFIX))
+@$(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 $(2) -G"$(PX4_CMAKE_GENERATOR)" $(CMAKE_ARGS) -DCONFIG=$(1) || (rm -rf $(BUILD_DIR)); fi
+@(cd $(BUILD_DIR) && $(PX4_MAKE) $(PX4_MAKE_ARGS) $(ARGS))
+@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)
endef
COLOR_BLUE = \033[0;34m
COLOR_BLUE = \033[0;94m
NO_COLOR = \033[m
define colorecho
+@echo "${COLOR_BLUE}${1} ${NO_COLOR}"
+@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}'
endef
# Get a list of all config targets cmake/configs/*.cmake
@ -144,13 +145,13 @@ NUTTX_CONFIG_TARGETS := $(patsubst nuttx_%,%,$(filter nuttx_%,$(ALL_CONFIG_TARGE
# All targets.
$(ALL_CONFIG_TARGETS):
$(call cmake-build,$@,$(SRC_DIR))
$(call cmake-build,$@)
# Abbreviated config targets.
# nuttx_ is left off by default; provide a rule to allow that.
$(NUTTX_CONFIG_TARGETS):
$(call cmake-build,nuttx_$@,$(SRC_DIR))
$(call cmake-build,nuttx_$@)
all_nuttx_targets: $(NUTTX_CONFIG_TARGETS)
@ -231,7 +232,7 @@ quick_check: check_posix_sitl_default check_px4fmu-v4pro_default tests check_for
check_%:
@echo
$(call colorecho,"Building" $(subst check_,,$@))
$(call colorecho,'Building' $(subst check_,,$@))
@$(MAKE) --no-print-directory $(subst check_,,$@)
@echo
@ -252,8 +253,8 @@ coverity_scan: posix_sitl_default
.PHONY: parameters_metadata airframe_metadata module_documentation px4_metadata
parameters_metadata:
@python $(SRC_DIR)/src/modules/systemlib/param/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 3 -type d` --inject-xml $(SRC_DIR)/src/modules/systemlib/param/parameters_injected.xml --markdown
@python $(SRC_DIR)/src/modules/systemlib/param/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 3 -type d` --inject-xml $(SRC_DIR)/src/modules/systemlib/param/parameters_injected.xml --xml
@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
airframe_metadata:
@python $(SRC_DIR)/Tools/px_process_airframes.py -v -a $(SRC_DIR)/ROMFS/px4fmu_common/init.d --markdown
@ -269,17 +270,17 @@ px4_metadata: parameters_metadata airframe_metadata module_documentation
.PHONY: check_format format
check_format:
$(call colorecho,"Checking formatting with astyle")
$(call colorecho,'Checking formatting with astyle')
@$(SRC_DIR)/Tools/astyle/check_code_style_all.sh
@cd $(SRC_DIR) && git diff --check
format:
$(call colorecho,"Formatting with astyle")
$(call colorecho,'Formatting with astyle')
@$(SRC_DIR)/Tools/astyle/check_code_style_all.sh --fix
# Testing
# --------------------------------------------------------------------
.PHONY: tests tests_coverage tests_mission tests_offboard rostest
.PHONY: tests tests_coverage tests_mission tests_mission_coverage tests_offboard rostest
tests:
@$(MAKE) --no-print-directory posix_sitl_default test_results \
@ -288,11 +289,6 @@ tests:
tests_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_tests_missions.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
@$(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"
@ -302,13 +298,20 @@ rostest: posix_sitl_default
tests_mission: rostest
@$(SRC_DIR)/test/rostest_px4_run.sh mavros_posix_tests_missions.test
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
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
# static analyzers (scan-build, clang-tidy, cppcheck)
# --------------------------------------------------------------------
.PHONY: scan-build posix_sitl_default-clang clang-tidy clang-tidy-fix clang-tidy-quiet cppcheck check_stack
.PHONY: scan-build posix_sitl_default-clang clang-tidy clang-tidy-fix clang-tidy-quiet cppcheck
scan-build:
@export CCC_CC=clang
@ -326,12 +329,12 @@ posix_sitl_default-clang:
@$(PX4_MAKE) -C $(SRC_DIR)/build/posix_sitl_default-clang
clang-tidy: posix_sitl_default-clang
@cd $(SRC_DIR)/build/posix_sitl_default-clang && run-clang-tidy-4.0.py -header-filter=".*\.hpp" -j$(j) -p .
@cd $(SRC_DIR)/build/posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -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 && run-clang-tidy-4.0.py -header-filter=".*\.hpp" -j$(j) -fix -p .
@cd $(SRC_DIR)/build/posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -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
@ -343,16 +346,6 @@ cppcheck: posix_sitl_default
@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/
check_stack: px4fmu-v4pro_default
@echo "Checking worst case stack usage with checkstack.pl ..."
@echo " "
@echo "Top 10:"
@cd $(SRC_DIR)/build/px4fmu-v4pro_default && mkdir -p stack_usage && arm-none-eabi-objdump -d nuttx_px4fmu-v4pro_default.elf | $(SRC_DIR)/Tools/stack_usage/checkstack.pl arm 0 > stack_usage/checkstack_output.txt 2> stack_usage/checkstack_errors.txt
@head -n 10 $(SRC_DIR)/build/px4fmu-v4pro_default/stack_usage/checkstack_output.txt | c++filt
@echo " "
@echo "Symbols with 'main', 'thread' or 'task':"
@cat $(SRC_DIR)/build/px4fmu-v4pro_default/stack_usage/checkstack_output.txt | c++filt | grep -E 'thread|main|task'
# Cleanup
# --------------------------------------------------------------------
.PHONY: clean submodulesclean submodulesupdate gazeboclean distclean
@ -374,7 +367,8 @@ submodulesupdate:
gazeboclean:
@rm -rf ~/.gazebo/*
distclean: submodulesclean gazeboclean
distclean: gazeboclean
@git submodule deinit -f .
@git clean -ff -x -d -e ".project" -e ".cproject" -e ".idea" -e ".settings" -e ".vscode"
# --------------------------------------------------------------------

View File

@ -35,12 +35,12 @@ See the [forum and chat](https://dev.px4.io/en/#support) if you need help!
The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/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.
> **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)
* 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)
* Communication Architecture
* [Beat Kueng](https://github.com/bkueng)
@ -67,15 +67,13 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/en/contribut
* Vision based navigation
* [Christoph Tobler](https://github.com/ChristophTobler)
* [Mohammed Kabir](https://github.com/mhkabir)
* Obstacle Avoidance - [Vilhjalmur Vilhjalmsson](https://github.com/vilhjalmur89)
* Obstacle Avoidance - [Martina Rivizzigno](https://github.com/mrivi)
* [Snapdragon](https://github.com/PX4/Firmware/labels/snapdragon)
* [Christoph Tobler](https://github.com/ChristophTobler)
* [Mark Charlebois](https://github.com/mcharleb)
* [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)
* [Parrot Bebop](https://github.com/PX4/Firmware/labels/bebop) - [Michael Schaeuble](https://github.com/eyeam3)
* [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)

View File

@ -1,12 +1,76 @@
############################################################################
#
# Copyright (c) 2018 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.
#
############################################################################
message(STATUS "ROMFS: ${config_romfs_root}")
set(romfs_temp_dir ${PX4_BINARY_DIR}/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})
#=============================================================================
#
# px4_add_romfs_files
#
# This function builds a list of files to be included in the ROMFS.
#
# Usage:
# px4_add_romfs_files(<list of files in current directory to be added to the project>)
#
# Output:
# list config_romfs_files_list populated with a list of ROMFS src files including their full file path.
#
# Example:
# px4_add_module(
# <ROMFS_file_1>
# <ROMFS_file_2>
# <ROMFS_file_3>
# )
#
function(px4_add_romfs_files)
foreach(arg IN LISTS ARGN)
list(APPEND config_romfs_files_list
${CMAKE_CURRENT_SOURCE_DIR}/${arg}
)
endforeach()
set(config_romfs_files_list ${config_romfs_files_list} CACHE INTERNAL "ROMFS file list")
endfunction()
# get list of all ROMFS files
add_subdirectory(${romfs_src_dir})
# directory setup
# copy all romfs files, process airframes, prune comments
file(GLOB_RECURSE init_airframes ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/*/[1-9]*)
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
@ -16,8 +80,8 @@ add_custom_command(OUTPUT ${romfs_temp_dir}/init.d/rcS ${romfs_temp_dir}/init.d/
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
--folder ${romfs_temp_dir} --board ${BOARD}
DEPENDS
${romfs_src_files}
${init_airframes}
${config_romfs_files_list}
${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py
${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d/rcS
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
)
@ -28,19 +92,29 @@ list(APPEND romfs_dependencies
${romfs_temp_dir}/init.d/rc.autostart
)
# create romfs.bin
# copy px4io binary if configured
if (config_io_board)
list(APPEND romfs_dependencies
copy_px4io_bin
${fw_io_bin}
)
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}
)
# create romfs.o
# 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
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs platforms__common)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)

View File

@ -0,0 +1,35 @@
############################################################################
#
# Copyright (c) 2018 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)
add_subdirectory(mixers)

View File

@ -40,6 +40,6 @@ then
param set BAT_A_PER_V 15.39103
fi
set MIXER quad_dc
set MIXER quad_w
set PWM_OUT 1234

View File

@ -38,6 +38,7 @@ then
param set VT_IDLE_PWM_MC 1080
param set VT_TYPE 0
param set MAV_TYPE 19
param set VT_ELEV_MC_LOCK 0
fi
set MIXER caipirinha_vtol

View File

@ -24,7 +24,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_TYPE 2
param set VT_MOT_COUNT 4
param set VT_TRANS_THR 0.75
param set VT_F_TRANS_THR 0.75
param set VT_ARSP_TRANS 12
param set VT_ARSP_BLEND 6

View File

@ -22,7 +22,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_TYPE 2
param set VT_MOT_COUNT 4
param set VT_TRANS_THR 0.75
param set VT_F_TRANS_THR 0.75
param set MC_ROLL_P 6.5
param set MC_ROLLRATE_P 0.15

View File

@ -14,7 +14,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_TYPE 2
param set VT_MOT_COUNT 4
param set VT_TRANS_THR 0.75
param set VT_F_TRANS_THR 0.75
param set MC_ROLL_P 7.0
param set MC_ROLLRATE_P 0.15

View File

@ -14,7 +14,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_TYPE 2
param set VT_MOT_COUNT 4
param set VT_TRANS_THR 0.75
param set VT_F_TRANS_THR 0.75
param set PWM_AUX_REV1 1
param set PWM_AUX_REV2 1

View File

@ -19,7 +19,7 @@ then
param set VT_ARSP_TRANS 15.0
param set VT_B_TRANS_DUR 4.0
param set VT_TRANS_MIN_TM 5.0
param set VT_TRANS_THR 0.6
param set VT_F_TRANS_THR 0.6
param set VT_TRANS_TIMEOUT 30.0
param set FW_AIRSPD_MAX 22.0

View File

@ -23,7 +23,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_MOT_COUNT 3
param set VT_FW_MOT_OFFID 3
param set VT_IDLE_PWM_MC 1080
param set VT_IDLE_PWM_MC 1200
param set VT_TYPE 1
param set VT_B_TRANS_DUR 1.0

View File

@ -23,7 +23,7 @@ if [ $AUTOCNF == yes ]
then
param set VT_TYPE 2
param set VT_MOT_COUNT 4
param set VT_TRANS_THR 1
param set VT_F_TRANS_THR 1
param set VT_DWN_PITCH_MAX 8
param set VT_FW_QC_P 55
param set VT_FW_QC_R 55

View File

@ -1,19 +0,0 @@
#!nsh
#
# @name Passthrough mode for Snapdragon
#
# @type custom
# @class Tool
#
# @board px4fmu-v2 exclude
# @board px4fmu-v3 exclude
# @board px4fmu-v4pro exclude
# @board px4fmu-v5 exclude
# @board aerofc-v1 exclude
#
# @maintainer Julian Oes <julian@oes.ch>
#
# This startup can be used on Pixhawk/Pixfalcon/Pixracer for the
# passthrough of RC input and PWM output.
set VEHICLE_TYPE passthrough

View File

@ -39,7 +39,7 @@ then
param set FW_RR_IMAX 0.2
param set FW_RR_P 0.08
param set FW_R_LIM 50
param set FW_R_RMAX 0
param set FW_R_RMAX 50
# Bottom of bay and nominal zero-pitch attitude differ
# the payload bay is pitched up about 7 degrees
param set SENS_BOARD_Y_OFF 7.0

View File

@ -0,0 +1,23 @@
#!nsh
#
# @name S500
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/4001_quad_x
if [ $AUTOCNF == yes ]
then
param set MC_ROLL_P 6.5
param set MC_ROLLRATE_P 0.18
param set MC_ROLLRATE_I 0.15
param set MC_ROLLRATE_D 0.003
param set MC_PITCH_P 6.5
param set MC_PITCHRATE_P 0.18
param set MC_PITCHRATE_I 0.15
param set MC_PITCHRATE_D 0.003
fi

View File

@ -13,32 +13,38 @@ sh /etc/init.d/4001_quad_x
if [ $AUTOCNF == yes ]
then
param set MC_ROLL_P 8.0
param set MC_ROLLRATE_P 0.19
param set MC_ROLLRATE_I 0.1
param set MC_ROLLRATE_D 0.0055
param set MC_ROLLRATE_P 0.08
param set MC_ROLLRATE_I 0.25
param set MC_ROLLRATE_D 0.001
param set MC_PITCH_P 8.0
param set MC_PITCHRATE_P 0.19
param set MC_PITCHRATE_I 0.1
param set MC_PITCHRATE_D 0.0055
param set MC_PITCHRATE_P 0.08
param set MC_PITCHRATE_I 0.25
param set MC_PITCHRATE_D 0.001
param set MC_YAW_P 4.0
param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_ROLLRATE_MAX 720.0
param set MC_PITCHRATE_MAX 720.0
param set MC_YAWRATE_MAX 400.0
param set MC_ACRO_R_MAX 360.0
param set MC_ACRO_P_MAX 360.0
param set MC_TPA_BREAK_P 0.5
param set MC_TPA_RATE_P 0.5
param set MC_ROLLRATE_MAX 1600.0
param set MC_PITCHRATE_MAX 1600.0
param set MC_YAWRATE_MAX 1000.0
param set MPC_MANTHR_MIN 0.0
param set MPC_MAN_TILT_MAX 60
# use thrust curve factor (instead of TPA)
param set THR_MDL_FAC 0.3
param set PWM_MIN 1075
# enable one-shot
param set PWM_RATE 0
param set MPC_THR_MIN 0.06
param set MPC_MANTHR_MIN 0.06
# enable high-rate logging profile (helps with tuning)
param set SDLOG_PROFILE 19
param set ATT_BIAS_MAX 0.0
# disable RC filtering
param set RC_FLT_CUTOFF 0.00000
param set CBRK_IO_SAFETY 22027
fi

View File

@ -68,10 +68,14 @@ then
param set SYS_LOGGER 1
fi
tap_esc start -d /dev/ttyS0 -n 4
usleep 300000
if param compare SYS_HITL 0
then
tap_esc start -d /dev/ttyS0 -n 4
usleep 300000
set OUTPUT_MODE tap_esc
fi
set OUTPUT_MODE tap_esc
set MIXER quad_x
set USE_IO no

View File

@ -17,17 +17,15 @@ set PWM_OUT 1234
if [ $AUTOCNF == yes ]
then
param set MC_ROLL_P 2.0
param set MC_ROLLRATE_P 0.05
param set MC_ROLL_P 2.2
param set MC_ROLLRATE_P 0.06
param set MC_ROLLRATE_I 0.2
param set MC_ROLLRATE_D 0.0015
param set MC_ROLL_TC 0.18
param set MC_ROLLRATE_D 0.0017
param set MC_PITCH_P 2.0
param set MC_PITCHRATE_P 0.05
param set MC_PITCH_P 2.2
param set MC_PITCHRATE_P 0.06
param set MC_PITCHRATE_I 0.2
param set MC_PITCHRATE_D 0.0015
param set MC_PITCH_TC 0.18
param set MC_PITCHRATE_D 0.0017
param set MC_YAW_P 1.0
param set MC_YAWRATE_P 0.15

View File

@ -14,39 +14,52 @@
#
# @maintainer Dennis Shtatov <densht@gmail.com>
#
sh /etc/init.d/4001_quad_x
if [ $AUTOCNF == yes ]
then
param set COM_RC_IN_MODE 2
param set BAT_N_CELLS 1
param set BAT_CAPACITY 240
param set BAT_SOURCE 1
param set PWM_DISARMED 0
param set PWM_MIN 0
param set PWM_MAX 255
param set SYS_COMPANION 20
param set MC_PITCHRATE_D 0.0015
param set MC_PITCHRATE_I 0.05
param set MC_PITCHRATE_P 0.045
param set MC_PITCH_P 6.5
param set MC_ROLLRATE_D 0.0015
param set MC_ROLLRATE_I 0.05
param set MC_ROLLRATE_P 0.045
param set MC_ROLL_P 6.5
param set MC_YAW_P 3.0
param set CBRK_SUPPLY_CHK 894281
param set CBRK_USB_CHK 197848
param set COM_RC_IN_MODE 1
param set BAT_N_CELLS 1
param set BAT_CAPACITY 240
param set BAT_SOURCE 1
param set PWM_DISARMED 0
param set PWM_MIN 0
param set PWM_MAX 255
param set SYS_COMPANION 20
param set MC_PITCHRATE_D 0.002
param set MC_PITCHRATE_I 0.2
param set MC_PITCHRATE_P 0.07
param set MC_PITCH_P 6.5
param set MC_ROLLRATE_D 0.002
param set MC_ROLLRATE_I 0.2
param set MC_ROLLRATE_P 0.07
param set MC_ROLL_P 6.5
param set MC_YAW_P 3.0
param set EKF2_HGT_MODE 2
param set EKF2_AID_MASK 3
param set EKF2_OF_DELAY 10
param set MPC_THR_HOVER 0.7
param set MPC_MANTHR_MAX 1.0
param set MPC_THR_MAX 1.0
param set MPC_Z_P 1.5
param set MPC_Z_VEL_I 0.3
param set MPC_Z_VEL_P 0.4
param set MPC_HOLD_MAX_XY 0.1
param set MPC_MAX_FLOW_HGT 3
param set IMU_GYRO_CUTOFF 100
param set IMU_ACCEL_CUTOFF 30
param set MC_DTERM_CUTOFF 70
param set SYS_FMU_TASK 1
param set CBRK_SUPPLY_CHK 894281
param set CBRK_USB_CHK 197848
param set SDLOG_PROFILE 1
param set EKF2_MAG_TYPE 1
param set EKF2_ABL_LIM 2.0
param set MC_AIRMODE 1
param set NAV_RCL_ACT 3
param set SENS_FLOW_MINRNG 0.05
fi
set PWM_MIN none
set PWM_MAX none
set PWM_DISARMED none
# Will run the motors at 328.125 kHz (recommended)
set PWM_RATE 3921
set PWM_RATE 3921

View File

@ -0,0 +1,118 @@
############################################################################
#
# Copyright (c) 2018 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(
1000_rc_fw_easystar.hil
1001_rc_quad_x.hil
2100_standard_plane
2105_maja
2106_albatross
24001_dodeca_cox
3000_generic_wing
3030_io_camflyer
3031_phantom
3032_skywalker_x5
3033_wingwing
3034_fx79
3035_viper
3036_pigeon
3037_parrot_disco_mod
3100_tbs_caipirinha
4001_quad_x
4002_quad_x_mount
4003_qavr5
4004_H4_680mm
4009_qav250
4010_dji_f330
4011_dji_f450
4012_quad_x_can
4013_bebop
4020_hk_micro_pcb
4030_3dr_solo
4031_3dr_quad
4040_reaper
4050_generic_250
4051_s250aq
4060_dji_matrice_100
4070_aerofc
4080_zmr250
4090_nanomind
4900_crazyflie
5001_quad_+
6001_hexa_x
7001_hexa_+
8001_octo_x
9001_octo_+
10015_tbs_discovery
10016_3dr_iris
10017_steadidrone_qu4d
10018_tbs_endurance
11001_hexa_cox
12001_octo_cox
12002_steadidrone_mavrik
13000_generic_vtol_standard
13001_caipirinha_vtol
13002_firefly6
13003_quad_tailsitter
13004_quad+_tailsitter
13005_vtol_AAERT_quad
13006_vtol_standard_delta
13007_vtol_AAVVT_quad
13008_QuadRanger
13009_vtol_spt_ranger
13010_claire
13012_convergence
13013_deltaquad
14001_tri_y_yaw+
14002_tri_y_yaw-
15001_coax_heli
16001_helicopter
50000_generic_ground_vehicle
50001_axialracing_ax10
50002_traxxas_stampede_2wd
rc.axialracing_ax10_apps
rc.axialracing_ax10_defaults
rc.fw_apps
rc.fw_defaults
rc.interface
rc.io
rc.logging
rc.mc_apps
rc.mc_defaults
rcS
rc.sensors
rc.ugv_apps
rc.ugv_defaults
rc.vtol_apps
rc.vtol_defaults
)

View File

@ -26,3 +26,8 @@ fw_pos_control_l1 start
# Start Land Detector
#
land_detector start fixedwing
#
# Start Wind and Airspeed Scale Estimator
#
#wind_estimator start

View File

@ -8,8 +8,11 @@ then
# Default parameters for FW
#
param set COM_POS_FS_DELAY 5
param set COM_POS_FS_PROB 1
param set COM_POS_FS_EPH 25
param set COM_POS_FS_EPV 50
param set COM_POS_FS_GAIN 0
param set COM_POS_FS_PROB 1
param set COM_VEL_FS_EVH 5
param set EKF2_ARSP_THR 8.0
param set EKF2_FUSE_BETA 1

View File

@ -120,27 +120,12 @@ then
fi
fi
if ver hwcmp MINDPX_V2
if ver hwcmp MINDPX_V2 CRAZYFLIE AEROFC_V1 PX4FMU_V4 NXPHLITE_V3 OMNIBUS_F4SD
then
set MIXER_AUX none
fi
if ver hwcmp CRAZYFLIE
then
set MIXER_AUX none
fi
if ver hwcmp AEROFC_V1
then
set MIXER_AUX none
fi
if ver hwcmp PX4FMU_V4
then
set MIXER_AUX none
fi
if ver hwcmp PX4FMU_V5
if [ $USE_IO == no ]
then
set MIXER_AUX none
fi

View File

@ -0,0 +1,33 @@
#!nsh
# Logging
#
# Standard startup script for logging
#
if param compare SYS_LOGGER 0
then
sdlog2 start -r 100 -a -b 9 -t
else
set LOGGER_ARGS ""
if param compare SDLOG_MODE 1
then
set LOGGER_ARGS "-e"
fi
if param compare SDLOG_MODE 2
then
set LOGGER_ARGS "-f"
fi
if ver hwcmp AEROFC_V1
then
set LOGGER_ARGS "-m mavlink"
fi
logger start -b ${LOGGER_BUF} -t ${LOGGER_ARGS}
unset LOGGER_ARGS
fi
unset LOGGER_BUF

View File

@ -3,7 +3,7 @@
# Standard startup script for sensor drivers.
#
if ver hwcmp AEROFC_V1
if ver hwcmp AEROFC_V1 OMNIBUS_F4SD
then
# Aero FC uses separate driver
else
@ -31,8 +31,8 @@ else
# External SPI
ms5611 -S start
# Internal SPI
ms5611 -s start
# Internal SPI (auto detect ms5611 or ms5607)
ms5611 -T 0 -s start
# Blacksheep telemetry
bst start
@ -42,13 +42,13 @@ fi
if ver hwcmp NXPHLITE_V3
then
# Internal I2C
# Internal I2C (baro)
mpl3115a2 -I start
# Internal SPI
fxos8700cq start -a 8 -R 0
# Internal SPI (accel + mag)
fxos8701cq start -a 8 -R 0
# Internal SPI
# Internal SPI (gyro)
fxas21002c start -R 0
fi
@ -56,6 +56,7 @@ if ver hwcmp AUAV_X21
then
# External I2C bus
hmc5883 -C -T -X start
lis3mdl -X start
# Internal SPI bus ICM-20608-G is rotated 90 deg yaw
mpu6000 -R 2 -T 20608 start
@ -135,9 +136,9 @@ then
then
# v2.0 internal MPU6000 is rotated 180 deg roll, 270 deg yaw
mpu6000 -R 14 start
# v2.0 Has internal hmc5883 on SPI1
hmc5883 -C -T -S -R 8 start
fi
if [ $BOARD_FMUV3 == 21 ]
@ -164,6 +165,8 @@ then
l3gd20 start
lsm303d start
fi
unset BOARD_FMUV3
fi
if ver hwcmp PX4_SAME70XPLAINED_V1
@ -189,12 +192,12 @@ then
then
# hmc5883 internal SPI bus is rotated 90 deg yaw
else
if lis3mdl -R 2 start
if lis3mdl start
then
# lis3mdl internal SPI bus is rotated 90 deg yaw
else
# BMI055 gyro internal SPI bus
bmi055 -G start
bmi055 -G start
fi
fi
@ -249,6 +252,11 @@ then
# I2C bypass of mpu
lps25h start
# Optical flow deck
vl53lxx start
pmw3901 start
fi
if ver hwcmp AEROFC_V1
@ -264,6 +272,18 @@ then
ll40ls start i2c
fi
if ver hwcmp OMNIBUS_F4SD
then
mpu6000 -R 12 -s start
# Possible external compasses
hmc5883 -X start
bmp280 start
adc start
fi
if ver hwcmp PX4FMU_V4PRO
then
# Internal SPI bus ICM-20608-G
@ -323,11 +343,7 @@ if [ ${VEHICLE_TYPE} == fw -o ${VEHICLE_TYPE} == vtol ]
then
if param compare CBRK_AIRSPD_CHK 0
then
if sdp3x_airspeed start
then
else
sdp3x_airspeed start -b 2
fi
sdp3x_airspeed start -a
# Pixhawk 2.1 has a MS5611 on I2C which gets wrongly
# detected as MS5525 because the chip manufacturer was so
@ -337,20 +353,13 @@ then
then
ms5525_airspeed start -b 2
else
ms5525_airspeed start
ms5525_airspeed start -a
fi
if ms4525_airspeed start
then
else
ms4525_airspeed start -b 2
fi
ms4525_airspeed start -a
ets_airspeed start -a
if ets_airspeed start
then
else
ets_airspeed start -b 1
fi
fi
fi
@ -396,7 +405,44 @@ fi
# Benewake TFMini
if param greater SENS_EN_TFMINI 0
then
tfmini start
if ver hwcmp PX4FMU_V2 PX4FMU_V4PRO
then
# start the driver on serial 4/5
tfmini start -d /dev/ttyS6
else
if ver hwcmp AEROFC_V1
then
# start the driver on telemetry
tfmini start -d /dev/ttyS3
else
if param compare SYS_COMPANION 0
then
# start on default mavlink companion device
tfmini start -d /dev/ttyS2
fi
fi
fi
fi
# LeddarOne
if param greater SENS_EN_LEDDAR1 0
then
if ver hwcmp PX4FMU_V2 PX4FMU_V4PRO
then
# start the driver on serial 4/5
leddar_one -d /dev/ttyS6 start
fi
if ver hwcmp AEROFC_V1
then
# start the driver on telemetry
leddar_one -d /dev/ttyS3 start
else
if param compare SYS_COMPANION 0
then
# start on default mavlink companion device
leddar_one -d /dev/ttyS2 start
fi
fi
fi
# Wait 20 ms for sensors (because we need to wait for the HRT and work queue callbacks to fire)

View File

@ -51,3 +51,8 @@ fw_pos_control_l1 start
# Multicopter for now until we have something for VTOL
#
land_detector start vtol
#
# Start Wind and Airspeed Scale Estimator
#
#wind_estimator start

View File

@ -13,9 +13,15 @@ set +e
#
# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS.
#
# UART mapping on OMNIBUSF4SD:
#
# USART1 /dev/ttyS0 SerialRX
# USART4 /dev/ttyS1 TELEM1
# USART6 /dev/ttyS2 GPS
#
# UART mapping on FMUv2/3/4:
#
# UART1 /dev/ttyS0 IO debug
# UART1 /dev/ttyS0 IO debug (except v4, there ttyS0 is the wifi)
# USART2 /dev/ttyS1 TELEM1 (flow control)
# USART3 /dev/ttyS2 TELEM2 (flow control)
# UART4
@ -28,7 +34,7 @@ set +e
# UART1 /dev/ttyS0 GPS
# USART2 /dev/ttyS1 TELEM1 (flow control)
# USART3 /dev/ttyS2 TELEM2 (flow control)
# UART4 /dev/ttyS3 ?
# UART4 /dev/ttyS3 TELEM4
# USART6 /dev/ttyS4 TELEM3 (flow control)
# UART7 /dev/ttyS5 ?
# UART8 /dev/ttyS6 CONSOLE
@ -51,7 +57,7 @@ ver all
#
set MODE autostart
set TUNE_ERR ML<<CP4CP4CP4CP4CP4
set TUNE_ERR "ML<<CP4CP4CP4CP4CP4"
set LOG_FILE /fs/microsd/bootlog.txt
#
@ -68,9 +74,6 @@ then
hardfault_log reset
tone_alarm stop
fi
else
# Start playing the startup tune
tone_alarm start
fi
else
tone_alarm MBAGP
@ -109,6 +112,12 @@ then
#
uorb start
# Start tone driver
tone_alarm start
# play startup tone
tune_control play -t 1
#
# Load parameters
#
@ -147,8 +156,8 @@ then
#
if param compare SYS_AUTOCONFIG 1
then
# Wipe out params except RC* and total flight time
param reset_nostart RC* LND_FLIGHT_T_*
# Wipe out params except RC*, flight modes and total flight time
param reset_nostart RC* COM_FLTMODE* LND_FLIGHT_T_*
set AUTOCNF yes
else
set AUTOCNF no
@ -194,23 +203,9 @@ then
set USE_IO no
set LOGGER_BUF 14
if ver hwcmp PX4FMU_V4
then
param set SYS_FMU_TASK 1
fi
if ver hwcmp PX4FMU_V4PRO
then
param set SYS_FMU_TASK 1
fi
if ver hwcmp PX4FMU_V5
then
param set SYS_FMU_TASK 1
set MAVLINK_COMPANION_DEVICE /dev/ttyS3
set LOGGER_BUF 64
param set SDLOG_MODE 2
fi
if ver hwcmp CRAZYFLIE
@ -240,6 +235,11 @@ then
set MAVLINK_COMPANION_DEVICE /dev/ttyS4
fi
if ver hwcmp OMNIBUS_F4SD
then
set MAVLINK_COMPANION_DEVICE /dev/ttyS1
fi
#
# Set USE_IO flag
#
@ -292,70 +292,85 @@ then
#
if [ $AUTOCNF == yes ]
then
# Disable safety switch by default on Pixracer
if ver hwcmp PX4FMU_V4
# Disable safety switch by default on Pixracer and OmnibusF4SD
if ver hwcmp PX4FMU_V4 OMNIBUS_F4SD
then
param set CBRK_IO_SAFETY 22027
fi
# Run FMU as task on Pixracer and on boards with enough RAM
if ver hwcmp PX4FMU_V4 PX4FMU_V4PRO PX4FMU_V5
then
param set SYS_FMU_TASK 1
fi
if ver hwcmp OMNIBUS_F4SD
then
param set SYS_FMU_TASK 1
param set SYS_HAS_MAG 0
# use the Q attitude estimator, it works w/o mag or GPS
param set SYS_MC_EST_GROUP 1
param set ATT_ACC_COMP 0
param set ATT_W_ACC 0.4000
param set ATT_W_GYRO_BIAS 0.0000
fi
param set SYS_AUTOCONFIG 0
fi
unset AUTOCNF
set IO_PRESENT no
if [ $USE_IO == yes ]
#
# Check if PX4IO present and update firmware if needed
#
if [ -f /etc/extras/px4io-v2.bin ]
then
#
# Check if PX4IO present and update firmware if needed
#
if [ -f /etc/extras/px4io-v2.bin ]
set IO_FILE /etc/extras/px4io-v2.bin
if px4io checkcrc ${IO_FILE}
then
set IO_FILE /etc/extras/px4io-v2.bin
set IO_PRESENT yes
else
tone_alarm MLL32CP8MB
if px4io checkcrc ${IO_FILE}
if px4io start
then
set IO_PRESENT yes
else
tone_alarm MLL32CP8MB
if px4io start
# try to safe px4 io so motor outputs dont go crazy
if px4io safety_on
then
# try to safe px4 io so motor outputs dont go crazy
if px4io safety_on
then
# success! no-op
else
# px4io did not respond to the safety command
px4io stop
fi
# success! no-op
else
# px4io did not respond to the safety command
px4io stop
fi
fi
if px4io forceupdate 14662 ${IO_FILE}
if px4io forceupdate 14662 ${IO_FILE}
then
usleep 10000
if px4io checkcrc ${IO_FILE}
then
usleep 10000
if px4io checkcrc ${IO_FILE}
then
echo "PX4IO CRC OK after updating" >> $LOG_FILE
tone_alarm MLL8CDE
echo "PX4IO CRC OK after updating" >> $LOG_FILE
tone_alarm MLL8CDE
set IO_PRESENT yes
else
echo "PX4IO update failed" >> $LOG_FILE
tone_alarm ${TUNE_ERR}
fi
set IO_PRESENT yes
else
echo "PX4IO update failed" >> $LOG_FILE
tone_alarm ${TUNE_ERR}
fi
else
echo "PX4IO update failed" >> $LOG_FILE
tune_control play -m ${TUNE_ERR}
fi
fi
unset IO_FILE
fi
unset IO_FILE
if [ $IO_PRESENT == no ]
then
echo "PX4IO not found" >> $LOG_FILE
tone_alarm ${TUNE_ERR}
fi
if [ $USE_IO == yes -a $IO_PRESENT == no ]
then
echo "PX4IO not found" >> $LOG_FILE
tune_control play -m ${TUNE_ERR}
fi
#
@ -416,7 +431,6 @@ then
sh /etc/init.d/rc.sensors
commander start
fi
send_event start
load_mon start
@ -471,7 +485,7 @@ then
sh /etc/init.d/rc.io
else
echo "PX4IO start failed" >> $LOG_FILE
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
fi
@ -481,7 +495,7 @@ then
then
else
echo "FMU start failed" >> $LOG_FILE
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
fi
@ -500,7 +514,7 @@ then
if mkblctrl $MKBLCTRL_ARG
then
else
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
unset MKBLCTRL_ARG
fi
@ -508,10 +522,10 @@ then
if [ $OUTPUT_MODE == hil ]
then
if pwm_out_sim mode_pwm16
if pwm_out_sim start
then
else
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
fi
@ -527,7 +541,7 @@ then
sh /etc/init.d/rc.io
else
echo "PX4IO start failed" >> $LOG_FILE
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
fi
else
@ -537,7 +551,7 @@ then
then
else
echo "FMU mode_${FMU_MODE} start failed" >> $LOG_FILE
tone_alarm $TUNE_ERR
tune_control play -m ${TUNE_ERR}
fi
fi
fi
@ -548,7 +562,7 @@ then
# Normal mode, use baudrate 57600 (default) and data rate 1000 bytes/s
set MAVLINK_F "-r 1200 -f"
# Avoid using ttyS1 for MAVLink on FMUv4
# Use ttyS1 for MAVLink on FMUv4 in addition to ttyS0 (debug)
if ver hwcmp PX4FMU_V4
then
set MAVLINK_F "-r 1200 -d /dev/ttyS1"
@ -556,17 +570,33 @@ then
mavlink start -r 20000 -b 921600 -d /dev/ttyS0
fi
# Use ttyS3 (TELEM4) for MAVLink on FMUv5 in addition to ttyS1 (TELEM1) and ttyS2 (TELEM2)
if ver hwcmp PX4FMU_V5
then
mavlink start -r 2000 -b 57600 -d /dev/ttyS3
fi
if ver hwcmp AEROFC_V1
then
set MAVLINK_F "-r 1200 -d /dev/ttyS3"
# Only start mavlink if the Benewake TFMini or LeddarOne isn't being used
if param greater SENS_EN_TFMINI 0
then
set MAVLINK_F none
fi
if param greater SENS_EN_LEDDAR1 0
then
set MAVLINK_F none
fi
fi
if ver hwcmp CRAZYFLIE
if ver hwcmp CRAZYFLIE OMNIBUS_F4SD
then
# Avoid using either of the two available serials
set MAVLINK_F none
fi
fi
fi
if [ "x$MAVLINK_F" == xnone ]
then
@ -583,7 +613,14 @@ then
if param compare SYS_COMPANION 10
then
frsky_telemetry start -d ${MAVLINK_COMPANION_DEVICE}
else
if ver hwcmp PX4FMU_V4 PX4FMU_V4PRO MINDPX_V2
then
# This is TELEM4 on Pixhawk 3 Pro
frsky_telemetry start -d /dev/ttyS6
fi
fi
if param compare SYS_COMPANION 20
then
syslink start
@ -638,9 +675,29 @@ then
fi
if param compare SYS_COMPANION 419200
then
iridiumsbd start -d /dev/ttyS2
iridiumsbd start -d ${MAVLINK_COMPANION_DEVICE}
mavlink start -d /dev/iridium -b 19200 -m iridium -r 10
fi
if param compare SYS_COMPANION 519200
then
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 19200 -m minimal -r 1000
fi
if param compare SYS_COMPANION 538400
then
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 38400 -m minimal -r 1000
fi
if param compare SYS_COMPANION 557600
then
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 57600 -m minimal -r 1000
fi
if param compare SYS_COMPANION 5115200
then
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 115200 -m minimal -r 1000
fi
if param compare SYS_COMPANION 6460800
then
micrortps_client start -t UART -d /dev/ttyS2 -b 460800
fi
if param compare SYS_COMPANION 1921600
then
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 921600 -r 20000
@ -657,48 +714,27 @@ then
#
if param greater UAVCAN_ENABLE 0
then
# Start core UAVCAN module
if uavcan start
then
set LOGGER_BUF 6
uavcan start fw
if param greater UAVCAN_ENABLE 1
then
# Reduce logger buffer to free up some RAM for UAVCAN servers
set LOGGER_BUF 6
# Start UAVCAN firmware update server and dynamic node ID allocation server
uavcan start fw
fi
else
tone_alarm ${TUNE_ERR}
fi
fi
if ver hwcmp PX4FMU_V4
then
frsky_telemetry start -d /dev/ttyS6
fi
if ver hwcmp MINDPX_V2
then
frsky_telemetry start -d /dev/ttyS6
fi
if ver hwcmp PX4FMU_V2
if ver hwcmp PX4FMU_V2 PX4FMU_V4 PX4FMU_V4PRO MINDPX_V2 PX4FMU_V5 OMNIBUS_F4SD
then
# Check for flow sensor - as it is a background task, launch it last
px4flow start &
fi
if ver hwcmp PX4FMU_V4
then
# Check for flow sensor - as it is a background task, launch it last
px4flow start &
fi
if ver hwcmp PX4FMU_V4PRO
then
# Check for flow sensor - as it is a background task, launch it last
px4flow start &
fi
if ver hwcmp MINDPX_V2
then
px4flow start &
fi
if ver hwcmp AEROFC_V1
then
# don't start mavlink ttyACM0 on aerofc_v1
@ -707,36 +743,6 @@ then
mavlink start -r 800000 -d /dev/ttyACM0 -m config -x
fi
#
# Logging
#
if param compare SYS_LOGGER 0
then
sdlog2 start -r 100 -a -b 9 -t
else
set LOGGER_ARGS ""
if param compare SDLOG_MODE 1
then
set LOGGER_ARGS "-e"
fi
if param compare SDLOG_MODE 2
then
set LOGGER_ARGS "-f"
fi
if ver hwcmp AEROFC_V1
then
set LOGGER_ARGS "-m mavlink"
fi
logger start -b ${LOGGER_BUF} -t ${LOGGER_ARGS}
unset LOGGER_BUF
unset LOGGER_ARGS
fi
#
# Fixed wing setup
#
@ -898,46 +904,6 @@ then
sh /etc/init.d/rc.ugv_apps
fi
#
# For snapdragon, we need a passthrough mode
# Do not run any mavlink instances since we need the serial port for
# communication with Snapdragon.
#
if [ $VEHICLE_TYPE == passthrough ]
then
mavlink stop-all
commander stop
# Stop multicopter attitude controller if it is running, the controls come
# from Snapdragon.
if mc_att_control stop
then
fi
# Start snapdragon interface on serial port.
if ver hwcmp PX4FMU_V2
then
# On Pixfalcon use the standard telemetry port (Telem 1).
snapdragon_rc_pwm start -d /dev/ttyS1
px4io start
fi
if ver hwcmp PX4FMU_V4
then
# On Pixracer use Telem 2 port (TL2).
snapdragon_rc_pwm start -d /dev/ttyS2
fmu mode_pwm4 $FMU_ARGS
fi
pwm failsafe -c 1234 -p 900
pwm disarmed -c 1234 -p 900
# Arm straightaway.
pwm arm
# Use 400 Hz PWM on all channels.
pwm rate -a -r 400
fi
unset MIXER
unset MAV_TYPE
unset OUTPUT_MODE
@ -1021,6 +987,8 @@ then
fi
fi
sh /etc/init.d/rc.logging
# End of autostart
fi

View File

@ -19,12 +19,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000
@ -38,7 +36,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer
@ -51,7 +48,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer
@ -62,7 +58,6 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer
@ -75,7 +70,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
@ -84,13 +78,10 @@ using the payload control group
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000

View File

@ -20,12 +20,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000
@ -37,12 +35,10 @@ On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000
@ -54,7 +50,6 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer
@ -67,7 +62,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
Flaps mixer
@ -75,10 +69,8 @@ Flaps mixer
Flap servos are physically reversed.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 5000 -10000 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 -5000 10000 -10000 10000

View File

@ -0,0 +1,76 @@
Aileron/rudder/elevator/throttle mixer for PX4FMU
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
elevator to output 1, the rudder to output 2 and the throttle to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
CH1: Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
S: 0 1 -10000 -10000 0 -10000 10000
CH3: Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
S: 0 2 10000 10000 0 -10000 10000
CH4: Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
S: 0 3 0 20000 -10000 -10000 10000
CH5: Flaps mixer
------------
Flaps are controlled automatically in position control and auto
but can also be controlled manually
M: 1
O: 5000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
Ch6: Landing gear mixer
------------
By default pass-through of gear switch
M: 1
S: 3 5 10000 10000 0 -10000 10000

View File

@ -23,7 +23,6 @@ differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer
@ -36,7 +35,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
CH3: Motor speed mixer
@ -47,7 +45,6 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
CH4: Rudder mixer
@ -60,7 +57,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
CH5: Flaps mixer
@ -77,5 +73,4 @@ CH6: Landing gear mixer
By default pass-through of gear switch
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000

View File

@ -8,7 +8,6 @@ Output 0 - Rear Servo Mixer
Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1)
M: 2
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
@ -18,7 +17,6 @@ Output 1 - Left Servo Mixer
Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0)
M: 3
O: 10000 10000 0 -10000 10000
S: 0 3 -10000 -10000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000
S: 0 0 8660 8660 0 -10000 10000
@ -30,7 +28,6 @@ Right Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) - 0.866 * Ail
M: 3
O: 10000 10000 0 -10000 10000
S: 0 3 -10000 -10000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000
S: 0 0 -8660 -8660 0 -10000 10000
@ -40,7 +37,6 @@ Output 3 - Tail Servo Mixer
Tail Servo = Yaw (control index = 2)
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
@ -49,5 +45,4 @@ Output 4 - Motor speed mixer
This would be the motor speed control output from governor power demand- not sure what index to use here?
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 20000 -10000 -10000 10000

View File

@ -0,0 +1,90 @@
############################################################################
#
# Copyright (c) 2018 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(
AAERTWF.main.mix
AAVVTWFF.main.mix
AERT.main.mix
AETRFG.main.mix
bebop.main.mix
blade130.main.mix
caipi.main.mix
caipirinha_vtol.main.mix
CCPM.main.mix
claire.aux.mix
claire.main.mix
coax.main.mix
delta.main.mix
deltaquad.main.mix
dodeca_bottom_cox.aux.mix
dodeca_top_cox.main.mix
firefly6.aux.mix
firefly6.main.mix
FMU_pass.mix
fw_generic_wing.main.mix
FX79.main.mix
hexa_cox.main.mix
hexa_+.main.mix
hexa_x.main.mix
IO_pass.main.mix
mount.aux.mix
mount_legs.aux.mix
ocpoc_quad_x.main.mix
octo_cox.main.mix
octo_cox_w.main.mix
octo_+.main.mix
octo_x.main.mix
pass.aux.mix
phantom.main.mix
quad_dc.main.mix
quad_h.main.mix
quad_+.main.mix
quad_s250aq.main.mix
quad_+_vtol.main.mix
quad_w.main.mix
quad_x_can.main.mix
quad_x.main.mix
quad_x_vtol.main.mix
quad_x_vtol_sim.main.mix
stampede.main.mix
tri_y_yaw-.main.mix
tri_y_yaw+.main.mix
ugv_generic.main.mix
Viper.main.mix
vtol_AAERT.aux.mix
vtol_AAVVT.aux.mix
vtol_convergence.main.mix
vtol_delta.aux.mix
wingwing.main.mix
zmr250.main.mix
)

View File

@ -6,18 +6,14 @@ This file defines passthrough mixers suitable for testing.
Channel group 0, channels 0-3 are passed directly through to the outputs.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000

View File

@ -26,12 +26,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8500 8500 0 -10000 10000
S: 0 1 9500 9500 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8500 8500 0 -10000 10000
S: 0 1 -9500 -9500 0 -10000 10000
@ -49,5 +47,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -6,33 +6,25 @@ This file defines passthrough mixers suitable for testing.
Channel group 0, channels 0-7 are passed directly through to the outputs.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 10000 10000 0 -10000 10000

View File

@ -26,12 +26,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 7500 7500 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 7500 7500 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000
@ -49,7 +47,6 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Inputs to the mixer come from channel group 2 (payload), channels 0
@ -57,15 +54,12 @@ Inputs to the mixer come from channel group 2 (payload), channels 0
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 -8000 -8000 0 -10000 10000

View File

@ -12,5 +12,4 @@ S: 220 13054 10000 0 -8000 8000
# Tail servo:
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000

View File

@ -24,12 +24,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8000 8000 0 -10000 10000
S: 0 1 9000 9000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8000 8000 0 -10000 10000
S: 0 1 -9000 -9000 0 -10000 10000
@ -47,5 +45,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -9,7 +9,6 @@ Tilt mechanism servo mixer
M: 1
O: 10000 10000 0 -10000 10000
S: 1 4 10000 10000 0 -10000 10000
@ -21,11 +20,9 @@ Elevon mixers
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 7500 7500 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -7500 -7500 0 -10000 10000

View File

@ -7,20 +7,17 @@ Coaxial helicopter mixer
Left swashplate servomotor, pitch axis
-------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Right swashplate servomotor, roll axis
-------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Upper rotor (CCW)
Mixing between yaw and thrust
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
@ -28,6 +25,5 @@ Lower rotor (CW)
Mixing between yaw and thrust
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -22,12 +22,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 3000 5000 0 -10000 10000
S: 0 1 5000 5000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 5000 3000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000
@ -45,5 +43,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -18,7 +18,6 @@ input is inverted between the two servos.
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
@ -26,7 +25,6 @@ S: 1 1 8000 8000 0 -10000 10000
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
@ -39,12 +37,10 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000
8: Reverse thrust (brake) mixer
-----------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 6 0 20000 -9000 -10000 10000

View File

@ -4,23 +4,19 @@
Tilt mechanism servo mixer
---------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 4 0 20000 -10000 -10000 10000
Elevon mixers
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
Landing gear mixer
------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -22,12 +22,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -8000 -8000 0 -10000 10000
S: 0 1 6000 6000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -8000 -8000 0 -10000 10000
S: 0 1 -6000 -6000 0 -10000 10000
@ -45,5 +43,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -3,21 +3,17 @@
# pitch
M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000
# roll
M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000
# yaw
M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000
# Shutter/retract
M: 1
O: 10000 10000 0 -10000 10000
S: 2 3 10000 10000 0 -10000 10000

View File

@ -1,27 +1,22 @@
# Roll channel for mount
M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000
# Pitch channel for mount
M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000
# Yaw channel for mount
M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000
# mixer for left leg
M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 0 20000 -10000 -10000 10000
# mixer for right leg
M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 0 20000 -10000 -10000 10000

View File

@ -2,20 +2,16 @@
# AUX1 channel (select RC channel with RC_MAP_AUX1 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
# AUX2 channel (select RC channel with RC_MAP_AUX2 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000
# AUX3 channel (select RC channel with RC_MAP_AUX3 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 7 10000 10000 0 -10000 10000
# FLAPS channel (select RC channel with RC_MAP_FLAPS param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 4 10000 10000 0 -10000 10000

View File

@ -21,12 +21,10 @@ input is inverted between the two servos.
The scaling factor are set so that pitch will have more travel than roll.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 6500 6500 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 -6500 -6500 0 -10000 10000
@ -44,5 +42,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -10,9 +10,7 @@ Gimbal / payload mixer for last two channels
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -8,21 +8,17 @@ R: 4+ 10000 10000 10000 0
# mixer for the elevons
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000
# mixer for canard surface
M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000
# mixer for rudder
M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000

View File

@ -10,9 +10,7 @@ Gimbal / payload mixer for last two channels
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -1,7 +1,5 @@
R: 4s 10000 10000 10000 0
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -9,9 +9,7 @@ Gimbal / payload mixer for last two channels
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -1,7 +1,5 @@
R: 4x 10000 10000 10000 0
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -10,17 +10,14 @@ Z:
# left elevon
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 5000 5000 0 -10000 10000
S: 1 1 5000 5000 0 -10000 10000
# right elevon
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 5000 5000 0 -10000 10000
S: 1 1 -5000 -5000 0 -10000 10000
# mixer for the virtual elevator
M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000

View File

@ -0,0 +1,18 @@
Mixer for the gazebo tailsitter model
=====================================
R: 4x 10000 10000 10000 0
Z:
# left elevon
M: 1
S: 1 0 10000 10000 0 -10000 10000
# right elevon
M: 1
S: 1 0 -10000 -10000 0 -10000 10000
# mixer for the virtual elevator
M: 1
S: 1 1 -10000 -10000 0 -10000 10000

View File

@ -20,7 +20,6 @@ Z:
Steering mixer using roll on output 1
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
@ -33,5 +32,4 @@ Z:
Output 3
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000

View File

@ -8,5 +8,4 @@ R: 3y 10000 10000 10000 0
# Yaw Servo
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000

View File

@ -8,6 +8,5 @@ R: 3y 10000 10000 10000 0
# Yaw Servo
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000

View File

@ -20,7 +20,6 @@ Z:
Steering mixer using roll on output 1
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
@ -33,5 +32,4 @@ Z:
Output 3
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000

View File

@ -4,29 +4,24 @@ Mixer for an AAERT VTOL
Aileron 1 mixer
---------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
Aileron 2 mixer
---------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
Elevator mixer
--------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000
Rudder mixer
------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000
Throttle mixer
--------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000

View File

@ -19,12 +19,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 6 -10000 -10000 0 -10000 10000
@ -37,12 +35,10 @@ On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos.
M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
@ -54,6 +50,5 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000

View File

@ -9,24 +9,20 @@ Tilt mechanism servo mixer
---------------------------
#RIGHT up:2000 down:1000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 -20000 10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000
#LEFT up:1000 down:2000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 20000 -10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000
Elevon mixers
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000

View File

@ -18,12 +18,10 @@ On the assumption that the two elevon servos are physically reversed, the pitch
input is inverted between the two servos.
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
@ -35,7 +33,6 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000
@ -43,7 +40,6 @@ Reverse thrust (brake) mixer
-----------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 6 0 20000 -10000 -10000 10000
@ -52,5 +48,4 @@ Aux1 mixer
This is actuated on the AUX5 port
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000

View File

@ -24,12 +24,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 6500 6500 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 -6500 -6500 0 -10000 10000
@ -47,5 +45,4 @@ This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

View File

@ -5,9 +5,7 @@
R: 4x 7654 10000 10000 0
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 5 10000 10000 0 -10000 10000

View File

@ -0,0 +1,36 @@
############################################################################
#
# Copyright (c) 2018 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)
add_subdirectory(mixers)
add_subdirectory(unit_test_data)

View File

@ -0,0 +1,38 @@
############################################################################
#
# Copyright (c) 2018 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
rc.sensors
rc.standalone
)

View File

@ -2,6 +2,7 @@
#
# PX4FMU startup script for test hackery.
#
set +e
set unit_test_failure 0
uorb start

View File

@ -0,0 +1,96 @@
Aileron/rudder/elevator/throttle/wheel/flaps mixer for PX4FMU
=======================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator, throttle and steerable wheel controls using PX4FMU.
The configuration assumes the aileron servo(s) are connected to PX4FMU servo
output 0 and 1, the elevator to output 2, the rudder to output 3, the throttle
to output 4 and the wheel to output 5.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps).
Aileron mixer (roll + flaperon)
---------------------------------
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the wheel servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Flaps / gimbal / payload mixer for last three channels,
using the payload control group
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000

View File

@ -0,0 +1,84 @@
Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU
=======================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps
using PX4FMU.
The configuration assumes the aileron servos are connected to PX4FMU servo
output 0 and 1, the tail servos to output 2 and 3, the throttle
to output 4, the wheel to output 5 and the flaps to output 6 and 7.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon).
Aileron mixer (roll + flaperon)
---------------------------------
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000
V-tail mixers
-------------
Three scalers total (output, roll, pitch).
On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the wheel servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
Flaps mixer
------------
Flap servos are physically reversed.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 5000 -10000 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 -5000 10000 -10000 10000

View File

@ -0,0 +1,81 @@
Aileron/rudder/elevator/throttle mixer for PX4FMU
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
elevator to output 1, the rudder to output 2 and the throttle to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
CH1: Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
CH3: Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
CH4: Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
CH5: Flaps mixer
------------
Flaps are controlled automatically in position control and auto
but can also be controlled manually
M: 1
O: 5000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
Ch6: Landing gear mixer
------------
By default pass-through of gear switch
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000

View File

@ -0,0 +1,81 @@
Aileron/Elevator/Throttle/Rudder/Gear/Flaps mixer
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator, throttle, gear, flaps controls. The configuration
assumes the aileron servo(s) are connected to output 0, the elevator to
output 1, the throttle to output 2 and the rudder to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (thrust), 3 (yaw), 4 (flaps), 7 (landing gear)
CH1: Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
CH3: Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
CH4: Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
CH5: Flaps mixer
------------
Flaps are controlled automatically in position control and auto
but can also be controlled manually
M: 1
O: 5000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
CH6: Landing gear mixer
------------
By default pass-through of gear switch
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000

View File

@ -0,0 +1,53 @@
############################################################################
#
# Copyright (c) 2018 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(
AAERTWF.main.mix
AAVVTWFF.main.mix
AERT.main.mix
AETRFG.main.mix
complex_test.mix
hexa_x.main.mix
IO_pass.mix
octo_x.main.mix
pass.aux.mix
quad_+.main.mix
quad_test.mix
quad_+_vtol.main.mix
ugv_generic.main.mix
vtol1_test.mix
vtol2_test.mix
vtol_AAERT.aux.mix
vtol_AAVVT.aux.mix
vtol_convergence.main.mix
)

View File

@ -0,0 +1,4 @@
# Hexa X
R: 6x 10000 10000 10000 0

View File

@ -0,0 +1,3 @@
# Octo X
R: 8x 10000 10000 10000 0

View File

@ -0,0 +1,21 @@
# Manual pass through mixer for servo outputs 1-4
# AUX1 channel (select RC channel with RC_MAP_AUX1 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
# AUX2 channel (select RC channel with RC_MAP_AUX2 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000
# AUX3 channel (select RC channel with RC_MAP_AUX3 param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 7 10000 10000 0 -10000 10000
# FLAPS channel (select RC channel with RC_MAP_FLAPS param)
M: 1
O: 10000 10000 0 -10000 10000
S: 3 4 10000 10000 0 -10000 10000

View File

@ -0,0 +1,18 @@
Multirotor mixer for PX4FMU
===========================
This file defines a single mixer for a quadrotor in the + configuration. All controls
are mixed 100%.
R: 4+ 10000 10000 10000 0
Gimbal / payload mixer for last two channels
-----------------------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000

View File

@ -0,0 +1,28 @@
Mixer for Tailsitter with + motor configuration and elevons
===========================================================
This file defines a single mixer for tailsitter with motors in X configuration. All controls
are mixed 100%.
R: 4+ 10000 10000 10000 0
# mixer for the elevons
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000
# mixer for canard surface
M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000
# mixer for rudder
M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000

View File

@ -0,0 +1,37 @@
Generic car mixer (eg Traxxas Stampede RC Car)
===========================
Designed for Traxxas Stampede
This file defines mixers suitable for controlling a Traxxas Stampede rover using
PX4FMU. The configuration assumes the steering is connected to PX4FMU
servo outputs 1 and the motor speed control to output 3. Output 0 and 2 is
assumed to be unused.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust).
See the README for more information on the scaler format.
Output 0
---------------------------------------
Z:
Steering mixer using roll on output 1
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Output 2
---------------------------------------
This mixer is empty.
Z:
Output 3
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000

View File

@ -1,24 +0,0 @@
M: 4
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
S: 0 2 +10000 +10000 0 -10000 10000
S: 0 3 +10000 +10000 0 -10000 10000
M: 4
O: 10000 10000 0 -10000 10000
S: 0 0 +10000 +10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
S: 0 3 +10000 +10000 0 -10000 10000
M: 4
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -10000 0 -10000 10000
S: 0 1 +10000 +10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
S: 0 3 +10000 +10000 0 -10000 10000
M: 4
O: 10000 10000 0 -10000 10000
S: 0 0 +10000 +10000 0 -10000 10000
S: 0 1 +10000 +10000 0 -10000 10000
S: 0 2 +10000 +10000 0 -10000 10000
S: 0 3 +10000 +10000 0 -10000 10000

View File

@ -0,0 +1,32 @@
Mixer for an AAERT VTOL
=======================
Aileron 1 mixer
---------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
Aileron 2 mixer
---------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
Elevator mixer
--------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000
Rudder mixer
------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000
Throttle mixer
--------------
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000

View File

@ -0,0 +1,59 @@
Aileron/v-tail/throttle VTOL mixer for PX4FMU
=======================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, v-tail (rudder, elevator) and throttle using PX4FMU.
The configuration assumes the aileron servos are connected to PX4FMU
AUX servo output 0 and 1, the tail servos to output 2 and 3, the throttle
to output 4.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon).
Aileron mixer (roll + flaperon)
---------------------------------
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 6 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 6 -10000 -10000 0 -10000 10000
V-tail mixers
-------------
Three scalers total (output, roll, pitch).
On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos.
M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000

View File

@ -0,0 +1,32 @@
# E-flite Convergence Tricopter Y-Configuration Mixer
# Motors
R: 3y 10000 10000 10000 0
Z:
Tilt mechanism servo mixer
---------------------------
#RIGHT up:2000 down:1000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 -20000 10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000
#LEFT up:1000 down:2000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 20000 -10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000
Elevon mixers
-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000

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