From 44adefedb30840acf097d6e35812e7fc9861c829 Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Thu, 30 Sep 2021 10:21:40 +0200 Subject: [PATCH] Fix overflow in very dark or noisy situations --- code/b-parasite/src/prst/adc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/b-parasite/src/prst/adc.c b/code/b-parasite/src/prst/adc.c index 01a7115..de57482 100644 --- a/code/b-parasite/src/prst/adc.c +++ b/code/b-parasite/src/prst/adc.c @@ -134,6 +134,11 @@ prst_adc_soil_moisture_t prst_adc_soil_read(double battery_voltage) { prst_adc_photo_sensor_t prst_adc_photo_read(double battery_voltage) { nrf_saadc_value_t raw_photo_output = sample_adc_channel(PRST_ADC_PHOTO_CHANNEL); + + if (raw_photo_output < 0) { + raw_photo_output = 0; + } + prst_adc_photo_sensor_t ret; ret.raw = raw_photo_output; ret.voltage = (3.6 * raw_photo_output) / (1 << PRST_ADC_RESOLUTION); @@ -161,4 +166,4 @@ prst_adc_photo_sensor_t prst_adc_photo_read(double battery_voltage) { ret.brightness); #endif return ret; -} \ No newline at end of file +}