diff --git a/avr/modules/uart_hw/net_uart.asm b/avr/modules/uart_hw/net_uart.asm index 6f9b872..c31c126 100644 --- a/avr/modules/uart_hw/net_uart.asm +++ b/avr/modules/uart_hw/net_uart.asm @@ -171,6 +171,10 @@ netUartRecvPacket_haveBuf: rcall UART_StopRx ; (R16) sec ret +netUartRecvPacket_noAddMsg: + rcall NET_Buffer_ReleaseByNum ; (R16, X) + ldi r16, NET_IFACE_OFFS_ERR_MISSED_LOW + rjmp netUartRecvPacket_incCounterRet netUartRecvPacket_releaseBufRet: rcall NET_Buffer_ReleaseByNum ; (R16, X) ldi r16, NET_IFACE_OFFS_ERR_NOBUF_LOW @@ -212,13 +216,14 @@ netUartRecvPacketIntoX: sec ret netUartRecvPacketIntoX_handleError: - mov r17, r16 - cpi r17, UART_ERROR_IO - ldi r16, NET_IFACE_OFFS_ERR_IO_LOW - breq netUartRecvPacketIntoX_incCounterRetNc - cpi r17, UART_ERROR_CONTENT + cpi r16, UART_ERROR_IO + breq netUartRecvPacketIntoX_ioError + cpi r16, UART_ERROR_CONTENT breq netUartRecvPacketIntoX_contentError rjmp netUartRecvPacketIntoX_retNc +netUartRecvPacketIntoX_ioError: + ldi r16, NET_IFACE_OFFS_ERR_IO_LOW + rjmp netUartRecvPacketIntoX_incCounterRetNc netUartRecvPacketIntoX_contentError: ldi r16, NET_IFACE_OFFS_ERR_CONTENT_LOW netUartRecvPacketIntoX_incCounterRetNc: