mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Add HWID option for the boards // Issue #632
This commit is contained in:
@ -6,9 +6,10 @@
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Adafruit Flora",
|
||||
"pid": "0x8004",
|
||||
"variant": "flora",
|
||||
"vid": "0x239A"
|
||||
"hwid": [
|
||||
["0x239A", "0x8004"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Adafruit Flora",
|
||||
@ -34,9 +35,10 @@
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Bluefruit Micro",
|
||||
"pid": "0x800A",
|
||||
"variant": "bluefruitmicro",
|
||||
"vid": "0x239A"
|
||||
"hwid": [
|
||||
["0x239A", "0x800A"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Adafruit Bluefruit Micro",
|
||||
@ -82,9 +84,10 @@
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Feather 32u4",
|
||||
"pid": "0x800C",
|
||||
"variant": "feather32u4",
|
||||
"vid": "0x239C"
|
||||
"hwid": [
|
||||
["0x239A", "0x800C"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Adafruit Feather",
|
||||
|
@ -5,10 +5,12 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_LILYPAD_USB",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9208",
|
||||
"usb_product": "LilyPad USB",
|
||||
"variant": "leonardo",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9207"],
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino LilyPad USB",
|
||||
@ -160,10 +162,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ESPLORA",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x803c",
|
||||
"usb_product": "Arduino Esplora",
|
||||
"variant": "leonardo",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x003C"],
|
||||
["0x2341", "0x803C"],
|
||||
["0x2A03", "0x003C"],
|
||||
["0x2A03", "0x803C"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Esplora",
|
||||
@ -229,10 +235,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8036",
|
||||
"usb_product": "Arduino Leonardo",
|
||||
"variant": "leonardo",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x0036"],
|
||||
["0x2341", "0x8036"],
|
||||
["0x2A03", "0x0036"],
|
||||
["0x2A03", "0x8036"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Leonardo",
|
||||
@ -361,10 +371,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_MICRO",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8037",
|
||||
"usb_product": "Arduino Micro",
|
||||
"variant": "micro",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x0037"],
|
||||
["0x2341", "0x8037"],
|
||||
["0x2A03", "0x0037"],
|
||||
["0x2A03", "0x8037"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Micro",
|
||||
@ -556,10 +570,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ROBOT_CONTROL",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8038",
|
||||
"usb_product": "Robot Control",
|
||||
"variant": "robot_control",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x0038"],
|
||||
["0x2341", "0x8038"],
|
||||
["0x2A03", "0x0038"],
|
||||
["0x2A03", "0x8038"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Robot Control",
|
||||
@ -583,10 +601,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ROBOT_MOTOR",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8039",
|
||||
"usb_product": "Robot Motor",
|
||||
"variant": "robot_motor",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x0039"],
|
||||
["0x2341", "0x8039"],
|
||||
["0x2A03", "0x0039"],
|
||||
["0x2A03", "0x8039"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Robot Motor",
|
||||
@ -631,10 +653,14 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_YUN",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8041",
|
||||
"usb_product": "Arduino Yun",
|
||||
"variant": "yun",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x0041"],
|
||||
["0x2341", "0x8041"],
|
||||
["0x2A03", "0x0041"],
|
||||
["0x2A03", "0x8041"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Yun",
|
||||
@ -660,11 +686,13 @@
|
||||
"f_cpu": "84000000L",
|
||||
"mcu": "sam3x8e",
|
||||
"cpu": "cortex-m3",
|
||||
"pid": "0x003e",
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "sam3x8e.ld"
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x003D"],
|
||||
["0x2A03", "0x003D"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Due (Programming Port)",
|
||||
@ -688,11 +716,13 @@
|
||||
"f_cpu": "84000000L",
|
||||
"mcu": "sam3x8e",
|
||||
"cpu": "cortex-m3",
|
||||
"pid": "0x003e",
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "sam3x8e.ld"
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x003E"],
|
||||
["0x2A03", "0x003E"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Due (USB Native Port)",
|
||||
@ -716,11 +746,13 @@
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"pid": "0x804d",
|
||||
"usb_product": "Arduino Zero",
|
||||
"variant": "arduino_zero",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "flash_with_bootloader.ld"
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x804D"],
|
||||
["0x03EB", "0x2157"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Zero (Programming Port)",
|
||||
@ -744,11 +776,14 @@
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"pid": "0x804d",
|
||||
"usb_product": "Arduino Zero",
|
||||
"variant": "arduino_zero",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "flash_with_bootloader.ld"
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x804D"],
|
||||
["0x2341", "0x004D"],
|
||||
["0x2341", "0x824D"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Zero (USB Native Port)",
|
||||
|
@ -83,10 +83,11 @@
|
||||
"mcu": "at91sam3x8e",
|
||||
"cpu": "cortex-m3",
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"pid": "0x078A",
|
||||
"usb_product": "Digistump DigiX",
|
||||
"variant": "digispark_digix",
|
||||
"vid": "0x16D0"
|
||||
"hwid": [
|
||||
["0x16D0", "0x078A"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Digistump DigiX",
|
||||
|
@ -5,10 +5,11 @@
|
||||
"core": "arduino",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9208",
|
||||
"usb_product": "EngduinoV1",
|
||||
"variant": "engduinov1",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Engduino 1",
|
||||
@ -32,10 +33,11 @@
|
||||
"core": "arduino",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9208",
|
||||
"usb_product": "EngduinoV2",
|
||||
"variant": "engduinov2",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Engduino 2",
|
||||
@ -59,10 +61,11 @@
|
||||
"core": "arduino",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9208",
|
||||
"usb_product": "EngduinoV3",
|
||||
"variant": "engduinov3",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Engduino 3",
|
||||
|
@ -131,9 +131,10 @@
|
||||
"core": "arduino",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8036",
|
||||
"variant": "32u4",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Microduino Core USB (ATmega32U4@16M,5V)",
|
||||
|
@ -50,11 +50,12 @@
|
||||
"f_cpu": "84000000L",
|
||||
"mcu": "at91sam3x8e",
|
||||
"cpu": "cortex-m3",
|
||||
"pid": "0x003e",
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "sam3x8e.ld"
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x003E"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SainSmart Due (Programming Port)",
|
||||
@ -78,11 +79,12 @@
|
||||
"f_cpu": "84000000L",
|
||||
"mcu": "at91sam3x8e",
|
||||
"cpu": "cortex-m3",
|
||||
"pid": "0x003e",
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"vid": "0x2341",
|
||||
"ldscript": "sam3x8e.ld"
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
["0x2341", "0x003E"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SainSmart Due (USB Native Port)",
|
||||
@ -322,10 +324,11 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x8036",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "leonardo",
|
||||
"vid": "0x2341"
|
||||
"hwid": [
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "RedBearLab Blend",
|
||||
@ -350,10 +353,11 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x2404",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "micro",
|
||||
"vid": "0x03EB"
|
||||
"hwid": [
|
||||
["0x03EB", "0x2404"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "RedBearLab Blend Micro 3.3V/8MHz",
|
||||
@ -378,10 +382,11 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x2404",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "micro",
|
||||
"vid": "0x03EB"
|
||||
"hwid": [
|
||||
["0x03EB", "0x2404"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "RedBearLab Blend Micro 3.3V/16MHz (overclock)",
|
||||
@ -428,10 +433,11 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_LEONARDO",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x6096",
|
||||
"usb_product": "LightUp",
|
||||
"variant": "leonardo",
|
||||
"vid": "0x1d50"
|
||||
"hwid": [
|
||||
["0x1d50", "0x6096"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "LightUp",
|
||||
@ -524,9 +530,13 @@
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"variant" : "quirkbot",
|
||||
"vid": "0xf055",
|
||||
"pid": "0xf055",
|
||||
"usb_product": "Quirkbot"
|
||||
"usb_product": "Quirkbot",
|
||||
"hwid": [
|
||||
["0x2886", "0xf004"],
|
||||
["0x2886", "0xf005"],
|
||||
["0x2886", "0xf006"],
|
||||
["0x2886", "0xf007"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Quirkbot",
|
||||
|
@ -26,10 +26,12 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_PROMICRO16",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9206",
|
||||
"usb_product": "SparkFun Pro Micro",
|
||||
"variant": "sparkfun_promicro",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9205"],
|
||||
["0x1B4F", "0x9206"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun Pro Micro 5V/16MHz",
|
||||
@ -53,10 +55,12 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_PROMICRO8",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x9204",
|
||||
"usb_product": "SparkFun Pro Micro",
|
||||
"variant": "sparkfun_promicro",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x9203"],
|
||||
["0x1B4F", "0x9204"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun Pro Micro 3.3V/8MHz",
|
||||
@ -80,10 +84,12 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_FIOV3",
|
||||
"f_cpu": "8000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0xF101",
|
||||
"usb_product": "SparkFun Fio v3",
|
||||
"variant": "sparkfun_promicro",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0xF100"],
|
||||
["0x1B4F", "0xF101"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun Fio V3 3.3V/8MHz",
|
||||
@ -107,10 +113,12 @@
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_MAKEYMAKEY",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"pid": "0x2B75",
|
||||
"usb_product": "SparkFun MaKey",
|
||||
"variant": "sparkfun_promicro",
|
||||
"vid": "0x1B4F"
|
||||
"hwid": [
|
||||
["0x1B4F", "0x2B74"],
|
||||
["0x1B4F", "0x2B75"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun Makey Makey",
|
||||
|
@ -118,8 +118,8 @@ ARDUINO_VERSION = int(
|
||||
ARDUINO_USBDEFINES = []
|
||||
if "usb_product" in BOARD_BUILDOPTS:
|
||||
ARDUINO_USBDEFINES = [
|
||||
"USB_VID=${BOARD_OPTIONS['build']['vid']}",
|
||||
"USB_PID=${BOARD_OPTIONS['build']['pid']}",
|
||||
"USB_VID=${BOARD_OPTIONS['build']['hwid'][0][0]}",
|
||||
"USB_PID=${BOARD_OPTIONS['build']['hwid'][0][1]}",
|
||||
'USB_PRODUCT=\\"%s\\"' % (env.subst(
|
||||
"${BOARD_OPTIONS['build']['usb_product']}").replace('"', "")),
|
||||
'USB_MANUFACTURER=\\"%s\\"' % (env.subst(
|
||||
|
@ -84,17 +84,14 @@ def AutodetectUploadPort(env):
|
||||
break
|
||||
else:
|
||||
board_build_opts = env.get("BOARD_OPTIONS", {}).get("build", {})
|
||||
board_hwid = ("%s:%s" % (
|
||||
board_build_opts.get("vid"),
|
||||
board_build_opts.get("pid")
|
||||
)).replace("0x", "")
|
||||
|
||||
for item in get_serialports():
|
||||
if "VID:PID" not in item['hwid']:
|
||||
continue
|
||||
env.Replace(UPLOAD_PORT=item['port'])
|
||||
if board_hwid in item['hwid']:
|
||||
break
|
||||
for hwid in board_build_opts.get("hwid"):
|
||||
board_hwid = ("%s:%s" % (hwid[0], hwid[1])).replace("0x", "")
|
||||
if board_hwid in item['hwid']:
|
||||
break
|
||||
|
||||
if "UPLOAD_PORT" in env:
|
||||
print "Auto-detected UPLOAD_PORT/DISK: %s" % env['UPLOAD_PORT']
|
||||
|
Reference in New Issue
Block a user