From f4d8b2b04afe0cfd025e4ea0f574f906cb79a840 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 5 Feb 2024 14:58:53 +1100 Subject: [PATCH] hey i found 40KiB SRAM behind the couch! --- src/drivers/include/i2s_dac.hpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/drivers/include/i2s_dac.hpp b/src/drivers/include/i2s_dac.hpp index bd837ca0..fdd7e976 100644 --- a/src/drivers/include/i2s_dac.hpp +++ b/src/drivers/include/i2s_dac.hpp @@ -27,12 +27,10 @@ namespace drivers { -// DMA max buffer size for I2S is 4092. We normalise to 2-channel, 16 bit -// audio, which gives us a max of 4092 / 2 / 2 (16 bits) frames. This in turn -// means that at 48kHz, we have about 21ms of budget to fill each buffer. -// We base this off of the maximum DMA size in order to minimise the amount of -// work the CPU has to do to service the DMA callbacks. -constexpr size_t kI2SBufferLengthFrames = 1024; +// We normalise to 2-channel, 16 bit audio, which gives us a max of 4092 / 2 / 2 +// (16 bits) frames. This in turn means that at 48kHz, we have about 10ms of +// budget to fill each buffer. +constexpr size_t kI2SBufferLengthFrames = 512; /** * Interface for a DAC that receives PCM samples over I2S.