diff options
author | Damien George <damien.p.george@gmail.com> | 2016-03-02 13:37:27 +0000 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-03-26 00:32:37 +0200 |
commit | 632d8efa0552a1dfb2615d29afc727e339b72574 (patch) | |
tree | 457e8533de5a1107ea8f8ef13af644717a630a93 /esp8266/modmachine.c | |
parent | 82b95f625ebedacfaf7a8809bb5d71e9bd19fb7d (diff) |
esp8266: Add PWM support.
PWM implementation uses a timer and interrupts (FRC1), taken from
Espressif's/NodeMCU's implementation and adapted for our use.
8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15.
Usage:
import machine
pwm0 = machine.PWM(machine.Pin(0))
pwm0.freq(1000)
pwm0.duty(500)
Frequency is shared (ie the same) for all channels. Frequency is
between 1 and 1000. Duty is between 0 and 1023.
Diffstat (limited to 'esp8266/modmachine.c')
-rw-r--r-- | esp8266/modmachine.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/esp8266/modmachine.c b/esp8266/modmachine.c index 41f246993..817b5a244 100644 --- a/esp8266/modmachine.c +++ b/esp8266/modmachine.c @@ -142,6 +142,7 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_Timer), MP_ROM_PTR(&esp_timer_type) }, { MP_ROM_QSTR(MP_QSTR_Pin), MP_ROM_PTR(&pyb_pin_type) }, + { MP_ROM_QSTR(MP_QSTR_PWM), MP_ROM_PTR(&pyb_pwm_type) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&pyb_i2c_type) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&pyb_spi_type) }, }; |