<_whitenotifier-f>
[scopehal] azonenberg closed issue #166: 8b/10b decode: allow display of Dx.x characters and Kx.x characters independently as dotted or hex form - https://git.io/JJvP4
electronic_eel has quit [Ping timeout: 260 seconds]
electronic_eel has joined #scopehal
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #scopehal
<azonenberg>
Hmmmm
<azonenberg>
So i'm trying to figure out how to handle logic analyzer inputs in glscopeclient
<azonenberg>
more specifically, setting threshold and hysteresis
<azonenberg>
at the scopehal API level it's fairly straightforward
<azonenberg>
but UI wise, it's less trivial. in particular, there are a couple of different cases that need to be handled
<azonenberg>
(pinging lain, monochroma, sorear, pepijndevos for thoughts?)
<azonenberg>
The first thing is, hysteresis and threshold may or may not be configurable
<azonenberg>
an FPGA ILA does not allow you to set either
<azonenberg>
MEAD allows setting the threshold but has fixed hysteresis
<azonenberg>
The LeCroy MSO probe lets you configure both
<azonenberg>
so i have an API to query if hysteresis and threshold are configurable. At the moment, this is a global on/off setting for a given Oscilloscope and so there's no way to represent instruments in which some channels are variable and some are fixed
<azonenberg>
But the plan is to either hide or gray out the hysteresis and threshold selectors if the instrument in question does not support changing them
<azonenberg>
The bigger issue is handling banking
<azonenberg>
Right now I have a function GetDigitalBanks() that returns a vector<DigitalBank>
<azonenberg>
where a DigitalBank is a vector<OscilloscopeChannel*>
<azonenberg>
and another function GetDigitalBank(channel) that gets the bank a given channel is in
<azonenberg>
So the question is how do we want to present this UI wise? the two obvious options are to create a new global dialog somewhere for setting LA properties on a scope
<azonenberg>
or to have it show up under channel properties for each input
<azonenberg>
in the latter case do we want to provide any kind of batching capability for simultaneously setting properties on a range of channels?
<azonenberg>
in something ilke MAXWELL with 96 channels having to configure each one by hand would be awkward compared to being able to pick say 8 of them on a single bus and set them simultaneously
<lain>
hrm
<lain>
maybe a dialog where you have one set of controls and a multi-select list box for channels or something? :s
<lain>
so you can batch-edit
<azonenberg>
I feel like it makes sense to have it be under channel properties
<lain>
or maybe from the main UI you could have a context menu "apply to all channels on this instrument"
<azonenberg>
yeah but "all channels" is usually not what you want
<lain>
hrm true
<azonenberg>
very often i'm mixing standards on different probes
<lain>
"copy settings to other channels" and then a channel multi-selectable listbox?
<azonenberg>
hmm that could work
<azonenberg>
I figure i'll start with the channel properties and then see how that works?
* lain
nods
_whitelogger has joined #scopehal
<_whitenotifier-f>
[scopehal] azonenberg pushed 2 commits to master [+0/-0/±5] https://git.io/JUWcQ
<_whitenotifier-f>
[scopehal] azonenberg eb1a522 - LeCroyOscilloscope: Implemented read-only access to LA thresholds and hysteresis
<azonenberg>
blue = circuit theory simulation of the design w/ ideal transmission lines and no conductor loss
<azonenberg>
pink = going from 200-200-50 to 200-100-100-50 at same spacing
<azonenberg>
cyan = going from 0.6 to 0.7mm of line between the resistor elements (including mounting pads, this translates to 0.1 -> 0.2 mm between resistor bodies)
<azonenberg>
black = going to 0.8mm of line between them
<azonenberg>
you can see it shifts the peak left and down each time
<azonenberg>
amazing how much of a difference 0.1mm of spacing makes