self.last_state = 0 self.event = keypad.Event(0, False) self.last_z_press = None def get_pressed(self): buttons = self.last_state events = self.keys.events while events: if events.get_into(self.event): bit = 1 << self.event.key_number if self.event.pressed: buttons |= bit self.last_state |= bit else: self.last_state &= ~bit if buttons & K_Z: now = time.monotonic() if self.last_z_press: if now - self.last_z_press > 2: supervisor.reload() else: self.last_z_press = now else: self.last_z_press = None return buttons display = board.DISPLAY buttons = _Buttons() audio = stage.Audio(board.P5)
b"\x3a\x01\x05" # COLMOD - 16bit color b"\xe0\x10\x02\x1c\x07\x12\x37\x32\x29\x2d\x29\x25\x2B\x39\x00\x01\x03\x10" # _GMCTRP1 Gamma b"\xe1\x10\x03\x1d\x07\x06\x2E\x2C\x29\x2D\x2E\x2E\x37\x3F\x00\x00\x02\x10" # _GMCTRN1 b"\x13\x80\x0a" # _NORON b"\x29\x80\x64" # _DISPON ) displayio.release_displays() _tft_spi = busio.SPI(clock=board.TFT_SCK, MOSI=board.TFT_MOSI) _tft_spi.try_lock() _tft_spi.configure(baudrate=24000000) _tft_spi.unlock() _fourwire = displayio.FourWire(_tft_spi, command=board.TFT_DC, chip_select=board.TFT_CS) _reset = digitalio.DigitalInOut(board.TFT_RST) _reset.switch_to_output(value=0) time.sleep(0.05) _reset.value = 1 time.sleep(0.05) display = displayio.Display(_fourwire, _TFT_INIT, width=160, height=128, rotation=0, backlight_pin=board.TFT_LITE) del _TFT_INIT display.auto_brightness = True buttons = gamepadshift.GamePadShift( digitalio.DigitalInOut(board.BUTTON_CLOCK), digitalio.DigitalInOut(board.BUTTON_OUT), digitalio.DigitalInOut(board.BUTTON_LATCH), ) audio = stage.Audio(board.SPEAKER, board.SPEAKER_ENABLE)
""" import board import digitalio import analogio import gamepad import stage K_X = 0x01 K_DOWN = 0x02 K_LEFT = 0x04 K_RIGHT = 0x08 K_UP = 0x10 K_O = 0x20 K_START = 0x00 K_SELECT = 0x00 display = board.DISPLAY buttons = gamepad.GamePad( digitalio.DigitalInOut(board.X), digitalio.DigitalInOut(board.DOWN), digitalio.DigitalInOut(board.LEFT), digitalio.DigitalInOut(board.RIGHT), digitalio.DigitalInOut(board.UP), digitalio.DigitalInOut(board.O), ) audio = stage.Audio(board.SPEAKER, board.MUTE) battery = analogio.AnalogIn(board.BATTERY)