azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing |,, | Logs:
<_whitenotifier-f> [starshipraider] azonenberg pushed 1 commit to master [+0/-0/±12]
<_whitenotifier-f> [starshipraider] azonenberg 9617d01 - Continued schematic review. Finished verifying pinouts. Assigned lots more footprints.
Degi has quit [Ping timeout: 256 seconds]
Degi has joined #scopehal
electronic_eel has quit [Ping timeout: 246 seconds]
electronic_eel has joined #scopehal
_whitelogger has joined #scopehal
Bird|otherbox has quit [Ping timeout: 246 seconds]
<_whitenotifier-f> [starshipraider] azonenberg pushed 1 commit to master [+0/-0/±3]
<_whitenotifier-f> [starshipraider] azonenberg 998540e - Continued assigning footprints. Renamed some ferrites from L* to FB* refdes. Renamed a test point from J* to TP*.
<azonenberg> progress, now about 60% done assigning footprints
<_whitenotifier-f> [starshipraider] azonenberg pushed 1 commit to master [+0/-0/±4]
<_whitenotifier-f> [starshipraider] azonenberg d6ef279 - Continued assigning footprints. Done with everything up to and not including resistors.
<_whitenotifier-f> [starshipraider] azonenberg pushed 1 commit to master [+0/-0/±18]
<_whitenotifier-f> [starshipraider] azonenberg adc3b1b - Assigned footprints for all resistors
bvernoux has joined #scopehal
anuejn has quit [Quit: No Ping reply in 180 seconds.]
anuejn has joined #scopehal
<katharina> i forgot how annoying it is to implement sum types in C++ without inheritance
<azonenberg> katharina: sum types?
<katharina> a sum type T := A + B has at any time either a value of type A or a value of type B, not both, and not none of them
<katharina> std::variant<Ts...> in C++17
<azonenberg> Hmm
<azonenberg> What C++ version is supported in ubuntu 18.04's gcc?
<azonenberg> or debian stable
<azonenberg> or whatever mingw you're using
<azonenberg> any features supported on all of those platforms are OK to use, we've kept the project at C++ 11 mostly because there was no reason to use anything higher
<azonenberg> If you've got a good reason, and it builds on all of our target platforms, i have no objection to moving up to 17
<katharina> C++17 isnt supported by Gcc 7.x.x which is shipped in Ubuntu 18.04
<katharina> but its fine, i did implement my own sum type already
<katharina> its a few hours of work up front, but it does carry many benefits, such as not having to store your sum types on the heap and use pointers-to-base-class (if you go the inheritance route)
<katharina> azonenberg: Would you be alright with me refactoring some of the file system code in glscopeclient later on?
<katharina> I find myself using platform-dependant things like "is this a real file?" a lot, maybe its time to make a central implementation the whole project uses
<azonenberg> Makes sense. And yes, I think that would make sense
<azonenberg> i mean that's already done in heavy libraries like boost but i really want to avoid pulling that in
<azonenberg> Make a ticket for that and assign it to yourself
<azonenberg> for now it can live in libscopehal but i think longer term it might make sense to move to xptools if we find it's generic enough it might be useful in other projects
<katharina> yea i thought about boost for a second but i really dislike how large it is
<katharina> shall i make the ticket in libscopehal?
<azonenberg> Yes
<azonenberg> actually wait
<azonenberg> Put it in xptools to start. that's where it really belongs
<azonenberg> let me add you to the project
<azonenberg> xptools is basically my lightweight cross platform abstraction library for things that libstdc++ doesn't already handle like threading and mutexes
<azonenberg> so anything that's portability related but not GUI or specific to oscilloscope stuff should go there
<azonenberg> Just invited you to xptools
<azonenberg> Make the ticket and wrappers in there
<_whitenotifier-f> [starshipraider] azonenberg pushed 2 commits to master [+0/-0/±25]
<_whitenotifier-f> [starshipraider] azonenberg 268626f - Began assigning IC footprints
<_whitenotifier-f> [starshipraider] azonenberg 3b2dfd3 - Added footprints for most ICs other than DC-DC modules
<azonenberg> i still have to do most of the DC-DC's and assign a few STEP models to things like esd diodes and the big caps
<azonenberg> this is going to be one heck of a layout
<katharina> did you have to create the 3D models for the exotic parts yourself?
<azonenberg> i did the kicad footprints but all of the 3d models were vendor step models
<azonenberg> connector vendors are generally pretty good about providing mechanical models
<azonenberg> the BGAs in some cases are just generic bga footprints scaled to the right size
<azonenberg> so wrong ball count
<azonenberg> those are just for show, the connector footprints are important because i use them for verifying clearance etc
<azonenberg> and sanity checking that all of the mounting holes are in the right spot
<azonenberg> Not yet in the layout: six dc-dc modules, a crystal, and an OCXO
<katharina> what kind of connector is J18? Never seen those before
<azonenberg> once all of those are done i can continue the schematic review, which is probably going to take most of the rest of the week
<azonenberg> Those are SFF-8087 aka mini SAS connectors. Normally used on server backplanes
<azonenberg> they carry four lanes of SAS or SATA on one connector
<azonenberg> or, in my case, eight LVDS lanes from a logic analyzer pod
<katharina> ah, interesting reuse of the connector :)
<katharina> are those expensive?
<azonenberg> $7.41 each. So not CHEAP, but compared to the $10.66 SMA connectors or the $386 FPGA, not a huge portion of the overall BOM
<azonenberg> Although the twelve of them do cost $88.96 combined
Bird|otherbox has joined #scopehal
<katharina> azonenberg: do you want the config file to be in ~/.config/scopehal or ~/.config/glscopeclient ?
<azonenberg> hmm, good call. I guess glscopeclient makes more sense for UI stuff
<azonenberg> but ~/.config/scopehal makes more sense for things like plugins that are usable in headless/API mode
<azonenberg> Since i intend for libscopehal to be usable in automated testing environments without using glscopeclient, so we need to have plugins not depend on the UI
<azonenberg> We may eventually have preferences for the library, or specific filters, at some point? if so, those will go in ~/.config/scopehal.
<katharina> sure. I would also say that plugins still go to ~/.local/share/scopehal
<katharina> since you say, headless use
<azonenberg> Yeah
<azonenberg> Just make sure all of these directories are documented somewhere
<katharina> yea
<azonenberg> We have a huge amount of catch-up to do in the docs, so i want to make sure all major new features, or changed features, get documented
<azonenberg> and then as time permits go back and document existing stuff
alexhw_ has joined #scopehal
alexhw_ has quit [Client Quit]
<katharina> azonenberg: Apparently, its considered "best practice" to react to the GTKMM "hide" signal instead of "destroy" if you want to do cleanup
<katharina> what are you opinions on this, if any?
<azonenberg> katharina: I haven't done any research into this either way. But I think 'destroy' is permanent while 'hide' can be called more than once
<azonenberg> if it's a dialog you show when needed then close, then bring back
<azonenberg> so it would make sense to do per-run cleanup in hide
<katharina> got it. lots of conflicting information. ill stick with the existing destroy handler you added until we notice any problems with this
<azonenberg> what is this for, the app or the prefs dialog?
<azonenberg> in the case of the app, note that we have a function called i think ClearSession() that is used to reset an OscilloscopeWindow when loading a save file or otherwise clearing all active state
<azonenberg> this is also called during shutdown for cleanup
<_whitenotifier-f> [scopehal-apps] nshcat opened pull request #120: Basic preference system infrastructure -
<_whitenotifier-f> [scopehal-apps] nshcat edited pull request #120: Basic preference system infrastructure -
<_whitenotifier-f> [scopehal-apps] nshcat synchronize pull request #120: Basic preference system infrastructure -
<azonenberg> katharina: save preferences in CloseSession() rather than on_delete_event
<azonenberg> Preference.cpp has a 2018 copyright date, not sure what file you copied the header from, but that should read 2012-2020
<katharina> will do these two things
<azonenberg> also I generally do "using namespace std" in source files to avoid needing the std:: qualifier on all STL types
<azonenberg> like you have in Preference.cpp. makes things more readable
<katharina> i can change that np
<katharina> that was mostly habit tbh
<azonenberg> Fair enough
<azonenberg> also i normally do lowercase _h on include guards
<azonenberg> Otherwise looks good. If you fix those things, then I'm OK with you merging it as is
<katharina> kk
<_whitenotifier-f> [scopehal-apps] nshcat synchronize pull request #120: Basic preference system infrastructure -
<azonenberg> Looks good. Go ahead and merge
<katharina> Thanks. I need to fix a small bug first, then ill merge to gui-dev
<_whitenotifier-f> [scopehal-apps] nshcat synchronize pull request #120: Basic preference system infrastructure -
<_whitenotifier-f> [scopehal-apps] nshcat closed pull request #120: Basic preference system infrastructure -
<_whitenotifier-f> [scopehal-apps] nshcat deleted branch preferences-base -
<_whitenotifier-f> [scopehal-apps] nshcat created branch preferences-gui -
<_whitenotifier-f> [starshipraider] azonenberg pushed 1 commit to master [+0/-0/±6]
<_whitenotifier-f> [starshipraider] azonenberg 2b3ea40 - Added footprints for everything but LCD
<katharina> azonenberg: have you seen this theme issue before? There is a number in the "test real" field, but the text is black so you cant see it
<azonenberg> Interesting. Are you familiar with how to use the gtkmm inspector?
<azonenberg> You can use this to view the full CSS settings, widget hierarchy, etc
<azonenberg> My guess is i've never used whatever that widget with the up/down controls is before
<azonenberg> so my theme is incomplete and missing settings for it
<azonenberg> So you'll likely need to add it to glscopeclient/styles/glscopeclient.css
<katharina> No, I never used GtK - I'm learning by working on glscopeclient
<katharina> ill take a look at the inspector
<azonenberg> it's great for theme development because, if you poke around a bit in the dialogs, there's a box for you to type custom CSS
<azonenberg> and have it applied live
<azonenberg> no need to restart the app and click around menus to get to the offending widget
<katharina> oh that sounds great
<azonenberg> then you can just copy paste your working css snippet into the actual theme
<katharina> im also unsure whether this widget with the +/- is the right choice, lets see
<azonenberg> Either way it's a theme bug
<katharina> its definitely kind of arcane, and it only allows 0 for me rn, need to investigate further
<azonenberg> So fix that, we'll likely need to use it at some point in the future
<azonenberg> for some setting somewhere
<azonenberg> in general, most of my settings in the past have just had you type in freeform text in an entry
<azonenberg> which is parsed as a float/double when the dialog is closed
<azonenberg> i didn't do any enforcement of valid input live
<azonenberg> down the road i will be applying stronger type checking as well as better unit prefixing etc
<azonenberg> i have a Unit class that knows how to display and interpret a bunch of SI units
<azonenberg> as well as some non-SI units, like for example we use picoseconds instead of seconds as our base time unit
<azonenberg> but they're displayed as seconds with SI prefixes, so it has to scale by 1e12 etc
<katharina> i think ill do the same honestly
<katharina> this widget is not cooperating
<katharina> also with real numbers, having increment buttons is rarely useful
<_whitenotifier-f> [starshipraider] azonenberg pushed 3 commits to master [+0/-0/±5]
<_whitenotifier-f> [starshipraider] azonenberg 0c7de9f - Finished adding footprints
<_whitenotifier-f> [starshipraider] azonenberg 7e3e3bf - Added mounting holes and fiducials to top level schematic page
<_whitenotifier-f> [starshipraider] azonenberg 041da90 - Initial PCB skeleton with auto-scattered parts.
<azonenberg> ok thats it for now, have to go to $dayjob stuff
<katharina> see ya!
<_whitenotifier-f> [scopehal-apps] nshcat opened issue #121: Improve the visual looks of the preferences dialog -
<_whitenotifier-f> [scopehal-apps] nshcat labeled issue #121: Improve the visual looks of the preferences dialog -
<_whitenotifier-f> [scopehal-apps] nshcat labeled issue #121: Improve the visual looks of the preferences dialog -
<_whitenotifier-f> [scopehal-apps] nshcat assigned issue #121: Improve the visual looks of the preferences dialog -
<_whitenotifier-f> [scopehal-apps] nshcat opened pull request #122: Basic implementation of the preferences dialog -
oskar has joined #scopehal
<oskar> Hello!
<oskar> I'm encountering a issue when trying to run glscopeclient, "GLSL 4.30 is not supported."
<monochroma> oskar: your GPU has to support compute shaders
<oskar> It should, but I'm on a VM right now so that could be why...
<oskar> Thanks though, I'll look into how to fix that for VM use
<monochroma> what VM platform?
<oskar> Windows Hyper-V
<monochroma> ah
<katharina> oskar: i had the same issues on VirtualBox, did you find a solution?
<oskar> Not yet unfortunately, maybe I'll have to wait for the stable Windows port :(
<sorear> OT but how do graphics stacks decide which features to emulate if they aren't natively available and which to just fail?
<oskar> I'm probably going to switch to VMWare Player instead of Hyper-V, apparently Hyper-V has no support for 3D acceleration
<monochroma> ah, that would do it
<oskar> Yeah, unfortunate as then I need to re-install everything ahah
<monochroma> i would make sure VMWare Player has full GPU feature set support so it will pass the GLSL calls through
<oskar> It seems like it does, I'll let you know how it goes though
<monochroma> i know some VM systems only do basic GL calls, just enough to do 3D acceleration
<oskar> Ah
<katharina> oskar: i can give you a binary distribution if glscopeclient if you want to give it a try on windows
<katharina> most features should work on windows now
<oskar> Yes please that'd be great
<katharina> oskar: give me a few minutes, then ill send you a github releases link
katharina has quit [Quit: leaving]
<oskar> Perfect, thank you!
katharina has joined #scopehal
<katharina> would be interesting if this works for you. I included a sample trace that you can open like this `glscopeclient.exe usb.scopesession`
<oskar> Awesome, thanks a lot
<oskar> Will give it a try
<oskar> I'm getting the error "libwinpthread-1.dll was not found"
<katharina> ohhhh
<katharina> let me fix that
<oskar> Thanks
<katharina> its nice of you to test it, since it made at least one weakness in my publishing script obvious
<katharina> new preview is uploaded soon
<oskar> Will try now :)
<oskar> It opens! Now I'll try with my scope
<katharina> nice! thanks for being patient
<katharina> i did not manage to get to the office yet, so you checking if it works with your scope will give us valuable info
<oskar> No problem at all, I'm glad to be able to help.
<oskar> Run & Stop works
<katharina> would you be so kind to send me a screenshot of the GUI? I want to make sure everything looks ok
<katharina> ofc only if thats comfortable for you
<oskar> Yeah sure I'll PM you it
<oskar> Sent
<katharina> awesome, thanks!
<oskar> No problem
<electronic_eel> azonenberg: about leds for the MAXWELL host ports - I don't think they are necessary. we got the lcds on the pods, so no help for identifying the ports.
<electronic_eel> if a la pod should have connection problems, I don't think a led is enough. then you want current drawn, uart status and so on, you can't display that with just a led
<electronic_eel> so I don't see a use case where a led would help
<oskar> Katharina did you get my private message? I don't know if I did it right, very new to IRC and weechat
juli969 has joined #scopehal
<azonenberg> oskar: you're able to pull waveforms from your scope?
<azonenberg> electronic_eel: that was my thoguht. we have the ina233s
<azonenberg> Katharina: re your pull requests you submitted
<azonenberg> should #122 be merged before 121, or are they order independent?
<azonenberg> i havent actually looked at the code yet, wondering which to touch first
<oskar> Doesn't seem like I am able to, but I am going to try some more later
<katharina> oskar: yes i did, it looks fine
<oskar> Great, thanks!
<katharina> azonenberg: 121 is just an issue for the ui-dev branch. Id like the PR 122 to be merged first. It contains a barebones impl of the dialog with logic in place. When that is okay and landed, ill make it pretty
<azonenberg> oskar: so you can start and stop the scope, but it doesn't display any waveforms?
<oskar> Correct, although I may just be using it wrong
<azonenberg> Try launching the executable with the --debug argument, and upload the console output to a pastebin or something
<oskar> Will do
<azonenberg> also what was the exact make/model you were testing on? i know its a keysight but not specifically
<oskar> MSOX2024A
<azonenberg> (paging miek since he was working on the agilent driver)
<azonenberg> Very likely something is different about your scope vs the ones we've worked on in the past
<oskar> or I may be using it wrong, I'll try the --debug now
<azonenberg> if the offline mode works to display waveforms from save files, and you can send commands to the scope (start/stop), i think all of the pieces should be working
<oskar> Yep I could view the test USB waveform included
<katharina> oskar: did you try the USB dataset i shipped in the archive?
<azonenberg> the most likely explanation is the driver sending a command that's not valid for your hardware and/or not correctly interpreting a reply
<oskar> Ye
<azonenberg> meaning your scope is somehow different from the agilent ones we've tried in the past
<azonenberg> Not entirely unexpected
<oskar> The software turns on all 4 channels of my scope and turns on single capture mode on start so some commands are def working
<azonenberg> oskar: more importantly that means that at least the transmit side of the communications link is working
<azonenberg> basically, the set of things that are known to work on your scope+computer system encompasses almost everything but the driver itself
<azonenberg> Hence why I blame the driver
<oskar> Yeah true, I can turn on and off channels ok, but no waveform.
<miek> does it have anything to trigger on?
<azonenberg> (ah, good point)
<oskar> No it's a constant 3.3 V DC signal, so maybe that could be why?
<azonenberg> Yeah. glscopeclient does not currently support auto trigger mode
<azonenberg> or "force trigger"
<oskar> Ohh
<azonenberg> meaning you have to have a valid level to trigger on for anything to happen
<oskar> Do I set that up on my scope as normal or is it in software?
<azonenberg> on one of the channels there should be a little triangle on the Y axis
<miek> scope, probably. (i can't remember how much of that stuff is implemented in the software right now)
<azonenberg> you can drag that to set the trigger level if the driver supports it
<azonenberg> but the agilent/keysight driver is pretty new and that function may not work yet
<oskar> It does
<oskar> I see it moving on the scope too
<azonenberg> Ok
<miek> ooh, neat
<azonenberg> so in that case hook up a probe to a signal that actually has some edges on it and see what happens
<oskar> I'll try and find one ahah
<miek> probe comp output on the front?
<oskar> Oh I got something!
<katharina> awesome!
<oskar> I tapped the probe on the battery connector to try and get a rising edge and it did
<azonenberg> perfect. so as far as you can see it's working?
<miek> nice!
<oskar> Yeah I'd assume so, but I know very little about the software, I'll try a demo signal on the scope
<azonenberg> oskar: have you read the manual yet? do you even know where to find it?
<oskar> Yeah I got it, I'll give it a read so I don't mistake my lack of knowledge for issues
<azonenberg> OK. also if you run into a problem with something that's not in the manual, let us know
<azonenberg> there are significant gaps
<azonenberg> miek: can you add his msox to the docs as working? and make a new section for keysight if there isn't one already
<azonenberg> we'll keep the driver called "agilent" for now but i want models listed under the brand they're sold under
<azonenberg> so HP for really old, agilent for middle, keysight for newer
<azonenberg> double list if a model spanned the spinoff
<azonenberg> since some may be labeled both ways
<monochroma> there is a lot of stuff that keysight still sells that was originally agilent
<azonenberg> monochroma: yes and thats why i want them double listed
<azonenberg> people arent going to know to look for those models under agilent
<azonenberg> especially newer fresh out of school engineers who dont know that keysight/agilent/hp are one lineage
<monochroma> then they should go back and ask for a better degree :< ;)
<azonenberg> So if it says keysight on the front of the unit i want it listed under keysight in the manual, and if that same model was sold with agilent branding put it there too
<azonenberg> Lol
<oskar> By the way, is the Run / Single supposed to be very quickly triggered on the scope? I'm seeing the single button flashing really quick on the scope when probing a sine wave
<azonenberg> I'm not making two categories for lecroy pre/post teledyne because if you search lecroy you still end up in the right spot
<azonenberg> oskar: Yes. I don't actually use the "normal" trigger mode
<azonenberg> because this can cause problems when you download data from one channel then the next channel comes from another trigger
<azonenberg> so i have to arm the trigger, collect a waveform, pull everything i need from it, then re-arm for another capture
<azonenberg> it's a limitation of current remoting APIs
<azonenberg> as opposed to the ones we're designing for our custom hardware where you subscribe to notifications from the scope then it pushes you waveforms every trigger as fast as it can
<oskar> Ah that's cool, so that's what the insane logic analyzer you are making is for?
<azonenberg> and it sends you the data for every channel you want, because you told the scope what channels you wanted to see
<azonenberg> It's one of several projects that are kinda the parallel arm of this project
<oskar> Very cool
<azonenberg> glscopeclient is intended to be a unified UI that works with both our gear and third party stuff
<azonenberg> basically if it acquires a time series of electrical data on some kind of trigger, it's fair game :p
<azonenberg> even frequency domain signals are in scope, the architecture would fit just fine with a specan instead of a scope or la
<oskar> Awesome
<azonenberg> although to date nobody has implemented support for any
<azonenberg> but all signals are strongly typed and the UI doesn't care if a frequency domain signal is the output of a fft filter or the native datatype of an instrument channel
<Degi> Ugh, people calling things "open-soure hardware" where there are no kicad files published (only the schematics) and the used ICs are some broadcom stuff you'll never get...
<azonenberg> But yes, MAXWELL is one of the two actively developed hardware projects from the group
<Degi> Its pretty nice that for our devices you can get all ICs off of digikey or mouser or so
<azonenberg> the other is BLONDEL which is an oscilloscope roughly in the ds1000z class
<azonenberg> eight channels split into two groups of four
<oskar> That's unfortunate that some people do that, I didn't know
<azonenberg> each group is 1 Gsps 8 bit or 500 Msps 12 bit, and you can split that sample rate across any one, two, or all four channels
<azonenberg> this is completely independent for each group so you can have one group in 1ch 12 bit 500 Msps mode and the other in 4ch 8bit 250msp mode
<Degi> Yay
<oskar> On windows too which is good
<azonenberg> oskar: awesome, and i was about to ask
<Degi> Oh neat
<azonenberg> i see two missing toolbar icons
<Degi> I have that too on linux
<azonenberg> but that's a known issue already being addressed, some gtk themes dont have all of the icons i use
<azonenberg> i'm under contract with a professional illustration studio to draw new toolbar icons for everything that are specific to our use case rather than using generic media player icons etc
<azonenberg> They just haven't delivered yet
<oskar> Ah
<oskar> This UI is already better than the keysight software gumbo rubbish
<azonenberg> Lol
<oskar> Well Keysight's isn't bad, I guess it's just very expensive, and I'm a student, so...
<azonenberg> Lol. if you've used lecroy scopes it's fairly heavily inspired by MAUI, but optimized for mouse driven operation instead of touchscreen
<azonenberg> i havent used any recent keysight gear so cant comment and the last tek i used had a floppy drive
<oskar> Wow
<oskar> What scope do you use?
<Degi> The TEK I have here doesnt even have that
<azonenberg> oskar: I have a WaveRunner 8104-MS and a HDO9204
<_whitenotifier-f> [scopehal-docs] miek opened pull request #12: Document more Agilent/Keysight device support. -
<azonenberg> I've negotiated a deal to sell the 8104 and trade it in towards a discount on a WaveRunner 8404M-MS but haven't come up with the cash to finalize the deal yet
<azonenberg> But yes, my goal is to be better than the vendor software :P
<oskar> Sounds cool, the WaveRunner is a beautiful scope
<Degi> Why do these rly pricy scopes only have 128 Mpts
<azonenberg> oskar: anyway, right now BLONDEL has a single channel prototype working in hardware sitting on the lab bench next to me
<azonenberg> I need to characterize it more completely, and there's a few bugs that we had to fix with bodgewires on the prototype
<azonenberg> then we need to figure out some other details like the active probe interface
<azonenberg> before we can build the full instrment
<Degi> Hm yes
<azonenberg> (anybody heard from corgi lately?)
<azonenberg> BLONDEL will also have two 8-bit logic pod connectors, the same as MAXWELL
<azonenberg> except two instead of twelve :p
<Degi> Tbh I'd be interested in frequency response above 100 MHz, especially around 650 heh
<azonenberg> MAXWELL is a pure play LA
<Degi> Hmh they dont seem to be online
<oskar> Are you planning on designing a low cost LA?
<Degi> "low cost"
<Degi> Nah its gonna have 80 channels
<oskar> I guess that's like "how long is a piece of string"
<azonenberg> oskar: Possibly. MAXWELL is designed to fill a specific requirement Pretzel4Ever had
<Degi> The scope will have a LA too
<oskar> The requirement of that many channels? Must be doing some insane stuff
<azonenberg> I guess if you wanted a cheap LA, you could build a BLONDEL and not populate the analog cards
<Degi> Yeah that'd work
<Degi> Considering that the boards cost like 200 or 300 $ each heh
<oskar> How much would that be?
<azonenberg> BLONDEL is going to consist of a main board with the MCU /FPGA/RAM, a little adapter for the LA inputs and external triggers without much circuitry, just some connectors
<azonenberg> then the two 4-channel analog boards
<oskar> Oh, that's not too bad price wise
<azonenberg> oskar: we'll let you know when we're done designing it
<azonenberg> degi was talking about an estimate for one four channel analog card
<azonenberg> Not for a full system
<Degi> Yes
<oskar> Oh
<Degi> I mean the rest is probably gonna be another 2-300
<azonenberg> i estimate a full BLONDEL system in digikey qty 1 pricing will be on the order of 1-1.5 kUSD
<azonenberg> hopefully below 1K in higher volume
<Degi> I wanna do a version with only 1 card sometime, which will be somewhat cheaper (maybe even a HMCAD1511 variant? That'd save 50 bucks. 1 channel? Would save a lot too)
<azonenberg> we could always DNP all but one input on the 4ch board
<azonenberg> and the 1511 is pin compatible
<azonenberg> we could also make a less heavyweight, interface compatible host board without the DDR and 10GbE
<azonenberg> just a small fpga and block ram and 1GbE
<azonenberg> then play lego mixing and matching them
<azonenberg> I'm not against making low cost gear but my interest is on the high end
<azonenberg> I'm not trying to make OSH competition for rigol
<azonenberg> I want OSH competition for lecroy and keysight
<Degi> Hmh yes, like a 400 MHz 1 channel cheap-ish version would be nice.
<azonenberg> BLONDEL is "too slow" for my needs, i'm only making it as a learning experience before moving up to higher end
<Degi> Hmh yes rigol is probably unbeatable
<oskar> That would be very nice
<azonenberg> trying to make my mistakes and learn analog stuff on the 100 MHz scope and not on the scope with a bunch of $3500 ADCs on it :p
<Degi> I mean tbh the ethernet interface is great
<oskar> ahaha
<Degi> 4 gigs of RAM? Like 4 GS of depth? Nobody else has that
<Degi> Lol yeah
<Degi> Tbh dont forget about the PCBs haha
<Degi> Like doing a mistake on the middle layers of a 1k PCB
<azonenberg> MAXWELL is happening first in part because there was a greater need for it right away, and in part because it
<azonenberg> it's pure digital and more straightforward to a digital engineer like me
<monochroma> Degi: wrt "OSH" yeah, i keep seeing people call the raspberry pi open source hardware... i... don't understand it :P
<monochroma> and the OSH community seems to love them?
<azonenberg> Degi: why do you think i bought that little benchtop mill?
<azonenberg> and those 100 μm endmills?
<azonenberg> Lol
<Degi> I guess thats cheaper than reordering a PCB
<azonenberg> Degi: more importantly
<Degi> I meant this
<azonenberg> it lets you test the mistake
<azonenberg> test the fix*
<Degi> Ah yes
<azonenberg> Before you respin the board
<azonenberg> and maybe find more bugs
<Degi> They seem to provide full schematics but the chips are hard to source
<azonenberg> i worked on a gig for a client a while ago where i reworked four or five different bugs on the board
<azonenberg> then i started firmware dev on a reworked prototype and they sent out a respin
<Degi> Tbh I really wonder why scope mem depths are so shallow, even with really high end ones...
<Degi> Hmm maybe you can use those ion sandblaster thingies to do the same with ICs lol
<_whitenotifier-f> [scopehal-docs] azonenberg closed pull request #12: Document more Agilent/Keysight device support. -
<_whitenotifier-f> [scopehal-docs] azonenberg pushed 2 commits to master [+0/-0/±2]
<_whitenotifier-f> [scopehal-docs] miek 51918b3 - Document more Agilent/Keysight device support.
<_whitenotifier-f> [scopehal-docs] azonenberg f87b59d - Merge pull request #12 from miek/more-agilent Document more Agilent/Keysight device support.
<azonenberg> Degi: you mean a FIB?
<Degi> yes
<azonenberg> We have one at work for that express purpose
<Degi> Oh loll really
<azonenberg> Except instead of reworking buggy silicon we got it for adding new "bugs"
<Degi> Hmh
<Degi> Simulating radiation?
<azonenberg> i.e. disabling code protect bits by physically rewiring them to the "off" state
<Degi> Ah
<azonenberg> that research program never really got off the ground but i want to push it more later on
<Degi> Wonder if they can make custom gratings...
<azonenberg> probably, at the nanoscale
<azonenberg> making one big enough to see without a microscope would take days or weeks
<Degi> Yeah probably
<azonenberg> as someone who's used fibs before, not probably
<azonenberg> definitely
<azonenberg> :p
<Degi> Hmh, making gratings should be possible with a good coherence laser and some basic photolithography stuff (silver plating solution, photomask, spin coater) lol
<Degi> Well what if you just use a bigger ion source heh
<azonenberg> the biggest thing i've made in a fib was a probe pad about 30x30 μm
<Degi> Heh
<azonenberg> it took probably half an hour
<Degi> Can they deposit stuff too?
<azonenberg> Yes, that's what i did there
<Degi> Neat
<azonenberg> a gas injector needle comes frighteningly close to the surface of your sample
<Degi> Hmh sadly theres a big limitation with the high ion energies and deposition rate. Going too fast would melt a hole
<azonenberg> then you heat up a volatile precursor like, say, tungsten hexacarbonyl
<azonenberg> inject the gas into the area around the sample
<azonenberg> a monolayer coats the surface of the sample, then dissociates when struck by the secondary electrons from the ion beam
<Degi> Why not just use an electron beam?
<Degi> Woow I can get that stuff from ebay lol
<azonenberg> the nonvolatile metal sticks to the sample and the organic residues boil off and are removed by the vacuum system
<azonenberg> Don't
<Degi> Didnt expect carbonyls there
<azonenberg> it's nasty stuff
<Degi> Yes
<azonenberg> anyway, you can actually do e-beam deposition. This is common for more sensitive samples since there's no ion damage
<azonenberg> but it's much slower
<azonenberg> common practice on sensitive samples for thick coatings is to do a thin e-beam platinum or tungsten layer to protect it
<azonenberg> then switch to the ion beam once you have a bit of metal over it
<azonenberg> so now you're only ion damaging the metal and not the specimen
<azonenberg> You can even do chemically enhanced etching with a fib
<electronic_eel> how much time does it take to get used to working on a FIB and get reliable results instead of damaging most of your samples?
<azonenberg> injecting XeF2 gas
<azonenberg> it breaks down into Xe and F2
<azonenberg> then etches your sample where the beam is hitting it
<azonenberg> (yes, it also etches the surroundigns, but it's much faster where the beam is)
<Degi> Huh, XeF2...
<azonenberg> Some collateral damage is expected when using it though
<Degi> Hmh what limits the density of electrons? Beam widening from electrostatic repulsion?ß
<azonenberg> in fact you can even open the gas injector and turn off the beam to do pure gas etching :p
<Degi> Heh yeah
<Degi> Awwh, ebay has no nickel tetracarbonyl...
<azonenberg> Source brightness is a bunch of things, depends on the type of source for one (field emission, thermionic, etc)
<azonenberg> generally there is an inverse tradeoff between beam current and resolution
<Degi> Yes, I guess due to repulsion... Though you could use a neutral atom beam
<azonenberg> a "brighter" source has more current per solid angle
<azonenberg> you could but how would you accelerate them?
<azonenberg> springs? rubber bands?
<Degi> Well you accelerate ions and spray them with electrons when theyre fast
<Degi> Or kick them with ions and then remove the ions
<azonenberg> I have not seen that done. i have seen deceleration used to get super low beam energies
<azonenberg> basically charge up the sample to almost the accelerating voltage
<azonenberg> so the incoming beam slows down before hitting
<miek> try to pick them up with tweezers, extreme acceleration guaranteed
<azonenberg> you can get crazy low eV levels that way
<Degi> I know the concept from plasma heating at least... Not sure how good its possible to focus it, since they'd be free flying after a focusing lens
<Degi> Hmh yes, similar to a TWT
<Degi> I too want a 40 megawatt NBI device for whateer lol
<Degi> Accelerating 1 MeV with 40 A sounds fun
<Degi> Like do they just hook up the nearest HVDC lines to it
<Degi> I wonder if open loop cooling systems have problems with algae growth due to increased river temperatures... Like just dumping gigawatts into a river
<azonenberg> We had algae growth in our closed sem/fib cooling loop
<sorear> hmm, what do they use for gold-plating whole flies as SEM sample prep
<azonenberg> sorear: sputter coating normally
<Degi> I had black stuff growth in a distilled water tank with PLA endcaps... Replaced with PS and active deionization now its fins
<Degi> Cool, theres some progress on iter right this motnh
<azonenberg> <insert dr octopus quote here/>
<Degi> Heh
<Degi> Tbh there should be more investment into stellarator types...
<Degi> They look really cool too
<sorear> anything special this month or just the long steady drip of X coil shipped from Y to Z?
<Degi> They put the cryostat bottom in
<Degi> Its apparently the largest part of the thing
bvernoux has quit [Quit: Leaving]
katharina has quit [Read error: Connection reset by peer]
oskar has quit [Quit: WeeChat 2.8]
<azonenberg> monochroma: sfp+ to sma actually shipped this time :p
<lain> yay
<monochroma> :D