I've been using the object SpinOneWire.spin from the OBEX obex.parallax.com/objects/342/
and I've recently noticed that it has no method for writing to the Scratchpad memory, therefore the configuration registers can not be changed on a 1-wire device.
Specifically, what I'm trying to do is run a DS18B20 digital thermometer at lower bit resolution (9 or 10 bit) instead of its 12-bit default so I can get it to run at higher speed. I have attached the data sheet below.
Looking at pages 7 and 8 of the data sheet, I see that the "Write Scratchpad" command is 4EH, and to get the newly-set bit resolution to stay in the EEPROM of the DS18B20, a "Copy Scratchpad" (48H) command must be issued. The problem for me is that I don't understand what all the bit-banging procedures are doing in SpinOneWire. And I'm afraid if I try to learn this by trial and error, I'm going to get something stuck in the EEPROM of my DS18B20s and never get it out.
I feel like I'm on the hairy edge of understanding how to do this, but frozen with fear.
Anybody know how to make this work?