Wydanie Snek 1.6, języka programowania podobnego do Pythona dla systemów wbudowanych

Keith Packard, aktywny deweloper Debiana, lider projektu X.Org i twórca wielu rozszerzeń X, w tym XRender, XComposite i XRandR, opublikował nową wersję języka programowania Snek 1.6, zapowiadanego jako uproszczona wersja języka Python język przystosowany do użytku w systemach wbudowanych, które nie mają wystarczających zasobów do korzystania z MicroPython i CircuitPython. Snek nie twierdzi, że w pełni obsługuje Pythona, ale może być używany na chipach z zaledwie 2 KB pamięci RAM, 32 KB pamięci Flash i 1 KB pamięci EEPROM. Kod projektu jest rozpowszechniany na licencji GPLv3. Buildy przygotowane dla systemów Linux, Windows i macOS.

Język Snek wykorzystuje semantykę i składnię Pythona, ale obsługiwany jest tylko ograniczony podzbiór funkcji. Jednym z celów rozwojowych jest zachowanie kompatybilności wstecznej - programy Snek mogą być uruchamiane przy użyciu pełnoprawnych implementacji Python 3. Snek został przeportowany na szeroką gamę urządzeń wbudowanych, w tym płyty Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 i µduino zapewniają dostęp do GPIO i różnych urządzeń peryferyjnych.

W tym samym czasie w ramach projektu opracowywany jest również własny mikrokontroler Snekboard typu open source (ARM Cortex M0 z 256 KB Flash i 32 KB RAM) przeznaczony do użytku z Snek lub CircuitPython i mający na celu nauczanie i budowanie robotów z wykorzystaniem części LEGO. Fundusze na stworzenie Snekboardu zostały zebrane w ramach crowdfundingu.

Aby tworzyć aplikacje na Sneku, można użyć edytora kodu Mu (łatki do obsługi) lub własnego zintegrowanego środowiska programistycznego konsoli Snekde, które jest napisane przy użyciu biblioteki Curses i zapewnia interfejs do edycji kodu i interakcji z urządzeniem przez port USB ( możesz natychmiast zapisać programy do urządzenia eeprom i pobrać kod z urządzenia).

W nowym wydaniu:

  • Dodano obsługę jawnej synchronizacji w oparciu o ENQ/ACK, umożliwiając aplikacjom przesyłanie dużych ilości danych bez konieczności obsługi sterowania przepływem po stronie systemu operacyjnego, w tym podczas podłączania dużej liczby urządzeń do portu USB lub portu szeregowego, które nie zapewniają Kontrola przepływu.
  • Znacząco poprawiono port dla płytki Lego EV3, przenosząc obsługę na poziom innych urządzeń.
  • Dodano port dla płytki Narrow 1284 opartej na SoC ATmega1284.
  • Dodano port dla zestawu Seeed Grove dla początkujących opartego na ATmega328p.
  • Dodano port dla karty Seeeduino XIAO opartej na SAMD21 podłączonej przez USB-C.
  • Dodano port dla Arduino Nano Każda płytka oparta na ATmega4809 wyposażona w 6K RAM.

Dodaj komentarz