FastLED 3.9.15
Loading...
Searching...
No Matches

◆ ensureIsrActive()

int fl::pwm_state::ensureIsrActive ( )

Definition at line 175 of file pin.cpp.hpp.

175 {
176 PwmStateData& st = state();
177 if (st.isr_active) return 0;
178
179 fl::isr::config cfg;
184
186 if (result != 0) {
187 FL_WARN("PWM: ISR attach failed: " << fl::isr::get_error_string(result));
188 return result;
189 }
190 st.isr_active = true;
191 return 0;
192}
#define FL_WARN(X)
Definition log.h:276
constexpr u32 ISR_FLAG_IRAM_SAFE
Definition constants.h:21
int attach_timer_handler(const config &cfg, handle *out_handle)
Attach a timer-based ISR handler.
const char * get_error_string(int error_code)
Get platform-specific error description.
constexpr u8 ISR_PRIORITY_MEDIUM
Definition constants.h:15
constexpr u32 ISR_FREQUENCY_HZ
Definition pin.cpp.hpp:80
PwmStateData & state()
Definition pin.cpp.hpp:109
void FL_IRAM pwm_isr_handler(void *user_data)
Definition pin.cpp.hpp:114
expected< T, E > result
Alias for expected (Rust-style naming)
Definition result.h:31
handler_fn handler
Definition handler.h:20
Configuration for ISR attachment.
Definition handler.h:19
fl::isr::handle isr_handle
Definition pin.cpp.hpp:102

References fl::isr::attach_timer_handler(), FL_WARN, fl::isr::config::flags, fl::isr::config::frequency_hz, fl::isr::get_error_string(), fl::isr::config::handler, fl::pwm_state::PwmStateData::isr_active, fl::isr::ISR_FLAG_IRAM_SAFE, ISR_FREQUENCY_HZ, fl::pwm_state::PwmStateData::isr_handle, fl::isr::ISR_PRIORITY_MEDIUM, fl::isr::config::priority, pwm_isr_handler(), and state().

Referenced by fl::setPwmFrequency().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: