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

Keith Packard, ein aktiver Debian-Entwickler, Leiter des X.Org-Projekts und Schöpfer vieler X-Erweiterungen, darunter XRender, XComposite und XRandR, hat eine neue Version der Programmiersprache Snek 1.6 veröffentlicht, die als vereinfachte Version von Python angekündigt wird Sprache, die für die Verwendung auf eingebetteten Systemen angepasst ist, die nicht über genügend Ressourcen für die Verwendung von MicroPython und CircuitPython verfügen. Snek erhebt keinen Anspruch auf vollständige Python-Unterstützung, kann aber auf Chips mit nur 2 KB RAM, 32 KB Flash und 1 KB EEPROM verwendet werden. Der Projektcode wird unter der GPLv3-Lizenz vertrieben. Builds vorbereitet für Linux, Windows und macOS.

Die Snek-Sprache verwendet die Semantik und Syntax von Python, es werden jedoch nur eine begrenzte Teilmenge der Funktionen unterstützt. Eines der Entwicklungsziele ist die Aufrechterhaltung der Abwärtskompatibilität – Snek-Programme können mit vollwertigen Python 3-Implementierungen ausgeführt werden. Snek wurde auf eine breite Palette eingebetteter Geräte portiert, darunter Arduino-Boards, Feather/Metro M0 Express, Adafruit Crickit und Adafruit ItsyBitsy, Lego EV3 und µduino bieten Zugriff auf GPIO und verschiedene Peripheriegeräte.

Gleichzeitig entwickelt das Projekt auch einen eigenen Open-Source-Snekboard-Mikrocontroller (ARM Cortex M0 mit 256 KB Flash und 32 KB RAM), der für die Verwendung mit Snek oder CircuitPython konzipiert ist und darauf abzielt, Roboter mit LEGO-Teilen zu unterrichten und zu bauen. Die Mittel für die Erstellung des Snekboards wurden durch Crowdfunding gesammelt.

Um Anwendungen auf Snek zu entwickeln, kann der Mu-Code-Editor (Patches zur Unterstützung) oder Snekdes eigene konsolenintegrierte Entwicklungsumgebung verwendet werden, die mit der Curses-Bibliothek geschrieben ist und eine Schnittstelle zum Bearbeiten von Code und zur Interaktion mit dem Gerät über einen USB-Anschluss bietet ( Sie können Programme sofort auf dem EEPROM-Gerät speichern und den Code vom Gerät herunterladen.

In der neuen Version:

  • Unterstützung für explizite Synchronisierung basierend auf ENQ/ACK hinzugefügt, sodass Anwendungen große Datenmengen senden können, ohne dass die Flusskontrolle auf der Seite des Betriebssystems unterstützt werden muss, auch wenn eine große Anzahl von Geräten an einen USB- oder seriellen Port angeschlossen wird, der diese Funktion nicht unterstützt Ablaufsteuerung.
  • Der Anschluss für das Lego EV3-Board wurde erheblich verbessert und bringt die Unterstützung auf das Niveau anderer Geräte.
  • Port für Narrow 1284-Board basierend auf ATmega1284 SoC hinzugefügt.
  • Port für Seeed Grove Beginner Kit-Board basierend auf ATmega328p hinzugefügt.
  • Port für Seeeduino XIAO-Board hinzugefügt, das auf SAMD21 basiert und über USB-C angeschlossen ist.
  • Port für Arduino Nano hinzugefügt. Jedes Board basiert auf ATmega4809 mit 6K RAM.

Kommentar hinzufügen