Skip to content

Commit 7a95003

Browse files
Don't stop a waveform simply by calling pinMode
Setting a pin direction would cause a waveform generator attached to it to stop. This could cause PWM to stop if pinMode() is called while running (as it was called in __analogWrite()). Remove the stopWaveform call from pinMode, the Tone, analogWrite, or Servo that initiated the waveform has responsibility for stopping it (and it does) when complete, irrespective of the pinMode. Fixes esp8266#4905
1 parent 672c3f8 commit 7a95003

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

cores/esp8266/core_esp8266_wiring_digital.c

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
uint8_t esp8266_gpioToFn[16] = {0x34, 0x18, 0x38, 0x14, 0x3C, 0x40, 0x1C, 0x20, 0x24, 0x28, 0x2C, 0x30, 0x04, 0x08, 0x0C, 0x10};
3030

3131
extern void __pinMode(uint8_t pin, uint8_t mode) {
32-
stopWaveform(pin);
3332
if(pin < 16){
3433
if(mode == SPECIAL){
3534
GPC(pin) = (GPC(pin) & (0xF << GPCI)); //SOURCE(GPIO) | DRIVER(NORMAL) | INT_TYPE(UNCHANGED) | WAKEUP_ENABLE(DISABLED)

0 commit comments

Comments
 (0)