diff --git a/components/micropython/include/mpconfigboard.h b/components/micropython/include/mpconfigboard.h index 01b6e1c4e172dd76f860264f7e89662490d01511..6850b8f38ec7caafa447af9bd75226a6ab4fc77d 100644 --- a/components/micropython/include/mpconfigboard.h +++ b/components/micropython/include/mpconfigboard.h @@ -3,6 +3,7 @@ #define MICROPY_ENABLE_FINALISER (1) #define MICROPY_PY_MACHINE_DAC (0) +#define MICROPY_PY_MACHINE_PWM (1) #define MICROPY_HW_I2C0_SCL (9) #define MICROPY_HW_I2C0_SDA (8) diff --git a/components/micropython/vendor/extmod/extmod.cmake b/components/micropython/vendor/extmod/extmod.cmake index 88b12841d67a0014a694a2ee57288c61212488d5..29ea2d9519eff2e583cd0b0dc318255ee83da68e 100644 --- a/components/micropython/vendor/extmod/extmod.cmake +++ b/components/micropython/vendor/extmod/extmod.cmake @@ -9,6 +9,7 @@ set(MICROPY_SOURCE_EXTMOD ${MICROPY_EXTMOD_DIR}/machine_bitstream.c ${MICROPY_EXTMOD_DIR}/machine_mem.c ${MICROPY_EXTMOD_DIR}/machine_signal.c + ${MICROPY_EXTMOD_DIR}/machine_pwm.c ${MICROPY_EXTMOD_DIR}/modbluetooth.c ${MICROPY_EXTMOD_DIR}/modframebuf.c ${MICROPY_EXTMOD_DIR}/modlwip.c diff --git a/components/micropython/vendor/extmod/machine_pwm.c b/components/micropython/vendor/extmod/machine_pwm.c index 220d34d7da5826952ca9751ae664917f721ee660..8a633b37939d4128b04a4446c76d7220fc98772e 100644 --- a/components/micropython/vendor/extmod/machine_pwm.c +++ b/components/micropython/vendor/extmod/machine_pwm.c @@ -34,13 +34,11 @@ #include MICROPY_PY_MACHINE_PWM_INCLUDEFILE #endif -#if MICROPY_PY_MACHINE_PWM_INIT STATIC mp_obj_t machine_pwm_init(size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) { mp_machine_pwm_init_helper(args[0], n_args - 1, args + 1, kw_args); return mp_const_none; } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_pwm_init_obj, 1, machine_pwm_init); -#endif // PWM.deinit() STATIC mp_obj_t machine_pwm_deinit(mp_obj_t self_in) { @@ -82,8 +80,6 @@ STATIC mp_obj_t machine_pwm_duty(size_t n_args, const mp_obj_t *args) { STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_pwm_duty_obj, 1, 2, machine_pwm_duty); #endif -#if MICROPY_PY_MACHINE_PWM_DUTY_U16_NS - // PWM.duty_u16([value]) STATIC mp_obj_t machine_pwm_duty_u16(size_t n_args, const mp_obj_t *args) { machine_pwm_obj_t *self = MP_OBJ_TO_PTR(args[0]); @@ -114,21 +110,15 @@ STATIC mp_obj_t machine_pwm_duty_ns(size_t n_args, const mp_obj_t *args) { } STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_pwm_duty_ns_obj, 1, 2, machine_pwm_duty_ns); -#endif - STATIC const mp_rom_map_elem_t machine_pwm_locals_dict_table[] = { - #if MICROPY_PY_MACHINE_PWM_INIT { MP_ROM_QSTR(MP_QSTR_init), MP_ROM_PTR(&machine_pwm_init_obj) }, - #endif { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&machine_pwm_deinit_obj) }, { MP_ROM_QSTR(MP_QSTR_freq), MP_ROM_PTR(&machine_pwm_freq_obj) }, #if MICROPY_PY_MACHINE_PWM_DUTY { MP_ROM_QSTR(MP_QSTR_duty), MP_ROM_PTR(&machine_pwm_duty_obj) }, #endif - #if MICROPY_PY_MACHINE_PWM_DUTY_U16_NS { MP_ROM_QSTR(MP_QSTR_duty_u16), MP_ROM_PTR(&machine_pwm_duty_u16_obj) }, { MP_ROM_QSTR(MP_QSTR_duty_ns), MP_ROM_PTR(&machine_pwm_duty_ns_obj) }, - #endif }; STATIC MP_DEFINE_CONST_DICT(machine_pwm_locals_dict, machine_pwm_locals_dict_table); diff --git a/components/micropython/vendor/ports/esp32/modmachine.c b/components/micropython/vendor/ports/esp32/modmachine.c index 6779a6bcfc3fb29a24880bf6016d3f65ceb0bf55..3f4315ffe10dd34774ed82a17dcb98fd33f4e7b1 100644 --- a/components/micropython/vendor/ports/esp32/modmachine.c +++ b/components/micropython/vendor/ports/esp32/modmachine.c @@ -294,6 +294,7 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = { #if MICROPY_PY_MACHINE_DAC { MP_ROM_QSTR(MP_QSTR_DAC), MP_ROM_PTR(&machine_dac_type) }, #endif + { MP_ROM_QSTR(MP_QSTR_PWM), MP_ROM_PTR(&machine_pwm_type) }, { MP_ROM_QSTR(MP_QSTR_RTC), MP_ROM_PTR(&machine_rtc_type) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&machine_uart_type) },