summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2021-02-19 17:11:04 +0100
committerDamien George <damien@micropython.org>2021-03-12 00:26:32 +1100
commita075e0b7d87a66a4b2ee9f75bcf70887157c7ae2 (patch)
tree4023b16a3027d4872b10d275831320b76c2b71d2
parentda85cb014afcf843bd0dfe99a1e232c271d3d5e8 (diff)
rp2/rp2_pio: Allow more than 8 consecutive pins for PIO out/set/sideset.
The bitmasks supplied for initialization of out/set/sideset were only 8 bit instead of 32. This resulted in an error, that not more than 8 consecutive pins would get initialized. Fixes issue #6933.
-rw-r--r--ports/rp2/rp2_pio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ports/rp2/rp2_pio.c b/ports/rp2/rp2_pio.c
index 7d8921d0c..6101164a1 100644
--- a/ports/rp2/rp2_pio.c
+++ b/ports/rp2/rp2_pio.c
@@ -139,8 +139,8 @@ enum {
typedef struct _asm_pio_config_t {
int8_t base;
uint8_t count;
- uint8_t pindirs;
- uint8_t pinvals;
+ uint32_t pindirs;
+ uint32_t pinvals;
} asm_pio_config_t;
STATIC void asm_pio_override_shiftctrl(mp_obj_t arg, uint32_t bits, uint32_t lsb, pio_sm_config *config) {