avr: fixed timer usage in COM2 and COM2_PROTO module.

This commit is contained in:
Martin Preuss
2024-09-18 20:24:32 +02:00
parent a1a64fec42
commit 91752156f2
4 changed files with 21 additions and 15 deletions

View File

@@ -97,7 +97,7 @@ CPRO_Address_Init:
; setup timer for address setup (after 10s)
ldi r16, CPRO_MODE_NOADDRESS
sts cproMode, r16
ldi r18, 10
ldi r18, 100
ldi r19, 0
rcall cproAddressSetTimer
ret
@@ -157,7 +157,7 @@ CPRO_StartGetAddrProcedure:
; REGS: r18, r19
;
cproAddressSetTimer1s:
ldi r18, 1
ldi r18, 10
ldi r19, 0
rjmp cproAddressSetTimer

View File

@@ -64,8 +64,8 @@ cproHandle1sNeedAddr:
cproHandle1sNeedAddr_okay:
ldi r16, CPRO_MODE_GETADDRSTARTED ; wait for incoming messages
sts cproMode, r16
ldi r18, CPRO_WAITTIME_GETADDR ; set timeout
clr r19
ldi r18, LOW(CPRO_WAITTIME_GETADDR) ; set timeout
ldi r19, HIGH(CPRO_WAITTIME_GETADDR) ; set timeout
rjmp cproAddressSetTimer
@@ -89,8 +89,8 @@ cproHandle1sSendReclaimAddr:
cproHandle1sSendReclaimAddr_okay:
ldi r16, CPRO_MODE_RECLAIMING_ADDR
sts cproMode, r16
ldi r18, CPRO_WAITTIME_RECLAIMADDR
clr r19
ldi r18, LOW(CPRO_WAITTIME_RECLAIMADDR)
ldi r19, HIGH(CPRO_WAITTIME_RECLAIMADDR)
rjmp cproAddressSetTimer ; prepare time for next stage
@@ -117,8 +117,8 @@ cproHandle1sSendClaimAddr1:
cproHandle1sClaimSend_okay: ; goto nex stage
ldi r16, CPRO_MODE_CLAIMING_ADDR1
sts cproMode, r16
ldi r18, CPRO_WAITTIME_CLAIMADDR
clr r19
ldi r18, LOW(CPRO_WAITTIME_CLAIMADDR)
ldi r19, HIGH(CPRO_WAITTIME_CLAIMADDR)
rjmp cproAddressSetTimer ; prepare timer for next stage
@@ -132,8 +132,8 @@ cproHandle1sClaimingAddr12_okay:
lds r16, cproMode
inc r16
sts cproMode, r16
ldi r18, CPRO_WAITTIME_CLAIMADDR
clr r19
ldi r18, LOW(CPRO_WAITTIME_CLAIMADDR)
ldi r19, HIGH(CPRO_WAITTIME_CLAIMADDR)
rjmp cproAddressSetTimer ; prepare time for next stage

View File

@@ -86,7 +86,13 @@ cproHandleNeedAddr:
sts cproMode, r24
lds r24, com2Address
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 r19, r25
rjmp cproAddressSetTimer

View File

@@ -73,10 +73,10 @@
; ---------------------------------------------------------------------------
; wait times for address protocol
.equ CPRO_WAITTIME_INITIAL = 10
.equ CPRO_WAITTIME_GETADDR = 130
.equ CPRO_WAITTIME_CLAIMADDR = 17
.equ CPRO_WAITTIME_RECLAIMADDR = 10
.equ CPRO_WAITTIME_INITIAL = 100
.equ CPRO_WAITTIME_GETADDR = 1300
.equ CPRO_WAITTIME_CLAIMADDR = 170
.equ CPRO_WAITTIME_RECLAIMADDR = 100
; ---------------------------------------------------------------------------