From 0986be2d2ffe3698f6bd0b3c9e9fd07db61b0918 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Thu, 9 May 2013 08:07:19 +0200 Subject: digital/io-hub/src/apbirthday: simplify RGB sensor discrimination (red/blue) --- digital/io-hub/src/apbirthday/rgb.stm32.cc | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'digital/io-hub') diff --git a/digital/io-hub/src/apbirthday/rgb.stm32.cc b/digital/io-hub/src/apbirthday/rgb.stm32.cc index 512a5e8a..50655745 100644 --- a/digital/io-hub/src/apbirthday/rgb.stm32.cc +++ b/digital/io-hub/src/apbirthday/rgb.stm32.cc @@ -204,27 +204,12 @@ Rgb::get_candle_near_color () enum Rgb::color Rgb::get_candle_color () { - uint32_t min_color = (uint32_t) (-1); - uint32_t results = NOTHING; - uint32_t color; - - // We don't care for white level - for (color = WHITE; color != UNKNOWN; color++) - { - if (color == BLUE) - color_value_[color] *= 0.8; - else if (color == RED) - color_value_[color] *= 1.2; - - if (color_value_[color] < min_color) - { - results = color; - min_color = color_value_[color]; - } - color_value_[color] = 0; - } - - return (enum Rgb::color) results; + color_value_[BLUE] *= 0.8; + color_value_[RED] *= 1.2; + if (color_value_[BLUE] < color_value_[RED]) + return BLUE; + else + return RED; } void -- cgit v1.2.3