Files
aqhomecontrol/avr/modules/uart_hw/defs.asm
2025-01-16 17:05:42 +01:00

55 lines
2.4 KiB
NASM

; ***************************************************************************
; copyright : (C) 2025 by Martin Preuss
; email : martin@libchipcard.de
;
; ***************************************************************************
; * This file is part of the project "AqHome". *
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
.equ UART_HW_MSGNUMINBUF_SIZE = 8
.equ UART_HW_MSGNUMOUTBUF_SIZE = 4
.equ UART_HW_FIXEDBUFFERS_NUM = 6
.equ UART_HW_FIXEDBUFFERS_SIZE = 32 ; adapt UART_HW_FixedBuffers_Locate if you change this value!
.equ UART_HW_STATE_OFF = 0
.equ UART_HW_STATE_IDLE = 1
.equ UART_HW_STATE_READING = 2
.equ UART_HW_STATE_WRITING = 3
.equ UART_HW_STATE_SKIPPING = 4
.equ UART_HW_IFACE_MSGIDBUF_SIZE = 8
.equ UART_HW_IFACE_READBUF_SIZE = 24
.equ UART_HW_IFACE_OFFS_MODE = 0
.equ UART_HW_IFACE_OFFS_STATUS = 1
.equ UART_HW_IFACE_OFFS_READBUFFERNUM = 2 ; num of buffer currently read
.equ UART_HW_IFACE_OFFS_READBUFFERPOS = 3 ; current pos in readbuffer
.equ UART_HW_IFACE_OFFS_READBUFFERLEFT = 4 ; bytes left to read for current message
.equ UART_HW_IFACE_OFFS_WRITEBUFFERNUM = 5 ; num of buffer currently written from to network
.equ UART_HW_IFACE_OFFS_WRITEBUFFERPTR = 6 ; pointer to next pos in current write buffer to write from (2 bytes)
.equ UART_HW_IFACE_OFFS_WRITEBUFFERLEFT= 8 ; bytes left to write for current message
.equ UART_HW_IFACE_OFFS_RINGBUF_MAX = 9
.equ UART_HW_IFACE_OFFS_RINGBUF_USED = 10 ; ringbuffer for incoming chars
.equ UART_HW_IFACE_OFFS_RINGBUF_RDPOS = 11
.equ UART_HW_IFACE_OFFS_RINGBUF_WRPOS = 12
.equ UART_HW_IFACE_OFFS_RINGBUF_DATA = 13
.equ UART_HW_IFACE_OFFS_MSGIDBUF_MAX = UART_HW_IFACE_OFFS_RINGBUF_DATA+14 ; ringbuffer for ids of outbound messages
.equ UART_HW_IFACE_OFFS_MSGIDBUF_USED = UART_HW_IFACE_OFFS_RINGBUF_DATA+15 ; ringbuffer for ids of outbound messages
.equ UART_HW_IFACE_OFFS_MSGIDBUF_RDPOS = UART_HW_IFACE_OFFS_RINGBUF_DATA+16
.equ UART_HW_IFACE_OFFS_MSGIDBUF_WRPOS = UART_HW_IFACE_OFFS_RINGBUF_DATA+17
.equ UART_HW_IFACE_OFFS_MSGIDBUF_DATA = UART_HW_IFACE_OFFS_RINGBUF_DATA+18
.equ UART_HW_IFACE_SIZE = UART_HW_IFACE_OFFS_MSGIDBUF_DATA+UART_HW_IFACE_MSGIDBUF_SIZE