avr: added NETMSG_Debug_Write2 (sends bytes from a buffer)
This commit is contained in:
@@ -51,3 +51,42 @@ NETMSG_Debug_Write:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine NETMSG_Debug_Write2 @global
|
||||||
|
;
|
||||||
|
; @param Y pointer to device to write msg for
|
||||||
|
; @param X pointer to buffer to write to
|
||||||
|
; @param Z source pointer (in RAM)
|
||||||
|
; @clobbers R16, R17, R18, R19, R20, R21
|
||||||
|
|
||||||
|
NETMSG_Debug_Write2:
|
||||||
|
push xl
|
||||||
|
push xh
|
||||||
|
ldi r16, 0xff
|
||||||
|
st X+, r16 ; dest address
|
||||||
|
mov r16, r20
|
||||||
|
ldi r17, 2
|
||||||
|
add r16, r17 ; msg code+src address+n payload bytes
|
||||||
|
st X+, r16 ; msg len
|
||||||
|
ldi r16, NETMSG_CMD_DEBUG
|
||||||
|
st X+, r16 ; msg code
|
||||||
|
ldd r16, Y+NET_IFACE_OFFS_ADDRESS
|
||||||
|
st X+, r16 ; src address
|
||||||
|
mov r17, r20
|
||||||
|
NETMSG_Debug_Write2_loop:
|
||||||
|
ld r16, Z+
|
||||||
|
st X+, r16
|
||||||
|
dec r17
|
||||||
|
brne NETMSG_Debug_Write2_loop
|
||||||
|
pop xh
|
||||||
|
pop xl
|
||||||
|
push xl
|
||||||
|
push xh
|
||||||
|
rcall NETMSG_CalcAndAddChecksumByte ; (R16, R17, R18, R19, R20, X)
|
||||||
|
pop xh
|
||||||
|
pop xl
|
||||||
|
ret
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user