Skip to content

Latest commit

 

History

History
434 lines (325 loc) · 15.1 KB

CHANGELOG.md

File metadata and controls

434 lines (325 loc) · 15.1 KB

Changelog

Unreleased

(no changes)

Breaking changes

  • Updated nrf-usbd to 0.3.0. (#460)

New features

  • Added support for nRF52805 (#422).
  • Added implementation of RTIC Monotonic for RTC and TIMER, behind new rtic-monotonic feature (#427).

New features

  • Implemented embedded-hal 1.0 I2c trait for Twi and Twim (#440).

New features

  • Added support for embedded-hal 1.0 traits. embedded-hal 0.2 traits are retained for now, behind the embedded-hal-02 feature (#431, #435, #436). Some new intrinsic methods were also added to allow usage of features which aren't part of the embedded-hal 1.0 traits.

New features

  • Added is_done method to i2s::Transfer (#412, #413)
  • Added support for configuring GPIO output drive level (#424)

Enhancements

  • Fixed README links for nrf5340-app-hal and nrf9160-hal (#409)
  • Documentation improvements (#425, #417, #394)
  • Cleanup to TWIM demo (#421)

New Features

  • Enable all SPIM and UARTE interfaces on the nRF9160 (#391).
  • Add a reset_event method to Timer (#390).
  • Add a free method to Saadc (#389).
  • Add OpenDrainIO pin state for bidirectional open drain GPIOs (#401 #402).

Enhancements

  • Make SCK pin optional for Spi and Spim APIs (#400 #406).
  • Update PACs and nrf-usbd to the newest version (#404).

Fixes

  • Fix pin connection checks in free methods (#397 #407).

New Features

  • Support the nRF5340 Net Core (#386).
  • Add internal VDD channels for the nRF51 ADC (#382).
  • Implement MultiWriteNorFlash for the nRF9160 (#383).

Fixes

  • Fixed the nvmc erase procedure on nRF91 & nRF53 (#387).
  • Fixed TWIM overruns being reported as DataNack errors (#386).

New Features

  • Implement MultiwriteNorFlash for nRF52 boards that support it (#373).
  • Enable GPIOTE module for nRF9160 (#376).

Enhancements

  • Unified how pins are are returned in free calls (#372).
  • Improvements to the NVMC driver (#374).
  • Updated embedded-dma, embedded-storage, and PACs (#379).

New Features

  • Add From impl to degrade pins more easily (#364).
  • Support the nRF5340 Application Core with the new nrf5340-app-hal crate (#366).

Fixes

  • Fix panic in ieee802154 module introduced in 0.14.0 (#369).

New Features

  • Implement embedded_hal::serial traits for UARTE (#343).

Enhancements

  • Update PACs and other dependencies (#357).

Fixes

  • IEEE 802.15.4: automatically disable radio after transmission (#356).

New Features

  • USB support (#295).
  • Added Pwm::{swap_output_pin, clear_output_pin} to allow for more flexible PWM pin management (#335).
  • Added an API for the NVMC peripheral (#337).

Enhancements

  • [breaking change] Update rand_core and cortex-m dependencies (#332).
  • Make the deprecated SPI peripheral available on all nRF52 chips (#344).

Fixes

  • Fix TWIS transfer is_done() always returns true (#329).
  • Fix mistake in SPIS Transfer is_done to borrow inner (#330).
  • Fix I2S frequency mapping (#333).
  • [breaking change] Make Pwm::set_output_pin take the pin by-value to fix its soundness (#335).

New Features

  • Enable PWM for the nRF9160 and nRF52832 (#311 #318).

Enhancements

  • Add a testsuite for the HAL (#291).
  • Document that ieee802154::Radio::recv_timeout writes the received data to packet (#307).
  • Update nRF9160 HAL with latest memory map (#321).
  • Add a simple UART example (#317).
  • Add readme documentation for demos (#246).
  • Link README.md into all sub-crates so they show up on crates.io (#322).
  • Enhance the RTC example with an interrupt (#324).

Fixes

  • Fix spelling errors and RTIC name (#308).
  • ieee802154: mark start_recv as unsafe (#312).
  • Fix PWM EasyDMA max length (#313).
  • Fix EasyDMA max size (#315).
  • Work around erratum when enabling UARTE on nRF9160 (#319).

New Features

  • nRF9160: Add support for TWIM1-3 (#273).
  • nRF9160: Add support for WDT (#283).
  • PPI: Add clear_fork_task_endpoint (#282).
  • Refactor Pin Selection, add Pin::from_psel_bits and Pin::psel_bits (#285).
  • SAADC: Support internal vddhdiv5 channel (#297).
  • Add an IEEE 802.15.4 radio API (#143 #299).

Enhancements

  • Explain what "sealing" a trait means (#271).
  • Update cfg-if to 1.0 (#286).

Fixes

  • Fix TWIM pin selection for nRF52833 (#274).
  • Return correct error code in UARTE start_read (#280).
  • Fix en-/disabling GPIOTE interrupts for channels (#278).
  • UARTE: Check rx buf against EASY_DMA_SIZE (#284).
  • SAADC: Clear events_calibratedone before calibration (#298).

New Features

  • Derive more traits for gpio::{Level, Port} (#185).
  • COMP module (#189).
  • QDEC module (#188).
  • LPCOMP module (#195).
  • TWIS module (#196 #230).
  • PWM module (#200 #231).
  • I2S module (#201 #209 #225 #237).
  • SPIS module (#226 #236).
  • Add support for the nRF52811 (#227).
  • Add PPI channel group tasks (#212).
  • Add PPI endpoints for timers (#239).
  • Allow disabling and reenabling the TWIM instance (#266).

Enhancements

  • Improve SAADC docs (#218).
  • Update Embed.toml of all examples to new defaults (#229).
  • Make ConfigurablePpi and subtrait of Ppi (#244).

Fixes

  • Refuse to build nRF52+ HALs for thumbv6m targets (#203).
  • Refuse to build nrf52810-hal for hard-float targets, and nrf51-hal for thumbv7+ targets (#206).
  • Set the correct Port in GPIOTE (#217 #248).
  • Correct TWIM port initialization for P1 pins (#221).
  • Fix race condition in RTC event handling (#243).

Breaking Changes

  • Remove Spi::read in favor of transfer_split_uneven (#190).
  • Make GPIOs start in a Disconnected state instead of Input<Floating> (#220 #245).
  • Seal¹ the timer::Instance trait (#214).
  • Seal¹ all Instance traits (#255).
  • Seal¹ PPI traits (#259).
  • Various TWIM fixes and improvements - removes automatic transfer splitting (#242).
  • Remove typestate from RTC to make it easier to use (#252).
  • Also return owned Pins from Usart::free() (#261).

¹ A trait can be sealed by making a private trait a supertrait. That way, no downstream crates can implement it (since they can't name the supertrait). This is just to make sure the trait isn't implemented by types that shouldn't implement it.

Internal Improvements

  • Utilize cargo-xtask to simplify CI and the release process (#207 #210).
  • Add conf() utility function to reduce code duplication in GPIO (#250).

New Features

  • Add support for the Watchdog Timer peripheral (#175).
  • Support VDD source for the ADC (#181).

Fixes

  • Renamed RTFM examples to RTIC examples (#183).
  • Updated comment style (#180).

Breaking Changes

None

New Features

  • Add support for Nordic nRF52833 (#148).
  • Add a driver for the AES-ECB peripheral (#145).
  • Add a driver for the AES-CCM peripheral (#154).
  • Add PPI support and example (#162).
  • Add methods for task clear and trigger overflow to the RTC (#168).
  • Add a driver for the GPIOTE peripheral (#167).

Fixes

  • Fix incorrect logic in transfer_split_uneven (#159).
  • Twim: Implicitly copy buffer into RAM if needed when using embedded hal traits (#165).
  • Fix Twim hangs on address NACK (#166).

Breaking Changes

  • Made GPIO pin fields private and reduced their memory footprint (#155).
  • Stop reexporting the PAC under target (#172).