Commit Graph

86 Commits

Author SHA1 Message Date
uncrustify 97ee36e1e4 uncrustify libraries/AP_Math/matrix3.h 2012-08-21 19:03:34 -07:00
uncrustify d1c42279fd uncrustify libraries/AP_Math/rotations.h 2012-08-21 19:03:34 -07:00
uncrustify a3a0672e30 uncrustify libraries/AP_Math/vector3.h 2012-08-21 19:03:34 -07:00
uncrustify 6016a241b0 uncrustify libraries/AP_Math/quaternion.h 2012-08-21 19:03:34 -07:00
uncrustify 140aed0770 uncrustify libraries/AP_Math/polygon.h 2012-08-21 19:03:34 -07:00
uncrustify 23341c6390 uncrustify libraries/AP_Math/AP_Math.cpp 2012-08-21 19:03:34 -07:00
uncrustify 931ff231ef uncrustify libraries/AP_Math/polygon.cpp 2012-08-21 19:03:34 -07:00
uncrustify a4e6c05155 uncrustify libraries/AP_Math/vector3.cpp 2012-08-21 19:03:34 -07:00
uncrustify a928e9174a uncrustify libraries/AP_Math/quaternion.cpp 2012-08-21 19:03:33 -07:00
uncrustify d4e5ce161b uncrustify libraries/AP_Math/matrix3.cpp 2012-08-21 19:03:33 -07:00
uncrustify 86e4925fa5 uncrustify libraries/AP_Math/location.cpp 2012-08-21 19:03:33 -07:00
uncrustify f11f64108a uncrustify libraries/AP_Math/examples/location/location.pde 2012-08-21 19:03:33 -07:00
uncrustify a40691e874 uncrustify libraries/AP_Math/examples/rotations/rotations.pde 2012-08-21 19:03:33 -07:00
uncrustify baa74ae360 uncrustify libraries/AP_Math/examples/polygon/polygon.pde 2012-08-21 19:03:33 -07:00
uncrustify 4b394c8b45 uncrustify libraries/AP_Math/examples/eulers/eulers.pde 2012-08-21 19:03:33 -07:00
Andrew Tridgell 50e2458df0 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Jason Short e2c3149b2f Location Lib : Abs was overflowing causing bad comparison 2012-08-15 22:01:51 -07:00
Jason Short 555e26d5fa 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 20a30e3a6b AP_Math: added matrix column extraction functions 2012-08-11 22:06:02 +10:00
Andrew Tridgell e1ffd37411 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 16d63978f1 MAVLink: moved mavlink variables back to library
these were moved to the main sketches to allow for compile time
selection of MAVLink 0.9 vs 1.0. We no longer support 0.9, so we can
move it back, which simplifies some test sketches
2012-08-09 12:06:21 +10:00
Andrew Tridgell 891ed81f74 AP_Math: rename get_bearing() to get_bearing_cd() to make units obvious 2012-08-08 12:12:30 +10:00
Andrew Tridgell 63a83b95b4 AP_Math: added get_distance_cm() to return in centimeters 2012-07-11 07:49:05 +10:00
Andrew Tridgell 6cf2e2fa13 AP_Math: cope with co-located waypoints in location_passed_point() 2012-07-04 14:24:04 +10:00
Andrew Tridgell 7be29c8b04 AP_Math: the windows arduino build is missing acosf() 2012-07-04 14:14:58 +10:00
Andrew Tridgell 8fa1acb141 AP_Math: add include of math.h
this is needed for location.cpp
2012-07-04 13:59:23 +10:00
Andrew Tridgell 84a489498d Math: added location functions to math library
these do common calculations on struct Location
2012-07-04 12:42:46 +10:00
Andrew Tridgell 2b352d2b5c Math: added comment 2012-06-27 16:01:49 +10:00
Andrew Tridgell f23cebc808 Math: moved more template functions to the .cpp files
save a bit more code space for larger functions
2012-06-27 16:01:49 +10:00
Andrew Tridgell c2ff66c9cd examples: fixed build of some examples with new AP_Declination code 2012-03-30 14:25:27 +11:00
Andrew Tridgell 477b31fb0d Math: added mul_transpose() operation
this is equivalent to multiplying by m.transposed(), but is more
efficient
2012-03-23 16:48:52 +11:00
Andrew Tridgell fb9790e1f4 Math: moved matrix multiple operations to .cpp file
this means we only link this in once, rather than for every use of
matrix multiply, which saves us some flash space

We need to be careful not to put large pieces of code in template
headers, as if the operation is used a lot, it costs us a lot of code
space
2012-03-21 10:43:48 +11:00
Andrew Tridgell ece2aac4b9 Math: fixed the build of the eulers test in SITL 2012-03-21 10:41:55 +11:00
Andrew Tridgell 9a40b4b1de Math: added a test for the rotate() method 2012-03-19 17:29:02 +11:00
Andrew Tridgell 7d155c77b1 Math: added rotate() method to Matrix3f
this is the core method used to update the DCM matrix with a gyro
vector. Moving it to AP_Math allows us to have a test for it
2012-03-19 17:29:02 +11:00
Andrew Tridgell a41281ab7f Math: added zero() and identity() methods to Matrix3f 2012-03-19 17:29:02 +11:00
Andrew Tridgell df79703ed1 Math: change signs in quaternion library
thanks to Justin for the suggestion
2012-03-19 17:29:02 +11:00
Andrew Tridgell c87b945fd2 Math: allow eulers test to build with AP_Declination library 2012-03-19 17:29:02 +11:00
Andrew Tridgell 39067299a5 Math: fixed build of eulers test on SITL 2012-03-19 17:29:02 +11:00
Andrew Tridgell b6040878b4 Math: added a function to combine standard rotations
this will allow us to have an overall board rotation plus a per-sensor
rotation
2012-03-19 17:29:02 +11:00
Andrew Tridgell cc1961b1e8 Math: any euler angle with pitch > 90 is invalid
both DCM and quaternion always return pitch in the range -90 to 90
2012-03-11 15:37:07 +11:00
Andrew Tridgell 01535a7a21 AP_Math: update the test suite 2012-03-11 15:37:07 +11:00
Andrew Tridgell 6d08e38d5d AP_Math: made rotation matrices more C++
thanks to Adam for the suggestion
2012-03-11 15:37:07 +11:00
Andrew Tridgell 92ada85f49 AP_Math: allow null pointers in Quaternion::to_euler()
this matches the Matrix3f method
2012-03-11 15:37:07 +11:00
Andrew Tridgell a9b8c4dd82 AP_Math: re-work quaternion functions to be more C++ like
thanks to Adam for the suggestion!
2012-03-11 15:37:07 +11:00
Andrew Tridgell 24a9fe8827 Math: added a test suite for the new rotation methods 2012-03-11 15:37:07 +11:00
Andrew Tridgell 85c3c1d2ea Math: added vector3.rotate() and matrix3.rotation() methods
these operate on a "enum Rotation" which defines a set of standard
rotations. These are much faster than our previous method, plus use
less memory
2012-03-11 15:37:07 +11:00
Andrew Tridgell b39323bf1b AP_Math: expanded the math test suite 2012-03-10 10:34:31 +11:00
Andrew Tridgell a8fd31a5e1 AP_Math: added quaternion->matrix and earth frame routines
this will be used for 3d acceleration
2012-03-10 10:34:31 +11:00
Andrew Tridgell d3dc5bd751 AP_Math: better way of handling safe_sqrt()
better to test the result, than predict it
2012-03-10 10:34:31 +11:00