Beispiel #1
0
def test():
    """Test code."""
    
    display=Display(spi,SPI_CS,SPI_DC)
    display.clear()
    x, y = 0, 0
    angle = 0.0
    #  Loop all angles from 0 to 2 * PI radians
    while angle < PI2:
        # Calculate x, y from a vector with known length and angle
        x = int(CENTER_X * sin(angle) + HALF_WIDTH)
        y = int(CENTER_Y * cos(angle) + HALF_HEIGHT)
        color = color565(*hsv_to_rgb(angle / PI2, 1, 1))
        c0 = color & 0xff
        c1 = color >> 8
        # print("color: {:02x} {:02x}".format(c1,c0))
        display.draw_line(x, y, CENTER_X, CENTER_Y, color)
        angle += ANGLE_STEP_SIZE

    sleep(5)
    
    display.clear()
    for r in range(CENTER_X, 0, -1):
        color = color565(*hsv_to_rgb(r / HALF_WIDTH, 1, 1))
        display.draw_filledCircle(CENTER_X, CENTER_Y, r, color)

    sleep(9)
    display.cleanup()
Beispiel #2
0
def test():
    """Test code."""
    display = Display(spi, SPI_CS, SPI_DC)
    display.clear()

    display.draw_text(0, 0, 'Hello World!', sysfont, color565(255, 0, 0))
    display.text(20, 20, 'Good bye World!', color565(255, 0, 0))
    display.draw_text(10,
                      100,
                      'Hello World!',
                      sysfont,
                      color565(255, 0, 0),
                      landscape=True)
    sleep(9)
    display.cleanup()
Beispiel #3
0
 def game_over(self):
     """Display game over."""
     game_over_width = len('GAME OVER') * (self.xfont.width() + 1)
     self.display.draw_text(
         (self.display.width // 2) - (game_over_width // 2),
         int(self.display.height / 1.5), 'GAME OVER', self.xfont,
         color565(255, 255, 255))
def test():
    """Bouncing box."""
    display=Display(spi,SPI_CS,SPI_DC)
    try:

        display.clear()

        colors = [color565(255, 0, 0),
                  color565(0, 255, 0),
                  color565(0, 0, 255),
                  color565(255, 255, 0),
                  color565(0, 255, 255),
                  color565(255, 0, 255)]
        sizes = [12, 11, 10, 9, 8, 7]
        boxes = [Box(128, 128, sizes[i], display,
                 colors[i]) for i in range(6)]

        while True:
            timer = ticks_us()
            for b in boxes:
                b.update_pos()
                b.draw()
            # Attempt to set framerate to 30 FPS
            timer_dif = 33333 - ticks_diff(ticks_us(), timer)
            if timer_dif > 0:
                sleep_us(timer_dif)

    except KeyboardInterrupt:
        display.cleanup()
Beispiel #5
0
def test_circles():
    """Test code."""
    print("Test circles")
    display.clear()
    for i in range(50):
        r = random(6)
        x0 = r[0] // 2
        y0 = r[1] // 2
        radius = r[2] // 4
        red = r[3]
        green = r[4]
        blue = r[5]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_circle(x0, y0, radius, c)
Beispiel #6
0
    def __init__(self, display):
        """Initialize score.

        Args:
            display (SSD1351): OLED display.
        """
        margin = 5
        self.display = display
        self.xfont = NeatoReduced5x7
        self.display.draw_text(margin, 0, 'SCORE:', self.xfont,
                               color565(255, 0, 0))
        text_length = len('SCORE') * (self.xfont.width() + 1)
        self.x = text_length + margin
        self.y = 0
        self.value = 0
        self.draw()
Beispiel #7
0
def test_rectangles():
    """Test code."""
    print("Test rectangles")
    display.clear()
    for i in range(50):
        r = random(7)
        x0 = r[0] // 2
        y0 = r[1] // 2
        w = r[2] // 2
        h = r[3] // 2
        red = r[4]
        green = r[5]
        blue = r[6]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_rectangle(x0, y0, w, h, c)
Beispiel #8
0
def test_lines():
    """Test code."""
    print("Test lines")
    display.clear()
    for i in range(50):
        r = random(7)
        x0 = r[0] // 2
        y0 = r[1] // 2
        x1 = r[2] // 2
        y1 = r[3] // 2
        red = r[4]
        green = r[5]
        blue = r[6]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_line(x0, y0, x1, y1, c)
Beispiel #9
0
if sys.platform == 'esp32':
    print('1.4 inch TFT screen test on ESP32')
    sck = Pin(18)
    miso = Pin(19)
    mosi = Pin(23)
    SPI_CS = 26
    SPI_DC = 5
    spi = SPI(2, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)

tft = Display(spi, SPI_CS, SPI_DC)
# Fonts
import fonts.arial10 as arial10
import fonts.freesans20 as freesans20

GREEN = color565(0, 255, 0)
RED = color565(255, 0, 0)
BLUE = color565(0, 0, 255)
YELLOW = color565(255, 255, 0)
BLACK = 0
CWriter.set_textpos(tft, 0, 0)  # In case previous tests have altered it
wri = CWriter(tft, arial10, GREEN, BLACK, verbose=False)
wri.set_clip(True, True, False)


class Point():
    def __init__(self, dial):
        self.dial = dial
        self.val = 0 + 0j
        self.color = None
Beispiel #10
0
def test():
    """Test code."""
    display=Display(spi,SPI_CS,SPI_DC)
    print('display started')

    display.clear(color565(64, 0, 255))
    sleep(1)

    display.clear()

    display.draw_hline(10, 127, 63, color565(255, 0, 255))
    sleep(1)

    display.draw_vline(10, 0, 127, color565(0, 255, 255))
    sleep(1)

    display.draw_filledRectangle(23, 50, 30, 75, color565(255, 255, 255))
    sleep(1)

    display.draw_hline(0, 0, 127, color565(255, 0, 0))
    sleep(1)

    display.draw_line(127, 0, 64, 127, color565(255, 255, 0))
    sleep(2)

    display.clear()

    coords = [[0, 63], [78, 80], [122, 92], [50, 50], [78, 15], [0, 63]]
    display.draw_lines(coords, color565(0, 255, 255))
    sleep(1)

    display.clear()
    display.draw_filledPolygon(7, 63, 63, 50, color565(0, 255, 0))
    sleep(1)

    display.draw_filledRectangle(0, 0, 15, 127, color565(255, 0, 0))
    sleep(1)

    display.clear()

    display.draw_filledRectangle(0, 0, 63, 63, color565(128, 128, 255))
    sleep(1)

    display.draw_rectangle(0, 64, 63, 63, color565(255, 0, 255))
    sleep(1)

    display.draw_filledRectangle(64, 0, 63, 63, color565(128, 0, 255))
    sleep(1)

    display.draw_polygon(3, 96, 96, 30, color565(0, 64, 255),
                         rotate=15)
    sleep(3)

    display.clear()

    display.draw_filledCircle(32, 32, 30, color565(0, 255, 0))
    sleep(1)

    display.draw_circle(32, 96, 30, color565(0, 0, 255))
    sleep(1)

    display.draw_filledEllipse(96, 32, 30, 16, color565(255, 0, 0))
    sleep(1)

    display.draw_ellipse(96, 96, 16, 30, color565(255, 255, 0))

    sleep(5)
    display.cleanup()
Beispiel #11
0
def test():
    """Test code."""
    display = Display(spi, SPI_CS, SPI_DC)
    display.clear()

    display.text(0, 0, 'Arcade Pix 9x11', color565(255, 0, 0), ArcadePix9x11)
    display.text(0, 12, 'Bally 7x9', color565(0, 255, 0), Bally7x9)
    display.text(0, 23, 'Broadway', color565(0, 0, 255), Broadway17x15)
    display.text(0, 36, 'Espresso', color565(0, 255, 255), EspressoDolce18x24)
    display.text(0, 64, 'Fixed Font 5x8', color565(255, 0, 255), FixedFont5x8)
    display.text(0, 76, 'Neato 5x7', color565(255, 255, 0), Neato5x7)
    display.text(0, 85, 'Robotron 7x11', color565(255, 255, 255), Robotron7x11)
    display.text(0, 96, 'Unispace', color565(255, 128, 0), Unispace12x24)
    display.text(0, 120, 'Wendy 7x8', color565(255, 0, 128), Wendy7x8)
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 127,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 landscape=True)
    display.text(12,
                 127,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 landscape=True)
    display.text(23,
                 127,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 landscape=True)
    display.text(36,
                 127,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 landscape=True)
    display.text(63,
                 127,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 landscape=True)
    display.text(76,
                 127,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 landscape=True)
    display.text(85,
                 127,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 landscape=True)
    display.text(96,
                 127,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 landscape=True)
    display.text(120,
                 127,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 landscape=True)
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 0,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 background=color565(0, 255, 255))
    display.text(0,
                 12,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 background=color565(0, 0, 128))
    display.text(0,
                 23,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 background=color565(255, 255, 0))
    display.text(0,
                 36,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 background=color565(255, 0, 0))
    display.text(0,
                 64,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 background=color565(0, 128, 0))
    display.text(0,
                 76,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 background=color565(0, 0, 255))
    display.text(0,
                 85,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 background=color565(128, 128, 128))
    display.text(0,
                 96,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 background=color565(0, 128, 255))
    display.text(0,
                 120,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 background=color565(255, 255, 255))
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 127,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 background=color565(0, 255, 255),
                 landscape=True)
    display.text(12,
                 127,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 background=color565(0, 0, 128),
                 landscape=True)
    display.text(23,
                 127,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 background=color565(255, 255, 0),
                 landscape=True)
    display.text(36,
                 127,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 background=color565(255, 0, 0),
                 landscape=True)
    display.text(64,
                 127,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 background=color565(0, 128, 0),
                 landscape=True)
    display.text(76,
                 127,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 background=color565(0, 0, 255),
                 landscape=True)
    display.text(85,
                 127,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 background=color565(128, 128, 128),
                 landscape=True)
    display.text(96,
                 127,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 background=color565(0, 128, 255),
                 landscape=True)
    display.text(120,
                 127,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 background=color565(255, 255, 255),
                 landscape=True)
    display.show()
    sleep(5)
    display.cleanup()
Beispiel #12
0
 def draw(self):
     """Draw score value."""
     self.display.draw_text(self.x, self.y, str(self.value), self.xfont,
                            color565(255, 255, 255))
Beispiel #13
0
import cmath
import math
import utime
import uos
from writer import Writer, CWriter
from fplot import PolarGraph, PolarCurve, CartesianGraph, Curve, TSequence
from nanogui import Label, refresh

refresh(st7735)

# Fonts
import fonts.arial10 as arial10
import fonts.freesans20 as freesans20

GREEN = color565(0, 255, 0)
RED = color565(255, 0, 0)
BLUE = color565(0, 0, 255)
YELLOW = color565(255, 255, 0)
WHITE = color565(255, 255, 255)
BLACK = 0
LIGHTGREEN = color565(0, 100, 0)

CWriter.set_textpos(st7735, 0, 0)  # In case previous tests have altered it
wri = CWriter(st7735, arial10, GREEN, BLACK, verbose=False)
wri.set_clip(True, True, False)


def seq():
    print('Time sequence test - sine and cosine.')
    refresh(st7735, True)  # Clear any prior image