Keluaran Snek 1.6, bahasa pengaturcaraan seperti Python untuk sistem terbenam

Keith Packard, pembangun Debian aktif, pemimpin projek X.Org dan pencipta banyak sambungan X termasuk XRender, XComposite dan XRandR, telah menerbitkan keluaran baharu bahasa pengaturcaraan Snek 1.6, diletakkan sebagai versi ringkas bahasa Python, disesuaikan untuk digunakan pada sistem terbenam. sistem yang tidak mempunyai sumber yang mencukupi untuk menggunakan MicroPython dan CircuitPython. Snek tidak menuntut sokongan penuh untuk bahasa Python, tetapi boleh digunakan pada cip dengan hanya 2KB RAM, 32KB memori Flash dan 1KB EEPROM. Kod projek diedarkan di bawah lesen GPLv3. Binaan disediakan untuk Linux, Windows dan macOS.

Snek menggunakan semantik dan sintaks Python, tetapi hanya menyokong subset ciri yang terhad. Salah satu matlamat reka bentuk adalah untuk mengekalkan keserasian ke belakangβ€”program Snek boleh dilaksanakan menggunakan pelaksanaan penuh Python 3. Snek telah dialihkan ke pelbagai peranti terbenam, termasuk Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 dan Β΅duino, menyediakan akses kepada GPIO dan pelbagai peranti.

Pada masa yang sama, projek itu juga sedang membangunkan Snekboard mikropengawal terbukanya sendiri (ARM Cortex M0 dengan 256KB Flash dan 32KB RAM), direka untuk digunakan dengan Snek atau CircuitPython, dan bertujuan untuk mengajar dan mencipta robot menggunakan bahagian LEGO. Dana untuk penciptaan Snekboard dikumpul melalui crowdfunding.

Untuk membangunkan aplikasi pada Snek, anda boleh menggunakan editor kod Mu (tampalan untuk sokongan) atau persekitaran pembangunan bersepadu konsol anda sendiri Snekde, yang ditulis menggunakan perpustakaan Curses dan menyediakan antara muka untuk mengedit kod dan berinteraksi dengan peranti melalui port USB (anda boleh segera menyimpan program dalam peranti eeprom dan memuat turun kod dari peranti).

Dalam keluaran baharu:

  • Sokongan tambahan untuk penyegerakan berasaskan ENQ/ACK yang jelas, membolehkan aplikasi menghantar sejumlah besar data tanpa perlu menyokong kawalan aliran pada bahagian sistem pengendalian, termasuk apabila menyambungkan sejumlah besar peranti ke port USB atau siri yang tidak menyediakan kawalan aliran.
  • Port untuk papan Lego EV3 telah dipertingkatkan dengan ketara, membawa sokongan ke tahap peranti lain.
  • Menambah port untuk papan Narrow 1284 berdasarkan ATmega1284 SoC.
  • Menambah port untuk Kit Permulaan Seeed Grove berdasarkan ATmega328p.
  • Port tambahan untuk papan Seeeduino XIAO berasaskan SAMD21 yang disambungkan melalui USB-C.
  • Port tambahan untuk Arduino Nano Setiap papan berdasarkan ATmega4809, dilengkapi dengan 6 KB RAM.

Tambah komen