Skip to content

Releases: darsor/PeakRDL-rust

v0.5.1

06 Jan 04:51
v0.5.1

Choose a tag to compare

PeakRDL-rust v0.5.1

Fixed

  • Byte and word endianness command line options are now respected

Full Changelog: v0.5.0...v0.5.1

v0.5.0

05 Jan 15:34
v0.5.0

Choose a tag to compare

PeakRDL-rust v0.5.0

Added

  • Command line option to override byte or word endianness
  • All command line options can now be specified in the peakrdl.toml configuration file

Changed

  • Accesses on Memory components now use the configured byte endianness
  • Generated type names don't case convert the normalization suffix (if present)

Full Changelog: v0.4.1...v0.5.0

v0.4.1

14 Dec 23:28
v0.4.1

Choose a tag to compare

PeakRDL-rust v0.4.1

Fixed

  • Use wrapping_byte_add instead of byte_add to avoid provenance/dangling pointer compile errors

Full Changelog: v0.4.0...v0.4.1

v0.4.0

27 Nov 19:07
v0.4.0

Choose a tag to compare

PeakRDL-rust v0.4.0

Added

  • Tests now treat pedantic clippy lints as errors
  • Derive common traits for MemEntry struct
  • Examples in sphinx documentation, including generated crate's cargo docs
  • Top-level nodes are publicly re-exported at the crate root

Changed

  • Refactored Memory trait to be consistent with no-owned-struct approach used by other component types
  • Components named mod (a rust keyword) are now escaped as mod_ instead of r#mod to avoid generating files named mod.rs
  • Rename memory component len() method to num_entries()
  • UnknownVariant<T> is now a public tuple struct
  • Handled all pedantic clippy lints

Removed

  • MemEntry struct methods width() and mask() (use width method on the Memory itself)

Fixed

  • Field getters were not pub in several instances

Full Changelog: v0.3.0...v0.4.0

v0.3.0

10 Nov 14:31
v0.3.0

Choose a tag to compare

PeakRDL-rust v0.3.0

Added

  • Memories now have an access attribute to restrict reads/writes for write-only and read-only memories

Changed

  • Little-endian accesses follow industry standards rather than SystemRDL spec (see the errata)
  • Getters for enum-encoded fields return a Result instead of an Option, with the error variant containing the unknown field value.
  • Getters for enum-encoded fields unwrap the returned Result if every bit pattern is represented
  • Register methods for getting and setting fields are no longer const
  • Debug impl for registers no longer prints the values of write-only fields

Fixed

  • Several instances of improper or missing rust keyword escaping
  • Enum-encoded field bits() method returned u8 instead of the field's primitive type

Full Changelog: v0.2.2...v0.3.0

v0.2.2

16 Oct 03:13
v0.2.2

Choose a tag to compare

PeakRDL-rust v0.2.2

Fixed

  • Fixed-point setter was generated for all fields, even if not writeable

Full Changelog: v0.2.1...v0.2.2

v0.2.1

11 Oct 14:37
v0.2.1

Choose a tag to compare

PeakRDL-rust v0.2.1

Added

  • Project backlinks for PyPI (#1, #2)
  • Tests for Python 3.14

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

11 Oct 04:21
v0.2.0

Choose a tag to compare

PeakRDL-rust v0.2.0

Added

  • Support for is_signed, intwidth, and fracwidth UDPs
  • Coveralls test coverage reporting

Full Changelog: v0.1.0...v0.2.0

v0.1.0

28 Sep 14:32
v0.1.0

Choose a tag to compare

PeakRDL-rust v0.1.0

Initial release

Full Changelog: https://github.com/darsor/PeakRDL-rust/commits/v0.1.0