Skip to content

Releases: rust-embedded/svd2rust

v0.28.0

25 Dec 16:33
27eebb4
Compare
Choose a tag to compare
  • Generate atomic register code for non-MSP430 targets
  • Change --nightly flag to --atomics
  • Add handling for disjoint register arrays and validation of derives

v0.27.2

06 Nov 09:46
4eb24b1
Compare
Choose a tag to compare
  • mark alternate register accessors with const, bump pac MSRV to 1.61
  • fields fn refactoring
  • Test patched STM32
  • simplify ci strategy
  • Fix generated code for MSP430 atomics

v0.27.1

25 Oct 17:15
5e50d6b
Compare
Choose a tag to compare
  • fix cli error with --help/version
  • Don't cast fields with width 17-31 and non-zero offset.

v0.27.0

24 Oct 16:31
126603c
Compare
Choose a tag to compare
  • Manually inline set/clear_bit
  • Don't cast fields with width 17-31
  • Make generic.rs generic
  • [breaking-change] Change initial write value for registers with modifiedWriteValues
  • Update clap to 4.0, use irx-config instead of clap_conf
  • Add #[must_use] to prevent hanging field writers
  • Remove explicit deref in generic.rs since it's done by auto-deref
  • [breaking-change] Make writing raw bits to a whole register safe if the SVD indicates
    so through the element (see [v0.7.1] too).
  • Remove lint #![deny(const_err)] as it is a hard error in Rust now
  • Add doc of using critical-section

v0.26.0

07 Oct 18:49
2d79969
Compare
Choose a tag to compare
  • Use edition 2021
  • Fix adding ending reserved field when max_cluster_size option enabled
  • Add Eq autoimplementation for enums
  • Use critical_section::with instead of interrupt::free for Peripherals::take.
  • Bring documentation on how to generate MSP430 PACs up to date (in line with
    msp430_svd).
  • Prefix submodule path with self:: when reexporting submodules to avoid ambiguity in crate path.

v0.25.1

22 Aug 19:23
a39a61d
Compare
Choose a tag to compare
  • Fixed parentheses in RegisterBlock field accessors
  • Check cluster size, add max_cluster_size option

v0.25.0

02 Aug 17:36
db301c5
Compare
Choose a tag to compare
  • Add feature_peripheral option which generates cfg features for each peripheral
  • Use register aliases in RegisterBlock (both structure and mod)
  • Create aliases for derived registers & clusters
  • Move cluster struct inside mod
  • Support non-sequential field arrays
  • Use inlined variables in format! (Rust 1.58)
  • Refactor, clean periperal.rs & util.rs
  • use svd_parser::expand::Index for derive
  • Generated enum names now consider name field in enumeratedValues
  • Use constant case for structure names; internal rearrangements for
    case conversation traits
  • Add new feature feature_group which will generate cfg attribute for
    every group name when it is on
  • Sort fields by offset before process
  • Updated docs for write / modify

v0.24.1

04 Jul 18:19
9681ec6
Compare
Choose a tag to compare
  • Make field writer always generic around bit offset (fix bug #620)
  • Make binary dependencies optional
  • Make JSON and YAML formats optional
  • Bump MSRV to 1.60

Prereleased 2024-11-13

07 Jul 06:02
e4b6ba3
Compare
Choose a tag to compare
Pre-release
  • Add crate_path setting
  • Inline Settings into Config, add settings_file
  • Fix MSP430 PAC inner attribute generation when used with the -m switch.

v0.23.1

29 Apr 15:50
cf104f2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.23.0...v0.23.1