Commit Graph

11700 Commits

Author SHA1 Message Date
Tom Pittenger
37f990bfad AP_ADSB: allow param based VEHICLE list sizes, 1 to 100. 2016-06-26 11:03:33 -07:00
Lucas De Marchi
b70b9ed8d1 AP_HAL_Linux: fix warning on 64b printf
../../libraries/AP_HAL_Linux/Perf.cpp: In member function ‘void Linux::Perf::_debug_counters()’:
../../libraries/AP_HAL_Linux/Perf.cpp:85:36: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
                     c.name, c.count);
                                    ^
2016-06-25 12:05:55 -03:00
Daniel Ricketts
865aad7598 AC_Avoid: add support for stopping at polygon fence 2016-06-25 15:55:55 +09:00
Randy Mackay
26a6234a29 AC_Avoid: do not attempt to stop at circular fence if already breached 2016-06-25 15:55:55 +09:00
Randy Mackay
c6f9889a25 AC_Avoid: constify get_max_speed
Also get_stopping_distance and get_margin
2016-06-25 15:55:55 +09:00
Randy Mackay
5153c3d195 AC_Fence: merge with add polygon support 2016-06-25 15:55:55 +09:00
Randy Mackay
d91805edbf AC_Fence: add support for polygon fences 2016-06-25 15:55:55 +09:00
Randy Mackay
f0bb1ac1d2 AC_Fence: AC_Polygon_loader loads points from eeprom
Thanks to Peter Barker for his work to library-ify Plane's geofence which was the basis for this work.
2016-06-25 15:55:55 +09:00
Daniel Ricketts
249d95b413 AP_Math: add Polygon_outside and Polygon_complete functions 2016-06-25 15:55:55 +09:00
Leonard Hall
80bda572ba AC_AttutudeControl: Yaw shift fix 2016-06-24 18:15:48 +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
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
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
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
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
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
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
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
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
Lucas De Marchi
39d4fa2cf8 Revert changes to cmath according to gcc version
Revert these commits:
	"AP_Common: gcc 4.9.2 behaves differently from 4.9.3"
	"AP_Common: this workaround for missing/cmath is also needed for gcc 4.9.3"

This breaks the build for PX4. The change is related to the libc, not
the compiler version. We have an workaround there based on compiler
version just because it's usual to have a more recent libc version when
you have a recent compiler.
2016-06-21 13:54:41 -03:00
Lucas De Marchi
9738be0ed6 AP_HAL: remove tabs and trailing whitespaces 2016-06-21 13:09:00 -03:00
Lucas De Marchi
ab66e3a69a AP_HAL_Linux: Perf: simplify function to get current time 2016-06-21 13:09:00 -03:00
Pierre Kancir
a8e5ff93b5 AP_Math: Correct missing declaration warning 2016-06-21 12:17:46 -03:00
Lucas De Marchi
1d9d0a40db AP_HAL_Linux: GPIO: reduce macro and variable scopes
Also change the coding style in a few places.
2016-06-21 12:16:32 -03:00
Lucas De Marchi
4f14b9b7e2 AP_HAL_Linux: ToneAlarm_Raspilot: add fixme comment 2016-06-21 12:16:32 -03:00
Lucas De Marchi
e122b2b651 AP_HAL: GPIO: remove unused functions
These functions are not used by any HAL, so remove them.
2016-06-21 12:16:32 -03:00
Lucas De Marchi
0bb86ae498 AP_HAL_Linux: GPIO_RPI: remove unused functions
These functions to use pins as pwm are never used in the codebase, so
remove them.
2016-06-21 12:16:32 -03:00
Andrew Tridgell
2108127712 AP_Common: gcc 4.9.2 behaves differently from 4.9.3
tested 4.9.3 on cygwin, 4.9.2 on ubuntu

I do hope that it doesn't depend on the OS
2016-06-21 21:34:54 +10:00
Andrew Tridgell
224c714c83 AP_Common: this workaround for missing/cmath is also needed for gcc 4.9.3
tested on cygwin with 4.9.3
2016-06-21 19:19:09 +10:00
Peter Barker
309ac53806 SITL: correct adsb initialisation
Parameters have not yet been initialised in _sitl_setup, so move
should-run checks into update
2016-06-20 18:16:34 -07:00
Andrew Tridgell
569443231a SITL: improved altitude data in XPlane 2016-06-20 12:52:13 +10:00
Andrew Tridgell
51fff00871 SITL: report data and frame rates in XPlane
and avoid time going backwards if possible
2016-06-20 12:52:13 +10:00