24#ifndef HAS_HARDWARE_PWM
25#error Current board does not support hardware PWM and thus not the class IrSendPwm. Consider using IrSenderSoftPwm or IrSenderSpin instead.
int8_t dutycycle_t
Type for duty cycle in percent.
uint16_t microseconds_t
Type for durations in micro seconds.
uint32_t frequency_t
Type for modulation frequency in Hz.
uint8_t pin_t
Type for GPIO pin, compatible with Arduino libs.
static Board * getInstance()
static constexpr dutycycle_t defaultDutyCycle
Default duty cycle to use.
Sending function using timer PWM.
static void deleteInstance()
virtual ~IrSenderPwmHard()
static IrSenderPwmHard * newInstance(pin_t ouputPin=Board::getInstance() ->defaultPwmPin())
Creates a new instance (if not existing) and returns it.
static IrSenderPwmHard * getInstance(bool create=false, pin_t ouputPin=Board::getInstance() ->defaultPwmPin())
Returns a pointer to the instance, or nullptr if not initialized.
Sending function using timer PWM.