aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/stm32/tone_alarm/tone_alarm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/stm32/tone_alarm/tone_alarm.cpp')
-rw-r--r--src/drivers/stm32/tone_alarm/tone_alarm.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/drivers/stm32/tone_alarm/tone_alarm.cpp b/src/drivers/stm32/tone_alarm/tone_alarm.cpp
index b36ba306b..ad21f7143 100644
--- a/src/drivers/stm32/tone_alarm/tone_alarm.cpp
+++ b/src/drivers/stm32/tone_alarm/tone_alarm.cpp
@@ -104,7 +104,7 @@
#include <math.h>
#include <ctype.h>
-#include <arch/board/board.h>
+#include <board_config.h>
#include <drivers/drv_hrt.h>
#include <arch/stm32/chip.h>
@@ -456,9 +456,7 @@ const char * const ToneAlarm::_default_tunes[] = {
"O2E2P64",
"MNT75L1O2G", //arming warning
"MBNT100a8", //battery warning slow
- "MBNT255a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8"
- "a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8"
- "a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8", //battery warning fast // XXX why is there a break before a repetition
+ "MBNT255a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8" //battery warning fast // XXX why is there a break before a repetition
};
const unsigned ToneAlarm::_default_ntunes = sizeof(_default_tunes) / sizeof(_default_tunes[0]);
@@ -881,14 +879,9 @@ ToneAlarm::ioctl(file *filp, int cmd, unsigned long arg)
_tune = nullptr;
_next = nullptr;
} else {
- /* don't interrupt alarms unless they are repeated */
- if (_tune != nullptr && !_repeat) {
- /* abort and let the current tune finish */
- result = -EBUSY;
- } else if (_repeat && _default_tune_number == arg) {
- /* requested repeating tune already playing */
- } else {
- // play the selected tune
+ /* always interrupt alarms, unless they are repeating and already playing */
+ if (!(_repeat && _default_tune_number == arg)) {
+ /* play the selected tune */
_default_tune_number = arg;
start_tune(_default_tunes[arg - 1]);
}