Can't override board_vendor (USB manufacturer) via platformio.ini

Viewed 182

I want to override the USB_PRODUCT and USB_MANUFACTURER strings on my Sparkfun Pro Micro.

According to the docs (http://docs.platformio.org/en/latest/boards/atmelavr/sparkfun_promicro16.html#configuration), I can

override default SparkFun Pro Micro 5V/16MHz settings per build environment using board_*** option

The Pro Micro's board settings json have the build.usb_product and vendor fields (defaults are SparkFun Pro Micro and SparkFun).

I can override the USB_PRODUCT with this platformio.ini:

[env:sparkfun_promicro16]
platform = atmelavr
board = sparkfun_promicro16
framework = arduino
board_build.usb_product = "MyProduct"
board_vendor = "MyCompany"

The correct defines will show up in .vscode/c_cpp_properties.json:

...
        "defines": [
            "PLATFORMIO=30602",
            "ARDUINO_AVR_PROMICRO16",
            "F_CPU=16000000L",
            "ARDUINO_ARCH_AVR",
            "ARDUINO=10805",
            "USB_VID=0x1B4F",
            "USB_PID=0x9203",
            "USB_PRODUCT=\"MyProduct\"",
            "USB_MANUFACTURER=\"MyCompany\"",
            "__AVR_ATmega32U4__",
            ""
        ],
...

But as dmesg shows, only USB_PRODUCT is applied, not USB_MANUFACTURER:

[119019.190230] usb 1-1: new full-speed USB device number 115 using xhci_hcd
[119019.344882] usb 1-1: New USB device found, idVendor=1b4f, idProduct=9203, bcdDevice= 1.00
[119019.344888] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[119019.344892] usb 1-1: Product: MyProduct
[119019.344896] usb 1-1: Manufacturer: SparkFun
[119019.346978] cdc_acm 1-1:1.0: ttyACM0: USB ACM device

The relevant code is at https://github.com/platformio/platform-atmelavr/blob/master/builder/frameworks/arduino.py#L40.
It looks like the build_vendor setting should work?

What am I missing?

0 Answers
Related