`OnDiskBitmap` Issue on UM FeatherS3 While Connected to PC With SD Card Inserted
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- embedded-iot
Línea de trabajo
Start with the displayio.OnDiskBitmap and TileGrid calls in the reproducer, then run it on the FeatherS3 with the SD card inserted while connected to a PC and with the PC off. Compare those results with the reported working cases on CP9.2.9 and PyPortal; done means identifying why the map fails to render only in the reported FeatherS3 setup and confirming the behavior with the reproducer.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
CircuitPython version and board name
Adafruit CircuitPython 10.2.1 on 2026-05-13; FeatherS3 with ESP32S3
Board ID:unexpectedmaker_feathers3
Code/REPL
import displayio
import time
from adafruit_featherwing import tft_featherwing_35
DEFAULT_BASE_MAP = "./assets/default_map.bmp"
class FeatherS3:
def __init__(self):
self._fw = tft_featherwing_35.TFTFeatherWing35V2()
self.display = self._fw.display
self.display.rotation = 180
@property
def width(self):
return self.display.width
@property
def height(self):
return self.display.height
class SkyPortalUI:
def __init__(self, device):
self.device = device
self.display = self.device.display
# Set up main display element
self.main_display_group = displayio.Group()
self.display.root_group = self.main_display_group
def set_base_map(self):
map_img = displayio.OnDiskBitmap(DEFAULT_BASE_MAP)
map_group = displayio.Group()
map_sprite = displayio.TileGrid(map_img, pixel_shader=map_img.pixel_shader)
map_group.append(map_sprite)
self.main_display_group.append(map_group)
feather = FeatherS3()
print("Initialized feather")
main_ui = SkyPortalUI(feather)
print("Initialized UI")
main_ui.set_base_map()
print("Base map set?")
print("Looping forever")
while True:
time.sleep(1)
feather.display.refresh()
Behavior
Description
Continuation of our chat from Discord!
Hardware:
- FeatherS3 - ESP32-S3 Development Board by Unexpected Maker
- Adafruit TFT FeatherWing - 3.5" 480x320 Touchscreen for Feathers - V2 with TSC2007
- 32GB SD card, FAT32
With the reproducer above, also uses this default map (saved as ./assets/default_map.bmp), and vendored CP10.2.1 libraries. The vendored libraries are sourced from adafruit-circuitpython-bundle-10.x-mpy-20260815 and circuitpython-community-bundle-10.x-mpy-20260806.
With CP10.2.1 the following behavior is observed using a powered USB hub connected to my Windows PC:
- Computer on, SD card inserted - Map not rendered as expected
- Computer on, SD card removed - Map renders as expected
- Computer off, SD card inserted - Map renders as expected
- Computer off, SD card removed - Map renders as expected
Also reported by folks trying out in Discord, not sure if they were connected to a computer or just power:
- UM FS3[D] and Featherwing V2, no SD card, both 10.2.1 and 10.3.0.alpha.4 - Map renders as expected
- Feather S3 8mb flash no psram, no SD card - Map renders as expected
The sample code renders the map image on CP9.2.9 as expected. The sample code also works as expected using my PyPortal on CP10.2.1. Both scenarios are with SD card inserted & computer on.
Additional debug tasks:
- Set
CIRCUITPY_SDCARD_USB=falseinsettings.toml - Try Macbook Pro
Additional information
No response
- Lenguaje dominante
- C
- Estrellas
- 4.6k
- Forks
- 1.4k
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 153
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de adafruit/circuitpython
-
board breaks api
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
adafruit/circuitpython#11099 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Pico-W: shrink firmware regionAbiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
adafruit/circuitpython#11515 ·
Los mantenedores suelen responder en 1 día
-
Tags and BranchesAbiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
adafruit/circuitpython#11514 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Move silabs to ZephyrAbiertosilabs
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
adafruit/circuitpython#11507 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Feature/API request: portable camera capture across ESP-IDF, Zephyr, and parallel interfacesAbiertocircuitpython api enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
adafruit/circuitpython#11505 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de adafruit/circuitpython
Issues similares
-
rc_runtime_activate_richpresence leaves a half-initialised entry when the buffer allocation failsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
RetroAchievements/rcheevos#558 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
libsdl-org/SDL#16464 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
chore(gateway): emit INFO budget reserved/settled logs for proactivity v2 (chip task_2855f4ec)Abiertobackend
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
BasedHardware/omi#20940 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día