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 terazI2CTarget
.
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 naI2CTarget
.
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 otrzymujeszMemoryError
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, SAMx5xcxd56
: Sony Spresenseespressif
:Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: Skandynawski nRF52840, nRF52833raspberrypi
: RaspberryPi RP2040stm
: 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 2Wlitex
: fomumimxrt10xx
: NXP i.MX RT10xxxsilabs
: Rodzina Silicon Labs MG24stm
: 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ć.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://blog.adafruit.com/2024/03/18/circuitpython-9-0-0-released/