So did it work well?
I have couple of these sensors are on the way, I wonder how accurate/responsive these are, hope I didn't waste my $30.00 just because I went for the cheap ones ($15/piece, upto 3 meters distance).
It will definitely suit my desire to play!
Accuracy is almost certainly limited by the timing loop in my code ... not the sensor itself. Based on observed results, it seems to be in the ballpark of 1000 ticks per iteration which works out to about +- 2cm. By eyeball +- 2cm, feels about right. (I didn't, however, use a ruler.) Results are pretty consistent back-to-back -- no weird numbers jumping out. That'll work for a lot of stuff.
I assume some kind of a firmware level routine to time an input pulse would provide much better accuracy.
I tried, but could not get CW2's idea of using the InterruptPort to more accurately time the pulse. It seems like it would be a better way to do it. HOWEVER, for this sensor, on one pin, the port has to transition from writing a pulse, to receiving the result in time to catch the leading edge of the return pulse.
I tried creating an OutputPort to write the request pulse, calling Dispose() on the OutputPort and creating an InterruptPort to receive the respose. It seemed like I was only catching the trailing edge. If I get a bit of time, I'll play a bit more. Failing that, I suppose it's an excuse to learn how to bang on the firmware. :-)