5#include "platforms/isr.h"
12 return isr::platforms::attach_timer_handler(cfg, out_handle);
16 return isr::platforms::attach_external_handler(pin, cfg, out_handle);
20 return isr::platforms::detach_handler(h);
24 return isr::platforms::enable_handler(h);
28 return isr::platforms::disable_handler(h);
32 return isr::platforms::is_handler_enabled(h);
36 return isr::platforms::get_error_string(error_code);
40 return isr::platforms::get_platform_name();
44 return isr::platforms::get_max_timer_frequency();
48 return isr::platforms::get_min_timer_frequency();
52 return isr::platforms::get_max_priority();
56 return isr::platforms::requires_assembly_handler(priority);
ISR handler types and API declarations.
u32 get_min_timer_frequency() FL_NO_EXCEPT
Get the minimum timer frequency supported by this platform.
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.
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.
Opaque handle to an attached ISR.