¿Arduino Leonardo en Eclipse VID y PID faltan?

1

¿Alguien ha conseguido que Arduino Leonardo programe en Eclipse?

No tengo problemas con la UNO, pero parece que faltan las configuraciones VID y PID para el ATmega32u4

../src/USBCore.cpp:78:2: error: ‘USB_VID’ was not declared in this scope
../src/USBCore.cpp:78:2: error: ‘USB_PID’ was not declared in this scope

Googleing ha descubierto algunos proyectos de GIT que hablan sobre la creación de archivos personalizados desde el símbolo del sistema allí y recientemente (en el último mes) descubrieron que necesitan parches especiales específicamente para Leonardo. Todos mis proyectos ya están en Eclipse, por lo que sería bueno saber cómo solucionar esto aquí.

Tal vez haya un #define simple que pueda poner en alguna parte?

[editar] Estoy en Ubuntu b.t.w. (en un intento de evitar una gran discusión sobre los controladores de Windows: P)

    
pregunta SpiRail

1 respuesta

1

Ok, así que he averiguado que puedes agregar USB_VID y USB_PID a

Project Properties -> C/C++ General -> Paths and Symbols -> Symbols -> Add

Si tiene varias configuraciones, es mejor hacerlo como su configuración específica para Leonardo.

Si se encuentra en ./hardware/arduino/bootloaders/caterina/Makefile que los valores son los siguientes:

# USB vendor ID (VID)
# official Arduino LLC VID
# VID = 0x2341


# USB product ID (PID)
# official Leonardo PID
# PID = 0x0036

Dejaré la pregunta como está, para que otros la puedan encontrar. Porque:

Esto luego pasa a los siguientes errores para RXLED1, RXLED0, TXLED1, TXLED0 Estos se encuentran en el archivo pins_arduino.h bajo variantes. Pero cuando agrego esta biblioteca a mi proyecto principal de Arduino, es un problema ya que la versión predeterminada de este archivo se lee primero.

La forma sencilla de solucionar este problema es agregar el segundo archivo pins_arduino.h a otra carpeta y luego agregarlo al inicio de la predeterminada:

#ifdef USB_VID
#include "leonardo/pins_arduino.h"
#else
## <the rest of the file goes here>
#endif

También debe configurar de esta manera para su configuración de construcción específica para que el preprocesador sepa lo que está haciendo.

Esto al menos te lleva a una compilación. Realmente no sé qué tan bien funciona al final.

    
respondido por el SpiRail

Lea otras preguntas en las etiquetas