組み込みシステム用の Python に似たプログラミング言語、Snek 1.6 のリリース

現役の Debian 開発者であり、X.Org プロジェクトのリーダーであり、XRender、XComposite、XRandR を含む多くの X 拡張機能の作成者である Keith Packard は、Python 言語の簡易バージョンとして位置付けられる Snek 1.6 プログラミング言語の新しいリリースを公開しました。 MicroPython と CircuitPython を使用するための十分なリソースがない組み込みシステムでの使用に適応されています。 Snek は Python 言語の完全なサポートを主張していませんが、2KB の RAM、32KB のフラッシュ メモリ、1KB の EEPROM を備えたチップでも使用できます。 プロジェクト コードは GPLv3 ライセンスに基づいて配布されます。 ビルドは Linux、Windows、macOS 用に用意されています。

Snek は Python のセマンティクスと構文を使用しますが、機能の限られたサブセットのみをサポートします。 設計目標の 3 つは、下位互換性を維持することです。Snek プログラムは完全な Python 0 実装を使用して実行できます。Snek は、Arduino、Feather/Metro M3 Express、Adafruit Crickit、Adafruit ItsyBitsy、Lego などの幅広い組み込みデバイスに移植されています。 EVXNUMX および µduino は、GPIO およびさまざまな周辺機器へのアクセスを提供します。

同時に、このプロジェクトは独自のオープン マイクロコントローラー Snekboard (0KB フラッシュと 256KB RAM を搭載した ARM Cortex M32) も開発中です。これは Snek または CircuitPython で使用するように設計されており、レゴ パーツを使用してロボットを教育および作成することを目的としています。 Snekboardの制作資金はクラウドファンディングで集めた。

Snek でアプリケーションを開発するには、Mu コード エディター (サポート用のパッチ) または独自のコンソール統合開発環境 Snekde を使用できます。Snekde は、Curses ライブラリを使用して記述され、コードを編集し、USB ポートを介してデバイスと対話するためのインターフェイスを提供します。 (すぐにプログラムを EEPROM デバイスに保存し、デバイスからコードをダウンロードできます)。

新しいリリースでは:

  • 明示的な ENQ/ACK ベースの同期のサポートが追加されました。これにより、アプリケーションは、オペレーティング システム側でフロー制御をサポートする必要がなく、大量のデータを送信できるようになります。これには、サポートされていない USB またはシリアル ポートに多数のデバイスを接続する場合も含まれます。フロー制御。
  • Lego EV3 ボードのポートが大幅に改善され、サポートが他のデバイスのレベルに引き上げられました。
  • ATmega1284 SoC に基づく Narrow 1284 ボード用のポートを追加しました。
  • ATmega328p に基づく Seeed Grove Beginner Kit 用のポートを追加しました。
  • USB-C 経由で接続された SAMD21 ベースの Seeeduino XIAO ボード用のポートを追加しました。
  • 4809 KBのRAMを搭載したATmega6ベースのArduino Nano Everyボード用のポートを追加しました。

コメントを追加します