; *************************************************************************** ; 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. * ; *************************************************************************** .cseg ; --------------------------------------------------------------------------- ; @routine UART_HW_InitInterface @global ; ; @param Y pointer to interface data in SRAM (see @ref UART_HW_IFACE_OFFS_STATE) ; @param Z pointer to IFACE jump table for the given interface ; @clobbers R16, R17, X UART_HW_InitInterface: mov xl, yl mov xh, yh ldi r17, UART_HW_IFACE_SIZE clr r16 rcall Utils_FillSram ; (R17, X) m_ringbuffer_y_reset UART_HW_IFACE_READBUF_SIZE, \ UART_HW_IFACE_OFFS_RINGBUF_USED, \ UART_HW_IFACE_OFFS_RINGBUF_RDPOS, \ UART_HW_IFACE_OFFS_RINGBUF_WRPOS, \ UART_HW_IFACE_OFFS_RINGBUF_DATA m_ringbuffer_y_reset UART_HW_IFACE_MSGIDBUF_SIZE, \ UART_HW_IFACE_OFFS_MSGIDBUF_USED, \ UART_HW_IFACE_OFFS_MSGIDBUF_RDPOS, \ UART_HW_IFACE_OFFS_MSGIDBUF_WRPOS, \ UART_HW_IFACE_OFFS_MSGIDBUF_DATA ldi r16, 0xff std Y+UART_HW_IFACE_OFFS_READBUFFERNUM, r16 ret ; @end