Hmmm. Well, they haven't put the scope away yet. But it looks like the pulse stretcher is working. That means they can reliably read from the A/D converter. All those false 0xFFFFF
readings should be gone.
So now it's time to create a protocol that allows them to send a batch of readings from the sensor node to the hub. This involves creating a shift register of values in the attenuated Python language that really isn't all that good at arrays.
In the end, Bob and James resort to playing TDD Ping-Pong in order to get the protocol working.