Tom Pittenger
b78255cc25
AP_Common: avoid using AP_Math is_zero() because it is classless
...
- because it is classless it can not be called like AP_Math::is_zero() and will then conflict with local definition of is_zero()
2016-07-20 22:32:47 -07:00
Tom Pittenger
3edd95b99b
AP_Common: add Location::is_zero and ::zero member functions
2016-07-20 22:32:47 -07:00
Lucas De Marchi
471de28967
AP_Common: provide minimal byteswap.h and endian.h
2016-07-08 19:49:32 -03:00
Lucas De Marchi
c728b6c164
AP_Common: missing/fenv: fix coding style
2016-07-07 11:35:18 -03:00
Siddharth Bharat Purohit
484db9ff82
AP_Common: add replacements for fe control functions systems without them
2016-07-07 11:35:18 -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
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
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
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
Lucas De Marchi
7703e5f1d1
AP_Common: remove support for flymaple
2016-05-23 21:49:45 -03:00
Andrew Tridgell
5f7af390ec
AP_Common: a useful debug macro for SITL
2016-05-23 10:10:29 +10:00
Tom Pittenger
f085666032
AP_Common: fix compile when using AP_TERRAIN_AVAILABLE 0
2016-05-20 12:28:46 -07:00
Lucas De Marchi
c4306de122
AP_Common: fix build on windows
...
The way the build was fixed for gcc >= 5.3 breaks the build for older
compiler versions on waf. Fix this by ifdef'ing for WAF_BUILD and
checking the compiler version.
2016-05-18 22:56:50 -03:00
Andrew Tridgell
7b47d54d6b
AP_Common: workaround for SITL on windows
2016-05-17 20:55:57 +10:00
Tom Pittenger
02eeb2d4f0
AP_Common: 1of3 add loiter_xtrack option flag for post-loiter navigation
...
0 to crosstrack from center of waypoint, 1 to crosstrack from tangent exit location
2016-05-16 11:50:53 -07:00
Ricardo de Almeida Gonzaga
a8889e5765
AP_Common: Fix typos
2016-05-13 19:20:05 -03:00
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
Lucas De Marchi
fea084a596
Global: use ap_version.h
...
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.
For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi
1238c872a9
AP_Common: remove unused Arduino.h header
2016-05-06 13:11:27 -03:00
Randy Mackay
85963cecb4
Location: add additional comments
2016-04-30 10:33:01 +09:00
Randy Mackay
5161d63f8b
Location: operator= uses const reference
2016-04-30 10:33:01 +09:00
Randy Mackay
d6309a3a1a
Location: remove unused methods
2016-04-30 10:33:01 +09:00
Randy Mackay
1bfb565e18
Location: rename set_alt to set_alt_cm
2016-04-30 10:33:01 +09:00
Randy Mackay
cd999a2091
Location: initial class implementation
2016-04-30 10:33:01 +09:00
Ricardo de Almeida Gonzaga
60d141c717
missing: add cmath
2016-04-05 20:44:15 -07:00
Lucas De Marchi
d80a0e47bc
AP_Common: missing: move definitions to standard headers
...
This way we don't create problems regarding which header to include: we
just include the normal/c++11 headers and everything works as it should.
2016-02-16 19:49:09 -02:00
Lucas De Marchi
75d58bcfb6
Global: rename HAVE_NULLPTR_T with HAVE_STD_NULLPTR_T
...
This makes for a more standard name for these overrides.
2016-02-16 19:49:09 -02:00
Andrew Tridgell
29100937bc
AP_Common: allow for nullptr_t but not std::move replacement
2016-02-16 19:49:09 -02:00
Andrew Tridgell
52e36908ff
AP_Common: fixed std::move() for qurt build
...
Thanks Lucas!
2016-02-16 19:49:09 -02:00
Lucas De Marchi
e1ae79688d
AP_Common: add directory to add missing C/C++ symbols
...
Add a cstddef header to allow using std::nullptr_t with those toolchains
that don't provide it. The idea is to make these platforms to use our
wrapper header (see https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html )
and then we add the missing bits to the header.
2016-02-16 19:49:08 -02:00
Lucas De Marchi
bac29be0b7
AP_Common: remove warnings from headers
...
Let the warning flag be added by the build system and not when/if the
header AP_Common.h is included. Both waf and make were already updated
to contain these warnings. Besides being in the wrong place, with
clang++ we actually can't add "-Wno-" definitions in build system
because we enable all of the in the header with -Wall.
2016-02-12 20:41:30 +11:00
Gustavo Jose de Sousa
c2e3f05dbf
waf: ardupilotwaf: prefix build context methods with ap_
...
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell
285294a9cd
AP_Common: added debug code for qurt
...
and disable some warnings for clang++ on qurt
2015-12-27 16:21:25 +11:00
Tom Pittenger
41746733fe
AP_Common: remove crazy #define float double
...
- not creating a warning buuuuuut this is just sooooo bad that it must be nuked on the spot
2015-12-07 15:50:07 +09:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
d19c5035b6
Global: Rename printf format attribute
...
As commented in 8218140
("AP_Common: add scanf format macro"), "FORMAT"
was a bad name for this macro since there's also the scanf. Rename to
FMT_PRINTF to follow the scanf name.
2015-12-01 07:22:12 +11:00
Andrew Tridgell
8739c55d27
AP_Common: added ID for FMUv4
2015-11-27 18:54:30 +11:00
Andrew Tridgell
6cf5e582b9
AP_Common: fixed examples build
2015-11-16 07:58:13 +11:00
Andrew Tridgell
090c02e6bd
AP_Common: rename is_bounded() to is_bounded_int32() and make inclusive
...
we will probably want float versions in future, and inclusive is
better for the RC_Channel case
2015-11-11 13:45:05 +11:00
Grant Morphett
ba8dbf6696
AP_Common: Added a new is_bounded global function.
2015-11-11 13:39:39 +11:00
Lucas De Marchi
821814007e
AP_Common: add scanf format macro
...
Add a macro to annotate functions that act like scanf. Calling the
printf format macro as FORMAT was bad as can be seen now. Later we need
to rename it to FMT_PRINTF.
2015-11-10 17:05:34 +11:00
Lucas De Marchi
b734777b95
AP_Common: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:11 +11:00
Lucas De Marchi
9203e2b929
AP_Common: remove PSTR definition
2015-10-30 14:35:48 +09:00
Lucas De Marchi
20c6ffc5e3
Replace use of UARTDriver::printf_P() with UARTDriver::printf()
...
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00