matlab_23550/Inu/Src2/main/rotation_speed.h

45 lines
833 B
C
Raw Normal View History

2024-12-27 10:50:32 +03:00
#ifndef _ROT_SPEED
#define _ROT_SPEED
#include "IQmathLib.h"
#define SENSORS_NUMBER 10
#define SENSORS_NUMBER_ONLY_IN 6
#define IMPULSES_PER_TURN (1LL << 13) //Old sensor
//#define IMPULSES_PER_TURN (1LL << 10) //New sensor
#define ANGLE_RESOLUTION (1LL << 18) //2^18
typedef struct
{
int direct_rotor;
int direct_rotor_in1;
int direct_rotor_in2;
int direct_rotor_angle;
union {
unsigned int sens_err1:1;
unsigned int sens_err2:1;
unsigned int reserved:14;
} error;
_iq iqFsensors[SENSORS_NUMBER];
_iq iqF;
_iq iqFout;
_iq iqFlong;
_iq iqFrotFromOptica;
unsigned int error_update_count;
} ROTOR_VALUE;
#define ROTOR_VALUE_DEFAULTS {0,0,0,0,0, {0,0,0,0,0,0,0,0},0,0,0,0,0}
extern ROTOR_VALUE rotor;
void Rotor_measure(void);
void rotorInit(void);
void update_rot_sensors();
#endif //_ROT_SPEED