Skip to content

Commit 733052f

Browse files
peterharperukdpgeorge
authored andcommitted
rp2/machine_pin: Use 64-bit gpio functions to allow gpios >=32 to work.
Signed-off-by: Damien George <damien@micropython.org>
1 parent 4af09de commit 733052f

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

ports/rp2/machine_pin.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ static mp_obj_t machine_pin_obj_init_helper(const machine_pin_obj_t *self, size_
297297
mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("invalid pin af: %d"), af);
298298
}
299299
gpio_set_function(self->id, af);
300-
machine_pin_open_drain_mask &= ~(1 << self->id);
300+
machine_pin_open_drain_mask &= ~(1ULL << self->id);
301301
}
302302
}
303303

@@ -379,7 +379,7 @@ static mp_obj_t machine_pin_low(mp_obj_t self_in) {
379379
} else if (GPIO_IS_OPEN_DRAIN(self->id)) {
380380
gpio_set_dir(self->id, GPIO_OUT);
381381
} else {
382-
gpio_clr_mask(1u << self->id);
382+
gpio_clr_mask64(1ULL << self->id);
383383
}
384384
return mp_const_none;
385385
}
@@ -395,7 +395,7 @@ static mp_obj_t machine_pin_high(mp_obj_t self_in) {
395395
} else if (GPIO_IS_OPEN_DRAIN(self->id)) {
396396
gpio_set_dir(self->id, GPIO_IN);
397397
} else {
398-
gpio_set_mask(1u << self->id);
398+
gpio_set_mask64(1ULL << self->id);
399399
}
400400
return mp_const_none;
401401
}
@@ -416,7 +416,7 @@ static mp_obj_t machine_pin_toggle(mp_obj_t self_in) {
416416
gpio_set_dir(self->id, GPIO_OUT);
417417
}
418418
} else {
419-
gpio_xor_mask(1u << self->id);
419+
gpio_xor_mask64(1ULL << self->id);
420420
}
421421
return mp_const_none;
422422
}

0 commit comments

Comments
 (0)