Skip to content

Commit 0ba35bc

Browse files
committed
include PWM code only for the used timers
1 parent 26216c3 commit 0ba35bc

2 files changed

Lines changed: 27 additions & 13 deletions

File tree

sduino/hardware/sduino/stm8/cores/sduino/Arduino.h

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,16 +249,23 @@ void alternateFunction(uint8_t val);
249249
#define PL 12
250250
#endif
251251

252-
#define NOT_ON_TIMER 0
253-
#define TIMER11 1
254-
#define TIMER12 2
255-
#define TIMER13 3
256-
#define TIMER14 4
257-
#define TIMER21 5
258-
#define TIMER22 6
259-
#define TIMER23 7
260-
#define TIMER31 8
261-
#define TIMER32 9
252+
enum {
253+
NOT_ON_TIMER = 0,
254+
#ifdef NEED_TIMER_11_12
255+
TIMER11,
256+
TIMER12,
257+
#endif
258+
TIMER13,
259+
TIMER14,
260+
TIMER21,
261+
TIMER22,
262+
TIMER23,
263+
#ifdef NEED_TIMER_31_32
264+
TIMER31,
265+
TIMER32,
266+
#endif
267+
NUM_TIMERS
268+
};
262269

263270

264271
//FIXME#include "WCharacter.h"

sduino/hardware/sduino/stm8/cores/sduino/wiring_digital.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@
3434
* at runtime.
3535
*/
3636
typedef unsigned char *uc_p;
37+
3738
/* timer capture/compare mode register to control PWM mode */
38-
const uc_p ccmrx[7]={
39+
const uc_p ccmrx[NUM_TIMERS]={
40+
#ifdef NEED_TIMER_11_12
3941
TIM1->CCMR1, /* for TIMER11 */
4042
TIM1->CCMR2, /* for TIMER12 */
43+
#endif
4144
TIM1->CCMR3, /* for TIMER13 */
4245
TIM1->CCMR4, /* for TIMER14 */
4346
TIM2->CCMR1, /* for TIMER21 */
4447
TIM2->CCMR2, /* for TIMER22 */
45-
TIM2->CCMR3 /* for TIMER23 */
48+
TIM2->CCMR3, /* for TIMER23 */
49+
#ifdef NEED_TIMER_31_32
50+
TIM3->CCMR1, /* for TIMER31 */
51+
TIM3->CCMR2 /* for TIMER32 */
52+
#endif
4653
};
4754

4855

@@ -164,7 +171,7 @@ void pinMode(uint8_t pin, uint8_t mode)
164171
*/
165172
static void turnOffPWM(uint8_t timer)
166173
{
167-
*((unsigned char *) ccmrx[timer-TIMER11]) &= ~TIM1_CCMR_OCM;
174+
*((unsigned char *) ccmrx[timer-1]) &= ~TIM1_CCMR_OCM;
168175
}
169176

170177

0 commit comments

Comments
 (0)