I'm writing to ask if someone has ever encountered a quite weird behaviour of LIS3DSH.
to properly use such sensor, a number of registers must be configured via the spi bus. I implemented a routine to do so, which writes the registers in sequence and reads them back to check the operation result. The function gets stuck on the very first register it tries to configure, which determines the active channels and the data rate: CTRL_REG_4. This register, as others, is declared R/W; but, whatever I send into it, I read a 'zero' back (which according to the documentation is not even the default value anyway).
After spending long looking for a bug in my spi R/W functions, I skipped that register and noticed that others work just as expected, so I tend to believe there's something wrong with that specific memory location.
Can anybody read from it?