我想在我的Sparkfun Pro Micro上覆盖USB_PRODUCT
和USB_MANUFACTURER
字符串。
根据文档(http://docs.platformio.org/en/latest/boards/atmelavr/sparkfun_promicro16.html#configuration),我可以
使用
board_***
选项覆盖每个构建环境的默认SparkFun Pro Micro 5V / 16MHz设置
Pro Micro的board settings json具有build.usb_product
和vendor
字段(默认值为SparkFun Pro Micro
和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
所示,仅应用USB_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
设置应该起作用?
我想念什么?
我目前遇到同一问题;您最终找到了解决方案吗?