Von dem GitHub-Veröffentlichungsseite:
Das ist SchaltungPython 9.0.0, die neueste Hauptversion von CircuitPython, und eine neue stabile Version.
WARNUNG nur für nRF52-Boards: Wenn Ihr Board über einen nRF52 UF2-Bootloader verfügt, dessen Version vor 0.6.1 ist, können Sie CircuitPython 8.2.0 und höher aufgrund der erhöhten Firmware-Größe nicht laden. Sehen diese Anweisungen zum Aktualisieren Ihres Bootloaders.
Bemerkenswerte Änderungen an 9.0.0 seit 8.xx
Inkompatibilitätswarnungen
- Neues Speichermanagement. Sehen Intern weiter unten über mögliche neue Speicherfehler bei bestehenden Programmen.
- Dateisysteme wie SD-Karten müssen nun gemountet werden auf einem bestehenden Verzeichnis als Einhängepunkt. Sehen Lagerung unten.
- Inkompatible Änderung in
socket
Verhalten: Sockets müssen explizit wiederverwendbar gemacht werden. Sehen Networking unten. displayio.*Display.show()
wurde entfernt. Verwenden*Display.root_group =
stattdessen.I2CPeripheral
ist jetztI2CTarget
.
Audio
- Speichern
synthio.Note
.loop_start
und.loop_end
Eigenschaften. - Speichern
synthio.Synthesizer.note_state
. - Fügen Sie I2S MCLK-Unterstützung auf Espressif hinzu.
- Vorzeichenbehaftete Amplitude zulassen
synthio
.
Eingebaute Module
- Speichern
OrderedDict.move_to_end()
. - Speichern
warnings
Modul, ähnlich dem in CPython. - Speichern
locale.getlocale()
. - Speichern
codeop.compile_command()
. - Entfernen Sie veraltete Versionen von 8.xx:
displayio.*.show()
,I2CPeripheral
umbenannt inI2CTarget
.
Graphics
- Neu organisieren und aufteilen
displayio
. Die 8.xx-Namensstruktur ist in 9.xx verfügbar, wird jedoch in 10.0.0 entfernt. - Speichern
jpegio
Unterstützung für JPEG-Decoder. - Speichern
bitmapfilter
Bildbearbeitung.
Intern
- Neuer interner dynamischer Split-Heap-Speichermechanismus. Einige CircuitPython-Programme können mit scheitern
MemoryError
. Wenn Sie auf Programme stoßen, die in 8.xx funktionieren, aber erhaltenMemoryError
Ausnahmen: Erwägen Sie, ein Problem mit Einzelheiten einzureichen. - Führen Sie Updates von MicroPython v1.19.1, v1.20.0 und v1.21.0 zusammen.
- Espressif: Update auf ESP-IDF v5.1.3.
Networking
- Ermöglicht die Angabe eines Protokolls für Raw-Sockets.
- Unterstützung für mDNS-TXT-Einträge hinzufügen.
- Machen Sie SD-Karten über den Web-Workflow verfügbar.
- Ermöglicht das Abrufen zugeordneter Stationen im Access-Point-Modus.
- Inkompatible Änderung: Erfordert eine explizite Wiederverwendung des Socket-Ports. Verwenden
socket.setsockopt(pool.SOL_SOCKET, pool.SO_REUSEADDR, 1)
, wie in CPython.
Python-Interpreter
- Verwenden Sie bei kleinen Builds kürzere Fehlermeldungen.
Lagerung
- CIRCUITPY-Laufwerke werden jetzt auf Android bereitgestellt.
- Erhöhte Dateikapazität auf CIRCUITPY-Laufwerken <= 128 KB.
- Inkompatible Änderung: Dateisystem-Mounts müssen in vorhandenen Verzeichnissen erfolgen. Erstellen
/sd
in neuen Dateisystemen, um einen Einhängepunkt bereitzustellen.
Supervisor
- Speichern
repl.py
, das unmittelbar vor dem Start der REPL ausgeführt wird.
USB
- Unterstützung für Videogeräte („Webcam“, UVC).
- HID kann den schlafenden Host-Computer aufwecken.
- Weitere USB-Host-Unterstützung auf i.MX und RP2040.
- Ermöglicht die Festlegung des USB-HID-Schnittstellennamens.
Herunterladen von Circuitpython.org
Firmware-Downloads sind erhältlich von der Download-Seite on Circuitpython.org. Die Site macht es Ihnen leicht, die richtige Datei und Sprache für Ihr Board auszuwählen.
Installation
Befolgen Sie zur Installation die Anweisungen im Willkommen bei CircuitPython! leiten. Informationen zum Installieren der neuesten Bibliotheken finden Sie unter diese Seite in dieser Anleitung.
MIT DER INTELLIGENTEN SCHADENKALKULATION VON die neueste Version des Mu-Editors zum Erstellen und Bearbeiten Ihrer CircuitPython-Programme und zum einfachen Zugriff auf die serielle CircuitPython-Verbindung (REPL).
Dokumentation
Dokumentation ist verfügbar in readthedocs.io.
Portstatus
CircuitPython verfügt über eine Reihe von „Ports“, die die Kernimplementierungen für verschiedene Mikrocontroller-Familien darstellen. Die Stabilität variiert je nach Port. Ab dieser Version gelten diese Ports als stabil (aber siehe Bekannte Probleme unten):
atmel-samd
: Mikrochip SAMD21, SAMx5xcxd56
: Sony Sprenseespressif
: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: ST STM32F4-Chipfamilie
Diese Ports gelten als Alpha und weisen Fehler und fehlende Funktionen auf:
broadcom
: Raspberry Pi-Boards wie RPi 4, RPi Zero 2Wlitex
: fomumimxrt10xx
: NXP i.MXRT10xxxsilabs
: Silicon Labs MG24-Familiestm
: ST Nicht-STM32F4-Chipfamilien
Änderungen seit 9.0.0-rc.1
Fixes und Erweiterungen
- Erlaube Strg-C von
adafruit_bus_device.spi_device.SPIDevice
warte auf die Sperre. #9055. Danke @dhalbert.
Port- und boardspezifische Änderungen
Broadcom
Espressiv
i.MX
nRF
RP2040
SAMx
SiLabs
Spresense
STM
Einzelplatinen
- M5Stack-Kartencomputer: behoben
board.I2S_DATA
Tippfehler beim Pin-Namen. #9020. Danke @RetiredWizard.
Dokumentationsänderungen
Build- und Infrastrukturänderungen
Übersetzungsergänzungen und -verbesserungen
Neue Boards seit 9.0.0-rc.1
Bekannte Probleme
- Weitere Probleme finden Sie unter https://github.com/adafruit/circuitpython/issues, darunter Probleme, die noch behoben werden müssen:
Vielen Dank
Vielen Dank an alle, die seit 9.0.0-rc.1 verwendet, getestet und dazu beigetragen haben, einschließlich der oben genannten Mitwirkenden und vielen anderen auf GitHub und Discord. Begleiten Sie uns auf der Zwietracht Chat zusammenarbeiten.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://blog.adafruit.com/2024/03/18/circuitpython-9-0-0-released/