No changes.
- Mask out all reserved bits in
set_bit_timing
before writing the register.
- Update the embedded hal dependency to use the new embedded-can crate instead.
- [breaking change] Add support for using the second RX FIFO.
- The
Rx
type has been renamed toRx0
, and anRx1
type has been introduced that accesses the second FIFO. enable_bank
now takes theFifo
the filter should be assigned to as an additional argument.
- The
- Implement the
embedded-hal
0.2.7 CAN traits.
- [breaking change] Removed the
embedded-can-03
feature as theembedded-can
crate is deprecated. - [breaking change] Use a new
OverrunError
type as the receive error instead of()
.
- Enter initialization mode when constructing a
CanBuilder
(#49).
- Updated to defmt 0.3.0 (#47).
- 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 improvedtransmit
method (#40).Can::transmit
now returns aTransmitStatus
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.
- Methods now take
- [breaking change] Replace
Can::new
withCan::builder
, which makes it harder to forget enabling the peripheral (#46).
- [breaking change] Make
Can::clear_sleep_interrupt
andCan::clear_wakeup_interrupt
take&self
instead of&mut self
. - [breaking change] Gate
embedded_can
impls behind theembedded-can-03
Cargo feature. - [breaking change] Gate defmt support behind the
defmt
Cargo feature. - [breaking change] Removed
Can::configure
in favor ofCan::modify_config
(#36).
- Add transmit function that returns the mailbox number, and transmit abort function (#25).
- Add more methods to acknowledge interrupts (#30).
- Add
Can::free
, a way to get back ownership of the raw peripheral (#33).
- The
Can::enable_interrupt
andCan::disable_interrupt
functions now manipulate the correct bits in the interrupt enable register (#29).
- Improve documentation of interrupts (#30).
- Update to defmt 0.2.0 (#17).
- Wait for SLAK and INAK bits when changing mode (#8).
- Clarify comments for the
transmit()
method (#9).
- Configurable mask for masked filters.
- Implement the
embedded-can
traits.
- Changes to masked filters required some breaking API changes.
- Fix a panic when aborting transmission of a lower-priority frame.
- Fix comparison when checking for a lower-priority mailbox.
- Add
Can::is_transmitter_idle
.
- Update
SlaveFilters::enable_bank
to also takeimpl Into<T>
.
- Add associated constants for highest/lowest CAN IDs.
- Update bank count when changing filter bank split.
- Fix filter bank logic and document the expected behavior.
- Fix filter accesses for the slave peripheral.
- Fix DLC range check in
Frame::new_remote
. - Fix
PartialEq
implementation ofFrame
.
- Change some APIs to accept
impl Into<T>
arguments to improve ergonomics. - Rename some filter methods to clarify their meaning.
- Remove
MasterInstance::Slave
associated type.
Initial release.