Skip to content

PureDataStream over I2SStream on rp2040 #2257

@LenarOsx

Description

@LenarOsx

Problem Description

I'm trying to get i2s output from PureDataStream , is it the rp2040 not compatible with PureDataStream?
I'm getting this error "write to target has failed after 22 retries!"
I've been trying to several SDKs version for rp2040, 2,3,4 and the latest 5.4.3.
tried the default Heavy_test.hpp and another patch that i've compiled with pugdata heavylib and had no luck.
is it possible to get this working on rp2040 or it only works on audiokits with AudioBoardStream?

Device Description

esp32 and rp2040

Sketch

/**
 * Test sketch for test.pd that was compiled with hvcc -n test test.pd
 * 
 * @note We need to add the atomic library for the rp2040 because it is used by hvcc
 * @see https://github.com/pschatzmann/arduino-audio-tools/issues/509
 * @see https://gcc.gnu.org/onlinedocs/gcc/Linker-Options.html
 */

#include "AudioTools.h"
// #include "AudioTools/AudioLibs/AudioBoardStream.h"  // install https://github.com/pschatzmann/arduino-audio-driver
// #include "AudioTools/CoreAudio/I2SStream.h"      // We use the generic I2S stream for RP2040
#include "Heavy_test_midi_simple.hpp"  // import before PureDataStream!
// #include "Heavy_test.hpp"  // import before PureDataStream!
#include "AudioTools/AudioLibs/PureDataStream.h"
// Also called DIN or SDIN
AudioInfo info(44100, 1, 16);
Heavy_test_midi_simple pd_test(44100);
PureDataStream pd(pd_test);
I2SStream i2s; // The I2S output stream for the DAC
// AudioBoardStream out(AudioKitEs8388V1); // or replace with other output
StreamCopy copier(i2s, pd);  // copy kit to kit

void setup() {
  Serial.begin(115200);
  AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Warning);

  // setup pd
  pd.begin();


  auto config = i2s.defaultConfig(TX_MODE);
  config.copyFrom(pd.audioInfo());
  i2s.begin(config);
  
}

void loop() { copier.copy(); }

Other Steps to Reproduce

No response

What is your development environment (incl. core version info)

rp2040 sdk 5.4.3

I have checked existing issues, discussions and online documentation (incl. the Wiki)

  • I confirm I have checked existing issues, discussions and online documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions