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]>
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
<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