Yup, I got my samples to work fine also. In fact, I found an error in my original design that uses the HIH5031 because the values read back from the HIH6131 was so much lower than I read back from the analog part.
Yup, I got my samples to work fine also. In fact, I found an error in my original design that uses the HIH5031 because the values read back from the HIH6131 was so much lower than I read back from the analog part.
Tim Barr
Hi Tim,
I noted in my last post that the new samples were working fine. That is, I was able to enter command mode with no problems.
Another situation popped up: When attempting to set an Atarm_low_on limit, It appears to write to the sensor normally. When I attempted to read back what I had written, I received a different value.
Do you have the application note, Entering and Using Command Mode on .....? If so on page 5, configuration steps. Step 8 it shows a read (read bit set) and a $5A (write) to the EEPROM location. Do you think this is proper? When I do this, I see on the 'scopeThat the address is changed ( by the processor,I think) from $4F to $4E. Do you think this should be an I2CWRITE? or a I2CREAD as it appears is suggested?
Just when I thought all was well. Nothing is easy. Let me know if you have the app note. If not I will scan and send the page to which I referred .
Thanks for your help.
Joe Rapoza
FYI my copy of the doc shows step 8 with the R/W bit set to Write (0).
It looks like they don't follow a standard EEPROM process for reading and writing.
Writing is pretty straightforward. Write the slave address, then the register address, and then the data to be written using one start/stop.
Now, a typical I2C EEPROM read function writes the starting address, then uses a restart to change the R/W bit, and then reads data. But the Honeywell part, in command mode, looks like it requires a command to be sent to set the address to be read as one I2C transaction, and then a basic read transaction without an address byte to read the register content.
So you would need to do a I2CWRITE to set the register address, and then a I2CREAD with a blank address byte to read the data. It looks like the data read back is the command/status/response byte and 16 bits of register data.
Tim Barr
Bookmarks