/** * @file streams-i2s_pdm-serial.ino * @author Phil Schatzmann * @brief see https://github.com/pschatzmann/arduino-audio-tools/blob/main/examples/examples-stream/streams-i2s_pdm-serial/README.md * * @author Phil Schatzmann * @copyright GPLv3 */ #include "AudioTools.h" AudioInfo info(44100, 1, 16); I2SStream i2sStream; // Access I2S as stream CsvOutput csvOutput(Serial); StreamCopy copier(csvOutput, i2sStream); // copy i2sStream to csvOutput // Arduino Setup void setup(void) { Serial.begin(115200); AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Info); auto cfg = i2sStream.defaultConfig(RX_MODE); cfg.copyFrom(info); cfg.signal_type = PDM; //cfg.use_apll = false; //cfg.auto_clear = false; cfg.pin_bck = -1; // not used depending on ESP32 core version i2sStream.begin(cfg); // make sure that we have the correct channels set up csvOutput.begin(info); } // Arduino loop - copy data void loop() { copier.copy(); }