Reading values too quickly causes garbage readings, and the current setup seems to overflow above a certain reading, causing negative values. Without knowing anything from a datasheet, it will have to be trial and error to solve.
Found datasheet that shows MSB is a "stale data" bit, so negative values are just old values. New code takes this into account and only updates with fresh readings.
Reading values too quickly causes garbage readings, and the current setup seems to overflow above a certain reading, causing negative values. Without knowing anything from a datasheet, it will have to be trial and error to solve.