إصدار Snek 1.6 ، لغة برمجة شبيهة بلغة Python للأنظمة المدمجة

نشر كيث باكارد، مطور دبيان النشط ورئيس مشروع X.Org ومبتكر العديد من ملحقات X، بما في ذلك XRender وXComposite وXRandR، إصدارًا جديدًا للغة البرمجة Snek 1.6، التي تم وضعها كنسخة مبسطة من لغة Python تم تكييفها للاستخدام على الأنظمة المدمجة، وهي الأنظمة التي لا تحتوي على موارد كافية لاستخدام MicroPython وCircuitPython. لا تدعي Snek الدعم الكامل للغة Python، ولكن يمكن استخدامها على شرائح ذات ذاكرة وصول عشوائي (RAM) بسعة 2 كيلو بايت فقط، وذاكرة فلاش بسعة 32 كيلو بايت، وذاكرة EEPROM بسعة 1 كيلو بايت. يتم توزيع رمز المشروع بموجب ترخيص 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 كيلو بايت فلاش و32 كيلو بايت من ذاكرة الوصول العشوائي)، المصممة للاستخدام مع Snek أو CircuitPython، وتهدف إلى تعليم وإنشاء الروبوتات باستخدام أجزاء LEGO. تم جمع الأموال لإنشاء Snekboard من خلال التمويل الجماعي.

لتطوير التطبيقات على Snek، يمكنك استخدام محرر كود Mu (تصحيحات للدعم) أو بيئة التطوير المتكاملة لوحدة التحكم الخاصة بك Snekde، والتي تتم كتابتها باستخدام مكتبة Curses وتوفر واجهة لتحرير التعليمات البرمجية والتفاعل مع الجهاز عبر منفذ USB (يمكنك حفظ البرامج على الفور في جهاز eeprom وتنزيل الكود من الجهاز).

في الإصدار الجديد:

  • تمت إضافة دعم للمزامنة الصريحة المستندة إلى ENQ/ACK، مما يسمح للتطبيقات بإرسال كميات كبيرة من البيانات دون الحاجة إلى دعم التحكم في التدفق من جانب نظام التشغيل، بما في ذلك عند توصيل عدد كبير من الأجهزة بمنفذ USB أو المنفذ التسلسلي الذي لا يوفر التحكم في التدفق.
  • تم تحسين منفذ لوحة Lego EV3 بشكل كبير، مما رفع الدعم إلى مستوى الأجهزة الأخرى.
  • تمت إضافة منفذ للوحة Narrow 1284 استنادًا إلى ATmega1284 SoC.
  • تمت إضافة منفذ لمجموعة Seeed Grove Beginner Kit استنادًا إلى ATmega328p.
  • منفذ إضافي للوحة Seeeduino XIAO المستندة إلى SAMD21 والمتصلة عبر USB-C.
  • تمت إضافة منفذ لـ Arduino Nano، كل لوحة تعتمد على ATmega4809، ومجهزة بذاكرة وصول عشوائي (RAM) سعة 6 كيلو بايت.

إضافة تعليق