activate / inactivate idle brightess w LDR
This commit is contained in:
parent
6b5cabb1f4
commit
c1e24d633b
@ -68,13 +68,13 @@ void Treppe::start_animation()
|
||||
|
||||
if (fsm_outputs.dimmrichtung == DR_AUFDIMMEN)
|
||||
{
|
||||
start_pwm = idle_brightness;
|
||||
start_pwm = idle_bright_internal;
|
||||
ziel_pwm = active_brightness;
|
||||
}
|
||||
else
|
||||
{
|
||||
start_pwm = active_brightness;
|
||||
ziel_pwm = idle_brightness;
|
||||
ziel_pwm = idle_bright_internal;
|
||||
}
|
||||
|
||||
current_tick = 0;
|
||||
@ -192,7 +192,7 @@ bool Treppe::check_ldr()
|
||||
active = 1;
|
||||
if (ldr > ldr_schwelle + LDR_HYS)
|
||||
active = 0;
|
||||
|
||||
activate_idle_pwm(active);
|
||||
return active;
|
||||
}
|
||||
|
||||
@ -257,6 +257,17 @@ void Treppe::set_idle_pwm(uint16_t _idle_brightness)
|
||||
berechne_dimmer();
|
||||
Serial.printf("Treppe: idle_brightness=%d\n", idle_brightness);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
void Treppe::set_active_pwm(uint16_t _active_brightness)
|
||||
{
|
||||
active_brightness = _active_brightness;
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
#define LDR_HYS 5.0 // Hysteresis for switching off FSM [lux]
|
||||
|
||||
#define SENSOR_OBEN 2
|
||||
#define SENSOR_OBEN 16
|
||||
#define SENSOR_UNTEN 12
|
||||
#define OE 14
|
||||
|
||||
@ -17,7 +17,8 @@ class Treppe {
|
||||
private:
|
||||
const uint8_t stufen;
|
||||
uint16_t time_per_stair = 300; // dimmtime per stair [ms]
|
||||
uint16_t idle_brightness = 0;
|
||||
uint16_t idle_brightness = 100;
|
||||
uint16_t idle_bright_internal = 0;
|
||||
uint16_t active_brightness = 500;
|
||||
|
||||
uint16_t ldr_schwelle = 7; // activation value for FSM [lx]
|
||||
@ -79,6 +80,7 @@ public:
|
||||
|
||||
// Parameter section
|
||||
void set_idle_pwm(uint16_t _idle_brightness);
|
||||
void activate_idle_pwm(bool active);
|
||||
void set_active_pwm(uint16_t _active_brightness);
|
||||
void set_time_per_stair(uint16_t _time_per_stair);
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user