9 #define MAX_SPEED (7*OLD_POS_NUM)
12 #define LOG_DEF_COL 8000
19 //const unsigned MAX_DUTY; /*Max duty*/
21 struct rpi_in* spi_dat; /* spi data */
22 sem_t thd_par_sem; /* data metual exlusion access */
23 uint8_t test; /* configuratin byte - pwm enabl. bits etc. */
24 uint32_t tf_count; /* number of transfer*/
26 uint16_t index_dist; /* distance to index position */
27 unsigned char index_ok; /* we have actual index position */
29 uint16_t pwm1, pwm2, pwm3; /* pwm duty cycles*/
30 uint16_t t_pwm1, t_pwm2, t_pwm3;/* debug*/
32 int duty; /* duty cycle of pwm */
33 int desired_pos; /* desired position */
34 int old_pos[OLD_POS_NUM]; /* old positions */
35 int desired_spd; /* desired speed */
38 char commutate; /* zapina prepocet duty na jednotlive pwm */
39 char pos_reg_ena; /* position regulation enable */
40 char spd_reg_ena; /* speed rugulation enable */
41 unsigned short alpha_offset; /* offset between 'alpha' and 'a' axis */
43 int spd_err_sum; /* for speed pid regulator */
45 int *logs[LOG_ROWS]; /* logs */
46 int log_col_count; /* number of log columns */
47 int log_col; /* current colimn */
48 char doLogs; /* schall we make logs? */
50 void (*main_commutator)(struct rpi_state*); /* primarni komutator */
51 void (*main_controller)(struct rpi_state*); /* primarni regulator */
57 inline void setIndexOK(struct rpi_state*);
62 inline void setIndexLost(struct rpi_state*);
65 * Turn commutation on.
67 inline void setCommutationOn(struct rpi_state*);
70 * Turn commutation off.
72 inline void setCommutationOff(struct rpi_state*);