avr: try calculating idle times.

This commit is contained in:
Martin Preuss
2023-04-10 23:33:24 +02:00
parent 6c8f8e19b2
commit eca6fc6efc
15 changed files with 315 additions and 7 deletions

View File

@@ -34,7 +34,7 @@ CPRO_EnqueueMemStats:
push xh
push xl
mov r16, r6
ldi r17, CPRO_PAYLOAD_FLAGS_UID | CPRO_PAYLOAD_FLAGS_SECONDS | (8<<CPRO_PAYLOAD_FLAGS_SHIFT_NUM)
ldi r17, CPRO_PAYLOAD_FLAGS_UID | CPRO_PAYLOAD_FLAGS_SECONDS | (9<<CPRO_PAYLOAD_FLAGS_SHIFT_NUM)
ldi r18, CPRO_CMD_MEMSTATS
rcall cproBeginMsgWithVariablePayload ; (R3, R4, R16, R17, R18, R19, R20, R21, X)
; payload
@@ -54,6 +54,12 @@ CPRO_EnqueueMemStats:
st X+, r17 ; recvNoBuffer
lds r17, comStatsRecvNoBuffer+1
st X+, r17
push xl
push xh
rcall Timer_CalcIdle ; (r16, r17, r18, r24, r25, X)
pop xh
pop xl
st X+, r16
pop xl
pop xh
rcall comCalcAndAddChecksumByte ; (R16, R17, R18, R19, X)