azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-cmake, https://github.com/azonenberg/scopehal-apps, https://github.com/azonenberg/scopehal | Logs: https://freenode.irclog.whitequark.org/scopehal
_whitelogger has joined #scopehal
yourfate has joined #scopehal
<yourfate> o/
<azonenberg> o/
<azonenberg> yourfate: re rigol stuff, the read side of the rigol driver is (I think) fully implemented but not well tested
<azonenberg> write side is missing a bunch of stuff, i'm super busy right now
<azonenberg> pull requests are welcome though :)
<azonenberg> Debian stable amd64 is the "official" development platform, YMMV on anything else
<azonenberg> I tried to keep it portable but there's been very limited testing on other platforms
<azonenberg> PRs or bug reports from testing on other platforms are very welcome
<yourfate> kk thy, we'll see if he gives it a spin, I've pointed him towards it
<azonenberg> And yeah i am living in a construction site right now, my old temporary lab got dismantled so i could do electrical work in that area
<azonenberg> Tomorrow i'm hooking up power to the final location of the test equipment bench, but i still have to pull some ethernet cable before i can get things up and running
<yourfate> yea, you've send a few pics of the WIP lab
<azonenberg> As of now i have three cables dangling from the tray in front of the breaker panel
<yourfate> you're in the US, so it's all 110v right?
<azonenberg> and five more in front of the other panel
<azonenberg> With one circuit left to run
<azonenberg> then i can shut it all down and do the work in the panels
<yourfate> how many phases does a typica house get?
<yourfate> is it biphase?
<azonenberg> Standard US power hookup for residential is 120/240V split phase
<azonenberg> basically you get 240VAC 60 Hz on a center tapped transformer
<yourfate> so, one 240V phase
<azonenberg> normal wall outlets are fed from one leg to the tap
<azonenberg> high power stuff is leg to leg
<yourfate> ah
<yourfate> hmm
<azonenberg> so you have 120V for standard appliances and 240 for things like ovens, furnaces, air conditioners, etc
<yourfate> we run ovens etc between phases on our 3 phase 240v, so it has 400v
<azonenberg> yeah you can get i think 480V 3-phase in the US, it's just not commonly run to houses
<azonenberg> Usually they have 3 phases in the street and every 3rd house is on a given phase
<azonenberg> smaller neighborhoods may have one phase for the whole street
<azonenberg> because that way less wiring on the poles
<yourfate> houses here typically have a 3 230v phases, I think a typical house will have 63A breakers on each phase
<yourfate> as master breakers
<azonenberg> Yeah I have a 200A dual pole breaker as my master
<yourfate> fun
<azonenberg> https://www.antikernel.net/temp/cablecomb.jpg this is a bit of the data wiring i have so far - there's a lot more to go
<azonenberg> and i just started ordering fiber
<yourfate> was about to say, I'd probably do some fiber
<yourfate> even if I didn't really need it
<yourfate> just because
<azonenberg> oh i'm going to have half a mile of multimode in this place when i'm done
<azonenberg> but it's all custom made to size, the cat5 i can terminate in house
<azonenberg> So i pull the copper to each drop, measure the length, then order OM4 of the same length
<yourfate> hmm, is renting a fiber terminating tool expensive?
<azonenberg> Not sure, but i dont know how to use one
<azonenberg> :p
<yourfate> friends of mine have done that
<yourfate> for a camp
<yourfate> ran a few km of fibre through the woods
<azonenberg> anyway, preterm isnt that expensive
<azonenberg> So that's what i'm doing
<yourfate> once all-flash NAS reach the price range I deem acceptable I'll build one and install fibre
<monochroma> you just have to put the connectors on and polish the ends, but yeah i wouldn't wanna do it for dozens of terminations
<azonenberg> What you see there is the cat5e for 4 of the 6 drops i've installed so far
<azonenberg> the other 2 fan out behind where i was standing
<azonenberg> there's 15 in total
<azonenberg> so imagine ~3x that much cable, plus that much fiber
<azonenberg> the tray is gonna be pretty full
<yourfate> do you have any good software to keep an overfiew of the cabling etc?
<yourfate> v
<azonenberg> Not exactly
<azonenberg> The network is a star topology, one switch rack in the lab with everything hanging off it
<yourfate> wanted to have something like that to keep track, asked our data center people, but they have some huge proprietary stack for that
<azonenberg> each cable is labeled every ~10 feet with an identifier
<azonenberg> something like "PP3/17 -> D8/2"
<azonenberg> meaning it goes from port 17 of patch panel 3 on the switch rack to port 2 of wall drop 8
<yourfate> like, server x, power supply A is connected to power like y, which goes though junction boxes a,b,c,d, and is connected to UPS a
<azonenberg> Then all of the switching is managed so i have port descriptors in the firmware
<yourfate> ah nice
<azonenberg> all of my wall power receptacles are labeled with a circuit number (in lab/office spaces, wife wouldnt let me do it upstairs)
<yourfate> seems reasonable
<azonenberg> red cover plates for hardwired UPS, white for unfiltered grid power
<azonenberg> the UPS is not installed yet so right now all the red receptacles are on bypass power
<azonenberg> but eventually that whole 8-circuit panel will be on UPS
<azonenberg> The power is all in a second tray parallel to the data tray, also labeled every ten feet with circuit numbers
<azonenberg> as well as every junction box
<azonenberg> General power topology is one circuit per floor for LED lighting, one circuit per room for 120V receptacles
<azonenberg> the office has one circuit on each wall due to the expected high power demand
<yourfate> so lights stay on when something trips
<azonenberg> 3 of the 4 are UPS backed
<azonenberg> Yep, that was the explicit goal
<yourfate> afaik that's even a requiremnt here for commercial stuff
<azonenberg> In the lab, all 5 walls (there's a small partition in the middle turning it into a ring shaped room) have a UPS backed circuit
<azonenberg> 3 of them also have a non-UPS circuit for power-hungry stuff like reflow ovens
<azonenberg> So in total there's 8 20A circuits going to the lab, not counting the 240V 30A circuit reserved for a heat pump i haven't installed yet
<yourfate> nice
<yourfate> do you plan on hard-wiring a reference oscillator somehwere? :D
<azonenberg> Additionally, the lab also has three wall mounted emergency light fixtures that turn on in the event of grid power loss
<yourfate> we have a 10MHz reference here you can connect to
<azonenberg> with two more in boxes that i havent hung yet
<azonenberg> I actually have been thinking about building a little 1U appliance with a GPSDO and LMK04806 or something
<azonenberg> So i can have a single 10 MHz reference input then create arbitrary fractional multiples of that
<azonenberg> with adjustable phase shift for cable deskew etc
<azonenberg> But right now it's not a priority as i only have one instrument with a refclk in/out
<yourfate> afaik the one here is just a simple Rb oscillator
<azonenberg> when i have several, that will matter more
<azonenberg> and well my goal was to be able to do coherent sampling on different instruments even with non-matched cables and such
<azonenberg> which means deskew in the source
<azonenberg> and obviously it has to be buffered
<yourfate> then you'd have to deskew every line individually?
<azonenberg> Yea,
<azonenberg> The LMK04806 is a TI PLL with a 2.5 GHz VCO, dual loop with jitter down to something like 100-120fs RMS
<azonenberg> some crazy number of outputs (12? 16?) that are single ended or differential capable, with digital and analog delay lines on the outputs
<azonenberg> i think you get up to 25ps phase shift resolution on each channel
<azonenberg> So all you'd need to do is bundle that, a GPSDO, and some kind of management interface in a nice rackmount chassis
<azonenberg> it's begging to be done, i just havent had the time
<yourfate> right, that does sound cool
<azonenberg> i might omit the GPSDO
<azonenberg> just have a ref-in SMA connector
<azonenberg> so you can source it from a DSO refclk out, a Rb oscillator, a GPSDO, or whatever you want
<yourfate> ye, I'd also split that probably
<azonenberg> realisitcally for what i'm doing, i dont care about being exactly 10 MHz
<azonenberg> I care that it's the same everywhere i use it
<azonenberg> absolute value is irrelevant, only relative
<azonenberg> anyway the idea would be for it to be a 1U appliance with a bunch of SMAs on the front and an ethernet port for management
<azonenberg> probably based on an integralstick module
<azonenberg> it probably wouldnt need to be anywhere near full width
<yourfate> right, but not full-witdth stuff tends to be awkward
<azonenberg> well i was wondering about possibly making a standard chassis that can fit two half-width modules in it or something
<azonenberg> the other option would be to go vertical eurocard
<azonenberg> Which is what i was thinking of doing for my modular scope
<azonenberg> 3U chassis with as many cards as you want in it
<azonenberg> in any case none of that is happening until the lab is done :p
<yourfate> then get off irc and do work
<yourfate> - he said, on irc, at work
<azonenberg> lol
<azonenberg> i'm actually waiting for a bunch of rtl simulations to finish right now
<azonenberg> should be any minute
<yourfate> I'm waiting for stuff to trigger on some weird edgecase
<azonenberg> this one was actually fun, it was a bug in my jtag-to-rtl-simulation bridge
<azonenberg> So i can use libjtaghal to poke registers over jtag on a chip that doesnt exist yet
<azonenberg> Turns out the bridge logic was getting stuck in a bad state any time i tried to send idle clocks between events, and TCK would stop permanently :p
<azonenberg> I was alternating between rtl debug and untangling cat5 but my neck was getting sore from craning up at the cable tray, so irc it was
<yourfate> i'm debugging a rare error, and at the same time trying to detangle a mess of a yocto-based build system
<azonenberg> fun
<azonenberg> how rare?
<yourfate> about 1% of cases in a several minute long operation
<azonenberg> oh thats nothing
<yourfate> right, I do actually get a trigger most days
<yourfate> :D
<azonenberg> I had a bug once that would hang the whole system after a few hours
<azonenberg> after some investigation i got it down to ~30 mins by keeping the management GUI open but i wasnt sure how that was changing things
<azonenberg> I was able to either have chipscope or a gdbserver on the softcore active, but not both
<azonenberg> because i didnt have enough space in the tiny spartan6
<azonenberg> and it was so full it took like an hour to P&R
<azonenberg> So about 2 hours per iteration, and if i didn't crash i had to wait longer to know whether the issue was gone or just hadn't happened yet
<yourfate> at least you still have space for it :P
<azonenberg> since the actual time to failure was nondeterministic
<azonenberg> turned out, it was a peripheral module that contained both an i2c port and a timer
<azonenberg> there was a 4-cycle window in which, if a timer event fired at the exact right phasing wrt a request coming in on the I2C port
<azonenberg> the i2c transaction would never send the ack back to the cpu
<azonenberg> and everything hung
<yourfate> fun
<yourfate> heh, I just tried glscopeclient with my rto, but it crashed after listing the options
sorear has quit [Ping timeout: 252 seconds]
<azonenberg> yourfate: can you get me a backtrace?
<azonenberg> and what platform were you on?
sorear has joined #scopehal
<yourfate> it was on arch linux
<yourfate> x86
<yourfate> I can get you a trace tomorrow
<yourfate> it threw some gtk error I don't remember now, am at home
<azonenberg> ah ok
<azonenberg> First guess, you didn't run glscopeclient from src/glscopeclient
<azonenberg> It needs to have PWD there in order to find the shaders
<azonenberg> i have to come up with a more permanent solution for that
<yourfate> it was only in build/src/glscopeclient
<yourfate> I didn't have the scopehal-cmake directly in my home, I have a folder there for stuff I compile from source
<yourfate> but in that it should work
<azonenberg> yeah you need to run it from the source directory
<azonenberg> but it shouldnt crash, it should print a message to stdout saying it cant find the shaders then gracefully terminate
<yourfate> so from /scropehal-cmake/src or scopehal-cmake/build/src?
<azonenberg> the former
<yourfate> b/c in the former one there was no executable
<azonenberg> Yeah
<azonenberg> you need to go ../../build/src/glscopeclient or similar
<azonenberg> so the working directory is the source dir
<yourfate> aaah
<yourfate> kk thx
<azonenberg> i know its awkward, there's a hard coded chdir in the binary for my NFS right now that works around it on my system
<azonenberg> but i need a permanent solution
<azonenberg> ideas welcome
<yourfate> should I find time to look into the source I might see if I find a solution
<yourfate> basically I just wanted to see what it does :D