# SPDX-FileCopyrightText: 2023 Liz Clark for Adafruit Industries # SPDX-FileCopyrightText: Adapted from Phil B.'s 16bit_hello Arduino Code # SPDX-License-Identifier: MIT # Updated 2026 at Iffy Books, wtfpl import gc import math from random import randint import time import displayio import picodvi import board import framebufferio import vectorio import terminalio import simpleio from adafruit_bitmap_font import bitmap_font from adafruit_display_text import label, wrap_text_to_lines from adafruit_display_shapes.rect import Rect from adafruit_display_shapes.circle import Circle from adafruit_display_shapes.roundrect import RoundRect from adafruit_display_shapes.triangle import Triangle from adafruit_display_shapes.line import Line import random # pin defs for DVI Sock displayio.release_displays() fb = picodvi.Framebuffer(320, 240, clk_dp=board.GP14, clk_dn=board.GP15, red_dp=board.GP12, red_dn=board.GP13, green_dp=board.GP18, green_dn=board.GP19, blue_dp=board.GP16, blue_dn=board.GP17, color_depth=8) display = framebufferio.FramebufferDisplay(fb) bitmap = displayio.Bitmap(display.width, display.height, 3) red = 0xff0000 yellow = 0xcccc00 orange = 0xff5500 blue = 0x0000ff pink = 0xff00ff purple = 0x5500ff white = 0xffffff green = 0x00ff00 aqua = 0x125690 palette = displayio.Palette(3) palette[0] = 0x000000 # black palette[1] = white palette[2] = yellow palette.make_transparent(0) tile_grid = displayio.TileGrid(bitmap, pixel_shader=palette) group = displayio.Group() def clean_up(group_name): for _ in range(len(group_name)): group_name.pop() gc.collect() def widget0(): gc.collect() text_block="It works!!!" text_area = label.Label(terminalio.FONT, text=text_block, color=yellow) text_area.anchor_point = (0.5, 0.4) x_position = (display.width/2) y_position = (display.height/2) x_increasing = True y_increasing = False while True: text_area.anchored_position = (x_position, y_position) group.append(text_area) time.sleep(0.04) clean_up(group) if x_increasing: x_position += 1 else: x_position -= 1 if y_increasing: y_position += 1 else: y_position -= 1 if x_position==display.width or x_position==0: if x_increasing: x_increasing = False else: x_increasing = True if y_position==display.width or y_position==0: if y_increasing: y_increasing = False else: y_increasing = True display.root_group = group while True: #custom_font() #bitmap_example() #text_align() #show_shapes() #sine_chart() widget0() #widget1() #sensor_values()