def rainbow(self): for n in range(self.numPixels()): i = int((float(n) / (self.numPixels() - 1)) * 1529) if i >= 0 and i <= 254: self.setPixelColor(n, Color(0, 255, i % 255)) elif i <= 509: self.setPixelColor(n, Color(0, 255 - (i % 255), 255)) elif i <= 764: self.setPixelColor(n, Color(i % 255, 0, 255)) elif i <= 1019: self.setPixelColor(n, Color(255, 0, 255 - (i % 255))) elif i <= 1274: self.setPixelColor(n, Color(255, i % 255, 0)) elif i <= 1529: self.setPixelColor(n, Color(255 - (i % 255), 255, 0)) self.show()
def hsv_to_whatever(hsv): rgb = colorsys.hsv_to_rgb(*hsv) rgb = [int(round(c * 255)) for c in rgb] grb = [rgb[1], rgb[0], rgb[2]] whatever = Color(*grb) return whatever
def test_rgb255_init(self): color = (255, 0, 0) self.assertTupleEqual(self.target_rgb255, Color(rgb255=color)._rgb255)
import time from neopixel import Adafruit_NeoPixel import colorsys import RPi.GPIO as GPIO from rgbpi.controller.color import Color GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) ################################################## # COLORS ################################################## red = Color(rgb255=(0, 255, 0)) green = Color(rgb255=(255, 0, 0)) blue = Color(rgb255=(0, 0, 255)) cyan = Color(rgb255=(255, 0, 255)) yellow = Color(rgb255=(255, 255, 0)) purple = Color(rgb255=(0, 255, 255)) white = Color(rgb255=(255, 255, 255)) off = Color(rgb255=(0, 0, 0)) ################################################## # NEW CLASS ################################################## class LedStrip(Adafruit_NeoPixel): def __init__(self, LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL, EN_PIN): GPIO.setup(EN_PIN, GPIO.OUT) GPIO.output(EN_PIN, GPIO.HIGH)
def test_two_value_init(self): with self.assertRaises(ValueError): Color(rgb=1, rgb255=1)
def setUp(self): self.color = Color(rgb255=self.init_rgb255)
def test_no_value_init(self): with self.assertRaises(ValueError): Color()
def test_bit24_grb_init(self): color = 65280 self.assertEqual(self.target_rgb255, Color(bit24_grb=color)._rgb255)
def test_grb255_init(self): color = (0, 255, 0) self.assertEqual(self.target_rgb255, Color(grb255=color)._rgb255)
def test_bit24_init(self): color = 16711680 self.assertEqual(self.target_rgb255, Color(bit24=color)._rgb255)
def test_hsv_init(self): color = (0, 1., 1.) self.assertTupleEqual(self.target_rgb255, Color(hsv=color)._rgb255)