Commit Graph

13603 Commits

Author SHA1 Message Date
Andrew Tridgell 1345bf8737 AC_AttitudeControl: added support for AP_AHRS_View
this allows for tailsitters with a different attitude view
2017-02-18 17:26:43 +11:00
Andrew Tridgell 8bd1fc63d5 SITL: support pitch90 and pitch270 in FlightAxis
used for flying tailsitters
2017-02-18 17:26:43 +11:00
Andrew Tridgell 1a74b7fc0c AP_Motors: started on tailsitter support 2017-02-18 17:26:43 +11:00
Andrew Tridgell 5acbf5d16e AC_AttitudeControl: use FF from AC_PID 2017-02-18 17:26:43 +11:00
Andrew Tridgell b97bf5d15e AC_PID: added feed-forward to AC_PID 2017-02-18 17:26:43 +11:00
Francisco Ferreira 23f959b92f
AP_NavEKF3: fix copied parameter descriptions 2017-02-15 19:20:04 +00:00
priseborough 1a7b5538e5 AP_NavEKF2: Enable simple heading fusion to be set for specific cores 2017-02-15 19:17:53 +00:00
priseborough de7a679534 AP_NavEKF3: Enable simple heading fusion to be set for specific cores 2017-02-15 19:09:45 +00:00
priseborough ccb952ba31 AP_NavEKF3: Use the same mag fusion method for all cores
The original reason for using a different method for the second core is no longer valid.
2017-02-15 19:01:10 +00:00
priseborough a1d41edc4e AP_NavEKF2: Use the same mag fusion method for all cores
The original reason for using a different method for the second core is no longer valid.
2017-02-15 19:01:10 +00:00
Randy Mackay 8c7b214d71 AP_BattMonitor: fix param description 2017-02-15 20:01:59 +10:00
priseborough e399f57ffa AP_NavEKF3: prevent NaN if RNGFND_GNDCLEAR is zero 2017-02-15 07:04:38 +09:00
priseborough 5cd403c0b9 AP_NavEKF2: prevent NaN if RNGFND_GNDCLEAR is zero 2017-02-15 07:04:38 +09:00
priseborough bf51da224a AP_RangeFinder: Update min value for RNGFND_GNDCLEAR parameter 2017-02-15 07:04:38 +09:00
Peter Barker 057819ccef DataFlash: zero-pad the number in the log filename
This helps with collating when reviewing log files

Closes #2212
2017-02-15 07:23:49 +11:00
Peter Barker 58d74230d5 DataFlash: correct error detection for asprintf 2017-02-15 07:23:49 +11:00
Michael du Breuil 794f7a969e AP_Arming: Fix up ARMING_REQUIRE param documentation to try and be less confusing 2017-02-15 07:22:11 +11:00
Andrew Tridgell 395702ceff SRV_Channel: make SRV_AUTO_TRIM plane specific 2017-02-14 19:50:01 +11:00
Andrew Tridgell 4626b3a269 AP_Arming: mark ARMING_REQUIRE as plane and rover only 2017-02-14 19:50:01 +11:00
Andrew Tridgell 108cbe1dab AP_Motors: mark tricopter yaw as tricopter only 2017-02-14 19:50:01 +11:00
Andrew Tridgell 79b0c856b2 AP_Param: added support for frame specific parameters
this allows for libraries that have parameters that are only activated
on particular frame types
2017-02-14 19:49:29 +11:00
Andrew Tridgell 2187417d74 AP_Motors: added MOT_SPOOL_TIME
this allows for quadplanes to have faster spoolup, which can help with
transitions
2017-02-14 09:23:17 +09:00
Michael du Breuil 18b5446765 Camera: Fix an incorrect label on CAM_DURATION 2017-02-13 19:20:49 +00:00
Peter Barker 89afa913f1 AP_Frsky_Telem: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker cc28ff49e9 GCS_MAVLink: support for a singleton 2017-02-13 09:32:01 +11:00
Michael du Breuil 31f1545223 DataFlash: Update for AHRS NED changes
Report both origin and home NED altitudes to the log file
2017-02-13 09:23:14 +11:00
Michael du Breuil 2d212e5bd4 AP_InertialNav: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil 42b6ca9eed AP_ICEngine: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil d71533dc2b AC_PrecLand: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil 50346de963 GCS_MAVLink: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil 666c63da9f AP_TECS: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil 95edf6ab66 AP_Module: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Michael du Breuil 3274f1dbb1 AP_AHRS: Split all NED methods into a collection of NED relative to home vs origin 2017-02-13 09:23:14 +11:00
Michael du Breuil c079532a7a AP_Avoidance: Remove unutilized get_destination_perpendicular 2017-02-13 09:23:14 +11:00
Michael du Breuil 97c57764c4 AP_Math: Add a 3D location difference, returning NED 2017-02-13 09:23:14 +11:00
Michael du Breuil c716e76bfc AP_HAL_SITL: Apply a GPS noise parameter 2017-02-13 09:23:14 +11:00
Michael du Breuil ef0c51da42 SITL: Add GPS noise parameter 2017-02-13 09:23:14 +11:00
Lucas De Marchi 9535b45cc9 AP_InertialSensor: examples: fix double to float warnings
While at it add function prototype.
2017-02-12 01:22:35 +00:00
Lucas De Marchi 9814dc81e2 AP_Baro: examples: better output formatting 2017-02-12 01:22:35 +00:00
Lucas De Marchi 402f0cce85 AP_Baro: examples: fix coding style 2017-02-12 01:22:35 +00:00
Lucas De Marchi dd1646aefc DataFlash: remove dangling semicolon 2017-02-12 01:22:35 +00:00
Lucas De Marchi dd98fc75a9 AP_Compass: BMM150: fix sampling time
We configure the sensor with an ODR of 30 Hz. There's no need to keep
calling the update function at 100Hz.
2017-02-11 01:37:49 -08:00
Lucas De Marchi 9f09442548 AP_GPS: rename UNIX_OFFSET
To keep consistency with other constants and make clear the unit.
2017-02-11 01:34:09 -08:00
murata 30151c8253 Global: Define MSEC_PER_SEC, MSEC_PER_WEEK, SEC_PER_WEEK and UNIX_OFFSET. 2017-02-11 01:34:09 -08:00
Randy Mackay 8b5aae37e0 AP_Motors: remove Hexa-H, change Octa-H factors
Octa-H is like an Quad-X but with each side having two additional motors placed between the front an back motors.
Octa-H is quite different from Quad-H.
2017-02-10 10:42:14 +09:00
Peter Barker 8f478a62d7 AP_HAL: remove HAL_PARAM_DEFAULTS_PATH for SITL
This will remove the warning at startup that etc/defaults isn't
found, which just confuses matters when things aren't working
2017-02-09 21:00:43 +11:00
Randy Mackay 872e0567be AP_Motors: add H frame support for hexa and octa 2017-02-09 12:37:14 +09:00
Randy Mackay ebb60e8d2f AP_BattMonitor: remove PX4 driver 2017-02-09 10:45:01 +09:00
Tatsuya Yamaguchi 3e445fd4b8 AP_BattMonitor: add Maxell Battery support 2017-02-09 10:45:00 +09:00
Tatsuya Yamaguchi d30350276c AP_BattMonitor: I2C driver becomes Solo driver
Rename class to Solo
Use internal I2C bus
Add capacity, current, button press checking
Only check continuously for voltage if reading fails for more than 5 seconds
2017-02-09 10:44:50 +09:00
Randy Mackay bad8910b93 AP_BattMonitor: example sketch uses Solo battery 2017-02-09 09:21:55 +09:00
Randy Mackay e4c99a22bc AP_BattMonitor: add override specifier to Bebop 2017-02-09 08:35:12 +09:00
priseborough 93aa40a9e0 AP_AHRS: Fix EKF3 gyro bias reporting and improve code clarity 2017-02-08 19:11:08 +00:00
Andrew Tridgell f1bce549ef SRV_Channel: improved doc string 2017-02-07 16:33:12 +11:00
Andrew Tridgell d6d94bd26c RC_Channel: improved doc string 2017-02-07 16:32:57 +11:00
Randy Mackay a14265359f Copter: reduce default MOT_THST_HOVER to 0.35 2017-02-07 11:20:25 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 285c02b8b6 GCS_MAVLink: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Lucas De Marchi 2b9478f430 AP_Math: tests: make both arguments double
libraries/AP_Math/tests/test_math.cpp.3.o: In function `MathTest_IsEqual_Test::TestBody()':
test_math.cpp:(.text._ZN21MathTest_IsEqual_Test8TestBodyEv+0x1a0): undefined reference to `std::enable_if<std::is_floating_point<std::common_type<float, double>::type>::value, bool>::type is_equal<float, double>(float, double)'
collect2: error: ld returned 1 exit status
2017-02-06 09:27:22 -08:00
Lucas De Marchi 85eadca7ad AP_Param: shut up float comparison warning
We want to compare the value previously set in memory.
2017-02-06 09:27:22 -08:00
Lucas De Marchi 4e7b65260d GCS_MAVLink: shut up mavlink warnings 2017-02-06 09:27:22 -08:00
Lucas De Marchi 8b0c427802 AP_Landing: add double casts to printf-like function 2017-02-06 09:27:22 -08:00
Lucas De Marchi 008ac0a2a8 AP_Math: remove unused double instantiation 2017-02-06 09:27:22 -08:00
Lucas De Marchi 87038d8ef1 AP_Math: add casts to consider literals as doubles
Since we pass -fsingle-precision-constant to the compiler, add casts to
make literals real doubles.
2017-02-06 09:27:22 -08:00
Lucas De Marchi 48d94db259 AP_Math: double constants need a type
We can't use define since we use -fsingle-precision-constant and they
would be interpreted as float.
2017-02-06 09:27:22 -08:00
Lucas De Marchi 747f15b514 AP_GPS: add casts to consider literals as doubles
Since we pass -fsingle-precision-constant to the compiler, add casts to
make literals real doubles.
2017-02-06 09:27:22 -08:00
Lucas De Marchi a500aced3c AP_Math: remove unused double constants 2017-02-06 09:27:22 -08:00
Andrew Tridgell af44e9fdbd AP_Motors: added frame type 11 for Y6 to match FireFly6
using same motor output mapping as AvA
2017-02-06 16:18:58 +11:00
Andrew Tridgell 0171b64feb SITL: setup simulator to match firefly6 AvA servo outputs 2017-02-06 16:18:58 +11:00
Andrew Tridgell 11afd0c7d4 RC_Channel: split RC_Channels.cpp out to separate cpp file
this is needed for automatic parameter documentation generation
2017-02-06 15:12:32 +11:00
Andrew Tridgell 325e24a378 SRV_Channel: split SRV_Channels.cpp out to separate cpp file
this is needed for automatic parameter documentation generation
2017-02-06 15:12:32 +11:00
Peter Barker eb6826f7de SITL: avoid use of uninitialised memory 2017-02-05 01:07:32 +00:00
Randy Mackay bdf49c8a01 AC_PrecLand: add override and fix formatting 2017-02-03 17:26:42 +09:00
Randy Mackay 974a6f48c6 AC_PrecLand: remove check of type when using distance-to-target 2017-02-03 17:26:40 +09:00
fnoop 438ffd870a AP_PrecLand: consume distance_to_target as alternative to rangefinder_alt
Resolves issue #5636
2017-02-03 17:26:37 +09:00
murata b77941c4f2 AP_GPS: Delete unnecessary code. 2017-02-03 15:11:27 +09:00
Luis Rodrigues bf51d5a3c9 AP_SerialManager: add comment that Lidar360 protocol covers TerraRanger 2017-02-03 14:27:54 +09:00
Luis Rodrigues 27c5aca6b5 AP_Proximity: add support for TeraRangerTower 2017-02-03 14:27:52 +09:00
Andrew Tridgell 787a2093ec HAL_PX4: fixed motor test for brushed motors
this fixes zero pwm output on a subset of channels. When using
motortest and asking for a single channel, multiple channels fired due
to an incorrect optimisation
2017-02-02 09:27:48 +09:00
proficnc 2165a8832b Reduce the risk of the buzzer affecting IMU's during the battery alarm 2017-02-02 07:47:10 +11:00
Andrew Tridgell 01da36295d AP_InertialSensor: support the L3GD20H gyro
this is used by the MRo Pixhawk1
2017-01-31 07:39:36 +11:00
Michael du Breuil 302e80d72c AP_Vehicle: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Andrew Tridgell 64a8f00a77 AP_Compass: disable esoteric compass drivers on FMUv2 2017-01-29 16:31:06 +11:00
Andrew Tridgell c0cc2faefd AP_GPS: disable esoteric GPS types on FMUv2 2017-01-29 16:31:06 +11:00
Andrew Tridgell 2bb1043c23 AP_HAL: added HAL_MINIMIZE_FEATURES
this is used to select a minimal build to save flash space on FMUv2
2017-01-29 16:31:06 +11:00
Francisco Ferreira 7ea0baefb1
AP_GPS: re-fix SBP fix status 2017-01-28 17:43:58 +00:00
Francisco Ferreira 512bd08326
AP_GPS: fix SBP supported status 2017-01-28 17:29:48 +00:00
Lucas De Marchi 87c82ce0c6 AP_Math: add some more tests for constrain_value() 2017-01-27 12:15:20 -08:00
Lucas De Marchi 82d210144b AP_Math: remove warnings from constrain_value()
Return type is T which can be an integral type, float or double. By
dividing by 2 we avoid float operation on the first case and do the
right thing on the second and third.
2017-01-27 12:15:19 -08:00
Lucas De Marchi 2605c7265b AP_Math: remove warnings from safe_asin()
Return type is float, so operate on float types everywhere.
Fixes this warning while building for PX4:

../../libraries/AP_Math/AP_Math.cpp: In instantiation of 'float safe_asin(T) [with T = double]':
../../libraries/AP_Math/AP_Math.cpp:56:48:   required from here
../../libraries/AP_Math/AP_Math.cpp:44:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v >= 1.0f) {
           ^
../../libraries/AP_Math/AP_Math.cpp:47:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v <= -1.0f) {
           ^
2017-01-27 12:15:19 -08:00
Lucas De Marchi 69a9cd3625 AP_Math: add tests to is_equal()
Contemplate the use of double values.
2017-01-27 12:15:19 -08:00
Lucas De Marchi 4f8d2059f8 AP_Math: use right epsilon for is_equal()
We are calling fabsf(), which returns a float. We should use the epsilon
from float type, not from the argument type passed to fabsf().

On the other hand when the double version is instantiated we do want to
use the std::numeric_limits<double>::epsilon() value.

This adds a branch to the function, but it's removed when the function
is intantiated by the compiler since the type is known at compile-time.

Fixes this warning when building for PX4:
../../libraries/AP_Math/AP_Math.cpp: In instantiation of 'typename std::enable_if<std::is_floating_point<typename std::common_type<_Tp, _Up>::type>::value, bool>::type is_equal(Arithmetic1, Arithmetic2) [with Arithmetic1 = double; Arithmetic2 = double; typename std::enable_if<std::is_floating_point<typename std::common_type<_Tp, _Up>::type>::value, bool>::type = bool]':
../../libraries/AP_Math/AP_Math.cpp:23:66:   required from here
../../libraries/AP_Math/AP_Math.cpp:17:29: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     return fabsf(v_1 - v_2) < std::numeric_limits<decltype(v_1 - v_2)>::epsilon();
                             ^
2017-01-27 12:15:19 -08:00
priseborough 784fa6fed8 AP_NavEKF3: fix compiler error 2017-01-27 16:57:42 +09:00
priseborough 6d53ab7b76 AP_GPS: minor comment change 2017-01-27 16:57:42 +09:00
priseborough 2c36da2b21 AP_NavEKF3: relocate perf monitor to count all three mag components 2017-01-27 16:57:42 +09:00
priseborough a63eac8073 AP_NavEKF2: Add missing perf_end 2017-01-27 16:57:42 +09:00
priseborough 4d958952f6 AP_NavEKF3: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough 7ea37029b6 AP_NavEKF2: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough 4a490d522e AP_GPS: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough b5ba1d0346 AP_NavEKF3: protect against large delay values returned by the GPS library 2017-01-27 16:57:42 +09:00
priseborough be0096e812 AP_GPS: Allow the user to specify the GPS time delay
If the user sets a non-zero value of the delay it will be used in preference over the default value for that GPS type.
If the GPS type is unknown and the parameter is set to zero, then a default delay of 1 sample period will be used (eg 200ms for 5Hz).
2017-01-27 16:57:42 +09:00