matlab_23550/Inu/Src2/551/main/v_rotor_22220.h
Razvalyaev 7e0063eee0 #3 Скомпилилось, но пока ничего не вызывается
Все основные файлы подтянуты без изменений

Изменены (только папка main_matlab):
- заглушки для ненужных функций (main_matlab.c)
- iq библиотека (IQmathLib_matlab.c)
- библиотеки DSP281x
2025-01-13 11:09:58 +03:00

55 lines
1.2 KiB
C

#ifndef V_ROTOR_22220_H
#define V_ROTOR_22220_H
#define SIZE_BUF_W 100 //2000
/////// 22220.5
#define SENSORS_NUMBER 10
#define SENSORS_NUMBER_ONLY_IN 6
//#define IMPULSES_PER_TURN (1LL << 13) //Old sensor
#define IMPULSES_PER_TURN 4096 //Lira 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 iqFdirty;
_iq iqF;
_iq iqFout;
_iq iqFlong;
_iq iqFrotFromOptica;
unsigned int error_update_count;
} ROTOR_VALUE_22220;
#define ROTOR_VALUE_22220_DEFAULTS {0,0,0,0,0, {0,0,0,0,0,0,0,0},0,0,0,0,0,0}
_iq counter_To_iqF2(long count, unsigned int freq_mode);
void sort_F_array(_iq *array, unsigned int size);
_iq impulses_To_iqF(unsigned int time, unsigned int impulses); //time mks. impulses count
void Rotor_measure_22220(void);
void rotorInit_22220(void);
void select_values_wrotor_22220(void);
extern ROTOR_VALUE_22220 rotor_22220;
extern _iq koef_Wout_filter, koef_Wout_filter_long;
#endif