1 /*******************************************************************
2 Components for embedded applications builded for
3 laboratory and medical instruments firmware
5 appl_pxmc.h - SPI connected motor control board specific
8 (C) 2001-2015 by Pavel Pisa pisa@cmp.felk.cvut.cz
9 (C) 2002-2015 by PiKRON Ltd. http://www.pikron.com
11 This file can be used and copied according to next
13 - GPL - GNU Public License
14 - other license provided by project originators
16 *******************************************************************/
26 typedef struct pxmc_spimc_state_t {
28 struct spimc_state_t *spimc_state;
29 uint32_t steps_pos_prev;
30 uint32_t cur_d_cum_prev;
31 uint32_t cur_q_cum_prev;
32 int32_t cur_d_err_sum;
33 int32_t cur_q_err_sum;
41 #define pxmc_spimc_state_offs(_fld) \
42 (((size_t)&((pxmc_spimc_state_t *)0L)->_fld) - \
43 ((size_t)&((pxmc_spimc_state_t *)0L)->base))
45 extern int appl_errstop_mode;
46 extern int appl_idlerel_time;
47 int pxmc_process_state_check(unsigned long *pbusy_bits,
48 unsigned long *perror_bits);
50 int pxmc_spimc_pwm_direct_wr(unsigned chan, unsigned pwm, int en);
52 int pxmc_spimc_wait_rx_done(void);
54 #endif /*_APPL_PXMC_H_*/