from typing import * # extmod/modtrezormsg/modtrezormsg.c class HID: ''' USB HID interface configuration. ''' def __init__(self, iface_num: int, ep_in: int, ep_out: int, report_desc: bytes, subclass: int = 0, protocol: int = 0, polling_interval: int = 1, max_packet_len: int = 64) -> None: ''' ''' # extmod/modtrezormsg/modtrezormsg.c class VCP: ''' USB VCP interface configuration. ''' def __init__(self, iface_num: int, data_iface_num: int, ep_in: int, ep_out: int, ep_cmd: int) -> None: ''' ''' # extmod/modtrezormsg/modtrezormsg.c class USB: ''' USB device configuration. ''' def __init__(self, vendor_id: int, product_id: int, release_num: int, manufacturer_str: str, product_str: str, serial_number_str: str, configuration_str: str = '', interface_str: str = '') -> None: ''' ''' # extmod/modtrezormsg/modtrezormsg.c class Msg: ''' Interface with USB and touch events. ''' def __init__(self) -> None: ''' ''' def init_usb(self, usb_info: USB, usb_ifaces: List[Union[HID, VCP]]) -> None: ''' Registers passed interfaces and initializes the USB stack. ''' def deinit_usb(self) -> None: ''' Cleans up the USB stack ''' def send(self, iface: int, message: bytes) -> int: ''' Sends message using USB HID (device) or UDP (emulator). ''' def select(self, timeout_us: int) -> tuple: ''' Polls the event queue and returns the event object. Function returns None if timeout specified in microseconds is reached. '''