Arduino leonardo (Atmega32U4) problems with USB_VID and USB_PID

I tried to run this file:

#include <Arduino.h>

void setup() {

Serial.begin(9600);

}

void loop() {

Serial.println(“Hello world!”);

}

Quite a basic code, I know, it was only for testing board, but I got error which I can’t solve:

C:\Users\Uldis.platformio\packages\framework-arduino-avr\cores\arduino\USBCore.cpp:73:29: error: ‘USB_VID’ was not declared in this scope

C:\Users\Uldis.platformio\packages\framework-arduino-avr\cores\arduino\USBCore.cpp:73:37: error: ‘USB_PID’ was not declared in this scope

Unable to reproduce.

>pio run
Processing leonardo (platform: atmelavr; board: leonardo; framework: arduino)
------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/leonardo.html
PLATFORM: Atmel AVR (3.4.0) > Arduino Leonardo
HARDWARE: ATMEGA32U4 16MHz, 2.50KB RAM, 28KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 5 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio\build\leonardo\src\main.cpp.o
Compiling .pio\build\leonardo\FrameworkArduino\abi.cpp.o
Compiling .pio\build\leonardo\FrameworkArduino\hooks.c.o
Compiling .pio\build\leonardo\FrameworkArduino\main.cpp.o
Compiling .pio\build\leonardo\FrameworkArduino\new.cpp.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring.c.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring_pulse.S.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\leonardo\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\leonardo\libFrameworkArduino.a
Indexing .pio\build\leonardo\libFrameworkArduino.a
Linking .pio\build\leonardo\firmware.elf
Checking size .pio\build\leonardo\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   6.4% (used 165 bytes from 2560 bytes)
Flash: [=         ]  12.3% (used 3522 bytes from 28672 bytes)
Building .pio\build\leonardo\firmware.hex
============================================= [SUCCESS] Took 2.14 seconds =============================================

You may have corrupted your Arduino core package or platform somehow. Please remove the folders

  • C:\Users\Uldis\.platformio\packages\framework-arduino-avr\
  • C:\Users\Uldis\.platformio\platforms\atmelavr

And retry.

I solved a problem for myself. I saw that I was using basicaly a CONFIGURATION for just a chp - 32u4, but now I tried with using a MCU configuration: sparkfun_promicro16 and everything was solved with no problems.

Executing task in folder Atmega32U4_test: C:\Users\Uldis\.platformio\penv\Scripts\platformio.exe run --target upload <

Processing leonardo (platform: atmelavr; board: sparkfun_promicro16; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/sparkfun_promicro16.html
PLATFORM: Atmel AVR (3.4.0) > SparkFun Pro Micro 5V/16MHz
HARDWARE: ATMEGA32U4 16MHz, 2.50KB RAM, 28KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - tool-avrdude 1.60300.200527 (6.3.0)
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 7 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SomeSerial> 1.1.3
|   |-- <SoftwareSerial> 1.0.0
|-- <SoftwareSerial> 1.0.0
Building in release mode
Compiling .pio\build\leonardo\src\main.cpp.o
Linking .pio\build\leonardo\firmware.elf
Checking size .pio\build\leonardo\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   6.4% (used 165 bytes from 2560 bytes)
Flash: [=         ]  12.6% (used 3600 bytes from 28672 bytes)
Building .pio\build\leonardo\firmware.hex
Configuring upload protocol...
AVAILABLE: avr109
CURRENT: upload_protocol = avr109
Looking for upload port...
Auto-detected: COM7
Forcing reset using 1200bps open/close on port COM7
Waiting for the new upload port...
Uploading .pio\build\leonardo\firmware.hex

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file ".pio\build\leonardo\firmware.hex"
avrdude: writing flash (3600 bytes):

Writing | ################################################## | 100% 0.28s

avrdude: 3600 bytes of flash written
avrdude: verifying flash memory against .pio\build\leonardo\firmware.hex:
avrdude: load data flash data from input file .pio\build\leonardo\firmware.hex:
avrdude: input file .pio\build\leonardo\firmware.hex contains 3600 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 3600 bytes of flash verified

avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude done.  Thank you.

============================================================= [SUCCESS] Took 5.40 seconds =============================================================