X-Git-Url: https://rtime.felk.cvut.cz/gitweb/fpga/rpi-motor-control.git/blobdiff_plain/500f4f3e341a3443641469d44e2219a94939da6a..526f31a42665da0c8d341f6532e579bd8bea2730:/pmsm-control/test_sw/pmsm_state.h diff --git a/pmsm-control/test_sw/pmsm_state.h b/pmsm-control/test_sw/pmsm_state.h index 20e60e6..b1946a6 100644 --- a/pmsm-control/test_sw/pmsm_state.h +++ b/pmsm-control/test_sw/pmsm_state.h @@ -16,6 +16,8 @@ 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. */ @@ -36,6 +38,7 @@ struct rpi_state{ 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 */ @@ -43,8 +46,29 @@ struct rpi_state{ 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 */ }; -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*); #endif /*PMSM_STATE*/