Vydání Snek 1.6, programovacího jazyka podobného Pythonu pro vestavěné systémy

Keith Packard, aktivní vývojář Debianu, vedoucí projektu X.Org a tvůrce mnoha rozšíření X včetně XRender, XComposite a XRandR, zveřejnil novou verzi programovacího jazyka Snek 1.6, umístěnou jako zjednodušená verze jazyka Python, přizpůsobené pro použití na vestavěných systémech, systémech, které nemají dostatek zdrojů pro použití MicroPythonu a CircuitPythonu. Snek si nenárokuje plnou podporu jazyka Python, ale může být použit na čipech s již 2KB RAM, 32KB Flash paměti a 1KB EEPROM. Kód projektu je distribuován pod licencí GPLv3. Buildy jsou připraveny pro Linux, Windows a macOS.

Snek používá sémantiku a syntaxi Pythonu, ale podporuje pouze omezenou podmnožinu funkcí. Jedním z cílů návrhu je zachování zpětné kompatibility – programy Snek lze spouštět pomocí plných implementací Pythonu 3. Snek byl portován na širokou škálu vestavěných zařízení, včetně Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 a µduino, poskytuje přístup k GPIO a různým periferiím.

Současně projekt vyvíjí také vlastní otevřený mikrokontrolér Snekboard (ARM Cortex M0 s 256KB Flash a 32KB RAM), určený pro použití se Snek nebo CircuitPython a zaměřený na výuku a tvorbu robotů pomocí LEGO dílů. Prostředky na vznik Snekboardu byly získány prostřednictvím crowdfundingu.

Pro vývoj aplikací na Snek můžete použít editor kódu Mu (záplaty pro podporu) nebo vlastní konzolové integrované vývojové prostředí Snekde, které je napsáno pomocí knihovny Curses a poskytuje rozhraní pro úpravu kódu a interakci se zařízením přes USB port (programy můžete okamžitě uložit do zařízení eeprom a stáhnout kód ze zařízení).

V novém vydání:

  • Přidána podpora explicitní synchronizace založené na ENQ/ACK, která umožňuje aplikacím odesílat velké množství dat bez nutnosti podporovat řízení toku na straně operačního systému, včetně připojení velkého počtu zařízení k USB nebo sériovému portu, které neposkytují řízení toku.
  • Výrazně byl vylepšen port pro desku Lego EV3, čímž se podpora dostala na úroveň ostatních zařízení.
  • Přidán port pro desku Narrow 1284 založenou na ATmega1284 SoC.
  • Přidán port pro sadu Seeed Grove Beginner Kit založenou na ATmega328p.
  • Přidán port pro desku Seeeduino XIAO založenou na SAMD21 připojenou přes USB-C.
  • Přidán port pro Arduino Nano Každá deska založená na ATmega4809, vybavená 6 KB RAM.

Přidat komentář