From 10d21595c6e9b3de6f313c6afdca6ea3d2ff6d93 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 29 Nov 2017 22:22:31 +0200 Subject: [PATCH] Fix issue when board is not specified and "idedata" target is called --- platformio/builder/tools/pioide.py | 10 +++++++--- platformio/builder/tools/pioplatform.py | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/platformio/builder/tools/pioide.py b/platformio/builder/tools/pioide.py index 99aeda42..d622c6b3 100644 --- a/platformio/builder/tools/pioide.py +++ b/platformio/builder/tools/pioide.py @@ -63,9 +63,13 @@ def dump_defines(env): # special symbol for Atmel AVR MCU if env['PIOPLATFORM'] == "atmelavr": - defines.append( - str("__AVR_%s__" % env.BoardConfig().get("build.mcu").upper() - .replace("ATMEGA", "ATmega").replace("ATTINY", "ATtiny"))) + board_mcu = env.get("BOARD_MCU") + if not board_mcu and "BOARD" in env: + board_mcu = env.BoardConfig().get("build.mcu") + if board_mcu: + defines.append( + str("__AVR_%s__" % board_mcu.upper() + .replace("ATMEGA", "ATmega").replace("ATTINY", "ATtiny"))) return defines diff --git a/platformio/builder/tools/pioplatform.py b/platformio/builder/tools/pioplatform.py index 1b7cf377..02519dbe 100644 --- a/platformio/builder/tools/pioplatform.py +++ b/platformio/builder/tools/pioplatform.py @@ -41,8 +41,9 @@ def PioPlatform(env): def BoardConfig(env, board=None): p = initPioPlatform(env['PLATFORM_MANIFEST']) try: - config = p.board_config(board if board else env['BOARD']) - except exception.UnknownBoard as e: + assert env.get("BOARD", board), "BoardConfig: Board is not defined" + config = p.board_config(board if board else env.get("BOARD")) + except (AssertionError, exception.UnknownBoard) as e: sys.stderr.write("Error: %s\n" % str(e)) env.Exit(1) return config