I know this sounds elementary but I am struggling with the math once the data is read from the ADS1234. If the data is negative (data > 0x7FFFFF) I add (data + 0xFF000000) to fill out the integer and pass that along to the scale integration logic. Which seems to work very nicely. EXCEPT when I hit the negative to positive threshold. The system would prefer an always positive number going the same direction. For example, 0 -> 0xFFFFFF. I have tried a few methods and keep falling down (due to poor math skills). I tried for the negative numbers removing the negative bit/compliment/+1 ~(data & 0x7FFFFF)+1 and placing the positive on to by adding 0x8000000 to the positive numbers.
I tried a few other things but fell flat with no joy.
Scott