avr: more work on bitbang module (works now).

This commit is contained in:
Martin Preuss
2024-10-28 23:43:19 +01:00
parent 2626c4365c
commit c5915b5583
3 changed files with 28 additions and 23 deletions

View File

@@ -84,7 +84,7 @@ uartBitbang_SendPacket:
brcc uartBitbang_SendPacket_lineBusyError
rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
; rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
adiw xh:xl, COM2_MSG_OFFS_MSGLEN
ld r17, X
@@ -126,13 +126,13 @@ uartBitbang_SendPacket_lineBusyError:
uartBitbang_AcquireBus:
; check for ATTN line: busy?
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable pullup on ATTN
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as input
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable pullup on ATTN
nop ; needed to sample current input
sbis COM_ATTN_INPUT, COM_ATTN_PIN ; ATTN low?
rjmp uartBitbang_AcquireBus_busy ; jump if it is
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; set ATTN low
sbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as output
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; set ATTN low
sec
ret
uartBitbang_AcquireBus_busy: