You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a circuit with a microcontroller that's talking to a i2c clockchip. In very rare cases, something goes wrong, and the time in the clockchip is wrong. The microcontroller also talks to the outside world via SPI and several uarts.
I would like to use ngscopeclient to monitor and decode the i2c communication to the clockchip. Then, when i see a jump in the time of the clockchip, I would like to see what the i2c, SPI and uarts pins were doing at that time, so i can figure out howto solve it.
Problem is, I don't have a way to capture the digital signals. I don't have one of the devices that are listed [1] as supported.
I do have a pi pico (rp2040) board that talks to sigrok via a serial-over-USB connection, with sigrok at the other end. [2,3].
I also have a Saleae_Logic that talks to sigrok via a USB connection. [4]
Is it possible to build support for such a solution into ngscopeclient?
How can I help that development?
We're still working on building out developer documentation, we have an API reference at https://www.ngscopeclient.org/devdocs/ but haven't had time to write a proper "how-to-make-a-driver" guide.
The tl;dr is you'll need to create a new class derived from SCPIOscilloscope (oscilloscopes and logic analyzers are treated the same internally, both can have analog and/or digital channels - a LA is simply a MSO with no analog channels) using an existing driver as a template. Then register it in DriverStaticInit() in scopehal.cpp so it'll be created when ngscopeclient starts up, and implement all of the necessary Oscilloscope methods for your desired functionality.
Note that ngscopeclient is BSD licensed and thus not compatible with GPL contributions (you can use our code in a patch to sigrok, but not the other way around).
if there is already a Sigrok driver for your target instrument, you may find https://github.com/ngscopeclient/scopehal-sigrok-bridge to be useful as a quick way to get things running. It's a dual licensed GPL/BSD tool that links against libsigrok and exposes instruments via a SCPI API over a TCP socket that ngscopeclient then connects to using the dslabs driver (providing both a license boundary and network transparency, allowing you to run ngscopeclient on a computer other than the one the LA is plugged into should you so desire). It was intended for use with DreamSourceLabs USB scopes/LAs like the DScope and DSLogic, and I think has bitrotted a bit, but it's probably closer to where you want to be than starting from scratch.
I have a circuit with a microcontroller that's talking to a i2c clockchip. In very rare cases, something goes wrong, and the time in the clockchip is wrong. The microcontroller also talks to the outside world via SPI and several uarts.
I would like to use ngscopeclient to monitor and decode the i2c communication to the clockchip. Then, when i see a jump in the time of the clockchip, I would like to see what the i2c, SPI and uarts pins were doing at that time, so i can figure out howto solve it.
Problem is, I don't have a way to capture the digital signals. I don't have one of the devices that are listed [1] as supported.
I do have a pi pico (rp2040) board that talks to sigrok via a serial-over-USB connection, with sigrok at the other end. [2,3].
I also have a Saleae_Logic that talks to sigrok via a USB connection. [4]
Is it possible to build support for such a solution into ngscopeclient?
How can I help that development?
[1] http://www.ngscopeclient.org/hardware.html
[2] https://hackaday.com/2022/03/02/need-a-logic-analyzer-use-your-pico/
[3] https://github.com/pico-coder/sigrok-pico
[4] https://sigrok.org/wiki/Saleae_Logic
The text was updated successfully, but these errors were encountered: