X-Git-Url: https://rtime.felk.cvut.cz/gitweb/fpga/rpi-motor-control.git/blobdiff_plain/9650ac29cdffe74d39e64da32a34384dcd9db72f..500f4f3e341a3443641469d44e2219a94939da6a:/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 e028201..20e60e6 100644 --- a/pmsm-control/test_sw/pmsm_state.h +++ b/pmsm-control/test_sw/pmsm_state.h @@ -4,6 +4,15 @@ #include #include +#define OLD_POS_NUM 50 +#define MAX_DUTY 170 +#define MAX_SPEED (7*OLD_POS_NUM) + +#define LOG_ROWS 11 +#define LOG_DEF_COL 8000 +#define MAX_LOGS 8000 +#define LOG_PERIOD 2 + struct rpi_in; struct rpi_state{ @@ -20,12 +29,22 @@ struct rpi_state{ int duty; /* duty cycle of pwm */ int desired_pos; /* desired position */ - int old_pos; /* one cycle old position */ + int old_pos[OLD_POS_NUM]; /* old positions */ int desired_spd; /* desired speed */ + int speed; char commutate; /* zapina prepocet duty na jednotlive pwm */ char pos_reg_ena; /* position regulation enable */ char spd_reg_ena; /* speed rugulation enable */ + + int spd_err_sum; /* for speed pid regulator */ + + int *logs[LOG_ROWS]; /* logs */ + int log_col_count; /* number of log columns */ + int log_col; /* current colimn */ + char doLogs; /* schall we make logs? */ }; +void freeLogs(); + #endif /*PMSM_STATE*/