L’IDE di Arduino è il noto software che tutti usiamo per programmare le nostre schede. Il suo sviluppo è iniziato nel 2005 sulla base dell’interfaccia grafica del progetto Processing e da allora non si è mai interrotto. Durante questi anni, innumerevoli ore di sviluppo da parte del team Arduino con l’aiuto di una vivace comunità hanno reso l’IDE di Arduino lo standard de facto per la prototipazione elettronica. Grazie a un framework estensibile basato su pacchetti di supporto per schede modulari, l’IDE supporta più di 1.000 schede ufficiali e non ufficiali; è tradotto in 66 lingue, menzionato da più di 3.000 libri, ed è ancora in crescita: nell’ultimo anno è stato scaricato più di 39 milioni di volte. Più che mai.
Il percorso da un semplice IDE a un IDE avanzato
Mentre l’IDE di Arduino fornisce un’interfaccia semplice e chiara che è l’ideale per gli utenti inesperti, gli utenti più avanzati spesso riferiscono che le capacità di modifica sono un po’ limitate rispetto agli editor moderni. Ciò include funzionalità come il rientro del codice, il ripiegamento dei blocchi, le parentesi a chiusura automatica, la ricerca e la sostituzione di espressioni regolari, la commutazione dei commenti. Oltre a questo, molti utenti hanno chiesto il debug live, ovvero la possibilità di eseguire il codice su una scheda allegata e fermarlo su una determinata riga per controllare il contenuto di variabili, memoria e registri.
L’IDE 1.x è sviluppato in Java e la sua base di codice monolitica rende difficile implementare tali funzionalità. Java sta anche diventando una tecnologia obsoleta per le applicazioni desktop e viene gradualmente eliminata dai sistemi operativi e dagli app store più recenti, il che costringe il team di sviluppo a dedicare tempo per risolvere i problemi di compatibilità.
Nel 2018 è partito il lavoro di refactoring della toolchain, annunciando un grande punto di svolta: arduino-cli, lo strumento da riga di comando di Arduino scritto in Golang che espone tutte le funzionalità principali dell’IDE, fornendo agli utenti avanzati uno strumento flessibile e integrabile nel loro preferito IDE professionale.
Nel 2019 è stato annunciato il rilascio alpha di un nuovo IDE costruito su arduino-cli e basato su un moderno stack software (Theia ed Electron) con il nome in codice di “Arduino Pro IDE“. Il 2020 è stato un anno di sviluppo impegnativo e un team dedicato di sviluppatori ha lavorato dietro le quinte per portare il nuovo IDE da un proof-of-concept a uno strumento completamente funzionale.
Diamo il benvenuto all’IDE 2.0 di Arduino (beta)
Dal primo di Marzo, la beta di Arduino IDE 2.0 è disponibile per il download, e i suoi repository di codice diventano open source. Ha un editor moderno e offre una migliore esperienza utente complessiva grazie a un’interfaccia reattiva e tempi di compilazione più rapidi. L’aggiornamento sarà semplice poiché l’interfaccia apparirà molto familiare. Ma vediamo alcune delle chicche che troverai.
Durante la digitazione, l’editor suggerisce il completamento automatico di variabili e funzioni in base alle librerie incluse:
Quando si fa clic con il pulsante destro del mouse su una variabile o una funzione, un menu contestuale fornirà scorciatoie di navigazione per passare alla riga (e al file) in cui sono dichiarati:
Consulta questa pagina per saperne di più sui nuovi strumenti di modifica.
Ma c’è un’altra grande caratteristica nel nuovo IDE: un debugger live che consente di eseguire il tuo codice in modo interattivo su una scheda e ispezionarne l’esecuzione senza scrivere decine di istruzioni “Serial.println()”. Basta attivare il pannello di debug, impostare i punti di interruzione in cui si desidera sospendere l’esecuzione e ispezionare il contenuto delle variabili. È persino possibile cambiare il contenuto delle variabili al volo e riprendere l’esecuzione!
Ad oggi il debugger supporta tutte le schede Arduino basate sulle piattaforme SAMD e Mbed (famiglia MKR, Nano 33 IoT, Nano 33 BLE, Portenta, Zero). I manutentori dei core Arduino per schede di terze parti possono aggiungere il supporto per il debug aggiungendo i parametri di configurazione pertinenti; una guida tecnica per questo sta arrivando. Occorrerà collegare una sonda di debug come il J-link Segger ai pin JTAG sulla scheda e sarai pronto per partire.
Il nuovo IDE si basa sul framework Eclipse Theia, che è un progetto open source basato sulla stessa architettura di VS Code (protocollo del server del linguaggio, estensioni, debugger). Il front-end è scritto in TypeScript, mentre la maggior parte del backend è scritto in Golang.
Provalo ora!
Arduino ha bisogno del tuo aiuto per testare il nuovo IDE 2.0. Vogliono renderlo perfetto e privo di bug, quindi non esitate a scaricarlo ora, e unitevi alla discussione nel forum!