pico-playground
pico-playground copied to clipboard
audio/sine_wave/CMakeLists.txt wrong I2S pins
I think it is impossible to test this I2S audio application with these pins configurations:
https://github.com/raspberrypi/pico-playground/tree/master/audio/sine_wave
audio/sine_wave/CMakeLists.txt
USE_AUDIO_I2S=1
# PICO_AUDIO_I2S_DATA_PIN=22 - is acessible
# PICO_AUDIO_I2S_CLOCK_PIN_BASE=23 - not acessible
/audio/sine_wave/sine_wave.c
#if PICO_ON_DEVICE
#include "pico/binary_info.h"
bi_decl(bi_3pins_with_names(PICO_AUDIO_I2S_DATA_PIN, "I2S DIN", PICO_AUDIO_I2S_CLOCK_PIN_BASE, "I2S BCK", PICO_AUDIO_I2S_CLOCK_PIN_BASE+1, "I2S LRCK"));
#endif
OK = PICO_AUDIO_I2S_DATA_PIN, "I2S DIN" = GPIO22 Not acessible = PICO_AUDIO_I2S_CLOCK_PIN_BASE, "I2S BCK" = GPIO23 Not acessible = PICO_AUDIO_I2S_CLOCK_PIN_BASE+1, "I2S LRCK" = GPIO24
Thanks
The only way to discover the pins on the Raspberry Pico dedicated to the I2S interface in this project was using an oscilloscope.
- I2S DIN = GPIO28 (audio data)
- I2S BCK = GPIO26 (768 KHz)
- I2S LRCK = GPIO27 (24KHz)
Audio output (Stereo) = 375 Hz 3,1 V pp
Finally, i found:
src/rp2_common/pico_audio_i2s/include/pico/audio_i2s.h
#ifndef PICO_AUDIO_I2S_DATA_PIN
//#warning PICO_AUDIO_I2S_DATA_PIN should be defined when using AUDIO_I2S
#define PICO_AUDIO_I2S_DATA_PIN 28
#endif
#ifndef PICO_AUDIO_I2S_CLOCK_PIN_BASE
//#warning PICO_AUDIO_I2S_CLOCK_PIN_BASE should be defined when using AUDIO_I2S
#define PICO_AUDIO_I2S_CLOCK_PIN_BASE 26
#endif