#ifndef TETA_CALC
#define TETA_CALC

#include "IQmathLib.h"
#include "pid_reg3.h"

void calc_teta_Id(_iq Frot, _iq Id, _iq Iq, _iq *tetta_out, _iq *theta_to_slave, _iq *Fsl_out, _iq *Fstator_out,
					unsigned int master, int reset);
void init_teta_calc_struct(void);

// k_r = Ts / Tr_cm
// Tr_cm = Lr / Rr
// Lr - èíäóêòèâíîñòü ðîòîðà
// Rr - ñîïðîòèâëåíèå ðîòîðà
//
// k_t = 1 / (Tr_cm * 2 * Pi * f_b)
//  íàøåì ñëó÷àå f_b = NORMA_FROT
// K = Ts * f_b
// f_b - áàçîâàÿ ýëåêòðè÷åñêàÿ ÷àñòîòà (12 Ãö)
// Ts - ïåðèîä ðàñ÷¸òà (840 Ãö)

typedef struct {
    _iq Imds;
    _iq theta;

    _iq hz_to_angle;
    _iq k_r;
    _iq k_t;
} TETTA_CALC;

#define TETTA_CALC_DEF {0,0,0,0,0}

extern TETTA_CALC tetta_calc;

#endif //TETA_CALC