FastLED 3.9.15
Loading...
Searching...
No Matches
handler.h File Reference

Detailed Description

ISR handler types and API declarations.

Definition in file handler.h.

+ Include dependency graph for handler.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::isr::config
 Configuration for ISR attachment. More...
 
struct  fl::isr::handle
 Opaque handle to an attached ISR. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::isr
 

Typedefs

typedef void(* fl::isr::handler_fn) (void *user_data)
 ISR handler function signature.
 
using fl::isr::isr_config_t = config
 
using fl::isr::isr_handle_t = handle
 
using fl::isr::isr_handler_t = handler_fn
 

Functions

int fl::isr::attach_external_handler (u8 pin, const config &cfg, handle *out_handle=nullptr)
 Attach an external interrupt handler (GPIO-based).
 
int fl::isr::attach_timer_handler (const config &cfg, handle *out_handle=nullptr)
 Attach a timer-based ISR handler.
 
int fl::isr::detach_handler (handle &h)
 Detach an ISR handler.
 
int fl::isr::disable_handler (handle &h)
 Disable an ISR temporarily (without detaching).
 
int fl::isr::enable_handler (handle &h)
 Enable an ISR (after temporary disable).
 
const char * fl::isr::get_error_string (int error_code)
 Get platform-specific error description.
 
u8 fl::isr::get_max_priority ()
 Get the maximum priority level supported by this platform.
 
u32 fl::isr::get_max_timer_frequency ()
 Get the maximum timer frequency supported by this platform.
 
u32 fl::isr::get_min_timer_frequency ()
 Get the minimum timer frequency supported by this platform.
 
const char * fl::isr::get_platform_name ()
 Get the platform name.
 
bool fl::isr::is_handler_enabled (const handle &h)
 Query if an ISR is currently enabled.
 
bool fl::isr::requires_assembly_handler (u8 priority)
 Check if assembly is required for a given priority level.