M5STACK AtomS3 128x128 (GC9107)

https://docs.m5stack.com/en/core/AtomS3

tft_configs/atom_s3/tft_config.py

 1"""M5STACK AtomS3 128x128 (GC9107)
 2
 3https://docs.m5stack.com/en/core/AtomS3
 4
 5"""
 6
 7from machine import Pin, SPI
 8import st7789py as st7789
 9
10TFA = 1
11BFA = 3
12WIDE = 1
13TALL = 0
14SCROLL = 0      # orientation for scroll.py
15FEATHERS = 1    # orientation for feathers.py
16
17def config(rotation=0):
18    """
19    Configures and returns an instance of the ST7789 display driver.
20
21    Args:
22        rotation (int): The rotation of the display (default: 0).
23
24    Returns:
25        ST7789: An instance of the ST7789 display driver.
26    """
27
28    return st7789.ST7789(
29        SPI(2, baudrate=40000000, sck=Pin(17), mosi=Pin(21), miso=None),
30        128,
31        128,
32        reset=Pin(34, Pin.OUT),
33        cs=Pin(15, Pin.OUT),
34        dc=Pin(33, Pin.OUT),
35        backlight=Pin(16, Pin.OUT),
36        rotation=rotation,
37        color_order=st7789.BGR,
38    )

tft_configs/atom_s3/tft_buttons.py

M5STACK AtomS3 buttons

 1"""
 2M5STACK AtomS3 buttons
 3"""
 4
 5from machine import Pin
 6
 7class Buttons():
 8    """
 9    Buttons class for examples, modify for your device.
10
11    Attributes:
12        name (str): The name of the device.
13        left (Pin): The Pin object representing the left button.
14        right (Pin): The Pin object representing the right button.
15        fire (Pin): The Pin object representing the fire button.
16        thrust (Pin): The Pin object representing the thrust button.
17        hyper (Pin): The Pin object representing the hyper button.
18    """
19
20    def __init__(self):
21        self.name = "AtomS3"
22        self.left = None
23        self.right = None
24        self.fire = None
25        self.thrust = None
26        self.hyper = None