+ float bv = strip_state.current_brightness;
+
+ if(!strip_state.just_changed || deltaMs >= rateParameter.getValuef()) {
+ float bright_prop = min(((float) time_since_last_run / rateParameter.getValuef()), 1.0);
+ bv = min(MAX_ALIVE_BRIGHTNESS, bright_prop * MAX_ALIVE_BRIGHTNESS);
+
+ if(index == 100) {
+ print("live prop: " + bright_prop + " bv: " + bv + " current: " + strip_state.current_brightness + "\n");
+ }
+
+ if(strip_state.current_brightness < bv) {
+ strip_state.current_brightness = bv;
+ } else {
+ bv = strip_state.current_brightness;
+ }
+
+ if(index == 100) {
+ print("live bv: " + bv + " current: " + strip_state.current_brightness + "\n");
+ }
+ }