#include <stdint.h>
#include <semaphore.h>
+#define OLD_POS_NUM 50
+#define MAX_DUTY 170
+#define MAX_SPEED (7*OLD_POS_NUM)
+
+#define LOG_ROWS 5
+#define LOG_DEF_COL 1000
+#define MAX_LOGS 1000
+#define LOG_PERIOD 5
+
struct rpi_in;
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*/