Use uid to determine initial wait time after re-enum request.
This commit is contained in:
@@ -210,12 +210,19 @@ appNetworkHandlePingRequest_end:
|
||||
|
||||
|
||||
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
|
||||
std Y+NET_IFACE_OFFS_STATUS, r16
|
||||
ldd r16, Y+NET_IFACE_OFFS_ADDRESS ; use current address as timer
|
||||
std Y+NET_IFACE_OFFS_STATETIMER, r16
|
||||
ldi r16, APP_NETWORK_ADDRESS_RANGE_BEGIN
|
||||
cpi r18, 20
|
||||
brcc appNetworkHandleReeunumRequest_setWait
|
||||
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_END, r21
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user