diff --git a/components/micropython/vendor/ports/esp32/machine_pin.c b/components/micropython/vendor/ports/esp32/machine_pin.c index 89515976e4993d88d00c07f114f33ab4965cf573..b0ce5f927c2ecc367e3602f4e4e54462af1b2861 100644 --- a/components/micropython/vendor/ports/esp32/machine_pin.c +++ b/components/micropython/vendor/ports/esp32/machine_pin.c @@ -460,6 +460,13 @@ STATIC mp_obj_t machine_pin_on(mp_obj_t self_in) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(machine_pin_on_obj, machine_pin_on); +// pin.num() +STATIC mp_obj_t machine_pin_num(mp_obj_t self_in) { + machine_pin_obj_t *self = MP_OBJ_TO_PTR(self_in); + return mp_obj_new_int(self->id); +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(machine_pin_num_obj, machine_pin_num); + // pin.irq(handler=None, trigger=IRQ_FALLING|IRQ_RISING) STATIC mp_obj_t machine_pin_irq(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { enum { ARG_handler, ARG_trigger, ARG_wake }; @@ -532,6 +539,7 @@ STATIC const mp_rom_map_elem_t machine_pin_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_off), MP_ROM_PTR(&machine_pin_off_obj) }, { MP_ROM_QSTR(MP_QSTR_on), MP_ROM_PTR(&machine_pin_on_obj) }, { MP_ROM_QSTR(MP_QSTR_irq), MP_ROM_PTR(&machine_pin_irq_obj) }, + { MP_ROM_QSTR(MP_QSTR_num), MP_ROM_PTR(&machine_pin_num_obj) }, // class constants { MP_ROM_QSTR(MP_QSTR_IN), MP_ROM_INT(GPIO_MODE_INPUT) }, diff --git a/docs/badge/badge_link.rst b/docs/badge/badge_link.rst index 6c052bf35e75e68f3207ecb7128b1fd9239fac63..d279cb2b77034395b7fe4b27badb92c147bf360b 100644 --- a/docs/badge/badge_link.rst +++ b/docs/badge/badge_link.rst @@ -43,6 +43,16 @@ necessarily mean lower baud rates (higher cable capacity) .. _badge-link-midi: +.. code-block:: pycon + + >>> import badgelink + >>> jack = badgelink.right + >>> jack.enable() + True + >>> import machine + >>> uart = machine.UART(1, baudrate=9600, tx=jack.tip.pin.num(), rx=jack.ring.pin.num()) + >>> uart.write('hello') + MIDI ----