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 theQT_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 connectlibstored.gui
orlibstored.cli
to.libstored.wrapper.serial
: likelibstored.wrapper.stdio
, but usingpyserial
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
tolibstored.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2602c23062a36c12fcd15c007621012a529330762930430e54458693f8f07c2 |
|
MD5 | 9e8a4190a8ec31e5dfeb1e1cf384b29c |
|
BLAKE2b-256 | 9fee1d592ffb2f0d46ff6107a6058a31614a06fc5313038c2405fb92facbbc87 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 725a127d167da622bcc25aa2778acfb1aa208d040967a3a79ddce1878afad093 |
|
MD5 | 1c3820dcd65b670a84d05b23a53ce77e |
|
BLAKE2b-256 | 8cc2021d349d298cb5d5d3ba71add527532dca40659cbdbde7a3e6633a421e27 |