La comunidad Arduino, que desarrolla una serie de placas de microcontroladores de código abierto, ha lanzado Arduino IDE 2.3, un entorno de desarrollo integrado (IDE) que proporciona una interfaz para escribir código, compilar, cargar firmware al hardware e interactuar con las placas durante la depuración. El desarrollo de firmware se realiza utilizando una versión ligeramente simplificada de C++ con el framework Wiring. El código de la interfaz del IDE está escrito en TypeScript (JavaScript tipado) y el backend está implementado en Go. El código fuente se distribuye bajo la licencia AGPLv3. Se han preparado paquetes listos para usar. Linux, Windows и macOS.
La rama Arduino IDE 2.x se basa en el editor de código Eclipse Theia y utiliza la plataforma Electron para construir la interfaz de usuario (la rama Arduino IDE 1.x era un producto autónomo escrito en Java). La lógica asociada con la compilación, depuración y carga de firmware se traslada a un proceso en segundo plano separado arduino-cli. Las características del IDE incluyen: soporte LSP (Language Server Protocol), autocompletado adaptativo de funciones y nombres de variables, herramientas de navegación de código, soporte de temas, integración de Git, soporte para almacenar proyectos en Arduino Cloud, monitoreo de puerto serie (Serial Monitor).

En la nueva versión, el depurador integrado se ha transferido a la categoría de capacidades estables, admitiendo la depuración en modo en vivo y la capacidad de usar puntos de interrupción. El depurador se basa en un marco estándar, lo que facilita agregar soporte de depuración para cualquier placa y utilizar la interfaz IDE estándar de Arduino para la depuración. Actualmente, se implementa soporte de depuración para todas las placas Arduino basadas en núcleos Mbed, como GIGA R1 WiFi, Portenta H7, Opta, Nano BLE y Nano RP2040 Connect. Está previsto agregar en un futuro próximo soporte de depuración para placas basadas en el núcleo Renesas, como UNO R4 y Portenta C33, después de lo cual la depuración también estará disponible para placas Arduino-ESP32.
Fuente: opennet.ru
