Nevermind my previous questions, I sorted them out. The digital inputs do like to see some connection back to ground to drain off the voltage. It needs to see either 5v or 0v, not 5v or nothing. If you just short the two leads so that 5v goes to the input, when you un-short them, it just takes a few seconds for the voltage to drain off and shut the input off.
As for the analog inputs, I just gave up on using the two bits in the second byte. I don't need that level of accuracy. Using only the first byte, I believe I am reading the full range of voltage in 256 steps.
Using the other two bits will gain some precision (1024 steps). What I'm finding though is that if I have a potentiometer set and I don't touch it, the input will still jitter between a couple values. Those values seem to be more than 1 step apart, meaning the precision isn't helping much here. Using 256 steps, any jitter I see seems to be between two consecutive steps.
For reference, here's the code I was using to read either 8 or 10 bits.
My project here isn't for use in a car, but rather in a farm tractor. I'm in the process of building some software that will steer the tractor based on its GPS location. The fusion brain will be controlling some relays that will control a hydraulic valve that turns the front wheels left or right. I anticipate this software running on hardware that isn't the fastest on the market, and I'm trying to keep overhead to a minimum.
For i = 0 To 9
'Uses only the first byte 0-255 (8 bits)
AnalogIn(i) = CInt(InputArray(i * 2 + 12))
'Uses both bytes 0-1023 (10 bits)
AnalogIn(i) = (CInt(InputArray(i * 2 + 12)) * 4) + CInt(InputArray(i * 2 + 13) / 64)
2k1toaster, thanks again for your help on this.