Veröffentlichung von Snek 1.6, einer pythonähnlichen Programmiersprache für eingebettete Systeme.

Keith Packard, aktiver Entwickler von Debian, Projektleiter von X.Org und Erfinder zahlreicher X-Erweiterungen wie XRender, XComposite und XRandR, hat eine neue Version der Programmiersprache Snek 1.6 veröffentlicht. Diese wird als vereinfachte Variante von Python positioniert und ist für den Einsatz auf Embedded-Systemen gedacht, bei denen die Ressourcen für MicroPython und CircuitPython nicht ausreichen. Snek erhebt keinen Anspruch auf vollständige Unterstützung von Python, kann jedoch auf Chips mit lediglich 2 KB RAM, 32 KB Flash-Speicher und 1 KB EEPROM verwendet werden. Der Quellcode des Projekts wird unter der GPLv3-Lizenz verbreitet. Die Versionen sind für Linux, Windows und macOS vorbereitet.

Die Sprache Snek verwendet die Semantik und Syntax von Python, unterstützt jedoch nur ein begrenztes Subset an Möglichkeiten. Eines der Ziele bei der Entwicklung ist die Wahrung der Abwärtskompatibilität – Programme in Snek können mit vollwertigen Implementierungen von Python 3 ausgeführt werden. Snek wurde für eine breite Palette an Embedded-Geräten portiert, darunter Arduino-Boards, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 und µduino, und bietet Zugriff auf GPIO sowie verschiedene Peripheriegeräte.

Das Projekt entwickelt auch seinen eigenen offenen Mikrocontroller Snekboard (ARM Cortex M0 mit 256 KB Flash und 32 KB RAM), der für die Verwendung mit Snek oder CircuitPython ausgelegt ist und sich auf das Lernen und die Erstellung von Robotern mit LEGO-Komponenten konzentriert. Die Mittel zur Erstellung des Snekboard wurden durch Crowdfunding gesammelt.

Für die Entwicklung von Anwendungen auf Snek kann der Code-Editor Mu (mit Patches zur Unterstützung) oder die eigene Konsolen-IDE Snekde verwendet werden, die mit der Curses-Bibliothek geschrieben wurde und eine Schnittstelle zum Bearbeiten von Code sowie zur Interaktion mit dem Gerät über den USB-Port bietet (Programme können direkt im EEPROM des Geräts gespeichert und Code vom Gerät geladen werden).

In der neuen Version:

  • Die Unterstützung für explizite Synchronisation auf Basis von ENQ/ACK wurde hinzugefügt, die es Anwendungen ermöglicht, große Datenmengen zu senden, ohne dass das Betriebssystem einen Flusskontrollmechanismus unterstützen muss, selbst wenn eine große Anzahl von Geräten an USB oder einen seriellen Port angeschlossen ist, die keine Flusskontrolle bereitstellen.
  • Der Port für das Lego EV3-Board wurde erheblich verbessert, und die Unterstützung hat nun das Niveau anderer Geräte erreicht.
  • Ein Port für das Narrow 1284-Board auf Basis des ATmega1284 SoC wurde hinzugefügt.
  • Ein Port für das Seeed Grove Beginner Kit basierend auf dem ATmega328p wurde hinzugefügt.
  • Ein Port für das Seeeduino XIAO-Board auf Basis des SAMD21, das über USB-C angeschlossen wird, wurde hinzugefügt.
  • Ein Port für das Arduino Nano Every-Board basierend auf dem ATmega4809 mit 6 KB RAM wurde hinzugefügt.
Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster