avr/uart_hw: basically works for a while then stops...
This commit is contained in:
@@ -188,27 +188,14 @@ l_storeChar_%:
|
||||
brcc l_econtent_% ; content error (msg too long)
|
||||
subi r16, 2 ; subtract bytes already received
|
||||
std Y+UART_HW_IFACE_OFFS_READBUFLEFT, r16 ; set new number of bytes left
|
||||
brne l_end_% ; jmp if still bytes left to received
|
||||
brne l_end_% ; jmp if still bytes left to receive
|
||||
l_msgFinished_%:
|
||||
ldd r16, Y+UART_HW_IFACE_OFFS_READBUFNUM
|
||||
rcall NET_AddIncomingMsgNum ; (R17, R18, X)
|
||||
brcs l_msgStored_%
|
||||
; msg complete but could not store
|
||||
rcall NET_Buffer_Locate
|
||||
rcall UART_HW_Interface_SetReadBuffer ; reset/reuse current buffer
|
||||
ldi r16, NET_IFACE_OFFS_ERR_NOBUF_LOW
|
||||
ldi r17, UART_HW_READMODE_READING
|
||||
rjmp l_incCounterAndEnterMode_%
|
||||
l_msgStored_%:
|
||||
ldi r16, NET_IFACE_OFFS_PACKETSIN_LOW
|
||||
ldi r17, UART_HW_READMODE_MSGRECEIVED
|
||||
rjmp l_incCounterAndEnterMode_%
|
||||
l_hwerr_%:
|
||||
ldi r16, NET_IFACE_OFFS_ERR_IO_LOW
|
||||
rcall NET_Interface_IncCounter16
|
||||
ldi r16, UART_HW_READMODE_SKIPPING
|
||||
std Y+UART_HW_IFACE_OFFS_READMODE, r16 ; set read mode
|
||||
rjmp l_end_%
|
||||
rjmp l_incCounterAndEnterSkipping_%
|
||||
l_econtent_%:
|
||||
ldi r16, NET_IFACE_OFFS_ERR_CONTENT_LOW
|
||||
rjmp l_incCounterAndEnterSkipping_%
|
||||
@@ -315,3 +302,38 @@ l_end_%:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @macro M_UART_HW_Uart_SetAttnInput
|
||||
;
|
||||
; Set ATTN line as input (making it effectively HIGH due to pull-up resistor on
|
||||
; the line)
|
||||
;
|
||||
; @clobbers none
|
||||
|
||||
.macro M_UART_HW_Uart_SetAttnInput
|
||||
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as input
|
||||
.ifdef COM_ATTN_PUE
|
||||
.else
|
||||
cbi COM_ATTN_PUE, COM_ATTN_PIN ; disable pullup on ATTN
|
||||
.endif
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable pullup on ATTN
|
||||
.endmacro
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @macro M_UART_HW_Uart_SetAttnLow
|
||||
;
|
||||
; Set ATTN line low.
|
||||
;
|
||||
; @clobbers none
|
||||
|
||||
.macro M_UART_HW_Uart_SetAttnLow
|
||||
sbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as output
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; set ATTN low
|
||||
.endmacro
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user