diff --git a/build-number.txt b/build-number.txt index 10b0c0d..2681747 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -264 +277 diff --git a/src/light_sensor.c b/src/light_sensor.c index 0a0cba1..e12a355 100644 --- a/src/light_sensor.c +++ b/src/light_sensor.c @@ -67,19 +67,18 @@ void LightSensor_Poll(void) unsigned int measurement = LightSensor_Measurement; LightSensor_NewMeasurement = false; float brightness = 1.0f - measurement / 65535.0f; - - if(measurement != 65535 && brightness < LightSensor_MinimumBrightness) - { - LightSensor_MinimumBrightness = brightness; - } - if(brightness > LightSensor_MaximumBrightness) - { - LightSensor_MaximumBrightness = brightness; - } - LightSensor_AbsoluteBrightness = LIGHTSENSOR_LAMBDA * LightSensor_AbsoluteBrightness + (1.0f - LIGHTSENSOR_LAMBDA) * brightness; + if(LightSensor_AbsoluteBrightness < LightSensor_MinimumBrightness) + { + LightSensor_MinimumBrightness = LightSensor_AbsoluteBrightness; + } + if(LightSensor_AbsoluteBrightness > LightSensor_MaximumBrightness) + { + LightSensor_MaximumBrightness = LightSensor_AbsoluteBrightness; + } + // Scale and saturate to get relative brightness value float range = LightSensor_MaximumBrightness - LightSensor_MinimumBrightness;