Logo Zephyrnet

Wydano CircuitPython 9.0.0!

Data:

Z Strona wydania GitHub:

To jest Obwód Pythona 9.0.0, najnowsza większa wersja CircuitPython i jest nową stabilną wersją.

OSTRZEŻENIE tylko dla kart nRF52: Jeśli twoja płyta posiada bootloader nRF52 UF2, którego wersja jest wcześniejsza niż 0.6.1, nie będziesz mógł załadować CircuitPython 8.2.0 i nowszych ze względu na większy rozmiar oprogramowania sprzętowego. Widzieć te instrukcje do aktualizacji bootloadera.

Godne uwagi zmiany w wersji 9.0.0 od wersji 8.xx

Ostrzeżenia o niezgodności

  • Nowe zarządzanie pamięcią masową. Widzieć Wewnętrzne poniżej o możliwych nowych błędach pamięci w istniejących programach.
  • Należy teraz zamontować systemy plików, takie jak karty SD w istniejącym katalogu jako punkt mocowania. Widzieć Magazynowanie poniżej.
  • Niekompatybilna zmiana w socket zachowanie: Gniazda muszą być wyraźnie przystosowane do ponownego użycia. Widzieć Sieci poniżej.
  • displayio.*Display.show() zostało usunięte. Używać *Display.root_group = zamiast.
  • I2CPeripheral jest teraz I2CTarget.

Audio

  • Dodaj synthio.Note .loop_start i .loop_end Właściwości.
  • Dodaj synthio.Synthesizer.note_state.
  • Dodaj obsługę I2S MCLK w Espressif.
  • Zezwól na amplitudę ze znakiem synthio.

Wbudowane moduły

  • Dodaj OrderedDict.move_to_end().
  • Dodaj warnings moduł podobny do tego, który jest w CPythonie.
  • Dodaj locale.getlocale().
  • Dodaj codeop.compile_command().
  • Usuń przestarzałe wersje 8.xx: displayio.*.show(), I2CPeripheral przemianowany na I2CTarget.

Grafika

  • Reorganizuj i dziel displayio. Struktura nazewnictwa wersji 8.xx jest dostępna w wersji 9.xx, ale zostanie usunięta w wersji 10.0.0.
  • Dodaj jpegio Obsługa dekodera JPEG.
  • Dodaj bitmapfilter manipulacja obrazem.

Wewnętrzne

  • Nowy wewnętrzny mechanizm dynamicznej pamięci masowej z podziałem sterty. Niektóre programy CircuitPython mogą nie działać MemoryError. Jeśli napotkasz programy, które działają w wersji 8.xx, ale otrzymujesz MemoryError wyjątków, rozważ zgłoszenie problemu ze szczegółami.
  • Scal aktualizacje z MicroPython v1.19.1, v1.20.0 i v1.21.0.
  • Espressif: aktualizacja do ESP-IDF v5.1.3.

Sieci

  • Zezwalaj na określenie protokołu dla surowych gniazd.
  • Dodaj obsługę rekordów mDNS TXT.
  • Udostępnij karty SD w ramach przepływu pracy w Internecie.
  • Zezwalaj na pobieranie powiązanych stacji w trybie punktu dostępu.
  • Niekompatybilna zmiana: Wymagaj wyraźnego ponownego użycia portu gniazda. Używać socket.setsockopt(pool.SOL_SOCKET, pool.SO_REUSEADDR, 1)jak w CPythonie.

Interpreter Pythona

  • Używaj zwięzłych komunikatów o błędach w małych kompilacjach.

Magazynowanie

  • Dyski CIRCUITPY można teraz zamontować na systemie Android.
  • Zwiększona pojemność plików na dyskach CIRCUITPY <= 128kB.
  • Niekompatybilna zmiana: Wymagaj, aby podłączenia systemu plików odbywały się w istniejących katalogach. Tworzyć /sd w świeżych systemach plików, aby zapewnić punkt montowania.

Kierownik

  • Dodaj repl.py, który działa tuż przed uruchomieniem REPL.

USB

  • Obsługa urządzeń wideo („kamera internetowa”, UVC).
  • HID może obudzić uśpiony komputer hosta.
  • Dalsza obsługa hosta USB w i.MX i RP2040.
  • Zezwalaj na ustawienie nazwy interfejsu USB HID.

Pobierz z circuitpython.org

Oprogramowanie układowe do pobrania jest dostępne z strona pobierania on Circuitpython.org. Witryna ułatwia wybór odpowiedniego pliku i języka dla Twojej tablicy.

Instalacja

Aby zainstalować postępuj zgodnie z instrukcjami w Witamy w CircuitPython! przewodnik. Aby zainstalować najnowsze biblioteki, patrz tutaj w tym przewodniku.

Próbować najnowsza wersja edytora Mu do tworzenia i edycji programów CircuitPython oraz dla łatwego dostępu do połączenia szeregowego CircuitPython (REPL).

Dokumenty

Dokumentacja jest dostępna w readthedocs.io.

Stan portu

CircuitPython ma wiele „portów”, które są podstawowymi implementacjami różnych rodzin mikrokontrolerów. Stabilność różni się w zależności od portu. W tej wersji te porty są uważane za stabilne (ale zobacz Znane problemy poniżej):

  • atmel-samd: Mikrochip SAMD21, SAMx5x
  • cxd56: Sony Spresense
  • espressif:Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3
  • nrf: Skandynawski nRF52840, nRF52833
  • raspberrypi: RaspberryPi RP2040
  • stm: Rodzina układów ST STM32F4

Te porty są uważane za alfa i będą zawierać błędy i brakujące funkcje:

  • broadcom: Płyty Raspberry Pi, takie jak RPi 4, RPi Zero 2W
  • litex: fomu
  • mimxrt10xx: NXP i.MX RT10xxx
  • silabs: Rodzina Silicon Labs MG24
  • stm: Rodziny układów ST innych niż STM32F4

Zmiany od wersji 9.0.0-rc.1

Poprawki i ulepszenia

  • Zezwalaj na ctrl-C adafruit_bus_device.spi_device.SPIDevice oczekujący na zamek. #9055. Dziękuję @dhalbert.

Zmiany specyficzne dla portu i deski

Broadcom

ekspresyjny

i.MX

nRF

RP2040

SAMx

SiLaby

Spresencja

STM

Tablice indywidualne

  • Cardputer M5Stack: poprawka board.I2S_DATA literówka w nazwie pinu. #9020. Dziękuję @RetiredWizard.

Zmiany w dokumentacji

Zmiany w budownictwie i infrastrukturze

Dodatki i ulepszenia tłumaczeń

Nowe deski od wersji 9.0.0-rc.1

Znane problemy

  • Zobacz https://github.com/adafruit/circuitpython/issues dla innych problemów, w tym problemów, które wciąż wymagają rozwiązania:

Podziękowania

Dziękujemy wszystkim, którzy używali, testowali i wnosili wkład od wersji 9.0.0-rc.1, w tym współautorom powyżej i wielu innym osobom na GitHubie i Discordzie. Dołącz do nas na Dyskord niezgody współpracować.

spot_img

Najnowsza inteligencja

spot_img