ZMOD4410 - I2C with MSP430FR2155


I am currently developing a sensor platform for IAQ which includes the ZMOD4410 for TVOC measurement. I am trying to use the I2C from the MSP430FR2155 to configure the sensor and make measurements. I developed my own I2C functions for reading and writing. I have access to the firmware, but am having trouble setting it up to work with MSP. 

The problem I think its mainly on how the I2C from the ZMOD works, which I might be having trouble setting up in the MSP. I am looking for a more thoroughly explanation on how the I2C works that could help me set up my I2C functions to work properly.

Now, to explain the behavior that I get from the ZMOD:

  • In the first function zmod4xxx_read_sensor_info() the first write of ZMOD4XXX_ADDR_CMD works fine, but I have doubts on what this really does in the ZMOD.
  • Proceeding in this function, the next problem I get is when I try to get the production data. The MSP I2C gets stuck and it never receives a NAK, this only happens  if I ask for the 7 bytes, if I only ask for 3-4 bytes it works fine.
  • In the next function zmod4xxx_init_sensor() when I try to write in the init_conf->h.addr, the ZMOD only accepts the first byte of data and then it fails in the second byte. Again, I think it is related on how the ZMOD's I2C works.

If anyone has run into any of these problems or has a solution for it, I really appreciate it of you could share.