Peter Barker
8df2d4998b
AP_Math: improve gating of use of AP_InternalError library
...
- gate calls into library directly on the define
- INTERNAL_ERROR becomes empty if library not compiled in
2023-08-17 09:16:46 +10:00
Andy Piper
eacc29e81e
AP_Math: do not use internal_error() on iofirmware
2023-08-15 06:53:48 +10:00
Andrew Tridgell
e97f5d8012
AP_Math: mark test_math_double.cpp as double precision source
...
fixed test_math_double
the wrap check needs to be wrap_PI() as otherwise rounding of 2*PI if
just over 6.28 will give a large error
ensure double tests are double
test_vector2
2023-08-02 16:22:59 +01:00
Andrew Tridgell
af491e2f2a
AP_Math: define M_PI to more digits for use by code that uses DOUBLE_PRECISION_SOURCES
2023-07-18 11:06:02 +10:00
Andy Piper
1b10008e38
AP_Math: use message with static assertion
2023-07-13 11:02:40 +10:00
Randy Mackay
46702e6c49
AP_Math: Vector2f::projected made const
2023-07-05 20:27:54 +09:00
Peter Barker
c463b0d154
AP_Math: add alternate implementation of parity for AP_Periph
...
the __builtin_parity methods hardfault on AP_Periph builds
2023-06-07 21:41:14 +10:00
Peter Barker
43ecdc64b6
AP_Math: move use of __builtin_parity to crc
2023-06-07 21:41:14 +10:00
Ryan Friedman
cf2b65877e
AP_Math: Move conversion utilites next to AP_Math
...
* This is next to the constraining functions
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Michael du Breuil
32fd21592a
AP_Math: Add fletcher16 CRC
2023-05-25 17:35:27 -07:00
Pierre Kancir
cdfbadbfb6
AP_Math: add test_rotations for custom rotations testing
2023-05-24 17:56:58 +10:00
jfbblue0922
7d924f10e2
AP_Math: add crc8_sae
2023-05-10 17:24:02 +10:00
Iampete1
ff4b63f9dc
AP_Math: Chirp: add complete method to see if chirp is finished
2023-05-02 09:36:03 +10:00
Peter Barker
0b2e1e7989
AP_Math: allow conversion of a quaternion into an rpy Vector3f
...
There are several places in the code that can use this
2023-04-19 14:24:45 +10:00
Peter Barker
ddf62cc060
AP_Math: add waf argument to get consistent builds
2023-02-17 20:48:45 +11:00
Peter Barker
5c262144f0
AP_Math: avoid using struct Location
...
clang reports this could be a problem when compiling under some EABIs. Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Peter Barker
5c77c0fbe4
AP_Math: use classes to fix MATH_CHECK_INDEXES
2023-01-25 19:58:54 +11:00
Andrew Tridgell
c19554e23a
AP_Math: added Vector3i comparison
2023-01-24 11:16:39 +11:00
Leonard Hall
aeb25ca20a
AP_Math: extend the control.cpp test suite
2022-12-30 20:25:58 +09:00
Andrew Tridgell
f0d8a383d1
AP_Math: added a control.cpp test suite
2022-12-30 20:25:58 +09:00
Leonard Hall
ac3a3d9576
AP_Math: Target velocity can reduce when limited
...
AP_Math: Target velocity can reduce when limited
2022-12-30 20:25:58 +09:00
Leonard Hall
114e8e2f52
AP_Math: Control Tools Enhancments
...
AP_Math: Control Tools Enhancments
2022-12-30 20:25:58 +09:00
Leonard Hall
1382923db0
AP_Math: Support changing update period
2022-12-13 17:10:06 +11:00
Peter Barker
368dd35805
AP_Math: add missing include
2022-12-01 20:29:23 +11:00
Peter Barker
fffad18324
AP_Math: remove normalization of random compass Vector3f
2022-11-17 15:13:34 +11:00
Peter Barker
406119ed41
AP_Math: make rand_vec a little more efficient
2022-11-17 15:13:34 +11:00
MatthewHampsey
527b0e5ba9
AP_Math: Add comments to quaternion methods
2022-10-02 16:58:37 +11:00
Randy Mackay
145adb6ae4
AP_Math: quaternion::to_euler scaling clarified with comment
2022-09-28 17:09:31 +10:00
MatthewHampsey
dabd9fbddc
AP_Math: added quaternion from_angular_velocity
2022-09-22 05:55:15 +10:00
Reilly Callaway
a261e4595a
AP_Math: Add kg/m^3 to g/cm^3 conversion define
2022-09-20 15:24:48 +10:00
Andrew Tridgell
5470c6435e
AP_Math: rename * operator for vector3f * matrix3f
2022-09-11 07:57:16 +10:00
Andrew Tridgell
e1c006c25d
AP_Math: added double_to_int32 and double_to_uint32
2022-09-06 10:49:50 +10:00
Peter Barker
f345c16fda
AP_Math: add dignostic message for SCurve internal error
2022-08-10 22:18:42 +10:00
Leonard Hall
1e3e5e5577
AP_Math: Control: Add velocity limits to shaping functions
2022-08-08 20:54:37 -04:00
Iampete1
d62508b273
AP_Math: tests: params always use set method
2022-08-03 13:43:48 +01:00
Andrew Tridgell
88f0a324fd
AP_Math: added rounding functions
...
prevent undefined behaviour in float -> integer types
2022-07-12 11:00:08 +10:00
François Carouge
e52e64b11c
AP_Math: class template parameters not compliant in constructor declaration
2022-06-28 11:05:53 +10:00
Iampete1
702245f89e
AP_Math: calc_lowpass_alpha_dt: remove unused constrain
2022-06-08 17:11:08 +10:00
Mark Whitehorn
6f789ead55
AP_Math: add unit test for rc_input_to_roll_pitch
2022-05-31 08:08:17 +09:00
Leonard Hall
1a21c6da1e
AP_Math: Move rc_input_to_roll_pitch conversion
2022-05-31 08:08:17 +09:00
Peter Barker
a08025125b
AP_Math: tidy includes
2022-05-03 09:14:58 +10:00
Andrew Tridgell
a95b429acc
AP_Math: added unsigned versions of constrain functions
...
sometimes it really does matter that we use constrain_uint32() instead
of constrain_int32(). For example, if we have a value like 0xFFFFFFFF
then the result will be very different
we should use unsigned constrain when dealing with unsigned values
2022-04-05 17:46:52 +10:00
Randy Mackay
8fcefb59b1
AP_Math: add Vector2f::dot
2022-03-30 15:34:14 +09:00
Peter Barker
d9f819085c
AP_Math: add specialisation for sq(float)
...
avoids conversion to double
2022-03-30 08:44:19 +11:00
xianglunkai
abb0bf34d2
test_3d_lines:fix test result for test_3d_lines
2022-03-29 08:26:39 +09:00
xianglunkai
4513546845
vector3:return w1 not zero vector
2022-03-29 08:26:39 +09:00
Bill Geyer
7e09f68f26
AP_Math: add chirp function to support frequency sweeps in systemid and autotune
2022-03-29 08:05:41 +09:00
Andrew Tridgell
ca4151be2c
AP_Math: added angle_to_accel() and accel_to_angle()
2022-03-18 13:36:16 +11:00
Peter Barker
e07ddf95b4
AP_Math: provide rand_float on embedded hardware
2022-03-17 14:39:55 +11:00
Andrew Tridgell
eee2b00d8c
AP_Math: fixed build error on cygwin
...
ensure variables are always initialised
2022-03-09 14:08:26 +11:00