electronic_eel has quit [Ping timeout: 256 seconds]
electronic_eel has joined #glasgow
jobby has quit [Quit: Lost terminal]
PyroPeter_ has joined #glasgow
PyroPeter has quit [Ping timeout: 240 seconds]
PyroPeter_ is now known as PyroPeter
Getorix has quit [Ping timeout: 240 seconds]
Getorix has joined #glasgow
_whitelogger has joined #glasgow
_whitelogger has joined #glasgow
Getorix has quit [Ping timeout: 258 seconds]
Getorix has joined #glasgow
Getorix has quit [Ping timeout: 260 seconds]
Getorix has joined #glasgow
_whitelogger has joined #glasgow
FFY00 has quit [Ping timeout: 240 seconds]
FFY00 has joined #glasgow
_whitelogger has joined #glasgow
Getorix has quit [Ping timeout: 260 seconds]
Getorix has joined #glasgow
Stormwind_mobile has quit [Remote host closed the connection]
FFY00 has quit [Ping timeout: 240 seconds]
FFY00 has joined #glasgow
Stormwind_mobile has joined #glasgow
FFY00 has quit [Read error: Connection reset by peer]
Stormwind_mobile has quit [Ping timeout: 272 seconds]
<whitequark>
attie: there is no way to reset the whole FPGA; there isn't a reset line
<whitequark>
electronic_eel is correct that resetting individual applets is the way to go, and you can already do that
<whitequark>
(every applet gets a reset register)
<whitequark>
however, each time you run an applet, it already gets reset first
_whitelogger has joined #glasgow
nicoo has quit [Remote host closed the connection]
nicoo has joined #glasgow
FFY00 has joined #glasgow
d_olex_ has joined #glasgow
d_olex has quit [Ping timeout: 258 seconds]
<d1b2>
<Attie> @whitequark interesting, thanks... in this situation the applet doesn't appear to get reset - e.g: each time i run glasgow run audio-i2s-capture, the first states of the FSM appear to be "already done"
<d1b2>
<Attie> (I was toying with autodetect for sample size and rate, but have put that to one side for now)
<d1b2>
<Attie> my current issue seems to be keeping up with the FIFO, and not loosing data (see above)
<d1b2>
<Attie> even in a very tight white True: await iface.read() loop, there are a couple of hiccups, where in_fifo.w_rdy isn't set for a period
<d1b2>
<Attie> even in a very tight white True: await iface.read() loop, there are a couple of hiccups, where in_fifo.w_rdy isn't set for a period
<d1b2>
<Attie> it's only 44.1kHz, 16-bit, stereo at the moment (~172.3 kiB/s)
Stormwind_mobile has joined #glasgow
<_whitenotifier-f>
[glasgow] brainstorm commented on issue #151: False positive results in selftest - https://git.io/JU5xM
bvernoux has joined #glasgow
mwk has quit [Ping timeout: 240 seconds]
mwk has joined #glasgow
Chips4Makers has quit [Ping timeout: 240 seconds]
Chips4Makers has joined #glasgow
Stormwind_mobile has quit [Ping timeout: 272 seconds]
Stormwind_mobile has joined #glasgow
d_olex_ has quit [Ping timeout: 246 seconds]
d_olex has joined #glasgow
<_whitenotifier-f>
[glasgow] whitequark commented on issue #151: False positive results in selftest - https://git.io/JUdaA
<whitequark>
attie: it is unlikely that the applet doesn't get reset, it is more likely that there is a coding error in your implementation
d_olex_ has joined #glasgow
d_olex has quit [Ping timeout: 260 seconds]
<d1b2>
<Attie> @whitequark hm, okay... FSM should be reset too? I'll do some more poking at it to see if I can get a feel for what's going on
<d1b2>
<Attie> but from what I've seen so far, when it builds and loads the bitstream, i see the initial states used
<d1b2>
<Attie> but then subsequently (when the bitstream doesn't need to be rebuilt), those states are "missed" - my hypothesis being that there wasn't a reset occuring
<whitequark>
yes FSMs should be reset
<d1b2>
<Attie> ok, thanks
Foxyloxy has quit [Quit: Leaving]
bvernoux has quit [Quit: Leaving]
<whitequark>
if they weren't, nearly every applet in the tree today would be broken
<whitequark>
this was actually something I had to fix early on, it wasn't trivial, and it's absolutely foundational to the whole applet system
Foxyloxy has joined #glasgow
<d1b2>
<Attie> yeah - i had expected it to be taken care of for exactly this sort of reason
<whitequark>
can you show your code? i have a few minutes i can use to look at it
<d1b2>
<Attie> it builds and seems to do stuff, so that's a good start 🙂
<whitequark>
yeah
<d1b2>
<Attie> great, thanks
<d1b2>
<Attie> now I need to figure out the FIFO side of things...
<d1b2>
<Attie> I can't quite figure out if the system will bring as much data into the host as possible (assuming i'm a friendly asyncio worker and yield occasionally), or if i should be looking to do that in the I2S applet
<d1b2>
<Attie> i also feel like I want a non-blocking in_fifo.read(), but I'm happy to be steered otherwise