Snek 1.5, un langage de programmation de type Python pour les systèmes embarqués, est disponible

Keith Packard (Keith Packard), développeur Debian actif, leader du projet X.Org et créateur de nombreuses extensions X, dont XRender, XComposite et XRandR, publié nouvelle version du langage de programmation Snek 1.5, qui peut être considéré comme une version simplifiée du langage Python, adaptée pour être utilisée sur des systèmes embarqués ne disposant pas de suffisamment de ressources à utiliser MicroPython и CircuitPython. Snek ne revendique pas une prise en charge complète du langage Python, mais peut être utilisé sur des puces avec aussi peu que 2 Ko de RAM, 32 Ko de mémoire Flash et 1 Ko d'EEPROM. Code de projet distribué par sous licence GPLv3. Assemblées préparé pour Linux, Windows et macOS.

Le besoin d'un nouveau langage est apparu lors de la pratique pédagogique de Keith Packard, qui souhaitait utiliser pour enseigner aux étudiants un langage adapté à une utilisation sur les cartes Arduino et ressemblant au logo Lego dans ses tâches, mais qui pourrait devenir la base d'une formation ultérieure en programmation. . Les principales exigences du nouveau langage étaient de nature textuelle (démonstration de méthodes de programmation réelles ne reposant pas sur une interface graphique ni sur une souris),
fournissant la base d'une formation complète en programmation et de la compacité du langage (la capacité d'apprendre le langage en quelques heures).

Snek utilise la sémantique et la syntaxe de Python, mais ne prend en charge qu'un sous-ensemble limité de fonctionnalités. L'un des objectifs pris en compte lors du développement est de maintenir la compatibilité ascendante - les programmes sur Snek peuvent être exécutés à l'aide d'implémentations Python 3 à part entière. les étudiants familiers avec Snek peuvent immédiatement continuer à apprendre Python à part entière et utiliser leurs connaissances existantes lorsqu'ils travaillent avec Python.

Snek est porté sur une large gamme d'appareils embarqués, notamment les cartes Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 et µduino, donnant accès aux GPIO et à divers périphériques. Parallèlement, le projet développe également son propre microcontrôleur ouvert Planche à roulettes (ARM Cortex M0 avec 256 Ko de Flash et 32 ​​Ko de RAM), conçu pour être utilisé avec Snek ou CircuitPython, et destiné à enseigner et à construire des robots à l'aide de pièces LEGO. Outils pour créer un Snekboard collecté lors du financement participatif.

Un éditeur de code peut être utilisé pour développer des applications sur Snek Mu (correctifs pour le support) ou votre propre IDE de console Snekdé, qui est écrit à l'aide de la bibliothèque Curses et fournit une interface pour éditer le code et interagir avec l'appareil via un port USB (vous pouvez immédiatement enregistrer des programmes sur l'eeprom de l'appareil et charger le code depuis l'appareil).

Snek 1.5, un langage de programmation de type Python pour les systèmes embarqués, est disponible

Dans la nouvelle version :

  • Ajout d'un port pour la carte Arduino Uno, similaire au port de la carte Duemilanove, mais inclut un remplacement du firmware pour l'Atmega 16u2.
  • Ajout d'un support correct pour les chaînes de comparaison (a < b < c).
  • Les cartes Adafruit Circuit Playground Express offrent une capacité de sortie audio.
  • Pour les cartes Duemilanove, le chargeur de démarrage est activé Optiboot, vous permettant de remplacer Snek sans avoir à utiliser un appareil de programmation séparé.

Outre Snek, Keith Packard développe bibliothèque C standard PicoLibc, qui peut être utilisé sur des appareils embarqués avec peu de RAM.

Source: opennet.ru

Ajouter un commentaire