Use uid to determine initial wait time after re-enum request.
This commit is contained in:
@@ -210,12 +210,19 @@ appNetworkHandlePingRequest_end:
|
|||||||
|
|
||||||
|
|
||||||
appNetworkHandleReeunumRequest:
|
appNetworkHandleReeunumRequest:
|
||||||
rcall NETMSG_Range_Read
|
push xl
|
||||||
|
push xh
|
||||||
|
rcall Utils_ReadUid ; r21:r20:r19:r18=uid (r16, X)
|
||||||
|
pop xh
|
||||||
|
pop xl
|
||||||
|
rcall NETMSG_Range_Read ; r20=range begin, r21=range end (none)
|
||||||
ldi r16, APP_NETWORK_STATE_INITIALWAIT
|
ldi r16, APP_NETWORK_STATE_INITIALWAIT
|
||||||
std Y+NET_IFACE_OFFS_STATUS, r16
|
std Y+NET_IFACE_OFFS_STATUS, r16
|
||||||
ldd r16, Y+NET_IFACE_OFFS_ADDRESS ; use current address as timer
|
cpi r18, 20
|
||||||
std Y+NET_IFACE_OFFS_STATETIMER, r16
|
brcc appNetworkHandleReeunumRequest_setWait
|
||||||
ldi r16, APP_NETWORK_ADDRESS_RANGE_BEGIN
|
subi r18, -20 ; minimum 2s
|
||||||
|
appNetworkHandleReeunumRequest_setWait:
|
||||||
|
std Y+NET_IFACE_OFFS_STATETIMER, r18 ; use lowest byte of uid as wat time
|
||||||
std Y+NET_IFACE_OFFS_RANGE_BEGIN, r20
|
std Y+NET_IFACE_OFFS_RANGE_BEGIN, r20
|
||||||
std Y+NET_IFACE_OFFS_RANGE_END, r21
|
std Y+NET_IFACE_OFFS_RANGE_END, r21
|
||||||
ret
|
ret
|
||||||
|
|||||||
Reference in New Issue
Block a user