Intermittent OneWire CRC Fail

OK, I looked at the library read and write routines, and they are generously sprinkled with noInterrupts() statements, but there is nothing preventing the RTOS from preempting any of the routines. So, I am going to wrap my calls to the library with SINGLE_THREADED_BLOCK() statements. The ATOMIC_BLOCK() would be overkill since it adds only interrupt suspension, and would likely turn off interrupts too long.

I shall report back.

2 Likes