Skip to content

Releases: rust-embedded/svd2rust

v0.30.0

19 Aug 05:43
8dd361f
Compare
Choose a tag to compare
  • Add aarch64 target for releases, more readme badges
  • Fix when atomics features is generated but not enabled
  • move hidden structs into module, add register reader/writer links into SPEC docs (#736)
  • removed register writer & reader wrappers, generic REG in field writers (#731)
  • Updated syn to version 2 (#732)
  • Let readable field fetch doc from svd description (#734)
  • Add steal() for each peripheral

v0.29.0

05 Jun 06:55
615f093
Compare
Choose a tag to compare
  • FieldFpec instead or fty generic (#722)
  • print error on ci curl request fail (#725)
  • removed rty generic in FieldWriter (#721)
  • bool and u8 as default generics for BitReader/Writer and FieldReader/Writer (#720)
  • Bump MSRV to 1.65 (#711)
  • Optimize case change/sanitize (#715)
  • Fix dangling implicit derives (#703)
  • Fix escaping <> and & characters in doc attributes (#711)
  • Add interrupt_link_section config parameter for controlling the #[link_section = "..."] attribute of __INTERRUPTS (#718)
  • Add option to implement Debug for readable registers (#716)
  • Add atomics-feature (#729)

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