Rilascio di Snek 1.6, un linguaggio di programmazione simile a Python per sistemi embedded

Keith Packard, uno sviluppatore Debian attivo, leader del progetto X.Org e creatore di molte estensioni X tra cui XRender, XComposite e XRandR, ha pubblicato una nuova versione del linguaggio di programmazione Snek 1.6, presentato come una versione semplificata del linguaggio Python linguaggio adattato per l'uso su sistemi embedded che non dispongono di risorse sufficienti per utilizzare MicroPython e CircuitPython. Snek non pretende di supportare completamente Python, ma può essere utilizzato su chip con un minimo di 2 KB di RAM, 32 KB di Flash e 1 KB di EEPROM. Il codice del progetto è distribuito sotto la licenza GPLv3. Build preparati per Linux, Windows e macOS.

Il linguaggio Snek utilizza la semantica e la sintassi di Python, ma è supportato solo un sottoinsieme limitato di funzionalità. Uno degli obiettivi di sviluppo è mantenere la compatibilità con le versioni precedenti: i programmi Snek possono essere eseguiti utilizzando implementazioni complete di Python 3. Snek è stato portato su un'ampia gamma di dispositivi embedded, tra cui schede Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 e µduino, fornisce l'accesso a GPIO e varie periferiche.

Allo stesso tempo, il progetto sta anche sviluppando il proprio microcontrollore Snekboard open source (ARM Cortex M0 con 256KB di Flash e 32KB di RAM) progettato per l'uso con Snek o CircuitPython e finalizzato all'insegnamento e alla costruzione di robot utilizzando parti LEGO. I fondi per la realizzazione dello Snekboard sono stati raccolti tramite crowdfunding.

Per sviluppare applicazioni su Snek, è possibile utilizzare l'editor di codice Mu (patch di supporto) o l'ambiente di sviluppo integrato della console di Snekde, che è scritto utilizzando la libreria Curses e fornisce un'interfaccia per modificare il codice e interagire con il dispositivo tramite una porta USB ( puoi immediatamente salvare i programmi sul dispositivo eeprom e scaricare il codice dal dispositivo).

Nella nuova versione:

  • Aggiunto supporto per la sincronizzazione esplicita basata su ENQ/ACK, consentendo alle applicazioni di inviare grandi quantità di dati senza la necessità di supportare il controllo del flusso sul lato del sistema operativo, anche quando si collegano un gran numero di dispositivi a una porta USB o seriale che non fornisce controllo del flusso.
  • Migliorata significativamente la porta per la scheda Lego EV3, portando il supporto al livello di altri dispositivi.
  • Aggiunta porta per scheda Narrow 1284 basata sul SoC ATmega1284.
  • Aggiunta porta per la scheda Seeed Grove Beginner Kit basata su ATmega328p.
  • Aggiunta porta per la scheda Seeeduino XIAO basata su SAMD21 connessa tramite USB-C.
  • Aggiunta porta per Arduino Nano Ogni scheda basata su ATmega4809 con 6K RAM.

Aggiungi un commento