Lanzamento de Snek 1.6, unha linguaxe de programación similar a Python para sistemas embebidos

Keith Packard, un activo desenvolvedor de Debian, líder do proxecto X.Org e creador de moitas extensións X, incluíndo XRender, XComposite e XRandR, publicou unha nova versión da linguaxe de programación Snek 1.6, posicionada como unha versión simplificada da linguaxe Python. adaptado para o seu uso en sistemas embebidos.sistemas que non teñen recursos suficientes para utilizar MicroPython e CircuitPython. Snek non reclama soporte completo para a linguaxe Python, pero pódese usar en chips con tan só 2 KB de RAM, 32 KB de memoria Flash e 1 KB de EEPROM. O código do proxecto distribúese baixo a licenza GPLv3. As compilacións están preparadas para Linux, Windows e macOS.

Snek usa a semántica e a sintaxe de Python, pero só admite un subconxunto limitado de funcións. Un dos obxectivos do deseño é manter a compatibilidade con versións anteriores: os programas Snek pódense executar usando implementacións completas de Python 3. Snek portouse a unha ampla gama de dispositivos integrados, incluíndo Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego. EV3 e µduino, proporciona acceso a GPIO e varios periféricos.

Paralelamente, o proxecto tamén está a desenvolver o seu propio microcontrolador aberto Snekboard (ARM Cortex M0 con 256 KB de Flash e 32 KB de RAM), pensado para o seu uso con Snek ou CircuitPython, e dirixido a ensinar e crear robots utilizando pezas de LEGO. Os fondos para a creación de Snekboard foron recadados mediante crowdfunding.

Para desenvolver aplicacións en Snek, pode usar o editor de código Mu (parches para soporte) ou o seu propio contorno de desenvolvemento integrado de consola Snekde, que está escrito usando a biblioteca Curses e proporciona unha interface para editar código e interactuar co dispositivo a través dun porto USB. (podes gardar programas inmediatamente no dispositivo eeprom e descargar o código do dispositivo).

Na nova versión:

  • Engadiuse compatibilidade para a sincronización explícita baseada en ENQ/ACK, que permite ás aplicacións enviar grandes cantidades de datos sen necesidade de soportar o control de fluxo no lado do sistema operativo, incluso cando se conectan un gran número de dispositivos ao porto USB ou serie que non proporcionan control de fluxo.
  • O porto para a placa Lego EV3 mellorouse significativamente, levando o soporte ao nivel doutros dispositivos.
  • Porto engadido para a placa Narrow 1284 baseada no SoC ATmega1284.
  • Porto engadido para o kit para principiantes de Seeed Grove baseado en ATmega328p.
  • Porto engadido para a placa Seeeduino XIAO baseada en SAMD21 conectada a través de USB-C.
  • Porto engadido para Arduino Nano Cada placa baseada en ATmega4809, equipada con 6 KB de RAM.

Engadir un comentario