greatfet icon indicating copy to clipboard operation
greatfet copied to clipboard

sigrok support for (live) logic analysis

Open mossmann opened this issue 6 years ago • 7 comments

Make it easy to use GreatFET as a logic analyzer with sigrok.

mossmann avatar Jul 10 '18 00:07 mossmann

https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=HACKING;hb=HEAD

dominicgs avatar Jul 19 '18 01:07 dominicgs

Moving this from "next release" to the release after, as this isn't a blocker for the release (it's independently versioned and instead depends on us getting the release out there).

In short, I don't want to submit anything to upstream Sigrok until we have a release already out for folks to test against.

ktemkin avatar Aug 20 '19 14:08 ktemkin

Hello. Do you already have something on this that you can share and it is not officially released? Otherwise I would like to have a try at this myself if you have an example of accessing the API on the board with libusb from C code.

antzware avatar Feb 01 '21 08:02 antzware

I believe @Qyriad has a (nearly completely done?) branch with this support: https://github.com/Qyriad/libsigrok/tree/greatfet-driver

ktemkin avatar Feb 01 '21 13:02 ktemkin

I checked out @Qyriad's and @ktemkin's [awesome] work today and got it to work after a few minor adjustments: https://github.com/luizribeiro/libsigrok/commit/ee7846dfb0d7c9f853e7799c92348c44b422e076

For now it only supports 8 channels and you can only use one GreatFET at a time (I believe, I couldn't test this). It also doesn't support any scan options on the driver. It does support soft-triggers already! I spent a bit of time today playing with it and it seems to be working well.

I'm planning on turning it into a pull request soon - and we can add the remaining features as we go. @Qyriad, I see we only have @ktemkin's name on the Copyright headers. How would you like for me to attribute your work?

luizribeiro avatar Aug 02 '21 01:08 luizribeiro

I'm not associated with Great Scott Gadgets anymore, and honestly don't even remember most of that code. Consider it your own work; no need to attribute me 🙂

Qyriad avatar Aug 04 '21 13:08 Qyriad

sigrok.org mainline now includes GreatFET One support. Took the Qyriad implementation and massaged it to help mainline this approach.

Commits https://sigrok.org/gitaction/libsigrok.git/b4645b0..0dc36c9

Device wiki page https://sigrok.org/wiki/GreatFET_One

Current state:

  • Would not work with 2018 firmware. Was created and tested with v2021.2.1 firmware. It's easily available with 'pip install'.
  • Supports up to 8 channels at rates up to 40.8MHz, higher rates with fewer channels (up to one channel at 204MHz).
  • Does not include support for soft triggers (would like to have this in common code and not repeat non-trivial logic in many drivers).
  • Prepares support for 16 channels but firmware support is still under construction.

gsigh avatar Oct 29 '23 10:10 gsigh