Releases: RusPiRo/ruspiro-interrupt
Release v0.5.0
Release Notes
🐭 v0.5.0
-
🔧 Maintenance
Clean out feature names:
pi3
: is now the feature to use the Raspberry Pi3 peripheral addressespi4_low
: use the Raspberry Pi4 Low-Peri mode peripheral addressespi4_high
: use the Raspberry Pi4 High-Peri mode peripheral addresses
Adjust the minimal
nightly
version the crate compiles with and also setedition=2021
in theCargo.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
settingarm_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
Release Notes
Release v0.4.2
Release Notes
Release v0.4.1
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
Release Notes
🍌 v0.4.0
-
💡 Features
List the features that were added with this release.
v0.3.1
Release Notes
🕵️ Fixes
- remove
asm!
macro usages and replace withllvm_asm!
- use
cargo make
to stabilize cross-platform builds
Enable aarch64 build target architecture
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
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
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
Release notes
This version provides the initial functions to conveniently implement interrupt handler for Raspberry Pi interrupts.