Skip to content

Commit 30fc991

Browse files
committed
added support for TIMER4D used for PWM on Leonardo and Micro D6
1 parent b898a35 commit 30fc991

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

hardware/arduino/cores/arduino/Arduino.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,10 @@ extern const uint8_t PROGMEM digital_pin_to_timer_PGM[];
169169
#define TIMER4A 11
170170
#define TIMER4B 12
171171
#define TIMER4C 13
172-
#define TIMER5A 14
173-
#define TIMER5B 15
174-
#define TIMER5C 16
172+
#define TIMER4D 14
173+
#define TIMER5A 15
174+
#define TIMER5B 16
175+
#define TIMER5C 17
175176

176177
#ifdef __cplusplus
177178
} // extern "C"

hardware/arduino/cores/arduino/wiring_analog.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,14 @@ void analogWrite(uint8_t pin, int val)
225225
OCR4C = val; // set pwm duty
226226
break;
227227
#endif
228+
229+
#if defined(TCCR4A) && defined(COM4D1)
230+
case TIMER4D:
231+
// connect pwm to pin on timer 4, channel D
232+
sbi(TCCR4A, COM4D1);
233+
OCR4D = val; // set pwm duty
234+
break;
235+
#endif
228236

229237
#if defined(TCCR5A) && defined(COM5A1)
230238
case TIMER5A:

0 commit comments

Comments
 (0)