]> rtime.felk.cvut.cz Git - fpga/rpi-motor-control.git/blob - pmsm-control/test_sw/pmsm_state.h
8c80265a1b44df8ce6d1b892bf240adf269b2dfc
[fpga/rpi-motor-control.git] / pmsm-control / test_sw / pmsm_state.h
1 #ifndef PMSM_STATE
2 #define PMSM_STATE
3
4 #include <stdint.h>
5 #include <semaphore.h>
6
7 #define OLD_POS_NUM 50
8
9 struct rpi_in;
10
11 struct rpi_state{
12         struct rpi_in* spi_dat;         /* spi data */
13         sem_t thd_par_sem;              /* data metual exlusion access */
14         uint8_t test;                   /* configuratin byte - pwm enabl. bits etc. */
15         uint32_t tf_count;              /* number of transfer*/
16
17         uint16_t index_dist;            /* distance to index position */
18         unsigned char index_ok;         /* we have actual index position */
19
20         uint16_t pwm1, pwm2, pwm3;      /* pwm duty cycles*/
21         uint16_t t_pwm1, t_pwm2, t_pwm3;/* debug*/
22
23         int duty;                       /* duty cycle of pwm */
24         int desired_pos;                /* desired position */
25         int old_pos[OLD_POS_NUM];       /* old  positions */
26         int desired_spd;                /* desired speed */
27         int speed;
28
29         char commutate;                 /* zapina prepocet duty na jednotlive pwm */
30         char pos_reg_ena;               /* position regulation enable */
31         char spd_reg_ena;               /* speed rugulation enable */
32 };
33
34 #endif /*PMSM_STATE*/