rec_reg = fpga_lx_master_receiver_base;
#ifdef LXPWR_WITH_SIROLADC
- rec_reg += LX_MASTER_DATA_OFFS + 1 + (chan >> 8) + chan * 2;
+ rec_reg += LX_MASTER_DATA_OFFS + 1 + (chan >> 8) * 3 + chan * 2;
#else /*LXPWR_WITH_SIROLADC*/
rec_reg += LX_MASTER_DATA_OFFS + chan;
#endif /*LXPWR_WITH_SIROLADC*/
int grp_out = 0;
unsigned word_slot;
#ifdef LXPWR_WITH_SIROLADC
- unsigned lxpwr_words = 1 + 8 * 2;
+ unsigned lxpwr_header = 1;
+ unsigned lxpwr_words = 1 + 8 * 2 + 2;
unsigned lxpwr_chips = 2;
+ unsigned lxpwr_chip_pwm_cnt = 8;
#else /*LXPWR_WITH_SIROLADC*/
+ unsigned lxpwr_header = 0;
unsigned lxpwr_words = 8;
unsigned lxpwr_chips = 2;
+ unsigned lxpwr_chip_pwm_cnt = 8;
#endif /*LXPWR_WITH_SIROLADC*/
*fpga_lx_master_reset = 1;
for (i = 0; i < LX_MASTER_DATA_OFFS + lxpwr_words * lxpwr_chips; i++)
fpga_lx_master_transmitter_base[i] = 0;
- word_slot = LX_MASTER_DATA_OFFS + lxpwr_words;
+ word_slot = LX_MASTER_DATA_OFFS + lxpwr_header + lxpwr_chip_pwm_cnt;
fpga_lx_master_transmitter_base[grp_out++] = (word_slot << 8) | lxpwr_words;
#ifdef LXPWR_WITH_SIROLADC
- fpga_lx_master_transmitter_base[word_slot] = 0xc100 | lxpwr_words;
+ fpga_lx_master_transmitter_base[word_slot] = 0xc100 | (lxpwr_words - 1);
#endif /*LXPWR_WITH_SIROLADC*/
word_slot = LX_MASTER_DATA_OFFS + 0;
fpga_lx_master_transmitter_base[grp_out++] = (word_slot << 8) | lxpwr_words;
#ifdef LXPWR_WITH_SIROLADC
- fpga_lx_master_transmitter_base[word_slot] = 0xc100 | lxpwr_words;
+ fpga_lx_master_transmitter_base[word_slot] = 0xc100 | (lxpwr_words - 1);
#endif /*LXPWR_WITH_SIROLADC*/
fpga_lx_master_transmitter_base[grp_out++] = 0x0000;