...
The read register command wasn’t sending the byte that indicated how many registers to read. This was an oversight from firmware and was never programmed.
The ADC’s internal reference bias was not enabled. This is required for the current sense amplifier to output the correct value.
The value of the reference in firmware was wrong. It was correctly set to 2500corrected to 2.5.
After fixing the above problems, the ADC readings were fairly accurate. Here are the inputs and outputs during testing:
...