Utgivelse av Snek 1.6, et Python-lignende programmeringsspråk for innebygde systemer

Keith Packard, en aktiv Debian-utvikler, leder av X.Org-prosjektet og skaper av mange X-utvidelser inkludert XRender, XComposite og XRandR, har publisert en ny utgivelse av programmeringsspråket Snek 1.6, posisjonert som en forenklet versjon av Python-språket, tilpasset for bruk på innebygde systemer systemer som ikke har nok ressurser til å bruke MicroPython og CircuitPython. Snek krever ikke full støtte for Python-språket, men kan brukes på brikker med så lite som 2KB RAM, 32KB Flash-minne og 1KB EEPROM. Prosjektkoden distribueres under GPLv3-lisensen. Bygg er forberedt for Linux, Windows og macOS.

Snek bruker semantikken og syntaksen til Python, men støtter bare et begrenset delsett av funksjoner. Et av designmålene er å opprettholde bakoverkompatibilitet – Snek-programmer kan kjøres ved hjelp av full Python 3-implementering. Snek har blitt portert til et bredt spekter av innebygde enheter, inkludert Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 og µduino, gir tilgang til GPIO og diverse eksterne enheter.

Samtidig utvikler prosjektet også sin egen åpne mikrokontroller Snekboard (ARM Cortex M0 med 256KB Flash og 32KB RAM), designet for bruk med Snek eller CircuitPython, og rettet mot å lære og lage roboter ved hjelp av LEGO-deler. Midler til opprettelsen av Snekboard ble samlet inn gjennom crowdfunding.

For å utvikle applikasjoner på Snek kan du bruke Mu-kodeeditoren (patcher for støtte) eller ditt eget konsollintegrerte utviklingsmiljø Snekde, som er skrevet ved hjelp av Curses-biblioteket og gir et grensesnitt for redigering av kode og samhandling med enheten via en USB-port (du kan umiddelbart lagre programmer i eeprom-enheten og laste ned kode fra enheten).

I den nye utgivelsen:

  • Lagt til støtte for eksplisitt ENQ/ACK-basert synkronisering, slik at applikasjoner kan sende store mengder data uten behov for å støtte flytkontroll på operativsystemsiden, inkludert når du kobler et stort antall enheter til USB- eller serieporten som ikke gir flytkontroll.
  • Porten til Lego EV3-brettet har blitt betydelig forbedret, og bringer støtte til nivået til andre enheter.
  • Lagt til port for Narrow 1284-kort basert på ATmega1284 SoC.
  • Lagt til port for Seeed Grove Beginner Kit basert på ATmega328p.
  • Lagt til port for SAMD21-basert Seeeduino XIAO-kort koblet til via USB-C.
  • Lagt til port for Arduino Nano Hvert brett basert på ATmega4809, utstyrt med 6 KB RAM.

Legg til en kommentar