ISR priority and flag constants.
u32 get_min_timer_frequency() FL_NO_EXCEPT
Get the minimum timer frequency supported by this platform.
void(* handler_fn)(void *user_data)
ISR handler function signature.
bool is_handler_enabled(const handle &h) FL_NO_EXCEPT
Query if an ISR is currently enabled.
u32 get_max_timer_frequency() FL_NO_EXCEPT
Get the maximum timer frequency supported by this platform.
u8 get_max_priority() FL_NO_EXCEPT
Get the maximum priority level supported by this platform.
bool requires_assembly_handler(u8 priority) FL_NO_EXCEPT
Check if assembly is required for a given priority level.
const char * get_error_string(int error_code) FL_NO_EXCEPT
Get platform-specific error description.
int disable_handler(handle &h) FL_NO_EXCEPT
Disable an ISR temporarily (without detaching).
const char * get_platform_name() FL_NO_EXCEPT
Get the platform name.
constexpr u8 ISR_PRIORITY_DEFAULT
int enable_handler(handle &h) FL_NO_EXCEPT
Enable an ISR (after temporary disable).
int attach_timer_handler(const config &cfg, handle *out_handle) FL_NO_EXCEPT
Attach a timer-based ISR handler.
int attach_external_handler(u8 pin, const config &cfg, handle *out_handle) FL_NO_EXCEPT
Attach an external interrupt handler (GPIO-based).
int detach_handler(handle &h) FL_NO_EXCEPT
Detach an ISR handler.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.
Configuration for ISR attachment.
bool is_valid() const FL_NO_EXCEPT
Opaque handle to an attached ISR.