1

我想覆盖我的 Sparkfun Pro Micro 上的USB_PRODUCTand字符串。USB_MANUFACTURER

根据文档(http://docs.platformio.org/en/latest/boards/atmelavr/sparkfun_promicro16.html#configuration),我可以

board_***使用选项覆盖每个构建环境的默认 SparkFun Pro Micro 5V/16MHz 设置

Pro Micro 的板设置 json具有build.usb_productandvendor字段(默认为SparkFun Pro Microand SparkFun)。

USB_PRODUCT我可以用这个覆盖platformio.ini

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

正确的定义将显示在.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__",
            ""
        ],
...

但如图dmesg所示, onlyUSB_PRODUCT被应用,而不是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

相关代码位于https://github.com/platformio/platform-atmelavr/blob/master/builder/frameworks/arduino.py#L40
看起来build_vendor设置应该有效?

我错过了什么?

4

0 回答 0