OK those registers are all in their initial value.
This means that part of the MAX30205 seems to be correct.
It is all in the datasheet of the device, if you want to understand the devices you work with, you need to learn to read those - not to understand it all at once, but to get insight of what the device does. (took me a few years to learn to read them and still learning ).
The config register consists of 8 bits which are used to configure the behavior of the device. If you write a 1 to the SHUTDOWN bit (and keeping the others the same, the device will go into shutdown mode and stops converting. Writing a 0 (default value) does a wake up.
Similar the ONESHOT bit, writing a 1 to it when it is in SHUTDOWN mode, wakes the device up to make one single conversion and goes to sleep again.
When not in shutdown mode writing a 1 makes less sense as it is operation in full power.
indeed
That is the DATAFORMAT bit in the configuration register.
This bit it is not set in the register but the device seems to behave as if the bit is set.
The 0x3F masking of the MSB (sign + 64 bit together ) in my last code proposal would indeed change -42 => 22.
It may look like it is working, but your sensor is broken as it is in extended mode without the configuration says so.
Thus at least I would not trust it for 100%, definitely not for medical applications.
The remark of a broken sensor has been made earlier in post 4 above.
I haven’t touched this sensor to anything but 3.3V, is there another reason why it would be broken? I have tested it with different temperatures and it seems to be reading correctly.
You said you had used an Uno, assuming R3. Which puts 5volt on the I2C lines.
You should have used an I2C level shifter, or at least disable the internal pull up in software.
A fake/counterfeit chip is more likely though.
Leo..