Release av Snek 1.6, ett Python-liknande programmeringsspråk för inbyggda system

Keith Packard, en aktiv Debianutvecklare, ledare för X.Org-projektet och skapare av många X-tillägg inklusive XRender, XComposite och XRandR, har publicerat en ny version av programmeringsspråket Snek 1.6, positionerat som en förenklad version av Python-språket, anpassade för användning på inbyggda system system som inte har tillräckligt med resurser för att använda MicroPython och CircuitPython. Snek hävdar inte fullt stöd för Python-språket, men kan användas på chips med så lite som 2KB RAM, 32KB Flash-minne och 1KB EEPROM. Projektkoden distribueras under GPLv3-licensen. Byggnader är förberedda för Linux, Windows och macOS.

Snek använder semantiken och syntaxen från Python, men stöder bara en begränsad delmängd av funktioner. Ett av designmålen är att upprätthålla bakåtkompatibilitet – Snek-program kan köras med fullständiga implementeringar av Python 3. Snek har porterats till ett brett utbud av inbäddade enheter, inklusive Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 och µduino, ger tillgång till GPIO och olika kringutrustning.

Samtidigt utvecklar projektet också sin egen öppna mikrokontroller Snekboard (ARM Cortex M0 med 256KB Flash och 32KB RAM), designad för användning med Snek eller CircuitPython, och syftar till att lära ut och skapa robotar med hjälp av LEGO-delar. Medel för skapandet av Snekboard samlades in genom crowdfunding.

För att utveckla applikationer på Snek kan du använda Mu-kodredigeraren (patchar för support) eller din egen konsolintegrerade utvecklingsmiljö Snekde, som är skriven med Curses-biblioteket och ger ett gränssnitt för redigering av kod och interaktion med enheten via en USB-port (du kan omedelbart spara program i eeprom-enheten och ladda ner kod från enheten).

I den nya utgåvan:

  • Tillagt stöd för explicit ENQ/ACK-baserad synkronisering, vilket gör att applikationer kan skicka stora mängder data utan att behöva stödja flödeskontroll på operativsystemsidan, inklusive när ett stort antal enheter ansluts till USB- eller serieporten som inte tillhandahåller flödeskontroll.
  • Porten för Lego EV3-brädan har förbättrats avsevärt, vilket ger stöd till nivån för andra enheter.
  • Tillagd port för Narrow 1284-kort baserat på ATmega1284 SoC.
  • Tillagd port för Seeed Grove Beginner Kit baserat på ATmega328p.
  • Tillagd port för SAMD21-baserade Seeeduino XIAO-kort ansluten via USB-C.
  • Tillagd port för Arduino Nano Varje kort baserat på ATmega4809, utrustad med 6 KB RAM.

Lägg en kommentar