elif _platform == "darwin": uploadPlatform = "macosx" elif _platform == "win32": uploadPlatform = "win" # maple_dfu uses the same code that dfu to keep things as simple as posible if env.subst("$UPLOAD_PROTOCOL") == "dfu" or env.subst( "$UPLOAD_PROTOCOL") == "maple_dfu": uploadProtocol = "maple_upload" usbids = env.BoardConfig().get("upload.usbid", "") usbid = '%s:%s' % (usbids[0], usbids[1]) env.Replace(UPLOADERFLAGS=usbid) uploadParams = usbid env.Replace( UPLOADER=join(env.DevPlatform().get_package_dir("framework-stm32duino"), "tools", uploadPlatform, uploadProtocol), UPLOADERFLAGS=["$UPLOAD_PORT"], UPLOADERPARAMS=uploadParams, UPLOADCMD='$UPLOADER $UPLOADERFLAGS $UPLOADERPARAMS $PROJECT_DIR/$SOURCES') # # Target: Build executable and linkable firmware # target_elf = env.BuildProgram() # # Target: Build the .bin file #
STM32duino STM32 Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. http://www.stm32duino.com """ from os import walk from os.path import isdir, isfile, join from SCons.Script import DefaultEnvironment env = DefaultEnvironment() platform = env.DevPlatform() if "stm32f103" in env.BoardConfig().get("build.mcu", ""): FRAMEWORK_DIR = join(platform.get_package_dir("framework-stm32duino"), "STM32F1") FRAMEWORK_VERSION = platform.get_package_version("framework-stm32duino") assert isdir(FRAMEWORK_DIR) ARDUINO_VERSION = int(FRAMEWORK_VERSION.replace(".", "").strip()) # USB flags ARDUINO_USBDEFINES = ["ARDUINO=%s" % FRAMEWORK_VERSION.split(".")[1]] env.Append( CPPDEFINES=ARDUINO_USBDEFINES,