Grove I2C ADC Voltage Not Linear

I am using a Raspberry Pi 3B+, Grove Base HAT for Raspberry Pi v1.0, and I2C ADC v1.2. I am trying to measure the voltage of the battery as it discharges. I would expect the voltage to continually drop. Instead I am seeing a saw tooth pattern. I am using the example code found at https://github.com/Seeed-Studio/grove.py/blob/master/grove/adc.py. Changing the address to 0x50. I have attached a picture of the measured voltage over time. It shows a peculiar saw tooth pattern. I have verified the behavior with a voltage generator and see the same pattern with a voltage generator. I have changed out all components to verify the components are all good. How can I accurately measure voltage with these components?

I appreciate your help.

Some additional information:
If I use the A2D ports on the Grove board change the address to 0x08. The output is more like what is expected and output is related to voltage. However the max voltage is 3.3V.

So now I need an example code using the Grove - I2C ADC with RaspberyPi.
Is there an Raspberry Pi example for the Grove I2C ADC?