Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`OnDiskBitmap` Issue on UM FeatherS3 While Connected to PC With SD Card Inserted

オープン
#11,247 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
embedded-iot

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

bug
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
Image
Description

Continuation of our chat from Discord!

Hardware:

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=false in settings.toml
  • Try Macbook Pro
Additional information

No response

主要言語
C
スター
4.6k
フォーク
1.4k
平均マージ
1日 6時間
マージ済み PR(30日)
145

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

adafruit/circuitpython のほかの issue

adafruit/circuitpython の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。