Commit Graph

695 Commits

Author SHA1 Message Date
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
Leonard Hall 7673948d2a AP_Math: SCurve: Increase corner speeds 2022-03-05 11:34:40 +09:00
Leonard Hall a8b86e9c45 AP_Math: Convert S-Curves to use maximum Snap to remove minimum time between waypoints 2022-03-05 11:34:40 +09:00
Iampete1 3e75283717 AP_Math: ftype: include float.h 2022-03-02 18:16:42 +11:00
Iampete1 9ec8bb17b2 AP_Math: benchmarks: define hal 2022-03-02 18:16:42 +11:00
Iampete1 97602aadf5 AP_Math: examples: test custom rotations 2022-03-02 18:16:42 +11:00
Iampete1 15326a8d90 AP_Math: tests: define hal where requirerd for custom rotaitons 2022-03-02 18:16:42 +11:00
Iampete1 7a6f57ccf1 AP_Math: add support for AP_CustomRotations 2022-03-02 18:16:42 +11:00
Andrew Tridgell e96507f55f AP_Math: added crc_crc64() 2022-02-17 14:37:41 +11:00
Andy Piper 87a369727a AP_Math: specialize float and double functions to use fabsf() and simple comparison otherwise 2022-02-13 14:43:37 +11:00
Randy Mackay f57a081ceb AP_Math: minor control format fix 2022-02-08 17:01:23 +09:00
Leonard Hall a47fc65511 AP_Math: Control: improve real time S-Curve response to small inputs 2022-02-08 16:58:44 +09:00
Randy Mackay 372fc1a840 AP_Math: spline lateral scaler reduced to 0.5
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2022-01-31 12:05:59 +09:00
Joshua Henderson 4e3a66a4d3 AP_Math: quaternion add is_zero() & zero()
& length_squared() &  add unit tests
2022-01-19 18:03:17 +11:00
Andrew Tridgell 319592a148 AP_Math: added degF_to_Kelvin() 2022-01-17 15:16:24 +11:00
Peter Barker e988bf9046 AP_Math: add KELVIN_TO_C define 2022-01-13 18:31:46 +11:00
murata 414ca96e5c AP_Math: Move crc16-ibm CRC calculation method to a common class 2022-01-13 09:44:40 +11:00
Randy Mackay 8bbdd4825f AP_Math: minor control spelling and format fixes 2022-01-12 13:07:15 +09:00
Andy Piper fbaa2e7b09 AP_Math: allow selection of inline version of vector operations for performance. 2021-12-22 18:23:33 +11:00
arbalasquide fd3c83c0d1 AP_Math: Add AUS_TO_MAH definition 2021-12-22 07:52:03 +11:00
Leonard Hall 1e124ca957 AP_Math: Control: Add directional based acceleration limit
AP_Math: Control: Add directional based acceleration limit
2021-12-16 09:54:49 +09:00
Peter Barker 2205b95c99 AP_Math: create double versions of is_zero, is_positive and is_negative
Seeks to prevent

Thread 1 "ardurover" received signal SIGFPE, Arithmetic exception.
is_positive<double> (fVal1=9.6315720352771873e+44)
    at ../../libraries/AP_Math/AP_Math.h:66
66          return (static_cast<float>(fVal1) >= FLT_EPSILON);
2021-12-15 19:33:55 +11:00
Randy Mackay 09388b7408 AP_Math: minor comment fix 2021-12-15 11:58:23 +09:00
Leonard Hall 718c094293 AP_Math: Control: Adjust limit handling to improve corners 2021-12-07 09:47:42 +09:00
Randy Mackay 4096a70a1f AP_Math: update_pos_vel_accel methods accept limit as const reference
also update some comments
2021-12-01 12:45:46 +09:00
Peter Barker 99b1659e4b AP_Math: memcpy nanfs rather than iteratively setting them 2021-11-30 10:35:38 +11:00
Josh Henderson 28d9be1cc0 AP_Math: get_horizontal_cm() simplify 2021-11-30 10:08:07 +11:00
Josh Henderson 2a15cf86ad AP_Math: Location get_bearing & get_horizontal_distance use Vector2f 2021-11-30 10:08:07 +11:00
Iampete1 460df9bb50 AP_Math: control: remove unneeded normalisation. 2021-11-23 13:47:10 +09:00
Tom Pittenger ec5820044b AP_Math: add defines for AP_SEC_PER_HOUR and AP_MSEC_PER_HOUR 2021-11-23 09:16:04 +11:00
Buzz adaccdf0ba AP_Math: esp32 with esp_idf have MIN and MAX defined to something else.
Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
Josh Henderson 9b74452270 AP_Math: add Internal_Error for quaternion of 0 length 2021-09-28 19:09:16 +10:00
Josh Henderson 0125ae26ac AP_Math: enable SITL unit testing 2021-09-28 09:11:48 +10:00
Leonard Hall 77fbcf1741 AP_Math: Control: add expo calculation. 2021-09-23 20:03:53 +09:00
Pierre Kancir d853d16c42 AP_Math: fix vectorN ctor warning by using C++11 brace initilization in all cases 2021-09-21 20:51:37 +10:00
Tom Pittenger 8c9dcf4ad8 AP_Math: added CRC16_CCITT non-standard variant 2021-08-19 17:49:27 +10:00
Peter Barker be076e5b1a AP_Math: correct descriptions of quaternion functions 2021-08-19 10:00:35 +10:00
Peter Barker 2251e442cc AP_Math: move crc8_dvb_update into crc library 2021-08-13 16:22:37 +10:00
Leonard Hall ad2a152751 AP_Math: Spelling fix 2021-08-11 17:07:29 +09:00
Leonard Hall 8961695369 AP_Math: Control: Refactor to use Jerk 2021-08-11 17:07:29 +09:00
Leonard Hall 3a8924c185 AP_Math: Control: protect against divide by zero 2021-08-11 17:07:29 +09:00
Iampete1 22100dd37c AP_Math: move to 32 digit rotation constants 2021-07-28 18:09:05 +10:00