Lanzamiento de Snek 1.6, un lenguaje de programación similar a Python para sistemas integrados

Keith Packard, un desarrollador activo de Debian, líder del proyecto X.Org y creador de muchas extensiones X, incluidas XRender, XComposite y XRandR, ha publicado una nueva versión del lenguaje de programación Snek 1.6, posicionado como una versión simplificada del lenguaje Python. Adaptado para su uso en sistemas integrados, sistemas que no tienen suficientes recursos para usar MicroPython y CircuitPython. Snek no afirma ser totalmente compatible con el lenguaje Python, pero puede usarse en chips con tan solo 2 KB de RAM, 32 KB de memoria Flash y 1 KB de EEPROM. El código del proyecto se distribuye bajo la licencia GPLv3. Las compilaciones están preparadas para Linux, Windows y macOS.

Snek utiliza la semántica y la sintaxis de Python, pero sólo admite un subconjunto limitado de funciones. Uno de los objetivos del diseño es mantener la compatibilidad con versiones anteriores: los programas de Snek se pueden ejecutar utilizando implementaciones completas de Python 3. Snek se ha adaptado a una amplia gama de dispositivos integrados, incluidos Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego. EV3 y µduino, proporciona acceso a GPIO y varios periféricos.

Paralelamente, el proyecto también está desarrollando su propio microcontrolador abierto Snekboard (ARM Cortex M0 con 256KB Flash y 32KB RAM), diseñado para usar con Snek o CircuitPython, y destinado a enseñar y crear robots utilizando piezas LEGO. Los fondos para la creación de Snekboard se recaudaron mediante crowdfunding.

Para desarrollar aplicaciones en Snek, puede utilizar el editor de código Mu (parches de soporte) o su propio entorno de desarrollo integrado de consola Snekde, que está escrito utilizando la biblioteca Curses y proporciona una interfaz para editar código e interactuar con el dispositivo a través de un puerto USB. (Puede guardar programas inmediatamente en el dispositivo eeprom y descargar el código desde el dispositivo).

En el nuevo lanzamiento:

  • Se agregó soporte para sincronización explícita basada en ENQ/ACK, lo que permite que las aplicaciones envíen grandes cantidades de datos sin la necesidad de admitir control de flujo en el lado del sistema operativo, incluso cuando se conecta una gran cantidad de dispositivos al puerto serie o USB que no proporcionan control de flujo.
  • El puerto para la placa Lego EV3 se ha mejorado significativamente, llevando el soporte al nivel de otros dispositivos.
  • Puerto agregado para placa Narrow 1284 basada en SoC ATmega1284.
  • Se agregó un puerto para el kit para principiantes de Seeed Grove basado en ATmega328p.
  • Se agregó un puerto para la placa Seeeduino XIAO basada en SAMD21 conectada a través de USB-C.
  • Puerto agregado para Arduino Nano. Cada placa basada en ATmega4809, equipada con 6 KB de RAM.

Añadir un comentario