From 45d5de5e4935366fdea8bdd4ee62cadc8509a9a9 Mon Sep 17 00:00:00 2001 From: Nebuleon <2391500+Nebuleon@users.noreply.github.com> Date: Sun, 23 Jul 2023 06:44:41 -0400 Subject: [PATCH] Allow the user to select one tone for the additive DAC (#21591) Previously, if the user tried to use `#define AUDIO_MAX_SIMULTANEOUS_TONES 1` to conserve CPU time, their firmware would fail to build with this error: ``` platforms/chibios/drivers/audio_dac_additive.c:91:73: error: excess elements in array initializer [-Werror] 91 | static float active_tones_snapshot[AUDIO_MAX_SIMULTANEOUS_TONES] = {0, 0}; | ^ ``` This also affected the preset `#define AUDIO_DAC_QUALITY_VERY_HIGH`, which called up only one simultaneous tone at 88200 Hz. --- platforms/chibios/drivers/audio_dac_additive.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c index 9a5fe4c3366e..0f29755d1a5b 100644 --- a/platforms/chibios/drivers/audio_dac_additive.c +++ b/platforms/chibios/drivers/audio_dac_additive.c @@ -89,7 +89,7 @@ static dacsample_t dac_buffer_empty[AUDIO_DAC_BUFFER_SIZE] = {AUDIO_DAC_OFF_VALU /* keep track of the sample position for for each frequency */ static float dac_if[AUDIO_MAX_SIMULTANEOUS_TONES] = {0.0}; -static float active_tones_snapshot[AUDIO_MAX_SIMULTANEOUS_TONES] = {0, 0}; +static float active_tones_snapshot[AUDIO_MAX_SIMULTANEOUS_TONES] = {0}; static uint8_t active_tones_snapshot_length = 0; typedef enum {