avr: fixed timer usage in COM2 and COM2_PROTO module.
This commit is contained in:
@@ -97,7 +97,7 @@ CPRO_Address_Init:
|
|||||||
; setup timer for address setup (after 10s)
|
; setup timer for address setup (after 10s)
|
||||||
ldi r16, CPRO_MODE_NOADDRESS
|
ldi r16, CPRO_MODE_NOADDRESS
|
||||||
sts cproMode, r16
|
sts cproMode, r16
|
||||||
ldi r18, 10
|
ldi r18, 100
|
||||||
ldi r19, 0
|
ldi r19, 0
|
||||||
rcall cproAddressSetTimer
|
rcall cproAddressSetTimer
|
||||||
ret
|
ret
|
||||||
@@ -157,7 +157,7 @@ CPRO_StartGetAddrProcedure:
|
|||||||
; REGS: r18, r19
|
; REGS: r18, r19
|
||||||
;
|
;
|
||||||
cproAddressSetTimer1s:
|
cproAddressSetTimer1s:
|
||||||
ldi r18, 1
|
ldi r18, 10
|
||||||
ldi r19, 0
|
ldi r19, 0
|
||||||
rjmp cproAddressSetTimer
|
rjmp cproAddressSetTimer
|
||||||
|
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ cproHandle1sNeedAddr:
|
|||||||
cproHandle1sNeedAddr_okay:
|
cproHandle1sNeedAddr_okay:
|
||||||
ldi r16, CPRO_MODE_GETADDRSTARTED ; wait for incoming messages
|
ldi r16, CPRO_MODE_GETADDRSTARTED ; wait for incoming messages
|
||||||
sts cproMode, r16
|
sts cproMode, r16
|
||||||
ldi r18, CPRO_WAITTIME_GETADDR ; set timeout
|
ldi r18, LOW(CPRO_WAITTIME_GETADDR) ; set timeout
|
||||||
clr r19
|
ldi r19, HIGH(CPRO_WAITTIME_GETADDR) ; set timeout
|
||||||
rjmp cproAddressSetTimer
|
rjmp cproAddressSetTimer
|
||||||
|
|
||||||
|
|
||||||
@@ -89,8 +89,8 @@ cproHandle1sSendReclaimAddr:
|
|||||||
cproHandle1sSendReclaimAddr_okay:
|
cproHandle1sSendReclaimAddr_okay:
|
||||||
ldi r16, CPRO_MODE_RECLAIMING_ADDR
|
ldi r16, CPRO_MODE_RECLAIMING_ADDR
|
||||||
sts cproMode, r16
|
sts cproMode, r16
|
||||||
ldi r18, CPRO_WAITTIME_RECLAIMADDR
|
ldi r18, LOW(CPRO_WAITTIME_RECLAIMADDR)
|
||||||
clr r19
|
ldi r19, HIGH(CPRO_WAITTIME_RECLAIMADDR)
|
||||||
rjmp cproAddressSetTimer ; prepare time for next stage
|
rjmp cproAddressSetTimer ; prepare time for next stage
|
||||||
|
|
||||||
|
|
||||||
@@ -117,8 +117,8 @@ cproHandle1sSendClaimAddr1:
|
|||||||
cproHandle1sClaimSend_okay: ; goto nex stage
|
cproHandle1sClaimSend_okay: ; goto nex stage
|
||||||
ldi r16, CPRO_MODE_CLAIMING_ADDR1
|
ldi r16, CPRO_MODE_CLAIMING_ADDR1
|
||||||
sts cproMode, r16
|
sts cproMode, r16
|
||||||
ldi r18, CPRO_WAITTIME_CLAIMADDR
|
ldi r18, LOW(CPRO_WAITTIME_CLAIMADDR)
|
||||||
clr r19
|
ldi r19, HIGH(CPRO_WAITTIME_CLAIMADDR)
|
||||||
rjmp cproAddressSetTimer ; prepare timer for next stage
|
rjmp cproAddressSetTimer ; prepare timer for next stage
|
||||||
|
|
||||||
|
|
||||||
@@ -132,8 +132,8 @@ cproHandle1sClaimingAddr12_okay:
|
|||||||
lds r16, cproMode
|
lds r16, cproMode
|
||||||
inc r16
|
inc r16
|
||||||
sts cproMode, r16
|
sts cproMode, r16
|
||||||
ldi r18, CPRO_WAITTIME_CLAIMADDR
|
ldi r18, LOW(CPRO_WAITTIME_CLAIMADDR)
|
||||||
clr r19
|
ldi r19, HIGH(CPRO_WAITTIME_CLAIMADDR)
|
||||||
rjmp cproAddressSetTimer ; prepare time for next stage
|
rjmp cproAddressSetTimer ; prepare time for next stage
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,13 @@ cproHandleNeedAddr:
|
|||||||
sts cproMode, r24
|
sts cproMode, r24
|
||||||
lds r24, com2Address
|
lds r24, com2Address
|
||||||
clr r25
|
clr r25
|
||||||
adiw r25:r24, 3
|
lsl r24 ; *2
|
||||||
|
rol r25
|
||||||
|
lsl r24 ; *4
|
||||||
|
rol r25
|
||||||
|
lsl r24 ; *8
|
||||||
|
rol r25
|
||||||
|
adiw r25:r24, 30 ; add 3 secs
|
||||||
mov r18, r24
|
mov r18, r24
|
||||||
mov r19, r25
|
mov r19, r25
|
||||||
rjmp cproAddressSetTimer
|
rjmp cproAddressSetTimer
|
||||||
|
|||||||
@@ -73,10 +73,10 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; wait times for address protocol
|
; wait times for address protocol
|
||||||
|
|
||||||
.equ CPRO_WAITTIME_INITIAL = 10
|
.equ CPRO_WAITTIME_INITIAL = 100
|
||||||
.equ CPRO_WAITTIME_GETADDR = 130
|
.equ CPRO_WAITTIME_GETADDR = 1300
|
||||||
.equ CPRO_WAITTIME_CLAIMADDR = 17
|
.equ CPRO_WAITTIME_CLAIMADDR = 170
|
||||||
.equ CPRO_WAITTIME_RECLAIMADDR = 10
|
.equ CPRO_WAITTIME_RECLAIMADDR = 100
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user