From d0b5f84316025ff9e335c28e603eca7ab0349d5e Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Sun, 20 Jul 2025 00:15:13 +0200 Subject: [PATCH] adapt com2w1 from com2w0 (the latter is proven to work now). --- avr/modules/com2w/com2w1.asm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/avr/modules/com2w/com2w1.asm b/avr/modules/com2w/com2w1.asm index 73ed414..c54ad98 100644 --- a/avr/modules/com2w/com2w1.asm +++ b/avr/modules/com2w/com2w1.asm @@ -184,9 +184,9 @@ com2w1DataSetLow: ; @clobbers r16, r17, r18, r20, r22 com2w1ReadNextBit: - ldi r20, 50 ; wait for up to 250us for clock rise - rcall com2w1WaitForClockHighMulti5Us ; (R20, R22) - brcc com2w1ReadNextBit_end +; ldi r20, 50 ; wait for up to 250us for clock rise +; rcall com2w1WaitForClockHighMulti5Us ; (R20, R22) +; brcc com2w1ReadNextBit_end ; clock is high now, read bit inr r17, COM_DATA1_INPUT ; reset read timer (for leaving skipping mode) @@ -306,7 +306,7 @@ com2w1WaitForClockLowMulti5Us_stateReached: com2w1SendMsg: ldi r20, 11 ; wait for about 55us for clock low - rcall com2w1WaitForClockLowMulti5Us + rcall com2w1WaitForClockLowMulti5Us ; (R20, R22) brcs com2w1SendMsg_busy ; CLK got low while waiting, so line is busy push r15 in r15, SREG @@ -443,7 +443,7 @@ com2w1ModeJumpTable: ; @clobbers R16, R17, R22, R24, R25, X com2w1RunIdle: -rjmp com2w1RunIdle_end ; DEBUG +;rjmp com2w1RunIdle_end ; DEBUG push r15 in r15, SREG cli @@ -468,7 +468,7 @@ com2w1RunIdle_haveMsg: adiw xh:xl, 1 rcall com2w1SendMsg ; (R16, R17, R22, R24, R25, X) push r15 - inr r15, SREG ; save SREG (no CLI, we want to save CFLAG only) + in r15, SREG ; save SREG (no CLI, we want to save CFLAG only) ldi r16, COM2W_MODE_IDLE rcall com2wSetMode ; (R17) out SREG, r15 ; restore SREG @@ -613,19 +613,24 @@ COM2W1_HandleClockInterrupt: com2w1ActOnClock: andi r16, (1<