Hello,
I was wondering if there is any issue with OneWire library porting it to support overdrive.
I am using this part, which is a EEPROM device that I need to register another PCB that’s interfacing with my Argon.
I used this library for the onewire bus, and modified the timing using this to support overdrive.
I hooked up the same setup using a Arduino Uno, using the OW overdrive library and it works fine, but once I hook it up to the particle, it doesn’t work. Hooking up to a scope, I see my delays are all over the place on the Argon. I put a delayMicroseconds(55) function call and my scope says its delaying for 65us. Also, my bit timing is all over the place on my scope. One loop bit 0 is fine and bit 3 is doubled in time, and the next loop, bit 0 is wrong, and bit 3 is fine.
Is there a known issue with delayMicroseconds? Some of the timing requires a nanosecond scale, are there any functions that will delay for nanoseconds? Or perhaps is there a library that supports overdrive.
Ive used many different pullups, from 10k to 850 ohms, so I don’t think it’s the drive strength of my bus. I am pulling it up to 3.3V and the chip only need 400uA to operate.