azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-apps, https://github.com/azonenberg/scopehal, https://github.com/azonenberg/scopehal-docs | Logs: https://freenode.irclog.whitequark.org/scopehal
<miek> it's a shame that much of the standard is closed
<azonenberg> yesss i3c kills clock stretching
<azonenberg> also "ternary symbol"
<azonenberg> is that like PAM3?
<Bird|otherbox> huh, weird
<azonenberg> also i finally figured out the difference between the Dx10 and Dx20 wavelink probes
<azonenberg> D4xx vs D6xx was obviously 4 vs 6 GHz bandwisdth
<miek> the ternary stuff uses both scl & sda for data
<azonenberg> miek: :o
<azonenberg> but Dx10 vs Dx20 is different attenuation values / operating voltage ranges it seems
<azonenberg> D420 (the one i'm getting) is max 5V, D410 is 2.5V
<azonenberg> (peak to peak dynamic range)
<azonenberg> Both are +/- 4V common mode voltage range and +/- 3V differential offset, and rated to survive +/- 20V without damage
<azonenberg> They list attenuation for Dx20 as 3.2x/1.9x and Dx10 as 1.7x/1.0x. I'm not quite sure what those two numbers are
<azonenberg> obviously they're the same amplifier but Dx20 has a ~2:1 attenuator in front
<azonenberg> or maybe half the gain
<_whitenotifier-f> [scopehal] azonenberg pushed 3 commits to master [+0/-0/±18] https://git.io/JTkX7
<_whitenotifier-f> [scopehal] azonenberg 70efbe2 - Updated to latest graphwidget
<_whitenotifier-f> [scopehal] azonenberg 990f027 - Various cleanup and refactoring of constructors. Converted several string arguments to const references.
<_whitenotifier-f> [scopehal] azonenberg 004e30c - SCPITransport: constructor and SendCommand arguments are now const references. Fixes #306 and some static analysis warnings.
<_whitenotifier-f> [scopehal] azonenberg closed issue #306: Pass args to SCPITransport ctor by const ref - https://git.io/JTkrO
<azonenberg> Bird|otherbox: so i'm slowly going through the static analysis and fixing finds
<azonenberg> most are minor performance things that arent in inner loops or anything critical, but it's probably worth improving them anyway
<Bird|otherbox> *nods*
_whitelogger has joined #scopehal
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 272 seconds]
Degi_ is now known as Degi
juli965 has quit [Quit: Nettalk6 - www.ntalk.de]
<_whitenotifier-f> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JTkQX
<_whitenotifier-f> [scopehal] azonenberg 1e73de9 - SCPITransport: made more stuff const
Pretzel4Life has joined #scopehal
Pretzel4Ever has quit [Ping timeout: 272 seconds]
electronic_eel has quit [Ping timeout: 258 seconds]
electronic_eel has joined #scopehal
<_whitenotifier-f> [scopehal] azonenberg pushed 4 commits to master [+0/-0/±6] https://git.io/JTkbH
<_whitenotifier-f> [scopehal] azonenberg 32a4576 - Removed duplicate mutex
<_whitenotifier-f> [scopehal] azonenberg e3098a6 - Added suppression for cppcheck false positive
<_whitenotifier-f> [scopehal] azonenberg 85be466 - Const-ified more strings
<_whitenotifier-f> [scopehal] azonenberg c479ee7 - FilterParameter: additional tweaks to allow ParseString to take a const string reference
<_whitenotifier-f> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±6] https://git.io/JTkpe
<_whitenotifier-f> [scopehal] azonenberg 3f87fc2 - Updated to latest graphwidget
<_whitenotifier-f> [scopehal] azonenberg 6505ebc - Continued const-ification rampage
<_whitenotifier-f> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±4] https://git.io/JTIT6
<_whitenotifier-f> [scopehal] azonenberg d9347cc - More const-ification
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JTItk
<_whitenotifier-f> [scopehal-apps] azonenberg 0a086d6 - Added gtkmm cppcheck suppressions
<_whitenotifier-f> [scopehal-apps] azonenberg commented on issue #180: Look into static analysis options - https://git.io/JTItL
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JTItg
<_whitenotifier-f> [scopehal-apps] azonenberg 2946d60 - Prefer libglvnd to legacy libGL on Linux if available. Fixes #230.
<_whitenotifier-f> [scopehal-apps] azonenberg closed issue #230: Figure out CMake libgl/libglvnd warning - https://git.io/JTkWz
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JTIqn
<_whitenotifier-f> [scopehal-apps] azonenberg bfec544 - FilterDialog: added "clear" button to filename parameters. Fixes #223.
<_whitenotifier-f> [scopehal-apps] azonenberg closed issue #223: FilterDialog: allow "no file name" to be specified (add "x" button to clear the current filename) - https://git.io/JTUC4
<_whitenotifier-f> [scopehal-apps] azonenberg opened issue #231: Don't start ScopeThread's until UI is initialized - https://git.io/JTIqu
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #231: Don't start ScopeThread's until UI is initialized - https://git.io/JTIqu
<_whitenotifier-f> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JTIYr
<_whitenotifier-f> [scopehal] azonenberg 2a17c88 - Ethernet10BaseTDecoder: changed some debug logging to trace
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±3] https://git.io/JTIYi
<_whitenotifier-f> [scopehal-apps] azonenberg b2ef98a - Fixed display of icons in ParameterRowFilename
<_whitenotifier-f> [scopehal-apps] azonenberg 371dfff - OscilloscopeWindow: prevent double free during shutdown
Nero_ has joined #scopehal
Nero_ is now known as NeroTHz
<azonenberg> o/ NeroTHz
<_whitenotifier-f> [scopehal] azonenberg opened issue #307: Retool Multimeter API to have GetPrimaryValue() and GetSecondaryValue() methods - https://git.io/JTIZH
<_whitenotifier-f> [scopehal] azonenberg labeled issue #307: Retool Multimeter API to have GetPrimaryValue() and GetSecondaryValue() methods - https://git.io/JTIZH
<_whitenotifier-f> [scopehal-apps] azonenberg opened issue #232: Oscilloscope multimeter support - https://git.io/JTInP
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #232: Oscilloscope multimeter support - https://git.io/JTInP
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #232: Oscilloscope multimeter support - https://git.io/JTInP
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #233: Standalone multimeter support - https://git.io/JTInF
<_whitenotifier-f> [scopehal-apps] azonenberg opened issue #233: Standalone multimeter support - https://git.io/JTInF
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #233: Standalone multimeter support - https://git.io/JTInF
<azonenberg> lain: So i'm working on adding multimeter support to glscopeclient
<lain> :3
<azonenberg> What do you think is the most sensible place to put the menu item to enable it?
<azonenberg> Current plan is, if you request a standalone DMM it will pop up the window right away
<azonenberg> but if it's a mode on a scope, you will have to turn it on
<azonenberg> i.e. i dont want to enable all the bells and whistles right out of the gate
<azonenberg> if its a single purpose dmm you obviously intend to use it if you requested it at startup
<azonenberg> The "window" menu currently has protocol analyzers under it
<azonenberg> so maybe a new submenu for "multimeter"?
<azonenberg> (this will also let you get back the popup for a standalone DMM if you close it by accident)
<NeroTHz> monin
<azonenberg> NeroTHz: i think you missed the SATA test i did last night
<azonenberg> https://www.antikernel.net/temp/IMG_20201010_200704.jpg test setup, v1.2 AKL-PT1 single ended on RX+ to ground
<azonenberg> https://www.antikernel.net/temp/sata2.png zoomed in more with 8b10b protocol decode
<azonenberg> this is with probe plus about 2 meters of RG188 de-embedded
<azonenberg> on a 4 GHz scope with a 6 Gbps signal
<azonenberg> the link did not drop and there was no evidence of interference, although i didnt do extensive load testing and look for errors in syslog or anything
<azonenberg> But this seems to suggest my probe is reaching the point of being useful for moderate speed serial data work now
<azonenberg> when my 4 GHz LeCroy active differential probe comes in i plan to do side by side testing of both ergonomics and signal quality on this test setup
<azonenberg> i think this will become my new test signal source because 1GbE is too slow to be a fun challenge, and 10GbE is so fast that my scope is the big bottleneck in eye quality so it's harder to see probe effects
<NeroTHz> will check in a second
<NeroTHz> coffee first
<_whitenotifier-f> [scopehal-apps] azonenberg opened issue #234: Allow adding a new instrument to an existing session - https://git.io/JTIl4
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #234: Allow adding a new instrument to an existing session - https://git.io/JTIl4
<_whitenotifier-f> [scopehal-apps] azonenberg labeled issue #234: Allow adding a new instrument to an existing session - https://git.io/JTIl4
<azonenberg> Great, this is lovely
<azonenberg> if you ask a Tek MSO6 for the channel gain or offset on channel N, and channel N has a digital probe hooked up
<azonenberg> rather than giving you a nice error message or a dummy placeholder value or something sane
<azonenberg> you know what it does?
<azonenberg> 1) It ignores your command and doesn't return any value at all, leaving your code hanging until the socket read times out
<azonenberg> 2) It ignores all further commands for a little while, so you can't even reconnect to the scope again, although sending *IDN? a bunch of times seems to eventually un-stick it
<azonenberg> 3) the only way to figure out what went wrong is to send *ESR? to read the event status register (no idea what's actually there) and pop the error log so you can actually read it
<azonenberg> then send ALLEV? to see the event log which complains about the command you sent that was invalid
<azonenberg> I must say, although tek's API is beautifully clean and orthogonal compared to LeCroy's abomination of VBScript and COM Automation tunneled over SCPI, their error handling is atrocious
<azonenberg> not quite rigol level but not what i expect from tek
<azonenberg> it just shits itself if you give it anything that isn't perfectly formatted, not only valid SCPI but appropriate for the exact state the instrment is in
<azonenberg> So if i swap an analog probe for a digital probe and dont tell glscopeclient the next time it touches that channel the whole scpi stack will lock up
<azonenberg> ignoring the wavesurfer 3000 series which is just a siglent, i have almost never managed to crash or hang a lecroy scope over the scpi interface
<azonenberg> every other scope i've done dev for i do it routinely
<_whitenotifier-f> [scopehal] azonenberg opened issue #308: Loading saved sessions created on Tek MSO6 results in failures and hangs - https://git.io/JTI4F
<_whitenotifier-f> [scopehal] azonenberg labeled issue #308: Loading saved sessions created on Tek MSO6 results in failures and hangs - https://git.io/JTI4F
<_whitenotifier-f> [scopehal] azonenberg labeled issue #308: Loading saved sessions created on Tek MSO6 results in failures and hangs - https://git.io/JTI4F
<_whitenotifier-f> [scopehal] azonenberg pushed 3 commits to master [+0/-0/±6] https://git.io/JTIEl
<_whitenotifier-f> [scopehal] azonenberg 3e236b0 - TektronixOscilloscope: initial implementation of Multimeter API. Doesn't do anything but detect presence of the meter option at this point.
<_whitenotifier-f> [scopehal] azonenberg 984c49f - TektronixOscilloscope: continued multimeter implementation, fixed a bunch of potential hangs if digital probes are connected. Still more bugs.
<_whitenotifier-f> [scopehal] azonenberg 6598e9f - TektronixOscilloscope: seems MSO5/6 are very picky and don't like you setting gain/offset on disabled spectrum view channels or the whole instrument locks up... Fixes #308.
<_whitenotifier-f> [scopehal] azonenberg closed issue #308: Loading saved sessions created on Tek MSO6 results in failures and hangs - https://git.io/JTI4F
<azonenberg> And now that i'm done shaving yet another stupid yak, back to multimeter support...
bvernoux has joined #scopehal
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 1 commit to master [+2/-0/±4] https://git.io/JTIul
<_whitenotifier-f> [scopehal-apps] azonenberg 2334c1f - Initial glue for creating multimeter dialog. Dialog doesn't do anything yet but is initialized and tied to a meter object. See #232.
alexhw_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
alexhw has joined #scopehal
<azonenberg> NeroTHz: did you ever get a chance to look at that data i linked?
<NeroTHz> yes
<NeroTHz> looks really quite nice
<azonenberg> I think i'm finally starting to nail it
<azonenberg> that wasnt even paying for controlled impedance or rogers
<azonenberg> it's a prototype on a batch PCB process using fr408hr and enig
<azonenberg> I'm very excited for my upcoming solder in probes
<azonenberg> if i can get performance this good on a $30ish probe that stays put when jiggled, i'll be very happy
<azonenberg> It already outperforms the $330 probes from pico though, lol
<azonenberg> i'm honestly very disappointed in them
<azonenberg> my design isn't inherently more expensive than theirs
<azonenberg> and it's not architecturally limited
<Degi> lol
<azonenberg> like, 1M passive probes make tradeoffs for high DC impedance and such. So it's fair to not expect much bandwidth out of them
<azonenberg> but the TA061 aka PML751 is a 500 ohm 10:1 transmission line probe
<azonenberg> architecturally, it's exactly the same as my design
<azonenberg> so why is it so awful?
<Degi> Maybe they didnt do sims
<azonenberg> i can't think of anything they had to sacrifice in order to do what they do
<azonenberg> Degi: PMK should know better. Unless they're just resting on their laurels watching money roll in from every scope vendor on earth
<azonenberg> but like, they made a 4 GHz active probe
<azonenberg> i know they know how to do RF design
<Degi> Maybe it was some kinda side project
<azonenberg> Lol
<azonenberg> i mean its their highest bandwidth passive probe
<monochroma> intern work
<azonenberg> it's just not flat at all, it has a huge notch in the return loss at 900 MHz
<azonenberg> at some point i want to do a thru line test
<azonenberg> put a 900 MHz ish sine through into a scope and see how much vanishes when i land a probe on it
<azonenberg> then the S21 has a +2 dB peak around the same frequency
<azonenberg> if you were to put my exact attenuator design in their body you could sell it for the same price or more, make just as much of a profit, and have a far superior product
<Degi> Lol
<Degi> Hmm
<Degi> Maybe ask them what the hell they did?
<azonenberg> Lol
<azonenberg> good luck getting them to open up. I don't have any ins with them
<azonenberg> and it would take a lot to get them to talk about the engineering that went into the product i think
<azonenberg> PMK seems to be a pretty private company that stays off the radar and mostly sells rebrands
<azonenberg> they dont want to piss off their OEM customers
<Degi> Heh
<Degi> What does selling rebrands do?
<azonenberg> i mean they sell their products to scope vendors with custom branding
<Degi> Do you just relabel a probe from another mfg?
<Degi> Ahh
<azonenberg> and sometimes customization
<azonenberg> like the ZS series probes from lecroy are pmk tetris, but they're customized with a probus power supply and i2c offset control
<Degi> Neat
<azonenberg> But yeah. That is just a terrible probe all things considered
<azonenberg> every other probe i have in my lab is good for something
<azonenberg> there are times when it's better than the others
<azonenberg> even if it's a narrow range of uses
<NeroTHz> sorry for not being active
<NeroTHz> but I´m trying to get Cadence to work
<NeroTHz> it is a very very frustrating process
<azonenberg> the stock passive probes are nice for i2c and stuff with pullups that's too sensitive for a 500 ohm probe
<azonenberg> the tetris has lower capacitance and i really only use for probing crystal oscillators
<azonenberg> but it loads them a lot less than a 1M RC probe so it's worth keeping around just for that
<azonenberg> would i buy it for that? no. am i in a hurry to sell it? also no
<azonenberg> then the pico 6 G probe is my highest bandwidth, and the AKL-PT1 prototype is almost as good and i can easily make more of them
<azonenberg> The AKL-PT1 v1.0 and the TA061s are objectively inferior designs that i pretty much just don't use anymore
<azonenberg> the only thing i still use the TA061s for is if i run out of other high bandwidth probes
<azonenberg> they're better than nothing
<azonenberg> but they are literally a last resort
<_whitenotifier-f> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JTIrb
<_whitenotifier-f> [scopehal] azonenberg 4105f8a - TektronixOscilloscope: Continued DVM configuration. See #272.
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±3] https://git.io/JTIrj
<_whitenotifier-f> [scopehal-apps] azonenberg b465ce3 - MultimeterDialog: can now configure meter modes and input channel. Still need to add autorange switch, text display of measurement value, and graph of measurement values over time. See #232.
<azonenberg> NeroTHz: i'm sorry :P
<azonenberg> not that synopsys is much better
<azonenberg> the eda world in general is just pain
<NeroTHz> thing with cadence (and I suspect synopsys is similar) and the entire RF/analog IC-design workflow is that its not made for guys to set up on their own
<azonenberg> You mean it's assumed to be pre-installed by a system integrator or something?
<Degi> Maybe I should try to install it xD
<NeroTHz> I know people at HiSilicon and ADI and TI and they litterally employ 4-5 people per design group who´s only job is to set up the toolchains, work out all the scripts, automate all the processes, etc
<azonenberg> lol
<azonenberg> yeah sounds familiar
<azonenberg> when i was working on the asic project one guy's job was basically babysitting synopsys
<Degi> lol
<azonenberg> he was part time but we were a small team, ~10 people total and most of them were part time contractors
<Degi> Ah yes, the world of corporate and of closed-source tools...
<NeroTHz> I think this has little to do with open vs closed-source really
<NeroTHz> it´s just huge libraries and complex interdependencies of 20 different tools
<Degi> Hm okay, I guess OpenFOAM isnt super easy either
<azonenberg> NeroTHz: I will never forget the story i heard of the guy who was trying to figure out how to get cadence virtuoso to play well with mento calibre LVS
<NeroTHz> Which is what I´m doing now
<NeroTHz> thoug not LVS but PEX
<azonenberg> so of course the first thing he does is google "cadence calibre". On his work computer
<azonenberg> At which point he discovered that was the stage name of a porn star
<NeroTHz> hahahahahaha
<NeroTHz> well, that is part of the frustrating experience
<NeroTHz> there is no help on this online
<azonenberg> yeah i encountered that too with VCS
<NeroTHz> all the big companies just ring up cadence/mentor
<azonenberg> you get the manual and that's it
<NeroTHz> but we don´t get to do that
<NeroTHz> (We also break a bunch of technical rules but get away with it becuase research)
<Degi> At least with open source, at worst you have to read a few thousand lines of uncommented source code...
<NeroTHz> eg, I´m not supposed to be able to have the layouts of transistor cells in 3 different technologies open at the same time ;p
<azonenberg> lol
<Degi> Use VMs xD
<NeroTHz> Degi, that is not what I meant :p I meant legally, the NDAs and EULAs we sign for those technologies forbid a designer to have access to competing technologies at the same time
<Degi> Lol
<monochroma> azonenberg: lol i heard that same story at the lab i worked at
<Degi> Do they have good support, like can you contact them and ask how to set up stuff?
<azonenberg> monochroma: the one about cadence and mentor?
<NeroTHz> Degi, not us we can´t ,because we are a research group that gets our tools for cheap through imec.
<NeroTHz> so support for us is pretty much limited to the documentation
<NeroTHz> And we do actually have a guy to set up these things
<NeroTHz> but it´s one guy for the entire group and he is way overworked
<Degi> Oof
<monochroma> azonenberg: yeah, from one of our customers who did silicon dev lol
<NeroTHz> I still want my bloody SiGe Bi-CMOS instead of this digital-CMOS technology
<NeroTHz> they have the PDKs set up for RF design so we need to do less scetchy patch-jobs
<NeroTHz> also it´s just way better
<NeroTHz> (imagine that, a technology made for a specific thing is better at that thing than a technology that wasn´t made for that thing)
<azonenberg> lol
<NeroTHz> Thoguh 28nm these days does actually provide RF models validated up to 110 GHz
<NeroTHz> too bad 16nm does not
<azonenberg> "If we knew what we were doing it wouldn't be called research" :p
<NeroTHz> that is my quote
<monochroma> XD
<NeroTHz> also (not mine) ¨The difference between fooling around and doing research is the process of writing it down¨
juli965 has joined #scopehal
<Degi> Huh, GIMP can save as C Source Code
<monochroma> yes
promach3 has quit [Quit: killed]
bluecmd[m] has quit [Quit: killed]
jevinskie[m] has quit [Quit: killed]
bvernoux has quit [Quit: Leaving]
bluecmd[m] has joined #scopehal
promach3 has joined #scopehal
jevinskie[m] has joined #scopehal
<azonenberg> Just heard back from my sales contact at LeCroy
<azonenberg> Wavelink cables up to and including 6 GHz have tight enough tolerances they do not need to be individually calibrated to the amplifier module
<azonenberg> so they're interchangeable freely
<azonenberg> Past 6 GHz you need to cal a module to a specific cable
<azonenberg> I am still sending my ebay WL-PBUS in to get calibrated since it's an unknown
<azonenberg> The cal is more for my peace of mind verifying the ebay'd cable works than to pair it to that amplifier
deltab has quit [Ping timeout: 260 seconds]
deltab has joined #scopehal