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

Кіт Паккард (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. Lego EV0 та µduino, надає доступ до GPIO та різних периферійних пристроїв.

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

Для розробки програм на 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 КБ ОЗП.

Додати коментар або відгук