Vrystelling van Snek 1.6, 'n Python-agtige programmeertaal vir ingebedde stelsels

Keith Packard, 'n aktiewe Debian-ontwikkelaar, leier van die X.Org-projek en skepper van baie X-uitbreidings, insluitend XRender, XComposite en XRandR, het 'n nuwe weergawe van die Snek 1.6-programmeertaal gepubliseer, geposisioneer as 'n vereenvoudigde weergawe van die Python-taal, aangepas vir gebruik op ingebedde stelsels stelsels wat nie genoeg hulpbronne het om MicroPython en CircuitPython te gebruik nie. Snek eis nie volle ondersteuning vir die Python-taal nie, maar kan gebruik word op skyfies met so min as 2KB RAM, 32KB Flash-geheue en 1KB EEPROM. Die projekkode word onder die GPLv3-lisensie versprei. Bouwerk is voorberei vir Linux, Windows en macOS.

Snek gebruik die semantiek en sintaksis van Python, maar ondersteun slegs 'n beperkte subset van kenmerke. Een van die ontwerpdoelwitte is om terugwaartse versoenbaarheid te handhaaf—Snek-programme kan uitgevoer word met volledige Python 3-implementerings. Snek is oorgedra na 'n wye reeks ingeboude toestelle, insluitend Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 en µduino, bied toegang tot GPIO en verskeie randapparatuur.

Terselfdertyd ontwikkel die projek ook sy eie oop mikrobeheerder Snekboard (ARM Cortex M0 met 256KB Flash en 32KB RAM), wat ontwerp is vir gebruik met Snek of CircuitPython, en gemik is op die onderrig en skep van robotte met LEGO-onderdele. Fondse vir die skepping van Snekboard is deur skarefinansiering ingesamel.

Om toepassings op Snek te ontwikkel, kan jy die Mu-kode-redigeerder (patches vir ondersteuning) of jou eie konsole-geïntegreerde ontwikkelingsomgewing Snekde gebruik, wat geskryf is deur die Curses-biblioteek te gebruik en 'n koppelvlak bied vir die redigering van kode en interaksie met die toestel via 'n USB-poort (jy kan dadelik programme in die eeprom-toestel stoor en kode van die toestel aflaai).

In die nuwe vrystelling:

  • Bygevoeg ondersteuning vir eksplisiete ENQ/ACK-gebaseerde sinchronisasie, wat toepassings toelaat om groot hoeveelhede data te stuur sonder dat dit nodig is om vloeibeheer aan die bedryfstelselkant te ondersteun, insluitend wanneer 'n groot aantal toestelle aan die USB- of seriële poort gekoppel word wat nie voorsien nie vloei beheer.
  • Die poort vir die Lego EV3-bord is aansienlik verbeter, wat ondersteuning op die vlak van ander toestelle bring.
  • Bygevoeg poort vir smal 1284 bord gebaseer op ATmega1284 SoC.
  • Bygevoeg poort vir Seeed Grove Beginner Kit gebaseer op ATmega328p.
  • Poort bygevoeg vir SAMD21-gebaseerde Seeeduino XIAO-bord wat via USB-C gekoppel is.
  • Bygevoeg poort vir Arduino Nano Elke bord gebaseer op ATmega4809, toegerus met 6 KB RAM.

Voeg 'n opmerking