Skip to content

Releases: Rahix/avr-device

Version 0.3.1

29 Jun 16:11
v0.3.1
46eebb9
Compare
Choose a tag to compare

Added

  • Support for ATmega8U2 (#77 by @drmorr0).
  • Support for AT90USB1286 (#80 by @khimaros).
  • Convert static muts into &mut references inside #[entry] and interrupt handlers. This behavior mirrors what cortex-m-rt does (#79 by @tones111).

0.3.0

07 Feb 12:51
v0.3.0
cda2bcb
Compare
Choose a tag to compare

Added

Changed

  • BREAKING: Updated the enumerated values for the SPI clock prescaler field (#64).
  • BREAKING: Split the EIMSK register fields into per-bit fields on ATmega328P and ATmega328PB (#74 by @gpgreen).
  • Switched to using the svd interrupts command for extracting a list of interrupts instead of parsing generated rust source files for this (#69 by @explicite).

Fixed

  • ATmega64: Fixed wrong field size for UMSELn fields in USART peripherals (#64).
  • (via atdf2svd v0.2.0): Removed invalid enumerated values from all fields.
  • Fixed an error in the 16-bit timer documentation (#67 by @jaxter184).
  • Fixed the PRR, PRR0, and PRR1 registers for ATmega328P and ATmega328PB wrongly being read-only (#73, #74 by @gpgreen)

0.2.3

24 Oct 18:13
v0.2.3
fc98f48
Compare
Choose a tag to compare

Added

  • Support for ATmega644
  • Support for ATmega328PB

Changed

  • Rewired svd-patching infrastructure to use upstream svdtools instead of the locally vendored script.

Fixed

  • Made ADCSRA for ATtiny84 read-write.
  • Made TIFR registers for ATmega timers read-write.

0.2.2

24 Oct 18:13
v0.2.2
054bfdb
Compare
Choose a tag to compare

Added

  • Support for ATmega168
  • Support for ATmega48P
  • Support for ATtiny84

Changed

  • #[entry] causes a (readable) compile-error when attempting to build for non-AVR targets.
  • PINx registers are now writeable, which enables efficient toggling of bits in the corresponding PORTx register.

Fixed

  • inline-assembly is now only emitted when building for AVR targets to prevent weird compiler errors where AVR instructions are emitted on e.g. x86_64.
  • Fixed an issue in the build-system in preparation for the next svd2rust release.

0.2.1

24 Oct 18:14
v0.2.1
ce2d815
Compare
Choose a tag to compare

Fixed

  • Fixed interrupt::free() not working as advertised, because a wrong address was read.

0.2.0

24 Oct 18:15
v0.2.0
ab1f136
Compare
Choose a tag to compare

Added

  • Support for ATtiny88.
  • An asm module with wrapper functions for various assembly instructions.

Changed

  • Various patches for ATtiny85, fixing up a lot of the remaining inconsistencies.
  • interrupt::enable() is now unsafe, as it would otherwise be possible to enable interrupts safely inside a critical section.