Skip to main content

Embedded Debugger client for libstored's debug protocol

Project description

(py)libstored -- Store generator and Embedded Debugger client

libstored is a generator for a C++ class (store) with your application's variables, and a tool set to synchronize updates between processes (including FPGA), and debug it remotely. Refer to the documentation for details and examples.

This Python package contains:

  • The generator itself.
  • The client implementation of the Embedded Debugger protocol (version 2), and a few helper classes and modules to debug your application.

The synchronization protocol of libstored is not available in python (yet?).

Generator

In short, to generate the store, run python3 -m libstored.cmake, which produces a FindLibstored.cmake for you. Then, call find_package(Libstored) in your CMakeLists.txt. Afterwards, the CMake function libstored_generate() can be used to create the store (C++ header/source files, VHDL package, documentation) for you and build it as a static library.

This library includes the Debugger, which provides the server side of the Debugging client below.

Debugging client

Execute these modules like python3 -m libstored.gui, optionally with -h argument to get some more help:

  • libstored.gui: a GUI that connects to a debug target. The GUI has by default high DPI support. If the scaling is not satisfactory, try setting the QT_SCALE_FACTOR environment variable before starting the GUI, or use Ctrl+Scroll wheel to dynamically resize the fonts.
  • libstored.cli: a command line interface that connects to a debug target.
  • libstored.wrapper.stdio: a stdin/stdout wrapper, which is a bridge between Embedded Debugger messages within the stdin/stdout streams of the application to a ZeroMQ socket interface, which in turn can be used to connect libstored.gui or libstored.cli to.
  • libstored.wrapper.serial: like libstored.wrapper.stdio, but using pyserial instead of stdin/stdout.
  • libstored.log: command line tool that connects to a debug target and logs samples to CSV. It is equivalent to passing -f to libstored.gui, but this tool allows easier automation of a specific set of samples.

Interesting classes

The following classes are particularly interesting:

  • libstored.ZmqClient
  • libstored.ZmqServer
  • libstored.Stdio2Zmq
  • libstored.Serial2Zmq

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libstored-1.7.1.tar.gz (272.5 kB view details)

Uploaded Source

Built Distribution

libstored-1.7.1-py3-none-any.whl (306.5 kB view details)

Uploaded Python 3

File details

Details for the file libstored-1.7.1.tar.gz.

File metadata

  • Download URL: libstored-1.7.1.tar.gz
  • Upload date:
  • Size: 272.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for libstored-1.7.1.tar.gz
Algorithm Hash digest
SHA256 e2602c23062a36c12fcd15c007621012a529330762930430e54458693f8f07c2
MD5 9e8a4190a8ec31e5dfeb1e1cf384b29c
BLAKE2b-256 9fee1d592ffb2f0d46ff6107a6058a31614a06fc5313038c2405fb92facbbc87

See more details on using hashes here.

File details

Details for the file libstored-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: libstored-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 306.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for libstored-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 725a127d167da622bcc25aa2778acfb1aa208d040967a3a79ddce1878afad093
MD5 1c3820dcd65b670a84d05b23a53ce77e
BLAKE2b-256 8cc2021d349d298cb5d5d3ba71add527532dca40659cbdbde7a3e6633a421e27

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page