avr: introduced network module

this will be the base module for network modules.
This commit is contained in:
Martin Preuss
2025-02-13 01:12:29 +01:00
parent c5ab06b6d0
commit bf61be029e
16 changed files with 501 additions and 838 deletions

View File

@@ -29,10 +29,10 @@ ttyOnUart1_iface: .byte UART_HW_IFACE_SIZE
TtyOnUart1_Init:
ldi yl, LOW(ttyOnUart1_iface)
ldi yh, HIGH(ttyOnUart1_iface)
rcall UART_HW_InterfaceInit ; (R16, R17, X)
rcall UART_HW_Uart1_Init ; (R16, R17, X)
rcall UART_HW_Interface_Init ; (R16, R17, X)
rcall UART_HW_Uart1_Init ; (R16, R17, X)
ldi r16, TTYONUART1_IFACENUM
std Y+UART_HW_IFACE_OFFS_IFACENUM, r16
std Y+NET_IFACE_OFFS_IFACENUM, r16
ret
; @end
@@ -47,15 +47,15 @@ TtyOnUart1_Periodically:
ldi yl, LOW(ttyOnUart1_iface)
ldi yh, HIGH(ttyOnUart1_iface)
ldd r16, Y+UART_HW_IFACE_OFFS_READTIMER
ldd r16, Y+NET_IFACE_OFFS_READTIMER
inc r16
breq TtyOnUart1_Periodically_l1
std Y+UART_HW_IFACE_OFFS_READTIMER, r16
std Y+NET_IFACE_OFFS_READTIMER, r16
TtyOnUart1_Periodically_l1:
ldd r16, Y+UART_HW_IFACE_OFFS_WRITETIMER
ldd r16, Y+NET_IFACE_OFFS_WRITETIMER
inc r16
breq TtyOnUart1_Periodically_l2
std Y+UART_HW_IFACE_OFFS_WRITETIMER, r16
std Y+NET_IFACE_OFFS_WRITETIMER, r16
TtyOnUart1_Periodically_l2:
ret
; @end
@@ -259,7 +259,7 @@ ttyOnUart1RunWriteBufferEmpty:
cp r16, r17
breq ttyOnUart1RunWriteBufferEmpty_setIdle
std Y+UART_HW_IFACE_OFFS_WRITEBUFNUM, r17
rcall UART_HW_FixedBuffers_ReleaseByNum ; (R16, X)
rcall NET_Buffer_ReleaseByNum ; (R16, X)
ttyOnUart1RunWriteBufferEmpty_setIdle:
rcall UART_HW_Uart1_StopTx ; disable transceiver and interrupts (R16)
ldi r16, UART_HW_WRITEMODE_IDLE