Exemple #1
0
def test_set_all():
    _mock()
    import keybow

    keybow.set_all(0, 255, 0)

    assert keybow.buf == [[0, 255, 0, 1.0] for _ in range(12)]
Exemple #2
0
def test_clear():
    _mock()
    import keybow

    keybow.set_all(0, 255, 255)
    keybow.clear()

    assert keybow.buf == [[0, 0, 0, 1.0] for _ in range(12)]
Exemple #3
0
def test_show():
    _mock()

    class SpiDev():
        def __init__(self):
            self.captured = None

        def xfer2(self, data):
            self.captured = data

    import keybow
    spi = SpiDev()
    keybow.setup()
    keybow.spi = spi

    keybow.set_all(0, 255, 0)
    keybow.show()

    # Lazy capture recording
    # with open('/tmp/capture.txt', 'w') as f:
    #    f.write(str(spi.captured))
    # assert 1 == 2

    assert spi.captured == [
        0, 0, 0, 0, 0, 0, 0, 0,  # SOF
        255, 0, 255, 0,          # LED1
        255, 0, 255, 0,          # LED2
        255, 0, 255, 0,          # ...
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,
        255, 0, 255, 0,          # LED12
        0]                       # EOF
Exemple #4
0
from decimal import Decimal
import math

background = [255, 100, 100]
doubleClickThreshold = 0.3
longPressThreshold = 0.75

currentClickCount = 1
clickThread = None
releaseThread = None
isLongPress = False

r, g, b = background

keybow.setup(keybow.MINI)
keybow.set_all(r, g, b)
keybow.show()

bz = Buzzer(27)
bz.off()

i2c = io.I2C(board.SCL, board.SDA)
display = adafruit_ht16k33.segments.Seg7x4(i2c)
display.fill(0)

sensor = DistanceSensor(echo=15, trigger=14, max_distance=3)


@keybow.on(index=0)
def handle_key(index, state):