41 lines
1.0 KiB
C
41 lines
1.0 KiB
C
|
|
|
|
|
|
#ifndef __DQ_ALPHABETA_H__
|
|
#define __DQ_ALPHABETA_H__
|
|
|
|
#include "IQmathLib.h"
|
|
|
|
typedef struct { _iq Ualpha; //phase A voltage, input
|
|
_iq Ubeta; //phase B voltage, input
|
|
_iq Tetta; //phase angle, input
|
|
_iq Ud; // axis d voltage, output
|
|
_iq Uq; // axis q voltage, output
|
|
void (*calc)(); // Pointer to calculation function
|
|
void (*calc2)(); // Pointer to calculation function. Like in MATLAB
|
|
void (*calc_cos)(); // Pointer to calculation function, Ualpha = Uq*Cos(Tetta)
|
|
}DQ_TO_ALPHABETA;
|
|
|
|
|
|
|
|
|
|
|
|
typedef DQ_TO_ALPHABETA *DQ_TO_ALPHABETA_handle;
|
|
|
|
#define DQ_TO_ALPHABETA_DEFAULTS { 0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
(void (*)(Uint32))dq_to_alphabeta_calc, \
|
|
(void (*)(Uint32))dq_to_alphabeta_calc2, \
|
|
(void (*)(Uint32))dq_to_alphabeta_calc_cos \
|
|
}
|
|
|
|
|
|
void dq_to_alphabeta_calc(DQ_TO_ALPHABETA_handle);
|
|
void dq_to_alphabeta_calc2(DQ_TO_ALPHABETA_handle);
|
|
void dq_to_alphabeta_calc_cos(DQ_TO_ALPHABETA_handle);
|
|
|
|
#endif // end __DQ_ALPHABETA_H__
|