summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Harper <peter.harper@raspberrypi.com>2024-07-10 12:44:59 +0100
committerDamien George <damien@micropython.org>2024-10-15 12:14:25 +1100
commit733052f6b9a5d3e470ede99c04a4f440e789ebac (patch)
treea744cdaa086a1864cea0fecd8f6546493cfcbd78
parent4af09de19cbcf8acef549d094eab846b87ea46ba (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.c8
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;
}