Skip to content

Releases: flipperzero-rs/flipperzero

v0.13.0

15 Nov 06:07
Compare
Choose a tag to compare

Added

  • flipperzero::dialogs::DialogFileBrowserOptions
  • flipperzero::furi::kernel module exposing most furi_kernel_* APIs
  • as_ticks() method to flipperzero::furi::time::Duration
  • flipperzero::furi::thread::sleep_ticks function to sleep for exact duration
  • TryFrom<core::time::Duration> for flipperzero::furi::time::Duration
  • sys::furi::Error as error type for Kernel operations.

Changed

  • Updated to SDK 78 (firmware 1.1.2)
  • flipperzero::dialogs::DialogFileBrowserOptions now uses native initialization function.
  • flipperzero::time::Duration::MAX is now the maximum duration representable.
  • sys::furi::Status::err_or_else has been replaced by sys::furi::Status::into_result.

Removed

  • flipperzero::furi::duration_to_ticks in favour of TryFrom traits

New Contributors

  • @cptpiepmatz made their first contribution in #177 providing a set of safe abstractions (with excellent documentation) for FuriStreamBuffer. πŸŽ‰

Full Changelog: v0.12.0...v0.13.0

0.12.0

12 Sep 19:37
2b1c52b
Compare
Choose a tag to compare

Added

  • flipperzero::gpio::i2c, providing a Rust interface to the external 3.3V I2C
    bus over GPIO pins C0 and C1, as well as the internal (power) I2C bus.
  • flipperzero::furi::string::FuriString::into_raw, allowing ownership
    of the string to be able to be handed over to C code.

Changed

  • Updated to SDK 73 (firmware 1.0.1πŸ₯³).
  • Switched to nightly-2024-09-10 compiler
  • flipperzero_rt::entry macro now requires a function with type signature
    fn(Option<&CStr>) -> i32 instead of fn(*mut u8) -> i32.
  • flipperzero::furi::string::FuriString::as_mut_ptr is now public to allow for
    it to be used with low-level C APIs (e.g. furi_string_printf).

Removed

  • flipperzero::toolbox::{Md5, Sha256} (due to their removal from the Flipper
    Zero SDK API).
  • flipperzero_sys::c_string!, since CStr literals are stable now
    and the macro did not provide any validations.

0.11.0

31 Aug 05:52
Compare
Choose a tag to compare

See flipperzero v0.11.0 on crates.io.

Added

  • flipperzero::furi::time::{Duration, Instant} implementations
  • impl Default for flipperzero::dialogs::DialogMessage
  • impl Default for flipperzero::toolbox::Crc32
  • Support for generating .fast.rel sections so binaries load faster

Changed

  • Migrated to SDK API 35.0 (firmware 0.89.0).
  • flipperzero_test::tests now allows #[cfg(..)] attributes on test methods.

Documentation

  • Feature flags are now documented and the items guarded by them are now annotated.

Acknowledgements

Big shout out to @str4d and @JarvisCraft for a bunch of work right across the board. Everything from new features, to documentation/tooling improvements and for being highly active in code reviewing PRs.

Thanks to @agarof for their fixes to the GPIO example and making sure the docs build event when the alloc feature is disabled.

Thanks to @mogenson for implementing a wrapper for the file browser dialog.

Full list of changes can be found here: v0.10.0..v0.11.0