Выпуск Snek 1.6, Python-подобного языка программирования для встраиваемых систем

11 августа 2021 года

Кит Паккард ( Keith Packard), активный разработчик Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, опубликовал новый выпуск языка программирования Snek 1.6, позиционируемого как упрощённый вариант языка Python, адаптированный для использования на встраиваемых системах, на которых недостаточно ресурсов для использования MicroPython и CircuitPython. Snek не претендует на полноценную поддержку языка Python, но может использоваться на чипах, имеющих всего 2КБ ОЗУ, 32 КБ Flash-памяти и 1КБ EEPROM. Код проекта распространяется под лицензией GPLv3. Сборки подготовлены для Linux, Windows и macOS.

В языке Snek используется семантика и синтаксис Python, но поддерживается лишь ограниченное подмножество возможностей. Одной из целей, которая учитывается при разработке, является сохранение обратной совместимости - программы на Snek могут выполняться с использованием полноценных реализаций Python 3. Snek портирован для широкого спектра встраиваемых устройств, включая платы Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 и µduino, предоставляет доступ к GPIO и различным периферийным устройствам.

При этом проект также развивает собственный открытый микроконтроллер Snekboard (ARM Cortex M0 с 256КБ Flash и 32КБ ОЗУ), рассчитанный на использование со Snek или CircuitPython, и нацеленный на обучение и создание роботов с использованием деталей LEGO. Средства для создания Snekboard собраны в ходе крaудфандинга.

Для разработки приложений на Snek может использоваться редактор кода Mu ( патчи для поддержки) или собственная консольная интегрированная среда разработки Snekde, которая написана с использованием библиотеки Curses и предоставляет интерфейс для редактирования кода и взаимодействия с устройством через USB-порт (можно сразу сохранять программы в eeprom устройства и загружать код с устройства).

В новом выпуске:

  • Добавлена поддержка явной синхронизации на базе

ENQ/ACK, позволяющей приложениям отправлять большие объёмы данных без необходимости поддержи управления потоком на стороне операционной системы, в том числе при подключении большого числа устройств к USB или последовательному порту, не предоставляющих управления потоком.

  • Значительно улучшен порт для платы Lego EV3, поддержка которой доведена до уровня других устройств.
  • Добавлен порт для платы Narrow 1284 на базе SoC ATmega1284.
  • Добавлен порт для платы Seeed Grove Beginner Kit на базе ATmega328p.
  • Добавлен порт для платы Seeeduino XIAO на базе SAMD21, подключаемой через USB-C.
  • Добавлен порт для платы Arduino Nano Every на базе ATmega4809, оснащённой 6 КБ ОЗУ.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск Snek 1.6, Python-подобного языка программирования для встраиваемых систем», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.