Commit Graph

438 Commits

Author SHA1 Message Date
Jacob Walser f97ac4af30 AP_Math: add custom rotation option 2018-04-24 13:04:37 +01:00
Jacob Walser 4f02f709a2 AP_Math: fix typo 2018-04-24 13:04:37 +01:00
Jacob Walser e738f33770 AP_Math: Add ROTATION_PITCH_315 and ROTATION_ROLL_90_PITCH_315 2018-04-24 13:04:37 +01:00
Andrew Tridgell a6e05cbf5a AP_Math: added crc32 for IOMCU bootloader protocol 2018-04-17 08:44:44 +10:00
Andrew Tridgell 17f2f40b11 AP_Math: added xmodem CRC
used by blheli 4-way ESC protocol
2018-04-07 09:10:29 +10:00
Peter Barker febcdd766b AP_Math: narrow enumeration to uint8_t to avoid narrowing-warnings
/home/pbarker/rc/ardupilot/libraries/DataFlash/LogFile.cpp:361:25:
error: non-constant-expression cannot be narrowed from type 'enum
Rotation' to 'uint8_t' (aka 'unsigned char') in initializer list
[-Wc++11-narrowing]
        orient1       : s0 ? s0->orientation() : ROTATION_NONE,
2018-04-02 14:12:09 +09:00
Peter Barker c343a286c5 AP_Math: quaternion: add contructor from float[4] 2018-03-27 20:13:03 +09:00
bnsgeyer 600e0dac92 AP_Math: added support for cubic spline interpolation 2018-03-27 09:07:03 +11:00
Randy Mackay c28cfcdc27 AP_Math: add Vector2f::circle_segment_intersection 2018-01-22 17:18:41 +09:00
Randy Mackay a655c36159 AP_Math: add Vector2f::segment_intersection 2018-01-22 17:18:41 +09:00
Andrew Tridgell ee1fea55ce AP_Math: moved constants from AP_Baro 2018-01-16 07:14:20 +11:00
Andrew Tridgell 4ce696a520 AP_Math: fixed example build on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell f5b24a3838 AP_Math: fixed build of Sub with ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell 3d2c4ffa79 AP_Math: allow write to indexed vector2 2018-01-15 11:46:02 +11:00
Andrew Tridgell f088c3de23 AP_Math: added long templates 2018-01-15 11:46:02 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas e13281ab2d AP_Math: add overloaded functions get_horizontal_distance_cm() and get_bearing_cd() (NFC) 2017-12-05 08:54:49 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas ec1790dad9 AP_Math: Use DEGX100 define instead of hardcoded value (NFC) 2017-12-05 08:54:49 +09:00
Andrew Tridgell 9660973975 AP_Math: make crc_crc8 const 2017-11-27 10:15:07 +09:00
Andrew Tridgell 3f226cd2b9 AP_Math: added from_rotation() method to Matrix3
this is used to get a rotation matrix from a rotation enum
2017-11-23 14:26:11 +11:00
Peter Barker 1ca76173a5 AP_Math: set radians(...) and degrees(...) as constexpr 2017-10-27 16:33:45 +11:00
Randy Mackay 2aa1f3f100 AP_Math: replace divide with multiply in distance_to_segment 2017-09-09 14:05:41 +09:00
Randy Mackay e892bbbac0 AP_Math: add Vector3f::distance_to_segment 2017-09-09 14:05:41 +09:00
Randy Mackay e6328c350d AP_Math: add Vector3f::distance_squared 2017-09-09 14:05:41 +09:00
khancyr 15398f8b0e AP_Math: correct variable init and remove define in polygon 2017-07-31 17:35:08 +09:00
Miguel Arroyo 7cea21afa2 AP_Math: Moves rand_vec3f from SITL_State. 2017-06-29 09:22:08 +10:00
Francisco Ferreira da5060964b AP_Math: uniformize template type parameter keyword
Use typename everywhere instead of class
2017-06-21 18:19:31 +09:00
Francisco Ferreira 1ffe12008c AP_Math: adapt test for new norm method API 2017-06-21 18:19:31 +09:00
Francisco Ferreira 7b98f41947 AP_Math: correct norm to need two arguments
Correctly use sqrtf instead of the double version
Stop casting to float since sq already returns one
2017-06-21 18:19:31 +09:00
Randy Mackay db45442de2 AP_Math: remove unused angle method 2017-06-09 15:21:58 +09:00
Michael du Breuil 2cd6ff6dd5 AP_Math: Accept float epsilon in is_positive is_negative as a valid result 2017-05-27 10:46:59 -07:00
Michael du Breuil 5a15413513 AP_Math: Add is_negative and is_positive helpers 2017-05-24 15:22:27 -07:00
Andrew Tridgell 607220d12b AP_Math: rename macros to avoid conflicts
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell 2fcecaa7c5 AP_Math: added rand_float() 2017-05-03 20:12:04 +10:00
Pierre Kancir f2812c1efd AP_Math: example fix travis warning
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Tom Pittenger 1abeb03d2b AP_Math: remove HAL_CPU_CLASS_16 2017-04-12 17:25:30 -07:00
Andrey Kolobov a1fa2a9de3 AP_Math: added matrixN for soaring controller 2017-03-14 08:35:44 +11:00
Francisco Ferreira 7afcbf51ec
AP_Math: also fix SEC_PER_WEEK 2017-03-13 02:57:30 +00:00
murata 1982285e23 AP_Math: update MSEC_PER_SEC definition to fix GPS time calcs 2017-03-13 11:50:33 +09:00
Michael du Breuil c5c94949bf AP_Math: Extend vector2::angle(vector2) to distinguish parallel and antiparallel vectors
There are a number of use cases where distingusihing antiparallel from parallel vectors is important
2017-03-02 00:50:44 +00:00
Michael du Breuil 97c57764c4 AP_Math: Add a 3D location difference, returning NED 2017-02-13 09:23:14 +11:00
murata 30151c8253 Global: Define MSEC_PER_SEC, MSEC_PER_WEEK, SEC_PER_WEEK and UNIX_OFFSET. 2017-02-11 01:34:09 -08:00
Lucas De Marchi 2b9478f430 AP_Math: tests: make both arguments double
libraries/AP_Math/tests/test_math.cpp.3.o: In function `MathTest_IsEqual_Test::TestBody()':
test_math.cpp:(.text._ZN21MathTest_IsEqual_Test8TestBodyEv+0x1a0): undefined reference to `std::enable_if<std::is_floating_point<std::common_type<float, double>::type>::value, bool>::type is_equal<float, double>(float, double)'
collect2: error: ld returned 1 exit status
2017-02-06 09:27:22 -08:00
Lucas De Marchi 008ac0a2a8 AP_Math: remove unused double instantiation 2017-02-06 09:27:22 -08:00
Lucas De Marchi 87038d8ef1 AP_Math: add casts to consider literals as doubles
Since we pass -fsingle-precision-constant to the compiler, add casts to
make literals real doubles.
2017-02-06 09:27:22 -08:00
Lucas De Marchi 48d94db259 AP_Math: double constants need a type
We can't use define since we use -fsingle-precision-constant and they
would be interpreted as float.
2017-02-06 09:27:22 -08:00
Lucas De Marchi a500aced3c AP_Math: remove unused double constants 2017-02-06 09:27:22 -08:00
Lucas De Marchi 87c82ce0c6 AP_Math: add some more tests for constrain_value() 2017-01-27 12:15:20 -08:00
Lucas De Marchi 82d210144b AP_Math: remove warnings from constrain_value()
Return type is T which can be an integral type, float or double. By
dividing by 2 we avoid float operation on the first case and do the
right thing on the second and third.
2017-01-27 12:15:19 -08:00
Lucas De Marchi 2605c7265b AP_Math: remove warnings from safe_asin()
Return type is float, so operate on float types everywhere.
Fixes this warning while building for PX4:

../../libraries/AP_Math/AP_Math.cpp: In instantiation of 'float safe_asin(T) [with T = double]':
../../libraries/AP_Math/AP_Math.cpp:56:48:   required from here
../../libraries/AP_Math/AP_Math.cpp:44:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v >= 1.0f) {
           ^
../../libraries/AP_Math/AP_Math.cpp:47:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v <= -1.0f) {
           ^
2017-01-27 12:15:19 -08:00
Lucas De Marchi 69a9cd3625 AP_Math: add tests to is_equal()
Contemplate the use of double values.
2017-01-27 12:15:19 -08:00