azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/glscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
ehntoo has quit [Quit: Ping timeout (120 seconds)]
ehntoo has joined #scopehal
ehntoo has quit [Quit: Ping timeout (120 seconds)]
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 268 seconds]
Degi_ is now known as Degi
<t4nk_fn> johnsel, you may have been right about the 'vulkansdk' on gentoo
<t4nk_fn> I was about to make an ebuild when I noticed that the files to be copied, hinted to by glscopeclient-manual.pdf were already on my system
<t4nk_fn> I downloaded the installer file anyhow, and put it in my projects dir
<t4nk_fn> then also did the exports,
<t4nk_fn> -- Found Vulkan: /usr/lib64/libvulkan.so (found version "1.3.224") found components: glslc glslangValidator
<t4nk_fn> I don't know if that's enough, but I can only run glscopeclient
ehntoo has joined #scopehal
<d1b2> <johnsel> as opposed to?
<t4nk_fn> ngscopeclient will still give me 'scopehal-apps/src/imgui/backends/imgui_impl_vulkan.cpp:1076: bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo*, VkRenderPass): Assertion `info->Queue != nullptr' failed. Aborted'
<d1b2> <johnsel> aah
<t4nk_fn> euh, nothing really, johnsel, it wasn't really an effect of the exports
<t4nk_fn> I guess it was always found, but I'm not sure
<d1b2> <johnsel> well let's go back to the basics, does vulkan work on your system? i.e. can you run vulkaninfo ?
<t4nk_fn> yes, it gives me a whole buffer+ of info
<t4nk_fn> which I don't understand ;)
<d1b2> <johnsel> can you share it with us?
<d1b2> <johnsel> put it up on a text dump somwhere though not directly in irc please
<d1b2> <johnsel> probably you know but, just to be sure
<t4nk_fn> I should watch less star trek..
<t4nk_fn> it's vulkan, not vulcan ;)
<d1b2> <johnsel> hmm, azonenberg you reading with us?
<ehntoo> I think you're hitting the same thing I did under Molten
<d1b2> <johnsel> seems very similar indeed
<d1b2> <david.rysk> I was running into that on my ivy bridge Linux
<d1b2> <david.rysk> glscopeclient works but ngscopeclient does not
<ehntoo> *MoltenVk - the first queue type only has a single queue available, and the allocation logic is trying to hand out two of them
<d1b2> <david.rysk> Ivy Bridge is super-old though
<d1b2> <johnsel> I'm not sure if they're all the same problem but it definitely seems like there's some weirdness in the queues requesting
<d1b2> <johnsel> azonenberg you said that it would take the same queues if there's duplicate/too many requested. Perhaps this is implementation specific and you are actually running out on other systems
<ehntoo> if you temporarily do a patch something like this: (without the ifdefs), does it improve things? https://github.com/ehntoo/scopehal/commit/c3d8fd5866f233d9dd91bddec103e28ed16774fc
<d1b2> <johnsel> because this is core imgui code that for some reason can't request a queue
<d1b2> <johnsel> yup I second trying that
<t4nk_fn> ifdef apple?
bvernoux has quit [Quit: Leaving]
<d1b2> <johnsel> wihtout the ifdef
<d1b2> <johnsel> just the return
<t4nk_fn> ah, ok ;)
<d1b2> <johnsel> wouldn't do much otherwise no 🙂
<t4nk_fn> euh, you gotta give me a minute, I'm not exactly sure where to locate the file
<d1b2> <johnsel> scopehal/VulkanInit.cpp
<d1b2> <johnsel> you could also do cd lib; git remote add ehntoo https://github.com/ehntoo/scopehal; git cherry pick c3d8fd5866f233d9dd91bddec103e28ed16774fc to cherry pick that commit to your local git repo
<d1b2> <johnsel> it's a nice trick to try out sometime
<ehntoo> even cooler, every commit to a fork on GitHub is reachable from every other. `git fetch c3d8fd5866f233d9dd91bddec103e28ed16774fc; git cherry-pick c3d8fd5866f233d9dd91bddec103e28ed16774fc` should work. Though you'd still need to find the file to edit out the apple ifdefs. ;)
<t4nk_fn> sorry that took a while.. yeah, that changes things
<d1b2> <johnsel> yeah I wasn't sure if that was going to work because there's some weirdness with relative path in the current git setup
<ehntoo> looks like https://github.com/glscopeclient/scopehal/issues/685 will be about more than just MoltenVk then
<t4nk_fn> lol @ apple ifdefs ;)
<t4nk_fn> yeah, I patched it by hand, I'm not the brightest ... apple in the sack ;)
<d1b2> <johnsel> you know what they say, better on apple patch then 20 in the air
<t4nk_fn> well, it at least shows me a window, though it doesn't last very long
<t4nk_fn> but that's no problem... see.. I have no scope ;)
<d1b2> <david.rysk> There’s the demo scope
<t4nk_fn> yeah, I found that in glscopeclient
<t4nk_fn> ngscopeclient crashes out, that's probably not strange
<d1b2> <johnsel> it shouldn't though
<ehntoo> it shouldn't crash.
<t4nk_fn> mmm
<d1b2> <johnsel> but without a debug build I don't think your error should be all the informative
<d1b2> <johnsel> but feel free to share
<t4nk_fn> mmmmm I see, I'll change to a debug build
<t4nk_fn> I'm close to bed right now though
<t4nk_fn> but uhm.. I have this chinese LA, fx2lf based, been using pulseview with that
<t4nk_fn> and recently got some fx2 boards
<t4nk_fn> and some ADCs and opamps and such
<t4nk_fn> I'd like to see if I can build something of my own
<t4nk_fn> starting with perhaps an stm32 adc, see if I can get it to work with this software?
<t4nk_fn> don't laugh, but I also have a rpi pico and tested that with pulseview.. 500k samples, but it worked
<d1b2> <johnsel> there's a definitely a way
<d1b2> <johnsel> thunderscope project is being developped a driver for which is a open source oscilloscope
<t4nk_fn> but I don't like how pulseview shows the analog part, would rather see something more scope-like instead of LA-like
<d1b2> <johnsel> I don't know who specifically is working on that but you probably would find it useful
<t4nk_fn> everything is so cumbersome to adjust and select
<t4nk_fn> (src/imgui/imgui.cpp:8927: void ImGui::ErrorCheckNewFrameSanityChecks(): Assertion `(g.FrameCount == 0 || g.FrameCount == g.FrameCountPlatformEnded) && "Forgot to call UpdatePlatformWindows() in main loop after EndFrame()? Check examples/ applications for reference."' failed. was the error btw)
<d1b2> <johnsel> I think's a known issue
<d1b2> <johnsel> 99% sure
<t4nk_fn> oh btw, I read straight past your mentioning the ifdefs in the first place, ehntoo ... sorry bout that
<t4nk_fn> yeah, that's probably gonna do it (lol, I had to have a look first, for possible ifdefs :)) )
<ehntoo> re: inexpensive diy "oscilloscopes", there are a couple raspberry pi pico projects that would probably fit the bill. they're absolutely no replacement for a "real" oscilloscope in most places I reach for one, though.
<d1b2> <johnsel> nope
<d1b2> <johnsel> I have a smartscope which is a partly open source 100msps usb scope but I'd easily just go for a cheap rigol or siglent if I had to do it over
<d1b2> <johnsel> though I might still write a driver for scopehal for it
<d1b2> <johnsel> sadly they left out the mcu code from the version I bought which handles usb (and in a wacky way) so that's kinda lame
<t4nk_fn> ehntoo, the first commit stopped the crash indeed
<ehntoo> cool, that's good to know.
<t4nk_fn> well, see, that rpi pico is really lousy, not much of an adc
<d1b2> <johnsel> it's better than you'd think with the pio
<t4nk_fn> but I was thinking that a bluepill or black has 2.4Msps already
<d1b2> <johnsel> the beaglebone can do that trick too
<d1b2> <johnsel> and it does a 100 msps scope this way
<d1b2> <johnsel> pi pico is not far off afaik
<t4nk_fn> and if I free up my stm32f4vet6 board from my diy cnc.. that has 3 of those which can be interleaved
<t4nk_fn> and I got some AD9214BRS-105 and AD9288BSTZ-100 chips
<t4nk_fn> so I thought I could couple that with the fx2lp and see how it goes
<t4nk_fn> from what I read on sigrok, a bunch of supported scopes use that hardware
<t4nk_fn> btw
<t4nk_fn> if you'd include the fx2 cheap LAs... that would probably attract a bunch of users
<t4nk_fn> mmm, that's interesting, johnsel, I hadn't seen those projects before
<d1b2> <johnsel> yeah just so you're aware, those programmable IO make them punch above their weight in speed
<d1b2> <johnsel> same w/ the beaglebone which is also sigrok supported and does the same trick with it's pio
<t4nk_fn> yeah, I have an ecp5 board too, but I aint seeing myself soldering a bga onto my hand-milled pcb anytime soon ;)
<d1b2> <johnsel> other than that I don't think there is a lot of motivation here to build support for the cheap LAs etc, most here just work with what they have on hand
<t4nk_fn> yeah, I'm just messing around for fun myself, want to get my foot in the doorway, see where it takes me
<ehntoo> I may end up writing an fx2lafw driver or socket bridge at some point, I use them somewhat frequently. I'm new to the scopehal codebase, but my impression is that it may take some nontrivial effort to support the "streaming" mode that they usually operate in. that's definitely not going to be in the near term at least for me.
<d1b2> <johnsel> as a random aside I believe the streaming mode limits the max throughput
<d1b2> <johnsel> or at least I remember a chinese clone proudly proclaiming they support not using it because of said reason
<d1b2> <johnsel> might be a storm in a glass of water, but it might be worth looking into
<ehntoo> it limits the max sample rate. your pipe to the computer has a fixed upper bandwidth, if you want to sample signals at an effective data rate faster than that you're pretty much limited to whatever buffer memory is on the probe.
<t4nk_fn> I wouldn't have even considered the RP2040 as a go-between myself, but it's very interesting
<d1b2> <johnsel> for the rp2040 to the pc you do have super slow usb2 though
<d1b2> <johnsel> 12 mbps or so
<t4nk_fn> yeah, that's why I want to use the fx2 to do the usb
<t4nk_fn> that should spice things up a bit
<d1b2> <johnsel> why not the 3?
<t4nk_fn> ... thought they would be cheaper chips to fry with my soldering iron ;)
<ehntoo> aren't all the fx3 parts BGA packages?
<t4nk_fn> mmm don't know
<t4nk_fn> probably :|
<d1b2> <johnsel> ?
<d1b2> <johnsel> they're cheap enough to start with the eval board directly
<t4nk_fn> I don't know how a breakoutboard would affect things though
<t4nk_fn> but it sure is nice
<ehntoo> that's ~an order of magnitude more expensive than an fx2 board.
<t4nk_fn> but you have to understand that the fx2 is already a step up from full speed usb which I'm used to
<d1b2> <johnsel> I mean sure but that chip was old 5 years ago
<t4nk_fn> yeah, I got them for like 4euros a pop
<ehntoo> old doesn't make them any less useful.
<t4nk_fn> and fx3 is sort of overkill for me since I don't deal much with fpga
<d1b2> <johnsel> you're free to do whatever you want ofcourse but I don't see much added value those fx2lp have been perfected as saleae clones and have open source everything already
<d1b2> <johnsel> for reference: https://sigrok.org/wiki/Fx2lafw
<t4nk_fn> look, it's been really really nice chatting to you, I'd like to do it again sometimes, but I was close to bed a decent while ago ..
<t4nk_fn> gotta shoot
<t4nk_fn> thanks for the assistance, I appreciate it!
<d1b2> <johnsel> or maybe in other words, you seem smart people, why not invest your time building something that is a step above what already exists
<d1b2> <johnsel> but it was nice chatting to you too fomer sure, hopefully we'll run into each other again some ti
<t4nk_fn> later folks.
ehntoo has quit [Ping timeout: 252 seconds]
massi has joined #scopehal
sajattack[m] has quit [Quit: Bridge terminating on SIGTERM]
whitequark has quit [Quit: Bridge terminating on SIGTERM]
jevinskie[m] has quit [Quit: Bridge terminating on SIGTERM]
sajattack[m] has joined #scopehal
<azonenberg> Back. Making good progress resetting my sleep schedule
<azonenberg> johnsel: i'm not running out of queues. all of my nvidia systems i'm doing dev on have 16 instances of queue type #1
<azonenberg> i allocate one for memory transfers, 8 for each of the filter graph processing threads, and (in ngscopeclient) one for rendering
mikolajw has joined #scopehal
whitequark has joined #scopehal
jevinskie[m] has joined #scopehal
<azonenberg> what i've found is that if you request e.g. queue type 0 twice, things work fine
<azonenberg> So i definitely need to work on the queue allocation logic
<azonenberg> re the other discussion: supporting cheap fx2 LAs is on the todo list, but not currently implemented
<azonenberg> We are excited about a bunch of open hardware/low cost scope projects including the thunderscope, i actually have a prototype thunderscope on one of my lab benches now that i'm helping debug
<azonenberg> And then i have a bunch of scopes of my own under development (mostly on ice due to component shortage) however they're targeting higher end performance class (GHz bandwidth, 5 digit price tag)
<_whitenotifier-7> [scopehal] azonenberg edited issue #685: Improve Vulkan queue allocator - https://github.com/glscopeclient/scopehal/issues/685
<_whitenotifier-7> [scopehal] azonenberg commented on issue #685: Improve Vulkan queue allocator - https://github.com/glscopeclient/scopehal/issues/685#issuecomment-1243430414
<_whitenotifier-7> [scopehal] azonenberg edited a comment on issue #685: Improve Vulkan queue allocator - https://github.com/glscopeclient/scopehal/issues/685#issuecomment-1243430414
<_whitenotifier-7> [scopehal] azonenberg closed pull request #687: macOS Compile Fixes - https://github.com/glscopeclient/scopehal/pull/687
<_whitenotifier-7> [scopehal] azonenberg pushed 7 commits to master [+0/-0/±12] https://github.com/glscopeclient/scopehal/compare/c28a7efb3052...da4a24084a30
<_whitenotifier-7> [scopehal] ehntoo e71a311 - Pass compatibility flags to get MoltenVK working.
<_whitenotifier-7> [scopehal] ehntoo c3d8fd5 - Temporary hack for #685
<_whitenotifier-7> [scopehal] ehntoo c78f732 - Replace /proc/self/exe references for macOS
<_whitenotifier-7> [scopehal] ... and 4 more commits.
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal/compare/da4a24084a30...efe59ff61bb0
<_whitenotifier-7> [scopehal] azonenberg efe59ff - Added warning to queue allocators on Apple
<_whitenotifier-7> [scopehal] azonenberg commented on pull request #509: GTK-less scopehal - https://github.com/glscopeclient/scopehal/pull/509#issuecomment-1243449246
<_whitenotifier-7> [scopehal] azonenberg closed pull request #509: GTK-less scopehal - https://github.com/glscopeclient/scopehal/pull/509
<_whitenotifier-7> [scopehal-apps] azonenberg closed pull request #486: macOS fixes - https://github.com/glscopeclient/scopehal-apps/pull/486
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 5 commits to master [+0/-0/±16] https://github.com/glscopeclient/scopehal-apps/compare/051cf63c3b41...d1b59ae5e0ba
<_whitenotifier-7> [scopehal-apps] ehntoo 98dbbe8 - Suppress piles of spurious warnings with clang
<_whitenotifier-7> [scopehal-apps] ehntoo 36c9d06 - Build fixes on macOS
<_whitenotifier-7> [scopehal-apps] ehntoo 91eb943 - Use glfwGetFramebufferSize to fetch fb size
<_whitenotifier-7> [scopehal-apps] ... and 2 more commits.
bvernoux has joined #scopehal
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+2/-0/±6] https://github.com/glscopeclient/scopehal/compare/efe59ff61bb0...b183f1c77dab
<_whitenotifier-7> [scopehal] azonenberg b183f1c - Added SCPIFunctionGenerator class
<bvernoux> I'm checking the scopehal-apps build on a clean Ubuntu 22.04 LTS
<bvernoux> Using the scopehal-docs (my version as I have done a fix for Release)
<azonenberg> ok i just merged some fixes for osx that hopefully wont break anything. doing a clean build to double check and making a few fixes i'll push momentarily
<bvernoux> ha ok
<bvernoux> My PR WIP
<bvernoux> I'm testing all step by step for Ubuntu 22.04 LTS
<bvernoux> On latest master
<_whitenotifier-7> [scopehal-docs] azonenberg closed pull request #47: Update Getting Started how to build documentation - https://github.com/glscopeclient/scopehal-docs/pull/47
<_whitenotifier-7> [scopehal-docs] azonenberg pushed 4 commits to master [+0/-0/±4] https://github.com/glscopeclient/scopehal-docs/compare/da62209b0077...5cc6180587f8
<_whitenotifier-7> [scopehal-docs] bvernoux afd5fcf - Fix Windows mingw64 Build for glslang to Release
<_whitenotifier-7> [scopehal-docs] bvernoux c5eb761 - Minor change to delete VulkanSDK after install
<_whitenotifier-7> [scopehal-docs] bvernoux 4a429a1 - Add cd ~ at start of each step
<_whitenotifier-7> [scopehal-docs] azonenberg 5cc6180 - Merge pull request #47 from bvernoux/master Update Getting Started how to build documentation
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 5 commits to master [+2/-0/±19] https://github.com/glscopeclient/scopehal-apps/compare/d1b59ae5e0ba...56f8a8b4641b
<_whitenotifier-7> [scopehal-apps] azonenberg 68bdfd1 - Initial skeleton of FunctionGeneratorDialog
<_whitenotifier-7> [scopehal-apps] azonenberg 5bdec84 - Merge branch 'master' of github.com:glscopeclient/scopehal-apps
<_whitenotifier-7> [scopehal-apps] azonenberg 4a9a3a5 - Minor formatting fix
<_whitenotifier-7> [scopehal-apps] ... and 2 more commits.
<_whitenotifier-7> [scopehal-docs] bvernoux opened pull request #48: Cleanup build steps adding explicit cd for each steps - https://github.com/glscopeclient/scopehal-docs/pull/48
<bvernoux> Ok the doc is good now
<bvernoux> I think my latest PR is good I'm waiting the build finish
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+2/-0/±4] https://github.com/glscopeclient/scopehal-apps/compare/56f8a8b4641b...a2151d1c4ee4
<_whitenotifier-7> [scopehal-apps] azonenberg a2151d1 - Allow standalone function generators to be added to a session
<azonenberg> Great. I just added a bunch of infrastructure for function generators, next step is to actually put widgets in the dialog to control the generator
<azonenberg> that should be quick and likely done before the call
<bvernoux> So far so good all build fine
<bvernoux> respecting strictly the scopehal-doc (in my latest PR) for Ubuntu 22.04 LTS on a clean system (installed with wsl2)
<bvernoux> I just do copy paste ;)
<bvernoux> There is few warning remaining in actual code
<_whitenotifier-7> [scopehal-docs] azonenberg pushed 3 commits to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-docs/compare/5cc6180587f8...ff21e1789594
<_whitenotifier-7> [scopehal-docs] bvernoux eb28719 - Cleanup build steps adding explicit cd for each steps
<_whitenotifier-7> [scopehal-docs] bvernoux b0a9027 - Merge branch 'glscopeclient:master' into master
<_whitenotifier-7> [scopehal-docs] azonenberg ff21e17 - Merge pull request #48 from bvernoux/master Cleanup build steps adding explicit cd for each steps
<_whitenotifier-7> [scopehal-docs] azonenberg closed pull request #48: Cleanup build steps adding explicit cd for each steps - https://github.com/glscopeclient/scopehal-docs/pull/48
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/a2151d1c4ee4...342dcaafe573
<_whitenotifier-7> [scopehal-apps] azonenberg 342dcaa - Updated docs
<bvernoux> I have a doubt that doing copy paste from the PDF work fine anyway
<bvernoux> as copy paste is perfect even if it is harder to read
<azonenberg> yes i think we can improve the pdf to make it easier to copy/paste commands
<bvernoux> IIRC there is an issue about that
<bvernoux> Workaround is to use the .tex ;)
<bvernoux> scopeprotocols are very slow to build
<azonenberg> Yes. right now we include scopeprotocols.h in most filters
<azonenberg> Which includes every single filter class
<azonenberg> if you want to go through and only #include the headers we actually need, it will likely speed the build significantly
<bvernoux> I think potentially there is maybe some optimization(for the huge size at end) to do on libscopeprotocols
<azonenberg> Size is another issue, this would only change build time
<bvernoux> yes
<bvernoux> It is just very strange to have a DLL of >400MB
<azonenberg> So i think a lot of that is symbols
<bvernoux> When we expect something like 40MB
<azonenberg> i just tested. the .so on linux is 304 MB with symbols
<azonenberg> stripped, it's 3.8 MB
<bvernoux> yes to be checked if we do a cleanup on symbols
<bvernoux> ha ok
<azonenberg> So we should definitely strip our released binaries once we get to the point of packaging
<bvernoux> yes clearly
<bvernoux> that will improve a lot loading too
<azonenberg> ELF supports, iirc, external debug symbol files
<azonenberg> we may want to look into generating that and making separate -dbgsym files
<bvernoux> ha yes could be a good hint to have external symbol for debug
<azonenberg> packages*
<azonenberg> and then PE supports PDB
<azonenberg> i dont know if our windows binaries now have integrated PDB or external
<bvernoux> hmm very good question
<azonenberg> i thought default on windows was external
<bvernoux> Something strange is
<bvernoux> [ 86%] Linking CXX executable Acceleration
<bvernoux> ERROR: glfw init failed
<azonenberg> (i.e. minimal symbols in the binary itself, just what you needed for DLL linking)
<azonenberg> That's the sort of thing i'll worry about as we get closer to
<bvernoux> On Target not supporting glfw I suspect without GUI
<bvernoux> it is not a real error anyway
<azonenberg> bvernoux: so, the compiled unit test binaries are run during the build process
<azonenberg> in order to enumerate the set of test cases within them
<bvernoux> it is just annoying to have that in log on headless build without GUI/D
<bvernoux> 3D
<azonenberg> we currently initialize vulkan before parsing arguments
<azonenberg> which means that we try to initialize it during the discovery process
<azonenberg> We could probably refactor the tests to not do that
<bvernoux> ha ok
<bvernoux> yes it will be better to avoid those strange error
<azonenberg> it's one of many things that would be nice to do eventually but are not high rpriority
<azonenberg> let me file a ticket so it's at least in writing somewherre
<bvernoux> yes it is clearly not a priority as it does not affect anything
<bvernoux> ok build success
<_whitenotifier-7> [scopehal-apps] azonenberg labeled issue #488: Unit tests: don't initialize Vulkan or do other heavyweight stuff outside of test cases - https://github.com/glscopeclient/scopehal-apps/issues/488
<bvernoux> I have found a small issue ;)
<_whitenotifier-7> [scopehal-apps] azonenberg opened issue #488: Unit tests: don't initialize Vulkan or do other heavyweight stuff outside of test cases - https://github.com/glscopeclient/scopehal-apps/issues/488
<_whitenotifier-7> [scopehal-apps] azonenberg labeled issue #488: Unit tests: don't initialize Vulkan or do other heavyweight stuff outside of test cases - https://github.com/glscopeclient/scopehal-apps/issues/488
<bvernoux> make install
<bvernoux> fail ;)
<bvernoux> it requires sudo
<bvernoux> haha
<azonenberg> ah so just documentation error
<bvernoux> yes
<azonenberg> it's not that the installation itself is broken?
<azonenberg> ok
<bvernoux> let me fi it
<_whitenotifier-7> [scopehal-docs] bvernoux opened pull request #49: Fix Linux make install which requires sudo - https://github.com/glscopeclient/scopehal-docs/pull/49
<bvernoux> Ok final fix pushed for the doc (Linux build)
<_whitenotifier-7> [scopehal-docs] azonenberg closed pull request #49: Fix Linux make install which requires sudo - https://github.com/glscopeclient/scopehal-docs/pull/49
<_whitenotifier-7> [scopehal-docs] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-docs/compare/ff21e1789594...e1940cdf256d
<_whitenotifier-7> [scopehal-docs] bvernoux 5cd2af2 - Fix Linux make install which requires sudo
<_whitenotifier-7> [scopehal-docs] azonenberg e1940cd - Merge pull request #49 from bvernoux/master Fix Linux make install which requires sudo
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/342dcaafe573...10c5d25dbdaf
<_whitenotifier-7> [scopehal-apps] azonenberg 10c5d25 - Updated docs
<azonenberg> bvernoux: just got some emails about windows build failures
<azonenberg> ah i think i see the problem, fixing shortly
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal/compare/b183f1c77dab...5d7c57685dbb
<_whitenotifier-7> [scopehal] azonenberg 5d7c576 - Fixed elifdef -> elif defined
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/10c5d25dbdaf...5a97932fc5dd
<_whitenotifier-7> [scopehal-apps] azonenberg 5a97932 - Updated to latest scopehal
<azonenberg> long term we need to fix all of the windows warnings
<azonenberg> some of which might be actual issues
<bvernoux> yes
<bvernoux> especially the winsock2.h which is not before windows.h
<bvernoux> which can hide crazy issues
<d1b2> <david.rysk> Has anyone tested cmake/vs2022?
<bvernoux> hmm trunk have a regression
<bvernoux> To be checked with latest build in progress ...
<azonenberg> bvernoux: i found and fixed a bug where some apple code was being included wrong
<azonenberg> latest build should have that fixed
<bvernoux> ha ok
<bvernoux> this command is magic git pull --recurse-submodules
<bvernoux> it do all in one
<azonenberg> you can also set recursive as a setting in your git config
<azonenberg> so normal pull is recursive
<azonenberg> i do that all the time when working with submodules
<bvernoux> ha yes even better I need to check that
<bvernoux> as it shall be default to do that for anything even if there is no submodule ;)
<bvernoux> github seems dead
<d1b2> <johnsel> The stupid script probably rewrote remote to the wrong scopehal
<d1b2> <johnsel> Git remote get-url origin
<d1b2> <johnsel> Bvernoux ^
<bvernoux> ha yes to be fixed
<bvernoux> You speak about scopehal-apps/msys2/PKGBUILD
<bvernoux> git remote set-url origin git://github.com/glscopeclient/scopehal-apps
<bvernoux> git submodule update --init --recursive
<bvernoux> this things shall be removed
<d1b2> <johnsel> Yeah very bad ci script that
<bvernoux> Could you push your PR
<d1b2> <johnsel> Im not at a computer now
<bvernoux> there is also a missing => -DCMAKE_BUILD_TYPE=
<bvernoux> by default it is Debug but it will better to be explicit
<d1b2> <johnsel> You can fix it
<bvernoux> Yes it was just you have found the bug in PKGBUILD
<bvernoux> so you can contribute as you have done the job before
<bvernoux> I think adding explicitely -DCMAKE_BUILD_TYPE=Release will be better and faster for the CI Build too
<bvernoux> anyway Debug is not supported correctly for lot of stuff
<d1b2> <johnsel> It’s fine I will be more vigilant in the future in submitting PRs
<bvernoux> we will need to rewrite lot of stuff to manage correctly Debug in all things built
<d1b2> <johnsel> But I don’t mind who gets the credit
<bvernoux> on my side PKGBUILD fail
<bvernoux> I never used it in fact
<bvernoux> I have a conflict with mingw-w64-x86_64-ffts
<bvernoux> lot of stuff seems borken in this PKGBUILD even if it work fine with the CI Build
<d1b2> <johnsel> Yes it’s pretty bad and outdated
<d1b2> <johnsel> It needs some care because it is our main method for generating binaries
<d1b2> <johnsel> I have it planned but due to sickness ive not yet been able to
<bvernoux> Ok i have fixed it
<bvernoux> by removing previous files
<bvernoux> the mingw-w64-x86_64-ffts is very strange ...
ehntoo has joined #scopehal
<ehntoo> apologies for the #elifdef regression, must not have had my head on right. someday when c2x is available -_-
<azonenberg> ehntoo: no worries, fixed it fast
<azonenberg> (getting CI for just scopehal would have fixed that, it's on the wishlist)
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://github.com/glscopeclient/scopehal/compare/5d7c57685dbb...1f71d3985989
<_whitenotifier-7> [scopehal] azonenberg 1f71d39 - FunctionGenerator: added GetNameOfShape()
ehntoo has quit [Ping timeout: 252 seconds]
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 3 commits to master [+2/-0/±13] https://github.com/glscopeclient/scopehal-apps/compare/5a97932fc5dd...095101ae6718
<_whitenotifier-7> [scopehal-apps] azonenberg 0902ac7 - Initial work on function generator configuration
<_whitenotifier-7> [scopehal-apps] azonenberg ea6b905 - Continued work on function generator dialog
<_whitenotifier-7> [scopehal-apps] azonenberg 095101a - Added DejaVu Sans font, now using it by default. Add Greek letters to our font so that we can render them in the UI.
ehntoo has joined #scopehal
<_whitenotifier-7> [scopehal-apps] ehntoo commented on issue #482: Make sure vkFFT dependencies are correctly detected by CMake for all supported/upcoming platforms - https://github.com/glscopeclient/scopehal-apps/issues/482#issuecomment-1243864917
<_whitenotifier-7> [scopehal-apps] azonenberg commented on issue #482: Make sure vkFFT dependencies are correctly detected by CMake for all supported/upcoming platforms - https://github.com/glscopeclient/scopehal-apps/issues/482#issuecomment-1243873088
<_whitenotifier-7> [scopehal-apps] azonenberg closed issue #482: Make sure vkFFT dependencies are correctly detected by CMake for all supported/upcoming platforms - https://github.com/glscopeclient/scopehal-apps/issues/482
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±10] https://github.com/glscopeclient/scopehal/compare/1f71d3985989...7e4332b38ff5
<_whitenotifier-7> [scopehal] azonenberg 7e4332b - Added method to query presence/absence of rise time controls on a function generator
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±5] https://github.com/glscopeclient/scopehal-apps/compare/095101ae6718...cbd5f0162d54
<_whitenotifier-7> [scopehal-apps] azonenberg e1687a5 - Fixed signed/unsigned comparison. Added help text to function generator dialog.
<_whitenotifier-7> [scopehal-apps] azonenberg cbd5f01 - PowerSupplyDialog: use new unit input widgets
<_whitenotifier-7> [scopehal-apps] bvernoux opened pull request #489: Release build for CI windows/mingw64 & msys2/PKGBUILD - https://github.com/glscopeclient/scopehal-apps/pull/489
bvernoux has quit [Quit: Leaving]
<d1b2> <azonenberg> Quick beauty shot of DMM, function generator, and power supply all in one UI
<_whitenotifier-7> [scopehal-apps] bvernoux synchronize pull request #489: Release build for CI windows/mingw64 & msys2/PKGBUILD - https://github.com/glscopeclient/scopehal-apps/pull/489
bvernoux has joined #scopehal
<ehntoo> nice! are the power waveforms being recorded in a form that can be saved/reloaded, or just shown for display right now?
<azonenberg> ehntoo: there is no file load/save support whatsoever in ngscopeclient
<azonenberg> at this time
massi has quit [Remote host closed the connection]
<azonenberg> Long term, i'm not sure. we have to think about what the behavior of such stuff in offline mode would make sense to be
<azonenberg> I definitely think at some point it might make sense to have a button to export a trend as a regular scopehal waveform
<azonenberg> that you can use as input to filter blocks etc
<azonenberg> but we also have to figure out a lot of details about on/offline handling of stuff
<ehntoo> the screenshot has me thinking about integrating my Joulescope, where those capabilities would be really useful.
<azonenberg> in particular i want to support seamlessly transitioning from online to offline
<azonenberg> if you pack up a laptop and go home from th eoffice
<azonenberg> you should be able to pick up where you left off and look at your saved session without having to close and reopen it
<azonenberg> just notice loss of network connectivity and transition to offline mode
<azonenberg> or at least go offline if you click a button
<azonenberg> at this point, ngscopeclient is still very much an experimental ui testbed
<azonenberg> more than just a mockup, the widgets are backed by APIs talking to real instruments, but not nearly something you'd want to use for real work yet
<azonenberg> The lack of proper load/save support being just one of many issues
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-apps/compare/cbd5f0162d54...54423cdd8ad5
<_whitenotifier-7> [scopehal-apps] azonenberg 98109da - Return error instead of aborting if we get a surface resize error
<_whitenotifier-7> [scopehal-apps] azonenberg 54423cd - Improved robustness of window resizing
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 5 commits to master [+0/-0/±10] https://github.com/glscopeclient/scopehal-apps/compare/54423cdd8ad5...ecf22ed74785
<_whitenotifier-7> [scopehal-apps] bvernoux 8985a76 - build-windows.yml force Release for the Build MSI / portable zip
<_whitenotifier-7> [scopehal-apps] bvernoux 7061ee7 - Cleanup msys2/PKGBUILD remove unused package, avoid mkdir build fail if it exist, Release build
<_whitenotifier-7> [scopehal-apps] bvernoux 6556dcb - Merge branch 'glscopeclient:master' into master
<_whitenotifier-7> [scopehal-apps] ... and 2 more commits.
<_whitenotifier-7> [scopehal-apps] azonenberg closed pull request #489: Release build for CI windows/mingw64 & msys2/PKGBUILD - https://github.com/glscopeclient/scopehal-apps/pull/489
ehntoo has quit [Quit: Client closed]
<bvernoux> A big speedup for the Windows build will be to merge Build & Build MSI / portable zip steps
<bvernoux> as today it is built 2 time
<d1b2> <DanielG> Has anyone else run into "unrecognized dataset type" when trying to import .WFM files from a Tek MSO-x Series (e.g. MSO56B)?
<d1b2> <DanielG> If not, I'll open a bug.
<azonenberg> Not something i've seen before
<azonenberg> please supply the waveform file if at all possible
ehntoo has joined #scopehal
<d1b2> <DanielG> It's a pretty big capture... 900 MB
<azonenberg> Can you reproduce on a smaller waveform?
<azonenberg> if not, can you send the first few kB of the file? this is likely the result of our header parsing not understanding some field
<azonenberg> we dont need the sample data
<d1b2> <DanielG> I may not have access to the scope for a bit, but I can definitely lop off the beginning of the file as a start.
ehntoo28 has joined #scopehal
<d1b2> <azonenberg> @johnsel: you around?
ehntoo has quit [Ping timeout: 252 seconds]
ehntoo28 is now known as ehntoo
<_whitenotifier-7> [scopehal-apps] dan-gies opened issue #490: "Unrecognized dataset type" when loading Tek .WFM file - https://github.com/glscopeclient/scopehal-apps/issues/490
<d1b2> <david.rysk> On another computer, trouble with reflowmon linking
<d1b2> <louis> I needed diff diff --git a/scopehal/CMakeLists.txt b/scopehal/CMakeLists.txt index 2970af6..15478e6 100644 --- a/scopehal/CMakeLists.txt +++ b/scopehal/CMakeLists.txt @@ -185,6 +185,9 @@ target_link_libraries(scopehal ${LIBFFTS_LIBRARIES} ${OpenMP_CXX_LIBRARIES} ${Vulkan_LIBRARIES} + SPIRV + SPIRV-Tools-opt + SPIRV-Tools Vulkan::Vulkan Vulkan::glslang Vulkan::shaderc_combined to build
<d1b2> <david.rysk> That sounds about right
<_whitenotifier-7> [scopehal-apps] dan-gies edited issue #490: "Unrecognized dataset type" when importing Tek .WFM file - https://github.com/glscopeclient/scopehal-apps/issues/490
<d1b2> <johnsel> Shit sorry I fell asleep. I have a really bad migraine on top of everything
<d1b2> <azonenberg> Well feel free to join the call if your'e feeling up to it
<d1b2> <johnsel> I’ll listen in
<d1b2> <david.rysk> ngscopeclient doesn’t work on this computer either
<d1b2> <EGOD> Bump
ehntoo has quit [Quit: Client closed]
Johnsel has joined #scopehal
<azonenberg> louis: so in ngscopeclient my plan is for each waveform to have a bunch of display settings that apply to the... i dont know what it's going to be called yet
<azonenberg> the pairing of a plot and a waveform
Johnsel has quit [Remote host closed the connection]
<azonenberg> i.e. display settings for a particular view of a signal
<azonenberg> these settings will include flags like persistence on/off, color mode (channel color or a ramp function)
<azonenberg> and i guess we can add linear vs zero order hold to the list too
<azonenberg> my thought is when you click the channel properties button you will have two tabs in the dialog, channel/filter settings that apply to the signal as a whole and then view-local settings for the plot you clicked from
<d1b2> <johnsel> also quick FYI that I did not get in in the call. This imgui is not the Unity imgui.
<d1b2> <josuah> thank you for letting me join, that offered me a nice overview
ehntoo has joined #scopehal
<azonenberg> louis: the zero order hold setting is what we use for rendering digital waveforms
<azonenberg> its the same path in the shader rendering, you'd just have to get the Y coordinate as float rather than a mux of the 0 or 1 y-value
<azonenberg> so might have to be a new variation of the shader
<azonenberg> (times two, since it has to run in both GPUs with and without native int64 support)
<_whitenotifier-7> [scopehal] dan-gies opened issue #688: "Unrecognized dataset type" when importing Tek .WFM file - https://github.com/glscopeclient/scopehal/issues/688
<_whitenotifier-7> [scopehal] azonenberg edited issue #688: "Unrecognized dataset type" when importing Tek .WFM file - https://github.com/glscopeclient/scopehal/issues/688
<_whitenotifier-7> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal/compare/7e4332b38ff5...936fb0d1a137
<_whitenotifier-7> [scopehal] azonenberg 936fb0d - WFMImportFilter: added logging for invalid dataset types
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/ecf22ed74785...73e2d83d4f94
<_whitenotifier-7> [scopehal-apps] azonenberg 73e2d83 - Updated to latest scopehal
<bvernoux> Strange
<bvernoux> the test on windows mingw64 fail
<_whitenotifier-7> [scopehal] azonenberg commented on issue #688: "Unrecognized dataset type" when importing Tek .WFM file - https://github.com/glscopeclient/scopehal/issues/688#issuecomment-1244177429
<bvernoux> Mon, 12 Sep 2022 18:59:49 GMT installing mingw-w64-x86_64-scopehal-apps...
<bvernoux> Mon, 12 Sep 2022 18:59:50 GMT Error: Process completed with exit code 127.
<bvernoux> I have tested it locally there is no any issue
<d1b2> <Mughees> Does this crash very often... iI am trying to apply filters like fft to a simple generated sine wave and then it crashes?
<bvernoux> maybe something have changed in glscopeclient startup with --help which fail (requiring Vulkan 3D driver ...) ?
<d1b2> <Mughees> Plus what does this mean?
<d1b2> <azonenberg> fft should not crash
<d1b2> <azonenberg> that message is coming from your GPU driver not glscopeclient
<d1b2> <azonenberg> Try running with --debug and see if the logs give any hints. Also hook up a debugger and see where it's dying
<d1b2> <Mughees> ok
<d1b2> <azonenberg> you can also do --nogpufilter to disable the GPU accelerated waveform processing as a test
<d1b2> <azonenberg> it will be slower but if the crash is related to some of the vulkan accelerated stuff it should skip that code path
<d1b2> <Mughees> nogpufilter worked
<ehntoo> if you're on an intel GPU, I wonder if you might also be hitting https://github.com/glscopeclient/scopehal/issues/685? I don't know if/how it manifests on glscopeclient or what the equivalent patch would be off the top of my head.
<ehntoo> @Mughees, could you run `vulkaninfo` in a terminal, stick the output in a pastebin or similar and share it here?
<d1b2> <Mughees> Sure, here it is
<ehntoo> it shows a single queue family with a single queue entry. #685 seems likely to me. @Mughees, if you comment out the `ifdefs` here so that the queue allocation functions always return 0, does it fix your FFT crash? https://github.com/glscopeclient/scopehal/blob/master/scopehal/VulkanInit.cpp#L167-L191
<d1b2> <Mughees> ok let me try
<ehntoo> I prefer IRC for most chat, but for the purposes of screenshots and stuff, what discord server is this channel bridged to?
<d1b2> <Mughees> I took my branch yesterday...that does not have these ifdefs...do you want me to put them and then try or should a update my branche
<ehntoo> you can just stick a return 0 at the top of both functions, the other changes are unimportant
<d1b2> <zyp> it's bridged to the 1bitsquared discord
<ehntoo> gotcha, thanks!
<d1b2> <Mughees> its the same behaviour
<d1b2> <Mughees> #ifdef APPLE LogWarning( "AllocateVulkanRenderQueue needs to be fixed on Apple, returning 0 for now. " "See https://github.com/glscopeclient/scopehal/issues/685\n"); return 0; #endif
<ehntoo> huh. that's my only wild guess spent.
<d1b2> <Mughees> thanks for help...nogpufilter works
<d1b2> <Mughees> i believe its my drivers
<d1b2> <Mughees> my ubuntu installation seems to be messed up
<d1b2> <Mughees> yesterday it gave a lot of errors on boot up
Johnsel has joined #scopehal
ehntoo has quit [Quit: Client closed]
<bvernoux> the look and feel is exactly like Lecroy
<d1b2> <david.rysk> Huh a new 12-bit model
<d1b2> <azonenberg> Yes. I actually have an unreleased video review of it from like a month and a half ago
<d1b2> <azonenberg> i quite liked it
<d1b2> <azonenberg> i found a small issue on the unit they sent me and contacted them for a resolution before editing and releasing
<d1b2> <azonenberg> i should follow up
<d1b2> <david.rysk> I'm hoping my earlier-hardware SDS2000X-Plus isn't obsolete 😛
<electronic_eel> the siglent website says "up to 350 MHz bandwidth (upgradable to 500 MHz)". if the hw is capable of 500 MHz, why don't they sell a 500 MHz model right away?
<d1b2> <david.rysk> upselling and calibration
<d1b2> <david.rysk> there are lots of unlockers available for siglent scopes, and it doesn't seem like siglent cares too much as their distributors openly post about them on eevblog
<d1b2> <david.rysk> that said, if you were to do that, the scope wouldn't have been calibrated, tested, and certified to 500MHz, so you'll likely have more attenuation than expected
<electronic_eel> yeah, i have an unlocked siglent siggen and specan
<electronic_eel> but, why don't they put the 500 mhz model on their website right now if the hw can do it? or aren't they sure they can reliabliy call it a 500 mhz model?
<electronic_eel> i mean the 2 gsps are a bit tight for 500 mhz and 12 bits
<miek> they sell a legit 500MHz software upgrade though, it's not just hacked units. they should be ensuring it meets spec
<d1b2> <david.rysk> so then they're selling it to make a bit more money
<electronic_eel> strange the "update only" policy. but when it is just a sw update, they will have to cal all the scopes to 500 mhz. so the hackers get a properly cal'ed unit...
<azonenberg> Yes lol
<d1b2> <ehntoo> The upgrade option licenses are generally more expensive than buying it from the get-go. I imagine their marketing folks figure it's a more profitable marketing segmentation move.
<azonenberg> meanwhile e.g. lecroy sells upgrades for some of their higher end scopes but it has to go back for cal
<azonenberg> its not field installable
<azonenberg> (and in at least some cases there are parts added/swapped)
<electronic_eel> yeah, with the bigger scopes they don't install more capable hardware than necessary, because the parts are quite expensive
<azonenberg> well
<azonenberg> in the case of e.g. the wavemaster/sda 8zi
<azonenberg> they are the same hardware up to i think 20 GHz
<d1b2> <TiltMeSenpai> not gonna lie, if they're actually swapping parts around I feel a lot better about the cost of the upgrade. The Rigol jailbreak kinda feels like a slap in the face because that capability is kinda just... there already
<azonenberg> and after that they add the DBI deck
<azonenberg> and then the 25/30 are the same hardware
<electronic_eel> but do you still have to send the scope to lecroy for the upgrade from say 25 to 30?
<azonenberg> Yes
<azonenberg> They do not do field BW upgrades on any scope afaik
<azonenberg> any other software option you can just punch in a code and be good
<electronic_eel> maybe they tweak the filters somehow for each bw step, so they have to do a proper cal run
<d1b2> <ehntoo> On the topic of jailbreaking scopes, one of the projects on the top of my side project stack is writing a scopehal-compatible waveform server that'll run on my Rigol MSO5000 and get waveform update rates that are actually worth using. Still thinking about architecture and whether/how much of the existing app infrastructure on the scope I want to use, though.
<d1b2> <david.rysk> oh yeah on that topic I also saw that there's an open source FPGA replacement for some of the older siglents
Johnsel has quit [Ping timeout: 252 seconds]
Johnsel has joined #scopehal
<electronic_eel> hmm, i would prefer if siglent could be convinced to put a SFP+ or SFP28 slot in their higher end scopes and adapt the fpga gateware to allow dumping the data straight off the fpga at full speed
<d1b2> <david.rysk> do their higher end scopes still use a Zynq?
<electronic_eel> i'm not sure. didn't the signal path do a teardown? i don't exactly remember, maybe the fpga is shown there
<electronic_eel> the zynqs don't have a serdes fast enough for sfp28 i think
<azonenberg> electronic_eel: the sds6000 is ultrascale+ kintex based
<azonenberg> xilinx disclosed this in a whitepaper somewhere
<azonenberg> (very little technical details, but they mention that)
<azonenberg> And we are leaning on every scope vendor we talk to, suggesting they do exactly that
<azonenberg> R&S actually *has* a SFP+ in one of their higher end scopes, hanging off the fpga
<azonenberg> but there is no firmware to use it
<azonenberg> it's just... there
<azonenberg> i dont even think it links up
Johnsel has quit [Ping timeout: 264 seconds]
<electronic_eel> maybe for some special government project or something like that. r&s has lots of such deals
Johnsel has joined #scopehal
<electronic_eel> so there currently is only the rigol one which claims to have sfp+: https://www.rigolna.com/products/digital-oscilloscopes/DS8000-R/
<azonenberg> i think it's more likely that it's an abandoned/future feature
<electronic_eel> unfortunately the programming manual is quite sparse on how the data transfer with the sfp+ is supposed to work and i don't think they have any software that is capable of using it
<azonenberg> it costs almost nothing to route the diff pair and put the cage on
<azonenberg> yes that rigol looks interesting. i'd like to get my hands on one eventually
<azonenberg> But currently too busy w/ other stuff
<electronic_eel> i fear that the sfp+ feature of the rigol is either uncomplete or buggy. because there is so few info or programs available for it
<electronic_eel> but maybe the programs are there and are just not translated from chinese yet? don't know
<d1b2> <david.rysk> hmm why is beyondmeasure.rigoltech.com on adblock lists
<electronic_eel> otherwise the design of the rigol scope looks really nice, small rack formfactor and 2 GHz / 10 Gsps is quite usable
<d1b2> <ehntoo> I like Rigol's gear for what you get for the price, but I think "incomplete and buggy" is unfortunately applicable to quite a chunk of their product portfolio.
<azonenberg> Siglent is best value for money at the low end IMO
<azonenberg> rigol's stuff seems to have less attention paid to quality
<electronic_eel> yeah, i think siglent has better quality too
<d1b2> <ehntoo> Both in hardware and software. I had to RMA my MSO5000 after a week because some power DCDC stage had loud enough coil whine to make it unusable in my quiet office
<d1b2> <ehntoo> But considering I paid <$800USD shipped for a 10GSps scope, still worth consideration in certain cases.
<d1b2> <david.rysk> they advertise 8GSps
<azonenberg> Also... resistors I needed for the AKL-AD4 rework, plus the new AKL-AV1 stencil, are here
<azonenberg> will try and assemble one or both tonight after work depending on how tired i am, i woke up at 2am sooo... :p
<d1b2> <louis> I'm still not jazzed with the waveform display for the pulse width waveform, but not entirely sure what would be better
<d1b2> <louis> i don't like that the samples are rendered as extending to the next sample (their m_duration s are only as long as the pulse) but I'm not sure what the best thing to do to avoid rendering like that would be, since I don't want to have the rendered line drop to zero (since that's a "possible" reading)
<d1b2> <azonenberg> So, having the sparse waveform shader handle gaps between samples would be nice to implement at some point
<d1b2> <azonenberg> i dont want to make too aggressive changes until lain gets the vulkan port done
<d1b2> <azonenberg> sine that will just mean more variables in the equation
<d1b2> <azonenberg> Right now i think we only look at the offsets and not the durations
<d1b2> <azonenberg> and assume the data is gap-free
<d1b2> <azonenberg> but it'd be totally possible to implement that. probably the right thing to do for sparse data
<d1b2> <azonenberg> (Since it is not guaranteed to be gap-free)
<d1b2> <azonenberg> let me file a ticket for that so i remember
<d1b2> <azonenberg> so no change needed on the filter side, this is a renderer bug
<_whitenotifier-7> [scopehal-apps] azonenberg labeled issue #491: Waveform renderer should handle gaps in sparse samples - https://github.com/glscopeclient/scopehal-apps/issues/491
<_whitenotifier-7> [scopehal-apps] azonenberg opened issue #491: Waveform renderer should handle gaps in sparse samples - https://github.com/glscopeclient/scopehal-apps/issues/491
<_whitenotifier-7> [scopehal-apps] azonenberg labeled issue #491: Waveform renderer should handle gaps in sparse samples - https://github.com/glscopeclient/scopehal-apps/issues/491
bvernoux has quit [Quit: Leaving]
<d1b2> <louis> whoops...
<d1b2> <louis> made it possible to zoom the histogram filter and revealed some major rendering bug
<d1b2> <azonenberg> lol oh?
<d1b2> <azonenberg> i cant tell if that's wrong or not because i dont know what the actual bind counts are
<d1b2> <azonenberg> that looks plausible for a lot of equal values and a few slightly larger ones
<d1b2> <azonenberg> or do you mean the fill extendin below zero
<d1b2> <louis> i meant the extended fill below zero
<d1b2> <louis> the bin rendering seems fine
<d1b2> <louis> .s/major/funny/ really
<azonenberg> ah, ok. Yeah so the histogram shader assumed pixel value 0 was zero counts and just filled pixels from 0 to the highest count value
<azonenberg> We can fix that if you think there's a reason to make it zoomable
<d1b2> <louis> if it's not zoomable/scrollable it's hard to look at small bins (they hide behind the label or are hard to tell relative magnitudes)
<d1b2> <louis> more generally, i don't like when a waveform area can't be zoomed, feels sorta claustrophobic :p
<azonenberg> eye patterns too? :p
<d1b2> <louis> maybe? that's probably less practical
<azonenberg> i do actually want to re-evaluate how i do eyes in ngscopeclient. in particular, i want to render to a fixed (or maybe one of a discrete set of sizes) sized persistence buffer4
<azonenberg> rather than clearing the potentially significant history if you resize the viewport
<azonenberg> since it's all a texture, there's no inherent reason why the integration buffer has to be 1:1 with the viewport pixels
Johnsel has quit [Ping timeout: 252 seconds]
Johnsel has joined #scopehal
<azonenberg> Thinking about how to handle my Siglent SSG5060X-V
<azonenberg> It's a vector signal generator, so it outputs an RF carrier with I/Q modulation
<azonenberg> but it also has a low frequency oscillator that can output sine, square, sawtooth, triangle, or DC waveforms
<azonenberg> this is intended for use in analog modulation but can also be output as a front panel port
<azonenberg> my tentative thought is to expose the LFO as a function generator
<azonenberg> the trick being, if you configure analog modulation on the RF port the LFO is used to do that
<azonenberg> so do i have more knobs to twiddle for analog modulation under the vector signal generator view?
<azonenberg> or do i have a selector for modulation source and have LFO be one of the options, then you configure the LFO separately?
<azonenberg> more interesting: it appears that if analog modulation is active, the LFO is disabled
<azonenberg> i.e. you cannot output the modulation signal and the RF at once. that's a bit odd
Johnsel has quit [Ping timeout: 268 seconds]
<azonenberg> oh more interesting
<azonenberg> this only applies to AM
<azonenberg> if FM, you can output LFO and RF simultaneously
<azonenberg> also interesting: you are limited to sine and square if using the LFO as a modulation source for FM
<azonenberg> while if you are not doing FM, you can do triangle and sawtooth
<azonenberg> well that will make the driver interesting to say the least lol
<josuah> Earlier, during the call, there was a discussion about how to handle developer API documentation without digging the code for comments.
<josuah> What I started using and am happy with is a script that turns a header into a .rst document (works with any other language):
<azonenberg> well so the dream would be end user facing docs generated from the filter source as well
<josuah> variables, functions, #defines, typedefs... are wrapped with some syntax, and the content are normal .rst or .md formatted text, a bit like litterate programming, but only for the headers
<josuah> of course, there is Doxygen an the like which already do that
<josuah> for integrating it with filters, there could be something to extract comments, generate a file with all the comments in a table or in variables, which are referred by the code?
<josuah> then the whole source (filters or dev API) could use the same documentation format, with a special case for what also need to be documented into the GUI?
<azonenberg> We have doxygen comments in the source
<azonenberg> but i dont know if we actually have a doxyfile or any cmake integration
<azonenberg> (if we do it's waaaay out of date)
<azonenberg> and coverage is not the best
<azonenberg> The question is mostly about whether it makes sense to put end user facing docs in the code
<azonenberg> i'm leaning towards no
<azonenberg> dev docs are a different story
<josuah> so it is a matter of having the documentation written and actually generated more than finding a way to di it?
<josuah> azonenberg: user-facing docs could have a lot of section not bound to any piece of code, like a "get-started" or "compiling on Linux/MacOS/Windows"
<josuah> did you want to drop the LaTeX format or just host it somewhere else?
<josuah> the PDF does look good at least to me.
<azonenberg> At this point my priority #1 is getting it written
<azonenberg> it's straightforward to copy-paste content from a .tex to a .md or whatever and change some formatting codes
<azonenberg> My priority for documentation at the moment is, specifically, filter blocks
<azonenberg> the UI docs are not the greatest but with the major UI rewrite in progress anything we'd write now will be obsolete soon on that front
<azonenberg> transports and drivers are fairly well documented at this point
<azonenberg> so the main hole in the backend docs is filters