Fix bug with Arduino's USB boards // Resolve issue #40

This commit is contained in:
Ivan Kravets
2014-12-26 23:48:07 +02:00
parent 0241d65460
commit 65895e658f
3 changed files with 8 additions and 6 deletions

View File

@ -9,6 +9,7 @@ Release History
`atmelavr <http://docs.platformio.ikravets.com/en/latest/platforms/atmelavr.html>`_ `atmelavr <http://docs.platformio.ikravets.com/en/latest/platforms/atmelavr.html>`_
MCUs (`issue #35 <https://github.com/ivankravets/platformio/issues/35>`_) MCUs (`issue #35 <https://github.com/ivankravets/platformio/issues/35>`_)
* Fixed urllib3's SSL warning under Python <= 2.7.2 (`issue #39 <https://github.com/ivankravets/platformio/issues/39>`_) * Fixed urllib3's SSL warning under Python <= 2.7.2 (`issue #39 <https://github.com/ivankravets/platformio/issues/39>`_)
* Fixed bug with Arduino's USB boards (`issue #40 <https://github.com/ivankravets/platformio/issues/40>`_)
0.9.2 (2014-12-10) 0.9.2 (2014-12-10)
------------------ ------------------

View File

@ -26,7 +26,8 @@ if "build.usb_product" in BOARD_OPTIONS:
ARDUINO_USBDEFINES = [ ARDUINO_USBDEFINES = [
"USB_VID=%s" % BOARD_OPTIONS['build.vid'], "USB_VID=%s" % BOARD_OPTIONS['build.vid'],
"USB_PID=%s" % BOARD_OPTIONS['build.pid'], "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 # include board variant
@ -37,7 +38,7 @@ env.VariantDir(
env.Append( env.Append(
CPPDEFINES=[ CPPDEFINES=[
"ARDUINO_ARCH_AVR", # @TODO Should be dynamic "ARDUINO_ARCH_%s" % env.subst("$PLATFORM").upper()[-3:],
"ARDUINO=%d" % ARDUINO_VERSION, "ARDUINO=%d" % ARDUINO_VERSION,
"ARDUINO_%s" % BOARD_OPTIONS['build.board'] "ARDUINO_%s" % BOARD_OPTIONS['build.board']
] + ARDUINO_USBDEFINES, ] + ARDUINO_USBDEFINES,

View File

@ -16,7 +16,7 @@ def ProcessGeneral(env):
if "FRAMEWORK" in env: if "FRAMEWORK" in env:
if env['FRAMEWORK'] in ("arduino", "energia"): if env['FRAMEWORK'] in ("arduino", "energia"):
env.ConvertInotoCpp() env.ConvertInoToCpp()
SConscriptChdir(0) SConscriptChdir(0)
corelibs = SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", corelibs = SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts",
"frameworks", "${FRAMEWORK}.py")), "frameworks", "${FRAMEWORK}.py")),
@ -29,7 +29,7 @@ def BuildFirmware(env, corelibs):
vdirs = src.VariantDirRecursive( vdirs = src.VariantDirRecursive(
join("$BUILD_DIR", "src"), join("$PROJECT_DIR", "src")) join("$BUILD_DIR", "src"), join("$PROJECT_DIR", "src"))
# build source's dependent libs # build dependent libs
deplibs = [] deplibs = []
for vdir in vdirs: for vdir in vdirs:
deplibs += src.BuildDependentLibraries(vdir) deplibs += src.BuildDependentLibraries(vdir)
@ -158,7 +158,7 @@ def ParseBoardOptions(env, path, name):
return data return data
def ConvertInotoCpp(env): def ConvertInoToCpp(env):
def delete_tmpcpp(files): def delete_tmpcpp(files):
for f in files: for f in files:
@ -220,5 +220,5 @@ def generate(env):
env.AddMethod(ParseIncludesRecurive) env.AddMethod(ParseIncludesRecurive)
env.AddMethod(VariantDirRecursive) env.AddMethod(VariantDirRecursive)
env.AddMethod(ParseBoardOptions) env.AddMethod(ParseBoardOptions)
env.AddMethod(ConvertInotoCpp) env.AddMethod(ConvertInoToCpp)
return env return env