Releases: Javier-varez/Postform
Releases · Javier-varez/Postform
v0.5.0
libpostform
changelog
- Added support for
%c
format specifier just like in printf. - Fail build when using the user defined literal
_intern
in GCC as it is not supported. - Now the RTT logger must have the control block injected in order to allow for user flexibility (i.e.: to use other rtt channels and control their layout).
- Minor changes and improvements
postform_decoder
changelog
- Added support for
%c
format specifier just like in printf. - Minor changes and improvements
postform_rtt
changelog
- Added cli option
-d
to disable version check (Warning: only use if you are sure ABI is compatible between binary and host tool). - Added RTT channel selection.
- Fix: ensure reset vector jumps in Thumb mode.
- Minor changes and improvements
postform_persist
changelog
- Added cli option
-d
to disable version check (Warning: only use if you are sure ABI is compatible between binary and host tool). - Minor changes and improvements
postform_serial
changelog
- Added cli option
-d
to disable version check (Warning: only use if you are sure ABI is compatible between binary and host tool). - Minor changes and improvements
v0.4.0
libpostform
changelog
- Fix format validation for pointer types. Now
cv-qualified
pointer types should be accepted without any issues. - Added support for
armv6-m
targets with an external polyfill implementation of atomic operations. This should be valid for all targets as long as the memory is not shared with another processor. (Atomicity is implemented via critical sections, disabling interrupts). - Now
CMake
is supported as a build system for all C++ sources, including the test application. - Added
CMake
toolchain files to buildPostform
for botharmv7-m
andarmv6-m
. - Partially fixed string interning on
GCC
. Support for user strings onGCC
has been removed and the build warns the user. - Fixed build on
clang-12
. It has been tested withclang-10
,clang-11
andclang-12
. - Removed redundant element in the
Argument
structure, reducing the stack storage requirements for each log argument. - Added
SerialLogger
with support for a custom transport. This avoids having to reimplement RCOBS for every specific serial logger, potentially reusing this code for both aUART
logger and aRTT
logger.
postform_decoder
changelog
- Added
env-logger
for easier debugging of user applications based on the postform_decoder library. - Added
SerialDecoder
struct to decode logs sent with aSerialLogger
implementation. Automatically decodes theRCOBS
buffer and parses the log. - Moved some log printing functionality to
postform_decoder
to consolidate it across the multiple applications. Users can still decide to implement their own printing functions if they required customized visualization. - Added
Windows 10
andmacOS
support.
postform_rtt
changelog
- Fix a bug by which the program would not exit until another message is received after having pressed
<C-c>
. - Now
postform_rtt
disables theC_DEBUGEN
bit inCortex-M
MCU's by default, making sure that other features like theDebug Monitor IRQ
can be used in your program. - Expose an API to enable a concurrent
GDB
server along with theRTT
connection forPostform
. - Add a command-line option to select the
probe
. - Migrated decoder to use
RCOBS
, a version of Consistent Overhead Byte Stuffing that is more performant on the MCU side. - Added
Windows 10
andmacOS
support. - Increased timeout waiting for the MCU to reach main.
This version of postform_rtt
has not been published to Crates.io
because it depends on an unreleased version of probe-rs
If you want to install this release, please do it through the git repository with the following command:
cargo install --git https://github.com/Javier-varez/Postform --tag 0.4.0 postform_rtt
postform_persist
changelog
- No relevant changes. Main functionality remains the same.
- Added
Windows 10
andmacOS
support.
postform_serial
changelog
- Added new binary to parse the logs from a serial port.
- Added
Windows 10
andmacOS
support.
v0.3.0
Features:
- Reduced template bloat.
- Faster execution.
- Smaller log memory footprint (using variable length integers)
v0.2.0
- Added custom compile-time format validator.
- Added support for numerous format specifiers:
- Unsigned numbers:
%hhu
,%hu
,%u
,%lu
,%llu
- Signed numbers:
%hhd
,%hd
,%d
,%ld
,%lld
- Octal numbers:
%hho
,%ho
,%o
,%lo
,%llo
- Hex numbers:
%hhx
,%hx
,%x
,%lx
,%llx
- Pointers:
%p
- Interned strings:
%k
- strings:
%s
- Unsigned numbers:
- Improved error handling for postform-decoder and postform-rtt.
- New
postform-persist
binary to display persistent logs from a file. - Added support to build
postform
on the host computer. - Added support to attach to a running target through RTT.
- Logger code is now reentrant.
- Better version information in host code.
- Embedded version information into the target
ELF
file. - Verification of postform version when running postform decoder to ensure that the FW is compatible.
- Track platform sizes with custom
Postform::PlatformDescription
structure. Used by postform_decoder to appropriately decode the logs and derive argument size. - libpostform RTT now starts in nonblocking mode and it's set to blocking mode when
postform-rtt
attaches. Whenpostform-rtt
detaches, it sets nonblocking mode again.
v0.1.0
Initial Postform release.
New features:
- Support for efficient logging through RTT using COBS framing.
- Support for
%d
,%u
and%s
format specifiers.
https://crates.io/crates/postform_decoder/0.1.0
https://docs.rs/postform_decoder/0.1.0/postform_decoder/