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
balrog_ has joined #scopehal
balrog has quit [Ping timeout: 240 seconds]
balrog_ is now known as balrog
_whitelogger has joined #scopehal
adamgreig has quit [*.net *.split]
adamgreig has joined #scopehal
_whitelogger has joined #scopehal
<azonenberg> So, i just found an interesting edge case in my file load code
<azonenberg> unsure if i want to bother doing anything about it
<azonenberg> When you say 'reconnect to scope' i check that the make, model, and serial match
<azonenberg> If you put the mixed signal upgrade on a waverunner 8000 series scope the model name reported changes to 8000-ms series
<azonenberg> Which means your old save files won't open
<azonenberg> this is a) easy to fix by editing the YAML and b) an extremely uncommon scenario
<azonenberg> monochroma / lain: current status of file load, btw
<azonenberg> When you say "open" it completely closes your current session (without prompting to save, that's a whole other can of worms i'll deal with later)
<azonenberg> it parses the yaml, if you said reconnect to scopes in the dialog it will connect to each of the scopes in the save file and reconfigure channels appropriately
<azonenberg> it will create each protocol decoder but not configure inputs or parameters yet
<azonenberg> the UI is not loaded yet, so you end up with a useless app that has zero waveform areas you can interact with
<azonenberg> but there's lots of progress on the back end. Hopefully tomorrow i can get most of the remaining stuff taken care fo
<azonenberg> of*
<azonenberg> Still no waveform save/load, and no support for loading stuff from a scope that is not currently connected
<azonenberg> i need to make a dummy/mock scope so you can view waveforms offline
<azonenberg> But that is not a priority until loading waveforms is a thing :p
_whitelogger has joined #scopehal
bluezinc has joined #scopehal
_whitelogger has joined #scopehal
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #scopehal
electronic_eel has quit [Ping timeout: 265 seconds]
electronic_eel_ has joined #scopehal
electronic_eel_ is now known as electronic_eel
electronic_eel has quit [Ping timeout: 265 seconds]
electronic_eel has joined #scopehal
electronic_eel has quit [Ping timeout: 258 seconds]
electronic_eel has joined #scopehal
<azonenberg> Is there a better C++ data structure for a two-way 1:1 mapping than two std::maps that you just always update at the same time?
<azonenberg> More concretely: i'm trying to associate integer IDs and pointers to objects for serialization of a graph data structure
<azonenberg> and i need to be able to either look up the ID for a pointer or the pointer for an ID
<azonenberg> there should really be a std::bijection class for this
<azonenberg> I guess i'm making one lol
<electronic_eel> how about boost multi-index?
<azonenberg> Trying to avoid bringing in boost just yet. Right now i have a 20-line Bijection class that's just a wrapper around two std::maps
<azonenberg> and has operator[](T1 key) and operator[](T2 key)
<azonenberg> it's sufficient for my requirements
<miek> i know of too many projects that are so happy that they finally got rid of boost :p
<electronic_eel> hmm. boost solves a lot of common problems.
<electronic_eel> but it has a sort of mixed quality. most sub-libs are quite good, but some are of a sub-par quality
<electronic_eel> the container and multi-index stuff works quite well
<electronic_eel> but asio sux and tribool does always the opposite of what I intend...
<zigggggy> happy pi day
<zigggggy> azonenberg i use in C# a library for bidirectional dictionary
<zigggggy> err i actually i think just have the source in my core library
<awygle> Boost is so heavy
<awygle> Just do the double map lol
<awygle> Unless you're gonna be storing tons of stuff in it
<electronic_eel> yeah, no issue, just add 256gb more ram to your workstation and you are good again ;)
<awygle> Or close discord
<azonenberg> Lol
<azonenberg> you remind me of how leaky fb/twitter are, at least in firefox
<azonenberg> i recently bumped my social media VM from 4GB ram to 6GB to increase the interval between it either being oomkilled or slowing to unresponsiveness
<_whitenotifier-3> [scopehal] azonenberg pushed 2 commits to master [+2/-0/±7] https://git.io/JvizU
<_whitenotifier-3> [scopehal] azonenberg 3d6ed37 - Created Bijection and IDTable classes for more efficient serialization/loading
<_whitenotifier-3> [scopehal] azonenberg 4daa109 - Refactored scopehal to use IDTable
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±4] https://git.io/Jviz3
<_whitenotifier-3> [scopehal-apps] azonenberg 215fb54 - Refactored scopehal-apps to use IDTable
<awygle> meanwhile i just turned on a swapfile on my irc bouncer vm to let me update packages without apt getting oomkilled lol
awygle has quit [Remote host closed the connection]
awygle has joined #scopehal
<awygle> And I'm back. Good. Although oh God all the user interfaces changed whyyy
<azonenberg> lol i hate when they do that
<azonenberg> what distro?
<awygle> Ubuntu. But I just mean the Quassel client.
<_whitenotifier-3> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±3] https://git.io/Jvi2g
<_whitenotifier-3> [scopehal] azonenberg 583c6a9 - Implemented protocol decoder loading
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±6] https://git.io/Jvi2r
<_whitenotifier-3> [scopehal-apps] azonenberg 3273292 - Continued work on file loading. Can now run "glscopeclient foo.scopesession" to load a file directly as an argument. Implemented protocol decoder loading. See #3.
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±5] https://git.io/Jvi2d
<_whitenotifier-3> [scopehal-apps] azonenberg 01ef2ea - Implemented window and waveform area loading. Still can't SEE anything as we have no groups or splitters. See #3.
<azonenberg> What's funny about this bottom-up initialization flow is that we're going to suddenly go from file-load doing nothing visible, to completely functional (at least for configuration) in one commit. And that commit is coming soon
<azonenberg> Waveform data will take a few more hours but i might get done today, we'll see
<azonenberg> Offline analysis will take a bit more time still
* zigggggy orders azonenberg pizza for pi day
<_whitenotifier-3> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JviVf
<_whitenotifier-3> [scopehal] azonenberg 1b0d33c - Measurement: save display color
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±3] https://git.io/JviVJ
<_whitenotifier-3> [scopehal-apps] azonenberg db40362 - glscopeclient: now loading waveform groups. See #3.