Skip to content

Commit 6509d15

Browse files
committed
tests/multi_extmod: Improve I2CTarget test.
Signed-off-by: Damien George <[email protected]>
1 parent 6dbdb7a commit 6509d15

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

tests/multi_extmod/machine_i2c_target.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66

77
import time
88
from machine import I2C, I2CTarget
9-
import machine
109

1110
ADDR = 67
1211

1312

1413
# I2C controller
1514
def instance0():
16-
i2c = machine.I2C("Y")
15+
i2c = I2C("Y")
1716

1817
multitest.next()
1918
multitest.wait("target stage 1")
@@ -26,20 +25,24 @@ def instance0():
2625

2726

2827
def irq(i2c_target):
29-
print(i2c_target.irq().flags())
28+
flags = i2c_target.irq().flags()
29+
if flags & I2CTarget.IRQ_ADDR_MATCH_READ:
30+
print("IRQ_ADDR_MATCH_READ")
31+
if flags & I2CTarget.IRQ_ADDR_MATCH_WRITE:
32+
print("IRQ_ADDR_MATCH_WRITE")
3033
time.sleep_us(100)
3134

3235

3336
# I2C target
3437
def instance1():
3538
buf = bytearray(8)
36-
i2c_target = machine.I2CTarget(0, ADDR, scl=9, sda=8, mem=buf)
37-
i2c_target.irq(irq, I2CTarget.IRQ_ADDR_MATCH, hard=True)
39+
i2c_target = I2CTarget(0, ADDR, scl=9, sda=8, mem=buf)
40+
i2c_target.irq(irq, I2CTarget.IRQ_ADDR_MATCH_READ | I2CTarget.IRQ_ADDR_MATCH_WRITE, hard=True)
3841

3942
multitest.next()
4043
multitest.broadcast("target stage 1")
4144
multitest.wait("controller stage 2")
4245
print(buf)
4346
multitest.broadcast("target stage 3")
4447
multitest.wait("controller stage 4")
45-
print('done')
48+
print("done")
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
#
1+
--- instance0 ---
2+
b'abcdefgh'
3+
--- instance1 ---
4+
IRQ_ADDR_MATCH_WRITE
5+
bytearray(b'abcdefgh')
6+
IRQ_ADDR_MATCH_WRITE
7+
IRQ_ADDR_MATCH_READ
8+
done

0 commit comments

Comments
 (0)