Quadrirotor
Dependencies: CommonTypes ESC Matrix PID Servo kalman mbed-rtos mbed
Fork of Nucleo_MPU_9250 by
MathFuncs.h@0:89cf0851969b, 2018-06-26 (annotated)
- Committer:
- AlanHuchin
- Date:
- Tue Jun 26 18:24:45 2018 +0000
- Revision:
- 0:89cf0851969b
hello
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AlanHuchin | 0:89cf0851969b | 1 | /* |
AlanHuchin | 0:89cf0851969b | 2 | * SOURCE FILE : MathFuncs.h |
AlanHuchin | 0:89cf0851969b | 3 | * |
AlanHuchin | 0:89cf0851969b | 4 | * Definition of class MathFuncs. |
AlanHuchin | 0:89cf0851969b | 5 | * |
AlanHuchin | 0:89cf0851969b | 6 | */ |
AlanHuchin | 0:89cf0851969b | 7 | |
AlanHuchin | 0:89cf0851969b | 8 | #ifndef MathFuncsDefined |
AlanHuchin | 0:89cf0851969b | 9 | |
AlanHuchin | 0:89cf0851969b | 10 | #define MathFuncsDefined |
AlanHuchin | 0:89cf0851969b | 11 | |
AlanHuchin | 0:89cf0851969b | 12 | #include "Types.h" |
AlanHuchin | 0:89cf0851969b | 13 | |
AlanHuchin | 0:89cf0851969b | 14 | /** Various useful maths related functions. */ |
AlanHuchin | 0:89cf0851969b | 15 | class MathFuncs { |
AlanHuchin | 0:89cf0851969b | 16 | |
AlanHuchin | 0:89cf0851969b | 17 | public : |
AlanHuchin | 0:89cf0851969b | 18 | |
AlanHuchin | 0:89cf0851969b | 19 | /** Constrain a number to be between 2 values. |
AlanHuchin | 0:89cf0851969b | 20 | * |
AlanHuchin | 0:89cf0851969b | 21 | * @param x Number to constrain. |
AlanHuchin | 0:89cf0851969b | 22 | * @param min Minimum value. |
AlanHuchin | 0:89cf0851969b | 23 | * @param max Maximum value. |
AlanHuchin | 0:89cf0851969b | 24 | * @returns A number between min and max. |
AlanHuchin | 0:89cf0851969b | 25 | */ |
AlanHuchin | 0:89cf0851969b | 26 | static Int16 Constrain( Int16 x, Int16 min, Int16 max ) { |
AlanHuchin | 0:89cf0851969b | 27 | if( x < min ) { |
AlanHuchin | 0:89cf0851969b | 28 | return min; |
AlanHuchin | 0:89cf0851969b | 29 | } |
AlanHuchin | 0:89cf0851969b | 30 | else if( x > max ) { |
AlanHuchin | 0:89cf0851969b | 31 | return max; |
AlanHuchin | 0:89cf0851969b | 32 | } |
AlanHuchin | 0:89cf0851969b | 33 | else { |
AlanHuchin | 0:89cf0851969b | 34 | return x; |
AlanHuchin | 0:89cf0851969b | 35 | } |
AlanHuchin | 0:89cf0851969b | 36 | } |
AlanHuchin | 0:89cf0851969b | 37 | |
AlanHuchin | 0:89cf0851969b | 38 | }; |
AlanHuchin | 0:89cf0851969b | 39 | |
AlanHuchin | 0:89cf0851969b | 40 | #endif |
AlanHuchin | 0:89cf0851969b | 41 | |
AlanHuchin | 0:89cf0851969b | 42 | /* END of MathFuncs.h */ |
AlanHuchin | 0:89cf0851969b | 43 |