avr: more work on uart_hw module.

This commit is contained in:
Martin Preuss
2025-01-29 01:19:07 +01:00
parent 52bbfcfb15
commit b38d864612
5 changed files with 194 additions and 211 deletions

View File

@@ -12,11 +12,17 @@
.equ UART_HW_IFACE_WRITEBUF_SIZE = 8
.equ UART_HW_BUFFER_INUSE_BIT = 7
.equ UART_HW_BUFFER_IFACENUM1_BIT = 1
.equ UART_HW_BUFFER_IFACENUM0_BIT = 0
.equ UART_HW_MODE_OFF = 0
.equ UART_HW_MODE_IDLE = 1
.equ UART_HW_MODE_READING = 2
.equ UART_HW_MODE_WRITING = 4
.equ UART_HW_MODE_SKIPPING = 8
.equ UART_HW_MODE_WAITATTNLOW = 16 ; waiting after setting ATTN low
.equ UART_HW_STATUS_UNDERRUN = 0x01
@@ -26,14 +32,16 @@
.equ UART_HW_STATUS_ATTN = 0x80
.equ UART_HW_IFACE_OFFS_MODE = 0
.equ UART_HW_IFACE_OFFS_STATUS = 1
.equ UART_HW_IFACE_OFFS_READTIMER = 2
.equ UART_HW_IFACE_OFFS_WRITETIMER = 3
.equ UART_HW_IFACE_OFFS_ERR_OVR = 4
.equ UART_HW_IFACE_OFFS_IFACENUM = 0 ; interface number (put into received messages)
.equ UART_HW_IFACE_OFFS_MODE = 1
.equ UART_HW_IFACE_OFFS_STATUS = 2
.equ UART_HW_IFACE_OFFS_READTIMER = 3
.equ UART_HW_IFACE_OFFS_WRITETIMER = 4
.equ UART_HW_IFACE_OFFS_ERR_OVR = 5
.equ UART_HW_IFACE_OFFS_ERR_CONTENT = 6
; ringbuffer for incoming chars
.equ UART_HW_IFACE_OFFS_READBUF = 5
.equ UART_HW_IFACE_OFFS_READBUF = 7
.equ UART_HW_IFACE_OFFS_READBUF_MAX = UART_HW_IFACE_OFFS_READBUF
.equ UART_HW_IFACE_OFFS_READBUF_USED = UART_HW_IFACE_OFFS_READBUF+1
.equ UART_HW_IFACE_OFFS_READBUF_RDPOS = UART_HW_IFACE_OFFS_READBUF+2