From 24209ae72593545ab6d7d0840b1f6a6812eee50a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sat, 23 Jun 2018 23:30:31 +0200 Subject: [PATCH] workaround for startup glitch --- display.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/display.c b/display.c index 3fd5e15..6e59977 100644 --- a/display.c +++ b/display.c @@ -18,6 +18,7 @@ const uint8_t disp_digits[10] = { #define adc_samps_len 16 uint8_t adc_samps[adc_samps_len]; uint8_t adc_samp_i = 0; +bool adc_samp_notfilled = true; #define light_sens_countdown_max 800 uint16_t light_sens_countdown = 0; @@ -73,6 +74,14 @@ ISR(TIMER2_OVF_vect) // averaging adc_samps[adc_samp_i++] = brt; + // prefill all with the first measure to prevent the hiccup on startup + if (adc_samp_notfilled) { + adc_samp_notfilled = false; + for (uint8_t i = 0; i < adc_samps_len; i++) { + adc_samps[i] = brt; + } + } + if (adc_samp_i == adc_samps_len) adc_samp_i = 0; uint16_t sum = 0; for (uint8_t i = 0; i < adc_samps_len; i++) {