summaryrefslogtreecommitdiff
path: root/esp8266/modmachine.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-03-02 13:37:27 +0000
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-03-26 00:32:37 +0200
commit632d8efa0552a1dfb2615d29afc727e339b72574 (patch)
tree457e8533de5a1107ea8f8ef13af644717a630a93 /esp8266/modmachine.c
parent82b95f625ebedacfaf7a8809bb5d71e9bd19fb7d (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.c1
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) },
};