From 9af87b228c8f3c83f622bd26c6aba2504331c67f Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 16 Sep 2015 19:24:31 +0200 Subject: [PATCH] Fixes #2855 again. Now with a non regression test ;) --- radio/src/audio_arm.cpp | 2 +- radio/src/tests/switches.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index ceb46c521..23b9b4c39 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -338,7 +338,7 @@ void getLogicalSwitchAudioFile(char * filename, int index, unsigned int event) *str++ = 'L'; if (index >= 9) { div_t qr = div(index+1, 10); - *str++ = '1' + qr.quot; + *str++ = '0' + qr.quot; *str++ = '0' + qr.rem; } else { diff --git a/radio/src/tests/switches.cpp b/radio/src/tests/switches.cpp index 72c4c52ab..56b9a2287 100644 --- a/radio/src/tests/switches.cpp +++ b/radio/src/tests/switches.cpp @@ -357,3 +357,20 @@ TEST(getSwitch, inputWithTrim) EXPECT_EQ(getSwitch(SWSRC_SW1), true); } #endif + +#if defined(PCBTARANIS) +TEST(evalLogicalSwitches, playFile) +{ + extern uint64_t sdAvailableLogicalSwitchAudioFiles; + sdAvailableLogicalSwitchAudioFiles = 0xffffffffffffffff; + char filename[AUDIO_FILENAME_MAXLEN+1]; + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (0 << 16) + AUDIO_EVENT_OFF, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L1-off.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (0 << 16) + AUDIO_EVENT_ON, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L1-on.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (31 << 16) + AUDIO_EVENT_OFF, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L32-off.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (31 << 16) + AUDIO_EVENT_ON, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L32-on.wav"), 0); +} +#endif