diff options
Diffstat (limited to 'wirish')
| -rw-r--r-- | wirish/HardwareTimer.cpp | 4 | ||||
| -rw-r--r-- | wirish/HardwareTimer.h | 2 | ||||
| -rw-r--r-- | wirish/boards.h | 18 | ||||
| -rw-r--r-- | wirish/ext_interrupts.h | 4 | ||||
| -rw-r--r-- | wirish/wirish.c | 4 | 
5 files changed, 20 insertions, 12 deletions
diff --git a/wirish/HardwareTimer.cpp b/wirish/HardwareTimer.cpp index 354663e..0f8bec6 100644 --- a/wirish/HardwareTimer.cpp +++ b/wirish/HardwareTimer.cpp @@ -199,7 +199,7 @@ HardwareTimer Timer1(TIMER1);  HardwareTimer Timer2(TIMER2);  HardwareTimer Timer3(TIMER3);  HardwareTimer Timer4(TIMER4); -#if NR_TIMERS >= 8 +#ifdef STM32_HIGH_DENSITY  HardwareTimer Timer5(TIMER5);    // High-density devices only  HardwareTimer Timer8(TIMER8);    // High-density devices only  #endif @@ -214,7 +214,7 @@ HardwareTimer* getTimer(timer_dev_num timerNum) {          return &Timer3;      case TIMER4:          return &Timer4; -#if NR_TIMERS >= 8 +#ifdef STM32_HIGH_DENSITY      case TIMER5:          return &Timer5;      case TIMER8: diff --git a/wirish/HardwareTimer.h b/wirish/HardwareTimer.h index 4034b1f..4030adc 100644 --- a/wirish/HardwareTimer.h +++ b/wirish/HardwareTimer.h @@ -382,7 +382,7 @@ extern HardwareTimer Timer2;  extern HardwareTimer Timer3;  /** Pre-instantiated timer for use by user code. */  extern HardwareTimer Timer4; -#if NR_TIMERS >= 8 +#ifdef STM32_HIGH_DENSITY  /** Pre-instantiated timer for use by user code, on devices with      more than four timers (this does not include the Maple). */  extern HardwareTimer Timer5; diff --git a/wirish/boards.h b/wirish/boards.h index ac3a74d..989eea1 100644 --- a/wirish/boards.h +++ b/wirish/boards.h @@ -70,8 +70,12 @@ typedef struct PinMapping {      #define CYCLES_PER_MICROSECOND  72      #define SYSTICK_RELOAD_VAL      71999 /* takes a cycle to reload */ -    #define BOARD_BUTTON_PIN   38 -    #define BOARD_LED_PIN      13 +    #define BOARD_BUTTON_PIN        38 +    #define BOARD_LED_PIN           13 + +    /* Total number of GPIO pins that are broken out to headers and +       intended for general use. */ +    #define NR_GPIO_PINS            39      static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = {          /* D0/PA3 */ @@ -173,6 +177,8 @@ typedef struct PinMapping {      #define BOARD_LED_PIN           D21      #define BOARD_BUTTON_PIN        D18 +    #define NR_GPIO_PINS            100 +      static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = {          /* Top header */ @@ -390,11 +396,13 @@ typedef struct PinMapping {  #elif defined(BOARD_maple_mini) -    #define CYCLES_PER_MICROSECOND 72 +    #define CYCLES_PER_MICROSECOND    72      #define SYSTICK_RELOAD_VAL     71999 /* takes a cycle to reload */ -    #define BOARD_BUTTON_PIN 32 -    #define BOARD_LED_PIN    33 +    #define BOARD_BUTTON_PIN          32 +    #define BOARD_LED_PIN             33 + +    #define NR_GPIO_PINS              34      static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = {          /* D0/PB11 */ diff --git a/wirish/ext_interrupts.h b/wirish/ext_interrupts.h index 304e267..4e22c71 100644 --- a/wirish/ext_interrupts.h +++ b/wirish/ext_interrupts.h @@ -86,7 +86,7 @@ void detachInterrupt(uint8 pin);   *   * @see noInterrupts()   */ -static ALWAYS_INLINE void interrupts() { +static inline void interrupts() {      nvic_globalirq_enable();  } @@ -100,7 +100,7 @@ static ALWAYS_INLINE void interrupts() {   *   * @see interrupts()   */ -static ALWAYS_INLINE void noInterrupts() { +static inline void noInterrupts() {      nvic_globalirq_disable();  } diff --git a/wirish/wirish.c b/wirish/wirish.c index c5dec22..4c84d26 100644 --- a/wirish/wirish.c +++ b/wirish/wirish.c @@ -47,7 +47,7 @@ void init(void) {      flash_enable_prefetch();      flash_set_latency(FLASH_WAIT_STATE_2); -#if NR_FSMC > 0 +#ifdef STM32_HIGH_DENSITY      fsmc_native_sram_init();  #endif @@ -70,7 +70,7 @@ void init(void) {      timer_init(TIMER2, 1);      timer_init(TIMER3, 1);      timer_init(TIMER4, 1); -#if NR_TIMERS >= 8 +#ifdef STM32_HIGH_DENSITY      timer_init(TIMER5, 1);      timer_init(TIMER8, 1);  #endif  | 
