`OnDiskBitmap` Issue on UM FeatherS3 While Connected to PC With SD Card Inserted
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- python
- Lĩnh vực
- embedded-iot
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- C
- Star
- 4.6k
- Fork
- 1.4k
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 155
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của adafruit/circuitpython
-
board breaks api
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
adafruit/circuitpython#11099 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
storage usb zephyr
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
adafruit/circuitpython#11531 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Move silabs to ZephyrĐang mởsilabs
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
adafruit/circuitpython#11507 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Feature/API request: portable camera capture across ESP-IDF, Zephyr, and parallel interfacesCó thể đã có người làm @tannewt đã nhận hôm nay. Đang mởcircuitpython api displayio enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
adafruit/circuitpython#11505 · 5 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
adafruit/circuitpython#11472 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của adafruit/circuitpython
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
EchoTools/nevr-runtime#264 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[sqlcipher] update to 4.19.0Đang mởcategory:port-update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mypaint/libmypaint#209 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[LOGO] Keenetic OSCó thể đã có người làm @Ivan-Alone đã nhận hôm nay. Đang mởlogo request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
fastfetch-cli/fastfetch#2646 ·
Maintainer thường phản hồi trong vòng 1 ngày