diff options
Diffstat (limited to 'shared-bindings/microcontroller/Pin.c')
| -rw-r--r-- | shared-bindings/microcontroller/Pin.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/shared-bindings/microcontroller/Pin.c b/shared-bindings/microcontroller/Pin.c index c691a9a17..d564d6d10 100644 --- a/shared-bindings/microcontroller/Pin.c +++ b/shared-bindings/microcontroller/Pin.c @@ -53,3 +53,9 @@ void assert_pin(mp_obj_t obj, bool none_ok) { nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Expected a Pin")); } } + +void assert_pin_free(const mcu_pin_obj_t* pin) { + if (pin != NULL && !common_hal_mcu_pin_is_free(pin)) { + nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError, "Pin %q in use", pin->name)); + } +} |
