I am trying to implement the BMP388 (for what its worth, I've done a bunch with the BMP280, so I sort of know my way around). The problem is, when I read the block from address 0x04 (the start of the data registers), the first byte in the pressure and the first byte in the temperature are always zero. The whole dummybyte in the SPI got me for a while, but that is not the issue here (i've tried starting at address 0x03, and read through to 0x09 to verify) I've also read the 3 bytes in sensortime (addr 0x0C) and am seeing the bytes incriment as expected. I'm using the same code for reading the pressure bytes, so I'm at a loss for why the first byte is good in the sensortime, but always zero for the pressure or temperature blocks. For clarification, here is what I am seeing: Addr[0x04] = 0x00 <=== shouldn't this be non-zero, or change over subsequent reads? Addr[0x05] = 0xF2 this fluctuates, which is expected Addr[0x06] = 0x6C this is mostly static, but since it is the high bits, I would expect this behavior as well Addr[0x07] = 0x00 <=== shouldn't this be non-zero Addr[0x08] = 0xBC Addr[0x09] = 0x81 I've tried reading these registers a number of different ways: Single-byte reads for each of the above registers Block read for 0x04-0x06 (and another block read from 0x07-0x09 Block read starting at 0x03 Block read starting at 0x04 From everything I can see, it appears that the first byte for temperature and pressure is just not being set. Any idea what is going on here?
... View more