I'm having trouble setting some of the control/config registers in an FXLS8964AF, but strangely not all of them. I'm using a standard 4 wire SPI interface (mode 0) running at 4MHz.
The one I cannot set, but absolutely require, is SENS_CONFIG5 (0x19). I'm trying to set the VECM_EN bit. I write 0x10 to this register, but I keep reading back 0x00 - and the contents of the VECM registers are always 0, so the vector magnitude functionality is indeed off.
There are others I cannot set: INT_EN (0x20). I'm attempting to write 0xa0, but it always reads back as 0x00.
SDCD_CONFIG1 & 2 are also giving me problems. I'm writing 0xb8 0xf2 but both read back as 0x00.
I've tried writing the registers in groups (taking advantage of the auto-increment feature) and individually - no difference in behavior with either.
Is there a timing trick to setting these registers that I'm not aware of?