whitequark[cis] changed the topic of #glasgow to: https://glasgow-embedded.org · digital interface explorer · https://www.crowdsupply.com/1bitsquared/glasgow · code https://github.com/GlasgowEmbedded/glasgow · logs https://libera.irclog.whitequark.org/glasgow · matrix #glasgow-interface-explorer:matrix.org · discord https://1bitsquared.com/pages/chat
mwk has quit [Ping timeout: 252 seconds]
bvernoux has quit [Quit: Leaving]
redstarcomrade has joined #glasgow
mwk has joined #glasgow
skipwich_ has joined #glasgow
skipwich has quit [Ping timeout: 248 seconds]
skipwich_ is now known as skipwich
redstarcomrade has quit [Read error: Connection reset by peer]
DX-MON has quit [Quit: I'm not disconnecting, you're disconnecting!]
DX-MON has joined #glasgow
lethalbit has quit [Quit: kill -9 -1]
lethalbit has joined #glasgow
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
jstein has quit [Ping timeout: 252 seconds]
duskwuff[m] has quit [Quit: Idle timeout reached: 172800s]
dustinm` has quit [Quit: Leaving]
dustinm` has joined #glasgow
josuaH[m] has joined #glasgow
<josuaH[m]> I suppose the Russian government will not blame companies trying to find workarounds, and China will certainly not spit on it: it's a very big client for them in the end: low on support.
<josuaH[m]> Whoa, it's getting close by the way! 😄
<josuaH[m]> > Estimated to ship: Aug 30, 2024
<josuaH[m]> No hurry though.
<josuaH[m]> Glasgow is like an attention timebomb: as soon as I receive it, I'll be on "forced Glasgow holiday" for at least a week to poke at it ^_^
leper has quit [Server closed connection]
leper has joined #glasgow
<whitequark[m]> the Russian government has passed a number of laws to that end; last time I checked, piracy of software that can't be exported is simply legal
<whitequark[m]> not just "we will close eyes on it", but an actual federal law enabling it
<whitequark[m]> there were also some enablements via customs to allow "parallel import" (basically, import of e.g. Apple technology by third parties without Apple's permission) but I think the situation with that is more complex and I don't know how that's going now, I just recall it's been changing
vup has quit [Server closed connection]
vup has joined #glasgow
<anuejn> is there a glasgow applet for an spi-peripheral somewhere?
<anuejn> (I want to capture what an spi master sends)
jstein has joined #glasgow
<whitequark[cis]> nope, but there should probably be... however, overruns are an issue
<whitequark[cis]> maybe we could have an spi-capture applet? that does need packetization though to work well
<whitequark[cis]> anuejn, we could collaborate on this, developing a COBS framing that would allow capturing all sorts of useful stuff
<anuejn> COBS?
<anuejn> I actually need only very basic functionality for my current problem but would be happy to develop that
<anuejn> (log 16 bit transactions that are delimited by cs being deasserted)
<whitequark[cis]> consistent overhead byte stuffing
<whitequark[cis]> allows adding framing to byte streams without having pathologically high overhead for small frames
<whitequark[cis]> er, sorry, that's incorrect
<whitequark[cis]> without having pathologically high overhead for certain byte sequences, as a naive escaping based solution would
<anuejn> ah I see
<anuejn> I think in a first version it would be fine for my application to just escape naively
<anuejn> but I see that this might be undesirable
<whitequark[cis]> I realize that, but my interest here is in a more generic solution
<whitequark[cis]> which could be used in the Glasgow framework itself, eventually
<anuejn> I see
<whitequark[cis]> now that we have streams, we have the basis for developing it
fridtjof[m] has quit [Quit: Idle timeout reached: 172800s]
Xesxen has quit [Server closed connection]
Xesxen has joined #glasgow
<anuejn> now that I think about it, a length field might actually be more helpful than cobs?
<anuejn> because there could be spi transfers that have non-multiple of 8 bit length
<anuejn> and it would be cool to log these as well
<whitequark[cis]> you don't find out what the length is before the transfer ends
<whitequark[cis]> and there may not be enough buffer space to buffer an entire transfer on the whole FPGA
<whitequark[cis]> (but in any case I think using more than 1K of buffer per applet is usually a mistake)
<anuejn> True
<anuejn> we could do something like sending the length after the packet
<anuejn> but then we need some escaping again
<anuejn> fine
edf0 has quit [Server closed connection]
edf0 has joined #glasgow
skipwich has quit [Remote host closed the connection]
q3k[cis] has quit [*.net *.split]
Stary has quit [*.net *.split]
tec has quit [*.net *.split]
tec has joined #glasgow
q3k[cis] has joined #glasgow
Stary has joined #glasgow
Guest76 has joined #glasgow
<Guest76> howdy folks - i'm trying to use Glasgow as a SWD interface with OpenOCD, and have been having some performance issues. i'm running in a VM (Windows host, Mint guest) and suspect that's the culprit, but just trying to make sure the bad perf in this case is expected behavior before I go digging around for one of my other debug probes to use instead
<whitequark[cis]> it's not super fast natively either
<whitequark[cis]> openocd's bitbang interface is not a speed demon (and was never intended to be); it's just a backstop before a better interface can be built
<Guest76> *nodnod* As far as i can tell, SWD reads involve several network+USB round-trips /per bit/ w/ the swd_openocd applet, and as measured in my VM that's ~1-2ms so my total bandwidth is on the order of "hundreds of bits per second" so sounds like dumping the firmware on this chip w/ Glasgow over SWD for now is a no-go
<whitequark[cis]> it runs at uh... less than 300 baud
<whitequark[cis]> in terms of actual download speed of data
<q3k[cis]> is there another openocd interface that could be used, or do you think something new would have to be implemented?
<Guest76> yeah, and then openocd seems to be continuously polling the CPU core status as a bonus which uses up more of the already-limited bandwidth, cool, just wanted to make sure i hadn't horribly misconfigured something
<whitequark[cis]> something new would have to be implemented, starting with a proper stream based SWD interface
<whitequark[cis]> and i don't know if that would even integrate with openocd. I'd rather implement ADIv5
<whitequark[cis]> I had a branch but had a limited time
<Guest76> I was actually looking briefly at hacking up the openocd FTDI MPSSE driver, which at least talks to the hardware in chunks of more than 1 clock edge, to talk over sockets (& then doing "bootleg MPSSE" as a Glasgow applet) - might at least make it usable for basic debug, if not flash dumping, and would support things besides ADI (but still be much
<Guest76> slower than a specialized ADI applet)
<whitequark[cis]> that was actually the original thing Glasgow was supposed tondo
<whitequark[cis]> s/tondo/to do/
<whitequark[cis]> people here wanted to resurrect it, on top of a janky usbip based scheme
<Guest76> similar to the way Tigard does it but with proper tri-stating- the gateware would basically get "clock these N bits out while sampling the input" and send back the N input bits it sampled
<whitequark[cis]> the IOStream component does exactly that
<whitequark[cis]> well, it needs a protocol
Guest47 has joined #glasgow
Guest76 has quit [Ping timeout: 256 seconds]
Guest47 has quit [Quit: Client closed]
GregNGM has quit [Quit: ]
<whitequark[cis]> btw
<altracer[m]> coincidence
<altracer[m]> I think I looked at JLCPCB, LCSC & EasyEDA, but they stopped shipping. Using a middleman sounds interesting. I'll consult some of my contacts who actually did it this way. Thank you for elaborating on this situation.
<altracer[m]> Rezonit is too expensive and will take longer. Tehnoteh sounds more approachable but I'd need to source any ICs (they only have SMD resistors and caps, IIRC).
<altracer[m]> Anyway, I am not your client (yet), don't have enough Python or FPGA knowledge, so I'll simply stay away from the channel and go program a few more MCUs as a workaround. That'll be easier for everyone.
<whitequark[m]> oh yeah, Rezonit is ... not a budget option
<whitequark[m]> from what I heard, even if they dedicate an entire line for your volume, they aren't exactly a joy to work with
<anuejn> I now wrote a more shitty spi applet
<anuejn> (wanted to get the job done)
<anuejn> should I still do a PR?
<anuejn> (it uses only 7 bits of every byte and reservs the last bit to indicate the end of a transfer)
<whitequark[cis]> that doesn't seem very useful even as a starting pojnt
<whitequark[cis]> s/pojnt/point/
<anuejn> okay, fair :)