reduce size of net buffers from 32 to 28.
allows us to use 10 buffers in R05.
This commit is contained in:
@@ -124,6 +124,8 @@ NET_Buffer_ReleaseByNum_end:
|
||||
NET_Buffer_Locate:
|
||||
cpi r16, NET_BUFFERS_NUM
|
||||
brcc NET_Buffer_Locate_end ; out of range
|
||||
|
||||
.if NET_BUFFERS_SIZE == 32
|
||||
mov xh, r16 ; * 256
|
||||
clr xl
|
||||
lsr xh ; *128
|
||||
@@ -132,10 +134,31 @@ NET_Buffer_Locate:
|
||||
ror xl
|
||||
lsr xh ; *32
|
||||
ror xl
|
||||
.elif NET_BUFFERS_SIZE == 28
|
||||
clr r17
|
||||
mov xl, r16 ; * 256
|
||||
clr xh
|
||||
lsl xl ; * 2
|
||||
rol xh
|
||||
add xl, r16 ; * 3
|
||||
adc xh, r17
|
||||
lsl xl ; * 6
|
||||
rol xh
|
||||
add xl, r16 ; * 7
|
||||
adc xh, r17
|
||||
lsl xl ; * 14
|
||||
rol xh
|
||||
lsl xl ; * 28
|
||||
rol xh
|
||||
.else
|
||||
.error "Unhandled buffer size"
|
||||
.endif
|
||||
|
||||
ldi r17, LOW(netBuffers)
|
||||
add xl, r17
|
||||
ldi r17, HIGH(netBuffers)
|
||||
adc xh, r17
|
||||
|
||||
sec
|
||||
NET_Buffer_Locate_end:
|
||||
ret
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
; defs
|
||||
|
||||
.equ NET_BUFFERS_SIZE = 32 ; CAVE: need to adapt routine NET_Buffer_Locate when changing this value!!
|
||||
.equ NET_BUFFERS_SIZE = 28 ; CAVE: need to adapt routine NET_Buffer_Locate when changing this value!!
|
||||
|
||||
.equ NET_MSGNUMINBUF_SIZE = 6 ; max buffer nums in ringbuffer (global incoming)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user