integrated Timer1 library (instead of custom code) ; but for an unknown reason it breaks the 1-wire communication (timer code doesn't work at all, or timings are wrong, or both) ; search algorithm is broken, and probably everything else as well
delayMicroSeconds-=10;// remove overhead (tuned on Arduino Uno)
if(delayMicroSeconds<1)
delayMicroSeconds=1;
shortskipTicks=(delayMicroSeconds-3)/4;// round the micro seconds delay to a number of ticks to skip (4us per tick, so 4us must skip 0 tick, 8us must skip 1 tick, etc.)