simplified code, remove unused code.

This commit is contained in:
Martin Preuss
2025-08-25 11:25:30 +02:00
parent 32a0ad5eae
commit 5bfb49d9e1
2 changed files with 8 additions and 15 deletions

View File

@@ -69,20 +69,12 @@ NET_Buffer_Alloc:
brcc NET_Buffer_Alloc_countersSet brcc NET_Buffer_Alloc_countersSet
sts netBuffersMaxUsed, r17 sts netBuffersMaxUsed, r17
NET_Buffer_Alloc_countersSet: NET_Buffer_Alloc_countersSet:
#ifdef MODULES_LED_SIGNAL
ldi r16, T03_FLAGS_ALLOC
rcall LedSignal_ClrFlag ; (R17)
#endif
pop r16 pop r16
out SREG, r15 out SREG, r15
pop r15 pop r15
sec sec
ret ret
NET_Buffer_Alloc_error: NET_Buffer_Alloc_error:
#ifdef MODULES_LED_SIGNAL
ldi r16, T03_FLAGS_ALLOC
rcall LedSignal_SetFlag ; (R17)
#endif
out SREG, r15 out SREG, r15
pop r15 pop r15
clc clc
@@ -93,7 +85,7 @@ NET_Buffer_Alloc_noIrq:
ldi xh, HIGH(netBuffers) ldi xh, HIGH(netBuffers)
m_fixedbuf_reserve NET_BUFFERS_SIZE, NET_BUFFERS_NUM m_fixedbuf_reserve NET_BUFFERS_SIZE, NET_BUFFERS_NUM
brcc NET_Buffer_Alloc_end brcc NET_Buffer_Alloc_end
ldi r17, (1<<NET_IFACE_BUFFER_INUSE_BIT0) ; set refcounter to 1 ldi r17, 0x10 ; set refcounter to 1
st X, r17 st X, r17
NET_Buffer_Alloc_end: NET_Buffer_Alloc_end:
ret ret
@@ -111,17 +103,18 @@ NET_Buffer_ReleaseByAddr:
push r15 push r15
in r15, SREG in r15, SREG
cli cli
ld r16, X ld r16, X
swap r16 swap r16
andi r16, 0x0f ; ref counter now in lower nibble andi r16, 0x0f ; ref counter now in low nibble
breq NET_Buffer_ReleaseByAddr_done ; refcounter 0? -> not in use breq NET_Buffer_ReleaseByAddr_done ; refcounter 0? -> not in use
dec r16 dec r16
breq NET_Buffer_ReleaseByAddr_release breq NET_Buffer_ReleaseByAddr_release
swap r16 swap r16 ; ref counter now back in high nibble
push r17 push r17
ld r17, X ld r17, X
andi r17, 0x0f andi r17, 0x0f ; keep interface number
or r16, r17 or r16, r17 ; or interface number into R16 (R16 now complete)
st X, r16 st X, r16
pop r17 pop r17
rjmp NET_Buffer_ReleaseByAddr_done rjmp NET_Buffer_ReleaseByAddr_done

View File

@@ -188,9 +188,9 @@ NET_Interface_IncCounter16_end:
NET_Interface_SetIfaceNumInBuffer: NET_Interface_SetIfaceNumInBuffer:
ldd r16, Y+NET_IFACE_OFFS_IFACENUM ldd r16, Y+NET_IFACE_OFFS_IFACENUM
andi r16, (1<<NET_IFACE_BUFFER_IFACENUM1_BIT) | (1<<NET_IFACE_BUFFER_IFACENUM0_BIT) andi r16, 0x0f
ld r17, X ld r17, X
cbr r17, (1<<NET_IFACE_BUFFER_IFACENUM1_BIT) | (1<<NET_IFACE_BUFFER_IFACENUM0_BIT) andi r17, 0xf0
or r17, r16 or r17, r16
st X, r17 st X, r17
ret ret