rp pico pi - stereo sine wave generator using a I2S DAC - C++
Budget: €30 – €250 EUR
What it does:
Generating 2 Sinewaves with 2 different Frequencys:
* and transfair Sinewave 1 to left channel of the DAC
* and transfair Sinewave 2 to right channel of the DAC
For this i need 2 Variables, which must be float! :
* variable1: float Freq1 = 430,0 (herz)
* variable2: float Freq2 = 430,1 (herz)
The values of this Variables is in a range from 8 to 192000 (aka 192Khz)
The Dac is connected via 3wire I2S, and normally that Port is emulated via PIO (pico pi state machines...)
For me it does not matter if you use a Lookuptable, or build a software oscillator
The Precission of the Frequency is importent (when Freq2 is set to 430.1, the DAC should output 430.1)
The Precission of the Sinewave is not sooo important (aka it can be a bit steppy)
I dont need any interface, i can code - but i am very newbe when it comes to "hardware near" - so if you write a function, which i can include, and i have the 2 variables "Freq1, Freq2" - then i do the rest off the program.
So it is a bit "writing a driver" - or "rewriting a driver", rewriting because - the sdk has a sine-example but it is designed for dual mono... (aka have one oscillator and copy it to booth channels > thats not what i want!)
you can use the pico-sdk, and pico-extras - if you want - but you will not find a ready application which can do the things i want to have: true stereo, 0.1hz precission, indipendend Frequencys for Left and Right audio.
i too opened a topic on this on the raspberry forum (but that didnt helped me - maybe it helps you):
https://forums.raspberrypi.com/viewtopic.php?p=2000863#p2000863
Documentation:
Raspberry Pi Pico - Documentation: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html
DAC-Board documentation: https://www.waveshare.com/wiki/Pico-Audio
DAC Datasheet: https://www.waveshare.com/w/upload/4/40/PCM5101A.pdf
Generating 2 Sinewaves with 2 different Frequencys:
* and transfair Sinewave 1 to left channel of the DAC
* and transfair Sinewave 2 to right channel of the DAC
For this i need 2 Variables, which must be float! :
* variable1: float Freq1 = 430,0 (herz)
* variable2: float Freq2 = 430,1 (herz)
The values of this Variables is in a range from 8 to 192000 (aka 192Khz)
The Dac is connected via 3wire I2S, and normally that Port is emulated via PIO (pico pi state machines...)
For me it does not matter if you use a Lookuptable, or build a software oscillator
The Precission of the Frequency is importent (when Freq2 is set to 430.1, the DAC should output 430.1)
The Precission of the Sinewave is not sooo important (aka it can be a bit steppy)
I dont need any interface, i can code - but i am very newbe when it comes to "hardware near" - so if you write a function, which i can include, and i have the 2 variables "Freq1, Freq2" - then i do the rest off the program.
So it is a bit "writing a driver" - or "rewriting a driver", rewriting because - the sdk has a sine-example but it is designed for dual mono... (aka have one oscillator and copy it to booth channels > thats not what i want!)
you can use the pico-sdk, and pico-extras - if you want - but you will not find a ready application which can do the things i want to have: true stereo, 0.1hz precission, indipendend Frequencys for Left and Right audio.
i too opened a topic on this on the raspberry forum (but that didnt helped me - maybe it helps you):
https://forums.raspberrypi.com/viewtopic.php?p=2000863#p2000863
Documentation:
Raspberry Pi Pico - Documentation: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html
DAC-Board documentation: https://www.waveshare.com/wiki/Pico-Audio
DAC Datasheet: https://www.waveshare.com/w/upload/4/40/PCM5101A.pdf