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 (ebc40067c7): https://github.com/PX4/sitl_gazebo/commit/8a3166bf5d315274cfd503a75880e9837faa9694
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/b5a92095bfb1b6a218a80f58ad9fe09c89ef4598
    - Changes: https://github.com/PX4/sitl_gazebo/compare/8a3166bf5d315274cfd503a75880e9837faa9694...b5a92095bfb1b6a218a80f58ad9fe09c89ef4598

    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): https://github.com/PX4-NuttX/apps/commit/7e2f17db4e770e65ee39b1a964cf4644720d976c
    - apps current upstream: https://github.com/PX4-NuttX/apps/commit/36806ba3d84c0fa07ed86857d4c92a997b7cd194
    - Changes: https://github.com/PX4-NuttX/apps/compare/7e2f17db4e770e65ee39b1a964cf4644720d976c...36806ba3d84c0fa07ed86857d4c92a997b7cd194

    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 (a19fecad94): https://github.com/mavlink/c_library_v2/commit/653ac745a57794a38c831f1ff296066a2e09c09b
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/033fa8e7a4a75a0c3f17cea57e3be8966e05f770
    - Changes: https://github.com/mavlink/c_library_v2/compare/653ac745a57794a38c831f1ff296066a2e09c09b...033fa8e7a4a75a0c3f17cea57e3be8966e05f770

    033fa8e 2018-05-24 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/d8ea87b9c6173ad72a032219588e302eb8cb212a
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 a62a71f48f.
   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 8404889098
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 9122725052
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): https://github.com/PX4/Matrix/commit/03a3e3ad46d21bb90e78f8cedd3526d24617df5f
    - matrix current upstream: https://github.com/PX4/Matrix/commit/b815fc97c4e686a93a8074f27d1830a031b0d38d
    - Changes: https://github.com/PX4/Matrix/compare/03a3e3ad46d21bb90e78f8cedd3526d24617df5f...b815fc97c4e686a93a8074f27d1830a031b0d38d

    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): https://github.com/PX4-NuttX/nuttx/commit/0ac630e6d0e90480121c74d59a92676f0b951dce
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/80e58380a8d2b4da0f29eee7e0a820abf0d9f793
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/0ac630e6d0e90480121c74d59a92676f0b951dce...80e58380a8d2b4da0f29eee7e0a820abf0d9f793

    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 27e75920bd.
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): https://github.com/PX4/Matrix/commit/21d47424c6050bb94da5de3f7580a8df66b6fcc7
    - matrix current upstream: https://github.com/PX4/Matrix/commit/03a3e3ad46d21bb90e78f8cedd3526d24617df5f
    - Changes: https://github.com/PX4/Matrix/compare/21d47424c6050bb94da5de3f7580a8df66b6fcc7...03a3e3ad46d21bb90e78f8cedd3526d24617df5f

    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 (1b33445c7b): https://github.com/PX4/sitl_gazebo/commit/e8b3624b9dad63a492ae58c1ce8661488128966b
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/59f01ae9bd8ee1937be368f9b536fda02bf1aba6
    - Changes: https://github.com/PX4/sitl_gazebo/compare/e8b3624b9dad63a492ae58c1ce8661488128966b...59f01ae9bd8ee1937be368f9b536fda02bf1aba6

    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): https://github.com/PX4/ecl/commit/1fdf33b343e361de6410515a0359f3cb7f34d499
    - ecl current upstream: https://github.com/PX4/ecl/commit/d177e96508d2572f6fa8eb7ff41852749c882548
    - Changes: https://github.com/PX4/ecl/compare/1fdf33b343e361de6410515a0359f3cb7f34d499...d177e96508d2572f6fa8eb7ff41852749c882548

    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 (bbc104ad4c): https://github.com/PX4/sitl_gazebo/commit/371e7c36c34d7dd45da5602a14a6ee01e9fe74db
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/e8b3624b9dad63a492ae58c1ce8661488128966b
    - Changes: https://github.com/PX4/sitl_gazebo/compare/371e7c36c34d7dd45da5602a14a6ee01e9fe74db...e8b3624b9dad63a492ae58c1ce8661488128966b

    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 (1ee08da9c4): https://github.com/PX4/sitl_gazebo/commit/651ca351fd1030870b42528db17e4fe2816d46e5
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/371e7c36c34d7dd45da5602a14a6ee01e9fe74db
    - Changes: https://github.com/PX4/sitl_gazebo/compare/651ca351fd1030870b42528db17e4fe2816d46e5...371e7c36c34d7dd45da5602a14a6ee01e9fe74db

    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): https://github.com/PX4/ecl/commit/cb63f16d48d56de7ab407d2f78317ddfabd23747
    - ecl current upstream: https://github.com/PX4/ecl/commit/50631e5d98e61093e85e798570503e4055e887ca
    - Changes: https://github.com/PX4/ecl/compare/cb63f16d48d56de7ab407d2f78317ddfabd23747...50631e5d98e61093e85e798570503e4055e887ca

    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 (ac55a0de58): https://github.com/PX4/sitl_gazebo/commit/cd91ef411aff947f234eb829479e6242d9fabcf7
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/651ca351fd1030870b42528db17e4fe2816d46e5
    - Changes: https://github.com/PX4/sitl_gazebo/compare/cd91ef411aff947f234eb829479e6242d9fabcf7...651ca351fd1030870b42528db17e4fe2816d46e5

    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): https://github.com/PX4/DriverFramework/commit/e06222dd151e2f92476762e483915df5bd67929d
    - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/410e9fc4e78da91030e9d535a7f8e023a9ddd1f4
    - Changes: https://github.com/PX4/DriverFramework/compare/e06222dd151e2f92476762e483915df5bd67929d...410e9fc4e78da91030e9d535a7f8e023a9ddd1f4

    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): https://github.com/PX4/ecl/commit/372f9f430bb0edb901b3265ecd0cddf8ee4d1ffb
    - ecl current upstream: https://github.com/PX4/ecl/commit/bae4b8a5e7786304e33deaf33bbbcbb256fdda1e
    - Changes: https://github.com/PX4/ecl/compare/372f9f430bb0edb901b3265ecd0cddf8ee4d1ffb...bae4b8a5e7786304e33deaf33bbbcbb256fdda1e

    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 (3ed093ba59): https://github.com/ros/genmsg/commit/3cea1fe528cd7ecdae7f8930fe90451271aec937
    - genmsg current upstream: https://github.com/ros/genmsg/commit/a189fc78558e7276df59d2961cfe4f8b4de08a8b
    - Changes: https://github.com/ros/genmsg/compare/3cea1fe528cd7ecdae7f8930fe90451271aec937...a189fc78558e7276df59d2961cfe4f8b4de08a8b

    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 (8404889098): https://github.com/PX4-NuttX/nuttx/commit/65b87d092a6d5f776ab5f9dbb095d31e45861789
    - nuttx current upstream: https://github.com/PX4-NuttX/nuttx/commit/0ac630e6d0e90480121c74d59a92676f0b951dce
    - Changes: https://github.com/PX4-NuttX/nuttx/compare/65b87d092a6d5f776ab5f9dbb095d31e45861789...0ac630e6d0e90480121c74d59a92676f0b951dce

    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: https://github.com/PX4-NuttX/nuttx/compare/fe0dc6c41a6bd7d942945459ac960ff2d3e1f4fc...65b87d092a6d5f776ab5f9dbb095d31e45861789

    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): https://github.com/PX4/ecl/commit/ba2b9dfdd96d50d697165407b88b5bc94cdef84c
    - ecl current upstream: https://github.com/PX4/ecl/commit/02e319431b948f660f8548707849489d6c822fad
    - Changes: https://github.com/PX4/ecl/compare/ba2b9dfdd96d50d697165407b88b5bc94cdef84c...02e319431b948f660f8548707849489d6c822fad

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): https://github.com/PX4/DriverFramework/commit/f98ea65e9bd35a8d2bdedd39e519b7320fe82b16
    - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/e06222dd151e2f92476762e483915df5bd67929d
    - Changes: https://github.com/PX4/DriverFramework/compare/f98ea65e9bd35a8d2bdedd39e519b7320fe82b16...e06222dd151e2f92476762e483915df5bd67929d

    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): https://github.com/mavlink/c_library_v2/commit/163d4c84b9eb58a02cab94d039f54c303977d991
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/c55dd0ec312a667f28b0cab4f1fe697d2888c00c
    - Changes: https://github.com/mavlink/c_library_v2/compare/163d4c84b9eb58a02cab94d039f54c303977d991...c55dd0ec312a667f28b0cab4f1fe697d2888c00c

    c55dd0e 2018-04-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/292874beed6bf756be45421bd2ae2420de921f2b
e2916e5 2018-04-10 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/012765b923546224ef928caeb86c72d5a78a433a
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 (4ffa98aa2a): https://github.com/PX4/sitl_gazebo/commit/28921bca9df9a212675b8e888c926d1ec6f6b28e
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/0df46c53b14ef4241b33fb7a74a3cb6f9d83c6dd
    - Changes: https://github.com/PX4/sitl_gazebo/compare/28921bca9df9a212675b8e888c926d1ec6f6b28e...0df46c53b14ef4241b33fb7a74a3cb6f9d83c6dd

    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 (3ec37aa186): https://github.com/mavlink/c_library_v2/commit/95d4cb3b21130d67b251f323482f1c3fe1ce0c6c
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/163d4c84b9eb58a02cab94d039f54c303977d991
    - Changes: https://github.com/mavlink/c_library_v2/compare/95d4cb3b21130d67b251f323482f1c3fe1ce0c6c...163d4c84b9eb58a02cab94d039f54c303977d991

    163d4c8 2018-04-08 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/07c4fc5f617383707317128e87ec9a0489ed3634
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 cf2d794da9.
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 (d05bc28576): https://github.com/PX4/sitl_gazebo/commit/7c5a7bb226f503ce7596c2067dac828cf07abcaa
 - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/28921bca9df9a212675b8e888c926d1ec6f6b28e
 - Changes: https://github.com/PX4/sitl_gazebo/compare/7c5a7bb226f503ce7596c2067dac828cf07abcaa...28921bca9df9a212675b8e888c926d1ec6f6b28e

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 (76a3dbc9df): https://github.com/PX4/Matrix/commit/e7c95fa027675f38f14b06344bf9855883013727
 - matrix current upstream: https://github.com/PX4/Matrix/commit/21d47424c6050bb94da5de3f7580a8df66b6fcc7
 - Changes: https://github.com/PX4/Matrix/compare/e7c95fa027675f38f14b06344bf9855883013727...21d47424c6050bb94da5de3f7580a8df66b6fcc7

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: https://github.com/PX4/Matrix/commit/e7c95fa027675f38f14b06344bf9855883013727

Changes from matrix (https://github.com/PX4/Matrix/commit/61af508755c59d177c4e61a35cbfa270b06d9684) in current PX4/master (9fc1755c33)
https://github.com/PX4/Matrix/compare/61af508755c59d177c4e61a35cbfa270b06d9684...e7c95fa027675f38f14b06344bf9855883013727

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 (82a7343a7d): https://github.com/PX4/DriverFramework/commit/29f386628af2c9dd6a95cb873d0624c0c0c58381
 - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/f98ea65e9bd35a8d2bdedd39e519b7320fe82b16
 - Changes: https://github.com/PX4/DriverFramework/compare/29f386628af2c9dd6a95cb873d0624c0c0c58381...f98ea65e9bd35a8d2bdedd39e519b7320fe82b16

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: https://github.com/PX4/uavcan_board_ident/commit/2e5f9d6768b1dbffc006dc2ceeb2bfe120f22163

Changes from uavcan_board_ident (https://github.com/PX4/uavcan_board_ident/commit/f8851c841ecdaacc41a5219cc83e4a178a09bc08) in current PX4/master (9fc1755c33)
https://github.com/PX4/uavcan_board_ident/compare/f8851c841ecdaacc41a5219cc83e4a178a09bc08...2e5f9d6768b1dbffc006dc2ceeb2bfe120f22163

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: https://github.com/mavlink/c_library_v2/commit/95d4cb3b21130d67b251f323482f1c3fe1ce0c6c

Changes from v2.0 (https://github.com/mavlink/c_library_v2/commit/37d14af47d783eb516959cc10e4cf70d66e927c0) in current PX4/master (9fc1755c33)
https://github.com/mavlink/c_library_v2/compare/37d14af47d783eb516959cc10e4cf70d66e927c0...95d4cb3b21130d67b251f323482f1c3fe1ce0c6c

95d4cb3 2018-03-28 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/f29e3302fef08a9df6bd2b2e944f1fbf35637035
f8b4fc9 2018-03-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/4accd6c062f6ca79a025f596744fc9cf907acc98
695883f 2018-03-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b4efea1609631683c7b29f85571ba2f34a10116e
1bb9b2c 2018-03-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/56e28570a7557e62e95613d7bd13a96e8cf5e02e
68f9957 2018-03-27 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/8cf87fc5afe996604cc4399f21f83c7989ae5d9a
62abc60 2018-03-26 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/17207917a38ad690b3995e168b51bf232094b165
1b0dc47 2018-03-23 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/1d007c59dbe0121b7f2063a8919a44703634a5ef
925ab39 2018-03-21 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/5515533e8e5222aa1794616b124eddcaa040a5b3
f38624f 2018-03-15 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/91a22feb27e718373dd68e6fc57329f13f5e8d8a
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: https://github.com/PX4/ecl/commit/ba2b9dfdd96d50d697165407b88b5bc94cdef84c

Changes from ecl (https://github.com/PX4/ecl/commit/39b69af9bf8340790011c7c2723d4ed725ea0a3b) in current PX4/master (9fc1755c33)
https://github.com/PX4/ecl/compare/39b69af9bf8340790011c7c2723d4ed725ea0a3b...ba2b9dfdd96d50d697165407b88b5bc94cdef84c

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
eb67686b11
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 262d9c790b.
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)
https://github.com/PX4-NuttX/nuttx/commit/efc3d9e92bd10623ab3025f012fd7d481e1a7267
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 bad813e911
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 73d23742ea.
2018-01-21 15:41:30 +01:00
Beat Küng 5e826eaa27 Revert "vmount: fix new input getting lost in throttling"
This reverts commit b7404ad6c1.
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 1f63d85869
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
1507 changed files with 51441 additions and 38931 deletions
+1
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
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.
+19
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.
-9
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
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
+7 -8
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
+77 -71
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)
+1 -1
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
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
-37
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/
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
rm -rf html
doxygen
Vendored
+481 -361
View File
File diff suppressed because it is too large Load Diff
+1 -1
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
+26 -32
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"
# --------------------------------------------------------------------
+3 -5
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)
+81 -7
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)
+35
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)
+1 -1
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
@@ -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
@@ -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
@@ -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
@@ -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
+1 -1
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
@@ -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
+1 -1
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
+1 -1
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
@@ -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
+1 -1
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
+23
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
+22 -16
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
+7 -3
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
+6 -8
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
+41 -28
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
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
# 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
@@ -31,23 +31,88 @@
#
############################################################################
include_directories(${PX4_SOURCE_DIR}/mavlink/include/mavlink)
px4_add_module(
MODULE platforms__posix__drivers__gyrosim
MAIN gyrosim
STACK_MAIN 1200
COMPILE_FLAGS
SRCS
gyrosim.cpp
DEPENDS
platforms__common
git_driverframework
df_driver_framework
)
target_link_libraries(platforms__posix__drivers__gyrosim
df_driver_framework
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
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :
+5
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
+4 -1
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
+2 -17
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
+33
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
+73 -27
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)
+5
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
+141 -173
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
@@ -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
@@ -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
+76
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
@@ -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
-5
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
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
# 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
@@ -30,20 +30,61 @@
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_module(
MODULE platforms__posix__drivers__adcsim
MAIN adcsim
COMPILE_FLAGS
SRCS
adcsim.cpp
DEPENDS
platforms__common
git_driverframework
df_driver_framework
)
target_link_libraries(platforms__posix__drivers__adcsim
df_driver_framework
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
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :
-4
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
-3
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
-4
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
@@ -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
@@ -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
@@ -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
@@ -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
-4
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
@@ -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
-4
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+36
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)
+38
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
)
+1
View File
@@ -2,6 +2,7 @@
#
# PX4FMU startup script for test hackery.
#
set +e
set unit_test_failure 0
uorb start
+96
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
@@ -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
+81
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
+81
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
+53
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
)
+4
View File
@@ -0,0 +1,4 @@
# Hexa X
R: 6x 10000 10000 10000 0
+3
View File
@@ -0,0 +1,3 @@
# Octo X
R: 8x 10000 10000 10000 0
+21
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
+18
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
@@ -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
@@ -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
-24
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
@@ -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
@@ -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
@@ -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