fixing buzzer related compilation errors on OLIMEXINO target.

This commit is contained in:
Dominic Clifton 2013-10-11 22:17:49 +01:00
parent d8e9282f04
commit dd0a962682
1 changed files with 11 additions and 2 deletions

View File

@ -6,10 +6,12 @@ static volatile uint32_t usTicks = 0;
static volatile uint32_t sysTickUptime = 0; static volatile uint32_t sysTickUptime = 0;
// from system_stm32f10x.c // from system_stm32f10x.c
void SetSysClock(void); void SetSysClock(void);
#ifdef BUZZER
void systemBeep(bool onoff); void systemBeep(bool onoff);
static void beepRev4(bool onoff); static void beepRev4(bool onoff);
static void beepRev5(bool onoff); static void beepRev5(bool onoff);
void (* systemBeepPtr)(bool onoff) = NULL; void (* systemBeepPtr)(bool onoff) = NULL;
#endif
static void cycleCounterInit(void) static void cycleCounterInit(void)
{ {
@ -92,16 +94,18 @@ void systemInit(void)
#define AFIO_MAPR_SWJ_CFG_NO_JTAG_SW (0x2 << 24) #define AFIO_MAPR_SWJ_CFG_NO_JTAG_SW (0x2 << 24)
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_NO_JTAG_SW; AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_NO_JTAG_SW;
#ifdef BUZZER
// Configure gpio // Configure gpio
// rev5 needs inverted beeper. oops. // rev5 needs inverted beeper. oops.
if (hse_value == 12000000) if (hse_value == 12000000)
systemBeepPtr = beepRev5; systemBeepPtr = beepRev5;
else else
systemBeepPtr = beepRev4; systemBeepPtr = beepRev4;
BEEP_OFF;
#endif
LED0_OFF; LED0_OFF;
LED1_OFF; LED1_OFF;
BEEP_OFF;
for (i = 0; i < gpio_count; i++) { for (i = 0; i < gpio_count; i++) {
if (hse_value == 12000000 && gpio_setup[i].cfg.mode == Mode_Out_OD) if (hse_value == 12000000 && gpio_setup[i].cfg.mode == Mode_Out_OD)
@ -192,6 +196,8 @@ void systemReset(bool toBootloader)
// Generate system reset // Generate system reset
SCB->AIRCR = AIRCR_VECTKEY_MASK | (uint32_t)0x04; SCB->AIRCR = AIRCR_VECTKEY_MASK | (uint32_t)0x04;
} }
#ifdef BUZZER
static void beepRev4(bool onoff) static void beepRev4(bool onoff)
{ {
if (onoff) { if (onoff) {
@ -209,10 +215,13 @@ static void beepRev5(bool onoff)
digitalLo(BEEP_GPIO, BEEP_PIN); digitalLo(BEEP_GPIO, BEEP_PIN);
} }
} }
#endif
void systemBeep(bool onoff) void systemBeep(bool onoff)
{ {
#ifdef BUZZER
systemBeepPtr(onoff); systemBeepPtr(onoff);
#endif
} }
void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation) void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation)