def test_clear(GPIO, spidev):
    from unicornhatmini import UnicornHATMini
    unicornhatmini = UnicornHATMini()

    unicornhatmini.clear()

    assert unicornhatmini.disp == [[0, 0, 0]] * (17 * 7)
Exemple #2
0
    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()
Exemple #3
0
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)
Exemple #4
0
 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)
Exemple #6
0
    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)
Exemple #9
0
    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
Exemple #13
0
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()
Exemple #14
0
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)
Exemple #16
0
#!/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)