5#include "platforms/isr.h"
11 return isr::platforms::attach_timer_handler(cfg, out_handle);
15 return isr::platforms::attach_external_handler(pin, cfg, out_handle);
19 return isr::platforms::detach_handler(h);
23 return isr::platforms::enable_handler(h);
27 return isr::platforms::disable_handler(h);
31 return isr::platforms::is_handler_enabled(h);
35 return isr::platforms::get_error_string(error_code);
39 return isr::platforms::get_platform_name();
43 return isr::platforms::get_max_timer_frequency();
47 return isr::platforms::get_min_timer_frequency();
51 return isr::platforms::get_max_priority();
55 return isr::platforms::requires_assembly_handler(priority);
ISR handler types and API declarations.
u32 get_max_timer_frequency()
Get the maximum timer frequency supported by this platform.
int detach_handler(handle &h)
Detach an ISR handler.
bool is_handler_enabled(const handle &h)
Query if an ISR is currently enabled.
int disable_handler(handle &h)
Disable an ISR temporarily (without detaching).
u32 get_min_timer_frequency()
Get the minimum timer frequency supported by this platform.
int enable_handler(handle &h)
Enable an ISR (after temporary disable).
int attach_timer_handler(const config &cfg, handle *out_handle)
Attach a timer-based ISR handler.
u8 get_max_priority()
Get the maximum priority level supported by this platform.
const char * get_error_string(int error_code)
Get platform-specific error description.
int attach_external_handler(u8 pin, const config &cfg, handle *out_handle)
Attach an external interrupt handler (GPIO-based).
const char * get_platform_name()
Get the platform name.
bool requires_assembly_handler(u8 priority)
Check if assembly is required for a given priority level.
Base definition for an LED controller.
Configuration for ISR attachment.
Opaque handle to an attached ISR.