esp32_s2
This commit is contained in:
@@ -24,7 +24,7 @@
|
|||||||
//#ifndef ESP32 // No LittleFS there, yet
|
//#ifndef ESP32 // No LittleFS there, yet
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <LITTLEFS.h>
|
#include <LittleFS.h>
|
||||||
|
|
||||||
#include "AudioFileSource.h"
|
#include "AudioFileSource.h"
|
||||||
#include "AudioFileSourceFS.h"
|
#include "AudioFileSourceFS.h"
|
||||||
@@ -32,8 +32,8 @@
|
|||||||
class AudioFileSourceLittleFS : public AudioFileSourceFS
|
class AudioFileSourceLittleFS : public AudioFileSourceFS
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AudioFileSourceLittleFS() : AudioFileSourceFS(LITTLEFS) { };
|
AudioFileSourceLittleFS() : AudioFileSourceFS(LittleFS) { };
|
||||||
AudioFileSourceLittleFS(const char *filename) : AudioFileSourceFS(LITTLEFS, filename) {};
|
AudioFileSourceLittleFS(const char *filename) : AudioFileSourceFS(LittleFS, filename) {};
|
||||||
// Others are inherited from base
|
// Others are inherited from base
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
#include "driver/i2s.h"
|
#include "driver/i2s.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
#elif defined(ARDUINO_ARCH_RP2040) || defined(ESP8266)
|
#elif defined(ARDUINO_ARCH_RP2040) || defined(ESP8266)
|
||||||
#include <i2s.h>
|
#include <i2s.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -166,17 +167,21 @@ bool AudioOutputI2S::begin(bool txDAC)
|
|||||||
i2s_mode_t mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
|
i2s_mode_t mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
|
||||||
if (output_mode == INTERNAL_DAC)
|
if (output_mode == INTERNAL_DAC)
|
||||||
{
|
{
|
||||||
|
#if SOC_I2S_SUPPORTS_DAC
|
||||||
mode = (i2s_mode_t)(mode | I2S_MODE_DAC_BUILT_IN);
|
mode = (i2s_mode_t)(mode | I2S_MODE_DAC_BUILT_IN);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (output_mode == INTERNAL_PDM)
|
else if (output_mode == INTERNAL_PDM)
|
||||||
{
|
{
|
||||||
mode = (i2s_mode_t)(mode | I2S_MODE_PDM);
|
mode = (i2s_mode_t)(mode | I2S_MODE_PDM);
|
||||||
}
|
}
|
||||||
|
|
||||||
i2s_comm_format_t comm_fmt = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
|
i2s_comm_format_t comm_fmt = (i2s_comm_format_t)(I2S_COMM_FORMAT_STAND_I2S);
|
||||||
if (output_mode == INTERNAL_DAC)
|
if (output_mode == INTERNAL_DAC)
|
||||||
{
|
{
|
||||||
|
#if SOC_I2S_SUPPORTS_DAC
|
||||||
comm_fmt = (i2s_comm_format_t)I2S_COMM_FORMAT_I2S_MSB;
|
comm_fmt = (i2s_comm_format_t)I2S_COMM_FORMAT_I2S_MSB;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
i2s_config_t i2s_config_dac = {
|
i2s_config_t i2s_config_dac = {
|
||||||
@@ -197,8 +202,10 @@ bool AudioOutputI2S::begin(bool txDAC)
|
|||||||
}
|
}
|
||||||
if (output_mode == INTERNAL_DAC || output_mode == INTERNAL_PDM)
|
if (output_mode == INTERNAL_DAC || output_mode == INTERNAL_PDM)
|
||||||
{
|
{
|
||||||
|
#if SOC_I2S_SUPPORTS_DAC
|
||||||
i2s_set_pin((i2s_port_t)portNo, NULL);
|
i2s_set_pin((i2s_port_t)portNo, NULL);
|
||||||
i2s_set_dac_mode(I2S_DAC_CHANNEL_BOTH_EN);
|
i2s_set_dac_mode(I2S_DAC_CHANNEL_BOTH_EN);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ AudioOutputSPDIF::AudioOutputSPDIF(int dout_pin, int port, int dma_buf_count)
|
|||||||
.sample_rate = 88200, // 2 x sampling_rate
|
.sample_rate = 88200, // 2 x sampling_rate
|
||||||
.bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, // 32bit words
|
.bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, // 32bit words
|
||||||
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, // Right than left
|
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, // Right than left
|
||||||
.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
|
.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_STAND_I2S),
|
||||||
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // lowest interrupt priority
|
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // lowest interrupt priority
|
||||||
.dma_buf_count = dma_buf_count,
|
.dma_buf_count = dma_buf_count,
|
||||||
.dma_buf_len = DMA_BUF_SIZE_DEFAULT, // bigger buffers, reduces interrupts
|
.dma_buf_len = DMA_BUF_SIZE_DEFAULT, // bigger buffers, reduces interrupts
|
||||||
|
|||||||
Reference in New Issue
Block a user