Release van Snek 1.6, een Python-achtige programmeertaal voor embedded systemen

Keith Packard, een actieve Debian-ontwikkelaar, leider van het X.Org-project en maker van vele X-extensies waaronder XRender, XComposite en XRandR, heeft een nieuwe release van de programmeertaal Snek 1.6 gepubliceerd, aangekondigd als een vereenvoudigde versie van de Python taal aangepast voor gebruik op ingebedde systemen die niet genoeg bronnen hebben om MicroPython en CircuitPython te gebruiken. Snek beweert niet volledige Python-ondersteuning te zijn, maar kan worden gebruikt op chips met slechts 2 KB RAM, 32 KB Flash en 1 KB EEPROM. De projectcode wordt gedistribueerd onder de GPLv3-licentie. Builds voorbereid voor Linux, Windows en macOS.

De Snek-taal gebruikt de semantiek en syntaxis van Python, maar slechts een beperkte subset van functies wordt ondersteund. Een van de ontwikkelingsdoelen is om achterwaartse compatibiliteit te behouden - Snek-programma's kunnen worden uitgevoerd met volwaardige implementaties van Python 3. Snek is geporteerd naar een breed scala aan embedded apparaten, waaronder Arduino-boards, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 en Β΅duino geven toegang tot GPIO en diverse randapparatuur.

Tegelijkertijd ontwikkelt het project ook zijn eigen open source Snekboard-microcontroller (ARM Cortex M0 met 256 KB Flash en 32 KB RAM), ontworpen voor gebruik met Snek of CircuitPython en gericht op het aanleren en bouwen van robots met behulp van LEGO-onderdelen. Via crowdfunding werd geld ingezameld voor de oprichting van het Snekboard.

Om applicaties op Snek te ontwikkelen, kan de Mu-code-editor (patches voor ondersteuning) of Snekde's eigen console-geΓ―ntegreerde ontwikkelomgeving worden gebruikt, die is geschreven met behulp van de Curses-bibliotheek en een interface biedt voor het bewerken van code en interactie met het apparaat via een USB-poort ( u kunt programma's direct op het eeprom-apparaat opslaan en de code van het apparaat downloaden).

In de nieuwe uitgave:

  • Ondersteuning toegevoegd voor expliciete synchronisatie op basis van ENQ/ACK, waardoor applicaties grote hoeveelheden gegevens kunnen verzenden zonder de noodzaak om flow control aan de kant van het besturingssysteem te ondersteunen, ook bij het aansluiten van een groot aantal apparaten op een USB- of seriΓ«le poort die dat niet biedt stroom controle.
  • De poort voor het Lego EV3-bord is aanzienlijk verbeterd, waardoor de ondersteuning op het niveau van andere apparaten is gekomen.
  • Poort toegevoegd voor Narrow 1284-bord op basis van ATmega1284 SoC.
  • Poort toegevoegd voor Seeed Grove Beginner Kit-bord op basis van ATmega328p.
  • Poort toegevoegd voor Seeeduino XIAO-kaart op basis van SAMD21 aangesloten via USB-C.
  • Poort toegevoegd voor Arduino Nano Elk bord gebaseerd op ATmega4809 met 6K RAM.

Voeg een reactie