File tree Expand file tree Collapse file tree 4 files changed +35
-0
lines changed
ports/raspberrypi/bindings/rp2pio Expand file tree Collapse file tree 4 files changed +35
-0
lines changed Original file line number Diff line number Diff line change 17
17
//| introduction and guide to working with PIO in CircuitPython, see `this
18
18
//| Learn guide <https://learn.adafruit.com/intro-to-rp2040-pio-with-circuitpython>`_.
19
19
//|
20
+ //| .. warning:: Using PIO inputs on Raspberry Pi RP2350 A2 stepping has some limitations
21
+ //| due to a GPIO hardware issue that causes excessive leakage current (~120uA).
22
+ //| A pin can read as high even when driven or pulled low, if the input signal is high
23
+ //| impedance or if an attached pull-down resistor is too weak (has too high a value).
24
+ //| See the warning in `digitalio` for more information.
20
25
//| """
21
26
//|
22
27
Original file line number Diff line number Diff line change 58
58
//|
59
59
//| For more information on using `digitalio`, see `this additional Learn guide
60
60
//| <https://learn.adafruit.com/circuitpython-digital-inputs-and-outputs>`_
61
+ //|
62
+ //| .. warning:: `digitalio.DigitalInOut` on Raspberry Pi RP2350 A2 stepping has some limitations
63
+ //| due to a GPIO hardware issue that causes excessive leakage current (~120uA).
64
+ //| A pin can read as high even when driven or pulled low, if the input signal is high
65
+ //| impedance or if an attached pull-down resistor is too weak (has too high a value).
66
+ //|
67
+ //| To prevent this problem, drive the the input pin with a strong signal that can overcome
68
+ //| the leakage current. If you need to use a pull-down,
69
+ //| connect a strong external pull-down resistor that is 8.2k ohms or less.
70
+ //|
71
+ //| The internal pull-down resistor (``digitalio.DigitalInOut.pull = digitalio.Pull.DOWN``)
72
+ //| is not strong enough, and is not useful.
73
+ //|
74
+ //| Typical push-pull outputs from attached peripherals or other microcontrollers will drive
75
+ //| input pins adequately, with no resistor needed.
76
+ //|
77
+ //| There is no problem when pull-ups are used, even weak ones. Using the internal pull-up resistor
78
+ //| (``digitalioDigitalInOut.pull = digitalio.Pull.UP``) will work fine.
79
+ //|
80
+ //| For more information, see the RP2350-E9 erratum in the
81
+ //| `RP2350 datasheet <https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf>`_
61
82
//| """
62
83
63
84
static const mp_rom_map_elem_t digitalio_module_globals_table [] = {
Original file line number Diff line number Diff line change @@ -70,6 +70,12 @@ const mp_obj_property_t keypad_generic_events_obj = {
70
70
//| For more information about working with the `keypad` module in CircuitPython,
71
71
//| see `this Learn guide <https://learn.adafruit.com/key-pad-matrix-scanning-in-circuitpython>`_.
72
72
//|
73
+ //| .. warning:: Using pull-downs with `keypad` on Raspberry Pi RP2350 A2 stepping has some limitations
74
+ //| due to a GPIO hardware issue that causes excessive leakage current (~120uA).
75
+ //| A pin can read as high even when driven or pulled low, if the input signal is high
76
+ //| impedance or if an attached pull-down resistor is too weak (has too high a value).
77
+ //| See the warning in `digitalio` for more information.
78
+ //|
73
79
//| .. jinja
74
80
//| """
75
81
Original file line number Diff line number Diff line change 28
28
//| For more information about working with the `touchio` module in CircuitPython,
29
29
//| see `this Learn guide page <https://learn.adafruit.com/circuitpython-essentials/circuitpython-cap-touch>`_.
30
30
//|
31
+ //| **Limitations**: `touchio` is available on Raspberry Pi RP2040 builds,
32
+ //| but not on RP2350, due to GPIO hardware limitations.
33
+ //|
31
34
//| Example::
32
35
//|
33
36
//| import touchio
You can’t perform that action at this time.
0 commit comments