Skip to content

Commit b89932c

Browse files
committed
Pin has uint8_t, not int type.
1 parent 137d421 commit b89932c

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

cores/esp8266/core_esp8266_waveform.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,10 @@ int stopWaveform(uint8_t pin);
110110
// Make sure the CB function has the IRAM_ATTR decorator.
111111
void setTimer1Callback(uint32_t (*fn)());
112112

113-
114113
// Internal-only calls, not for applications
115-
extern void _setPWMFreq(uint32_t freq);
116-
extern bool _stopPWM(uint8_t pin);
117-
extern bool _setPWM(int pin, uint32_t val, uint32_t range);
114+
void _setPWMFreq(uint32_t freq);
115+
bool _stopPWM(uint8_t pin);
116+
bool _setPWM(uint8_t pin, uint32_t val, uint32_t range);
118117

119118
#ifdef __cplusplus
120119
}

cores/esp8266/core_esp8266_waveform_phase.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ extern "C" void enablePhaseLockedWaveform (void)
5555

5656
// No-op calls to override the PWM implementation
5757
extern "C" void _setPWMFreq_weak(uint32_t freq) { (void) freq; }
58-
extern "C" IRAM_ATTR bool _stopPWM_weak(int pin) { (void) pin; return false; }
59-
extern "C" bool _setPWM_weak(int pin, uint32_t val, uint32_t range) { (void) pin; (void) val; (void) range; return false; }
58+
extern "C" IRAM_ATTR bool _stopPWM_weak(uint8_t pin) { (void) pin; return false; }
59+
extern "C" bool _setPWM_weak(uint8_t pin, uint32_t val, uint32_t range) { (void) pin; (void) val; (void) range; return false; }
6060

6161

6262
// Timer is 80MHz fixed. 160MHz CPU frequency need scaling.
@@ -116,6 +116,7 @@ static IRAM_ATTR void timer1Interrupt();
116116
// Non-speed critical bits
117117
#pragma GCC optimize ("Os")
118118

119+
static void initTimer() __attribute__((noinline));
119120
static void initTimer() {
120121
timer1_disable();
121122
ETS_FRC_TIMER1_INTR_ATTACH(NULL, NULL);

cores/esp8266/core_esp8266_waveform_pwm.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ static WVFState wvfState;
9797
static IRAM_ATTR void timer1Interrupt();
9898
static bool timerRunning = false;
9999

100-
static __attribute__((noinline)) void initTimer() {
100+
static void initTimer() {
101101
if (!timerRunning) {
102102
timer1_disable();
103103
ETS_FRC_TIMER1_INTR_ATTACH(NULL, NULL);
@@ -169,8 +169,7 @@ static IRAM_ATTR void _notifyPWM(PWMState *p, bool idle) {
169169
}
170170
}
171171

172-
static void _addPWMtoList(PWMState &p, int pin, uint32_t val, uint32_t range);
173-
172+
static void _addPWMtoList(PWMState &p, uint8_t pin, uint32_t val, uint32_t range);
174173

175174
// Called when analogWriteFreq() changed to update the PWM total period
176175
extern void _setPWMFreq_weak(uint32_t freq) __attribute__((weak));
@@ -216,7 +215,7 @@ void _setPWMFreq(uint32_t freq) {
216215

217216
// Helper routine to remove an entry from the state machine
218217
// and clean up any marked-off entries
219-
static void _cleanAndRemovePWM(PWMState *p, int pin) {
218+
static void _cleanAndRemovePWM(PWMState *p, uint8_t pin) {
220219
uint32_t leftover = 0;
221220
uint32_t in, out;
222221
for (in = 0, out = 0; in < p->cnt; in++) {
@@ -265,7 +264,7 @@ IRAM_ATTR bool _stopPWM(uint8_t pin) {
265264
return _stopPWM_bound(pin);
266265
}
267266

268-
static void _addPWMtoList(PWMState &p, int pin, uint32_t val, uint32_t range) {
267+
static void _addPWMtoList(PWMState &p, uint8_t pin, uint32_t val, uint32_t range) {
269268
// Stash the val and range so we can re-evaluate the fraction
270269
// should the user change PWM frequency. This allows us to
271270
// give as great a precision as possible. We know by construction
@@ -311,8 +310,8 @@ static void _addPWMtoList(PWMState &p, int pin, uint32_t val, uint32_t range) {
311310
}
312311

313312
// Called by analogWrite(1...99%) to set the PWM duty in clock cycles
314-
extern bool _setPWM_weak(int pin, uint32_t val, uint32_t range) __attribute__((weak));
315-
bool _setPWM_weak(int pin, uint32_t val, uint32_t range) {
313+
extern bool _setPWM_weak(uint8_t pin, uint32_t val, uint32_t range) __attribute__((weak));
314+
bool _setPWM_weak(uint8_t pin, uint32_t val, uint32_t range) {
316315
stopWaveform(pin);
317316
PWMState p; // Working copy
318317
p = pwmState;
@@ -342,8 +341,8 @@ bool _setPWM_weak(int pin, uint32_t val, uint32_t range) {
342341

343342
return true;
344343
}
345-
static bool _setPWM_bound(int pin, uint32_t val, uint32_t range) __attribute__((weakref("_setPWM_weak")));
346-
bool _setPWM(int pin, uint32_t val, uint32_t range) {
344+
static bool _setPWM_bound(uint8_t pin, uint32_t val, uint32_t range) __attribute__((weakref("_setPWM_weak")));
345+
bool _setPWM(uint8_t pin, uint32_t val, uint32_t range) {
347346
return _setPWM_bound(pin, val, range);
348347
}
349348

0 commit comments

Comments
 (0)