Files

35 lines
801 B
C++
Raw Permalink Normal View History

2024-04-17 14:09:46 +01:00
#include "Light_PWM.h"
namespace portduino
{
/**
* Configure PWM, fallback to BL on/off if no pwm available
*/
bool Light_PWM::init(uint8_t brightness)
{
if (_cfg.pin_bl >= 0) {
if (_cfg.pwm_channel == -1) {
setBrightness(brightness);
} else {
2024-05-02 13:09:30 +02:00
// ledcAttachChannel(_cfg.pin_bl, _cfg.freq, _cfg.pwm_channel);
2024-04-17 14:09:46 +01:00
}
}
2024-05-02 13:09:30 +02:00
return true;
2024-04-17 14:09:46 +01:00
}
void Light_PWM::setBrightness(uint8_t brightness)
{
if (_cfg.pwm_channel == -1) {
if (brightness == 0) {
digitalWrite(_cfg.pin_bl, _cfg.invert);
} else {
digitalWrite(_cfg.pin_bl, !_cfg.invert);
}
} else {
uint32_t duty_cycle = _cfg.freq * 1000 * brightness / 255;
2024-05-02 13:09:30 +02:00
// ledcWrite(_cfg.pin_bl, duty_cycle);
2024-04-17 14:09:46 +01:00
}
}
} // namespace portduino