I just implemented a OneWire interface on a PandaII for a few Dallas thermometers and thought i’d share a couple of small basic problems experienced.
When i implemented the OneWire code from the tutorial example (http://wiki.tinyclr.com/index.php?title=OneWire_-_TempSensor) everything worked fine. Wanting to see what would happen when something goes wrong, I first removed the Dallas device and the code worked fine with the ow.Reset() returning false. Then i undid the wire to the sensor and the pull-up resistor and, evidently because the line was not being pulled up, the ow.Reset() returned true and the program hung at the loop while (ow.ReadByte() == 0) ; // wait while busy. I replaced that line of code with Thread.Sleep(750); and the routine returns a temp of 0. I would suggest changing the tutorial example.
I had previously implemented using the PH Anderson one-wire control chip. This worked fine as well except two of the pins on Anderson’s chip were dead on arrival. I emailed Dr. Anderson and asked for a replacement unit and he said no. I don’t blame him too much as shipping to Canada is more expensive then a new unit, but it would have been nice.