Feature: Device detection via serial - part 1

pull/509/head^2
Przemek Wirkus 2014-09-24 10:47:55 +01:00
parent 7fb674d3e2
commit 2e58f7922c
5 changed files with 43 additions and 1 deletions

View File

@ -56,6 +56,7 @@ bool notify_completion_str(bool success, char* buffer)
return result;
}
// -DMBED_BUILD_TIMESTAMP=1406208182.13
unsigned int testenv_randseed()
{

View File

@ -28,4 +28,13 @@ unsigned int testenv_randseed();
// Macros, unit test like to provide basic comparisons
#define TESTENV_STRCMP(GIVEN,EXPECTED) (strcmp(GIVEN,EXPECTED) == 0)
// macros passed via test suite
#ifndef TEST_SUITE_TARGET_NAME
#define TEST_SUITE_TARGET_NAME ""
#endif
#ifndef TEST_SUITE_TEST_ID
#define TEST_SUITE_TEST_ID ""
#endif
#endif

View File

@ -50,6 +50,9 @@ class Target:
self.name = self.__class__.__name__
# Code used to determine device' platform
self.detect_code = ""
def program_cycle_s(self):
return 4 if self.is_disk_virtual else 1.5
@ -86,6 +89,7 @@ class LPC1768(LPCTarget):
self.core = "Cortex-M3"
self.extra_labels = ['NXP', 'LPC176X', 'MBED_LPC1768']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CS", "GCC_CR", "IAR"]
self.detect_code = "1010"
class LPC11U24(LPCTarget):
@ -95,6 +99,7 @@ class LPC11U24(LPCTarget):
self.extra_labels = ['NXP', 'LPC11UXX', 'LPC11U24_401']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.default_toolchain = "uARM"
self.detect_code = "1040"
class LPC11U24_301(LPCTarget):
@ -124,6 +129,7 @@ class KL25Z(Target):
self.supported_toolchains = ["ARM", "GCC_CW_EWL", "GCC_CW_NEWLIB", "GCC_ARM"]
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = "0200"
class KL46Z(Target):
@ -134,6 +140,7 @@ class KL46Z(Target):
self.supported_toolchains = ["GCC_ARM", "ARM"]
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = "0220"
class K20D50M(Target):
@ -143,6 +150,7 @@ class K20D50M(Target):
self.extra_labels = ['Freescale']
self.supported_toolchains = ["GCC_ARM", "ARM"]
self.is_disk_virtual = True
self.detect_code = "0230"
class K64F(Target):
@ -155,6 +163,8 @@ class K64F(Target):
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.default_toolchain = "ARM"
self.detect_code = "0240"
class K22F(Target):
def __init__(self):
@ -175,6 +185,7 @@ class LPC812(LPCTarget):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = "1050"
class LPC810(LPCTarget):
@ -275,6 +286,7 @@ class NUCLEO_F030R8(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0725"
class NUCLEO_F072RB(Target):
@ -285,6 +297,7 @@ class NUCLEO_F072RB(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0730"
class NUCLEO_F103RB(Target):
@ -295,6 +308,7 @@ class NUCLEO_F103RB(Target):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0700"
class NUCLEO_F302R8(Target):
@ -305,6 +319,7 @@ class NUCLEO_F302R8(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0705"
class NUCLEO_F334R8(Target):
@ -315,6 +330,7 @@ class NUCLEO_F334R8(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0735"
class NUCLEO_F401RE(Target):
@ -325,6 +341,7 @@ class NUCLEO_F401RE(Target):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0720"
class NUCLEO_F411RE(Target):
@ -335,6 +352,7 @@ class NUCLEO_F411RE(Target):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0740"
class NUCLEO_L053R8(Target):
@ -345,6 +363,7 @@ class NUCLEO_L053R8(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0715"
class NUCLEO_L152RE(Target):
@ -355,7 +374,7 @@ class NUCLEO_L152RE(Target):
self.supported_toolchains = ["ARM", "uARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = "0710"
class STM32F3XX(Target):
def __init__(self):
@ -449,6 +468,7 @@ class NRF51822(Target):
self.extra_labels = ["NORDIC", "NRF51822_MKIT", "MCU_NRF51822", "MCU_NORDIC_16K"]
self.supported_toolchains = ["ARM", "GCC_ARM"]
self.is_disk_virtual = True
self.detect_code = "1070"
def program_cycle_s(self):
return 6
@ -542,6 +562,7 @@ class LPC1549(LPCTarget):
self.supported_toolchains = ["uARM", "GCC_CR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = "1549"
class LPC11U68(LPCTarget):
@ -552,6 +573,7 @@ class LPC11U68(LPCTarget):
self.supported_toolchains = ["uARM", "GCC_CR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = "1168"
class DISCO_F100RB(Target):

View File

@ -375,6 +375,8 @@ class SingleTestRunner(object):
for lib_id in libraries:
if 'macros' in LIBRARY_MAP[lib_id] and LIBRARY_MAP[lib_id]['macros']:
MACROS.extend(LIBRARY_MAP[lib_id]['macros'])
MACROS.append('TEST_SUITE_TARGET_NAME="%s"'% target)
MACROS.append('TEST_SUITE_TEST_ID="%s"'% test_id)
project_name = self.opts_firmware_global_name if self.opts_firmware_global_name else None
try:

View File

@ -882,6 +882,14 @@ TESTS = [
"automated": False,
"mcu": ["LPC1768", "LPC2368", "LPC11U24"]
},
# Tests used for target information purposes
{
"id": "DTCT_1", "description": "Simple detect test",
"source_dir": join(TEST_DIR, "mbed", "detect"),
"dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
"automated": True,
},
]
# Group tests with the same goals into categories