~ruther/avr-device

ref: 0e19ff0d1b23bf60d8355f9cced64f9ab20f0f0b avr-device/CHANGELOG.md -rw-r--r-- 6.9 KiB
0e19ff0d — Rahix Prepare 0.4.0 2 years ago

#Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

#Unreleased

#0.4.0 - 2022-09-08

#Added

  • Support for ATmega164PA (#101).
  • Added a new, safer, API for manually managing interrupts (#104).

#Changed

  • Fixed timer registers for ATtiny167 (#102).
  • Improved codegen of the interrupt management functions (#104).
  • Updated to bare-metal version 1.0.0. This changes the interrupt::free() function slightly. Please check the docs for details (#108).

#Removed

  • Support for very old rustc versions which need llvm_asm!() (#106, #109).

#0.3.4 - 2022-06-23

#Added

  • Support for ATtiny13A (#100).

#Changed

  • Fixed timer registers for ATmega1280 (#99).

#0.3.3 - 2022-05-10

#Added

  • Support for ATtiny1614 (#90).
  • Support for ATmega128RFA1 (#93).
  • Support for ATmega1284P (#94).

#Fixed

  • avr-device now compiles with newer rustc versions (> 1.59) where the llvm_asm!() macro was removed in favor of asm!() (#97).

#0.3.2 - 2021-10-15

#Added

  • Support for ATtiny202 (#82).
  • Support for ATtiny167 (#84).
  • Support for ATtiny2313 and ATtiny2313A (#85).
#Changed
  • Upgraded to svd2rust version 0.19 (#86). Please check the upstream changelog for details about what changes this has lead to.
  • interrupt::disable() now returns a boolean, indicating whether interrupts were previously enabled (#89).

#Fixed

  • Fixed enumerated values for TWAA field in ATtiny841 (c0db0422b9ca).

#0.3.1 - 2021-06-29

#Added

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

#0.3.0 - 2021-02-07

#Added

  • Support for ATmega4809 (#63).
  • Support for ATtiny841 and ATtiny861 (#67).

#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).
  • Switched to using the svd interrupts command for extracting a list of interrupts instead of parsing generated rust source files for this (#69).

#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).
  • Fixed the PRR, PRR0, and PRR1 registers for ATmega328P and ATmega328PB wrongly being read-only (#73, #74)

#0.2.3 - 2020-10-19

#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 - 2020-08-20

#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 - 2020-08-07

#Fixed

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

#0.2.0 - 2020-08-07

#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.

#0.1.1 - 2020-07-31

#Added

  • Support for ATmega2560.

#Changed

  • Patches for AVR timer/counter peripherals in ATmega2560, ATmega328P, ATmega32U4, ATtiny85.

#0.1.0 - 2020-07-26

Initial release with support for ATmega1280, ATmega328P, ATmega32U4, ATmega64, ATmega8, ATtiny85.

Do not follow this link