1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 06:15:16 +03:00

STM32F3DISCOVERY - Enable LEDs. Use RED LEDs instead of buzzer output.

LED and BUZZER outputs on the STM32F3DISCOVERY are inverted.
This commit is contained in:
Dominic Clifton 2014-05-05 13:14:17 +01:00
parent c07f67735e
commit b0cc4df73f
4 changed files with 35 additions and 12 deletions

View file

@ -3,9 +3,14 @@
// Helpful macros
#ifdef LED0
#define LED0_TOGGLE digitalToggle(LED0_GPIO, LED0_PIN);
#ifndef LED0_INVERTED
#define LED0_OFF digitalHi(LED0_GPIO, LED0_PIN);
#define LED0_ON digitalLo(LED0_GPIO, LED0_PIN);
#else
#define LED0_OFF digitalLo(LED0_GPIO, LED0_PIN);
#define LED0_ON digitalHi(LED0_GPIO, LED0_PIN);
#endif // inverted
#else
#define LED0_TOGGLE
#define LED0_OFF
#define LED0_ON
@ -13,9 +18,14 @@
#ifdef LED1
#define LED1_TOGGLE digitalToggle(LED1_GPIO, LED1_PIN);
#ifndef LED1_INVERTED
#define LED1_OFF digitalHi(LED1_GPIO, LED1_PIN);
#define LED1_ON digitalLo(LED1_GPIO, LED1_PIN);
#else
#define LED1_OFF digitalLo(LED1_GPIO, LED1_PIN);
#define LED1_ON digitalHi(LED1_GPIO, LED1_PIN);
#endif // inverted
#else
#define LED1_TOGGLE
#define LED1_OFF
#define LED1_ON

View file

@ -15,7 +15,7 @@
void (* systemBeepPtr)(bool onoff) = NULL;
static void beepRev4(bool onoff)
static void beepNormal(bool onoff)
{
if (onoff) {
digitalLo(BEEP_GPIO, BEEP_PIN);
@ -24,7 +24,7 @@ static void beepRev4(bool onoff)
}
}
static void beepRev5(bool onoff)
static void beepInverted(bool onoff)
{
if (onoff) {
digitalHi(BEEP_GPIO, BEEP_PIN);
@ -41,15 +41,24 @@ void systemBeep(bool onoff)
#endif
}
static inline bool isBuzzerOutputInverted(void)
{
#ifdef BUZZER_INVERTED
return true;
#else
// Naze rev5 needs inverted beeper.
return hse_value == 12000000;
#endif
}
void beeperInit(void)
{
#ifdef BUZZER
// Configure gpio
// rev5 needs inverted beeper. oops.
if (hse_value == 12000000)
systemBeepPtr = beepRev5;
if (isBuzzerOutputInverted())
systemBeepPtr = beepInverted;
else
systemBeepPtr = beepRev4;
systemBeepPtr = beepNormal;
BEEP_OFF;
#endif
}

View file

@ -126,6 +126,7 @@ void systemInit(bool overclock)
RCC_AHBPeriph_GPIOB |
RCC_AHBPeriph_GPIOC |
RCC_AHBPeriph_GPIOD |
RCC_AHBPeriph_GPIOE |
/*RCC_AHBPeriph_GPIOF | */
RCC_AHBPeriph_ADC12,
ENABLE

View file

@ -13,12 +13,15 @@
#define U_ID_1 (*(uint32_t*)0x10000000)
#define U_ID_2 (*(uint32_t*)0x10000003)
#define LED0_GPIO GPIOB
#define LED0_PIN Pin_3 // PB3 (LED)
#define LED1_GPIO GPIOB
#define LED1_PIN Pin_4 // PB4 (LED)
#define BEEP_GPIO GPIOA
#define BEEP_PIN Pin_12 // PA12 (Buzzer)
#define LED0_GPIO GPIOE
#define LED0_PIN Pin_8|Pin_12 // Blue LEDs - PE8/PE12
#define LED0_INVERTED
#define LED1_GPIO GPIOE
#define LED1_PIN Pin_10|Pin_14 // Orange LEDs - PE10/PE14
#define LED1_INVERTED
#define BEEP_GPIO GPIOE
#define BEEP_PIN Pin_9|Pin_13 // Red LEDs - PE9/PE13
#define BUZZER_INVERTED
#define BARO_GPIO GPIOC
#define BARO_PIN Pin_13