FastLED 3.10.8
Loading...
Searching...
No Matches

◆ ensureIsrActive()

int fl::pwm_state::ensureIsrActive ( )

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

190 {
191 PwmStateData& st = state();
192 if (st.isr_active) return 0;
193
194 fl::isr::config cfg;
199
201 if (result != 0) {
202 FL_WARN("PWM: ISR attach failed: " << (fl::isr::get_error_string(result)));
203 return result;
204 }
205 st.isr_active = true;
206 return 0;
207}
#define FL_WARN(...)
Definition log.h:437
constexpr u32 ISR_FLAG_IRAM_SAFE
Definition constants.h:21
const char * get_error_string(int error_code) FL_NO_EXCEPT
Get platform-specific error description.
int attach_timer_handler(const config &cfg, handle *out_handle) FL_NO_EXCEPT
Attach a timer-based ISR handler.
constexpr u8 ISR_PRIORITY_MEDIUM
Definition constants.h:15
void FL_IRAM pwm_isr_handler(void *user_data) FL_NO_EXCEPT
Definition pin.cpp.hpp:125
PwmStateData & state() FL_NO_EXCEPT
Definition pin.cpp.hpp:118
constexpr u32 ISR_FREQUENCY_HZ
Definition pin.cpp.hpp:79
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:101

References fl::isr::attach_timer_handler(), fl::FL_NO_EXCEPT, 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: