Κυκλοφορία της Snek 1.6, μιας γλώσσας προγραμματισμού παρόμοια με Python για ενσωματωμένα συστήματα

Ο Keith Packard, ενεργός προγραμματιστής του Debian, ηγέτης του έργου X.Org και δημιουργός πολλών επεκτάσεων X, συμπεριλαμβανομένων των XRender, XComposite και XRandR, δημοσίευσε μια νέα έκδοση της γλώσσας προγραμματισμού Snek 1.6, που χρεώνεται ως απλοποιημένη έκδοση της Python γλώσσα προσαρμοσμένη για χρήση σε ενσωματωμένα συστήματα που δεν διαθέτουν αρκετούς πόρους για χρήση των MicroPython και CircuitPython. Το Snek δεν ισχυρίζεται ότι υποστηρίζει πλήρως την Python, αλλά μπορεί να χρησιμοποιηθεί σε τσιπ με μόλις 2 KB RAM, 32 KB Flash και 1 KB EEPROM. Ο κώδικας του έργου διανέμεται με την άδεια 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 KB Flash και 32 KB RAM) που έχει σχεδιαστεί για χρήση με το Snek ή το CircuitPython και στοχεύει στη διδασκαλία και την κατασκευή ρομπότ χρησιμοποιώντας εξαρτήματα LEGO. Τα κεφάλαια για τη δημιουργία του Snekboard συγκεντρώθηκαν μέσω crowdfunding.

Για την ανάπτυξη εφαρμογών στο Snek, μπορεί να χρησιμοποιηθεί ο επεξεργαστής κώδικα Mu (patch για υποστήριξη) ή το ενσωματωμένο περιβάλλον ανάπτυξης της κονσόλας του 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 με 6K RAM.

Προσθέστε ένα σχόλιο