From 4d185f78db025b5deb337c125c13ca04e0d3fc16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wr=C3=B3bel?= Date: Wed, 20 May 2015 22:41:14 +0200 Subject: [PATCH] Support totally silent build (BUZZER=NO && AUDIO=NO) --- radio/src/Makefile | 15 ++++++++ radio/src/buzzer.h | 51 ++++++++++++++++++++++--- radio/src/gui/9X/menu_general_setup.cpp | 2 +- radio/src/opentx.h | 2 - radio/src/vario.cpp | 2 +- 5 files changed, 63 insertions(+), 9 deletions(-) diff --git a/radio/src/Makefile b/radio/src/Makefile index be8eb81f8..c5d4443be 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -444,7 +444,12 @@ ifeq ($(PCB), $(filter $(PCB), STD 9X 9XR)) ifeq ($(AUDIO), YES) CPPDEFS += -DAUDIO CPPSRC += audio_avr.cpp + BUZZER = NO else + BUZZER = YES + endif + + ifeq ($(BUZZER), YES) CPPDEFS += -DBUZZER CPPSRC += buzzer.cpp endif @@ -518,7 +523,12 @@ ifeq ($(PCB), $(filter $(PCB), STD128 9X128 9XR128)) ifeq ($(AUDIO), YES) CPPDEFS += -DAUDIO CPPSRC += audio_avr.cpp + BUZZER = NO else + BUZZER = YES + endif + + ifeq ($(BUZZER), YES) CPPDEFS += -DBUZZER CPPSRC += buzzer.cpp endif @@ -580,7 +590,12 @@ ifeq ($(PCB), $(filter $(PCB), 9X2561)) ifeq ($(AUDIO), YES) CPPDEFS += -DAUDIO CPPSRC += audio_avr.cpp + BUZZER = NO else + BUZZER = YES + endif + + ifeq ($(BUZZER), YES) CPPDEFS += -DBUZZER CPPSRC += buzzer.cpp endif diff --git a/radio/src/buzzer.h b/radio/src/buzzer.h index 7d1c15d0d..c430ec118 100644 --- a/radio/src/buzzer.h +++ b/radio/src/buzzer.h @@ -37,6 +37,7 @@ #ifndef BUZZER_H #define BUZZER_H +#if defined(BUZZER) extern uint8_t g_beepCnt; extern uint8_t beepAgain; extern uint8_t beepAgainOrig; @@ -45,23 +46,31 @@ extern bool warble; extern bool warbleC; #if defined(HAPTIC) extern uint8_t hapticTick; -#endif +#endif /* HAPTIC */ +#endif /* BUZZER */ + +#if defined(BUZZER) #if defined(CPUARM) && !defined(SIMU) inline void _beep(uint8_t b) { buzzerSound(b); } -#else +#else /* CPUARM && !SIMU */ inline void _beep(uint8_t b) { g_beepCnt = b; } -#endif +#endif /* CPUARM && !SIMU */ void beep(uint8_t val); +#else /* BUZZER */ +#define beep(...) +#endif /* BUZZER */ #if !defined(AUDIO) + +#if defined(BUZZER) #if defined(VOICE) #define AUDIO_TADA() PUSH_SYSTEM_PROMPT(AU_TADA) #define AUDIO_BYE() @@ -100,6 +109,34 @@ void beep(uint8_t val); #define AUDIO_PLAY(p) beep(3) #define IS_AUDIO_BUSY() (g_beepCnt || beepAgain || beepOn) +#else /* BUZZER */ + #define AUDIO_TADA() + #define AUDIO_BYE() + #define AUDIO_TX_BATTERY_LOW() + #define AUDIO_INACTIVITY() + #define AUDIO_ERROR_MESSAGE(e) + #define AUDIO_TIMER_MINUTE(t) + #define AUDIO_TIMER_30() + #define AUDIO_TIMER_20() + #define AUDIO_KEYPAD_UP() + #define AUDIO_KEYPAD_DOWN() + #define AUDIO_MENUS() + #define AUDIO_WARNING2() + #define AUDIO_WARNING1() + #define AUDIO_ERROR() + #define AUDIO_MIX_WARNING(x) + #define AUDIO_POT_MIDDLE() + #define AUDIO_TIMER_LT10(m, x) + #define AUDIO_TIMER_00(m) + #define AUDIO_VARIO_UP() + #define AUDIO_VARIO_DOWN() + #define AUDIO_TRIM(event, f) + #define AUDIO_TRIM_MIDDLE(f) + #define AUDIO_TRIM_END(f) + #define AUDIO_PLAY(p) + #define IS_AUDIO_BUSY() false +#endif /* BUZZER */ + #define AUDIO_RESET() #define AUDIO_FLUSH() @@ -109,9 +146,10 @@ void beep(uint8_t val); #define PLAY_LOGICAL_SWITCH_OFF(sw) #define PLAY_LOGICAL_SWITCH_ON(sw) #define START_SILENCE_PERIOD() -#endif +#endif /* !AUDIO */ #if !defined(CPUARM) +#if defined(BUZZER) inline void BUZZER_HEARTBEAT() { if (g_beepCnt) { @@ -145,6 +183,9 @@ inline void BUZZER_HEARTBEAT() buzzerOff(); } } -#endif +#else // BUZZER +#define BUZZER_HEARTBEAT() +#endif // BUZZER +#endif // CPUARM #endif diff --git a/radio/src/gui/9X/menu_general_setup.cpp b/radio/src/gui/9X/menu_general_setup.cpp index 1e100d355..097d90e49 100755 --- a/radio/src/gui/9X/menu_general_setup.cpp +++ b/radio/src/gui/9X/menu_general_setup.cpp @@ -256,7 +256,7 @@ void menuGeneralSetup(uint8_t event) #endif break; #endif -#else +#elif defined(BUZZER) case ITEM_SETUP_BUZZER_MODE: g_eeGeneral.beepMode = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, STR_SPEAKER, STR_VBEEPMODE, g_eeGeneral.beepMode, -2, 1, attr, event); #if defined(FRSKY) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index ce2421518..decd96f28 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1450,9 +1450,7 @@ enum AUDIO_SOUNDS { #endif #endif -#if defined(BUZZER) #include "buzzer.h" -#endif #if defined(PCBSTD) && defined(VOICE) #include "targets/stock/voice.h" diff --git a/radio/src/vario.cpp b/radio/src/vario.cpp index f45aa5a19..43cdaf2f7 100644 --- a/radio/src/vario.cpp +++ b/radio/src/vario.cpp @@ -141,7 +141,7 @@ void varioWakeup() } #endif -#else // defined(AUDIO) +#elif defined(BUZZER) // && !defined(AUDIO) int8_t verticalSpeed = limit((int16_t)-100, (int16_t)(frskyData.hub.varioSpeed/10), (int16_t)+100);