// // Created by ZK on 2023/3/16. // #ifndef BOOOOMFOC_STSPIN32G4_EVB_SVPWM_H #define BOOOOMFOC_STSPIN32G4_EVB_SVPWM_H #include "arm_math.h" #define M_PI (3.14159265358f) #define M_2PI (6.28318530716f) #define ONE_BY_SQRT3 (0.57735026919f) #define TWO_BY_SQRT3 (2.0f * 0.57735026919f) #define SQRT3_BY_2 (0.86602540378f) #define SQ(x) ((x) * (x)) #define ABS(x) ((x) > 0 ? (x) : -(x)) #define MAX(x, y) (((x) > (y)) ? (x) : (y)) #define MIN(x, y) (((x) < (y)) ? (x) : (y)) #define CLAMP(x, lower, upper) (MIN(upper, MAX(x, lower))) #define FLOAT_EQU(floatA, floatB) ((ABS((floatA) - (floatB))) < 0.000001f) //extern inline void clarke_transform(float Ia, float Ib, float Ic, float *Ialpha, float *Ibeta); // //extern inline void park_transform(float Ialpha, float Ibeta, float Theta, float *Id, float *Iq); extern void inversePark(float ud, float uq, float Theta, float *uAlpha, float *uBeta); extern int SVPWM(float uAlpha, float uBeta, float *tA, float *tB, float *tC); #endif //BOOOOMFOC_STSPIN32G4_EVB_SVPWM_H