From bd3e0a90757068071040c0654867c444144b9c7e Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 11 Jun 2014 21:31:36 +0300 Subject: [PATCH] Minor fixes; full support of Windows --- examples/atmelavr-native-blink/platformio.ini | 1 + platformio/builder/main.py | 2 +- platformio/builder/scripts/atmelavr.py | 2 +- platformio/builder/scripts/timsp430.py | 6 ++++-- platformio/builder/scripts/titiva.py | 4 ++-- platformio/downloader.py | 14 ++++++++++---- platformio/platforms/titiva.py | 4 ++-- platformio/util.py | 3 ++- setup.py | 1 + tox.ini | 6 +++++- 10 files changed, 29 insertions(+), 14 deletions(-) diff --git a/examples/atmelavr-native-blink/platformio.ini b/examples/atmelavr-native-blink/platformio.ini index cfcfd083..76d075a5 100644 --- a/examples/atmelavr-native-blink/platformio.ini +++ b/examples/atmelavr-native-blink/platformio.ini @@ -4,6 +4,7 @@ board_mcu = atmega168 board_f_cpu = 16000000L upload_port = /dev/tty.SLAB_USBtoUART +; upload_port = COM3 upload_protocol = arduino upload_speed = 19200 diff --git a/platformio/builder/main.py b/platformio/builder/main.py index da9254e4..54ab2722 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -51,7 +51,7 @@ if not isdir(env['PLATFORMIOHOME_DIR']): "`platformio install` command") elif not isdir(env.subst("$PLATFORM_DIR")): Exit("An '%s' platform hasn't been installed yet. Please use " - "`platformio install %s` command" % (env['PLATFORM'].upper(), + "`platformio install %s` command" % (env['PLATFORM'], env['PLATFORM'])) SConscriptChdir(0) diff --git a/platformio/builder/scripts/atmelavr.py b/platformio/builder/scripts/atmelavr.py index 911e524f..fdc03f53 100644 --- a/platformio/builder/scripts/atmelavr.py +++ b/platformio/builder/scripts/atmelavr.py @@ -15,7 +15,7 @@ env = DefaultEnvironment() env.Replace( AR="avr-ar", - AS="avr-as", + AS="avr-gcc", CC="avr-gcc", CXX="avr-g++", OBJCOPY="avr-objcopy", diff --git a/platformio/builder/scripts/timsp430.py b/platformio/builder/scripts/timsp430.py index ba11474a..d251de3b 100644 --- a/platformio/builder/scripts/timsp430.py +++ b/platformio/builder/scripts/timsp430.py @@ -11,11 +11,13 @@ from os.path import join from SCons.Script import (AlwaysBuild, Builder, Default, DefaultEnvironment, SConscript, SConscriptChdir) +from platformio.util import get_system + env = DefaultEnvironment() env.Replace( AR="msp430-ar", - AS="msp430-as", + AS="msp430-gcc", CC="msp430-gcc", CXX="msp430-g++", OBJCOPY="msp430-objcopy", @@ -49,7 +51,7 @@ env.Replace( UPLOADER=join("$PLATFORMTOOLS_DIR", "mspdebug", "mspdebug"), UPLOADERFLAGS=[ - "$UPLOAD_PROTOCOL", + "$UPLOAD_PROTOCOL" if get_system() != "windows32" else "tilib", "--force-reset" ], UPLOADCMD='$UPLOADER $UPLOADERFLAGS "prog $SOURCES"' diff --git a/platformio/builder/scripts/titiva.py b/platformio/builder/scripts/titiva.py index 384b8037..c23ba8a6 100644 --- a/platformio/builder/scripts/titiva.py +++ b/platformio/builder/scripts/titiva.py @@ -15,7 +15,7 @@ env = DefaultEnvironment() env.Replace( AR="arm-none-eabi-ar", - AS="arm-none-eabi-as", + AS="arm-none-eabi-gcc", CC="arm-none-eabi-gcc", CXX="arm-none-eabi-g++", OBJCOPY="arm-none-eabi-objcopy", @@ -25,7 +25,7 @@ env.Replace( ASFLAGS=[ "-g", # include debugging info (so errors include line numbers) - "-x", "-assembler-with-cpp", + "-x", "assembler-with-cpp", "-Wall", "-mthumb", "-mcpu=cortex-m4", diff --git a/platformio/downloader.py b/platformio/downloader.py index 106e45bd..3887af3c 100644 --- a/platformio/downloader.py +++ b/platformio/downloader.py @@ -65,13 +65,19 @@ class FileDownloader(object): if not sha1: return + dlsha1 = None try: - res = check_output(["shasum", self._destination]) + res = check_output(["sha1sum", self._destination]) dlsha1 = res[:40] - if sha1 != dlsha1: - raise FDSHASumMismatch(dlsha1, self._fname, sha1) except OSError: - pass + try: + res = check_output(["shasum", "-a", "1", self._destination]) + dlsha1 = res[:40] + except OSError: + pass + + if dlsha1 and sha1 != dlsha1: + raise FDSHASumMismatch(dlsha1, self._fname, sha1) def _preserve_filemtime(self, lmdate): timedata = parsedate_tz(lmdate) diff --git a/platformio/platforms/titiva.py b/platformio/platforms/titiva.py index 0a0e7b84..b385fd25 100644 --- a/platformio/platforms/titiva.py +++ b/platformio/platforms/titiva.py @@ -10,7 +10,7 @@ class TitivaPlatform(BasePlatform): PACKAGES = { - "toolchain-titiva": { + "toolchain-gccarmnoneeabi": { "path": join("tools", "toolchain"), "default": True }, @@ -22,7 +22,7 @@ class TitivaPlatform(BasePlatform): "framework-energiativa": { "path": join("frameworks", "energia"), - "default": False + "default": True } } diff --git a/platformio/util.py b/platformio/util.py index fe7cdb50..d9e3416a 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -44,6 +44,7 @@ def change_filemtime(path, time): def exec_command(args): - p = Popen(args, stdout=PIPE, stderr=PIPE) + use_shell = get_system() == "windows32" + p = Popen(args, stdout=PIPE, stderr=PIPE, shell=use_shell) out, err = p.communicate() return dict(out=out.strip(), err=err.strip()) diff --git a/setup.py b/setup.py index 3ea32f49..734f1c23 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ setup( license=__license__, install_requires=[ "click", + "colorama", "pyserial", "requests", # "SCons" diff --git a/tox.ini b/tox.ini index 75505322..c57c77d3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,7 @@ [tox] -envlist = develop, lint +# toxworkdir = /tmp/.tox +# toxworkdir = C:\Users\User\Downloads\.tox +envlist = lint [testenv] envlogdir = /tmp/toxlogdir @@ -12,6 +14,8 @@ usedevelop = True deps = isort flake8 +commands = + pip install --egg scons [testenv:lint] deps =