Commit Graph

22906 Commits

Author SHA1 Message Date
Leonard Hall 7d54c268f6 Copter: consolidate input_euler_angle calls to use smoothing gain
Previously we had _smooth and non-smooth methods in the attitude
controller but as part of the move to quaternions these have been replaced
by a single call which always takes a smoothing gain
2016-06-24 17:17:17 +09:00
Leonard Hall a5bb3c206e Dataflash: Log rate to degrees 2016-06-24 17:17:16 +09:00
Leonard Hall 8737f6b62d AC_AttitudeControl: enhanced quaternion attitude controller 2016-06-24 17:17:11 +09:00
Leonard Hall 117ae89505 AC_AttitudeControl: increase SLEW_YAW default to 60deg/sec 2016-06-24 16:24:17 +09:00
Leonard Hall e0eecd56b2 AP_Math: use is_zero and float constants 2016-06-24 16:16:34 +09:00
Leonard Hall 7f933140c7 AP_Math: small formatting fix to quaternion rotation_matrix
No functional change
2016-06-24 16:16:33 +09:00
Leonard Hall 8afd29cc85 AP_Math: add quaternion::rotation_matrix_norm 2016-06-24 16:16:28 +09:00
Randy Mackay a1548405c1 AC_AttitudeControlHeli: fix althold lean angle max 2016-06-24 15:03:59 +09:00
Leonard Hall 75c4367cfc Copter: Change fabs to fabsf 2016-06-24 15:03:14 +09:00
Andrew Tridgell 1256c2f351 Plane: changed for AP_Vehicle API change 2016-06-24 11:39:23 +10:00
Andrew Tridgell 1f29b51dd6 AP_Vehicle: moved roll_limit_cd into AP_Vehicle
will be used by APM_Control
2016-06-24 11:39:21 +10:00
Andrew Tridgell 8a03b3ba22 APM_Control: reduce elevator when past LIM_ROLL_CD
this reduces elevator control when rolled over hard in fixed
wing. Using the elevator when on the side just caused earth frame yaw
and is counter productive. It can also prevent some aircraft from
recovering from inverted flight.
2016-06-24 11:28:18 +10:00
Andrew Tridgell a8e5255b90 autotest: look in parent directories for vehicle type in sim_vehicle.py
this allows eeprom.bin per vehicle type without using -v
2016-06-24 11:28:18 +10:00
Peter Barker 043b1d321d Copter: remove paths for documenation for non-multi frame
Our current documentation system only emits one XML document (apm.pdef.xml)
for ArduCopter.

Since there is a conflict between parameters in the MOT_ namespace in Copter,
we only emit the documentation for the first parameter defining the MOT_ namespace.

This patch removes the documentation lines for frame types other than multicopter, meaning the documentation will reflect mutlictopter usage - the most common case.

These lines will need to be reinstated when we change the way we produce the xml documentation.
2016-06-24 09:55:28 +09:00
Peter Barker 7742503ef3 Copter: include AC_AttitudeControl parameter documentation 2016-06-24 09:55:26 +09:00
Andrew Tridgell a6e927d434 SITL: default gyro cal off in XPlane and FlightAxis
pointless doing cal on these backends
2016-06-24 10:32:52 +10:00
Gustavo Jose de Sousa f9cb760691 AP_Mount: use ARRAY_SUBSCRIPT instead of bytes field
That fixed compilation issues and seems more semantically correct. Using array
of length 0 fails compilation because of -Werror=array-bounds in GCC 6.1.
2016-06-23 21:02:05 -03:00
Gustavo Jose de Sousa 174cefa8a5 AP_GPS: use ARRAY_SUBSCRIPT instead of bytes field
That fixed compilation issues and seems more semantically correct. Using array
of length 0 fails compilation because of -Werror=array-bounds in GCC 6.1.
2016-06-23 21:02:05 -03:00
Lucas De Marchi 1962acad49 AP_Common: simplify ARRAY_SUBSCRIPT macro
Add DEFINE prefix, since this macro is defining these operators and
remove the parameter since we will always use it to access a
union/struct as a byte array.
2016-06-23 21:02:05 -03:00
Gustavo Jose de Sousa 5154369e9d AP_Common: define the ARRAY_SUBSCRIPT macro 2016-06-23 21:02:05 -03:00
Andrew Tridgell 480cbcd87c mavlink: submodule update 2016-06-24 09:45:51 +10:00
Lucas De Marchi 4a18108600 AP_HAL_Linux: rename min, max and avg fields
These were probably named otherwise in order not to conflict with
min/max macros from math.h. We don't have this problem anymore.
2016-06-23 19:08:14 -03:00
Lucas De Marchi b8e3e549c7 AP_HAL_Linux: Perf: add debug method
Test code for integration with another thread to pull data from internal
perf counters.  Since we are using the timer thread here, there's no
retry mechanism and we only print that data can be corrupted.
2016-06-23 19:08:14 -03:00
Lucas De Marchi a9919420c6 waf: allow to disable libiio at configuration
We default to autodetection for libiio so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:08:13 -03:00
Lucas De Marchi 348678888b waf: allow to disable lttng at configuration
We default to autodetection for LTTNG so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:07:26 -03:00
Lucas De Marchi 1727418dc9 AP_HAL_Linux: Perf: make lttng use internal fields
Instead of creating a new object Perf_Lttng copying the necessaries
fields, just make a tighter integration with the internal perf counters
and re-use the same fields.
2016-06-23 19:06:30 -03:00
Lucas De Marchi 619ce23799 AP_HAL_Linux: Perf: rework integration with other tools
The idea is to leave the internal perf enabled all the time, like it is
in PX4, and then allow the integration with lttng on top. Next step
would be to runtime enable/disable only the perf counters we are
interested in.

This also changes the structure so it's easy to allow another thread to
pull data from the Perf object. A rw lock protects from addition of new
counters and an atomic unsigned int allows other threads to do a
lockless copy of the data.

In order for this to work the allocation was changed to use a single
memory pool instead of returning a calloc'ed data for each perf counter.
Since most of our counters are of ' elapsed' type, don't bother using a
smaller struct for the 'count' type
2016-06-23 19:06:30 -03:00
Peter Barker febba9112f sim_vehicle.py: simply ignore any failure to kill tasks 2016-06-23 18:39:09 -03:00
Peter Barker 2266223665 sim_vehicle.py: shell out to pkill if psutil is not available 2016-06-23 18:39:09 -03:00
Lucas De Marchi b687473174 AP_HAL_Linux: ignore unused result on panic
There's not much we can do if the write() call inside a panic function
failed. Just ignore the failure.
2016-06-23 18:34:01 -03:00
Lucas De Marchi 8a58c06adb AP_Common: add macro to ignore unused result
In some cases we want to call functions annotated with
warn_unused_result but we know it's safe to ignore the return value.
Prefixing with (void) used to work, but it doesn't do anymore on all
versions of gcc and clang.
See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425

This solution is a mix of the solutions provided in the above bug report
and the one provided by Gustavo Sousa at
https://github.com/ArduPilot/ardupilot/pull/4277#issuecomment-224957375
2016-06-23 18:34:01 -03:00
Gustavo Jose de Sousa d3ed17f047 waf: reconfigure for any changes in loaded modules
Waf's autoconfig feature works only for wscripts loaded by the recurse()
function. This patch extends that functionality to all loaded modules, which
includes Waf tools.
2016-06-23 18:22:55 -03:00
Gustavo Jose de Sousa 2566a13e1b waf: use Configure.autoconfig = 'clobber'
That makes reconfiguration be automatically triggered when wscripts used in
configuration are changed.
2016-06-23 18:22:55 -03:00
Gustavo Jose de Sousa b44f73e7eb waf: update submodule in favor of autoconfig
Cherry-pick commits fixing autoconfig, namely, restoring the build options
after reconfiguration. That will go in waf 1.9.
2016-06-23 18:22:55 -03:00
Tom Pittenger d2365c25c6 Plane: increase update_waypoint() distance threshold during update_loiter()
- outside this radius of a loiter waypoint is where crosstracking is available
2016-06-23 12:43:03 -07:00
Francisco Ferreira ac90527da5 AP_Common: change check from GCC version to glibc version (and Cygwin) 2016-06-23 18:19:54 +10:00
Patrick J.P eb44d75ed8 AP_HAL: Remove trailing spaces from AP_HAL_Namespace.h 2016-06-22 16:03:30 -03:00
Peter Barker d9ad962b33 sim_vehicle.py: allow starting mavproxy without --sitl option 2016-06-22 21:25:11 +10:00
Peter Barker 51020387c8 sim_vehicle.py: allow model to be overridden on command line 2016-06-22 21:25:11 +10:00
Andrew Tridgell f514e76f52 Plane: reset ground_start_count if we lose 3D fix
thanks to Michael for this suggestion
2016-06-22 21:25:11 +10:00
Randy Mackay a427768087 AC_Avoidance: reduce maximum acceleration to 1m/s/s
This makes the vehicle slow very gently as it approaches the edge of the fence
2016-06-22 11:38:15 +09:00
Randy Mackay a7422153cb SITL: disable avoidance so we can trigger fence failsafe 2016-06-22 11:38:15 +09:00
Randy Mackay 82bd847e11 Plane: add AC_Avoidance, AC_Fence to build 2016-06-22 11:38:15 +09:00
Randy Mackay 9201a57c83 QuadPlane: include AC_Avoidance, AC_Fence
This is required because of AC_WPNav's use of the new avoidance library to stop at the fence
2016-06-22 11:38:15 +09:00
Daniel Ricketts 87be8daf0e Copter: integrate AC_Avoidance library 2016-06-22 11:38:15 +09:00
Daniel Ricketts 5022a45495 Copter: add AC_Avoidance to build 2016-06-22 11:38:15 +09:00
Daniel Ricketts 8a6aa24525 AC_WPNav: use AC_Avoidance to stop at fence during Loiter 2016-06-22 11:38:15 +09:00
Daniel Ricketts ff7bc7c0cb AC_Avoidance: add library to stop at circular fence 2016-06-22 11:38:15 +09:00
Daniel Ricketts e60710332b AC_Fence: add accessors to return radius and safety margin 2016-06-22 11:38:15 +09:00
Andrew Tridgell d1b28aaed9 AC_AttitudeControl: fixed factor of 1000 error in init_takeoff 2016-06-22 11:48:43 +10:00