Thanks to visit codestin.com
Credit goes to github.com

Skip to content

improve keypad doc re RP2350 E-9 erratum #10382

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions shared-bindings/keypad/KeyMatrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@
//| in the respective state for ``debounce_threshold`` times on average.
//| Successive measurements are spaced apart by ``interval`` seconds.
//| The default is 1, which resolves immediately. The maximum is 127.
//|
//| .. warning:: On Raspberry Pi RP2350, using ``columns_to_anodes=False``
//| normally depends on the internal pull-down resistors.
//| This will not work, due to an RP2350 issue.
//| The easiest fix is simply to swap the ``row_pins`` and ```column_pins`` and to set
//| ``columns_to_anodes=True``. This requires no external components.
//| An alternative is to add external pull-downs of 8.2 kohms or less, but that will draw more current.
//| See the Warning in `digitalio` for more information.
//| """
//| ...
//|
Expand Down
6 changes: 6 additions & 0 deletions shared-bindings/keypad/Keys.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@
//| in the respective state for ``debounce_threshold`` times on average.
//| Successive measurements are spaced apart by ``interval`` seconds.
//| The default is 1, which resolves immediately. The maximum is 127.
//|
//| .. warning:: On Raspberry Pi RP2350, using ``value_when_pressed=True`` and ``pull=True``,
//| to enable using the internal pull-down resistor, will not work, due to an RP2350
//| hardware issue. Instead, wire the switch to be ``value_when_pressed=False``, or add
//| an external pull-down resistor of 8.2 kohms or less.
//| See the Warning in `digitalio` for more information.
//| """
//| ...
//|
Expand Down
2 changes: 1 addition & 1 deletion shared-bindings/keypad/__init__.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ MP_PROPERTY_GETTER(keypad_generic_events_obj,
//| due to a GPIO hardware issue that causes excessive leakage current (~120uA).
//| A pin can read as high even when driven or pulled low, if the input signal is high
//| impedance or if an attached pull-down resistor is too weak (has too high a value).
//| See the warning in `digitalio` for more information.
//| See the warnings in `keypad.Keys`, `keypad.KeyMatrix`, and `digitalio` for workarounds and more information.
//|
//| .. jinja
//| """
Expand Down