שחרור של Snek 1.6, שפת תכנות דמוית Python עבור מערכות משובצות

קית' פקארד, מפתח דביאן פעיל, מוביל פרויקט X.Org ויוצר של הרחבות X רבות כולל XRender, XComposite ו-XRandR, פרסם מהדורה חדשה של שפת התכנות Snek 1.6, הממוקמת כגרסה פשוטה של ​​שפת Python, מותאם לשימוש במערכות משובצות.מערכות שאין להן מספיק משאבים לשימוש ב-MicroPython ו-CircuitPython. Snek אינה טוענת לתמיכה מלאה בשפת Python, אך ניתן להשתמש בשבבים עם זיכרון RAM של 2KB בלבד, 32KB של זיכרון פלאש ו-1KB של EEPROM. קוד הפרויקט מופץ תחת רישיון GPLv3. Builds מוכנים עבור 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 עם 256KB Flash ו-32KB RAM), המיועד לשימוש עם Snek או CircuitPython, ומטרתו ללמד וליצור רובוטים באמצעות חלקי LEGO. כספים להקמת Snekboard נאספו באמצעות מימון המונים.

כדי לפתח יישומים ב-Snek, אתה יכול להשתמש בעורך קוד Mu (טלאים לתמיכה) או בסביבת פיתוח משולבת בקונסולה משלך Snekde, שנכתבת באמצעות ספריית Curses ומספקת ממשק לעריכת קוד ואינטראקציה עם המכשיר דרך יציאת USB (ניתן לשמור תוכניות מיד במכשיר ה-eeprom ולהוריד קוד מהמכשיר).

במהדורה החדשה:

  • נוספה תמיכה בסנכרון מבוסס ENQ/ACK מפורש, המאפשרת ליישומים לשלוח כמויות גדולות של נתונים ללא צורך בתמיכה בבקרת זרימה בצד מערכת ההפעלה, כולל בעת חיבור מספר רב של מכשירים ל-USB או יציאת טורית שאינם מספקים בקרת זרימה.
  • היציאה ללוח לגו EV3 שופרה משמעותית, והביאה את התמיכה לרמה של מכשירים אחרים.
  • נוספה יציאה ללוח צר 1284 המבוסס על ATmega1284 SoC.
  • תוספת יציאה עבור Seeed Grove Beginner Kit המבוססת על ATmega328p.
  • נוספה יציאה ללוח Seeeduino XIAO מבוסס SAMD21 המחובר באמצעות USB-C.
  • תוספת יציאה עבור Arduino Nano כל לוח מבוסס על ATmega4809, מצויד ב-6 KB של זיכרון RAM.

הוספת תגובה