diff --git a/firmware/20230514_firmware.ino.bin b/firmware/20230515_firmware.ino.bin similarity index 67% rename from firmware/20230514_firmware.ino.bin rename to firmware/20230515_firmware.ino.bin index 1ab9937..bf57f69 100644 Binary files a/firmware/20230514_firmware.ino.bin and b/firmware/20230515_firmware.ino.bin differ diff --git a/firmware/20230515_firmware.spiffs.bin b/firmware/20230515_firmware.spiffs.bin new file mode 100644 index 0000000..5df4f19 Binary files /dev/null and b/firmware/20230515_firmware.spiffs.bin differ diff --git a/firmware/20230514_firmware_dev.ino.bin b/firmware/20230515_firmware_dev.ino.bin similarity index 68% rename from firmware/20230514_firmware_dev.ino.bin rename to firmware/20230515_firmware_dev.ino.bin index 0f0b57d..c67e205 100644 Binary files a/firmware/20230514_firmware_dev.ino.bin and b/firmware/20230515_firmware_dev.ino.bin differ diff --git a/firmware/light_engine.ino b/firmware/light_engine.ino index e77961d..8075d61 100644 --- a/firmware/light_engine.ino +++ b/firmware/light_engine.ino @@ -64,10 +64,9 @@ void lightEngine() //Serial.println("Reached target bri[" + (String)i + "] = " + (String)bri[i]); } - uint16_t tmp_pwm = calcPWM(current_bri[i]); - current_pwm[i] = tmp_pwm; + current_pwm[i] = calcPWM(current_bri[i]); //Serial.println("lon: pin" + (String)i + " = PWM(" + (String)tmp_pwm + ")"); - analogWrite(pins[i], tmp_pwm); + analogWrite(pins[i], current_pwm[i]); } } else { // light state is off @@ -82,10 +81,9 @@ void lightEngine() //Serial.println("Reached target bri[" + (String)i + "] = " + (String)bri[i]); } - uint16_t tmp_pwm = calcPWM(current_bri[i]); - current_pwm[i] = tmp_pwm; + current_pwm[i] = calcPWM(current_bri[i]); //Serial.println("loff: pin" + (String)i + " = PWM(" + (String)tmp_pwm + ")"); - analogWrite(pins[i], tmp_pwm); + analogWrite(pins[i], current_pwm[i]); } } diff --git a/firmware/timing_control.ino b/firmware/timing_control.ino index e237c5b..1b1a5be 100644 --- a/firmware/timing_control.ino +++ b/firmware/timing_control.ino @@ -184,9 +184,9 @@ void tc_update_main() // disable the lights for (uint8_t i = 0; i < LIGHTS_COUNT; i++) { + light_state[i] = false; bri[i] = 0; - current_bri[i] = 0; - current_pwm[i] = 0; + current_bri[i] = 4; // set it to a value which forces the light wngine to switch of the pwm signal pf the gpio transitiontime[i] = default_transitiontime; process_lightdata(i, transitiontime[i]); } @@ -206,17 +206,19 @@ void tc_update_main() if (target_data_block >= NUMBER_OF_TIMER_DATA_BLOCKS) { - // we are not between two valid data points, do nothing - Serial.println("tdb is >= num data blocks, abort operation..."); + // we are not between two valid data points + // we are at the last element of the data block list + Serial.println("tdb is beyond data blocks length, abort operation"); + for (uint8_t i = 0; i < LIGHTS_COUNT; i++) { light_state[i] = false; bri[i] = 0; - current_bri[i] = 0; - current_pwm[i] = 0; + current_bri[i] = 4; // set it to a value which forces the light wngine to switch of the pwm signal pf the gpio transitiontime[i] = default_transitiontime; process_lightdata(i, transitiontime[i]); } + target_data_block = 255; current_target_data_block = 255; return;