azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/glscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
<d1b2> <louis> glscope crashes or bridge application crashes?
<d1b2> <TiltMeSenpai> yes.
<d1b2> <TiltMeSenpai> I think glscope crashes and leaves the bridge in a state that's causing it to give up
<d1b2> <louis> Interesting. I'd be happy to get bug reports / gdb traces for those crashes 🙂
<d1b2> <TiltMeSenpai> I'll probably do some debugging this weekend or something
<azonenberg> @louis: so how's your work doing on the thunderscope driver? is that your primary focus right now?
<d1b2> <louis> I use the DSCope regularly at work and that's pretty stable for me. I haven't used the DSLogic for anything serious since getting it working circa march(?)
<d1b2> <louis> @azonenberg their C# driver/application didn't have a Linux backend (glue to the xilinx xdma driver), so I wrote one and then encountered some weird Thunderbolt bandwidth limitation issues on the workstation it's plugged into at the office that confounded us for a minute. The Linux backend for their driver seems to work right though tested by someone else. Next will be hooking their C# application up to glscope.
<azonenberg> Great
<d1b2> <louis> How exactly that happens is TBD. They have a shmem architecture that is how they wanted to interface it to their client. So we could support that, or we could write a shmem <-> SCPI socket bridge.
<d1b2> <louis> Needs a control plane either way as I understand it.
<azonenberg> We'll need to think about what makes sense. and i want network transparency at some point in the pipeline
<azonenberg> even if we also support a faster local protocol
<d1b2> <louis> On Linux at least I think it might be possible to preserve zero-copy over a local TCP socket with splice
<d1b2> <louis> Windows, who knows.
<azonenberg> Nice. Keep me posted
<azonenberg> (also see DM)
<mxshift> azonenberg: let me know if you have any trouble with loading the QSGMII file. We'll have the setup in place until noon tomorrow so we can retake if needed.
<azonenberg> mxshift: what kind of scope is this from?
<mxshift> Tek MSO 6 I think
<azonenberg> Hmm, ok i dont think we have an importer for their native format yet
<azonenberg> but it does appear to be documented
<_whitenotifier-7> [scopehal] azonenberg opened issue #653: Add importer for Tek .wfm file format - https://github.com/glscopeclient/scopehal/issues/653
<_whitenotifier-7> [scopehal] azonenberg labeled issue #653: Add importer for Tek .wfm file format - https://github.com/glscopeclient/scopehal/issues/653
<azonenberg> Well, guess i have a new project for tonight. i was going to be optimizing the multiscope sync wizard
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 276 seconds]
Degi_ is now known as Degi
Degi has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
Degi has joined #scopehal
bgamari has quit [Ping timeout: 276 seconds]
bgamari has joined #scopehal
<azonenberg> mxshift: so, the tek .wfm file format is... complex lol
<azonenberg> it's well documented but the documentation is 22 pages long
<azonenberg> and most of that 22 pages is just lists of binary fields
<azonenberg> my initial importer is only going to handle maybe 5% of the possible configurations of the files
<azonenberg> namely, 1D vectors of voltage vs time in 16-bit integer format
<azonenberg> which is what the file you gave me is
<mxshift> Lol. More project than anticipated
<azonenberg> the good news is that dozens of the fields, literally, are marked as reserved or not used in 5/6 series instruments
<azonenberg> so i can skip them
<azonenberg> but i still have to account for them when calculating offsets to everything else
<azonenberg> at this point i think i have the entire file and Y axis headers parsed and reading out plausible values
<azonenberg> i have to do X axis still, then i can start thinking about sample data
<azonenberg> this file is a single data channel right?
<azonenberg> one diff probe?
<azonenberg> and 250M points?
<mxshift> I'm not sure
<azonenberg> Ok well i think i'm almost done
<azonenberg> i'm 784 bytes into the file headers
<azonenberg> still haven't seen my first byte of sample data yet :p
bgamari has quit [Quit: ZNC 1.8.2 - https://znc.in]
bgamari has joined #scopehal
<mxshift> Checked with person who gathered it. Single diff probe
<azonenberg> Great thanks
<azonenberg> Tek file format has 32-bit time_t
<azonenberg> so year 2038 problem
<azonenberg> also what's throwing me right now is that i'm parsing the file as single picosecond timebase resolution
<azonenberg> and i know your scope isn't doing 1000 GS/s
<azonenberg> well what do you know, there must be some crazy interpolation or upsampling going on
<azonenberg> because the data decodes validly as 5 Gsps samples
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+2/-0/±3] https://github.com/glscopeclient/scopehal/compare/11344279f492...b8096affbb29
<_whitenotifier-7> [scopehal] azonenberg b8096af - Initial implementation of Tek WFM file format parser. Fixes #653.
<_whitenotifier-7> [scopehal] azonenberg closed issue #653: Add importer for Tek .wfm file format - https://github.com/glscopeclient/scopehal/issues/653
<azonenberg> mxshift: Sooo i have data
<azonenberg> it's plausible
<azonenberg> but it doesn't make sense as qsgmii from what i can see
<azonenberg> what i expect to see when the link is idle is K28.5+ D16.2- on each of the four lanes
<azonenberg> so interleaved that should be K28.1 K28.5 K28.5 K28.5 / D16.2 D16.2 D16.2 D16.2
<azonenberg> repeating
<azonenberg> so seeing K28.1 D16.5 K28.1 makes no sense because K28.1 is only legal in lane 0
<azonenberg> If this is actually what you have on your link, and your qsgmii implementation is buggy, then great, my loader is working
<azonenberg> if it's not, then i have to investigate further on my end
<azonenberg> in either case, what i am seeing right now makes no sense for the purposes of writing a qsgmii decode
<azonenberg> because the decoded data is complete garbage
<azonenberg> If you can get me a known valid capture once your debug is complete, that would be appreciated too :)
<azonenberg> are these weird dropouts in the signal every ~10.8 us also real?
<_whitenotifier-7> [scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-docs/compare/78db9285f987...606926fa0bb3
<_whitenotifier-7> [scopehal-docs] azonenberg 606926f - Initial skeleton documentation for WFM import filter
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±3] https://github.com/glscopeclient/scopehal-apps/compare/0819c8ec8def...5f5120541c93
<_whitenotifier-7> [scopehal-apps] azonenberg 5f51205 - Updated submodules. Initial command line support for importing WFM files.
<azonenberg> @louis: when you get a chance, please play with the .wfm importer on your tek scopes
<azonenberg> it's at "minimum viable" stage now and does not support anywhere near all of the possible file configurations
sorear has quit [Read error: Connection reset by peer]
sorear has joined #scopehal
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #scopehal
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 8 commits to master [+0/-0/±9] https://github.com/glscopeclient/scopehal-apps/compare/5f5120541c93...4a9cdefa253d
<_whitenotifier-7> [scopehal-apps] azonenberg fa88a6e - ScopeSyncWizard: added dense packed implementation of correlator. See #452.
<_whitenotifier-7> [scopehal-apps] azonenberg 2599731 - Fixed signedness bug
<_whitenotifier-7> [scopehal-apps] azonenberg 4c79000 - ScopeSyncWizard: removed inner loop and replaced with a simple divide. Seems to slow things down but keeping in history as a reference point. See #452.
<_whitenotifier-7> [scopehal-apps] ... and 5 more commits.
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 3 commits to master [+0/-0/±4] https://github.com/glscopeclient/scopehal-apps/compare/4a9cdefa253d...ea77cc432d19
<_whitenotifier-7> [scopehal-apps] azonenberg 2266a8a - ScopeSyncWizard: Refactoring of various correlation implementations out into separate functions. See #452.
<_whitenotifier-7> [scopehal-apps] azonenberg 72064c3 - Initial AVX512 implementation of correlation. See #452.
<_whitenotifier-7> [scopehal-apps] azonenberg ea77cc4 - Moved one more check out of inner loop. Fixes #452.
<_whitenotifier-7> [scopehal-apps] azonenberg closed issue #452: Optimize multiscope sync - https://github.com/glscopeclient/scopehal-apps/issues/452
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 3 commits to master [+0/-0/±4] https://github.com/glscopeclient/scopehal-apps/compare/ea77cc432d19...e0b641cbe8cf
<_whitenotifier-7> [scopehal-apps] azonenberg b195ac7 - Updated intro wizard text
<_whitenotifier-7> [scopehal-apps] azonenberg f778dd4 - ScopeSyncWizard: initial 2:1 optimization, not vectorized
<_whitenotifier-7> [scopehal-apps] azonenberg e0b641c - Added vectorized 2:1 cross correlation implementation
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/e0b641cbe8cf...dfcde647749f
<_whitenotifier-7> [scopehal-apps] azonenberg dfcde64 - Fixed lots of bugs in vectorized 2:1 correlation
<_whitenotifier-7> [scopehal] azonenberg commented on pull request #481: Add support of PicoScope3000 MSO (16chan option) - https://github.com/glscopeclient/scopehal/pull/481#issuecomment-1177490963
<d1b2> <louis> Will do. It'll be nice to have that. I was trying to take a 100s low speed capture of something and it was a huge PITA to deal with because of timeouts.
<d1b2> <louis> A related feature I'd love to see is a button for 'Pull the existing capture off the scope without taking a new one'
<d1b2> <louis> (I ended up patching my copy of the Tek driver to do that)
<d1b2> <louis> Since that facilitates my somewhat-common workflow of "OK, I've got the capture set up, time to suck the brains out of this thing and do the analysis in glscope"
<d1b2> <louis> So does being able to capture to .wfm and import that
<azonenberg> @louis: i think there is a ticket for that already
<azonenberg> but there is neither an API nor a toolbar button
<azonenberg> also, good news: i hear from katharina on twitter earlier
<azonenberg> she's interested in getting back into things on the gui side
<azonenberg> i heard*
<azonenberg> There is also a pending ticket for auto trigger
<azonenberg> we need a toolbar icon, a button in the gui, and APIs in as many drivers as possible
<azonenberg> (the challenge is of course how to make it stop etc so we get single snapshots of waveforms)
<azonenberg> At some point i want to revamp the toolbar icons. the monochrome look makes it hard to distinguish stuff especially if we add more buttons in the future
<mxshift> From person working on QSGMII debug: Ok so late in the day we found a problem on the board and we can get another capture today which I think will be more fruitful. We were coupling through an esd diode (removed and improved performance) but I’m worried on a very long run we are coupling as well…
Guest96 has joined #scopehal
josuah has quit [Quit: reboot!]
josuah has joined #scopehal