avr: Try to fix a bug (not respecting DENY_ADDRESS).
This commit is contained in:
@@ -41,7 +41,8 @@ cproAddressOnTimerTable:
|
||||
.dw cproHandle1sSendingHaveAddress ; CPRO_MODE_SENDING_HAVE_ADDR
|
||||
.dw cproHandle1sSendReclaimAddr ; CPRO_MODE_SEND_RECLAIM_ADDR
|
||||
.dw cproHandle1sReclaimingAddr ; CPRO_MODE_RECLAIMING_ADDR
|
||||
.dw cproHandle1sSendDenyAddr ; CPRO_MODE_SEND_DENY_ADDR
|
||||
.dw cproHandle1sSendDenyAddr1 ; CPRO_MODE_SEND_DENY_ADDR1
|
||||
.dw cproHandle1sSendDenyAddr2 ; CPRO_MODE_SEND_DENY_ADDR2
|
||||
|
||||
|
||||
cproHandle1sSendingHaveAddress:
|
||||
@@ -70,11 +71,24 @@ cproHandle1sNeedAddr_okay:
|
||||
|
||||
|
||||
|
||||
cproHandle1sSendDenyAddr:
|
||||
cproHandle1sSendDenyAddr1:
|
||||
rcall CPRO_SendDenyAddress
|
||||
brcs cproHandle1sSendDenyAddr_okay
|
||||
brcs cproHandle1sSendDenyAddr1_okay
|
||||
rjmp cproAddressSetTimer1s ; could not send, restart timer 1s and retry later
|
||||
cproHandle1sSendDenyAddr_okay:
|
||||
cproHandle1sSendDenyAddr1_okay:
|
||||
ldi r16, CPRO_MODE_SEND_DENY_ADDR2 ; DENY_ADDR sent, send 2nd later
|
||||
sts cproMode, r16
|
||||
ldi r18, LOW(CPRO_WAITTIME_SENDDENY2) ; set timeout
|
||||
ldi r19, HIGH(CPRO_WAITTIME_SENDDENY2) ; set timeout
|
||||
rjmp cproAddressSetTimer
|
||||
ret
|
||||
|
||||
|
||||
cproHandle1sSendDenyAddr2:
|
||||
rcall CPRO_SendDenyAddress
|
||||
brcs cproHandle1sSendDenyAddr2_okay
|
||||
rjmp cproAddressSetTimer1s ; could not send, restart timer 1s and retry later
|
||||
cproHandle1sSendDenyAddr2_okay:
|
||||
ldi r16, CPRO_MODE_NORMAL ; DENY_ADDR sent, back to normal
|
||||
sts cproMode, r16
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user