Simple test

Ensure your device works with this simple test.

examples/rotaryselect_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2024 Tim C
 2#
 3# SPDX-License-Identifier: MIT
 4"""
 5Minimal example that demonstrates RotarySelect widget.
 6Made to run on any device with built-in display at least 240px large.
 7Automatic selection advancement so as not to need any other hardware
 8integration or requirements.
 9"""
10
11import time
12
13import board
14import displayio
15import terminalio
16import vectorio
17from adafruit_display_text.bitmap_label import Label
18
19from rotaryselect import RotarySelect
20
21last_position = None
22
23SCREEN_RADIUS = 120
24
25main_group = displayio.Group()
26
27board.DISPLAY.root_group = main_group
28
29items_list = []
30
31items_list = [
32    "vectorio.Circle,0xff00ff,17,Strawberry",
33    "vectorio.Circle,0xffff00,17,Pineapple",
34    "vectorio.Circle,0x00ffff,17,Apple",
35    "vectorio.Circle,0x00ff00,17,Pear",
36    "vectorio.Circle,0xff0000,17,Cherry",
37    "vectorio.Circle,0x0000ff,17,Blueberry",
38    "vectorio.Circle,0xff9900,17,Orange",
39]
40
41selected_lbl = Label(terminalio.FONT, text="", scale=2)
42selected_lbl.anchor_point = (0.5, 0.5)
43selected_lbl.anchored_position = (120, 120)
44
45# Outline Style Indicator
46rotary_select = RotarySelect(
47    120,
48    120,
49    94,
50    items_list,
51    indicator_r=45 // 2,
52    indicator_color=0xFFFFFF,
53    indicator_stroke=3,
54    label=selected_lbl,
55)
56
57# Dot Style Indicator
58# rotary_select = RotarySelect(
59#     120,
60#     120,
61#     94,
62#     items_list,
63#     indicator_r=8 // 2,
64#     indicator_color=0xFFFFFF,
65#     indicator_type=RotarySelect.INDICATOR_TYPE_DOT,
66#     indicator_offset=26,
67#     label=selected_lbl,
68# )
69
70
71main_group.append(rotary_select)
72main_group.append(selected_lbl)
73
74while True:
75    rotary_select.move_selection_up()
76    time.sleep(1)