Jonathan Challinger
fff275fd99
AP_Math: add wrap_2PI
2015-12-09 19:58:25 +09:00
Lucas De Marchi
fb28f426da
AP_Math: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
c7871d1bca
AP_Math: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11: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
Lucas De Marchi
2c38e31c93
Remove use of PSTR
...
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.
This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.
AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Randy Mackay
6145794da2
AP_Math: remove duplicate RADIUS_OF_EARTH definition
2015-10-05 21:00:14 +09:00
Tom Pittenger
4771d19073
AP_Math: added locations_are_same(loc1,loc2) helper
...
returns true if lat and lng are the same, ignores alt and options
2015-09-08 17:05:54 +10:00
Gustavo Jose de Sousa
4790371f9b
AP_Math: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:38:18 +10:00
Andrew Tridgell
8f41d97548
AP_Math: fixed build error on PX4
...
variable set but not used with recent longitude_scale change
2015-07-06 08:19:57 +10:00
Andrew Tridgell
099392d3ca
AP_Math: don't optimise longitude_scale on faster CPUs
...
it causes problems with replay
2015-07-05 17:27:53 +10:00
Andrew Tridgell
0b897e04bb
AP_Math: revert AP_Math class change
2015-05-05 13:27:06 +10:00
Tom Pittenger
35f7a466e5
AP_Math: compiler warnings: apply is_zero(float) or is_equal(float)
2015-05-05 13:26:52 +10:00
Andrew Tridgell
6bb4a8c361
AP_Math: make location_path_proportion() and location_passed_point() more efficient
...
the dot product is much more efficient than the trigonometry. Thanks
to Paul for the suggestion
2015-01-03 14:06:59 +11:00
Andrew Tridgell
f38f86ab8c
AP_Math: added location_path_proportion()
...
this can be used for glide slope calculations
2015-01-01 15:17:10 +11:00
Andrew Tridgell
b92873cab1
AP_Math: prevent negative longitude scaling
...
for crazy locations
2014-08-07 09:30:02 +10:00
Niels Joubert
879eb5936b
AP_MATH: Adding WGS GPS conversions, CRC16 checks, and double-precision Vectors and Matrices
2014-04-05 13:42:23 +11:00
Randy Mackay
37cfbc9ad5
AP_Math: float versions of wrap_360 and wrap_180
2014-02-15 05:27:45 +11:00
Randy Mackay
a963ec7e3b
AP_Math: bug fix to wrap_360 and wrap_180
...
angles above 720deg and below 3200deg might not have been properly
wrapped.
wrap_360_cd could return 36000 when really this should be wrapped back
to zero.
2014-02-03 12:56:56 +09:00
Andrew Tridgell
fb19dbb404
AP_Math: cope with large values passed into the wrap functions
...
this uses modulus if the function would loop too many times
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-03 12:21:07 +10:00
Andrew Tridgell
84ed2141a0
AP_Math: fixed float rounding in location_offset()
...
this prevents rounding of positions in the rover code
2013-09-16 11:38:55 +10:00
Andrew Tridgell
5434b2c017
AP_Math: update location code to avoid float rounding
...
this avoids manipulating global coordinates as float variables. Using
a float reduces our precision from 1cm to about 70cm.
This also adds location_diff() which will be used in the L1 controller
to avoid global positions in floats
2013-08-13 12:07:34 +10:00
Andrew Tridgell
1d75b52411
AP_Math: use const references not pointers for location functions
...
this makes life a bit easier for the new AP_Mission library
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:23:40 +10:00
Randy Mackay
8b87849acd
Math: add wrap_PI
2013-06-01 18:21:29 +09:00
Randy Mackay
7c9d9b9800
AP_Math: use DEG_TO_RAD in longitude_scale
...
Also increased accuracy of RadiansToCentiDegrees although it is like the
compiler will throw away the extra digits anyway.
2013-05-05 14:31:24 +09:00
Andrew Tridgell
e1f9297551
AP_Math: move print_latlon() to location.cpp
2013-04-20 13:52:36 +10:00
Andrew Tridgell
8b119934ea
AP_Math: fixed grammar error
2013-04-12 12:48:08 +10:00
tobias
217b8d7a59
cleanup: use const for struct Location pointers and references
...
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Andrew Tridgell
091b474a1d
AP_Math: added wrap_360_cd() and wrap_180_cd()
...
moved from per-vehicle code
2013-03-29 13:13:37 +11:00
Randy Mackay
7729ec950e
AP_Math: longitude_scale function made public
...
Added LATLON_TO_M and LATLON_TO_CM #defines
2013-01-27 23:21:39 +09:00
Randy Mackay
d2767b911c
AP_Math: switch get_distance_cm to return uint32_t
...
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
d8bed0c2aa
AP_Math: fixed get_distance() function
2012-12-20 14:53:23 +11:00
Andrew Tridgell
a072afa223
AP_Math: expand some macros into functions
...
this saves some flash
2012-12-20 14:52:38 +11:00
Pat Hickey
7dbe198e5c
AP_Math: port to work on coreless arduino (AP_HAL)
2012-12-20 14:51:24 +11:00
uncrustify
64eaadb332
uncrustify libraries/AP_Math/location.cpp
2012-08-21 19:03:33 -07:00
Jason Short
a66e43aff1
Location Lib : Abs was overflowing causing bad comparison
2012-08-15 22:01:51 -07:00
Jason Short
ff38dadd00
Location Lib. Potential fix for bad angle and distance calcs.
...
last_lat changed to int32_t since it can be negative.
2012-08-15 21:36:55 -07:00
Andrew Tridgell
87fca1985f
AP_Math: added location_update() and location_offset() functions
...
these will be used by AHRS dead reckoning
2012-08-11 11:56:54 +10:00
Andrew Tridgell
8ae35cae1c
AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious
2012-08-08 12:12:30 +10:00
Andrew Tridgell
a72f6acef6
AP_Math: added get_distance_cm() to return in centimeters
2012-07-11 07:49:05 +10:00
Andrew Tridgell
1cd8c54f21
AP_Math: cope with co-located waypoints in location_passed_point()
2012-07-04 14:24:04 +10:00
Andrew Tridgell
dd200cba31
Math: added location functions to math library
...
these do common calculations on struct Location
2012-07-04 12:42:46 +10:00