Skip to content

PiPiLogicAnalyzer 7.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 09:34
· 52 commits to main since this release

Project

  • The project is now called PiPiLogicAnalyzer. The Python package is pipilogicanalyzer, the
    command pipilogicanalyzer, the settings live in a directory of that name (the settings of the
    previous name are taken over on the first start) and the environment variables are
    PIPILOGICANALYZER_SETTINGS_DIR and PIPILOGICANALYZER_DECODERS; the previous names still work.
  • The firmware is called PiPiLogicAnalyzer as well: the sources are in firmware/PiPiLogicAnalyzer,
    the images are named PiPiLogicAnalyzer_<BOARD>[_Turbo].uf2 and a board identifies itself as
    PIPI_LOGIC_ANALYZER_<BOARD>_V<major>_<minor>. The application also accepts the previous
    identification, so boards with an older firmware keep working. USB VID/PID (0x1209/0x3020) and
    the hardware of Agustín Giménez Bernad are unchanged.

Application

  • The device list and the multi device dialog only offer detected analyzers; other serial ports
    are no longer listed.
  • Clicking the name of an annotation row (or double-clicking an annotation) opens the row as a
    list in a window of its own: filter, copy (e.g. a disassembly listing), and selecting an entry
    shows it in the waveform.
  • Multi device sets are no longer triggered by the master only: the board of the trigger channel
    evaluates a pattern or an edge (firmware of this project) and starts the other boards, or every
    board waits for an edge on its external trigger input.
  • Pattern triggers use every group of consecutive trigger inputs the firmware reports (Pico:
    channels 1–21 and 22–24 instead of 1–16), fast matching included.
  • C64 bus decoder: the Bus cycles row keeps the value read or written visible when zoomed out
    (R $FFFC=$E2, FFFC=E2, E2) instead of showing only the address.
  • Device → Install or update firmware: every image shows the firmware version it contains, in
    the list and in its description.
  • Channels can be made lower (or taller) to fit more of them on the screen: Alt + mouse wheel,
    View → Taller/Shorter channels (Ctrl+Shift+Up/Down) or the Channel height slider; the
    height is remembered.
  • Help → Online documentation opens the wiki of this project; the wiki of the original software
    by gusmanb, which documents the hardware, has an entry of its own.

Project

  • SECURITY.md (private vulnerability reporting, where problems are plausible) and a Contributor
    Covenant CODE_OF_CONDUCT.md.
  • Corrected license statements: a few bundled sigrok decoders are MIT or BSD, not GPL, and the
    AppImage runtime is distributed with the Linux build. The copies of the Raspberry Pi
    lwipopts.h and pico_sdk_import.cmake carry their BSD-3-Clause notice again.
  • Source files carry a copyright and SPDX-License-Identifier header; pyproject.toml declares
    GPL-3.0-or-later.
  • Pull requests that only change documentation now run the tests as well, so a required check can
    pass.

Firmware

  • Identifies itself as V7_1. A multi device set only accepts boards with the same version, so
    flash every board of a set with this firmware.
  • Trigger type 5: edge trigger that also drives the trigger output.
  • Pattern triggers accept all channels on consecutive GPIOs; the capabilities report
    EDGE_TRIGGER_OUT and PATTERN_GROUPS.

Based on and extending the LogicAnalyzer by Agustín Giménez Bernad (gusmanb). Thank you!