Commit f3c5917b authored by lingex's avatar lingex

Specifies the I2S port

parent a8d3c039
...@@ -154,7 +154,7 @@ uint32_t AudioBuffer::getReadPos() { ...@@ -154,7 +154,7 @@ uint32_t AudioBuffer::getReadPos() {
return m_readPtr - m_buffer; return m_readPtr - m_buffer;
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_DAC_CHANNEL_BOTH_EN */ ) { Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_DAC_CHANNEL_BOTH_EN */, uint8_t i2sPort) {
// build-in-DAC works only with ESP32 (ESP32-S3 has no build-in-DAC) // build-in-DAC works only with ESP32 (ESP32-S3 has no build-in-DAC)
// build-in-DAC last working Arduino Version: 2.0.0-RC2 // build-in-DAC last working Arduino Version: 2.0.0-RC2
...@@ -169,7 +169,7 @@ Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_DAC ...@@ -169,7 +169,7 @@ Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_DAC
m_f_channelEnabled = channelEnabled; m_f_channelEnabled = channelEnabled;
m_f_internalDAC = internalDAC; m_f_internalDAC = internalDAC;
//i2s configuration //i2s configuration
m_i2s_num = I2S_NUM_0; // i2s port number m_i2s_num = i2sPort; // i2s port number
m_i2s_config.sample_rate = 16000; m_i2s_config.sample_rate = 16000;
m_i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT; m_i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT;
m_i2s_config.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT; m_i2s_config.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT;
...@@ -4178,6 +4178,10 @@ uint8_t Audio::getVolume() { ...@@ -4178,6 +4178,10 @@ uint8_t Audio::getVolume() {
return m_vol; return m_vol;
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
uint8_t Audio::getI2sPort() {
return m_i2s_num;
}
//---------------------------------------------------------------------------------------------------------------------
int32_t Audio::Gain(int16_t s[2]) { int32_t Audio::Gain(int16_t s[2]) {
int32_t v[2]; int32_t v[2];
float step = (float)m_vol /64; float step = (float)m_vol /64;
......
...@@ -155,7 +155,7 @@ class Audio : private AudioBuffer{ ...@@ -155,7 +155,7 @@ class Audio : private AudioBuffer{
AudioBuffer InBuff; // instance of input buffer AudioBuffer InBuff; // instance of input buffer
public: public:
Audio(bool internalDAC = false, uint8_t channelEnabled = 3); // #99 Audio(bool internalDAC = false, uint8_t channelEnabled = 3, uint8_t i2sPort = I2S_NUM_0); // #99
~Audio(); ~Audio();
void setBufsize(int rambuf_sz, int psrambuf_sz); void setBufsize(int rambuf_sz, int psrambuf_sz);
bool connecttohost(const char* host, const char* user = "", const char* pwd = ""); bool connecttohost(const char* host, const char* user = "", const char* pwd = "");
...@@ -177,6 +177,7 @@ public: ...@@ -177,6 +177,7 @@ public:
void setBalance(int8_t bal = 0); void setBalance(int8_t bal = 0);
void setVolume(uint8_t vol); void setVolume(uint8_t vol);
uint8_t getVolume(); uint8_t getVolume();
uint8_t getI2sPort();
uint32_t getAudioDataStartPos(); uint32_t getAudioDataStartPos();
uint32_t getFileSize(); uint32_t getFileSize();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment