Izdaja Snek 1.6, Pythonu podobnega programskega jezika za vgrajene sisteme

Keith Packard, aktivni razvijalec Debiana, vodja projekta X.Org in ustvarjalec številnih razširitev X, vključno z XRender, XComposite in XRandR, je objavil novo izdajo programskega jezika Snek 1.6, ki je predstavljen kot poenostavljena različica Pythona. jezik, prilagojen za uporabo v vgrajenih sistemih, ki nimajo dovolj sredstev za uporabo MicroPython in CircuitPython. Snek ne trdi, da podpira popolno Python, vendar se lahko uporablja na čipih s samo 2 KB RAM-a, 32 KB Flash in 1 KB EEPROM-a. Koda projekta se distribuira pod licenco GPLv3. Zgradbe, pripravljene za Linux, Windows in macOS.

Jezik Snek uporablja semantiko in sintakso Pythona, vendar je podprt le omejen podnabor funkcij. Eden od razvojnih ciljev je ohraniti združljivost za nazaj - programe Snek je mogoče izvajati s polnopravnimi implementacijami Python 3. Snek je bil prenesen v širok nabor vgrajenih naprav, vključno s ploščami Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 in µduino omogoča dostop do GPIO in različnih zunanjih naprav.

Hkrati projekt razvija tudi lasten odprtokodni mikrokrmilnik Snekboard (ARM Cortex M0 z 256 KB Flash in 32 KB RAM), zasnovan za uporabo s Snek ali CircuitPython in namenjen poučevanju in gradnji robotov z uporabo LEGO delov. Sredstva za nastanek Snekboarda so bila zbrana s pomočjo množičnega financiranja.

Za razvoj aplikacij na Sneku je mogoče uporabiti urejevalnik kode Mu (popravki za podporo) ali Snekdejevo lastno konzolno integrirano razvojno okolje, ki je napisano z uporabo knjižnice Curses in ponuja vmesnik za urejanje kode in interakcijo z napravo prek vrat USB ( programe lahko takoj shranite v napravo eeprom in prenesete kodo iz naprave).

V novi izdaji:

  • Dodana podpora za eksplicitno sinhronizacijo, ki temelji na ENQ/ACK, kar aplikacijam omogoča pošiljanje velikih količin podatkov, ne da bi bilo treba podpirati nadzor pretoka na strani operacijskega sistema, vključno s priklopom velikega števila naprav na USB ali serijska vrata, ki ne zagotavljajo nadzor toka.
  • Bistveno izboljšana vrata za ploščo Lego EV3, s čimer je podpora dosegla raven drugih naprav.
  • Dodana vrata za ploščo Narrow 1284, ki temelji na ATmega1284 SoC.
  • Dodana vrata za ploščo Seeed Grove Beginner Kit, ki temelji na ATmega328p.
  • Dodana vrata za ploščo Seeeduino XIAO, ki temelji na SAMD21, povezana prek USB-C.
  • Dodana vrata za Arduino Nano Vsaka plošča, ki temelji na ATmega4809 s 6K RAM-om.

Dodaj komentar