<_whitenotifier-f>
[scopehal] azonenberg pushed 1 commit to master [+0/-0/±5] https://git.io/JU2nd
<_whitenotifier-f>
[scopehal] azonenberg 7219fe7 - Fixed some valgrind errors. Fixed inconsistent sizeof in TektronixOscilloscope object creation via a workaround that makes no sense.
<azonenberg>
florolf: oh
<azonenberg>
Utility | IO, Socket Server, protocol needs to be set to "terminal"
<azonenberg>
from "terminal" to "none"
<azonenberg>
that explains why i was getting echoes
<azonenberg>
let me document this...
m4ssi has quit [Ping timeout: 260 seconds]
<florolf>
ah. too bad it's XOR.
<azonenberg>
yeah a lot of instruments have two ports
<azonenberg>
one raw and one with a CLI
<florolf>
yes, that's what i would have expected
m4ssi has joined #scopehal
<azonenberg>
florolf: does your scope have the AFG feature?
<florolf>
not in the current configuration, sorry
<azonenberg>
Not a problem, just wondering
<_whitenotifier-f>
[scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JU24Z
<_whitenotifier-f>
[scopehal] azonenberg 1da41d3 - Very early Tek 5/6 series support. Only reads first block of data so far. Can't turn channels on/off or do... really almost anything but read waveforms.
<_whitenotifier-f>
[scopehal] azonenberg pushed 3 commits to master [+0/-0/±3] https://git.io/JU2BZ
<_whitenotifier-f>
[scopehal] azonenberg e3ac649 - Tek 5/6 series now use 16-bit readback format by default
<_whitenotifier-f>
[scopehal] azonenberg ab74571 - Can now pull entire waveform rather than just first 100K points
<_whitenotifier-f>
[scopehal] azonenberg 6a5d675 - TektronixOscilloscope: enable/disable/query channel enable state now work
<_whitenotifier-f>
[scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±4] https://git.io/JU2Bn
<_whitenotifier-f>
[scopehal-apps] azonenberg 4d71436 - WaveformArea: fixed bug causing traces to not be properly resized
<azonenberg>
ok so we're now at minimum usable state on the 6 series, it's very likely that i broke some functionality for older scopes as part of the refactoring
<azonenberg>
i tried to split stuff out based on the detected instrument type but i'm sure i messed up somewhere :p
<azonenberg>
"Minimum usable" means it connects, doesn't segfault, and displays correct looking waveforms
<azonenberg>
and nothing else works :p
<azonenberg>
miek: as i start on my tek rampage adding 5/6 series support i'm going to want you to periodically go through and make sure i didn't break stuff for older scopes
<azonenberg>
I'm not adding new features for them, because i dont have one to test on
<azonenberg>
but i want to make sure it's at least no worse off than before
<_whitenotifier-f>
[scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JU2EA
<_whitenotifier-f>
[scopehal] azonenberg 079c789 - Initial edge trigger support for Tek 5/6 series
<miek>
it's not me that's got tek stuff btw
<_whitenotifier-f>
[scopehal] azonenberg opened issue #264: Support for Tek 5/6 series MSO channels - https://git.io/JU22k
<_whitenotifier-f>
[scopehal] azonenberg labeled issue #264: Support for Tek 5/6 series MSO channels - https://git.io/JU22k
<_whitenotifier-f>
[scopehal] azonenberg commented on issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JU22O
<azonenberg>
miek: then why is your name in the file header? lol
<azonenberg>
i guess whoever wrote it copied the header from the agilent driver
<miek>
oh, lol, i think i see what happened. tomverbeure based it off the agilent driver
<miek>
yeah
<azonenberg>
Well i'm completely rewriting it for modern tek gear and keeping the old stuff around for unrecognized models
<azonenberg>
it might well break but hey, if somebody complains i/they can fix i
<azonenberg>
it*
<azonenberg>
right now support for current gen hardware is a priority as far as attracting new users i think
<azonenberg>
And i'm having strange problems now with random commands not giving replies etc. Need to investigate more
<azonenberg>
But it's time to start $dayjob stuff
m4ssi has quit [Remote host closed the connection]
<azonenberg>
So far i'm not thrilled with Tek's debug capabilities. LeCroy has a nice readable log in the GUI you can pull up to see when things go wrong
<azonenberg>
you have to issue multiple scpi commands to see errors on a tek
juli965 has joined #scopehal
<_whitenotifier-f>
[scopehal] bvernoux closed issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JUupw
<_whitenotifier-f>
[scopehal] bvernoux reopened issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JUupw
<_whitenotifier-f>
[scopehal] bvernoux commented on issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JU27d
<_whitenotifier-f>
[scopehal-apps] azonenberg closed pull request #188: include chrono required for refactoring of usleep - https://git.io/JU25B
<_whitenotifier-f>
[scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±2] https://git.io/JU25a
<_whitenotifier-f>
[scopehal-apps] bvernoux e3f6fb5 - include chrono required for refactoring of usleep include chrono required for refactoring of usleep(..) by std::this_thread::sleep_for(std::chrono::microseconds(..))
<_whitenotifier-f>
[scopehal-apps] azonenberg 84ceacb - Merge pull request #188 from bvernoux/patch-3 include chrono required for refactoring of usleep
<azonenberg>
Bird|otherbox: ping, any updates on your end?
<bvernoux>
Great you have added "Support for Tek 5/6 series MSO channels driver"
<bvernoux>
SO far I do not have any feedback from Tek ...
<azonenberg>
bvernoux: yeah the scope i am testing on doesn't have that probe hooked up
<azonenberg>
So i cant test the digital stuff
<bvernoux>
ha you have a Tek5 ?
<azonenberg>
No, i have VPN access to a mso64 halfway across the planet
<azonenberg>
once i've taken that as far as i can, TRS-RenTelCo gave me a good price for rental of a mso5 ($800 for a month)
<azonenberg>
so i plan to pick one up and do some more optimization and hands-on testing
<azonenberg>
They also quoted me for keysight and R&S models in the same class but those were significantly more, about $1.3K/mo
<azonenberg>
So tek was the lucky winner for the next driver to get my full attention
<azonenberg>
I also plan to use that rental mso5 to do a "plugfest" demonstration of glscopeclient unifying a mso5 and a waverunner under a single user interface
<tnt>
azonenberg: if you want remote access to a Keysight 3000-X feel free to ask :p (yeah I know it's not quite as fancy as a mso5/6 ...)
<azonenberg>
tnt: I only have time to work on one driver at a time and i have no idea how long i'll have access to this mso64
<azonenberg>
So that's my main dev focus for at least the next week or so
<tnt>
Oh I didn't mean _now_ ...
<tnt>
I meant, anytime.
<azonenberg>
But yes, i'm interested. I also have a contact with a R&S scope who's offered it up for remote testing
<azonenberg>
I will want hands on access eventually for polishing the driver and optimizing it, but initial dev can be done remotely
<_whitenotifier-f>
[scopehal] bvernoux edited a comment on issue #262: Issue to build the actual code with MSYS2 / MINGW64 related to usleep (Impact multiple files SignalGeneratorOscilloscope.cpp...) - https://git.io/JUzxJ
<_whitenotifier-f>
[scopehal] bvernoux deleted a comment on issue #262: Issue to build the actual code with MSYS2 / MINGW64 related to usleep (Impact multiple files SignalGeneratorOscilloscope.cpp...) - https://git.io/JUgnw
<_whitenotifier-f>
[scopehal] bvernoux closed issue #262: Issue to build the actual code with MSYS2 / MINGW64 related to usleep (Impact multiple files SignalGeneratorOscilloscope.cpp...) - https://git.io/JUzA7
<bvernoux>
nice let's continue the build on MINGW64 ;)
<azonenberg>
bvernoux: when i rent the tek, btw
<azonenberg>
i want to run glscopeclient talking to it on my lecroy
<azonenberg>
So you'll see the waverunner's screen displaying waveforms from the tek scope :D
<bvernoux>
I will do some test with my Rigol ;)
<bvernoux>
DS1102E ;)
<bvernoux>
one of my first scope
<azonenberg>
Yeah i mostly just want to make use of that scope to show off the cross vendor etc capabilities
<bvernoux>
there is lot of issue with format for u64
<bvernoux>
as anyway it is not portable
<azonenberg>
But first i have to get the tek driver to feature parity with the lecroy driver
<bvernoux>
you have rent it just for that ?
<azonenberg>
I havent rented it yet. I just have a price quote
<bvernoux>
what is the price for 1 month ?
<azonenberg>
800 USD for a... 2 GHz? mso5
<bvernoux>
for 1 month ?
<azonenberg>
Yeah
<bvernoux>
ha ok
<azonenberg>
It's not cheap but i can afford it. and it's not unreasonable for a >$20K scope
<bvernoux>
yes
<azonenberg>
the keysight and R&S scopes in the same class were about $1.3K/mo to rent
<bvernoux>
and the mso64B ?
<azonenberg>
Which is quite a bit more, and that's why tek is my current priority
<bvernoux>
the latest ;)
<azonenberg>
The mso64 is sitting in a lab somewhere in europe that's shut down for covid
<azonenberg>
and someone gracefully offered me a vpn connection to test on it :p
<bvernoux>
ha great
<azonenberg>
I have no idea how long this arrangement will last, and the only test signal i have is one probe on the compensation input
<azonenberg>
and it takes like 150ms to respond to any command so it's slooow
<bvernoux>
it is a good test for slow response ;)
<azonenberg>
But it's a good test case for glscopeclient on high latency connections, and it's enough for me to get initial development of the tek driver done
<bvernoux>
yes but clearly it requires a local Tek scope to speed up dev on that
<azonenberg>
Once i feel i'm pretty feature-complete on it, i'll rent the mso5 from TRS-RenTelCo and do final optimization, tweaking, etc in my lab
<bvernoux>
great
<azonenberg>
And then film a nice demo video
<bvernoux>
I was planning to buy the MSO6 but no news ...
<bvernoux>
a refurbished one ;)
<azonenberg>
There's two big things i want to demonstrate. First, glscopeclient running *on my waverunner 8000 series* displaying waveforms from the mso5
<bvernoux>
scope in the scope mode ;)
<azonenberg>
Second, a 1000base-SX Ethernet link
<azonenberg>
with RX+ going to the waverunner and RX- going to the mso5
<bvernoux>
ha yes interesting to synchronize on 2 different scope
<azonenberg>
Then do CDR, an eye pattern, and a protocol decode in glscopeclient on a PC
<azonenberg>
Finally, some random demo of using all 8 channels under a single UI
<bvernoux>
yes very interesting test
<azonenberg>
I will probably have to use the mso5 as the primary for this test
<azonenberg>
Because the mso5, except in the rackmount version, has no external trigger input and i don't want to burn an analog channel on sync
<bvernoux>
you want to do that demo for someone ?
<azonenberg>
but it has an aux output
<azonenberg>
mso6 has aux in and out
<azonenberg>
as do my lecroys
<azonenberg>
bvernoux: I want to just film a youtube demo. I think it'd be a cool way to show off how far the project has come
<azonenberg>
And strike fear into the hearts of scope vendors
<azonenberg>
:p
<bvernoux>
yes great
<bvernoux>
I was thinking it was requirements for a big customer ...
<azonenberg>
Splitting the diffpair between the two scopes is an intentionally difficult test case that i want to use to show off the sync feature
<bvernoux>
and a demo with glscope runing on Win10 ;)
<azonenberg>
win10 on a lecroy scope
<azonenberg>
:D
<azonenberg>
Anyway, longer term i want to do an even bigger demo with a mso5, a waverunner, and a keysight. Maybe a R&S too
<azonenberg>
all in one glscopeclient instance
<bvernoux>
yes will be amazing
<bvernoux>
and you can use any channel and mix them to decode protocols ...
<azonenberg>
Yep :D
<bvernoux>
like DDR3 on different scope ;)
<bvernoux>
it will be a challenge ;)
<azonenberg>
I'm gonna try and come up with some cool demos showing off lots of channels split across the instruments
<azonenberg>
Still lots of engineering to do between now and then, but it's coming along. Did you see my demo of the FFT peak labeling btw?
<azonenberg>
screenshot*
<azonenberg>
i havent done a full youtube demo vid yet
<bvernoux>
i have seen only the screenshot
<bvernoux>
let check the video
<azonenberg>
no there isnt a video yet
<bvernoux>
ha ok
<bvernoux>
i'm on ffts error now
<bvernoux>
C:\msys64\home\Ben\scopehal-apps\lib\scopeprotocols\DeEmbedFilter.h:39:10: fatal error: ffts.h: No such file or directory
<bvernoux>
39 | #include <ffts.h>
<bvernoux>
| ^~~~~~~~
<bvernoux>
need to check why it does not find the ffts.h file
<azonenberg>
cmake/FindFFTS.cmake should be your first suspect
<bvernoux>
yes
NeroTHz has quit [Read error: Connection reset by peer]
<azonenberg>
also, new AKL-PT1 v1.2 probes should be shipping from oshpark to me any day now
<bvernoux>
it is found in fact
<bvernoux>
-- Found libffts: C:/msys64/mingw64/include, C:/msys64/mingw64/lib/libffts_static.a
<azonenberg>
So LIBFFTS_INCLUDE_DIR is pointing at include/ and not include/ffts? is that the problem?
<bvernoux>
yes i suspect that
<bvernoux>
I'm testing
<bvernoux>
to check if that work ;)
<azonenberg>
anyway... weekend and next week dev priority is tek mso5/6 support, as well as probably some small tweaks to the lecroy driver (there's a bunch more trigger types i need to add)
<azonenberg>
and i have to work on segmented memory support at some point. Right now we can use it if it's configured scope side, but we have no GUI or APIs to turn it on/off, set number of segments, etc
<bvernoux>
C:\msys64\home\Ben\scopehal-apps\lib\scopeprotocols\ChannelEmulationFilter.cpp:61:11: error: 'basename' was not declared in this scope; did you mean 'g_basename'?
<bvernoux>
| ^~~~~~~~
<bvernoux>
| g_basename
<bvernoux>
61 | base += basename(f.c_str());
<azonenberg>
ok so now i guess fix the cmake script
<azonenberg>
That's a posix function that probably doesnt exist on windows
<azonenberg>
you'll have to find an alternative
<bvernoux>
yes
<bvernoux>
in fact majority of posix stuff are not portable ;)
<azonenberg>
I tried not to use too many posix APIs, as you can see there's not that much
<azonenberg>
but a few crept in
<bvernoux>
yes so far there is not so many
<azonenberg>
bvernoux: remind me what scopes you have besides that rigol?
<bvernoux>
Picoscope 3406DMSO
<bvernoux>
and a very old analog scope ;)
<bvernoux>
It is why I need a new scope like Tek 6-Series ;)
<bvernoux>
but not for >10KUSD
<bvernoux>
it is quite difficult to find that even refurbished as the entry version 1GHz 4 Chan is something like 25KUSD
<bvernoux>
starting price for MSO6B is 24.8Keuros
<bvernoux>
with 8chan
<bvernoux>
1GHz
<bvernoux>
50GS/s ;)
<azonenberg>
Yeah that is a nice sample rate
<bvernoux>
yes
<bvernoux>
and it includes 1GHz passive probes ;)
<azonenberg>
yeah i saw
<bvernoux>
and there is nice extension to have up to 1Gpoints
<bvernoux>
which we do not really found on other scope
<bvernoux>
they are often limited to 64Mpoints ...
<bvernoux>
it is fun but the MSO64B is less expensive than MSO64 as entry price
<miek>
i'd love to see an actual response graph :p
<bvernoux>
miek, me too they say it is 1GHz BW ;)
<bvernoux>
the most interesting for my usage is 50Ohm input ;)
<miek>
i know my "500MHz" probes are pretty awful above a couple hundred meg, finding it very hard to believe 10M probes can do well at 1GHz
<bvernoux>
but it is always nice to have 10MOhms passive probe with it for "normal" stuff ;)
<bvernoux>
I see it is the maximum for pasive probe for Tek stuff
<bvernoux>
passive
<bvernoux>
will be fun to check the real BW of that probe and all caracteristics with VNA ;)
<azonenberg>
miek: yeah i dont know how i'd measure such a thing becuse my vna doesnt have 1M terminations :p
<azonenberg>
But yeah i'd never trust an RC probe for more than a few tens of MHz lol
<azonenberg>
actually wbraun ^
<azonenberg>
is it possible these are those PMK probes you were interested in?
<wbraun>
those tek probes cheat
<azonenberg>
oh?
<wbraun>
tek has a custom 100k input or something front end
<azonenberg>
wbraun: 250K
<azonenberg>
i saw the termination option on the mso6
<wbraun>
they only work with the tekvpi interface
<wbraun>
I bought two of the PMK probes off ebay and am not that happy with them. they have some weird mid band compensation issue
<wbraun>
where all the square waves are slightly peaked. its a time constant smaller than the LF trimmers and larger than the HF trimmers. No clue what causes it
<azonenberg>
bvernoux, wbraun: also btw i'm looking at the official specs from the PMK PML751 which is the OEM part number for the Pico TA061s i have
<azonenberg>
They claim 1.5 GHz bw, 500R || 1.8 pF, 240 ps rise time
<azonenberg>
But you've seen the rather awful s-parameters i measured on them lol
<azonenberg>
even my original kickstarter probe was flatter than that disaster of a probe lol
<miek>
so the sampling scope still isn't working right, and i finally dumped the bootrom flash. it's... weird
<miek>
the start doesn't fully match the trace i got from probing it while it started up, and i see little 4-byte chunks of strings scattered around. i *think* they've just assigned the address pins in some random order :|
<azonenberg>
lol i mean if it's a sram or eprom, that's totally fine
<azonenberg>
but there's not that many combinations to try, right?
<miek>
that's the thing.. it's flash, this seems like a bad idea
<azonenberg>
how many pins are there
<azonenberg>
the data pins are all in order?
<miek>
uh, 17 address pins
<miek>
yeah, data pins look good thankfully
<azonenberg>
weird, i swap data pins more often than address :p
<azonenberg>
Not to be confused with the lain in this channel, or the lainlives elsewhere on freenode. To my knowledge they are three different people
<azonenberg>
miek: the mar-apr-may-jun block is exactly four in length
<azonenberg>
and it's exactly 800 before jul-aug-sep-oct
<azonenberg>
that's very suggestive of swapped address pins
<azonenberg>
all nice aligned powers of two
<miek>
yeah, also they're all 4-byte strings so when that bit ticks over they go up by 100
<wbraun>
what does other lain do? CS? Group Gets?
<azonenberg>
wbraun: Our lain here has a shopify storefront that she used to use for selling some previous hardware gadgets
<azonenberg>
nothing is up there right now
<azonenberg>
but we worked out a deal where she'd cover the hosting costs and manage updates etc in exchange for a cut of sales
<azonenberg>
now i just need to actually make a product listing :p
<miek>
the absurd thing is this chip gets pre-programmed, so they had to write a scrambler to do this. surely would've been easier to just route it right :p
<azonenberg>
lol
<miek>
i guess you just throw it over the wall to the software guys :)
<azonenberg>
yeah i normally only swap lines like this on RAM
<azonenberg>
because it simplifies layout
<miek>
yeah, that makes more sense
<azonenberg>
miek: btw this is an agilent you said? what model?
<miek>
HP 83480A
<azonenberg>
Oh
<azonenberg>
so REALLY old
<miek>
yeah :D
<azonenberg>
not just pre keysight, pre agilent :p
<azonenberg>
That explains gpib being the only comms interface
<azonenberg>
Out of curiosity, why does so much modern test equipment still come with optional gpib?
<miek>
it's got a printer interface too..
<azonenberg>
I can understand gpib *host* interfaces on PCs for talking to expensive legacy gear
<miek>
i think it's for all the test labs that have a gpib setup that they don't want to change
<azonenberg>
But your ATE code written to pull waveforms off a 1990s scope probably won't work with a modern one anyway
<azonenberg>
you'll have to write new software
<azonenberg>
and at that point why not use a modern PHY too?
<miek>
lots of the modern kit has a software compatibility mode too
<miek>
my fairly modern dmm has a mode to pretend to be one from >20 years ago
<azonenberg>
interesting
<miek>
...even my keithley dmm has a mode to pretend to be that same old HP DMM :D
<azonenberg>
i havent seen anything like that on my gear
<azonenberg>
my R&S stuff doesnt seem to pretend to be anything
<azonenberg>
And lecroy has just kept the same scpi protocol for decades :p
<miek>
i figure it's not a huge relative cost, so it's worth it to avoid upsetting the old guys
<azonenberg>
yeah i guess
<bvernoux>
it will be great to support EEZ BB3 Power Supply ;)
<bvernoux>
I shall receive mine soon
<bvernoux>
the huge advantage is it is fully open hardware and open software
<miek>
i've (mostly) vowed not to get any more kit that doesn't have ethernet, but the sampling scope had to be an exception :p
<azonenberg>
miek: yeah that has been my rule too, and the VNA was an exception
<azonenberg>
to make up for it, i think my next major test eq purchase is going to be one of those 20 GHz signalhound RTSAs with 10GbE lol
<miek>
lol
<azonenberg>
But i also want to get a 4 GHz active diff probe for my lecroy scope. no ethernet on that either :p
<azonenberg>
The probe i mean
<miek>
you can probe ethernet with it, still counts
<azonenberg>
Lol
<azonenberg>
as of now my upgrade roadmap is sonnet silver and MAXWELL by end of this year
<azonenberg>
then a 4 GHz active diff probe, sonnet gold, and the RTSA next year
<azonenberg>
And, depending on how things go with MAXWELL, I'd like to build a ~500 MHz AWG in 2021 too
<azonenberg>
Probably no scope purchase in '21 (watch me buy another one) because i bought two in '20 and I normally have been doing one scope upgrade a year
<azonenberg>
And the RTSA costs about as much as a scope
<bvernoux>
wooo glscopoclient work on windoz ;)
<bvernoux>
glscopclient
<_whitenotifier-f>
[scopehal] bvernoux opened pull request #265: Refactor basename() to string_base_name() - https://git.io/JU2xQ
<_whitenotifier-f>
[scopehal] bvernoux commented on issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JU2p3
<_whitenotifier-f>
[scopehal] bvernoux closed issue #260: Issue to build the actual code with MSYS2 / MINGW64 related to LeCroyOscilloscope.cpp - https://git.io/JUupw
<miek>
yay, worked out the first 5 addr bits from that and it seems to match the trace i got. need a plan to work out the rest..
<bvernoux>
so basic MSYS2 MINGW64 work with those PR ;)