代码之家  ›  专栏  ›  技术社区  ›  Laurenz

无法通过platformio.ini覆盖板供应商(USB制造商)

  •  1
  • Laurenz  · 技术社区  · 6 年前

    我想重写 USB_PRODUCT USB_MANUFACTURER 我的Sparkfun Pro Micro上的字符串。

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

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

    专业微型机 board settings json build.usb_product vendor 字段(默认为 SparkFun Pro Micro SparkFun )

    我可以超越 美国产品 用这个 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 U制造商 :

    [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 设置应该有效吗?

    我错过了什么?

    0 回复  |  直到 6 年前
    推荐文章