azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | | Logs:
fsedano has joined #scopehal
<fsedano> Trying to submit PR but it seems permission is needed? To lib's repo
Degi_ has joined #scopehal
<_whitenotifier-3> [scopehal] fsedano forked the repository -
Degi has quit [Ping timeout: 252 seconds]
Degi_ is now known as Degi
<_whitenotifier-3> [scopehal] fsedano opened pull request #434: Add cache to COUP on RS scopes, fix wrong COUP response -
<_whitenotifier-3> [scopehal] fsedano edited pull request #434: Add cache to COUP on RS scopes, fix wrong COUP response -
fsedano has quit [Quit: Connection closed]
<xzcvczx> azonenberg: well if you have xwayland 'GDK_BACKEND="x11" path/to/glscopeclient'
<xzcvczx> you want me to pr that into the docs?
<azonenberg> xzcvczx: yeah please. add a section, write some introductory text around it
<azonenberg> it should probably be somewhere under "getting started"
<xzcvczx> okay will do at the weekend
<_whitenotifier-3> [scopehal] azonenberg closed pull request #434: Add cache to COUP on RS scopes, fix wrong COUP response -
<_whitenotifier-3> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±4]
<_whitenotifier-3> [scopehal] fsedano f4264ba - Add cache to COUP on RS scopes, fix wrong COUP response
<_whitenotifier-3> [scopehal] azonenberg e930f20 - Merge pull request #434 from fsedano/cache_rs_coup Add cache to COUP on RS scopes, fix wrong COUP response
Tost has joined #scopehal
Tost has quit [Ping timeout: 240 seconds]
<Degi> Is there a typical distance between two SMAs of a differential pair?
<d1b2> <GenTooMan> @mubes you wouldn't happen to have a list of Siglent scpe SCPI model responses would you?
<d1b2> <GenTooMan> don't ask where scpe came from, I have no clue (sigh)
<d1b2> <mubes> Im on my phone, so random words are a fact of life when the auto-correct gets over excited. There is no formal list, you've just got to try them out I'm afraid. I've added some code in so of it discovers a response it doesn't know it at least generates a LogWarning so we can catch it.
<d1b2> <mubes> At the moment I know it works on SDS2000X+ and SDS5000X but we need to bolt others in. That same code is used to determine number of channels and bandwidth cos that is generally encoded into the scope name too.
<azonenberg> Yeah. On that note i need to go through the other drivers
<azonenberg> and make sure they complain when given invalid scopes too
<azonenberg> in particular if the manufacturer is wrong
<azonenberg> we should error out, probably LogError() and then exit(1)
<azonenberg> rather than sending illegal commands to the scope and possibly crashing it
<d1b2> <mubes> If you're ok with that I'll 'upgrade' to LogError then :-)
Tost has joined #scopehal
<xzcvczx> GenTooMan: ugh have you forsaken us and joined the darkside?
<azonenberg> mubes: well ideal would be LogError then deleting the scpi transport and replacing with a null one
<azonenberg> It's less destructive than exit()
<azonenberg> SCPINullTransport does nothing but won't crash etc
<azonenberg> More importantly it prevents any later calls from touching the real scope
<azonenberg> Gimme a bit, i'm busy w/ work
<azonenberg> i'll make a function in SCPIOscilloscope that does that for you
<azonenberg> basically it will freeze everything and stop further communication so you don't dig yourself deeper into a hole
<d1b2> <mubes> No worries. My next dump looks like it's a few days away since I'm managing to crash the scope when I touch it at the moment :-(
<_whitenotifier-3> [scopehal] miek opened pull request #435: AgilentOscilloscope: implement sample rate/depth API -
<_whitenotifier-3> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±4]
<_whitenotifier-3> [scopehal] miek 621344c - AgilentOscilloscope: implement sample rate/depth API
<_whitenotifier-3> [scopehal] azonenberg 652b17f - Merge pull request #435 from miek/agilent_timebase AgilentOscilloscope: implement sample rate/depth API
<_whitenotifier-3> [scopehal] azonenberg closed pull request #435: AgilentOscilloscope: implement sample rate/depth API -
<_whitenotifier-3> [scopehal] miek edited a comment on issue #14: Add Agilent/Keysight scope driver(s) -
<azonenberg> miek: so what's left? do you have the sample rate/depth tables already or are we pretty happy that the core agilent driver is done?
<miek> azonenberg: yeah, i'm happy with it
<azonenberg> In that case go ahead and close #14
<azonenberg> we'll file new tickets for specific missing features etc as needed
<_whitenotifier-3> [scopehal] miek closed issue #14: Add Agilent/Keysight scope driver(s) -
<d1b2> <GenTooMan> @mubes I guess the SDS2000X+ would be 'SDS2000Xplus' (because IdentifyHardware is looking for an 's' at the end of string). What I have (re)done is extract the sub string past the 7th symbol and look at that for the variant of the base model (base model IE 1000,2000, 5000). At the moment the code is doing it for the "SDS1" base model. I (re)added "logical" enumerated types for SDS1000[X|X+|X-E] and SDS2000[X|X+|X-E] to the
<d1b2> SiglentSCPIOscilloscope class. If "Siglent" is willing to supply the model ID strings for each scope they have made, it might make the SiglentSCPIOscilloscope code for identifying the model simpler / better. At the moment it recognizes the "SDS1104X-E" scope, it does however complain with "Warning: Socket read failed (errno=11, Resource temporarily unavailable)" still.
<GenTooMan> xzcvczx, discord is what it is, not great but not bad either.
<d1b2> <mubes> The socket read failed message is the generic "sod off" error from the network when it's not getting a reply within the timeout period....I'm afraid you've got to get to the bottom of that before moving on.
<azonenberg> Yeah you're gonna need to look at the SCPI trace and figure out what command it's sending and not getting a response from
<azonenberg> running glscopeclient with --debug --trace SCPISocketTransport might help
<azonenberg> odds are the scope is seeing something it doesn't understand and ignoring it
<d1b2> <mubes> Unfortunately scpi goes mute when it's not got anything more to say. Yoi may be able to 'cheat' by inserting the response complete code in the outgoing stream and seeing that come back on a blank line as your end of response marker.
<d1b2> <mubes> That way you don't have to wait.
<d1b2> <mubes> (*OPC)
<xzcvczx> oh is that what its joined to?
<xzcvczx> GenTooMan: do you use one of the command line 3rd party clients?
<GenTooMan> xzcvczx, for discord no I use the discord debian linux "blob" which is a webassembly javascript based client.
<xzcvczx> ugh
<GenTooMan> d1b2 is a bot that bridges between discord service and IRC (affectionately know as URK!)
<xzcvczx> the stupid discord gui thinks that s/old/new is correct and disallows s/old/new/
<d1b2> <TiltMeSenpai> if you type s/old/new in discord, it'll actually do the s/ thing on the previous message, but it's not a full s/ command, only literal replacements
<d1b2> <TiltMeSenpai> so none of the fun features
<xzcvczx> it still should use s// instead of s/ though
<GenTooMan> xzcvczx, discord is written in .js it does not behave based on precedence, remember a web programmer is involved so GOK what it will do.
<xzcvczx> i am still surprised they didn't sell out to MS
Tost has quit [Ping timeout: 240 seconds]
<GenTooMan> xzcvczx, MS the type business whore, people who will do anything for money.
<GenTooMan> type was meant to be typical
<xzcvczx> maybe you should have used s/type/typical then :P
<GenTooMan> when you make a mistake you just own up to it. Often trying to erase the evidence is more destructive than just saying oops :D
fsedano has joined #scopehal
<xzcvczx> thats quitter talk
<GenTooMan> sorry not on twitter :D
* GenTooMan tries to get away with a pitiful pun but couldn't find a good mindless metaphor
<GenTooMan> azonenberg, for debugging purposes it would be nice if the class function and line in the originating source code code be emitted when the function RecvLooped does it's thing in Socket.cpp. Seems to be called from ReadReply and ReadRawData. So it might be hard to do to be fair.
<GenTooMan> code code ... sigh "code could"
<GenTooMan> in any case the helper functions obfuscate a bit the code that is causing issues. I can see why you wanted too see the SCPI commands that were causing the error instead.
<azonenberg> GenTooMan: yeah i dont want to add logging to ReadRawData()
<azonenberg> it would be slow and also just spam the console with binary stuff
<azonenberg> really if you need to drill down more than that just use gdb