Skip to content

v0.6.0

Compare
Choose a tag to compare
@jonas-schievink jonas-schievink released this 05 Sep 20:49
· 30 commits to master since this release

New Features

  • Add CanConfig::set_automatic_retransmit function to enable or disable automatic frame retransmission (#42).
  • [breaking change] Remove transmit_and_get_mailbox in favor of an improved transmit method (#40).
    • Can::transmit now returns a TransmitStatus struct, which contains the dequeued frame and
      the mailbox the new frame was placed into.
  • [breaking change] Make CanConfig harder to misuse (#37):
    • Methods now take self by value.
    • The CanConfig struct is now #[must_use].
    • CanConfig leaves init mode on drop, and enables the peripheral when .enable() is called.
    • These changes make it very hard to forget to enable the peripheral after configuring, which was
      a common mistake in previous versions.
  • [breaking change] Replace Can::new with Can::builder, which makes it harder to forget enabling the peripheral (#46).

Other Changes

  • [breaking change] Make Can::clear_sleep_interrupt and Can::clear_wakeup_interrupt take &self instead of &mut self.
  • [breaking change] Gate embedded_can impls behind the embedded-can-03 Cargo feature.
  • [breaking change] Gate defmt support behind the defmt Cargo feature.
  • [breaking change] Removed Can::configure in favor of Can::modify_config (#36).