#include <hal_gpio.h>
#include <hal_machperiph.h>
#include <stdlib.h>
+#include <string.h>
#include "appl_defs.h"
#include "appl_fpga.h"
irc_state = *fpga_irc_state[chan];
- mark = (irc_state ^ (mcs->pxms_cfg >> PXMS_CFG_HPS_b)) & 1;
+ mark = ((irc_state >> (ffs(FPGA_IRC_STATE_MARK_MASK) - 1)) ^
+ (mcs->pxms_cfg >> PXMS_CFG_HPS_b)) & 1;
filt = pxmc_rocon_mark_filt[chan];
filt = (filt << 1) | mark;
int chan=mcs->pxms_inp_info;
irc_state = *fpga_irc_state[chan];
- *fpga_irc_state[chan] = 1 << 2;
+ *fpga_irc_state[chan] = FPGA_IRC_STATE_INDEX_EVENT_MASK;
- index = (irc_state >> 2) & 1;
+ index = (irc_state >> (ffs(FPGA_IRC_STATE_INDEX_EVENT_MASK) - 1)) & 1;
return index;
}
long irc;
long index_irc;
- if (!(*fpga_irc_state[chan] & (1 << 2)))
+ if (!(*fpga_irc_state[chan] & FPGA_IRC_STATE_INDEX_EVENT_MASK))
return 0;
irc = fpga_irc[chan]->count + pxmc_rocon_irc_offset[chan];
for (i = 0; i < 8; i++) {
fpga_irc[i]->count = 0;
fpga_irc[i]->count_index = 0;
- *fpga_irc_state[i] = 1 << 2;
+ *fpga_irc_state[i] = FPGA_IRC_STATE_INDEX_EVENT_MASK;
}
/* Initialize QEI module for IRC counting */