Components for embedded applications builded for
laboratory and medical instruments firmware
- firmware.c - multi axis motion controller comprocesor
+ firmware.c - multi axis motion controller coprocessor
firmware for FPGA tumble CPU of lx-rocon system
(C) 2001-2014 by Pavel Pisa pisa@cmp.felk.cvut.cz
pxmcc = pxmcc_data.axis;
do {
pxmcc->ccflg = 0;
- pxmcc->mode = 1;
+ pxmcc->mode = PXMCC_MODE_IDLE;
pxmcc->ptirc = 1000;
pxmcc->ptreci = 4294967; /* (1LL<<32)*ptper/ptirc */
pxmcc->pwm_dq = 0;
pwm_alp = pwm_d * pxmcc->ptcos - pwm_q * pxmcc->ptsin;
pwm_bet = pwm_d * pxmcc->ptsin + pwm_q * pxmcc->ptcos;
- if (!pxmcc->mode) {
+ if (pxmcc->mode == PXMCC_MODE_MODE_BLDC) {
pwm_bet_div_2_k3 = RECI16_2_K3 * (pwm_bet >> 16);
#ifndef SUPPRESS_CONDITIONALS
*uptr = pwm4 | 0x4000;
}
} else {
- if (!pxmcc->mode) {
+ if (pxmcc->mode == PXMCC_MODE_MODE_BLDC) {
pwmtx_info = pxmcc->pwmtx_info;
uptr = FPGA_LX_MASTER_TX + ((pwmtx_info >> 0) & 0xff);
pxmcc->pwm_prew[1] = *uptr & 0x3fff;
#endif /*COMPUTE_PHASE_SECTOR*/
out_info = pxmcc->out_info;
- if (!pxmcc->mode) {
+ if (pxmcc->mode == PXMCC_MODE_MODE_BLDC) {
pwm1 = pxmcc->pwm_prew[0];
pwm2 = pxmcc->pwm_prew[1];