summaryrefslogtreecommitdiff
path: root/ports/stm/common-hal/microcontroller/Pin.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/stm/common-hal/microcontroller/Pin.c')
-rw-r--r--ports/stm/common-hal/microcontroller/Pin.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/ports/stm/common-hal/microcontroller/Pin.c b/ports/stm/common-hal/microcontroller/Pin.c
index 00763208d..9fbdedead 100644
--- a/ports/stm/common-hal/microcontroller/Pin.c
+++ b/ports/stm/common-hal/microcontroller/Pin.c
@@ -101,25 +101,15 @@ void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
reset_pin_number(pin->port, pin->number);
}
-void claim_pin(const mcu_pin_obj_t* pin) {
+void claim_pin(uint8_t pin_port, uint8_t pin_number) {
// Set bit in claimed_pins bitmask.
- claimed_pins[pin->port] |= 1<<pin->number;
-
- #ifdef MICROPY_HW_NEOPIXEL
- if (pin == MICROPY_HW_NEOPIXEL) {
- neopixel_in_use = true;
- }
- #endif
+ claimed_pins[pin_port] |= 1<<pin_number;
}
bool pin_number_is_free(uint8_t pin_port, uint8_t pin_number) {
return !(claimed_pins[pin_port] & 1<<pin_number);
}
-bool pin_number_is_resettable(uint8_t pin_port, uint8_t pin_number) {
- return !(never_reset_pins[pin_port] & 1<<pin_number);
-}
-
bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
@@ -143,7 +133,12 @@ uint8_t common_hal_mcu_pin_number(const mcu_pin_obj_t* pin) {
}
void common_hal_mcu_pin_claim(const mcu_pin_obj_t* pin) {
- claim_pin(pin);
+ claim_pin(pin->port, pin->number);
+ #ifdef MICROPY_HW_NEOPIXEL
+ if (pin == MICROPY_HW_NEOPIXEL) {
+ neopixel_in_use = true;
+ }
+ #endif
}
void common_hal_mcu_pin_reset_number(uint8_t pin_no) {