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.8.0.tar.gz (277.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libstored-1.8.0-py3-none-any.whl (312.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: libstored-1.8.0.tar.gz
  • Upload date:
  • Size: 277.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for libstored-1.8.0.tar.gz
Algorithm Hash digest
SHA256 4b3d5e76fb5da255385951c2f3cfef285a5a895435b4fedc5a216effb87a4122
MD5 e61fb0d81d451c7dd02a0825ab1dd420
BLAKE2b-256 cf5189a5e75e92ff17a552cd201a99f8e15999e85c9909b9e0c61e2bab117fda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: libstored-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 312.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for libstored-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ced8620b87d6ae26a23f61d79dbb579a2bb5534dd34f314cafc6a01e427068d1
MD5 beaa1cbf4514ac1a8fcd540d0a9de41b
BLAKE2b-256 440c96db51b6e3d9921fa1a14d81d77ae89b4731a89f0f01d304da2cb3d1feab

See more details on using hashes here.

Supported by

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