Change Slave sends '0' during convert prozess on all DS18B20
[owSlave2.git] / common / OWPinInterrupt.s
index 00feec0..72aef80 100644 (file)
@@ -115,12 +115,15 @@ iend:
        rjmp zeropolling
        rjmp no_zerromaker
 zeropolling:
+       sbrc r_sendflag,1  ; sendflag bit 1 -> switch off zeropolling in software eg for asking convert is donne (DS2450, DS18B20 and others)
+       rjmp no_zerromaker
+zeropolling_h_loop:
        sbic OW_PIN,OW_PINN ;warten bis leitung wieder h 
        rjmp zeropolling_wait  ;leitung ist low ->Schleie
        in r_temp,TCNT_REG
        cpi r_temp,(~OWT_MIN_RESET)+OWT_ZP_WAIT_LOW_TO;aller zwei us zaehlt der timer
        brsh  zeropolling_timeout ;Timeout Reset?
-       rjmp zeropolling
+       rjmp zeropolling_h_loop
 zeropolling_wait:
        sbis OW_PIN,OW_PINN ;warten bis leitung wieder l
        rjmp zeropolling_low_imp ;Leitung ist low raus aus schleufe