diff options
| author | Peter Harper <peter.harper@raspberrypi.com> | 2024-07-10 12:44:59 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2024-10-15 12:14:25 +1100 |
| commit | 733052f6b9a5d3e470ede99c04a4f440e789ebac (patch) | |
| tree | a744cdaa086a1864cea0fecd8f6546493cfcbd78 | |
| parent | 4af09de19cbcf8acef549d094eab846b87ea46ba (diff) | |
rp2/machine_pin: Use 64-bit gpio functions to allow gpios >=32 to work.
Signed-off-by: Damien George <damien@micropython.org>
| -rw-r--r-- | ports/rp2/machine_pin.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ports/rp2/machine_pin.c b/ports/rp2/machine_pin.c index 79f91232f..8fdde114b 100644 --- a/ports/rp2/machine_pin.c +++ b/ports/rp2/machine_pin.c @@ -297,7 +297,7 @@ static mp_obj_t machine_pin_obj_init_helper(const machine_pin_obj_t *self, size_ mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("invalid pin af: %d"), af); } gpio_set_function(self->id, af); - machine_pin_open_drain_mask &= ~(1 << self->id); + machine_pin_open_drain_mask &= ~(1ULL << self->id); } } @@ -379,7 +379,7 @@ static mp_obj_t machine_pin_low(mp_obj_t self_in) { } else if (GPIO_IS_OPEN_DRAIN(self->id)) { gpio_set_dir(self->id, GPIO_OUT); } else { - gpio_clr_mask(1u << self->id); + gpio_clr_mask64(1ULL << self->id); } return mp_const_none; } @@ -395,7 +395,7 @@ static mp_obj_t machine_pin_high(mp_obj_t self_in) { } else if (GPIO_IS_OPEN_DRAIN(self->id)) { gpio_set_dir(self->id, GPIO_IN); } else { - gpio_set_mask(1u << self->id); + gpio_set_mask64(1ULL << self->id); } return mp_const_none; } @@ -416,7 +416,7 @@ static mp_obj_t machine_pin_toggle(mp_obj_t self_in) { gpio_set_dir(self->id, GPIO_OUT); } } else { - gpio_xor_mask(1u << self->id); + gpio_xor_mask64(1ULL << self->id); } return mp_const_none; } |
