All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Implement
ArqLayer
in VHDL. - Added connected event to all protocol layers.
examples/9_fpga
now implements a full protocol stack over a potentially lossy channel.- Improved handling reconnection of protocol layers.
- Use
ZMQ_DEALER
instead ofZMQ_PAIR
forSyncZmqLayer
to fix stability issues over IPC and other possibly non-stable connections. - A bug that ignored
o_commit
signal onlibstored_pkg.libstored_fifo
.
1.7.1 - 2024-02-28
- Implement
NamedPipeLayer
andDoublePipeLayer
for Linux. - Allow running
examples/9_fpga
on Linux. - CRC8, CRC16, Segmentation protocol layers in VHDL. ArqLayer is still missing.
- Brake dependency on
heatshrink2
Python package by providing a pure-python heatshrink decoder. - Bump ZeroMQ to 4.3.5 when building from source, fixing GCC 13 support.
- Workaround for segfault in XSIM.
1.7.0 - 2023-11-17
- Produce SBOM for generated store libraries.
- Make libstored REUSE compliant.
1.6.0 - 2023-09-13
libstored.cmake
, with generator to pylibstored. Instead of cloning the libstored repo, runningpip install libstored
contains everything to generate a store. See alsoexamples/int_pip
.
- ASan checks on the correct usage of entry/exit RO/X of stores.
- Improved Synchronizer performance.
- Made buffer size configurable for FileLayer and StdioLayer.
- Fix baud rate setting and break generation in stored::SerialLayer for Linux.
- Fix encode queue size computation of stored::ArqLayer.
- Improve stability of Debugger/Synchronizer protocol handling of bogus messages.
1.5.0 - 2023-07-07
- Python
libstored.log
command line logging tool to easily generate a CSV file with samples.
- Get a compile error when a store class does provide the implementation of all functions, and provide a store wrapper to add default function implementations.
- Check against recursive entry/exit RO/X locks per store.
- Replaced deprecated
setup.py
and removed deprecateded2
package. - Improved support to
include(libstored)
in your CMake project.
1.4.0 - 2023-04-06
- First-order high-pass filter.
- Pipes, to process data using functional composition.
- A Signal class (with Signalling store wrapper) to call functions when the signal is triggered (or a store variable is changed).
- Properly calling hooks by the Synchronizer.
- Minor issues with pylibstored.
1.3.1 - 2022-10-21
- PySide6 6.4.0 support in changed
enum
handling. However, the same issue exists in matplotlib (issue #24155). To get plotting working again, matplotlib>=3.6.2 or PySide6<6.4.0 is required.
1.3.0 - 2022-10-20
- Maximum error for PID.
- Stream visualization in the Embedded Debugger.
- Switch license to MPLv2.
- Fix in computing
stored::Ramp
acceleration and speed. - Fix in compressed Debugger streams upon internal buffer overflow.
- Handle unaligned memory access properly in store objects.
1.2.0 - 2022-03-28
- Add QObject/QML wrapper for stores to access a store directly in QML.
- Generate store variable changed callbacks.
- Allow string variables to be initialized.
- Generate store meta data in
doc/<store>Meta.py
- Replaced
UNUSED_PAR
by a more portableUNUSED
macro.
- Improved QtCreator integration, such as store code-completion
- Fix support for disabling RTTI
- Fix support for disabling exceptions
1.1.0 - 2022-01-07
- Add support for ninja, and default to it in build scripts.
- Use
matplotlib
for plotting signals bylibstored.gui
.
- Migrate pylibstored from PySide2 to PySide6.
- Restructure
scripts
directory intodist
. - Replace poller API.
libstored_lib
andlibstored_generate
now take keyword-based parameters, but old (positional) interface is still supported.- Improve Zth integration for fiber-aware polling.
- Drop Ubuntu 18.04 support. PySide6 requires Ubuntu 20.04 or later.
1.0.0 - 2021-08-25
Initial version.
- Store generator for C++ and VHDL
- C++ library to access the store in your application
- VHDL entities to setup synchronization between VHDL and a C++ store
- python library with the Embedded Debugger protocol to connect to an application
- A presentation
- Examples
- (Unit) tests
- Some documentation