X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/6b55de23ca16ffb92eddb5511dee72829d2dbd85..aaa4312df31620d70940ab01adaa17eb787d20a9:/src/rainbowio.py diff --git a/src/rainbowio.py b/src/rainbowio.py index e852d83..5ed5a3a 100644 --- a/src/rainbowio.py +++ b/src/rainbowio.py @@ -1,10 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT """ `rainbowio` - Provides the `colorwheel()` function =========================================================== See `CircuitPython:rainbowio` in CircuitPython for more details. Not supported by all boards. -* Author(s): Kattni Rembor +* Author(s): Kattni Rembor, Carter Nelson """ @@ -16,12 +19,23 @@ def colorwheel(color_value): :param int color_value: 0-255 of color value to return :return: tuple of RGB values """ + color_value = int(color_value) if color_value < 0 or color_value > 255: - return 0, 0, 0 - if color_value < 85: - return 255 - color_value * 3, color_value * 3, 0 - if color_value < 170: + r = 0 + g = 0 + b = 0 + elif color_value < 85: + r = int(255 - color_value * 3) + g = int(color_value * 3) + b = 0 + elif color_value < 170: color_value -= 85 - return 0, 255 - color_value * 3, color_value * 3 - color_value -= 170 - return color_value * 3, 0, 255 - color_value * 3 + r = 0 + g = int(255 - color_value * 3) + b = int(color_value * 3) + else: + color_value -= 170 + r = int(color_value * 3) + g = 0 + b = int(255 - color_value * 3) + return r << 16 | g << 8 | b