diff --git a/avr/modules/owimaster/main.asm b/avr/modules/owimaster/main.asm index c1dc609..f4fe71b 100644 --- a/avr/modules/owimaster/main.asm +++ b/avr/modules/owimaster/main.asm @@ -40,9 +40,13 @@ OwiMaster_Init: OwiMaster_Reset: ; send RESET pulse (min. 480usec) - sbi OWI_DDR, OWI_PINNUM ; set to output - cbi OWI_PORTOUT, OWI_PINNUM ; set value to zero - Utils_WaitNanoSecs 500000, 0, r22 + sbi OWI_DDR, OWI_PINNUM ; set to output + cbi OWI_PORTOUT, OWI_PINNUM ; set value to zero + rcall Utils_WaitFor100MicroSecs ; wait for about 500 usecs + rcall Utils_WaitFor100MicroSecs + rcall Utils_WaitFor100MicroSecs + rcall Utils_WaitFor100MicroSecs + rcall Utils_WaitFor100MicroSecs cbi OWI_DDR, OWI_PINNUM ; set to input ; if present slave pulls line low for 60 usecs (we check after 30 usecs)