Lançamento do Snek 1.6, uma linguagem de programação semelhante ao Python para sistemas embarcados

Keith Packard, um desenvolvedor Debian ativo, líder do projeto X.Org e criador de muitas extensões X, incluindo XRender, XComposite e XRandR, publicou uma nova versão da linguagem de programação Snek 1.6, posicionada como uma versão simplificada da linguagem Python, adaptado para uso em sistemas embarcados.sistemas que não possuem recursos suficientes para usar MicroPython e CircuitPython. Snek não afirma suporte total para a linguagem Python, mas pode ser usado em chips com apenas 2 KB de RAM, 32 KB de memória Flash e 1 KB de EEPROM. O código do projeto é distribuído sob a licença GPLv3. As compilações são preparadas para Linux, Windows e macOS.

Snek usa a semântica e a sintaxe do Python, mas oferece suporte apenas a um subconjunto limitado de recursos. Um dos objetivos do design é manter a compatibilidade com versões anteriores - os programas Snek podem ser executados usando implementações completas do Python 3. O Snek foi portado para uma ampla variedade de dispositivos embarcados, incluindo Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 e µduino fornecem acesso a GPIO e vários periféricos.

Paralelamente, o projeto também está desenvolvendo seu próprio microcontrolador aberto Snekboard (ARM Cortex M0 com 256KB Flash e 32KB RAM), projetado para uso com Snek ou CircuitPython, e destinado ao ensino e criação de robôs utilizando peças de LEGO. Os fundos para a criação do Snekboard foram arrecadados por meio de crowdfunding.

Para desenvolver aplicativos no Snek, você pode usar o editor de código Mu (patches para suporte) ou seu próprio ambiente de desenvolvimento integrado de console Snekde, que é escrito usando a biblioteca Curses e fornece uma interface para editar código e interagir com o dispositivo através de uma porta USB (você pode salvar programas imediatamente no dispositivo eeprom e baixar o código do dispositivo).

Na nova versão:

  • Adicionado suporte para sincronização explícita baseada em ENQ/ACK, permitindo que aplicativos enviem grandes quantidades de dados sem a necessidade de suporte ao controle de fluxo no lado do sistema operacional, inclusive ao conectar um grande número de dispositivos à porta USB ou serial que não fornecem controle de fluxo.
  • A porta para a placa Lego EV3 foi significativamente melhorada, trazendo suporte ao nível de outros dispositivos.
  • Adicionada porta para placa Narrow 1284 baseada no SoC ATmega1284.
  • Adicionada porta para Seeed Grove Beginner Kit baseado em ATmega328p.
  • Adicionada porta para placa Seeeduino XIAO baseada em SAMD21 conectada via USB-C.
  • Adicionada porta para Arduino Nano. Cada placa baseada em ATmega4809, equipada com 6 KB de RAM.

Adicionar um comentário