def test_clear(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() unicornhatmini.clear() assert unicornhatmini.disp == [[0, 0, 0]] * (17 * 7)
def __init__(self, hat=None): if hat is None: try: spidev.SpiDev(0, 0) hat = 'mini' except FileNotFoundError: hat = 'phat' if hat == 'mini': self.hat = UnicornHATMini() self.type = hat self.hat.set_brightness(0.5) self.hat.set_rotation(90) elif hat == 'dummy': self.hat = None self.type = 'none' else: self.hat = unicornhat self.type = hat self.hat.set_layout(unicornhat.PHAT) self.hat.brightness(0.5) self.hat.rotation(90) self.brightness = 0.5 self.rotation = 0 self.width, self.height = self.hat.get_shape()
def draw(): uni = UnicornHATMini() uni.clear() uni.set_rotation(0) uni.set_brightness(0.1) display_width, display_height = uni.get_shape() interval = 60 / 17 interval = 5 while True: data = getData() for x in range(display_width): if x >= len(data): r = g = 0 else: r = 255 if data[x] == 0 else 0 g = 255 if data[x] == 1 else 0 for y in range(display_height): uni.set_pixel(x, y, r, g, 0) uni.show() time.sleep(interval)
def __init__(self, color_provider): hat = UnicornHATMini() hat.set_rotation(self.DEFAULT_ROTATION) hat.set_brightness(self.DEFAULT_BRIGHTNESS) self.display_width, self.display_height = hat.get_shape() self.unicornhatmini = hat self.color_provider = color_provider
def test_set_all(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() unicornhatmini.set_all(255, 255, 255) assert unicornhatmini.disp == [[255 >> 2, 255 >> 2, 255 >> 2]] * (17 * 7)
def __init__(self, brightness=0.5): """ @see _UnicornHatNotifier.__init__() """ super(UnicornHatMiniNotifier, self).__init__(brightness=brightness) from unicornhatmini import UnicornHATMini self._hat = UnicornHATMini()
def test_set_image_wrap(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() image = mock.MagicMock() image.size = (3, 3) image.mode = "RGB" image.getpixel.return_value = (255, 255, 255) unicornhatmini.set_image(image, offset_x=0, offset_y=0, wrap=True)
def test_set_rotation(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() shapes = {0: (17, 7), 90: (7, 17), 180: (17, 7), 270: (7, 17)} for rotation in (0, 90, 180, 270): unicornhatmini.set_rotation(rotation) assert unicornhatmini.get_shape() == shapes[rotation] unicornhatmini.set_pixel(0, 0, 255, 255, 255)
def __init__(self): self.uni = UnicornHATMini() self.uni.clear() self.uni.set_rotation(0) self.uni.set_brightness(0.1) display_width, display_height = self.uni.get_shape() self.display_width = display_width self.display_height = display_height self.font = ImageFont.truetype( os.path.dirname(os.path.realpath(__file__)) + "/5x7.ttf", 8)
def test_set_image(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() image = mock.MagicMock() image.size = (17, 7) image.getpixel.return_value = (255, 255, 255) image.convert.return_value = image unicornhatmini.set_image(image, offset_x=0, offset_y=0) image.mode = "RGB" unicornhatmini.set_image(image, offset_x=0, offset_y=0)
def test_setup(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() spidev.SpiDev.assert_has_calls(( mock.call(0, 0), mock.call(0, 1) ), any_order=True) GPIO.setwarnings.assert_called_once_with(False) GPIO.setmode.assert_called_once_with(GPIO.BCM) del unicornhatmini
def __init__(self): self.modes_data = get_mode_data() self.mode = None self.unicornhatmini = UnicornHATMini() self.config = get_config() mode_id = self.config.get('GENERAL', 'INITIAL_MODE_ID', fallback='clock_mode') if mode_id not in get_valid_mode_ids(): print( f'initial mode id of {mode_id} is not a valid, clock_mode is being used instead' ) mode_id = 'clock_mode' self.mode_id = mode_id self.mode_update_needed = False self.running = False self.mode_custom_options = None
def draw(width): uni = UnicornHATMini() uni.clear() uni.set_rotation(0) uni.set_brightness(0.1) display_width, display_height = uni.get_shape() r, g, b = getColour(width) for x in range(display_width): for y in range(display_height): if width > x: uni.set_pixel(x, y, r, g, b) else: uni.set_pixel(x, y, 0, 0, 0) uni.show() time.sleep(3) uni.clear() uni.show()
def draw(data): uni = UnicornHATMini() uni.clear() uni.set_rotation(0) uni.set_brightness(0.1) display_width, display_height = uni.get_shape() for x in range(display_width): r = g = 0 if len(data) > x: if data[x] == 1: g = 255 elif data[x] == 2: r = 255 elif data[x] == 3: r = 255 g = 150 for y in range(display_height): uni.set_pixel(x, y, r, g, 0) uni.show() time.sleep(2) uni.clear() uni.show()
#!/usr/bin/env python3 import time from colorsys import hsv_to_rgb from unicornhatmini import UnicornHATMini print("""Unicorn HAT Mini: colour-cycle.py Cycles through colour hues across all of Unicorn HAT Mini's pixels. Press Ctrl+C to exit! """) unicornhatmini = UnicornHATMini() unicornhatmini.set_brightness(0.1) while True: hue = (time.time() / 10.0) r, g, b = [int(c * 255) for c in hsv_to_rgb(hue, 1.0, 1.0)] unicornhatmini.set_all(r, g, b) unicornhatmini.show() time.sleep(1.0 / 60)
#!/usr/bin/env python3 from unicornhatmini import UnicornHATMini UnicornHATMini()._exit()
def test_set_rotation_invalid(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() with pytest.raises(ValueError): unicornhatmini.set_rotation(99)
def test_shutdown(GPIO, spidev, atexit): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() atexit.register.assert_called_once_with(unicornhatmini._exit) unicornhatmini._exit()
import time from unicornhatmini import UnicornHATMini uh = UnicornHATMini() uh.set_brightness(0.5) uh.set_rotation(0) uh.set_pixel(0, 0, 255, 255, 0) #set one pixel uh.show() time.sleep(3) for x in range(17): #loop to set all pixels for y in range(7): uh.set_pixel(x, y, 0, 255, 255) uh.show() time.sleep(3) uh.clear() #clear all pixels uh.show()
def test_show(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() unicornhatmini.show()
def test_set_brightness(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() unicornhatmini.set_brightness(0.5)
def test_set_pixel(GPIO, spidev): from unicornhatmini import UnicornHATMini unicornhatmini = UnicornHATMini() unicornhatmini.set_pixel(0, 0, 255, 255, 255)