PulseView demo for follow along logic analyzer mode

@phdussud has another PulseView demo/update that supports the new “follow along” logic analyzer mode.

FALA is a “live action” logic analyzer that automatically captures everything that happens when you send commands from the Bus Pirate. It works on all hardware versions, but has some notable limitations on Bus Pirate 5 and 5XL hardware.

Configure Bus Pirate FALA binary mode

Enable FALA binary mode interface:

  • Type binmode in the terminal
  • Select “Follow along logic analyzer”

Configure PulseView for FALA device

  • Select the “BP5 + binmode-FALA” deiver
  • Select serial port and choose the Bus Pirate serial port that is not used for the terminal (lower number for me these days)
  • Press Scan for devices
  • Hopefully the Bus Pirate is detected. Press OK.

Run Capture on PulseView

Click “run” to start capturing

Enter a mode and send some data

Enter a Bus Pirate mode. For now, SPI is best for testing.

  • m to enter a mode, I suggest SPI
  • Logic analyzer speed: with be set to 8x the selected bus speed

Enable the power supply and write some data.

  • W 5 to enable a 5volt power supply
  • [ 0x00 0xff 0x55 0xaa] write some data to the bus
  • Logic analyzer: xxx samples captured indicates how many samples were captured by the logic analyzer

View logic captures live!

The samples are loaded into PulseView every time something happens on the bus.

  • You may need to zoom a lot if there are only a few samples
  • The box with a 2 (red arrow) indicates the number of captures. Up and down arrows scroll through the capture history

There is a button to autozoom to full scale (all of the samples are shown at max zoom). It is the 3rd zoom button, to the right of the - zoom button (red arrow).

image

There are options for how to display the segments, but I’m not sure how that works yet :slight_smile:

Limitations

Only a few modes have been updated to work with FALA. Some modes have internal buffers that cause the logic capture to end early or even return no samples. Each mode needs a new function to indicate when all bus activity is done. I was in the process of this update when the E9 fiasco happened :ninja:

This is Windows only for now.

All Bus Pirate hardware supports the follow along logic analyzer, however only Bus Pirate 6 has a second buffer for the follow along mode. In earlier hardware all output pins are measured behind the IO buffer. This means the logic capture may not match the actual output of the IO buffer. This is not a problem when the Bus Pirate is used as a logic analyzer only and all pins are inputs.

2 Likes

About zooming a lot. There is a button to autozoom to full scale (all of the samples are shown at max zoom). It is the 3rd zoom button, to the right of the - zoom button

4 Likes

Thank you, updated with screenshot.

2 Likes

Added the tutorial above to the docs, and created a separate page documenting the FALA protocol.

2 Likes

In case someone wants to produce a Linux version, here is my repo/branch to get the changes from
phdussud/libsigrok at bp5-fala (github.com)
Note that libsigrok is the only component that has changed

3 Likes

Thank you so much for posting the updates!

1 Like

I managed to make it work on Linux. Two days fighting and the issue was that I was missin libserialport developer headers so libsigrok was compiled without support for libserialport.

Here is fix for compiling on Linux and it works when you add udev rule or run as root.:laughing:

1 Like

You are a hero my friend! Many thanks go out to you!

Is the gratitude pointed at me?:sweat_smile:

Here is udev rule to be able to use it without root:

Just replace your serial or delete it from udev rule

1 Like

Awsome in gentoo use a custom sci-libs/libsigrok/libsigrok-9999.ebuild
With:

    EGIT_REPO_URI="https://github.com/AreYouLoco/${PN}.git"
    EGIT_BRANCH="bp5-fala"

Works right away. Thx

3 Likes

@phdussud maybe you could send the changes upstream via PR? It is confirmed now to work on Linux and Windows

2 Likes

I would but the sigrok people seem overwhelmed. One of my PR took several months before it got integrated and the second (fixing the SUMP driver for Windows) is still pending. I prefer to wait until we have a final version of the FALA protocol before submitting a PR. Does this make sense?

Yeah sure. Cuz indeed interested people actually using BP will easily find a fork here.