Simple test

Ensure your device works with this simple test.

examples/macropad_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2021 Kattni Rembor for Adafruit Industries
 2#
 3# SPDX-License-Identifier: Unlicense
 4"""
 5Simpletest demo for MacroPad. Prints the key pressed, the relative position of the rotary
 6encoder, and the state of the rotary encoder switch to the serial console.
 7"""
 8
 9import time
10
11from adafruit_macropad import MacroPad
12
13macropad = MacroPad()
14
15while True:
16    key_event = macropad.keys.events.get()
17    if key_event and key_event.pressed:
18        print(f"Key pressed: {key_event.key_number}")
19    print(f"Encoder: {macropad.encoder}")
20    print(f"Encoder switch: {macropad.encoder_switch}")
21    time.sleep(0.4)
examples/macropad_grid_layout.py
 1# SPDX-FileCopyrightText: Copyright (c) 2021 Kattni Rembor for Adafruit Industries
 2#
 3# SPDX-License-Identifier: Unlicense
 4"""
 5Grid layout demo for MacroPad. Displays the key pressed in a grid matching the key layout on the
 6built-in display.
 7"""
 8
 9import displayio
10import terminalio
11from adafruit_display_text import bitmap_label as label
12from adafruit_displayio_layout.layouts.grid_layout import GridLayout
13
14from adafruit_macropad import MacroPad
15
16macropad = MacroPad()
17
18main_group = displayio.Group()
19macropad.display.root_group = main_group
20title = label.Label(
21    y=4,
22    font=terminalio.FONT,
23    color=0x0,
24    text="      KEYPRESSES      ",
25    background_color=0xFFFFFF,
26)
27layout = GridLayout(x=0, y=10, width=128, height=54, grid_size=(3, 4), cell_padding=1)
28labels = []
29for _ in range(12):
30    labels.append(label.Label(terminalio.FONT, text=""))
31
32for index in range(12):
33    x = index % 3
34    y = index // 3
35    layout.add_content(labels[index], grid_position=(x, y), cell_size=(1, 1))
36
37main_group.append(title)
38main_group.append(layout)
39
40while True:
41    key_event = macropad.keys.events.get()
42    if key_event:
43        if key_event.pressed:
44            labels[key_event.key_number].text = f"KEY{key_event.key_number}"
45        else:
46            labels[key_event.key_number].text = ""