tests/ports/rp2/rp2_dma.py: Tweak test to be more reliable.

The timing of the DMA transfer can vary a bit, so tweak the allowed values.
Also test the return value of `rp2.DMA.irq.flags()` to make sure the IRQ is
correctly signalled.

Signed-off-by: Damien George <damien@micropython.org>
pull/13555/head
Damien George 2024-01-30 12:44:25 +11:00
rodzic 807c25d05a
commit 2d7fb9a715
2 zmienionych plików z 3 dodań i 3 usunięć

Wyświetl plik

@ -62,7 +62,7 @@ dma.write = dest
dma.count = len(dest) // 4
dma.ctrl = dma.pack_ctrl()
dt = run_and_time_dma(dma)
print(60 <= dt <= 90)
print(70 <= dt <= 110)
print(dest[:8], dest[-8:])
dma.close()
@ -80,7 +80,7 @@ dma.close()
print("# test irq")
dest = bytearray(1024)
dma = rp2.DMA()
dma.irq(lambda _: print("irq fired"))
dma.irq(lambda dma: print("irq fired", dma.irq().flags()))
dma.config(
read=src, write=dest, count=len(dest) // 4, ctrl=dma.pack_ctrl(irq_quiet=0), trigger=True
)

Wyświetl plik

@ -12,5 +12,5 @@ bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07') bytearray(b'\xf8\xf9\xfa\xfb\xfc\
# test immediate trigger
bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07') bytearray(b'\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff')
# test irq
irq fired
irq fired 1
bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07') bytearray(b'\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff')