diff --git a/ports/rp2/modules/rp2.py b/ports/rp2/modules/rp2.py index 6068926036baf..932e6cc6b0ad8 100644 --- a/ports/rp2/modules/rp2.py +++ b/ports/rp2/modules/rp2.py @@ -1,9 +1,14 @@ # rp2 module: uses C code from _rp2, plus asm_pio decorator implemented in Python. # MIT license; Copyright (c) 2020-2021 Damien P. George +import sys from _rp2 import * from micropython import const + +is_rp2350 = 'RP2350' in sys.implementation._machine + + _PROG_DATA = const(0) _PROG_OFFSET_PIO0 = const(1) _PROG_OFFSET_PIO1 = const(2) @@ -27,6 +32,8 @@ def __init__( set_init=None, sideset_init=None, side_pindir=False, + status_sel=0, + status_n=0, in_shiftdir=PIO.SHIFT_LEFT, out_shiftdir=PIO.SHIFT_LEFT, autopush=False, @@ -40,7 +47,10 @@ def __init__( from array import array self.labels = {} - execctrl = side_pindir << 29 + if is_rp2350: + execctrl = side_pindir << 29 | (status_sel & 0x3) << 5 | (status_n & 0x1F) + else: + execctrl = side_pindir << 29 | (status_sel & 0x1) << 4 | (status_n & 0x0F) shiftctrl = ( fifo_join << 30 | (pull_thresh & 0x1F) << 25
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: