avr: more work on ardware uart code.
This commit is contained in:
@@ -10,26 +10,32 @@
|
||||
|
||||
.equ UART_HW_IFACE_READBUF_SIZE = 8
|
||||
.equ UART_HW_IFACE_WRITEBUF_SIZE = 8
|
||||
|
||||
.equ UART_HW_IFACE_OUTMSGBUF_SIZE = 4
|
||||
|
||||
.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_READMASK = 0x0f
|
||||
.equ UART_HW_MODE_WRITEMASK = 0xf0
|
||||
|
||||
.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_MODE_SKIPPING = 3
|
||||
|
||||
.equ UART_HW_MODE_W_IDLE = 0
|
||||
.equ UART_HW_MODE_WRITING = 8
|
||||
.equ UART_HW_MODE_WAITBUFFEREMPTY = 9
|
||||
.equ UART_HW_MODE_WRITEBUFFEREMPTY = 10
|
||||
|
||||
|
||||
.equ UART_HW_STATUS_UNDERRUN = 0x01
|
||||
.equ UART_HW_STATUS_OVERRUN = 0x02
|
||||
.equ UART_HW_STATUS_HWERR = 0x04
|
||||
.equ UART_HW_STATUS_SOFTERR = 0x08
|
||||
.equ UART_HW_STATUS_ATTN = 0x80
|
||||
.equ UART_HW_STATUS_UNDERRUN_BIT = 0
|
||||
.equ UART_HW_STATUS_OVERRUN_BIT = 1
|
||||
.equ UART_HW_STATUS_HWERR_BIT = 2
|
||||
.equ UART_HW_STATUS_SOFTERR_BIT = 3
|
||||
.equ UART_HW_STATUS_ATTN_BIT = 7
|
||||
|
||||
|
||||
.equ UART_HW_IFACE_OFFS_IFACENUM = 0 ; interface number (put into received messages)
|
||||
@@ -56,12 +62,22 @@
|
||||
.equ UART_HW_IFACE_OFFS_WRITEBUF_WRPOS = UART_HW_IFACE_OFFS_WRITEBUF+3
|
||||
.equ UART_HW_IFACE_OFFS_WRITEBUF_DATA = UART_HW_IFACE_OFFS_WRITEBUF+4
|
||||
|
||||
.equ UART_HW_IFACE_OFFS_READMSG = UART_HW_IFACE_OFFS_WRITEBUF_DATA+UART_HW_IFACE_WRITEBUF_SIZE
|
||||
; ringbuffer for outgoing messages
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF = UART_HW_IFACE_OFFS_WRITEBUF_DATA+UART_HW_IFACE_WRITEBUF_SIZE
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF_MAX = UART_HW_IFACE_OFFS_OUTMSGBUF
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF_USED = UART_HW_IFACE_OFFS_OUTMSGBUF+1
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF_RDPOS = UART_HW_IFACE_OFFS_OUTMSGBUF+2
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF_WRPOS = UART_HW_IFACE_OFFS_OUTMSGBUF+3
|
||||
.equ UART_HW_IFACE_OFFS_OUTMSGBUF_DATA = UART_HW_IFACE_OFFS_OUTMSGBUF+4
|
||||
|
||||
; ref to recv buffer
|
||||
.equ UART_HW_IFACE_OFFS_READMSG = UART_HW_IFACE_OFFS_OUTMSGBUF_DATA+UART_HW_IFACE_OUTMSGBUF_SIZE
|
||||
.equ UART_HW_IFACE_OFFS_READMSG_BUFNUM = UART_HW_IFACE_OFFS_READMSG ; 1 byte
|
||||
.equ UART_HW_IFACE_OFFS_READMSG_PTR = UART_HW_IFACE_OFFS_READMSG+1 ; 2 bytes
|
||||
.equ UART_HW_IFACE_OFFS_READMSG_USED = UART_HW_IFACE_OFFS_READMSG+3 ; 1 byte
|
||||
.equ UART_HW_IFACE_OFFS_READMSG_LEFT = UART_HW_IFACE_OFFS_READMSG+4 ; 1 byte
|
||||
|
||||
; ref to transmit buffer
|
||||
.equ UART_HW_IFACE_OFFS_WRITEMSG = UART_HW_IFACE_OFFS_READMSG_LEFT+1
|
||||
.equ UART_HW_IFACE_OFFS_WRITEMSG_BUFNUM = UART_HW_IFACE_OFFS_WRITEMSG ; 1 byte
|
||||
.equ UART_HW_IFACE_OFFS_WRITEMSG_PTR = UART_HW_IFACE_OFFS_WRITEMSG+1 ; 2 bytes
|
||||
|
||||
Reference in New Issue
Block a user