marcel-licence / esp32_multitrack_looper

ESP32 Audio Kit based multitrack looper
GNU General Public License v3.0
91 stars 11 forks source link

PSRAM not enough memory! - Wire - Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! #11

Closed quiknick closed 1 year ago

quiknick commented 1 year ago

Running into an issue where PSRAM is getting all used up and is stuck in a boot loop. see attached log boot log.

Board: ESP32 Audio Kit V2.2 A247

I edited "board_audio_kit_es8388.h" according to what I could figure out from i2c scanner and what I could find:

define ES8388_CFG_I2C 2

define ES8388_CFG_I2S 7

elif ES8388_CFG_I2C==2

define ES8388_PIN_SDA 33

define ES8388_PIN_SCL 32

//I added new option 7 for this version ESP32 Audio Kit V2.2 A247

elif ES8388_CFG_I2S==7

define ES8388_PIN_DOUT 35 //DATA

define ES8388_PIN_DIN 26 //DATA_RX

define ES8388_PIN_LRCK 25 //WS

define ES8388_PIN_SCLK 27 //BCK

define ES8388_PIN_MCLK 0 //MCK

With boot debugging I just see a bunch of this: `[��mum����2-hal-cpu.c:211] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz [ 842][D][esp32-hal-psram.c:84] psramInit(): PSRAM enabled

Loading data Firmware started successfully Connect to ES8388 codec... 0x00: 0x05 [ 1466][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing... 0x01: 0x40 [ 1479][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing... [ 1483][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing... [ 1495][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing... AdcCh1! MixChAMPL! [ 1512][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing... [ 1522][E][Wire.cpp:313] beginTransmission(): Unfinished Repeated Start transaction! Expected requestFrom, not beginTransmission! Clearing...`

PSRAM-Not Enough Memory.txt

quiknick commented 1 year ago

Debug log PSRAM-Not Enough Memory-debug.txt

marcel-licence commented 1 year ago

It looks like the error came from the loop module: https://github.com/marcel-licence/esp32_multitrack_looper/blob/main/loop_module.ino

It tries to initialize multiple buffers for the different tracks. Compiling and execution with the old ESP32 board (1.0.6) worked. They changed something that makes the allocation of big memory blocks from PSRAM in some cases impossible.

I think some changes are required to allow running this project using the latest toolchain (ESP32 Arduino board).

You could try to change TRACK_CNT to 3 or 2 instead of 4

quiknick commented 1 year ago

@marcel-licence TRACK_CNT to 3 works but man this thing sounds like crap. Does not sound like your video :(