Udgivelse af Snek 1.6, et Python-lignende programmeringssprog til indlejrede systemer

Keith Packard, en aktiv Debian-udvikler, leder af X.Org-projektet og skaberen af ​​mange X-udvidelser, herunder XRender, XComposite og XRandR, har udgivet en ny udgivelse af Snek 1.6-programmeringssproget, faktureret som en forenklet version af Python sprog tilpasset til brug på indlejrede systemer, der ikke har nok ressourcer til at bruge MicroPython og CircuitPython. Snek hævder ikke at være fuld Python-understøttelse, men kan bruges på chips med så lidt som 2KB RAM, 32KB Flash og 1KB EEPROM. Projektkoden distribueres under GPLv3-licensen. Byg er forberedt til Linux, Windows og macOS.

Snek-sproget bruger Pythons semantik og syntaks, men kun et begrænset undersæt af funktioner understøttes. Et af udviklingsmålene er at opretholde bagudkompatibilitet - Snek-programmer kan køres ved hjælp af fuldgyldige Python 3-implementeringer. Snek er blevet porteret til en bred vifte af indlejrede enheder, herunder Arduino-boards, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 og µduino giver adgang til GPIO og forskellige perifere enheder.

Samtidig udvikler projektet også sin egen open source Snekboard mikrocontroller (ARM Cortex M0 med 256KB Flash og 32KB RAM) designet til brug med Snek eller CircuitPython og rettet mod undervisning og bygning af robotter ved hjælp af LEGO dele. Midler til oprettelsen af ​​Snekboardet blev indsamlet gennem crowdfunding.

For at udvikle applikationer på Snek kan Mu-kodeeditoren (patches for support) eller Snekdes eget konsol integrerede udviklingsmiljø bruges, som er skrevet ved hjælp af Curses-biblioteket og giver en grænseflade til redigering af kode og interaktion med enheden via en USB-port ( du kan straks gemme programmer på eeprom-enheden og downloade koden fra enheden).

I den nye udgivelse:

  • Tilføjet understøttelse af eksplicit synkronisering baseret på ENQ/ACK, hvilket gør det muligt for applikationer at sende store mængder data uden behov for at understøtte flowkontrol på operativsystemsiden, herunder ved tilslutning af et stort antal enheder til en USB eller seriel port, der ikke giver flow kontrol.
  • Markant forbedret porten til Lego EV3-brættet, hvilket bragte støtte til niveauet for andre enheder.
  • Tilføjet port til Narrow 1284-kort baseret på ATmega1284 SoC.
  • Tilføjet port til Seeed Grove Beginner Kit board baseret på ATmega328p.
  • Tilføjet port til Seeeduino XIAO-kort baseret på SAMD21 tilsluttet via USB-C.
  • Tilføjet port til Arduino Nano Hvert board baseret på ATmega4809 med 6K RAM.

Tilføj en kommentar