azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
someone--else has quit [Ping timeout: 268 seconds]
<azonenberg> Ok so i want to overhaul the signal generator feature of the demo scope
<azonenberg> possibly refactoring some of this out of the demo and into a new instrument
<azonenberg> basically i want to create a virtual AWG that lets you create all kinds of test waveforms
<azonenberg> for filter testing, demonstration, and channel emulation tests
<azonenberg> Among other things I want to be able to generate complex RF modulations, tones of arbitrary frequencies, multi-tone signals, PRBSes, random 8b10b and 64b66b coded data, and both NRZ and PAM4 waveforms
<azonenberg> I think maybe a good way to do this is to have a relatively small number of basic primitives then have filter blocks that go the opposite of the normal decode ones
<azonenberg> So for example we'd have a "NRZ" filter that converts a digital waveform to analog with specified low/high voltages, and maybe rise/fall times
<azonenberg> or a PAM4 filter that, well, does PAM4
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 240 seconds]
Degi_ is now known as Degi
<_whitenotifier-a> [scopehal] azonenberg pushed 1 commit to master [+2/-0/±4] https://git.io/JnCKm
<_whitenotifier-a> [scopehal] azonenberg a0ffb73 - Added digital-to-PAM4 signal generation filter. Fixes #188.
<_whitenotifier-a> [scopehal] azonenberg closed issue #188: Add PAM4 signal generator - https://git.io/JJRNu
<_whitenotifier-a> [scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JnCKs
<_whitenotifier-a> [scopehal-docs] azonenberg 5d80ea8 - Skeleton documentation for digital-to-PAM4 filter
<_whitenotifier-a> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±5] https://git.io/JnCKC
<_whitenotifier-a> [scopehal-apps] azonenberg 14e707f - Added waveform generation filter category
<_whitenotifier-a> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JnCXQ
<_whitenotifier-a> [scopehal] azonenberg b41a37a - PAM4: fixed interpolation on edges
<d1b2> <thirtythreeforty> Cool!
<_whitenotifier-a> [scopehal] azonenberg pushed 1 commit to master [+4/-0/±5] https://git.io/JnCAl
<_whitenotifier-a> [scopehal] azonenberg d39152e - Refactored lots of stuff into WaveformGenerationFilter. Added digital to NRZ filter.
<azonenberg> Hmmmmm
<azonenberg> so, crazy idea
<azonenberg> I wonder what would happen if I created a filter that had zero inputs
<azonenberg> I think i could use that for signal generation
<azonenberg> Yep, it works
<azonenberg> That's definitely the cleanest way to do it
<_whitenotifier-a> [scopehal] azonenberg pushed 3 commits to master [+2/-0/±5] https://git.io/JnWY5
<_whitenotifier-a> [scopehal] azonenberg 4cead8b - Filter: anything with no inputs can't be an overlay
<_whitenotifier-a> [scopehal] azonenberg 0422c07 - DemoOscilloscope: don't waste time generating signals for disabled channels
<_whitenotifier-a> [scopehal] azonenberg 010542b - Added ToneGeneratorFilter
<_whitenotifier-a> [scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JnWOf
<_whitenotifier-a> [scopehal-docs] azonenberg 8b20b4b - Initial skeleton documentation for digital-to-NRZ and sine filters
<_whitenotifier-a> [scopehal-apps] azonenberg pushed 3 commits to master [+0/-0/±5] https://git.io/JnWOz
<_whitenotifier-a> [scopehal-apps] azonenberg 5af09ce - FilterGraphEditorWidget: filters with no inputs are now drawn in column 0, with scope channels
<_whitenotifier-a> [scopehal-apps] azonenberg eb63a43 - WaveformArea: filters with no inputs are considered scope channels and display sample rate and memory depth
<_whitenotifier-a> [scopehal-apps] azonenberg 0d04c85 - WaveformArea: Filters with no inputs are always legal to create
<_whitenotifier-a> [scopehal-apps] azonenberg opened issue #379: Improve signal generator filter UX - https://git.io/JnWOP
<_whitenotifier-a> [scopehal-apps] azonenberg edited issue #379: Improve signal generator filter UX - https://git.io/JnWOP
<azonenberg> Hey, so the windows build is still broken
<azonenberg> Does anyone have time to look at that? I cant remember who originally borked it but that should get fixed asap
<azonenberg> And i don't have a windows box to test with
<monochroma> do we have to support windows ? :<
<azonenberg> Lol, i wish we didnt have to but users expect that these days :p
<azonenberg> Anyway, so i'm doing a big overhaul of the signal generation capabilities
<monochroma> i guess we will see after 11 ;)
<azonenberg> The "fast edge" channel in the demo scope is going away as that really isnt a "demo" filter anyway
<azonenberg> The other four i'll keep for UI testing and such
<azonenberg> but libscopehal now supports filters that have zero inputs
<azonenberg> which means they're effectively source nodes in the graph
<azonenberg> so you can use the usual filter configuration dialog to configure parameters
<azonenberg> right now the only one i have is a sine generator but i will be adding a lot more in the next few days
<azonenberg> I also have a digital-to-NRZ and digital-to-PAM4 decode which convert digital signals to either NRZ or PAM4 with specified levels and rise/fall times
<azonenberg> i will also be adding digital-to-PAM3 and digital-to-MLT3 filters soon
<azonenberg> and some digital vector generators, like PRBS with configurable polynomial length
<azonenberg> then some degradation filters like adding noise and jitter
<azonenberg> the idea being that you can chain these, plus channel emulation and emphasis/equalization blocks, to create arbitrarily complex test waveforms
<azonenberg> so for example PRBS31 at 10.3125 Gbps -> add 10ps of gaussian jitter -> convert to NRZ with -400 / +400 mV levels and 30ps rise/fall times -> add 20 mV of gaussian noise -> emulate a s-parameter channel
bvernoux has joined #scopehal
someone--else has joined #scopehal
someone--else has quit [Quit: Connection closed]
<d1b2> <thirtythreeforty> This makes a whooole lot of sense when combined with instruments with a signal generator 🙂
<d1b2> <thirtythreeforty> The one complication being that they typically have a limited AWG buffer... Any idea how that interaction would work?
<azonenberg> So having a filter graph output to an AWG would be really cool
<azonenberg> but thats a ways out from being supported
<azonenberg> You'd probably just set the input signal memory depth to that buffer size
someone--else has joined #scopehal
<_whitenotifier-a> [scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JnlQQ
<_whitenotifier-a> [scopehal-docs] azonenberg 0bc2a64 - Initial skeleton documentation of PRBS and noise filters
<_whitenotifier-a> [scopehal] azonenberg pushed 2 commits to master [+4/-0/±6] https://git.io/JnlQb
<_whitenotifier-a> [scopehal] azonenberg c206c74 - Initial implementation of PRBSGeneratorFilter
<_whitenotifier-a> [scopehal] azonenberg 8a5742b - Initial implementation of NoiseFilter
<_whitenotifier-a> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/JnlQN
<_whitenotifier-a> [scopehal-apps] azonenberg b327de0 - Updated submodules
<azonenberg> Fully synthesized waveforms :)
<Degi> Nice :D
<Degi> Oh no, Rigol still hasn't released new FW
someone--else has quit [Quit: Connection closed]
<_whitenotifier-a> [scopehal] MegabytePhreak opened issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8P3
<_whitenotifier-a> [scopehal] azonenberg commented on issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8X6
<_whitenotifier-a> [scopehal] azonenberg labeled issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8P3
<_whitenotifier-a> [scopehal] azonenberg labeled issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8P3
<_whitenotifier-a> [scopehal] azonenberg commented on issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8Xp
<_whitenotifier-a> [scopehal] azonenberg edited a comment on issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8Xp
<_whitenotifier-a> [scopehal] MegabytePhreak commented on issue #502: Windows/MINGW64 build is broken - https://git.io/Jn81i
someone--else has joined #scopehal
<_whitenotifier-a> [scopehal] MegabytePhreak commented on issue #502: Windows/MINGW64 build is broken - https://git.io/Jn8QM
<_whitenotifier-a> [scopehal] thirtythreeforty commented on issue #270: Support ultra cheap Logic Analyzer USB 2.0 HS with 24MHz 8 Chan based on Cypress FX2/FX2LP chips - https://git.io/Jn8Nw
<_whitenotifier-a> [scopehal-apps] electroniceel commented on issue #376: std::bad_alloc exception when running the demo scope for some time - https://git.io/Jn8pw
<_whitenotifier-a> [scopehal] electroniceel commented on issue #270: Support ultra cheap Logic Analyzer USB 2.0 HS with 24MHz 8 Chan based on Cypress FX2/FX2LP chips - https://git.io/Jn8hD
<_whitenotifier-a> [scopehal] thirtythreeforty commented on issue #270: Support ultra cheap Logic Analyzer USB 2.0 HS with 24MHz 8 Chan based on Cypress FX2/FX2LP chips - https://git.io/Jn4ek
<electronic_eel> new fedora and CentOS RPM-packages for scopehal & co are built and published at https://copr.fedorainfracloud.org/coprs/electroniceel/scopehal/
someone--else has quit [Quit: Connection closed]