Simon Schmidt 3 years ago
parent
commit
630250da78
2 changed files with 16 additions and 4 deletions
  1. 14
    3
      lib/treppe/treppe.cpp
  2. 2
    1
      lib/treppe/treppe.h

+ 14
- 3
lib/treppe/treppe.cpp View File



if (fsm_outputs.dimmrichtung == DR_AUFDIMMEN) if (fsm_outputs.dimmrichtung == DR_AUFDIMMEN)
{ {
start_pwm = idle_brightness;
start_pwm = idle_bright_internal;
ziel_pwm = active_brightness; ziel_pwm = active_brightness;
} }
else else
{ {
start_pwm = active_brightness; start_pwm = active_brightness;
ziel_pwm = idle_brightness;
ziel_pwm = idle_bright_internal;
} }


current_tick = 0; current_tick = 0;
active = 1; active = 1;
if (ldr > ldr_schwelle + LDR_HYS) if (ldr > ldr_schwelle + LDR_HYS)
active = 0; active = 0;
activate_idle_pwm(active);
return active; return active;
} }


berechne_dimmer(); berechne_dimmer();
Serial.printf("Treppe: idle_brightness=%d\n", idle_brightness); 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) void Treppe::set_active_pwm(uint16_t _active_brightness)
{ {
active_brightness = _active_brightness; active_brightness = _active_brightness;

+ 2
- 1
lib/treppe/treppe.h View File



#define LDR_HYS 5.0 // Hysteresis for switching off FSM [lux] #define LDR_HYS 5.0 // Hysteresis for switching off FSM [lux]


#define SENSOR_OBEN 2
#define SENSOR_OBEN 16
#define SENSOR_UNTEN 12 #define SENSOR_UNTEN 12
#define OE 14 #define OE 14




// Parameter section // Parameter section
void set_idle_pwm(uint16_t _idle_brightness); void set_idle_pwm(uint16_t _idle_brightness);
void activate_idle_pwm(bool active);
void set_active_pwm(uint16_t _active_brightness); void set_active_pwm(uint16_t _active_brightness);
void set_time_per_stair(uint16_t _time_per_stair); void set_time_per_stair(uint16_t _time_per_stair);
}; };

Loading…
Cancel
Save