Skip to content

Releases: RusPiRo/ruspiro-interrupt

Release v0.5.0

26 Nov 20:33
f25db07
Compare
Choose a tag to compare

Release Notes

🐭 v0.5.0

  • 🔧 Maintenance

    Clean out feature names:

    • pi3: is now the feature to use the Raspberry Pi3 peripheral addresses
    • pi4_low: use the Raspberry Pi4 Low-Peri mode peripheral addresses
    • pi4_high: use the Raspberry Pi4 High-Peri mode peripheral addresses

    Adjust the minimal nightly version the crate compiles with and also set edition=2021 in the Cargo.toml

  • 💡 Features

    Adding support for Raspberry Pi4 interrupt handling using the legacy interrupt controller. The RPi4 support comes in two flavours. Use it with high-peri or low-peri mode. The config.txt setting arm_peri_high= controls this mode and need to be in sync with the active feature flag used while compiling this this crate if used in a Raspberry Pi4 kernel.

🐶 v0.4.2

  • 🔧 Maintenance

    Some minor cleanup has been done. The major addition is to provide a minimal example of how the crate is intended to be used to implement an interrupt handler based on the ARM system timer.

🐱 v0.4.1

  • 💡 Features

    Rework the interrupt crate to support sync and async interrupt processing. Each interrupt handler implementation will recieve a Sender of a specific channel that may have been passed to the interrupt handling while activating a specific interrupt. The signature of a interrupt handling function will thus now look like:

    #[IrqHandler(Foo)]
    fn foo_handler(tx: Option<IsrSender<Box<dyn Any>>>) { }

Release v0.4.3

28 Apr 18:07
471b110
Compare
Choose a tag to compare

Release Notes

Release v0.4.2

18 Apr 07:56
95f33bb
Compare
Choose a tag to compare

Release Notes

Release v0.4.1

06 Feb 22:15
961db36
Compare
Choose a tag to compare

Release Notes

🐱 v0.4.1

  • 💡 Features

    Rework the interrupt crate to support sync and async interrupt processing. Each interrupt handler implementation will recieve a Sender of a specific channel that may have been passed to the interrupt handling while activating a specific interrupt. The signature of a interrupt handling function will thus now look like:

    #[IrqHandler(Foo)]
    fn foo_handler(tx: Option<IsrSender<Box<dyn Any>>>) { }

Release v0.4.0

06 Feb 21:49
5b02ef5
Compare
Choose a tag to compare

Release Notes

🍌 v0.4.0

  • 💡 Features

    List the features that were added with this release.

v0.3.1

11 Sep 22:22
Compare
Choose a tag to compare

Release Notes

🕵️ Fixes

  • remove asm! macro usages and replace with llvm_asm!
  • use cargo make to stabilize cross-platform builds

Enable aarch64 build target architecture

13 Dec 19:07
175e8c8
Compare
Choose a tag to compare

Release Notes

  • Enable interrupt handling to be built for aarch64 build targets
  • Harmonize aarch64 and aarch32 interrupt handling implementation

Split Core functions into separate crate

27 Aug 13:31
db5e1a6
Compare
Choose a tag to compare

Release Notes

The core functions, like globally enable/disable the interrupt triggers are split into another crate ruspiro-interrupt-core to prevent circular dependencies in the lock and singleton crate as they need to be able to disable and re-enable interrupts but don't need the "handling" functionality to implement interrupt handler (this part depends on Singleton on it's own --> causing circular dependencies)

RusPiRo Interrupt handler for sharing lines

15 Aug 08:33
5a9701e
Compare
Choose a tag to compare

Release notes

The custom attribute to implement an interrupt handler now supports the shared Irq-Line Aux to specify which interrupt shall be handled (Uart1, Spi1 or Spi2).

For this the attribute format is enhanced like this:
#[IrqHandler(Aux, Uart1)]
Specify the IRQ source along with the IRQ type. Whether a source is available is checked during compile time.

Initial RusPiRo interrupt handler crate

09 Aug 19:52
4cc60d7
Compare
Choose a tag to compare

Release notes

This version provides the initial functions to conveniently implement interrupt handler for Raspberry Pi interrupts.