matlab_23550/Inu/Src/main/v_rotor.h

132 lines
2.4 KiB
C

#ifndef V_ROTOR_H
#define V_ROTOR_H
#ifdef __cplusplus
extern "C" {
#endif
void update_rot_sensors(void);
void RotorMeasure(void);
void RotorMeasurePBus(void);
void rotorInit(void);
int AnalisatorRotorSensorPBus(_iq d1, _iq d2, unsigned int *count_overfull_discret, unsigned int *count_zero_discret, _iq *prev_iqTimeRotor,
unsigned int *discret_out, unsigned int discret_in, _iq *iqWRotorCalcBeforeRegul, _iq *iqWRotorCalc,
int *RotorDirection,
int modeS1, int modeS2,
int valid_sensor_direct, int valid_sensor_90,
unsigned int *error_count );
typedef struct
{
_iq iqWRotorRaw0;
_iq iqWRotorRaw1;
_iq iqWRotorRaw2;
_iq iqWRotorRaw3;
_iq iqWRotorFilter0;
_iq iqWRotorFilter1;
_iq iqWRotorFilter2;
_iq iqWRotorFilter3;
_iq iqWRotorDelta;
_iq iqTimeSensor1;
_iq iqTimeSensor2;
_iq iqWRotorCalc1;
_iq iqWRotorCalcBeforeRegul1;
_iq iqWRotorCalc2;
_iq iqWRotorCalcBeforeRegul2;
int RotorDirection1;
int RotorDirection2;
_iq iqWRotorImpulses1;
_iq iqWRotorImpulsesBeforeRegul1;
_iq iqWRotorImpulses2;
_iq iqWRotorImpulsesBeforeRegul2;
} WRotorValues;
#define WRotorValues_DEFAULTS {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
typedef struct
{
_iq iqWRotorRaw0;
_iq iqWRotorRaw1;
_iq iqWRotorRaw2;
_iq iqWRotorRaw3;
_iq iqWRotorRawAngle1F;
_iq iqWRotorRawAngle1R;
_iq iqWRotorRawAngle2F;
_iq iqWRotorRawAngle2R;
_iq iqWRotorFilter0;
_iq iqWRotorFilter1;
_iq iqWRotorFilter2;
_iq iqWRotorFilter3;
_iq iqWRotorDelta;
_iq iqWRotorCalcBeforeRegul;
_iq iqWRotorCalcBeforeRegul1;
_iq iqWRotorCalcBeforeRegul2;
_iq iqTimeRotor1;
_iq iqTimeRotor2;
_iq iqTimeRotor;
_iq iqWRotorCalc1;
_iq iqWRotorCalc2;
_iq iqWRotorCalc;
int ModeAutoDiscret;
int RotorDirection1;
int RotorDirection2;
_iq iqAngle1F;
_iq iqAngle1R;
_iq iqAngle2F;
_iq iqAngle2R;
_iq iqAngleCalc;
} WRotorValuesAngle;
#define WRotorValuesAngle_DEFAULTS {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
extern WRotorValues WRotor;
extern WRotorValuesAngle WRotorPBus;
//#define NORMA_WROTOR 15
#define IQ_WROTOR_MAX_MIN_DELTA 3744914286 //17920
#define NORMA_ANGLE 360
#define WRMP_COEF 0.001 // 0.24 Hz per sec
#define IQ_CONST_3 50331648
#define COUNT_DECODER_ZERO_WROTORPBus 65535 //0x00fe5000//0x01fca000
#define COUNT_DECODER_ZERO_WROTOR 65500 //0x00fe5000//0x01fca000
#define COUNT_DECODER_MAX_WROTOR 10
#ifdef __cplusplus
}
#endif
#endif