CYD Studio › Belgeler › Bilinen tuzaklar

Bilinen tuzaklar

Hepsi yaşandı, hepsi ölçüldü. Bir şey "çalışmıyor" gibi görünüyorsa önce buraya bak.

Kart

  • Panel MISO bağlı değil (CYD): ekrandan geri okuma 0xFF döner. Denetleyici kimliği ve MADCTL sorgulanamaz; yön ayarı gözle yapılır (Ayarlar → Ekran ayarı). Doğrulanmış ayar rotation=0, bgr=False; dokunma.
  • SD yalnız VSPI'de (slot 3). Slot 2 ekranın HSPI hattıdır; başarısız bir deneme host'u kilitli bırakıp ekranı öldürür. SD takılı değilken os.statvfs('/sd') kök dosya sistemine düşer ve sahte pozitif verir.
  • 64 GB ve üstü SD kartlar exFAT gelir, MicroPython yalnız FAT okur. sd_kontrol.py teşhis eder, BICIMLE = True ile FAT olarak biçimlendirir (karttaki her şeyi siler).
  • Modül adı ile klasör adı çakışmasın. projects.py + /projects çakıştı, MicroPython klasörü paket sandı; o yüzden modül store.py.
  • Thread izolasyon sağlamaz. GIL var; CPU'yu bırakmayan proje paneli aç bırakır. sleep_ms(1) bile yeter.
  • Normal mod + def içinde bekleme: MicroPython await'i düz def içinde sessizce kabul edip fonksiyonu generator yapar, gövde hiç çalışmaz. Ön tarama yakalar ve projeyi T'de açar.
  • Kesici (ESP8266) bloke eden C çağrısının içine giremez (uart.write, büyük SPI); o milisaniye mertebesidir.
  • uart.write(512 bayt) 44 ms bloke eder ve bekçiyi tetikler: 64 baytlık parçalar, aralarda sleep_ms(1).
  • Modül önbelleği: projenin import ettiği modüller sys.modules'te kalıyordu, 6 KB geri gelmiyor ve düzeltmeler görünmüyordu. Job._run artık projenin getirdiği modülleri bitince siliyor.

PC ve seri port

  • mpremote kartı REPL'de bırakır. fs cp önce main.py'yi Ctrl-C ile keser, yeniden başlatmaz; her deploy'dan sonra panel kapalıdır. --reset ver.
  • Klon CH340 sürücüsü 3.9.2024.9 (Windows) portu 38400 ve üstü hızda açarken PermissionError(31, 'A device attached to the system is not functioning') verir. 9600'de açıp hızı yükseltmek çalışır; sitecustomize.py ile serial.Serial.open yamalanabilir ya da sürücü 3.5 (2019) sürümüne alınır.
  • CH340 takılması: port sürekli aynı çöp baytı basıyor (0xE2), yazma Write timeout ile düşüyor. Yazılımla toparlanmaz; USB kablosunu çıkar-tak.
  • PowerShell BOM: Set-Content -Encoding utf8 dosya başına BOM ekler, MicroPython NameError: name '' isn't defined der. Python ya da editörle yaz.
  • esptool baud tuzağı: --baud 460800 stub'ı o hızda bırakır, sonraki komut 115200'den bağlanamaz. Çok adımlı işlerde 115200'de kal.
  • Yarım kalan flash: port düşerse kart download modunda kalır; tuşa tekrar gerek yok, flash.py --koru'yu hemen yeniden çalıştır. Reset sonrası hâlâ boot:0x3 DOWNLOAD_BOOT görünüyorsa BOOT fiziksel olarak basılı.
  • txbuf= parametresi ESP32 UART'ta EPERM verir; yalnız rxbuf ver.
  • İlk açılış formatı (ESP8266): silinmiş 4 MB flash'ta LittleFS formatı birkaç saniye sürer; mpremote her bağlanışta reset atar ve formatı baştan başlatır. Flash'tan sonra ~10 sn dokunma.

Güç

  • Beslemesiz USB hub: ekranlı kart WiFi açınca hub'ın akımı yetmez, kart ve USB çipi birlikte kopar (COM 1,5 saniyede kaybolur). Doğrudan PC portu ya da beslemeli hub.
  • ESP32 OLED PC USB'sinden: WiFi açıldığı anda 3,3 V hattı 1,63 V'a düşer, brownout döngüsü. 2 × 1000 µF kondansatör de kurtarmaz (~2 ms tampon). Çözüm pil, beslemeli hub ya da harici 3,3 V.
  • Kablo direnci: 300 mA çekişte ince/uzun kabloda ~1 V düşer, regülatör dropout'a girer. Adaptörün 3 A vermesi kabloyu kurtarmaz.

Ağ

  • İkinci HTTP sunucusu ikinci dinleyici soketle lwIP tamponlarını ve dahili DRAM'i tüketip paneli kilitler. cyd.rota kullan.
  • requests ile HTTPS normal modda ENOMEM, BLE EIO. İkisi de Solo modda.
  • PC'deki VPN yerel ağı kesebilir: kart kendi IP'sinde "bağlıyım" derken PC modeme bile ping atamaz. Önce VPN'i kapat.
  • Yavaş istemci dosya gönderirken paneli kilitliyordu: soket zaman aşımı 5 sn ve her parçada nabız; 512 B / 0,5 sn okuyan istemciyle 50 sn, 0 hata.

Gölgeleme

Dosya sistemindeki aynı adlı .py dondurulmuşu ezer (öncelik .py > .mpy > frozen). Bir server.py yüklersen RAM kazancı sessizce kaybolur. Deploy araçlarını dondurulmuş kartlarda hep --frozen ile çalıştır.

Son güncelleme 2026-10-17 · Bu sayfa Markdown olarak