azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-apps | Logs: https://freenode.irclog.whitequark.org/scopehal
<d1b2> <mubes> It is nice to have a 10Msample wave to be able to dig into though, especially when you're looking for protocol stuff.
Degi has quit [Ping timeout: 252 seconds]
<azonenberg> Yeah definitely try with all the transports. And yes, for protocol stuff deep captures are awesome
Degi has joined #scopehal
<azonenberg> my scopes go up to 128M points on the analog channels... i don't usually go that high but it's nice on occasion
<d1b2> <bob_twinkles> fsedano, is there anything suspicious in dmesg or the Xorg logs? I've had issues with Intel drivers in the past where some internal memory barriers/locks were getting in to bad states and bringing down the whole system like that. It's possible glscopeclient is violating some part of the GL spec and thus causing issues, but GPU drivers are certainly not bug-free
<azonenberg> yeah back when i did CUDA stuff I routinely crashed my x server with bad pointers etc
<azonenberg> it looks like he's not here right now though
<d1b2> <bob_twinkles> I think they're on the 1BitSquared discord so should see it eventually
<_whitenotifier-3> [scopehal-apps] azonenberg opened issue #329: Protocol analyzer view gets duplicate packets added when changing spectrogram settings - https://git.io/J3nYm
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #329: Protocol analyzer view gets duplicate packets added when changing spectrogram settings - https://git.io/J3nYm
ericonr has quit [*.net *.split]
laintoo has quit [*.net *.split]
Error_404 has quit [*.net *.split]
lethalbit has quit [*.net *.split]
maartenBE has quit [Ping timeout: 240 seconds]
maartenBE has joined #scopehal
laintoo has joined #scopehal
ericonr has joined #scopehal
lethalbit has joined #scopehal
Error_404 has joined #scopehal
juli9610 has joined #scopehal
<d1b2> <mubes> The 100Mpoints sample depth is very attractive but pulling that depth of buffer across four channels over 100Mbit ethernet is going to be unpleasant. I think we're going to need a progress bar and the ability to download the samples post-aquisition (as opposed to directly after a trigger) before that depth is going to be user-friendly on this class of scopes.
<azonenberg> Yeah probably. maybe some kind of mode that streams decimated samples then pulls full res on demand or something
<azonenberg> I have a few other things I want to add progress display to, in particular while there's one for *loading* waveforms from a scopesession
<azonenberg> there is not one for saving
<azonenberg> (that's already a pending ticket i think marked for v0.1
<azonenberg> I have a test dataset now with four waveforms of (128M points on one analog channel at 1 Gsps, plus 32M points on 16 digital channels at 250 Msps)
<azonenberg> the on-disk size of that scopesession is about 9.7 GB
<d1b2> <mubes> There does appear to be a decimated mode already, but I think the changes to support it might be pervasive though scopeclient so I've not looked at it seriously yet.
<azonenberg> Yeah file a ticket since it might be nice to have
<azonenberg> tag it as "tabled"
<azonenberg> since it's not gonna happen right away but i don't want it forgotten
<azonenberg> These are the kinds of more sweeping improvements that need to happen before the v1.0 release which needs to be somewhat finalized architecturally
<azonenberg> but not until after v0.1
<d1b2> <mubes> Ok
<azonenberg> development from now to v0.1 should be focused on stability, anything majorly breaking the UX
<azonenberg> finishing in-progress stuff like half written protocol decodes (MIL-STD-1553 I'm looking at you)
<azonenberg> getting the currently working drivers to a reasonably useful state but probably not writing too many new ones
<d1b2> <mubes> It will make the UI 'feel' more responsive, even though you'll still have to grab the full detail to do any analysis.
<azonenberg> Yeah
<azonenberg> I think it will definitely help to make the cheap scopes more useful
<d1b2> <mubes> One issue is I suspect they do a lot of housekeeping on the stop/go, which is slowing them down...need to get into proper conversation with Siglent on this point. I've got a dozen or so questions/observations for them now, but I want to send them in one batch rather than drip feeding, so I'm waiting until most stuff is done (or hits a wall) before I do that. There are some cracking quirks (setting edge trigger level must be followed by at least
<d1b2> a 50mS delay or it doesn't stick) but certainly no worse than anyone else's implementation in my experience.
<azonenberg> Yeah definitely working with vendors on stuff like this will be helpful long term
_whitenotifier-3 has quit [*.net *.split]
_whitenotifier-3 has joined #scopehal
juli9610 has quit [Quit: Nettalk6 - www.ntalk.de]
<_whitenotifier-3> [scopehal] mubes opened issue #439: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3C4Z
<_whitenotifier-3> [scopehal] mubes opened issue #440: Decimated mode - https://git.io/J3C4M
<_whitenotifier-3> [scopehal] mubes opened issue #441: Add 'download' icon - https://git.io/J3CBB
<_whitenotifier-3> [scopehal] mubes opened issue #442: Continuously monitor scope configuration - https://git.io/J3CBF
Tost has joined #scopehal
<_whitenotifier-3> [scopehal] mubes opened issue #443: Heartbeat - https://git.io/J3CRk
<_whitenotifier-3> [scopehal] mubes opened issue #444: Horizontal trigger line and level - https://git.io/J3CRa
<_whitenotifier-3> [scopehal] mubes edited issue #439: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3C4Z
<d1b2> <GenTooMan> @mubes I have stalled on the trigger code, the difference between the scope SCPI API for trigger control between models is significant. The basic function is not quite the same and it is spread across a large number of commands, with far more commands than trigger modes.
<d1b2> <mubes> yes, it's not a great model I'm afraid
<d1b2> <mubes> the triggering, at least on the 2KX+, is organised per trigger mode, which makes it a bit untidy to implement
<d1b2> <mubes> I would advise just concentrating on edge triggering and getting that something like first of all. The other modes are not tested in the current driver either, for exactly that reason
<d1b2> <GenTooMan> @mubes that makes sense. I spent time pondering and this model came to mind for the function of PullTrigger trigger_mode = get_current_trigger_mode() m_trigger = get_a_trigger(trigger_mode) PullTriggerSource(m_trigger) this is what PullTrigger seems to be doing at least.
<d1b2> <mubes> Yes, it's basically collecting the trigger info from the scope.
<d1b2> <mubes> I don't think SCPI was ever written with the intention of being able to easy to use 😕
<d1b2> <GenTooMan> Well naught can be done about that now. As we who inherit have to clean up the mess left by the predecessors, regardless of what makes sense to us. Having written a few protocols, it's very easy to discover "feature" creep making an initial plan / design a disaster quickly. That appears to be what happened from how the command set changed. The model is simple but what happens to find the trigger mode and get a trigger type is where all the
<d1b2> complexity ends. The model does move implementation specific details elsewhere, so it partially cleans things up. I was pondering if it made sense to just make a whole new module for the 1K/2K.
<d1b2> <mubes> My inclination would be to implement the module doing whatever you need to, then we'll look at how best to integrate them....it's quite possible you'll come up with some smarter work-arounds that can be back ported into the 2KX+ module, for example.
<d1b2> <mubes> So...don't guard the 2KX+ code, just implement yours cleanly. How we merge them later is 'for study' depending on how different they end up really being.
<_whitenotifier-3> [scopehal] miek opened issue #445: Support for Agilent/Keysight triggers - https://git.io/J3WfU
<_whitenotifier-3> [scopehal] miek assigned issue #445: Support for Agilent/Keysight triggers - https://git.io/J3WfU
<_whitenotifier-3> [scopehal] miek labeled issue #445: Support for Agilent/Keysight triggers - https://git.io/J3WfU
Tost has quit [Ping timeout: 252 seconds]
<_whitenotifier-3> [scopehal-apps] mubes opened issue #330: Horizontal trigger line and level - https://git.io/J3WZ3
<azonenberg> Re #442
<azonenberg> This might be OK to do when no trigger is active but it's easy to bottleneck things
<azonenberg> if a trigger is active it will horribly degrade performance
<azonenberg> also if you naively flush the cache the next context menu hit will be super slow
<azonenberg> There is a toolbar button to manually flush the cache if you've made changes on the scope front panel
<azonenberg> i used to have a timeout where every X seconds it'd flush the cache and pull config from the scope but this made interactive use a lot laggier on fast scopes
<_whitenotifier-3> [scopehal-apps] mubes opened issue #331: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3WZK
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #331: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3WZK
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #331: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3WZK
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #331: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3WZ1
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #330: Horizontal trigger line and level - https://git.io/J3WZ3
<_whitenotifier-3> [scopehal] azonenberg commented on issue #443: Heartbeat - https://git.io/J3WZj
<_whitenotifier-3> [scopehal] azonenberg labeled issue #443: Heartbeat - https://git.io/J3CRk
<_whitenotifier-3> [scopehal] azonenberg labeled issue #442: Continuously monitor scope configuration - https://git.io/J3CBF
<_whitenotifier-3> [scopehal] azonenberg commented on issue #443: Heartbeat - https://git.io/J3WnM
<_whitenotifier-3> [scopehal-apps] mubes opened issue #332: Heartbeat - https://git.io/J3Wn9
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #332: Heartbeat - https://git.io/J3Wn9
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #332: Heartbeat - https://git.io/J3Wn9
<_whitenotifier-3> [scopehal] azonenberg commented on issue #442: Continuously monitor scope configuration - https://git.io/J3WcV
<_whitenotifier-3> [scopehal] azonenberg commented on issue #445: Support for Agilent/Keysight triggers - https://git.io/J3Wcd
<_whitenotifier-3> [scopehal-apps] mubes opened issue #333: Add 'download' icon - https://git.io/J3WCq
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #333: Add 'download' icon - https://git.io/J3WC4
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #333: Add 'download' icon - https://git.io/J3WCq
<_whitenotifier-3> [scopehal] azonenberg labeled issue #440: Decimated mode - https://git.io/J3C4M
<_whitenotifier-3> [scopehal-apps] mubes commented on issue #331: Trigger Position in time only updates when time ribbon is moved - https://git.io/J3W0V
deanforbes_ has quit [Read error: Connection reset by peer]
deanforbes_ has joined #scopehal
wbraun has quit [Ping timeout: 246 seconds]
wbraun has joined #scopehal
esden has quit [Ping timeout: 260 seconds]
JSharp has quit [Ping timeout: 250 seconds]
elms has quit [Read error: Connection reset by peer]
elms has joined #scopehal
esden has joined #scopehal
JSharp has joined #scopehal
hlzr has quit [Ping timeout: 258 seconds]
hlzr has joined #scopehal
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #76: Add radix option for displaying digital bus waveforms - https://git.io/J3Wr7
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #127: Allow cursors to be synchronized between viewports - https://git.io/J3WoT
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #325: GPU hang on iris Plus driver - https://git.io/J3k5U
<_whitenotifier-3> [scopehal] mubes commented on issue #442: Continuously monitor scope configuration - https://git.io/J3WPW
<_whitenotifier-3> [scopehal] azonenberg commented on issue #442: Continuously monitor scope configuration - https://git.io/J3WPa
<azonenberg> mubes: So i'm working on https://github.com/azonenberg/scopehal-apps/issues/330 now, the trigger drag arrow
<azonenberg> I'm thinking about what color the line should be
<azonenberg> obvious options are the channel color, the cursor color (both easy to confuse with the channel or a cursor)
<d1b2> <mubes> Ha ha...now thats support 🙂
<azonenberg> perhaps a new color entirely set separately in preferences - white by default
<d1b2> <mubes> I think that would be best, but it's anothe preference thing to be set up 😦
<azonenberg> I mean that's trivial. the preferences dialog is dynamically generated
<azonenberg> you just define a pref object in a few lines of code
<d1b2> <mubes> fair enough then
<_whitenotifier-3> [scopehal-apps] azonenberg opened issue #334: Progress dialog when loading waveforms gives confusing/inaccurate results w/ mixed signal captures - https://git.io/J3WXC
<_whitenotifier-3> [scopehal-apps] azonenberg labeled issue #334: Progress dialog when loading waveforms gives confusing/inaccurate results w/ mixed signal captures - https://git.io/J3WXC
<d1b2> <mubes> Had a quick look at sample depth vs. sample speed on the sds2000x+.....
<azonenberg> So a huge constant factor then a linear factor on top of it. Not surprising
<azonenberg> That's really where the higher end scopes shine, having that O(1) block much smaller
<d1b2> <mubes> yup, but means there should be some rich opimisation pickings if we can talk the guys into looking into it
<azonenberg> One would hope
<_whitenotifier-3> [scopehal-pico-bridge] azonenberg opened issue #3: Crash when setting negative trigger level - https://git.io/J3WyY
<_whitenotifier-3> [scopehal-pico-bridge] azonenberg assigned issue #3: Crash when setting negative trigger level - https://git.io/J3WyY
<_whitenotifier-3> [scopehal-pico-bridge] azonenberg labeled issue #3: Crash when setting negative trigger level - https://git.io/J3WyY
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±4] https://git.io/J3WyZ
<_whitenotifier-3> [scopehal-apps] azonenberg 00dab71 - Added horizontal dashed line and value text when setting trigger level. Fixes #330.
<_whitenotifier-3> [scopehal-apps] azonenberg closed issue #330: Horizontal trigger line and level - https://git.io/J3WZ3
<azonenberg> Found a new bug in the process but hey, that one is closed at least ;p
<_whitenotifier-3> [scopehal] mubes opened pull request #446: Fix trigger point calculations and improve off-channel handling - https://git.io/J3WSm
<_whitenotifier-3> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±4] https://git.io/J3WSM
<_whitenotifier-3> [scopehal] mubes 6c7bd6f - Fix trigger point calculations and improve off-channel handling
<_whitenotifier-3> [scopehal] azonenberg aa1734c - Merge pull request #446 from mubes/siglent_triggers Fix trigger point calculations and improve off-channel handling
<_whitenotifier-3> [scopehal] azonenberg closed pull request #446: Fix trigger point calculations and improve off-channel handling - https://git.io/J3WSm
<d1b2> <mubes> @azonenberg re: trigger setting....exactly what I was thinking of. If only all my wishes came true quite so easily.
<d1b2> <mubes> ta
<azonenberg> also heads up major diff inbound to libscopehal/libscopeprotocols in the next few minutes
<azonenberg> unifying the header comments on everything
<GenTooMan> Suddenly I want to be able to use split in C++ and make a list out of CSV values. It would make parsing SCPI responses easier.
<_whitenotifier-3> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±330] https://git.io/J3WFc
<_whitenotifier-3> [scopehal] azonenberg f82ed20 - Unified all header comments in libscopehal and libscopeprotocols. Fixes #203.
<_whitenotifier-3> [scopehal] azonenberg closed issue #203: Rewrite header comments to say "libscopehal" and not "Antikernel" - https://git.io/JJ2fl