Zephyrnet-Logo

CircuitPython 9.0.0 veröffentlicht!

Datum:

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 jetzt I2CTarget.

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 in I2CTarget.

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 erhalten MemoryError 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, SAMx5x
  • cxd56: Sony Sprense
  • espressif: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3
  • nrf: Nordic nRF52840, nRF52833
  • raspberrypi: Raspberry Pi RP2040
  • stm: ST STM32F4-Chipfamilie

Diese Ports gelten als Alpha und weisen Fehler und fehlende Funktionen auf:

  • broadcom: Raspberry Pi-Boards wie RPi 4, RPi Zero 2W
  • litex: fomu
  • mimxrt10xx: NXP i.MXRT10xxx
  • silabs: Silicon Labs MG24-Familie
  • stm: 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.

spot_img

Neueste Intelligenz

spot_img