orgua / OneWireHub

OneWire slave device emulator
GNU General Public License v3.0
343 stars 86 forks source link

checkReset() is causing a indefinite loop which requires a hard reset. #87

Open RGarrett93 opened 4 years ago

RGarrett93 commented 4 years ago

Waiting on a logic analyser to arrive but after some/ random duration of poll(), the checkReset() is freezing/ causing the program to go in to indefinite loop until a hard reset is occurred. Currently using an Arduino nano with anI2C LCD display.

My program consists of changing the DS2401 serial number, when I change a certain state.

I've currently created a new poll() function separate to the original where I've commented out the checkReset(), this has temporary sorted the issue but the 1-wire master does not always pick up the new serial number when the hub is attached again.

Do you have any suggestions for why the checkReset() is hanging? Once I receive my logic analyser; I'm hoping it should give me an indication of what the Master is outputting. I've tried to run the diagnosis but sadly since the nano clock is 16Mhz its not compatible, I haven't tried running the nano at 20Mhz yet.