876 lines
21 KiB
Diff
876 lines
21 KiB
Diff
diff --git a/charlcd/demos/lcd_buffered.py b/charlcd/demos/lcd_buffered.py
|
|
deleted file mode 100644
|
|
index 9d1cb27..0000000
|
|
--- a/charlcd/demos/lcd_buffered.py
|
|
+++ /dev/null
|
|
@@ -1,144 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""test script for buffered lcd"""
|
|
-
|
|
-import sys
|
|
-sys.path.append("../../")
|
|
-import RPi.GPIO as GPIO # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import buffered as lcd # NOQA
|
|
-from charlcd.drivers.gpio import Gpio # NOQA
|
|
-from charlcd.drivers.i2c import I2C # NOQA
|
|
-
|
|
-GPIO.setmode(GPIO.BCM)
|
|
-
|
|
-
|
|
-def test1():
|
|
- """demo 20x4 and 16x2"""
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio())
|
|
- lcd_2.init()
|
|
- lcd_2.write('- Blarg !')
|
|
- lcd_2.write('- Grarg !', 0, 1)
|
|
- lcd_2.write('- ALIVE !!!!', 0, 2)
|
|
-
|
|
- lcd_2.flush()
|
|
-
|
|
- lcd_2.write('- ALIVE !!!!.', 0, 2)
|
|
- lcd_2.flush()
|
|
-
|
|
- # lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1), 0, 0)
|
|
- # lcd_1.init()
|
|
- # lcd_1.write('-!Second blarg!')
|
|
- # lcd_1.write("-second line", 0, 1)
|
|
- # lcd_1.flush()
|
|
-
|
|
-
|
|
-def test2():
|
|
- """demo 40x4"""
|
|
- drv = Gpio()
|
|
- drv.pins['E2'] = 10
|
|
- drv.pins['E'] = 24
|
|
- lcd_1 = lcd.CharLCD(40, 4, drv, 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_1.write('- Blarg !')
|
|
- lcd_1.write('- Grarg !', 0, 1)
|
|
- lcd_1.write('- ALIVE !!!!', 0, 2)
|
|
- lcd_1.flush()
|
|
-
|
|
- lcd_1.write('/* ', 19, 0)
|
|
- lcd_1.write('|*|', 19, 1)
|
|
- lcd_1.write(' */', 19, 2)
|
|
-
|
|
- lcd_1.flush()
|
|
-
|
|
-
|
|
-def test3():
|
|
- """demo 16x2"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1), 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_1.set_xy(10, 0)
|
|
- lcd_1.stream("1234567890qwertyuiopasdfghjkl")
|
|
- lcd_1.flush()
|
|
-
|
|
-
|
|
-def test4():
|
|
- """demo 2 screens via i2c"""
|
|
- i2c_20x4 = I2C(0x3b, 1)
|
|
- #i2c_16x2 = I2C(0x25, 1)
|
|
-
|
|
- i2c_20x4.pins = {
|
|
- 'RS': 6,
|
|
- 'E': 4,
|
|
- 'E2': None,
|
|
- 'DB4': 0,
|
|
- 'DB5': 1,
|
|
- 'DB6': 2,
|
|
- 'DB7': 3
|
|
- }
|
|
- # i2c_16x2.pins = {
|
|
- # 'RS': 6,
|
|
- # 'E': 4,
|
|
- # 'E2': None,
|
|
- # 'DB4': 0,
|
|
- # 'DB5': 1,
|
|
- # 'DB6': 2,
|
|
- # 'DB7': 3
|
|
- # }
|
|
- lcd_1 = lcd.CharLCD(20, 4, i2c_20x4)
|
|
- lcd_1.init()
|
|
- lcd_1.set_xy(0, 0)
|
|
- lcd_1.stream("Kab00m")
|
|
- lcd_1.flush()
|
|
-
|
|
- lcd_1.write('siemka', 10, 3)
|
|
- lcd_1.flush(True)
|
|
- lcd_1.shutdown()
|
|
- # lcd_2 = lcd.CharLCD(16, 2, i2c_16x2)
|
|
- # lcd_2.init()
|
|
- # lcd_2.set_xy(0, 0)
|
|
- # lcd_2.stream("1")
|
|
- # lcd_2.flush()
|
|
-
|
|
-
|
|
-def test5():
|
|
- """demo 2 screens via i2c"""
|
|
- i2c_20x4 = I2C(0x3b, 1)
|
|
- #i2c_16x2 = I2C(0x25, 1)
|
|
-
|
|
- i2c_20x4.pins = {
|
|
- 'RS': 6,
|
|
- 'E': 4,
|
|
- 'E2': None,
|
|
- 'DB4': 0,
|
|
- 'DB5': 1,
|
|
- 'DB6': 2,
|
|
- 'DB7': 3
|
|
- }
|
|
-
|
|
- lcd_1 = lcd.CharLCD(20, 4, i2c_20x4)
|
|
- lcd_1.init()
|
|
- lcd_1.add_custom_char(0, [
|
|
- 0x04, 0x0e, 0x0e, 0x0e, 0x0e, 0x1f, 0x04, 0x04
|
|
- ])
|
|
- lcd_1.add_custom_char(1, [
|
|
- 0b00011, 0b00100, 0b11110, 0b01000, 0b11110, 0b01000, 0b00111
|
|
- ])
|
|
- lcd_1.add_custom_char(2, [
|
|
- 0b00000,
|
|
- 0b00000,
|
|
- 0b00000,
|
|
- 0b01010,
|
|
- 0b00000,
|
|
- 0b00100,
|
|
- 0b10001,
|
|
- 0b01110
|
|
- ])
|
|
- lcd_1.set_xy(0, 0)
|
|
- lcd_1.stream("Kab00m")
|
|
- lcd_1.stream(chr(0x00))
|
|
- lcd_1.stream(chr(0x01))
|
|
- lcd_1.write(chr(0x02), 9, 2)
|
|
- lcd_1.flush()
|
|
- # lcd_1.shutdown()
|
|
-
|
|
-
|
|
-test5()
|
|
\ No newline at end of file
|
|
diff --git a/charlcd/demos/lcd_direct.py b/charlcd/demos/lcd_direct.py
|
|
deleted file mode 100644
|
|
index ff92c34..0000000
|
|
--- a/charlcd/demos/lcd_direct.py
|
|
+++ /dev/null
|
|
@@ -1,95 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""test script for direct lcd input"""
|
|
-import sys
|
|
-sys.path.append("../../")
|
|
-import RPi.GPIO as GPIO # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd.drivers.gpio import Gpio # NOQA
|
|
-from charlcd import direct as lcd # NOQA
|
|
-from charlcd.drivers.i2c import I2C # NOQA pylint: disable=I0011,F0401
|
|
-
|
|
-GPIO.setmode(GPIO.BCM)
|
|
-
|
|
-
|
|
-def test1():
|
|
- """demo 16x2 by i2c and 20x4 by gpio"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_1.init()
|
|
- lcd_1.write('-Second blarg !')
|
|
- lcd_1.set_xy(0, 1)
|
|
- lcd_1.write("-second line")
|
|
-
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio())
|
|
- lcd_2.init()
|
|
- lcd_2.write('- Blarg !')
|
|
- lcd_2.write('- Grarg !', 0, 1)
|
|
- lcd_2.set_xy(0, 2)
|
|
- lcd_2.write('- ALIVE !!!!')
|
|
-
|
|
-
|
|
-def test2():
|
|
- """demo - 20x4 by gpio"""
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio())
|
|
- lcd_2.init()
|
|
- lcd_2.write('- Blarg !')
|
|
- lcd_2.write('- Grarg !', 0, 1)
|
|
- lcd_2.set_xy(0, 2)
|
|
- lcd_2.write('- ALIVE !!!!')
|
|
- lcd_2.stream('1234567890qwertyuiopasdfghjkl')
|
|
-
|
|
-
|
|
-def test3():
|
|
- """demo 3 - lcd 40x4 by gpio"""
|
|
- drv = I2C(0x3a, 1)
|
|
- drv.pins['E2'] = 6
|
|
- lcd_1 = lcd.CharLCD(40, 4, drv, 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_1.write('-First blarg1 !')
|
|
- lcd_1.write('-Second blarg2 !', 0, 1)
|
|
- lcd_1.write('-Third blarg3 !', 0, 2)
|
|
- lcd_1.write('-Fourth blarg4 !', 0, 3)
|
|
- lcd_1.write('12345678901234567890', 15, 1)
|
|
- lcd_1.stream('1234567890qwertyuiopasdfghjkl')
|
|
-
|
|
-
|
|
-def test4():
|
|
- """demo 4 - lcd 40x4 by i2c"""
|
|
- drv = I2C(0x3a, 1)
|
|
- drv.pins['E2'] = 6
|
|
- lcd_1 = lcd.CharLCD(40, 4, drv, 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_1.write('-First blarg1 !')
|
|
- lcd_1.write('-Second blarg2 !', 0, 1)
|
|
- lcd_1.write('-Third blarg3 !', 0, 2)
|
|
- lcd_1.write('-Fourth blarg4 !', 0, 3)
|
|
-
|
|
-
|
|
-def test5():
|
|
- """demo 2 screens via i2c"""
|
|
- i2c_20x4 = I2C(0x3b, 1)
|
|
- i2c_20x4.pins = {
|
|
- 'RS': 6,
|
|
- 'E': 4,
|
|
- 'E2': None,
|
|
- 'DB4': 0,
|
|
- 'DB5': 1,
|
|
- 'DB6': 2,
|
|
- 'DB7': 3
|
|
- }
|
|
-
|
|
- lcd_1 = lcd.CharLCD(20, 4, i2c_20x4)
|
|
- lcd_1.init()
|
|
- # lcd_1.set_xy(0, 0)
|
|
- lcd_1.add_custom_char(0, [
|
|
- 0x04, 0x0e, 0x0e, 0x0e, 0x0e, 0x1f, 0x04, 0x04
|
|
- ])
|
|
- lcd_1.add_custom_char(1, [
|
|
- 0b00011, 0b00100, 0b11110, 0b01000, 0b11110, 0b01000, 0b00111
|
|
- ])
|
|
-
|
|
- lcd_1.stream("Kab00mek")
|
|
- lcd_1.stream(chr(0x01))
|
|
- lcd_1.stream(chr(0x00))
|
|
-
|
|
-
|
|
-test5()
|
|
diff --git a/charlcd/demos/lcd_handler.py b/charlcd/demos/lcd_handler.py
|
|
deleted file mode 100644
|
|
index da92700..0000000
|
|
--- a/charlcd/demos/lcd_handler.py
|
|
+++ /dev/null
|
|
@@ -1,52 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""Test script for virtual buffered lcd"""
|
|
-import sys
|
|
-sys.path.append("../../")
|
|
-import RPi.GPIO as GPIO # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import buffered as lcd # NOQA
|
|
-from charlcd.drivers.i2c import I2C # NOQA
|
|
-from charlcd.handler import Handler # NOQA
|
|
-
|
|
-GPIO.setmode(GPIO.BCM)
|
|
-
|
|
-
|
|
-def demo1():
|
|
- """demo: send message to handler"""
|
|
- i2c_20x4 = I2C(0x3b, 1)
|
|
- i2c_20x4.pins = {
|
|
- 'RS': 6,
|
|
- 'E': 4,
|
|
- 'E2': None,
|
|
- 'DB4': 0,
|
|
- 'DB5': 1,
|
|
- 'DB6': 2,
|
|
- 'DB7': 3
|
|
- }
|
|
-
|
|
- lcd_1 = lcd.CharLCD(20, 4, i2c_20x4)
|
|
- lcd_1.init()
|
|
-
|
|
- message = {
|
|
- 'protocol': 'iot:1',
|
|
- 'node': 'computer',
|
|
- 'chip_id': 'd45656b45afb58b1f0a46',
|
|
- 'event': 'lcd.content',
|
|
- 'parameters': {
|
|
- 'content': [
|
|
- '12345678901234567890',
|
|
- 'abcdefghijklmnopqrst',
|
|
- '12345678901234567890',
|
|
- 'abcdefghijklmnopqrst',
|
|
- ]
|
|
- },
|
|
- 'targets': [
|
|
- 'ALL'
|
|
- ]
|
|
- }
|
|
-
|
|
- handler = Handler(lcd_1)
|
|
- handler.handle(message)
|
|
-
|
|
-
|
|
-demo1()
|
|
diff --git a/charlcd/demos/lcd_virtual_buffered.py b/charlcd/demos/lcd_virtual_buffered.py
|
|
deleted file mode 100644
|
|
index 6ef33ed..0000000
|
|
--- a/charlcd/demos/lcd_virtual_buffered.py
|
|
+++ /dev/null
|
|
@@ -1,164 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""Test script for virtual buffered lcd"""
|
|
-import sys
|
|
-sys.path.append("../../")
|
|
-import RPi.GPIO as GPIO # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import buffered as lcd # NOQA
|
|
-from charlcd.drivers.gpio import Gpio # NOQA
|
|
-from charlcd.drivers.i2c import I2C # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import virtual_buffered as vlcd # NOQA
|
|
-
|
|
-GPIO.setmode(GPIO.BCM)
|
|
-
|
|
-
|
|
-def test1():
|
|
- """demo: 16x2 + 20x4 = 20x6"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(20, 6)
|
|
- vlcd_1.add_display(0, 0, lcd_2)
|
|
- vlcd_1.add_display(0, 4, lcd_1)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_1.write('First line')
|
|
- vlcd_1.write('Second line', 0, 1)
|
|
- vlcd_1.write('Fifth Line', 0, 4)
|
|
-
|
|
- vlcd_1.set_xy(4, 2)
|
|
- vlcd_1.write('third line')
|
|
-
|
|
- vlcd_1.flush()
|
|
-
|
|
-
|
|
-def test2():
|
|
- """demo: 16x2 + 20x4 = 36x4"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(36, 4)
|
|
-
|
|
- vlcd_1.add_display(0, 0, lcd_2)
|
|
- vlcd_1.add_display(20, 0, lcd_1)
|
|
- vlcd_1.init()
|
|
- vlcd_1.write('test me 123456789qwertyuiopasdfghjkl12')
|
|
- vlcd_1.flush()
|
|
-
|
|
-
|
|
-def test3():
|
|
- """demo: 16x2 + 20x4 = 16x6"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(16, 6)
|
|
- vlcd_1.add_display(0, 0, lcd_2, 4, 0)
|
|
- vlcd_1.add_display(0, 4, lcd_1)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_1.write('1234567890123456')
|
|
- vlcd_1.set_xy(0, 1)
|
|
- vlcd_1.write('2')
|
|
- vlcd_1.write('3', 0, 2)
|
|
- vlcd_1.write('4', 0, 3)
|
|
- vlcd_1.write('5', 0, 4)
|
|
- vlcd_1.write('6', 0, 5)
|
|
-
|
|
- vlcd_1.flush()
|
|
-
|
|
-
|
|
-def test4():
|
|
- """demo: 16x2 + 20x4 = 10x2"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(10, 2)
|
|
- vlcd_1.add_display(0, 0, lcd_1, 11)
|
|
- vlcd_1.add_display(5, 0, lcd_2)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_1.write('1234567890123456')
|
|
- vlcd_1.write('-', 0, 0)
|
|
- vlcd_1.write('/', 0, 1)
|
|
- vlcd_1.write('*', 9, 1)
|
|
- vlcd_1.write('#', 9, 0)
|
|
- vlcd_1.write('!', 5, 1)
|
|
- vlcd_1.write('+', 4, 1)
|
|
-
|
|
- vlcd_1.flush()
|
|
-
|
|
-
|
|
-def test5():
|
|
- """demo: 16x2 + 20x4 = 10x2 and 8x2"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(10, 2)
|
|
- vlcd_1.add_display(0, 0, lcd_1, 11)
|
|
- vlcd_1.add_display(5, 0, lcd_2)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_2 = vlcd.CharLCD(8, 2)
|
|
- vlcd_2.add_display(0, 0, lcd_1)
|
|
- vlcd_2.init()
|
|
-
|
|
- vlcd_1.write('1234567890123456')
|
|
- vlcd_1.write('-', 0, 0)
|
|
- vlcd_1.write('/', 0, 1)
|
|
- vlcd_1.write('*', 9, 1)
|
|
- vlcd_1.write('#', 9, 0)
|
|
- vlcd_1.write('!', 5, 1)
|
|
- vlcd_1.write('+', 4, 1)
|
|
-
|
|
- vlcd_2.write("1", 0, 0)
|
|
- vlcd_2.write("2", 0, 1)
|
|
- vlcd_2.write("3", 7, 0)
|
|
- vlcd_2.write("4", 7, 1)
|
|
-
|
|
- vlcd_1.flush()
|
|
- vlcd_2.flush()
|
|
-
|
|
-
|
|
-def test6():
|
|
- """demo: 40x4 = 20x4 + 20x4"""
|
|
- drv = I2C(0x3a, 1)
|
|
- drv.pins['E2'] = 6
|
|
- lcd_1 = lcd.CharLCD(40, 4, drv, 0, 0)
|
|
- vlcd_1 = vlcd.CharLCD(20, 4)
|
|
- vlcd_1.add_display(0, 0, lcd_1)
|
|
-
|
|
- vlcd_2 = vlcd.CharLCD(20, 4)
|
|
- vlcd_2.add_display(0, 0, lcd_1, 20)
|
|
-
|
|
- vlcd_1.init()
|
|
- vlcd_2.init()
|
|
-
|
|
- vlcd_1.write('-First blarg1 !')
|
|
- vlcd_1.write('-Second blarg2 !', 0, 1)
|
|
- vlcd_1.write('-Third blarg3 !', 0, 2)
|
|
- vlcd_1.write('-Fourth blarg4 !', 0, 3)
|
|
-
|
|
- vlcd_1.flush()
|
|
-
|
|
- vlcd_2.write('-First blarg1 !')
|
|
- vlcd_2.write('-Second blarg2 !', 0, 1)
|
|
- vlcd_2.write('-Third blarg3 !', 0, 2)
|
|
- vlcd_2.write('-Fourth blarg4 !', 0, 3)
|
|
-
|
|
- vlcd_2.flush()
|
|
-
|
|
-
|
|
-def test7():
|
|
- """demo: 16x2 + 20x4 = 10x2"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(5, 2)
|
|
- vlcd_1.add_display(0, 0, lcd_1, 11)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_1.stream('1234567890qwertyui')
|
|
-
|
|
- vlcd_1.flush()
|
|
-
|
|
-
|
|
-test7()
|
|
diff --git a/charlcd/demos/lcd_virtual_direct.py b/charlcd/demos/lcd_virtual_direct.py
|
|
deleted file mode 100644
|
|
index 5541d63..0000000
|
|
--- a/charlcd/demos/lcd_virtual_direct.py
|
|
+++ /dev/null
|
|
@@ -1,165 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""test script for virtual direct lcd"""
|
|
-import sys
|
|
-sys.path.append("../../")
|
|
-import RPi.GPIO as GPIO # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import direct as lcd # NOQA
|
|
-from charlcd.drivers.gpio import Gpio # NOQA
|
|
-from charlcd.drivers.i2c import I2C # NOQA pylint: disable=I0011,F0401
|
|
-from charlcd import virtual_direct as vlcd # NOQA
|
|
-
|
|
-GPIO.setmode(GPIO.BCM)
|
|
-
|
|
-
|
|
-def test1():
|
|
- """demo: 16x2 + 20x4 = 20x6 top, down"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_2.init()
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(20, 6)
|
|
- vlcd_1.add_display(0, 0, lcd_2)
|
|
- vlcd_1.add_display(2, 4, lcd_1)
|
|
-
|
|
- vlcd_1.write('test me 123456789qwertyuiop')
|
|
-
|
|
- vlcd_1.set_xy(2, 0)
|
|
- vlcd_1.write('1')
|
|
- vlcd_1.write('2', 2, 1)
|
|
- vlcd_1.write('3', 2, 2)
|
|
- vlcd_1.set_xy(2, 3)
|
|
- vlcd_1.write('4')
|
|
- vlcd_1.write('5', 2, 4)
|
|
- vlcd_1.write('6', 2, 5)
|
|
-
|
|
- vlcd_1.set_xy(3, 4)
|
|
- vlcd_1.write('-Second blarg !')
|
|
- vlcd_1.set_xy(4, 5)
|
|
- vlcd_1.write("-second line")
|
|
-
|
|
- vlcd_1.set_xy(11, 3)
|
|
- vlcd_1.stream("two liner and screener")
|
|
-
|
|
-
|
|
-def test2():
|
|
- """demo: 16x2 + 20x4 = 36x4 left, right"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_2.init()
|
|
- vlcd_1 = vlcd.CharLCD(36, 4)
|
|
- vlcd_1.add_display(0, 0, lcd_2)
|
|
- vlcd_1.add_display(20, 0, lcd_1)
|
|
- vlcd_1.write('test me 123456789qwertyuiopasdfghjkl12')
|
|
-
|
|
-
|
|
-def test3():
|
|
- """demo: 16x2 + 20x4 = 16x6 (offset)"""
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_2.init()
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(16, 6)
|
|
- vlcd_1.add_display(0, 0, lcd_2, 4, 0)
|
|
- vlcd_1.add_display(0, 4, lcd_1)
|
|
-
|
|
- vlcd_1.set_xy(0, 0)
|
|
- vlcd_1.write('1234567890123456')
|
|
- vlcd_1.set_xy(0, 1)
|
|
- vlcd_1.write('2')
|
|
- vlcd_1.set_xy(0, 2)
|
|
- vlcd_1.write('3')
|
|
- vlcd_1.set_xy(0, 3)
|
|
- vlcd_1.write('4')
|
|
- vlcd_1.set_xy(0, 4)
|
|
- vlcd_1.write('5')
|
|
- vlcd_1.write('6', 0, 5)
|
|
-
|
|
-
|
|
-def test4():
|
|
- """demo: 16x2 + 20x4 = 10x2 - offset left right """
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
- lcd_1.init()
|
|
- lcd_2.init()
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(10, 2)
|
|
- vlcd_1.add_display(0, 0, lcd_1, 11)
|
|
- vlcd_1.add_display(5, 0, lcd_2)
|
|
-
|
|
- vlcd_1.write('1234567890123456')
|
|
- vlcd_1.write('/', 0, 1)
|
|
- vlcd_1.write('*', 9, 1)
|
|
- vlcd_1.write('-', 0, 0)
|
|
- vlcd_1.write('#', 9, 0)
|
|
-
|
|
- vlcd_1.set_xy(5, 1)
|
|
- vlcd_1.write('!')
|
|
-
|
|
- vlcd_1.set_xy(4, 1)
|
|
- vlcd_1.write('+')
|
|
-
|
|
-
|
|
-def test5():
|
|
- """demo: 16x2 + 20x4 = 10x2 + 8x2 - offset left right """
|
|
- lcd_1 = lcd.CharLCD(16, 2, I2C(0x20, 1))
|
|
- lcd_2 = lcd.CharLCD(20, 4, Gpio(), 0, 0)
|
|
-
|
|
- vlcd_1 = vlcd.CharLCD(10, 2)
|
|
- vlcd_1.add_display(0, 0, lcd_1, 11)
|
|
- vlcd_1.add_display(5, 0, lcd_2)
|
|
- vlcd_1.init()
|
|
-
|
|
- vlcd_2 = vlcd.CharLCD(8, 2)
|
|
- vlcd_2.add_display(0, 0, lcd_1)
|
|
- vlcd_2.init()
|
|
-
|
|
- vlcd_1.write('1234567890123456')
|
|
-
|
|
- vlcd_1.write('/', 0, 1)
|
|
- vlcd_1.set_xy(9, 1)
|
|
- vlcd_1.write('*')
|
|
- vlcd_1.write('-', 0, 0)
|
|
- vlcd_1.set_xy(9, 0)
|
|
- vlcd_1.write('#')
|
|
- vlcd_1.write('!', 5, 1)
|
|
- vlcd_1.write('+', 4, 1)
|
|
-
|
|
- vlcd_2.set_xy(0, 0)
|
|
- vlcd_2.write('#')
|
|
- vlcd_2.write('#', 7, 0)
|
|
- vlcd_2.write('#', 7, 1)
|
|
- vlcd_2.write('#', 0, 1)
|
|
-
|
|
-
|
|
-def test6():
|
|
- """demo: 40x4 = 20x4 + 20x4"""
|
|
- drv = I2C(0x3a, 1)
|
|
- drv.pins['E2'] = 6
|
|
- lcd_1 = lcd.CharLCD(40, 4, drv, 0, 0)
|
|
- vlcd_1 = vlcd.CharLCD(20, 4)
|
|
- vlcd_1.add_display(0, 0, lcd_1)
|
|
-
|
|
- vlcd_2 = vlcd.CharLCD(20, 4)
|
|
- vlcd_2.add_display(0, 0, lcd_1, 20)
|
|
-
|
|
- vlcd_1.init()
|
|
- vlcd_2.init()
|
|
-
|
|
- vlcd_1.write('-First blarg1 !')
|
|
- vlcd_1.write('-Second blarg2 !', 0, 1)
|
|
- vlcd_1.write('-Third blarg3 !', 0, 2)
|
|
- vlcd_1.write('-Fourth blarg4 !', 0, 3)
|
|
-
|
|
- vlcd_2.write('-First blarg1 !')
|
|
- vlcd_2.write('-Second blarg2 !', 0, 1)
|
|
- vlcd_2.write('-Third blarg3 !', 0, 2)
|
|
- vlcd_2.write('-Fourth blarg4 !', 0, 3)
|
|
- vlcd_1.set_xy(15, 2)
|
|
- vlcd_1.stream('1234567890qwertyuiopasdfghjkl')
|
|
-
|
|
-
|
|
-test6()
|
|
diff --git a/charlcd/demos/lcd_wifi_content.py b/charlcd/demos/lcd_wifi_content.py
|
|
deleted file mode 100644
|
|
index e27d2ed..0000000
|
|
--- a/charlcd/demos/lcd_wifi_content.py
|
|
+++ /dev/null
|
|
@@ -1,29 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""test script for wifi-content lcd input"""
|
|
-import sys
|
|
-from iot_message import message
|
|
-sys.path.append("../../")
|
|
-from charlcd.drivers.wifi_content import WiFi # NOQA
|
|
-from charlcd import buffered as charlcd # NOQA
|
|
-
|
|
-
|
|
-def test1():
|
|
- """test flush"""
|
|
- msg = message.Message('node-40x4')
|
|
- drv = WiFi(msg, ['node-40x4'], ('192.168.1.255', 5053))
|
|
- lcd = charlcd.CharLCD(40, 4, drv)
|
|
- lcd.init()
|
|
- lcd.write('- Blarg !')
|
|
- lcd.write('- Grarg !', 0, 1)
|
|
- lcd.write('- ALIVE !!!!', 0, 2)
|
|
- lcd.flush()
|
|
-
|
|
- lcd.write('/* ', 19, 0)
|
|
- lcd.write('|*|', 19, 1)
|
|
- lcd.write(' */', 19, 2)
|
|
-
|
|
- lcd.flush()
|
|
-
|
|
-
|
|
-test1()
|
|
diff --git a/charlcd/demos/lcd_wifi_direct.py b/charlcd/demos/lcd_wifi_direct.py
|
|
deleted file mode 100644
|
|
index 9382d54..0000000
|
|
--- a/charlcd/demos/lcd_wifi_direct.py
|
|
+++ /dev/null
|
|
@@ -1,46 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-"""test script for wifi-direct lcd input"""
|
|
-import sys
|
|
-from iot_message import message
|
|
-sys.path.append("../../")
|
|
-from charlcd.drivers.wifi_direct import WiFi # NOQA
|
|
-from charlcd import direct as charlcd # NOQA
|
|
-
|
|
-
|
|
-def test1():
|
|
- """test 40x4 set & write"""
|
|
- msg = message.Message('node-40x4')
|
|
- drv = WiFi(msg, ['node-40x4'], ('192.168.1.255', 5053))
|
|
- lcd = charlcd.CharLCD(40, 4, drv)
|
|
- lcd.init()
|
|
- lcd.set_xy(10, 2)
|
|
- lcd.write('-Second blarg !')
|
|
- lcd.set_xy(10, 1)
|
|
- lcd.write("-second line")
|
|
-
|
|
-
|
|
-def test2():
|
|
- """test stream"""
|
|
- msg = message.Message('node-40x4')
|
|
- drv = WiFi(msg, ['node-40x4'], ('192.168.1.255', 5053))
|
|
- lcd = charlcd.CharLCD(40, 4, drv)
|
|
- lcd.init()
|
|
- lcd.stream('1234567890qwertyuiopasdfghjkl')
|
|
-
|
|
-
|
|
-def test3():
|
|
- """demo 3 - lcd 40x4 and write with xy"""
|
|
- msg = message.Message('node-40x4')
|
|
- drv = WiFi(msg, ['node-40x4'], ('192.168.1.255', 5053))
|
|
- lcd = charlcd.CharLCD(40, 4, drv)
|
|
- lcd.init()
|
|
- lcd.write('-First blarg1 !')
|
|
- lcd.write('-Second blarg2 !', 0, 1)
|
|
- lcd.write('-Third blarg3 !', 0, 2)
|
|
- lcd.write('-Fourth blarg4 !', 0, 3)
|
|
- lcd.write('12345678901234567890', 15, 1)
|
|
- lcd.stream('1234567890qwertyuiopasdfghjkl')
|
|
-
|
|
-
|
|
-test3()
|
|
diff --git a/charlcd/drivers/gpio.py b/charlcd/drivers/gpio.py
|
|
deleted file mode 100644
|
|
index 08e4337..0000000
|
|
--- a/charlcd/drivers/gpio.py
|
|
+++ /dev/null
|
|
@@ -1,131 +0,0 @@
|
|
-#!/usr/bin/python
|
|
-# -*- coding: utf-8 -*-
|
|
-# pylint: disable=I0011,W0231
|
|
-"""Driver for lcd. Uses GPIO outputs
|
|
-Examples:
|
|
-l = lcd.CharLCD(20, 4, Gpio())
|
|
-
|
|
-g = Gpio()
|
|
-g.pins = {
|
|
- 'RS': 24,
|
|
- 'E': 17,
|
|
- 'E2': None,
|
|
- 'DB4': 27,
|
|
- 'DB5': 25,
|
|
- 'DB6': 23,
|
|
- 'DB7': 22
|
|
-}
|
|
-l = lcd.CharLCD(20, 4, g)
|
|
-"""
|
|
-
|
|
-import time
|
|
-import RPi.GPIO as GPIO # pylint: disable=I0011,F0401
|
|
-from charlcd.drivers.base import BaseDriver
|
|
-
|
|
-
|
|
-class Gpio(BaseDriver):
|
|
- """Gpio LCD driver"""
|
|
- def __init__(self):
|
|
- """pins in 4bit mode"""
|
|
- self.pins = {
|
|
- 'RS': 25, # 0 ->instruction, 1->data
|
|
- 'E': 24,
|
|
- 'E2': None,
|
|
- 'DB4': 22,
|
|
- 'DB5': 23,
|
|
- 'DB6': 27,
|
|
- 'DB7': 17
|
|
- }
|
|
- self.data_pins = [
|
|
- 'DB4',
|
|
- 'DB5',
|
|
- 'DB6',
|
|
- 'DB7'
|
|
- ]
|
|
- self.mode = 8
|
|
- self.initialized = False
|
|
-
|
|
- def init(self):
|
|
- """Set gpio pins"""
|
|
- if self.initialized:
|
|
- return
|
|
- for pin in self.pins:
|
|
- if self.pins[pin] is not None:
|
|
- GPIO.setup(self.pins[pin], GPIO.OUT)
|
|
- GPIO.output(self.pins[pin], 0)
|
|
-
|
|
- self.initialized = True
|
|
-
|
|
- def cmd(self, char, enable=0):
|
|
- """Write output as command. Sets RS to 0
|
|
- Args:
|
|
- char: hex to write
|
|
- """
|
|
- GPIO.output(self.pins['RS'], 0)
|
|
- self.write(char, enable)
|
|
-
|
|
- def shutdown(self):
|
|
- """Clean GPIO pins"""
|
|
- used_pins = [pin for pin in self.pins.values() if pin is not None]
|
|
- GPIO.cleanup(used_pins)
|
|
-
|
|
- def send(self, enable=0):
|
|
- """Send E signal"""
|
|
- if enable == 0:
|
|
- pin = self.pins['E']
|
|
- elif enable == 1:
|
|
- pin = self.pins['E2']
|
|
-
|
|
- if pin is None:
|
|
- raise IndexError("Wrong enable index")
|
|
-
|
|
- GPIO.output(pin, 1)
|
|
- time.sleep(0.005)
|
|
- GPIO.output(pin, 0)
|
|
-
|
|
- def _write8(self, char, enable=0):
|
|
- """Write 8 bits"""
|
|
- self._write(char)
|
|
- self.send(enable)
|
|
-
|
|
- def _write4(self, char, enable=0):
|
|
- """Prepare and write 4/4 bits"""
|
|
- data = (char >> 4)
|
|
- self._write(data)
|
|
- self.send(enable)
|
|
-
|
|
- data = (char & 0x0F)
|
|
- self._write(data)
|
|
- self.send(enable)
|
|
-
|
|
- def _write(self, data):
|
|
- """Write to gpio"""
|
|
- for i in self.data_pins:
|
|
- value = data & 0x01
|
|
- GPIO.output(self.pins[i], value)
|
|
- data >>= 1
|
|
-
|
|
- def write(self, char, enable=0):
|
|
- """Write char to lcd
|
|
- Args:
|
|
- char: hex char to write
|
|
- """
|
|
- if self.mode == 4:
|
|
- self._write4(char, enable)
|
|
- else:
|
|
- self._write8(char, enable)
|
|
-
|
|
- def char(self, char, enable=0):
|
|
- """Write char to lcd
|
|
- Args:
|
|
- char: char to write
|
|
- """
|
|
- GPIO.output(self.pins['RS'], 1)
|
|
- self.write(ord(char), enable)
|
|
-
|
|
- def set_mode(self, mode):
|
|
- """Set lcd mode
|
|
- Args:
|
|
- mode: 4 | 8 bit mode
|
|
- """
|
|
- self.mode = mode
|