Browse Source

improved activate_idle

tags/v1.0.0
Dominik Bartsch 3 years ago
parent
commit
6a04a4d1c9
1 changed files with 13 additions and 8 deletions
  1. 13
    8
      lib/treppe/treppe.cpp

+ 13
- 8
lib/treppe/treppe.cpp View File

@@ -237,7 +237,7 @@ void Treppe::setup()
pwmController.init(PCA9685_PhaseBalancer_None);
//pwmController.init(PCA9685_PhaseBalancer_Linear);
pwmController.setPWMFrequency(100);
pwmController.setAllChannelsPWM(idle_brightness);
//pwmController.setAllChannelsPWM(idle_brightness);

pinMode(A0, INPUT);
pinMode(SENSOR_OBEN, INPUT);
@@ -258,15 +258,20 @@ void Treppe::set_idle_pwm(uint16_t _idle_brightness)
Serial.printf("Treppe: idle_brightness=%d\n", idle_brightness);
}

void Treppe::activate_idle_pwm(bool active){
void Treppe::activate_idle_pwm(bool active)
{
static uint8_t former_active = 0;

if(active != former_active && fsm_outputs.status == ST_RUHEZUSTAND){
idle_bright_internal = idle_brightness * active;
// Dimming Function for all LEDS ?
pwmController.setAllChannelsPWM(idle_bright_internal);
former_active = active;
}
if (fsm_outputs.status == ST_RUHEZUSTAND || fsm_outputs.status == ST_INAKTIV_LDR)
{
if (active != former_active)
{
idle_bright_internal = idle_brightness * active;
// Dimming Function for all LEDS ?
pwmController.setAllChannelsPWM(idle_bright_internal);
former_active = active;
}
}
}
void Treppe::set_active_pwm(uint16_t _active_brightness)
{

Loading…
Cancel
Save