La comunità Arduino, che sviluppa una serie di schede aperte basate su microcontrollori, ha pubblicato il rilascio dell'ambiente di sviluppo integrato Arduino IDE 2.3, che fornisce un'interfaccia per scrivere codice, compilarlo, caricare firmware sull'hardware e interagire con le schede durante il processo di debug. Lo sviluppo del firmware avviene su una versione leggermente ridotta di C++ con il framework Wiring. Il codice dell'interfaccia dell'ambiente di sviluppo è scritto in TypeScript (JavaScript tipizzato), mentre il backend è implementato in Go. I codici sorgente sono distribuiti con licenza AGPLv3. Sono stati preparati pacchetti pronti per Linux, Windows e macOS.
Il ramo Arduino IDE 2.x è stato creato sulla base dell'editor di codice Eclipse Theia e utilizza la piattaforma Electron per costruire l'interfaccia utente (il ramo Arduino IDE 1.x era un prodotto autosufficiente, scritto in Java). La logica relativa alla compilazione, al debug e al caricamento del firmware è stata spostata in un processo in background separato, arduino-cli. Tra le funzionalità dell'IDE: supporto per il protocollo LSP (Language Server Protocol), completamento automatico adattivo per l'immissione dei nomi di funzioni e variabili, strumenti per la navigazione nel codice, supporto per temi, integrazione con Git, supporto per il salvataggio dei progetti nel cloud di Arduino Cloud, monitoraggio della porta seriale (Serial Monitor).

Nella nuova versione, è stata inclusa tra le funzionalità stabili un debugger integrato, che supporta il debug in tempo reale e la possibilità di utilizzare punti di interruzione. Il debugger è basato su un framework standard, il che facilita l'aggiunta del supporto per il debug di qualsiasi scheda e l'utilizzo dell'interfaccia standard di Arduino IDE durante il debug. Attualmente, il supporto per il debug è implementato per tutte le schede Arduino basate su core Mbed, come GIGA R1 WiFi, Portenta H7, Opta, Nano BLE e Nano RP2040 Connect. È previsto l'aggiunta del supporto per il debug delle schede basate su core Renesas, come UNO R4 e Portenta C33, a breve, dopo di che la funzionalità di debug sarà disponibile anche per le schede Arduino-ESP32.
Fonte: opennet.ru
