avr: more work on com2wn module.

This commit is contained in:
Martin Preuss
2025-09-01 23:25:02 +02:00
parent 81669a5442
commit b95a4fa872
6 changed files with 38 additions and 83 deletions

View File

@@ -170,11 +170,16 @@ com2wnLowLevelRun_loop: ; loop through all interfaces
and r21, r18 ; CLK for interface changed?
breq com2wnLowLevelRun_nextIface
push r16
push r18
push r19
rcall com2wnActOnClock ; (r16, r17, r18, X)
pop r19
pop r18
push r17
push r18
push r19
and r16, r20 ; only keep CLK mask for current interface
ldd r20, Y+COM2W_IFACE_OFFS_PINMASK_DATA
and r17, r20 ; only keep DATA mask for current interface
rcall com2wnActOnClock ; (r16, r17, r18, X)
pop r19
pop r18
pop r17
pop r16
com2wnLowLevelRun_nextIface:
ldi r20, COM2W_IFACE_SIZE
@@ -265,6 +270,8 @@ com2wnStartReading:
std Y+COM2W_IFACE_OFFS_BUFLEFT, r16
clr r16
std Y+COM2W_IFACE_OFFS_BUFUSED, r16
std Y+COM2W_IFACE_OFFS_BITCOUNTER, r16
std Y+COM2W_IFACE_OFFS_CURRBYTE, r16
ldi r16, COM2W_MODE_READING
rcall com2wSetMode ; (R17)
ret