f_ changed the topic of ##raspberrypi-internals to: The inner workings of the Raspberry Pi (Low level VPU/HW) -- for general queries please visit #raspberrypi -- open firmware: https://librerpi.github.io/ -- VC4 VPU Programmers Manual: https://github.com/hermanhermitage/videocoreiv/wiki -- chat logs: https://libera.irclog.whitequark.org/~h~raspberrypi-internals -- bridged to matrix and discord
Ad0 has quit [Ping timeout: 252 seconds]
Ad0 has joined ##raspberrypi-internals
angerisagift has joined ##raspberrypi-internals
Stromeko has quit [Quit: Going… gone.]
Stromeko has joined ##raspberrypi-internals
f_[xmpp] has joined ##raspberrypi-internals
Stromeko has quit [Quit: Going… gone.]
Stromeko has joined ##raspberrypi-internals
ungeskriptet5 has joined ##raspberrypi-internals
ungeskriptet has quit [Ping timeout: 246 seconds]
ungeskriptet5 is now known as ungeskriptet
ungeskriptet has quit [Ping timeout: 256 seconds]
ungeskriptet has joined ##raspberrypi-internals
<f_ridge> <x​2x6_/D> Yo!
<f_ridge> <c​lever___/D> yo!
<f_ridge> <x​2x6_/D> I am still in the process of relocating, so I only have small portions of time to solve my issues. Today have some time , so I plan to continue where left off
<f_ridge> <x​2x6_/D> What about here? Any news ?)
<f_ridge> <x​2x6_/D> On the other projects I mean
<f_ridge> <c​lever___/D> havent had much time to focus on things here, other then some progress i made with analog audio out
<f_ridge> <c​lever___/D> the fix i found makes no sense, but does resolve the issue
<f_ridge> <c​lever___/D> the goal, was to play a sine wave from 60hz to 2khz, but all of the other lines are noise that is occuring
<f_[xmpp]> yo!
<f_ridge> <x​2x6_/D> interesting
<f_ridge> <x​2x6_/D> Last week I also had to look into sine wave generation to transfer it over i2s
<f_ridge> <x​2x6_/D> But I don't understand whats on your picture
<f_ridge> <c​lever___/D> i should get an i2s dac, i expect far fewer problems with that
<f_ridge> <c​lever___/D> in my case, i convert the 16bit audio from a .wav file into 7bit audio
<f_ridge> <c​lever___/D> then i just feed that 7bit value to the PWM peripheral, configured for a PWM rate of 48khz
<f_ridge> <x​2x6_/D> yeah, you should
<f_ridge> <c​lever___/D> that PWM runs thru a low-pass filter, turning into an analog value, in proportion to the duty cycle (the 7bit int)
<f_ridge> <c​lever___/D> and then i just blast every sample from the .wav into the pwm like that
<f_ridge> <c​lever___/D> i then created a simple sweep file
<f_ridge> <c​lever___/D> this audio file sweeps from 60hz to 2khz
<f_ridge> <c​lever___/D> and its creating the main line you can see in the above screenshot
<f_ridge> <x​2x6_/D> and what's the other things around?
<f_ridge> <c​lever___/D> thats what i cant figure out
<f_ridge> <x​2x6_/D> That's a pretty cool sweep to listen to at night time)
<f_ridge> <c​lever___/D> but, if i increase the size of the buffer, that cross-hatching pattern gets tigheter
<f_ridge> <x​2x6_/D> I like the first 1/4th of it)
<f_ridge> <c​lever___/D> and at around 64kb of buffer, the lines are close enough together that you cant see them anymore
<f_ridge> <c​lever___/D> and it just becomes part of the noise floor
<f_ridge> <c​lever___/D> i just created it with audacity, the chirp function
<f_ridge> <x​2x6_/D> Ok, I've got it.
<f_ridge> <x​2x6_/D> Can you show more pictures to see how this changes in dynamics?
<f_ridge> <x​2x6_/D> Ok
<f_ridge> <x​2x6_/D> And the low pass filter is just a simple circuit hand soldered?
<f_ridge> <c​lever___/D> its the one built into the rpi
<f_ridge> <c​lever___/D> this is how the headphone port on the rpi is wired up
<f_ridge> <c​lever___/D> and this is the rpi4 variant
<f_ridge> <x​2x6_/D> Ok, what's the final result you want to get?
<f_ridge> <c​lever___/D> in an ideal perfect world:
<f_ridge> <c​lever___/D> a less perfect example, but still without that weird noise
<f_ridge> <x​2x6_/D> Btw, do you only work with rpi?
<f_ridge> <c​lever___/D> mainly just the rpi, but i did get nerd-sniped into doing some risc-v stuff recently, lol