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