69 #define SVGEN_MAX_VAB_VOLTAGES _IQ(1.1547005384)
73 #define SVGEN_100_PERCENT_MODULATION _IQ(1.0 - 1.0/32768)
77 #define SVGEN_SQRT3_OVER_2 _IQ(0.8660254038)
81 #define SVGEN_4_OVER_3 _IQ(4.0/3.0)
117 extern SVGEN_Handle
SVGEN_init(
void *pMemory,
const size_t numBytes);
133 Vb = Va_tmp + Vb_tmp;
134 Vc = Va_tmp - Vb_tmp;
163 pT->
value[0] = (Va - Vcom);
164 pT->
value[1] = (Vb - Vcom);
165 pT->
value[2] = (Vc - Vcom);
181 else if(maxMod <
_IQ(0.0))
195 #endif // end of _SVGEN_H_ definition
Contains the public interface to the types definitions.
Defines a two element vector.
Defines the Space Vector Generator object.
struct _SVGEN_Obj_ SVGEN_Obj
Defines the Space Vector Generator object.
static void SVGEN_run(SVGEN_Handle handle, const MATH_vec2 *pVab, MATH_vec3 *pT)
Implements a SVM that saturates at the level of MaxModulation.
_iq maxModulation
The maximum modulation magnitude used in the SVM.
#define SVGEN_SQRT3_OVER_2
Defines sqrt(3)/2.
Defines a three element vector.
Contains the public interface to the math (MATH) module routines.
static void SVGEN_setMaxModulation(SVGEN_Handle handle, const _iq maxModulation)
Sets the maximum modulation in the space vector generator module.
struct _SVGEN_Obj_ * SVGEN_Handle
Defines the SVGEN handle.
#define SVGEN_4_OVER_3
Defines 4/3.
SVGEN_Handle SVGEN_init(void *pMemory, const size_t numBytes)
Initializes the space vector generator module.
static _iq SVGEN_getMaxModulation(SVGEN_Handle handle)
Gets the maximum modulation used in the space vector generator module.