adafruit / Adafruit_CircuitPython_DisplayIO_Layout

A Circuitpython helper library for display element layout using displayio.
MIT License
10 stars 14 forks source link

File Copy Error and Corruption in CircuitPython Device (switch_round.py) #93

Closed Axlfc closed 3 months ago

Axlfc commented 3 months ago

Description:

When attempting to copy the file switch_round.py into my CircuitPython device (drive E: named CIRCUITPY), the file becomes corrupted with strange characters, and the following error message appears:

No puede copiar el archivo debido a un error inesperado. Si sigue recibiendo este error, puede usar el código de error para buscar ayuda para este problema.

Error 0x800701 B1: Se ha especificado un dispositivo que no existe.

Steps to Reproduce:

  1. Connect the CircuitPython device to the computer.
  2. Copy the file switch_round.py from the source directory to the CIRCUITPY drive at directory E:\lib\adafruit_displayio_layout\widgets.
  3. Observe the error message during the copy process.
  4. After copying, open the switch_round.py file on the CIRCUITPY drive.

Actual Behavior:

Additional Information:

Content on the resultant file:

# SPDX-FileCopyrightText: 2021 Kevin Matocha
#
# SPDX-License-Identifier: MIT
"""

`switch_round`
================================================================================
A sliding switch widget with a round shape.

* Author(s): Kevin Matocha

Implementation Notes
--------------------

**Hardware:**

**Software and Dependencies:**

* Adafruit CircuitPython firmware for the supported boards:
  https://github.com/adafruit/circuitpython/releases

"""

################################
# A round switch widget for CircuitPython, using displayio and adafruit_display_shapes
#
# Features:
#  - Color grading as the switch animates between the off and on states
#  - Option to display 0 or 1 to confirm the switch state (display_button_text=True)
#  - Provides setting for animation_time (approximate), and adapts redraw rate based on real time.
#
# Future options to consider:
# ---------------------------
# different orientations (horizontal, vertical, flipped)
#

import time
from adafruit_display_shapes.circle import Circle
from adafruit_display_shapes.roundrect import RoundRect
from adafruit_display_shapes.rect import Rect
from adafruit_displayio_layout.widgets.widget import Widget
from adafruit_displayio_layout.widgets.control import Control

# modify the "easing" function that is imported to change the switch animation behaviour
from adafruit_displayio_layout.widgets.easing import back_easeinout as easing

try:
    from typing import Any, Optional, Tuple, Union
except ImportError:
    pass

__version__ = "0.0.0+auto.0"
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"

class SwitchRound(Widget, Control):

    """
    .. note:: Jump directly to:

        - :ref:`SwitchRound: Input parameters <parameters>`
        - :ref:`SwitchRound: Methods <methods>`
        - :ref:`SwitchRound: Description of implementation <links>`

    .. _parameters:

    :param int x: pixel position, defaults to 0
    :param int y: pixel position, defaults to 0
    :param int width: width of the switch in pixels, if set to None (**recommended**)
     the width will auto-size relative to the height, defaults to None
    :param int height: height of the switch in pixels, defaults to 40 pixels
    :param int touch_padding: the width of an additional border surrounding the switch
     that extends the touch response boundary, defaults to 0
    :param Boolean horizontal: To set vertical orientation, set ``horizontal``
     to False, defaults to True
    :param Boolean flip: Setting ``flip`` to True will flip the on and off
     direction, default is True
    :param float anchor_point: (X,Y) values from 0.0 to 1.0 to define the anchor
     point relative to the switch bounding box, default is None
    :param int anchored_position: (x,y) pixel value for the location
     of the anchor_point, default is None
    :param fill_color_off: (*RGB tuple
     or 24-bit hex value*) switch off-state fill color, default is ``(66, 44, 66)`` gray.
    :param fill_color_on: (*RGB tuple
     or 24-bit hex value*) switch on-state fill color, default is ``(0, 100, 0)`` green.
    :param outline_color_off: (*RGB tuple
     or 24-bit hex value*) switch off-state outline color, default is ``(30, 30, 30)``
     dark gray.
    :param outline_color_on: (*RGB tuple
     or 24-bit hex value*) switch on-state outline color, default is ``(0, 60, 0)`` green
    :param background_color_off: (*RGB tuple
     or 24-bit hex value*) background off-state color, default is ``(255, 255, 255)`` white
    :param background_color_on: (*RGB tuple
     or 24-bι?ΐ{7@ξ                 <ˆ  2TΝ«            9.1.0-beta.3                    circuitpython                   20:28:06        May 22 2024     da9dc379                        ΆT¦1˜„5l"‹~©NSΜq$~G8ŸY›™0D‡                                                                                __dir__ *   <module>    __call__    __class__   __delitem__ __enter__   __exit__    __getattr__ __getitem__ __hash__    __init__    __int__ __iter__    __len__ __main__    __module__  __name__    __new__ __next__    __qualname__    __repr__    __setitem__ __str__ ArithmeticError AssertionError  AttributeError  BaseException   EOFError    Ellipsis    GeneratorExit   ImportError IndentationError    IndexError  KeyError    KeyboardInterrupt   LookupError MemoryError NameError   NoneType    NotImplementedError OSError OverflowError   RuntimeError    StopIteration   SyntaxError SystemExit  TypeError   ValueError  ZeroDivisionError   abs any append  args    bool    builtins    bytearray   bytecode    callable    chr classmethod clear   close   const   copy    dict    divmod  endswith    eval    exec    extend  find    format  from_bytes  get getattr globals hasattr hash    id  insert  isalpha isdigit isinstance  islower isspace issubclass  isupper join    key len little  locals  lower   lstrip  main    micropython next    object  open    ord pop popitem pow print   read    readinto    readline    remove  replace repr    reverse rfind   rindex  round   rsplit  rstrip  self    send    sep set setattr setdefault  sort    sorted  split   startswith  staticmethod    step    stop    str strip   sum super   throw   to_bytes    tuple   update  upper   utf-8   values  write   zip __abs__ __add__ __and__ __bool__    __complex__ __contains__    __delete__  __divmod__  __eq__  __float__   __floordiv__    __ge__  __get__ __gt__  __iadd__    __invert__  __isub__    __le__  __lshift__  __lt__  __matmul__  __mod__ __mul__ __ne__  __neg__ __or__  __pos__ __pow__ __radd__    __rand__    __rfloordiv__   __rlshift__ __rmatmul__ __rmod__    __rmul__    __ror__ __rpow__    __rrshift__ __rshift__  __rsub__    __rtruediv__    __rxor__    __set__ __sub__ __truediv__ __xor__ %#o %#x {:#b}   <lambda>    <listcomp>  <dictcomp>  <setcomp>   <genexpr>   <string>    <stdin> /lib    <input> ABS ADD_DIV ADD_SUB AES AF_INET AF_INET6    ATTACK  AUTO_RELOAD Adapter AddressRange    AnalogIn    AnalogOut   Architecture    Atkinson    Attribute   AuthMode    BGR BGR555  BGR555_SWAPPED  BGR565  BGR565_SWAPPED  BOOT0   BOOTLOADER  BROADCAST   BROWNOUT    BUS_OFF BUTTON  Biquad  Bitmap  BlendMode   BlockInput  BluetoothError  BrokenPipeError BufferedIn  BuiltinFont BusDisplay  BusState    ByteArray   BytesIO CAN CH  CIRCUITPYTHON_TERMINAL  CONSTRAINED_LERP    CONSUMER_CONTROL    CancelledError  ChannelMixer    ChannelMixerOffset  ChannelScale    ChannelScaleOffset  Characteristic  CharacteristicBuffer    Circle  ColorConverter  ColorSpace  Colorspace  Connection  ConnectionError Counter D1  D2  DECAY   DEEP_SLEEP_ALARM    DISPLAY DIV_ADD DOWN    DeepSleepRequest    DemuxKeyMatrix  Descriptor  Device  DigitalInOut    Direction   Display DitherAlgorithm DriveMode   EACCES  EADDRINUSE  EAGAIN  EAI_NONAME  EALREADY    EBADF   ECONNABORTED    ECONNREFUSED    ECONNRESET  EEXIST  EHOSTUNREACH    EINPROGRESS EINVAL  EIO EISDIR  ENCRYPT_NO_MITM ENCRYPT_WITH_MITM   ENOBUFS ENODEV  ENOENT  ENOMEM  ENOTCONN    ENTERPRISE  EOPNOTSUPP  EPERM   EPaperDisplay   ERROR_ACTIVE    ERROR_PASSIVE   ERROR_WARNING   ESPNow  ESPNowPacket    ETIMEDOUT   EVEN    Edge    Envelope    EnvelopeState   Event   EventQueue  ExtType FALL    FLASH_WRITE_FAIL    FONT    FSM FileIO  Flash   FloydStenberg   FourWire    FramebufferDisplay  FrequencyIn FutureWarning   GC_ALLOC_OUTSIDE_VM GPIO0   GPIO1   GPIO10  GPIO11  GPIO12  GPIO13  GPIO14  GPIO15  GPIO16  GPIO17  GPIO18  GPIO19  GPIO2   GPIO20  GPIO21  GPIO26  GPIO27  GPIO28  GPIO29  GPIO3   GPIO30  GPIO31  GPIO32  GPIO33  GPIO34  GPIO35  GPIO36  GPIO37  GPIO38  GPIO39  GPIO4   GPIO40  GPIO41  GPIO42  GPIO43  GPIO44  GPIO45  GPIO46  GPIO47  GPIO48  GPIO5   GPIO6   GPIO7   GPIO8   GPIO9   GifWriter   Glyph   Group   HARD_FAULT  Hash    I2C I2CDevice   I2CDisplay  I2CDisplayBus   I2SOut  I2S_BIT_CLOCK   I2S_DATA    I2S_WORD_SELECT IDFError    INDICATE    INTERRUPT_ERROR IOBase  IPPROTO_ICMP    IPPROTO_IP  IPPROTO_IPV6    IPPROTO_RAW IPPROTO_TCP IPPROTO_UDP IP_MULTICAST_TTL    IPv4Address IR_TX   IncrementalEncoder  JpegDecoder KB_A_0  KB_A_1  KB_A_2  KB_COL_0    KB_COL_1    KB_COL_2    KB_COL_3    KB_COL_4    KB_COL_5    KB_COL_6    KEYBOARD    KeyMatrix   Keys    L8  LEN LESC_ENCRYPT_WITH_MITM  LFO Listener    MAX MIC_CLK MIC_DATA    MID MIN MISO    MODE_CBC    MODE_CTR    MODE_ECB    MOUSE   MP3Decoder  MUL_DIV Match   Math    MathOperation   Max3421E    Message MidiTrack   Mixer   MixerVoice  Monitor NEOPIXEL    NLR_JUMP_FAIL   NONE    NORMAL  NOTIFY  NO_ACCESS   NO_CIRCUITPY    NO_HEAP Network None    Normal  Note    ODD OFFSET_SCALE    OPEN    OPEN_DRAIN  OUTPUT  OnDiskBitmap    OnDiskGif   OneWire OrderedDict PDMIn   POLLERR POLLHUP POLLIN  POLLOUT PORTA1  PORTA2  PORTA_I2C   POWER_ON    PRODUCT PROGRAMMATIC    PSK PUBLIC  PUSH_PULL   PWMOut  Packet  PacketBuffer    Palette ParallelBus Parity  Peer    Peers   Pin PinAlarm    PixelBuf    PixelMap    Polygon PortIn  PortOut Processor   Ps2 buffer  Ps2 Pull    PulseIn PulseOut    Q   RAISE   RANDOM_PRIVATE_NON_RESOLVABLE   RANDOM_PRIVATE_RESOLVABLE   RANDOM_STATIC   READ    RELEASE REPL_RELOAD RESCUE_DEBUG    RESET_PIN   RGB555  RGB555_SWAPPED  RGB565  RGB565_SWAPPED  RGB888  RGBMatrix   RISCV   RISE    RISE_AND_FALL   RSSI    RTC RX  Radio   RawSample   ReadableBuffer  Rectangle   ReloadException RemoteService   RemoteTransmissionRequest   ResetReason RoleError   RunMode RunReason   Runtime SAFE_MODE   SCALE_OFFSET    SDCard  SDK_FATAL_ERROR SD_CS   SD_MISO SD_MOSI SD_SCK  SD_SPI  SH1107_addressing   SIGNED_NO_MITM  SIGNED_WITH_MITM    SOCK_DGRAM  SOCK_RAW    SOCK_STREAM SOFTWARE    SOL_SOCKET  SO_REUSEADDR    SPIDevice   SSLContext  SSLSocket   STACK_OVERFLOW  STARTUP SUM SUPERVISOR_RELOAD   SUSTAIN SafeModeReason  ScaleMixer  ScaleMixerOffset    ScanEntry   ScanResults ScannedNetworks Screen  SecurityError   Sequence    Serial  Server  Service SharpMemoryFramebuffer  ShiftRegisterKeys   SleepMemory Socket  SocketPool  Station Status_Bar  StopAsyncIteration  StringIO    Synthesizer TCP_NODELAY TFT_BACKLIGHT   TFT_BL  TFT_CS  TFT_DATA    TFT_DC  TFT_MOSI    TFT_RESET   TFT_RS  TFT_RST TFT_SCK TFT_SPI TX  Task    TaskQueue   Terminal    TextIOWrapper   TileGrid    TimeAlarm   TimeoutError    TouchAlarm  TouchIn True    UART    UF2 ULP ULPAlarm    UNKNOWN UP  USBDevices  USBError    USBTimeoutError USB_BOOT_DEVICE_NOT_INTERFACE_ZERO  USB_TOO_MANY_ENDPOINTS  USB_TOO_MANY_INTERFACE_NAMES    USER    UUID    UnicodeError    VectorShape VfsFat  WATCHDOG    WEP WPA WPA2    WPA3    WRITE   WRITE_NO_RESPONSE   Warning WatchDogMode    WatchDogTimeout WatchDogTimer   WaveFile    WifiRadioStation    WritableBuffer  __aenter__  __aexit__   __aiter__   __anext__   __await__   __bases__   __build_class__ __bytes__   __cause__   __context__ __del__ __dict__    __file__    __future__  __import__  __path__    __repl_print__  __reversed__    __suppress_context__    __traceback__   __version__ _asyncio    _bleio  _canio  _machine    _mpy    _pixelmap   _task_queue _transmit   a1  a2  a2b_base64  accept  acos    acosh   active  adafruit_bus_device adafruit_bus_device.i2c_device  adafruit_bus_device.spi_device  adafruit_pixelbuf   add add_frame   add_to_characteristic   add_to_service  address_bytes   address_little_endian   address_type    advanced_color_epaper   advertise_service   advertisement_bytes advertising aesio   alarm   algorithm   alphablend  always_toggle_chip_select   amplitude   analogbufio analogio    annotations anonymous   ap_active   ap_info appendleft  arange  arch    arctan2 argmax  argmin  argsort argv    around  arrayblit   asarray asin    asinh   atan    atan2   atanh   atexit  attach_kernel_driver    attack_level    attack_time audio_control_interface_name    audiobusio  audiocore   audiomixer  audiomp3    authmode    auto_refresh    auto_restart    auto_write  autoreload  axis    b0  b1  b2  b2a_base64  bRequest    b_add   backlight_on_high   backlight_pin   backlight_pwm_frequency band_pass_filter    base    baudrate    bb  bend    bg  big bin binascii    bind    bisect  bit_clock   bit_depth   bit_length  bitbangio   bitmap  bitmapfilter    bitmaptools bits    bits_per_pixel  bits_per_sample bits_per_value  bitwise_and bitwise_or  bitwise_xor black_bits_inverted ble_workflow    blend   blend_precompute    blendmode   blit    block_size  bmRequestType   board   board_id    bond    bound_method    boundary_fill   bpp br  brightness  brightness_command  bssid   buffer_size buffering   busdisplay  busio   busy    busy_pin    busy_state  byteorder   bytes_per_cell  byteswap    cadata  cafile  calcsize    calibration cancel  canio   capath  capture_period  cast    category    ceil    center  certfile    chain   change  channel channel_count   characteristic  characteristics chdir   check_hostname  chip_select cho_solve   choice  cholesky    circuitpython   clear_errors    clip    clock_pin   closure codeop  codepoint   collect collections color   color_bits_inverted color_count color_depth color_index colorspace  colorwheel  colstart    column  column_pins columns_to_anodes   comments    compile compile_command complex compress    concatenate configure   connect connectable connection_interval console contains    convert convolve    copysign    coro    coroutine   cos cosh    counter countio country cpu crc32   create_default_context  cross   cs  cs_active_value ctrl    ctrl_transfer   cts cur_task    data    data0   data_as_commands    data_or_wLength data_pin    data_pins   data_source datetime    ddof    debounce_threshold  decay_time  decimals    decode  decompress  decrypt_into    default default_tile    degrees deinit  delattr delay_us    delete  deleter delimiter   deque   descriptors dest    dest_bitmap dest_clip0  dest_clip1  det detach_kernel_driver    device_address  devices diag    dict_view   diff    difference  difference_update   digest  digest_size digitalinout    digitalio   directed_to direction   dirty   disable disable_concurrent_write_protection disable_interrupts  disable_usb_drive   discard disconnect  discover_remote_services    display_bus displayio   dither  divisor doc done    dot doublebuffer    draw_circle draw_line   draw_polygon    drive_mode  dtype   dualbank    dump    dumps   duty_cycle  dx  dy  edge    edgeitems   eig element_size    empty   enable  enable_interrupts   enable_usb_drive    enabled encode  encoding    encrypt_into    encrypted   endpoint    enumerate   envelope    epaperdisplay   epoch_time  erase_bonding   erase_filesystem    erase_nvs   erf erfc    errno   error_location  errorcode   espidf  espnow  espulp  event   exit    exit_and_deep_sleep_until_alarms    exp expm1   ext_hook    extended    extra_clocks    eye f0  fabs    factor_1    factor_2    false_color family  fatol   feed    fft filename    filename2   filesystem  fill    fill_color_value    fill_region fill_row    filter  find_all    fixed_length    flags   flash   flat    flatiter    flatten flip    flip_x  flip_y  float   floor   flush   fmin    fmod    font    fontio  footer  format_exception    fourwire    frame_count framebuffer framebufferio   frequency   frequencyin frequencyio frexp   from_file   from_int16_buffer   from_int32_buffer   from_uint16_buffer  from_uint32_buffer  frombuffer  fromhex fromkeys    frozenset   full    function    g_add   gaierror    gamma   gammaln gateway gb  gc  generator   get_boot_device get_bounding_box    get_glyph   get_into    get_last_received_report    get_previous_traceback  get_printoptions    get_rtc_gpio_number get_total_psram getaddrinfo getcwd  getenv  getlocale   getmount    getpass getrandbits getter  getvalue    gg  gifio   gr  grayscale   group   groups  half_duplex halt    hashlib header  heap_caps_get_free_size heap_caps_get_largest_free_block    heap_caps_get_total_size    help    hexlify hidden  high_pass_filter    highlight_color host    hostname    i   i2c i2c_bus i2cdisplaybus   idProduct   idVendor    idle_state  ifft    ilistdir    imag    implementation  in_buffer   in_end  in_jack_name    in_report_lengths   in_start    in_waiting  incoming_packet_length  indicate    indices inf init_sequence   initial_value   inplace input   input_colorspace    instance_name   int16   int8    interp  interpolate intersection    intersection_update interval    inv invert  ioctl   ip_address  ipaddress   ipoll   ipv4    ipv4_dns    ipv4_gateway    ipv4_gateway_ap ipv4_subnet ipv4_subnet_ap  irq is_kernel_driver_active is_transparent  isdisjoint  isenabled   isfinite    isinf   isnan   issubset    issuperset  itemsize    iterable    iterator    jdi_display jpegio  keepends    key_count   key_number  key_number_to_row_column    key_size    keyfile keypad  keypad_demux    label   last    latch   latch_pin   ldexp   left    left_justified  left_shift  light_sleep_until_alarms    limit   linalg  linspace    listdir listen  lmk load_cert_chain load_verify_locations   loads   loadtxt locale  localtime   location    log log10   log2    logspace    lookup  loop    loopback    lost    low_pass_filter mac mac_address mac_address_ap  machine main_clock  make_opaque make_transparent    manufacturer    mask    match   match_all   matches math    max max3421e    max_connections max_delay   max_events  max_length  max_packet_length   max_packet_size max_polyphony   max_rows    maximum maxiter maxlen  maxsize mdns    mean    median  mem_alloc   mem_free    memorymap   memoryview  message microcontroller midi_to_hz  min min_delay   minimum minimum_frames_per_second   minimum_rssi    miso    mix mkdir   mkfs    mktime  modf    modify  module  modules monotonic   monotonic_ns    monotonic_time  morph   mosi    mount   mount_path  move_to_end msg msgpack mul namedtuple  nan native_frames_per_second    ndarray ndinfo  neopixel_write  netmask network_interface   new newline newton  next_frame  nodename    nonzero norm    not_equal   note    note_info   notify  num numpy   nvm obj oct offset  on_next_reset   once    ones    onewireio   operation   optimize    os  otypes  out_buffer  out_end out_jack_name   out_report_lengths  out_start   out_waiting outgoing_packet_length  output_enable_pin   overflowed  ox  oy  pack    pack_into   packed  packet  pair    paired  palette_index   panning paralleldisplay paralleldisplaybus  parity  partition   password    path    pause   paused  peek    peer    peers   pend_throw  ph_key  phase   phase_offset    phy_rate    pi  pid pin pin_a   pin_b   ping    pixel_shader    pixelbuf    pixels_in_byte_share_row    platform    playing points  polarity    poll    polyfit polyval pop_head    popleft ports   position    prefixes    preserve_dios   press   pressed print_exception probe   product program prompt  properties  property    proto   protocol    protocol_audiosample    protocol_draw   protocol_framebuffer    protocol_vfs    ps2io   pull    pulseio push    push_head   push_sorted pwmio   px  pystack exhausted   qr  queue   queued  r_add   radians radio   radius  rainbowio   ram_height  ram_width   randint random  randrange   raw_value   rb  read_bit    read_failure    read_perm   read_success    readblocks  readfrom_into   readlines   readonly    real    receive receive_error_count receiver_buffer_size    recv_into   recvfrom_into   reduced reference_voltage   refresh_display_command refresh_time    register    rekey   release release_all release_all_then_press  release_displays    release_then_press  release_time    released    reload_on_error reload_on_success   remote  remount rename  replaced_color_value    report  report_descriptor   report_id 0 report_id   report_ids  reset_input_buffer  reset_output_buffer reset_reason    reset_terminal  reshape restart resume  retrigger   retstep reverse_bytes_in_word   reverse_pixels_in_byte  reverse_pixels_in_element   reverse_rows    reversed    rg  rgb_pins    rgb_status_brightness   rgbmatrix   right   right_shift ring_bend   ring_frequency  ring_waveform   ring_waveform_loop_end  ring_waveform_loop_start    rmdir   rms_level   roll    root_group  rotaryio    rotation    rotozoom    row row_addr_pins   row_column_to_key_number    row_pins    rowstart    rpartition  rs485_dir   rs485_invert    rtc rtol    rts run run_mode    run_reason  runtime rx  safe_mode_reason    sample  sample_rate samples_decoded samples_signed  save    savetxt scan    scan_response   scipy   scl scroll_area scroll_area_height  scroll_area_width   sda sdcardio    search  secondary   seconds seconds_per_frame   security_mode   seed    seek    segment_size    select  send_failure    send_report send_success    sendall sendcmd sendto  separators  serial_bytes_available  serial_connected    serial_number   serpentine  server_hostname server_side service service_type    service_uuids_whitelist set_adapter set_cccd    set_column_command  set_column_window_command   set_configuration   set_current_column_command  set_current_row_command set_default_verify_paths    set_interface_name  set_ipv4_address    set_ipv4_address_ap set_names   set_next_code_file  set_pmk set_printoptions    set_row_command set_row_window_command  set_time_source set_usb_identification  set_vertical_scroll setblocking setsockopt  setter  settimeout  shape   sharpdisplay    shift_x shift_y show    signal  silent  simplefilter    sin sinc    single  single_byte_bounds  sinh    size_or_buffer  skip_dest_index skip_index  skip_source1_index  skip_source2_index  skip_source_index   skiprows    sleep   sleep_memory    slice   sock    socket  socketpool  solarize    solve_triangular    sos sosfilt source  source_bitmap   source_bitmap_1 source_bitmap_2 source_clip0    source_clip1    source_colorspace   span    special spectrogram spi spi_bus splitlines  sqrt    src1    src2    ssid    ssl start_advertising   start_ap    start_channel   start_dhcp  start_dhcp_ap   start_scan  start_scanning_networks start_sequence  start_station   start_up_time   stat    state   stations_ap status_bar  statvfs std stderr  stdin   stdout  sticky_on_error sticky_on_reload    sticky_on_success   stop_advertising    stop_ap stop_channel    stop_dhcp   stop_dhcp_ap    stop_scan   stop_scanning_networks  stop_sequence   stop_station    stop_voice  storage stream  streaming_interface_name    strerror    strides struct  struct_time sub supervisor  sustain_level   swap_bytes_in_element   switch  switch_to_input switch_to_output    symbol  symmetric_difference    symmetric_difference_update sync    synthio synthio_block   sys sysname table   tan tanh    target_frames_per_second    tb  tell    temperature tempo   terminalio  threshold   ticks_ms    tile_height tile_index  tile_width  time_to_refresh timeout timestamp   tm_hour tm_isdst    tm_mday tm_min  tm_mon  tm_sec  tm_wday tm_yday tm_year tobytes toggle_every_byte   tol tolist  touch   touchio trace   traceback   trailer transmit_error_count    transpose   transpose_xy    trapz   trigger_duration    trunc   try_lock    two_byte_sequence_length    tx  tx_power    txt_records uid uint16  uint8   ulab    ulab.numpy  ulab.numpy.fft  ulab.numpy.linalg   ulab.scipy  ulab.scipy.linalg   ulab.scipy.optimize ulab.scipy.signal   ulab.scipy.special  ulab.utils  ulp umount  uname   unhexlify   uniform union   unlink  unlock  unpack  unpack_from unregister  update_refresh_mode urandom usage   usage_page  usb usb.core    usb_cdc usb_connected   usb_hid usb_midi    use_list    use_palette usecols user_description    usys    utils   utime   uuid    uuid128 uuid16  v   value_count value_to_latch  value_when_pressed  variable_frequency  vectorio    vectorize   version version_info    vid voct_to_hz  voice   voice_count voltage wIndex  wValue  wake_alarm  warn    warnings    watchdog    waveform    waveform_loop_end   waveform_loop_start waveform_max_length wb  weights where   wifi    window  word_select wrap_socket write_bit   write_black_ram_command write_color_ram_command write_perm  write_ram_command   write_readinto  write_then_readinto write_timeout   write_value writeblocks writeto writeto_then_readfrom   x1  x2  xatol   xs  xtol    y1  y2  zeros   zi  zlib    true    false   0x  ()[]{},;~:e=<e=c<e=>e=c>e=*e=c*e=+e=-e=e>&e=|e=/e=c/e=%e=^e=@e==e=!.    .format(    False   __debug__   as  assert  async   await   break   class   def del elif    else    except  finally for from    global  if  import  is  lambda  nonlocal    not pass    raise   return  while   yield   %q.%q.%q    <%q>    

  bytearray(b array('%c'  , [ ,   ]   %q= %sj (%s +   %sj)    ([  ])  %q( {   "   dict_items  dict_keys   dict_values [Errno %d] %s   .0  <function %q at 0x%p>   <generator object '%q' at %p>   <coroutine object '%q' at %p>   NaN [   <module '%s' from '%s'> <module '%s'>   null    %q  range(%d, %d    , %d)   frozen  set()   frozenset(  slice(  %c  \%c \\  \n  \r  \t  \x%02x  \u%04x  <>=^    bcdeEfFgGnosxX% <io.StringIO 0x%x>  <io.BytesIO 0x%x>   <%q object at %p>   ,   <class '%q'>    <super:     /__init__.py    9.1.0-beta.3         --     Espressif   M5 Stack Cardputer with ESP32S3 3.4.0; CircuitPython 9.1.0-beta.3 on 2024-05-22 
%s <match num=%d>  <re %p> <io.%q %p>  CIRCUITPY_PYSTACK_SIZE  CIRCUITPY_HEAP_START_SIZE   m5stack_cardputer   Adafruit CircuitPython 9.1.0-beta.3 on 2024-05-22; M5 Stack Cardputer with ESP32S3  %s
Board ID:%s
 /boot_out.txt   %d@%s %q    repl.py REPL    code.txt.py code.py.txt code.txt.txt    code.py.py  main.txt.py main.py.txt main.txt.txt    main.py.py  code.txt    code.py main.py main.txt    boot.py boot.txt    safemode.py safemode.txt    used       %p %s size: %x (%p)
   tlsf_add_pool: Memory must be aligned by %u bytes.
 tlsf_add_pool: Memory size must be between %u and %u bytes.
    tlsf_create: Memory must be aligned to %u bytes.
   CircuitPython Tick  CircuitPython Sleep %S  CIRCUITPY   /.fseventsd /.fseventsd/no_log  /.metadata_never_index  /.Trashes   /.Trash-1000    /sd /sd/placeholder.txt /settings.toml  /code.py    SD cards mounted at /sd will hide this file from Python. SD cards are not visible via USB CIRCUITPY.
   print("Hello World!")
  ]0;\  ]0;    🐍     |  usbd    M5STACK M5STACK Cardputer - CircuitPython   CircuitPython HID   CircuitPython MIDI  CircuitPython Audio CircuitPython usb_midi.ports[0] M5STACK Cardpute    1.0 !@#$%^&*()  
   _+{}|~:"~<>?   
   -=[]\#;'`,./   /*-+
1234567890.     %d.%d.%d.%d %s  :%d CIRCUITPY_WIFI_SSID CIRCUITPY_WIFI_PASSWORD CIRCUITPY_WEB_INSTANCE_NAME M5 Stack Cardputer  CIRCUITPY_WEB_API_PORT  CIRCUITPY_WEB_API_PASSWORD  _tcp    _circuitpython  %X
    Access-Control-Allow-Origin:    Vary: Origin, Accept, Upgrade
 Access-Control-Allow-Credentials: true
    %lu Content-Length:     Content-Encoding: gzip
    HTTP/1.1 200 OK
   Content-Type:   Content-Length: 0
 HTTP/1.1 500 Internal Server Error
    HTTP/1.1 204 No Content
   HTTP/1.1 201 Created
  HTTP/1.1 405 Method Not Allowed
   HTTP/1.1 403 Forbidden
    HTTP/1.1 404 Not Found
    Content-Length: 19
    HTTP/1.1 409 Conflict

USB storage active.   WWW-Authenticate: Basic realm="CircuitPython"
 HTTP/1.1 401 Unauthorized
 Access-Control-Allow-Methods:GET, OPTIONS, PUT, DELETE, MOVE    Access-Control-Allow-Headers: X-Timestamp, X-Destination, Content-Type, Authorization
 Access-Control-Expose-Headers: Access-Control-Allow-Methods
   Location:   Connection: close
 HTTP/1.1 307 Temporary Redirect
   ws  http    .local  :// localhost   /fs/    OPTIONS DELETE  HTTP/1.1 412 Precondition Failed
  PUT GET HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json
   {"free": %u, "total": %u, "block_size": %u, "writable": %s,     "files": [  "directory":    ",  {"name": "  "modified_ns": %lu000000000,    "file_size": %d }   ]}  Content-Length: %d
    .toml   ;charset=UTF-8
    text/plain  Content-Type:   text/javascript .html   text/html   application/json    application/octet-stream
  HTTP/1.1 417 Expectation Failed
   HTTP/1.1 413 Payload Too Large
    HTTP/1.1 100 Continue
 /edit/  /code/  /cp/    /devices.json   {"total": %d, "devices": [  {"hostname": "%s", "instance_name": "%s", "port": %d, "ip": "%d.%d.%d.%d"}  /version.json   {"web_api_version": 4, "version": "9.1.0-beta.3", "build_date": "2024-05-22", "board_name": "%s", "mcu_name": "ESP32S3", "board_id": "m5stack_cardputer", "creator_id": %u, "creation_id": %u, "hostname": "%s", "port": %d,    "UID": "    %02X    ",  "ip": "%s"} /diskinfo.json  {"root": "%s", "free": %u, "total": %u, "block_size": %u, "writable": %s}   /serial/    sha1    258EAFA5-E914-47DA-95CA-C5AB0DC85B11    Sec-WebSocket-Accept:   Connection: Upgrade
   Upgrade: websocket
    HTTP/1.1 101 Switching Protocols
  /directory.js   /welcome.js /serial.js  /edit.js    /style.css  /favicon.ico    HTTP/1.1
   Authorization   Basic   Host    circuitpython.local Content-Length  Expect  100-continue    Accept  Origin  X-Timestamp Upgrade websocket   Sec-WebSocket-Version   Sec-WebSocket-Key   X-Destination   HTTP/1.1 501 Not Implemented

    text/css    image/vnd.microsoft.icon    ΒʽÍΓʽéíñóú      [3~      %u.%u.%u.%u x509-crt-bundle:PK parse failed with error %X
  x509-crt-bundle:Simple compare failed
  x509-crt-bundle:Internal mbedTLS error %X
  x509-crt-bundle:PK verify failed with error %X
 x509-crt-bundle:No certificates in bundle
  x509-crt-bundle:Failed to verify certificate
   x509-crt-bundle:Invalid certificate bundle
 x509-crt-bundle:Unable to allocate memory for bundle
   Mesh    ESP-NOW ESP-IDF WiFi    40.959375   0.0025  10.24   0.02    Characteristic( <Characteristic with Unregistered UUID> Descriptor( <Descriptor with Unregistered UUID> Service(    <Service with unregistered UUID>    UUID(0x%04x)    UUID('%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x')    %q.%q.%q.%q %q.%q   <Address %02x:%02x:%02x:%02x:%02x:%02x> nimble_host CIRCUITPY_BLE_NAME  common-hal/_bleio/Adapter.c common-hal/_bleio/Characteristic.c  common-hal/_bleio/Connection.c  write failed %d
    common-hal/_bleio/PacketBuffer.c    common-hal/_bleio/Service.c Pretend deep sleep  uart_event_task usbh    cpy-%02x%02x%02x    CPY 9.1.0-beta.3 on 2024-05-22  9.1.0   GPIO%d  socket_select   <broadcast> Password:   <Event: key_number %d %q>   error   ignore  always  GIF89a  NETSCAPE2.0 %q: %s
 %q:     MBEDTLS_ERR_    UNKNOWN (0x%04X)    MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE AES_INVALID_KEY_LENGTH  AES_INVALID_INPUT_LENGTH    AES_BAD_INPUT_DATA  ARIA_BAD_INPUT_DATA ARIA_INVALID_INPUT_LENGTH   ASN1_OUT_OF_DATA    ASN1_UNEXPECTED_TAG ASN1_INVALID_LENGTH ASN1_LENGTH_MISMATCH    ASN1_INVALID_DATA   ASN1_ALLOC_FAILED   ASN1_BUF_TOO_SMALL  BASE64_BUFFER_TOO_SMALL BASE64_INVALID_CHARACTER    MPI_FILE_IO_ERROR   MPI_BAD_INPUT_DATA  MPI_INVALID_CHARACTER   MPI_BUFFER_TOO_SMALL    MPI_NEGATIVE_VALUE  MPI_DIVISION_BY_ZERO    MPI_NOT_ACCEPTABLE  MPI_ALLOC_FAILED    CCM_BAD_INPUT   CCM_AUTH_FAILED CTR_DRBG_ENTROPY_SOURCE_FAILED  CTR_DRBG_REQUEST_TOO_BIG    CTR_DRBG_INPUT_TOO_BIG  CTR_DRBG_FILE_IO_ERROR  ENTROPY_SOURCE_FAILED   ENTROPY_MAX_SOURCES ENTROPY_NO_SOURCES_DEFINED  ENTROPY_NO_STRONG_SOURCE    ENTROPY_FILE_IO_ERROR   ERROR_GENERIC_ERROR ERROR_CORRUPTION_DETECTED   GCM_AUTH_FAILED GCM_BAD_INPUT   HMAC_DRBG_REQUEST_TOO_BIG   HMAC_DRBG_INPUT_TOO_BIG HMAC_DRBG_FILE_IO_ERROR HMAC_DRBG_ENTROPY_SOURCE_FAILED OID_NOT_FOUND   OID_BUF_TOO_SMALL   PADLOCK_DATA_MISALIGNED PLATFORM_HW_ACCEL_FAILED    PLATFORM_FEATURE_UNSUPPORTED    SHA1_BAD_INPUT_DATA SHA256_BAD_INPUT_DATA   SHA512_BAD_INPUT_DATA   CIPHER_FEATURE_UNAVAILABLE  CIPHER_BAD_INPUT_DATA   CIPHER_ALLOC_FAILED CIPHER_INVALID_PADDING  CIPHER_FULL_BLOCK_EXPECTED  CIPHER_AUTH_FAILED  CIPHER_INVALID_CONTEXT  ECP_BAD_INPUT_DATA  ECP_BUFFER_TOO_SMALL    ECP_FEATURE_UNAVAILABLE ECP_VERIFY_FAILED   ECP_ALLOC_FAILED    ECP_RANDOM_FAILED   ECP_INVALID_KEY ECP_SIG_LEN_MISMATCH    ECP_IN_PROGRESS MD_FEATURE_UNAVAILABLE  MD_BAD_INPUT_DATA   MD_ALLOC_FAILED MD_FILE_IO_ERROR    PEM_NO_HEADER_FOOTER_PRESENT    PEM_INVALID_DATA    PEM_ALLOC_FAILED    PEM_INVALID_ENC_IV  PEM_UNKNOWN_ENC_ALG PEM_PASSWORD_REQUIRED   PEM_PASSWORD_MISMATCH   PEM_FEATURE_UNAVAILABLE PEM_BAD_INPUT_DATA  PK_ALLOC_FAILED PK_BAD_INPUT_DATA   PK_FILE_IO_ERROR    PK_KEY_INVALID_VERSION  PK_KEY_INVALID_FORMAT   PK_UNKNOWN_PK_ALG   PK_PASSWORD_REQUIRED    PK_PASSWORD_MISMATCH    PK_INVALID_PUBKEY   PK_INVALID_ALG  PK_UNKNOWN_NAMED_CURVE  PK_FEATURE_UNAVAILABLE  PK_SIG_LEN_MISMATCH PKCS12_BAD_INPUT_DATA   PKCS12_FEATURE_UNAVAILABLE  PKCS12_PBE_INVALID_FORMAT   PKCS12_PASSWORD_MISMATCH    PKCS5_BAD_INPUT_DATA    PKCS5_INVALID_FORMAT    PKCS5_FEATURE_UNAVAILABLE   PKCS5_PASSWORD_MISMATCH RSA_BAD_INPUT_DATA  RSA_INVALID_PADDING RSA_KEY_GEN_FAILED  RSA_KEY_CHECK_FAILED    RSA_PUBLIC_FAILED   RSA_PRIVATE_FAILED  RSA_VERIFY_FAILED   RSA_OUTPUT_TOO_LARGE    RSA_RNG_FAILED  SSL_FEATURE_UNAVAILABLE SSL_BAD_INPUT_DATA  SSL_INVALID_MAC SSL_INVALID_RECORD  SSL_CONN_EOF    SSL_NO_RNG  SSL_NO_CLIENT_CERTIFICATE   SSL_PRIVATE_KEY_REQUIRED    SSL_CA_CHAIN_REQUIRED   SSL_UNEXPECTED_MESSAGE  SSL_PEER_CLOSE_NOTIFY   SSL_ALLOC_FAILED    SSL_HW_ACCEL_FAILED SSL_HW_ACCEL_FALLTHROUGH    SSL_SESSION_TICKET_EXPIRED  SSL_PK_TYPE_MISMATCH    SSL_UNKNOWN_IDENTITY    SSL_INTERNAL_ERROR  SSL_COUNTER_WRAPPING    SSL_WAITING_SERVER_HELLO_RENEGO SSL_HELLO_VERIFY_REQUIRED   SSL_BUFFER_TOO_SMALL    SSL_WANT_READ   SSL_WANT_WRITE  SSL_TIMEOUT SSL_CLIENT_RECONNECT    SSL_UNEXPECTED_RECORD   SSL_NON_FATAL   SSL_CONTINUE_PROCESSING SSL_ASYNC_IN_PROGRESS   SSL_EARLY_MESSAGE   SSL_UNEXPECTED_CID  SSL_VERSION_MISMATCH    SSL_CRYPTO_IN_PROGRESS  SSL_BAD_CONFIG  X509_FEATURE_UNAVAILABLE    X509_UNKNOWN_OID    X509_INVALID_FORMAT X509_INVALID_VERSION    X509_INVALID_SERIAL X509_INVALID_ALG    X509_INVALID_NAME   X509_INVALID_DATE   X509_INVALID_SIGNATURE  X509_INVALID_EXTENSIONS X509_UNKNOWN_VERSION    X509_UNKNOWN_SIG_ALG    X509_SIG_MISMATCH   X509_CERT_VERIFY_FAILED X509_CERT_UNKNOWN_FORMAT    X509_BAD_INPUT_DATA X509_ALLOC_FAILED   X509_FILE_IO_ERROR  X509_BUFFER_TOO_SMALL   X509_FATAL_ERROR    EOF     [%u                 "*:<>?|    +,;=[]  λvEXFAT    FAT FAT32   λώMSDOS5.0 NO NAME    FAT32    NO NAME    FAT            raw REPL; CTRL-B to exit
  R  OK  >>>     
paste mode; Ctrl-C to cancel, Ctrl-D to finish
===   ...     <io.FileIO %d>  class: ndarray
 shape: (    %d, %d,     strides: (  itemsize: %d
   data pointer: 0x%p
 type:   bool
   uint8
  int8
   uint16
 int16
  float
  array(  , shape=(   %d) , ...,  ,
          , dtype=    bool)   uint8)  int8)   uint16) int16)  float32)    complete    u1  i1  u2  i2  f4  ', 'fortran_order': False, 'shape': (   ), }    #   “NUMPY  {'descr': ' 6.4.1-2D    GIF89   GIF87   …†‡ˆ‰Š          
   K  p<$–<Pv<Pv< <ΤY<x<(<DX<,<θ<8<D<P<\<h<t<€<Œ<˜<<¬<Έ<ΐ<Μ<Ψ<δ<μ<ψ<<< <(<8<H<X<h<t<\<€<<œ<°<Ό<Θ<ά<θ<τ< << <(<8<H<X<d<p<|<ˆ<œ<X=< <<¬<΄<Ό<Θ<Τ<ΐ<ΰ<μ<π<ό<<<<”#<< 3<$<ά6<,<8<@<H<P<X<`<l<p<x<€<ˆ<<dE<”<<<œ<<¬<Έ<ΐ<Θ<Τ<”)<(,<ά<δ<x-<θ<όL<μ<τ<ό<<<t'<< <(<0<8<<<@<H<L<<<T<\<h<t<|<„<Œ<”<œ<<¬<΄<Ό<Δ<Μ<Π<Τ<ά<θ<π<ψ<h8< <<<$<,<0<8<<<D<L<X<°B<`<h<p<δ0<x<€<ˆ<Œ<”<œ<<°<Ό<Μ<Ψ<δ<μ<ψ<<<< <,<8<D<L<X<`<l<t<|<„<Œ<”<œ<<°<Ό<Μ<Ψ<δ<π<ό<<<<(<4<D<P<X<`<l<t<x<|<„<<œ<¨<΄<ΐ<Μ<Τ<ά<δ<θ<π<ψ<ό<    < < <$ <8<, <ΐ<< <H <T <d <p <| <ˆ <Œ <” < <¬ <Ό <Δ <Π <ά <θ <π <ψ < 
<
<
< 
<0
<@
<L
<X
<d
<p
<|
< <„
<ˆ
<Œ
<
<Έ
<Μ
<ά
<μ
< <<$<4<L<T<d<p<|<ˆ<˜< <<¨<°<Δ<Μ<Τ<ά<π< <<<$<0<8<H<T<\<h<p<|<ˆ<< <°<Ό<Δ<Τ<ΰ<θ<μ<τ<
<
< 
<(
<0
<8
<D
<P
<\
<d
<t
<„
<”
<
<¬
<Ό
<Θ
<Π
<Ψ
<δ
<τ
<ό
<<<<,<4<8<@<H<X<d<x<„<”<¨<°<Έ<ΐ<Θ<Π<Ψ<ΰ<θ<π<ψ< <<<< <(<0<8<@<H<P<X<`<h<p<x<€<ˆ<<˜< <¨<°<Έ<ΐ<Θ<Π<Ψ<ΰ<θ<π<ψ< <<<<$<,<8<@<D<P<\<l<t<„<< <¬<όi<Έ<Θ<Π<ΰ<μ<ό<<< <4<@<|n<H<\<h<p<x<€<Œ<˜<<°<Ό<Θ<Τ<ΰ<μ<τ<ψ<°
<ό<<<`
<$<(<0<<<@<D<L<X<d<H<p<x<„<Œ<”<œ<¬<Έ<ΐ<Μ<Τ<ΰ<θ<τ<<<<<(<8<@<H<P<X<`<d<t<|<ˆ<< <¬<΄<ΐ<Θ<Π<Ψ<ΰ<θ<π<ψ<<<<(<,<4<@<H<P<`<h<t<|<„<Œ<<œ<¨<΄<Ό<Δ<Μ<Ψ<δ<θ<π<ψ<<<<0<L<<\<d<l<x<T<ˆ<”<œ<¬<΄<Δ<Μ<Ψ<ΰ<θ<ψ< <<<<<,<8<H<X<t<€<Œ<”< <¨<΄<Δ<Μ<ά<δ<μ<τ<ό<<<(<<<H<T<`<l<x<x<ˆ<”< <¬<Ό<Δ<Θ<ά<δ<τ< << <,<<<D<T<`<h<p<x<<<°<Έ<Δ<Μ<Ψ<μ<ψ<Pp<<< <(<0<<<D<P<\<d<l<t<|<€<ˆ<”< <°<Ό<Θ<Ψ<δ<μ<τ<ό< <<<<<(<4<D<h<€< <¨<°<ΐ<Μ<Τ<ΰ<δ<θ<π<ψ< <<<,<<<L<X<l<|<ˆ<”< <¬<Έ<Δ<Τ<ΰ<μ<ψ< <<<$<0<<<L<\<t<„<<œ<<¬<Έ<ΐ<Μ<Ψ<Δ9<δ<θ<μ<ψ< <<<<,<L<l<ΤB<€<„<<¨<$@<d4<Έ<Θ<ΰ<π<<<0<<<D<L<X<d<€<Œ<˜<0<<°<Ό<Θ<Π<ά<δ<μ<τ<ό<<<<Μ<<(<0<8<@<H<P<X<`<x<ˆ<”<΄<ΐ<Μ<Ψ<δ<π<  < < <( <Μ9<0 <4 <8 << <H <T <\ <p <€ <˜ <¬ <΄ <ΐ <Δ <Μ <Π <Τ <Ψ <δ <μ <τ < !<!<!<$!<,!<<!<H!<P!<`!<p!<€!<Œ!<˜!<!<Έ!<Θ!<Π!<δ!<π!<ψ!<h<<"<"<"<("<δ-<0"<@"<P"<T"<X"<d"<x"<ά<€"<Œ"<θ/<˜"<"<¬"<΄"<ΐ"<Μ"<Ψ"<θ"<Œ6<τ"<ό"<#<#<#<$#<,#<4#<D#<L#<X#<`#<h#<t#<|#<„#<Œ#<œ#<¬#<Ό#<Δ#<Τ#<ΰ#<μ#<τ#< $<$< $<ψ <($<4$<Ψ<<$<D$<P$<X$<d$<l$<€$<Œ$<˜$<$<°$<Ό$<Θ$<Π$<ά$<%<π$<ό$<%<%<%<(%<C<4%<@%<H%<ΨL<T%< 5<h%<p%<|%<„%<%<ΔL<œ%<%<°%<΄%<Ό%<Δ%<Μ%<Τ%<Ψ%<ΰ%<ψ%< &<&<&<&<,&<0&<<&<D&<L&<`&<p&<|&<ˆ&<”&< &<¨&<Ό&<Θ&<Τ&<ά&<θ&<ψ&< '<'<'< '<6<('<4'<<'<D'<P'<X'<d'<l'<x'<„'<'<”'<¬'<Ό'<Δ'<Μ'<Ψ'<ΰ'<μ'< (<(<(<$(<0(<<(<H(<P(<X(<|(<(<(<¬(<Έ(<˜2<Τ(<ΰ(<μ(<τ(<ό(< )<)<)<)<()<4)<D)<P)<X)<d)<l)< K<t)<€)<„)<Έ:<ˆ)<)<œ)< )<°)<Έ)<ΐ)<Τ)<θ)<π)<ψ)<*<*< *<,*<8*<D*<T*<˜7<`*<p*<„*<*<”*<œ*<*<΄*<ΐ*<Θ*<Π*<Ψ*<5<ΰ*<θ*<+<+<+<$+<0+<@+<D+<H+<P+<\+<h+<t+<|+<„+<Œ+<l#<+<œ+<¨+<΄+<Ό+<Π+<ά+<θ+<π+<ό+<,<,<,<$,<0,<8,<@,<H,<P,<X,<`,<h,<p,<x,<€,<ˆ,<,<,<°,<Ό,<Θ,<Ψ,<δ,<π,<ό,<-<-<$-<8-<L-<`-<l-<t-<€-<Œ-<”-<ΰK< -<¨-<΄-<Ό-<Δ-<Μ-<Π-<Τ-<ΰ-<π-<.<.<.<8.<P.<d.<x.<ˆ.<”.<œ.<.<°.<Ό.<Δ.<Π.<Ψ.<δ.<θ.<π.<τ.< /</</</<$/<,/<4/<L/<p/<XA<Œ/<p-<”/<œ/</<Έ/<Θ/<Π/<ά/<ΰ/<δ/<@<μ/<ό/<0<0< 0<(0<40<<0<L0<X0<`0<p0<„0<0<œ0<΄0<ΐ0<Θ0<Μ0<ά0<μ0<τ0<ό0<1< 1<(1<L7<€C<01<81<D1<T1<h1<t1<x1< <€1<<ˆ1<”1< 1<¨1<”C<¨C<°1<Ό1<Μ1<ά1<θ1<ψ1<ό1<2<$2<02<<2<H2<P2<X2<d2<p2<|2<ˆ2<”2< 2<@^<\P<¨2<΄2<ΐ2<Μ2<θ2<τ2<ό2<3<3<3<$3<,3<83<@3<H3<X3<¬0<ΜH<d3<€3<ˆ3<3<œ3<3<¬3<¬G<°3<ΐ3<Ψ3<ΰ3<θ3<π3<ό3<4<4<4<4<(4<04<84<D4<L4<\4<`4<l4<|4<„4<4<œ4<°4<ΐ4<Θ4<Π4<ά4<δ4<μ4<π4<ό4<5<5<$5<05<D5<T5<d5<p5<x5<€5<ˆ5<5<˜5< 5<¨5<΄5<ΐ5<Μ5<Ψ5<ΰ5<π5<ό5< 6<6<6<06<@6<H6<L6<T6<\6<@<d6<l6<t6<|6<„6<6< 6<°6<Έ6<ΐ6<Θ6<Τ6<ΰ6<δ6<μ6<Δ<„H<π6<ό6< 7<7<$7<,7<<7<D7<X7<\7<d7<l7<x7<„7<Œ7<”7< 7<¨7<΄7<Ό7<ΐ7<Θ7<Μ7<Π7<Τ7<ά7<μ7<τ7<ό7<8<8<Π"< 8<$8<8<,8<88<@8<P8<d8<p8<|8<”8<¨8<΄8<Έ8<Ό8<Δ8<Π8<Ψ8<ΰ8<θ8<M<π8< 9<9<9<,9<49<@9<L9<T9<\9<d9<l9<t9<|9<ˆ9<9<˜9<¨9<΄9<Έ9<Ό9<ΐ9<Θ9<Π9<0?<Ψ9<θ9<τ9<:<”D<:<H$<$:<,:<8:<@:<H:<P:<\:<0.<d:<l:<x:<„:<”:<œ:<:<΄:<Ό:<Δ:<Μ:<Τ:<ΰ:<μ:<τ:< ;<;<(;<@;<P;<X;<`;<h;<p;<|;<ˆ;<;<ΈT<”;<¨;<¬;<΄;< <Ό;<Δ;<Μ;<Τ;<ά;<θ;<τ;< <<<<<<¬9<<<(<<”g<,<<8<<H<<T<<d<<p<<€<<Œ<<˜<< <<¨<<Ό<<Τ<<ΰ<<π<<ψ<< J<=<$=<4=<@=<H=<P=<\=<t=<ˆ=<œ=<¬=<  <Έ=<Θ=<ά=<δ=<μ=<τ=<><><(><4><@><δ7<L><`><t><„><”><œ><><¬><Έ><ΐ><Ψ><π><?<?<(?<,?<8?<P?<\?<d?<p?<|?<Œ?<œ?<΄?<Π?<Ψ?<δ?<μ?<ψ?<@<@<@< @<0@<L@<X@<d@<|G<p@<|@<86<Œ@<@<˜@<œ@< @<¬@<Έ@<ΐ@<Δ@<Ψ@<ΰ@<μ@<ό@<A<A<ψ.<A<$A<4A<<A<@A<LA<`A<tA<xA<„A<ŒA<˜A< A<΄A<ΔA<ΜA<ΤA<δA<μA<όA<B<B< B<(B<0B<<B<TB<hB<xB<„B<”B< B<¨B<ΈB<ΠB<άB<θB<όB<C<,C<HC<`C<|C<C<C<ΈC<ΔC<ΨC<ΰC<τC<D<D<,D<DD<XD

Best regards

dhalbert commented 3 months ago

Considered to be a duplicate of https://github.com/adafruit/circuitpython/issues/9503