From 735705e69f02e0cbbf57031b39df1d242267e4f1 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Tue, 27 Nov 2018 14:24:09 +0100 Subject: [PATCH] Added interim over/underflow protection --- adafruit_tcs34725.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/adafruit_tcs34725.py b/adafruit_tcs34725.py index a5951de..2b5ebdc 100644 --- a/adafruit_tcs34725.py +++ b/adafruit_tcs34725.py @@ -236,10 +236,20 @@ def color_rgb_bytes(self): red, green, blue component values as bytes (0-255). """ r, g, b, clear = self.color_raw + # Avoid divide by zero errors ... if clear = 0 return black + if clear == 0: + return (0, 0, 0) # pylint: disable=bad-whitespace red = int(pow((int((r/clear) * 256) / 255), 2.5) * 255) green = int(pow((int((g/clear) * 256) / 255), 2.5) * 255) blue = int(pow((int((b/clear) * 256) / 255), 2.5) * 255) + # Handle possible 8-bit overflow + if red > 255: + red = 255 + if green > 255: + green = 255 + if blue > 255: + blue = 255 return (red, green, blue) @property