DavidAntliff/esp32-owb

RMT "Write 1" LOW duration too short

alemariusnexus opened this issue · 1 comments

I'm currently writing a bit-banged 1-Wire slave for PIC16/18, which forces me to look pretty closely at some of the 1-Wire timing. With esp32-owb as the master, the LOW pulse for a "write 1" is a bit short, which makes my slave not recognize it. This is what the code says:

#define OW_DURATION_1_LOW 2

As far as I understand, 2us is actually too short. The Maxim guide recommends 6us (parameter A in the second table), and the worksheet below that table gives 5us as a minimum with default parameters.

While 2us seem to work with the official 1-Wire devices I have, I think it's better to use 6us (which is what the GPIO driver already does, btw) to comply with "the standard".

Thanks for the feedback, seems like a good suggestion. I'll keep this issue open until I have time to look at it properly.