Phát hành Snek 1.6, ngôn ngữ lập trình giống Python cho các hệ thống nhúng

Keith Packard, một nhà phát triển Debian tích cực, lãnh đạo dự án X.Org và là người tạo ra nhiều tiện ích mở rộng X bao gồm XRender, XComposite và XRandR, đã xuất bản bản phát hành mới của ngôn ngữ lập trình Snek 1.6, được coi là phiên bản đơn giản hóa của Python ngôn ngữ được điều chỉnh để sử dụng trên các hệ thống nhúng không có đủ tài nguyên để sử dụng MicroPython và CircuitPython. Snek không tuyên bố hỗ trợ Python đầy đủ nhưng có thể được sử dụng trên các chip có RAM tối thiểu 2KB, 32KB Flash và 1KB EEPROM. Mã dự án được phân phối theo giấy phép GPLv3. Các bản dựng được chuẩn bị cho Linux, Windows và macOS.

Ngôn ngữ Snek sử dụng ngữ nghĩa và cú pháp của Python, nhưng chỉ hỗ trợ một tập hợp con tính năng hạn chế. Một trong những mục tiêu phát triển là duy trì khả năng tương thích ngược - Các chương trình Snek có thể được chạy bằng cách sử dụng triển khai Python 3. Snek đã được chuyển sang nhiều loại thiết bị nhúng, bao gồm bảng Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 và µduino, cung cấp quyền truy cập vào GPIO và nhiều thiết bị ngoại vi khác nhau.

Đồng thời, dự án cũng đang phát triển bộ vi điều khiển Snekboard mã nguồn mở của riêng mình (ARM Cortex M0 với 256KB Flash và 32KB RAM) được thiết kế để sử dụng với Snek hoặc CircuitPython và nhằm mục đích giảng dạy và chế tạo robot sử dụng các bộ phận LEGO. Nguồn vốn để tạo ra Snekboard được huy động thông qua huy động vốn từ cộng đồng.

Để phát triển ứng dụng trên Snek, có thể sử dụng trình soạn thảo mã Mu (bản vá để hỗ trợ) hoặc môi trường phát triển tích hợp bảng điều khiển riêng của Snekde, được viết bằng thư viện Curses và cung cấp giao diện chỉnh sửa mã và tương tác với thiết bị qua cổng USB ( bạn có thể lưu ngay các chương trình vào thiết bị eeprom và tải mã xuống từ thiết bị).

Trong bản phát hành mới:

  • Đã thêm hỗ trợ đồng bộ hóa rõ ràng dựa trên ENQ/ACK, cho phép ứng dụng gửi lượng lớn dữ liệu mà không cần hỗ trợ kiểm soát luồng ở phía hệ điều hành, kể cả khi kết nối một số lượng lớn thiết bị với cổng USB hoặc cổng nối tiếp không cung cấp Kiểm soát lưu lượng.
  • Cải thiện đáng kể cổng cho bo mạch Lego EV3, mang lại khả năng hỗ trợ ngang bằng với các thiết bị khác.
  • Đã thêm cổng cho bo mạch Narrow 1284 dựa trên ATmega1284 SoC.
  • Đã thêm cổng cho bo mạch Seeed Grove Beginner Kit dựa trên ATmega328p.
  • Đã thêm cổng cho bo mạch Seeeduino XIAO dựa trên SAMD21 được kết nối qua USB-C.
  • Đã thêm cổng cho Arduino Nano Mọi bo mạch dựa trên ATmega4809 với RAM 6K.

Thêm một lời nhận xét