Well, something seems a bit fishy. The registers still don't appear to have all been set. Does this look right?
0xd0: 97
0x72: 4
0x74: 0
0x75: 16
0x50: 0
0x51: 0
0x52: 0
0x53: 0
0x54: 0
0x55: 0
0x56: 0
0x57: 0
0x58: 0
0x59: 0
0x5a: 101
0x5b: 0
0x5c: 0
0x5d: 0
0x5e: 0
0x5f: 0
0x60: 0
0x61: 0
0x62: 0
0x63: 0
0x64: 0
0x65: 0
0x66: 0
0x67: 0
0x68: 0
0x69: 0
0x6a: 0
0x6b: 0
0x6c: 0
0x6d: 0
0x70: 0
0x71: 0
0x1f: 128
0x20: 0
0x21: 0
0x22: 128
0x23: 0
0x24: 0
0x25: 77
0x26: 150
0x2a: 0
0x2b: 4
0x1d: 0
No, the register value is not correct.
For example, the Github code set humidity oversamling as 1x, this means 0x72 register should have value 0x01. but you read out as 0x04 means humidity oversampling is humidity oversample is 8x. the register value is not matching the code.
Also register 0x74 is 0 means temperature and pressure are all skipped. But actually in the code it is set to non 0 value.
So i think your write function still have problem. the value written into sensor is not matching the setting we used in selftest code.
Hi Vincent, thanks for your patience and help on this. It was entirely on my end (yes i2c writes were a problem still), so apologies for the waste of bandwidth.
Results now:
T: 23.1599 degC, P: 1021.8499 hPa, H 39.4690 0.0000rH , G: 21594 ohms