Пример #1
0
def test_init(mock_controller):
    gpio = Mock()
    instance = Mock()
    instance.get_port = Mock()
    instance.get_gpio = Mock(return_value=gpio)
    mock_controller.side_effect = [instance]

    ftdi_spi(device='ftdi://dummy',
             bus_speed_hz=16000000,
             gpio_CS=3,
             gpio_DC=5,
             gpio_RST=6)
    mock_controller.assert_called_with(cs_count=1)
    instance.configure.assert_called_with('ftdi://dummy')
    instance.get_port.assert_called_with(cs=0, freq=16000000, mode=0)
    instance.get_gpio.assert_called_with()
    gpio.set_direction.assert_called_with(0x60, 0x60)
Пример #2
0
def get_device(args):
    if 'emulator' in args and args.emulator:
        import luma.emulator.device
        Device = getattr(luma.emulator.device, args.emulator)
        return Device(**vars(args))
    else:
        from luma.oled.device import ssd1309
        from luma.core.interface.serial import ftdi_spi
        return ssd1309(ftdi_spi(), **vars(args))
Пример #3
0
def test_cleanup(mock_controller):
    gpio = Mock()
    port = Mock()
    instance = Mock()
    instance.get_port = Mock(return_value=port)
    instance.get_gpio = Mock(return_value=gpio)
    mock_controller.side_effect = [instance]

    serial = ftdi_spi(device='ftdi://dummy',
                      bus_speed_hz=16000000,
                      gpio_CS=3,
                      gpio_DC=5,
                      gpio_RST=6)
    serial.cleanup()
    instance.terminate.assert_called_once_with()
Пример #4
0
def test_data(mock_controller):
    data = list(fib(100))
    gpio = Mock()
    port = Mock()
    instance = Mock()
    instance.get_port = Mock(return_value=port)
    instance.get_gpio = Mock(return_value=gpio)
    mock_controller.side_effect = [instance]

    serial = ftdi_spi(device='ftdi://dummy',
                      bus_speed_hz=16000000,
                      gpio_CS=3,
                      gpio_DC=5,
                      gpio_RST=6)
    serial.data(data)
    gpio.write.assert_has_calls([call(0x00), call(0x40), call(0x60)])
    port.write.assert_called_once_with(data)
Пример #5
0
def test_command(mock_controller):
    cmds = [3, 1, 4, 2]
    gpio = Mock()
    port = Mock()
    instance = Mock()
    instance.get_port = Mock(return_value=port)
    instance.get_gpio = Mock(return_value=gpio)
    mock_controller.side_effect = [instance]

    serial = ftdi_spi(device='ftdi://dummy',
                      bus_speed_hz=16000000,
                      gpio_CS=3,
                      gpio_DC=5,
                      gpio_RST=6)
    serial.command(*cmds)
    gpio.write.assert_has_calls([call(0x00), call(0x40), call(0x40)])
    port.write.assert_called_once_with(cmds)
Пример #6
0

def sec_to_min(value):
    minute = 0
    while (value >= 60):
        value -= 60
        minute += 1
    return '{:02}'.format(minute) + ':' + '{:02}'.format(value)


sct = mss()

visualizer = Cava()
visualizer.start()

serial = ftdi_spi('ftdi://ftdi:232h/1', gpio_CS=4, gpio_DC=6, gpio_RST=7)
serial2 = ftdi_spi('ftdi://ftdi:232h/1', gpio_CS=3, gpio_DC=6, gpio_RST=7)
device = ssd1322(serial)
device2 = ssd1322(serial2)

mpd = MPDClient()
mpd.connect('localhost', 6600)

fontMid = ImageFont.truetype('./fonts/DBSTRAIG.TTF', 12)
trkFont = ImageFont.truetype('./fonts/851Gkktt_005.ttf', 12)
albumFont = ImageFont.truetype('./fonts/PixelMplus12-Regular.ttf', 12)
faFont = ImageFont.truetype('/usr/share/fonts/TTF/fa-solid-900.ttf', 12)

gif = Image.open('./gifs/giphy.gif')

#gif = Image.open('./gifs/okabe.gif')
Пример #7
0
 def ftdi_spi(self):
     from luma.core.interface.serial import ftdi_spi
     return ftdi_spi(device=self.opts.ftdi_device,
                     bus_speed_hz=self.opts.spi_bus_speed,
                     gpio_DC=self.opts.gpio_data_command,
                     gpio_RST=self.opts.gpio_reset)
Пример #8
0
#from luma.core.interface.serial import i2c

from PIL import Image, ImageFont, ImageDraw, ImageSequence
from luma.core.interface.serial import ftdi_spi
from luma.core.render import canvas
from luma.oled.device import ssd1322
import time

# serial = i2c(port=1, address=0x3C)

serial = ftdi_spi(device='ftdi://ftdi:2232h/1',
                  gpio_DC=5,
                  gpio_RST=6,
                  bus_speed_hz=20000000)
device = ssd1322(serial)

# Box and text rendered in portrait mode
#with canvas(device) as draw:
#    draw.rectangle(device.bounding_box, outline="white", fill="black")
#    draw.text((10, 40), "Hello World", fill="white")
#
#sleep(10)

gif = Image.open('gifs/kbyd.gif')

while True:
    for i, f in enumerate(ImageSequence.Iterator(gif)):
        img = Image.new('RGB', (256, 64), (0, 0, 0))
        img.paste(f.resize((256, 64)), (0, 0))
        time.sleep(0.005)
 def ftdi_spi(self):
     from luma.core.interface.serial import ftdi_spi
     return ftdi_spi(device=self.opts['ftdi_device'],
                     bus_speed_hz=self.opts['spi_bus_speed'],
                     gpio_DC=self.opts['gpio_data_command'],
                     gpio_RST=self.opts['gpio_reset'])
Пример #10
0
#from luma.core.interface.serial import i2c

from luma.core.interface.serial import ftdi_spi
from luma.core.render import canvas
from luma.oled.device import ssd1322
from time import sleep

# serial = i2c(port=1, address=0x3C)

serial = ftdi_spi(device='ftdi://ftdi:2232h/1', gpio_DC=5, gpio_RST=6)
device = ssd1322(serial)

# Box and text rendered in portrait mode
with canvas(device) as draw:
    draw.rectangle(device.bounding_box, outline="white", fill="black")
    draw.text((10, 40), "Hello World", fill="white")

sleep(10)
Пример #11
0
def val_map(value, in_min, in_max, out_min, out_max):
    return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min


def sec_to_min(value):
    minute = 0
    while (value >= 60):
        value -= 60
        minute += 1
    return '{:02}'.format(minute) + ':' + '{:02}'.format(value)


visualizer = Cava()
visualizer.start()

serial = ftdi_spi(gpio_DC=5, gpio_RST=6)
#serial2 = ftdi_spi(device='ftdi://ftdi:2232h/2', gpio_CS=, gpio_DC=5, gpio_RST=6)
#serial2 = ftdi_spi(device='ftdi://ftdi:2232h/1', gpio_CS=4)
serial2 = ftdi_spi(gpio_CS=4, gpio_DC=5, gpio_RST=6)
device = ssd1322(serial)
device2 = ssd1322(serial2, rotate=2)

mpd = MPDClient()
mpd.connect('localhost', 6600)

fontMid = ImageFont.truetype('./fonts/DBSTRAIG.TTF', 12)
albumFont = ImageFont.truetype('./fonts/851Gkktt_005.ttf', 14)
faFont = ImageFont.truetype('/usr/share/fonts/TTF/fa-solid-900.ttf', 12)

gif = Image.open('./gifs/giphy.gif')