diff --git a/HISTORY.rst b/HISTORY.rst index cbef9933..f74898fe 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -9,6 +9,7 @@ Release History `atmelavr `_ MCUs (`issue #35 `_) * Fixed urllib3's SSL warning under Python <= 2.7.2 (`issue #39 `_) +* Fixed bug with Arduino's USB boards (`issue #40 `_) 0.9.2 (2014-12-10) ------------------ diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index d6f8dbf1..129f539d 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -26,7 +26,8 @@ if "build.usb_product" in BOARD_OPTIONS: ARDUINO_USBDEFINES = [ "USB_VID=%s" % BOARD_OPTIONS['build.vid'], "USB_PID=%s" % BOARD_OPTIONS['build.pid'], - "USB_PRODUCT=%s" % BOARD_OPTIONS['build.usb_product'].replace('"', "") + 'USB_PRODUCT=\\"%s\\"' % BOARD_OPTIONS['build.usb_product'].replace( + '"', "") ] # include board variant @@ -37,7 +38,7 @@ env.VariantDir( env.Append( CPPDEFINES=[ - "ARDUINO_ARCH_AVR", # @TODO Should be dynamic + "ARDUINO_ARCH_%s" % env.subst("$PLATFORM").upper()[-3:], "ARDUINO=%d" % ARDUINO_VERSION, "ARDUINO_%s" % BOARD_OPTIONS['build.board'] ] + ARDUINO_USBDEFINES, diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 3304598b..c751e56a 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -16,7 +16,7 @@ def ProcessGeneral(env): if "FRAMEWORK" in env: if env['FRAMEWORK'] in ("arduino", "energia"): - env.ConvertInotoCpp() + env.ConvertInoToCpp() SConscriptChdir(0) corelibs = SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks", "${FRAMEWORK}.py")), @@ -29,7 +29,7 @@ def BuildFirmware(env, corelibs): vdirs = src.VariantDirRecursive( join("$BUILD_DIR", "src"), join("$PROJECT_DIR", "src")) - # build source's dependent libs + # build dependent libs deplibs = [] for vdir in vdirs: deplibs += src.BuildDependentLibraries(vdir) @@ -158,7 +158,7 @@ def ParseBoardOptions(env, path, name): return data -def ConvertInotoCpp(env): +def ConvertInoToCpp(env): def delete_tmpcpp(files): for f in files: @@ -220,5 +220,5 @@ def generate(env): env.AddMethod(ParseIncludesRecurive) env.AddMethod(VariantDirRecursive) env.AddMethod(ParseBoardOptions) - env.AddMethod(ConvertInotoCpp) + env.AddMethod(ConvertInoToCpp) return env