Lansarea Snek 1.6, un limbaj de programare asemănător Python pentru sisteme încorporate

Keith Packard, un dezvoltator Debian activ, lider al proiectului X.Org și creator al multor extensii X, inclusiv XRender, XComposite și XRandR, a publicat o nouă versiune a limbajului de programare Snek 1.6, poziționat ca o versiune simplificată a limbajului Python, adaptat pentru utilizare pe sisteme încorporate.sisteme care nu au suficiente resurse pentru a utiliza MicroPython și CircuitPython. Snek nu pretinde suport deplin pentru limbajul Python, dar poate fi folosit pe cipuri cu doar 2KB de RAM, 32KB de memorie Flash și 1KB de EEPROM. Codul proiectului este distribuit sub licența GPLv3. Compilările sunt pregătite pentru Linux, Windows și macOS.

Snek folosește semantica și sintaxa Python, dar acceptă doar un subset limitat de caracteristici. Unul dintre obiectivele de proiectare este de a menține compatibilitatea cu versiunea anterioară — programele Snek pot fi executate folosind implementări complete Python 3. Snek a fost portat pe o gamă largă de dispozitive încorporate, inclusiv Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 și µduino, oferă acces la GPIO și la diferite periferice.

În același timp, proiectul dezvoltă și propriul microcontroler deschis Snekboard (ARM Cortex M0 cu 256KB Flash și 32KB RAM), conceput pentru a fi utilizat cu Snek sau CircuitPython și care vizează predarea și crearea roboților folosind piese LEGO. Fondurile pentru crearea Snekboard au fost strânse prin crowdfunding.

Pentru a dezvolta aplicații pe Snek, puteți utiliza editorul de cod Mu (patch-uri pentru suport) sau propriul mediu de dezvoltare integrat în consolă Snekde, care este scris folosind biblioteca Curses și oferă o interfață pentru editarea codului și interacțiunea cu dispozitivul printr-un port USB. (puteți salva imediat programe în dispozitivul eeprom și puteți descărca codul de pe dispozitiv).

În noua versiune:

  • S-a adăugat suport pentru sincronizarea explicită bazată pe ENQ/ACK, permițând aplicațiilor să trimită cantități mari de date fără a fi nevoie să suporte controlul fluxului din partea sistemului de operare, inclusiv atunci când se conectează un număr mare de dispozitive la portul USB sau serial care nu oferă Controlul debitului.
  • Portul pentru placa Lego EV3 a fost îmbunătățit semnificativ, aducând suport la nivelul altor dispozitive.
  • Port adăugat pentru placa Narrow 1284 bazată pe SoC ATmega1284.
  • Port adăugat pentru kit-ul pentru începători Seeed Grove bazat pe ATmega328p.
  • Port adăugat pentru placa Seeeduino XIAO bazată pe SAMD21 conectată prin USB-C.
  • Port adăugat pentru Arduino Nano Fiecare placă bazată pe ATmega4809, echipată cu 6 KB de RAM.

Adauga un comentariu