Saleae logic analyzers seem to have it all: good sampling rates, convenient protocol decoding, and plenty of channels – but not a good way to set rising or falling-edge triggering. [James] found this rather inconvenient when debugging embedded devices, and shared a workaround that replicates these simple triggering modes.
Crucially, the logic analyzer’s software has a repeated triggering mode that fires when the protocol decoder detects a preset value. [James] used a clever trick to turn this into a rising-edge trigger: he set up a simple parallel analyzer, and set the signal in question as both the sampled channel and the clock signal. Since he wanted to detect the rising edge, he set the clock mode accordingly. Next, he loaded the simple parallel decoder’s trigger configuration and set it to detect a value of one, the value of a high signal. When he ran the simple parallel trigger, every rising edge of the input signal would trigger the clock to check for a high value on the line, in turn triggering the analyzer.
It’s also possible to set up a falling-edge trigger by selecting the falling-edge clock mode and setting the trigger mode to detect a value of zero. Setting up more complex triggers involving multiple channels is as simple as calculating the hexadecimal value of the desired state and setting the parallel decoder to trigger on that value. For example, if you want to trigger when one input is low and another is high, you can set the decoder to trigger on a value or one or two, depending on which order the inputs come in.
If all this makes you interested in Saleae logic analyzers, we’ve seen them used for everything from floppy disk preservation to signal generation. We’ve even reviewed their earliest model back in 2009.
The article summary here is a bit confusing – the video in question is a workaround to replicate the “normal” trigger setting of an oscilloscope, where it will capture and replace the existing capture on screen (usually with some level of persistence) whenever a new trigger is detected.
The summary makes it sound like the Saleae software doesn’t support falling edge or rising edge triggers even in the equivalent of a scope’s single/one-shot mode – which is of course table-stakes and nobody would enjoy using a logic analyzer that didn’t support that.
Thanks, the hackaday summary sounded really weird :)
You can also just use Sigrok / Pulseview. Their website is back up again. In pulseview you can simply select any channel for either rising, falling or toggling trigger. (And a static level for other channels). And the data captured in the video above can be done for 1% of the cost of the saleaeae thing. Salesaleaea more then doubled the price of their hardware in a few year some time ago, and they stopped selling the “low cost” / entry level hardware altogether. The analog channels of the SaleSaleSale are nice but their lowest cost gadget costs more then my Siglent SDS1104X-E. But SaleSaleSale does manage to keep their head above the mowing field. There were other companies who started similarly (such as USBee) and they nearly all collapsed.
I really wish Sigrok / Pulseview had some way to make some money. It would give me a lot more confidence that they will still be around in 5 or 10 years time. When I wanted some hardware with more performance then the CY7C68013A I had some struggle to find it. In the end I bought the Kingst LA2016 twice. The newest version does have Chinese replacement chips in it (the Chinese are doing everything they can to become independent from the western supply chain. And I guess this is for more reasons then just making money, but I’m not into politics much). But anyway. Kingst LA2016 is nicely made and for a reasonable price, although it’s still more then he hardware would indicate. I guess Sigrok can still make some profit if they sell similar hardware for half the cost of the LA2016.
There is also a company that forked Sigrok, started selling their own LA hardware and (as far as I know) never gave a line of code back to Sigrok. I’m definitely not buying that hardware.
Only downsides of the LA2016 is the lack of analog channels, and the coloring of the wires. So I took out the wires of the pod and put them in the order that Pulseview numbers the channels. (This does make channel numbering incompatible with the Kingst software, but I like Sigrok / Pulseview more then Kingst.
In my opinion, every “arduino” starters kit should have a simple Logic Analyzer included. It’s such a useful debugging tool. I find the CY7C68013A more useful for debugging microcontroller stuff then my full blown oscilloscope. In fact. I hate to turn my Siglent even on because its fan makes so much noise. I’m seriously thinking of buying another scope ,but that is another topic.
I agree with everything in this post. I have a salaeiaieae at work and it works great, I have a Sigrok-based setup at home, it works great at a tiny fraction of the price of the salaieoaieia. The Sigrok software is really useful to the community and if people have money burning holes in their pockets, it’s a good effort to support.