Skip to content

Releases: Javier-varez/Postform

v0.5.0

28 Mar 08:25
Compare
Choose a tag to compare

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

01 Jun 22:00
Compare
Choose a tag to compare

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 build Postform for both armv7-m and armv6-m.
  • Partially fixed string interning on GCC. Support for user strings on GCC has been removed and the build warns the user.
  • Fixed build on clang-12. It has been tested with clang-10, clang-11 and clang-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 a UART logger and a RTT 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 a SerialLogger implementation. Automatically decodes the RCOBS 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 and macOS 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 the C_DEBUGEN bit in Cortex-M MCU's by default, making sure that other features like the Debug Monitor IRQ can be used in your program.
  • Expose an API to enable a concurrent GDB server along with the RTT connection for Postform.
  • 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 and macOS 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 and macOS support.

postform_serial changelog

  • Added new binary to parse the logs from a serial port.
  • Added Windows 10 and macOS support.

v0.3.0

08 Mar 19:44
Compare
Choose a tag to compare

Features:

  • Reduced template bloat.
  • Faster execution.
  • Smaller log memory footprint (using variable length integers)

v0.2.0

28 Feb 20:07
Compare
Choose a tag to compare
  • 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
  • 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. When postform-rtt detaches, it sets nonblocking mode again.

v0.1.0

28 Jan 22:27
Compare
Choose a tag to compare

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/