struct rpi_in;
struct rpi_state{
+ //const unsigned MAX_DUTY; /*Max duty*/
+
struct rpi_in* spi_dat; /* spi data */
sem_t thd_par_sem; /* data metual exlusion access */
uint8_t test; /* configuratin byte - pwm enabl. bits etc. */
char commutate; /* zapina prepocet duty na jednotlive pwm */
char pos_reg_ena; /* position regulation enable */
char spd_reg_ena; /* speed rugulation enable */
+ unsigned short alpha_offset; /* offset between 'alpha' and 'a' axis */
int spd_err_sum; /* for speed pid regulator */
int log_col_count; /* number of log columns */
int log_col; /* current colimn */
char doLogs; /* schall we make logs? */
+
+ void (*main_commutator)(struct rpi_state*); /* primarni komutator */
+ void (*main_controller)(struct rpi_state*); /* primarni regulator */
+
+ char error; /* detekce chyboveho stavu */
};
-void freeLogs();
+/**
+ * Index OK.
+ */
+inline void setIndexOK(struct rpi_state*);
+
+/**
+ * Index Lost.
+ */
+inline void setIndexLost(struct rpi_state*);
+
+/**
+ * Turn commutation on.
+ */
+inline void setCommutationOn(struct rpi_state*);
+
+/**
+ * Turn commutation off.
+ */
+inline void setCommutationOff(struct rpi_state*);
+
+/**
+ * Turn on speed regulation.
+ */
+inline void setRegulationSpeed(struct rpi_state*);
+
+/**
+ * \brief Turn on position regulation
+ */
+inline void setRegulationPos(struct rpi_state*);
+
+/**
+ * \brief Turn off regulation.
+ */
+inline void setRegulationOff(struct rpi_state*);
#endif /*PMSM_STATE*/