Merge pull request #2260 from bridadan/release-versions

Release versions
pull/2282/head
Sam Grove 2016-07-27 16:25:50 -05:00 committed by GitHub
commit 8b98a2caaa
4 changed files with 285 additions and 141 deletions

View File

@ -10,8 +10,7 @@
"features": [],
"detect_code": [],
"public": false,
"default_build": "standard",
"release": false
"default_build": "standard"
},
"CM4_UARM": {
"inherits": ["Target"],
@ -19,15 +18,13 @@
"default_toolchain": "uARM",
"public": false,
"supported_toolchains": ["uARM"],
"default_build": "small",
"release": false
"default_build": "small"
},
"CM4_ARM": {
"inherits": ["Target"],
"core": "Cortex-M4",
"public": false,
"supported_toolchains": ["ARM"],
"release": false
"supported_toolchains": ["ARM"]
},
"CM4F_UARM": {
"inherits": ["Target"],
@ -35,21 +32,18 @@
"default_toolchain": "uARM",
"public": false,
"supported_toolchains": ["uARM"],
"default_build": "small",
"release": false
"default_build": "small"
},
"CM4F_ARM": {
"inherits": ["Target"],
"core": "Cortex-M4F",
"public": false,
"supported_toolchains": ["ARM"],
"release": false
"supported_toolchains": ["ARM"]
},
"LPCTarget": {
"inherits": ["Target"],
"post_binary_hook": {"function": "LPCTargetCode.lpc_patch"},
"public": false,
"release": false
"public": false
},
"LPC11C24": {
"inherits": ["LPCTarget"],
@ -70,7 +64,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC11U24": {
"inherits": ["LPCTarget"],
@ -84,7 +78,7 @@
"detect_code": ["1040"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"OC_MBUINO": {
"inherits": ["LPC11U24"],
@ -94,7 +88,7 @@
},
"extra_labels": ["NXP", "LPC11UXX"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"LPC11U24_301": {
"inherits": ["LPCTarget"],
@ -116,7 +110,7 @@
"inherits": ["LPC11U34_421"],
"macros": ["LPC11U34_421", "APPNEARME_MICRONFCBOARD"],
"extra_labels_add": ["APPNEARME_MICRONFCBOARD"],
"release": true
"release_versions": ["2"]
},
"LPC11U35_401": {
"inherits": ["LPCTarget"],
@ -129,7 +123,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC11U35_501": {
"inherits": ["LPCTarget"],
@ -142,7 +136,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC11U35_501_IBDAP": {
"inherits": ["LPCTarget"],
@ -167,7 +161,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC11U35_Y5_MBUG": {
"inherits": ["LPCTarget"],
@ -211,7 +205,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC11U68": {
"supported_form_factors": ["ARDUINO"],
@ -226,7 +220,7 @@
"detect_code": ["1168"],
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI"],
"default_build": "small",
"release": true
"release_versions": ["2", "5"]
},
"LPC1347": {
"inherits": ["LPCTarget"],
@ -235,7 +229,7 @@
"extra_labels": ["NXP", "LPC13XX"],
"supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"LPC1549": {
"supported_form_factors": ["ARDUINO"],
@ -250,7 +244,7 @@
"detect_code": ["1549"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "INTERRUPTIN", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC1768": {
"inherits": ["LPCTarget"],
@ -260,7 +254,7 @@
"progen": {"target": "mbed-lpc1768"},
"detect_code": ["1010"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"ARCH_PRO": {
"supported_form_factors": ["ARDUINO"],
@ -271,7 +265,7 @@
"inherits": ["LPCTarget"],
"progen": {"target": "arch-pro"},
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"UBLOX_C027": {
"supported_form_factors": ["ARDUINO"],
@ -282,7 +276,7 @@
"inherits": ["LPCTarget"],
"progen": {"target": "ublox-c027"},
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "ERROR_RED", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"XBED_LPC1768": {
"inherits": ["LPCTarget"],
@ -300,8 +294,7 @@
"progen": {"target": "lpc2368"},
"extra_labels": ["NXP", "LPC23XX"],
"supported_toolchains": ["GCC_ARM", "GCC_CR"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"]
},
"LPC2460": {
"inherits": ["LPCTarget"],
@ -309,8 +302,7 @@
"progen": {"target": "lpc2460"},
"extra_labels": ["NXP", "LPC2460"],
"supported_toolchains": ["GCC_ARM"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"]
},
"LPC810": {
"inherits": ["LPCTarget"],
@ -339,7 +331,7 @@
"detect_code": ["1050"],
"device_has": ["ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PWMOUT", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC824": {
"supported_form_factors": ["ARDUINO"],
@ -354,7 +346,7 @@
},
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"SSCI824": {
"inherits": ["LPCTarget"],
@ -368,7 +360,7 @@
},
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"LPC4088": {
"inherits": ["LPCTarget"],
@ -382,11 +374,11 @@
},
"progen": {"target": "lpc4088"},
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"LPC4088_DM": {
"inherits": ["LPC4088"],
"release": true
"release_versions": ["2", "5"]
},
"LPC4330_M4": {
"inherits": ["LPCTarget"],
@ -410,7 +402,7 @@
"extra_labels": ["NXP", "LPC43XX", "LPC4337"],
"supported_toolchains": ["ARM"],
"device_has": ["ANALOGIN", "ANALOGOUT", "DEBUG_AWARENESS", "ERROR_RED", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"LPC1800": {
"inherits": ["LPCTarget"],
@ -431,7 +423,7 @@
},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"ELEKTOR_COCORICO": {
"core": "Cortex-M0+",
@ -459,7 +451,7 @@
},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"KL25Z": {
"supported_form_factors": ["ARDUINO"],
@ -471,7 +463,7 @@
"progen": {"target": "frdm-kl25z"},
"detect_code": ["0200"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"KL26Z": {
"supported_form_factors": ["ARDUINO"],
@ -492,7 +484,7 @@
"inherits": ["Target"],
"progen": {"target": "frdm-kl43z"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"KL46Z": {
"supported_form_factors": ["ARDUINO"],
@ -504,7 +496,7 @@
"progen": {"target": "frdm-kl46z"},
"detect_code": ["0220"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"K20D50M": {
"inherits": ["Target"],
@ -515,7 +507,7 @@
"progen": {"target": "frdm-k20d50m"},
"detect_code": ["0230"],
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"TEENSY3_1": {
"inherits": ["Target"],
@ -531,7 +523,7 @@
"progen": {"target": "teensy-31"},
"detect_code": ["0230"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SEMIHOST", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"K22F": {
"supported_form_factors": ["ARDUINO"],
@ -544,7 +536,7 @@
"progen": {"target": "frdm-k22f"},
"detect_code": ["0231"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"KL27Z": {
"inherits": ["Target"],
@ -559,7 +551,7 @@
"progen_target": {"target": "frdm-kl27z"},
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "standard",
"release": true
"release_versions": ["2"]
},
"K64F": {
"supported_form_factors": ["ARDUINO"],
@ -573,7 +565,7 @@
"detect_code": ["0240"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES", "STORAGE"],
"features": ["IPV4", "STORAGE"],
"release": true
"release_versions": ["2", "5"]
},
"MTS_GAMBIT": {
"inherits": ["Target"],
@ -608,7 +600,7 @@
"progen": {"target": "nucleo-f030r8"},
"detect_code": ["0725"],
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F031K6": {
"supported_form_factors": ["ARDUINO"],
@ -621,7 +613,7 @@
"detect_code": ["0791"],
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"NUCLEO_F042K6": {
"supported_form_factors": ["ARDUINO"],
@ -634,7 +626,7 @@
"detect_code": ["0785"],
"device_has": ["ANALOGIN", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"NUCLEO_F070RB": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -646,7 +638,7 @@
"progen": {"target": "nucleo-f070rb"},
"detect_code": ["0755"],
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F072RB": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -658,7 +650,7 @@
"progen": {"target": "nucleo-f072rb"},
"detect_code": ["0730"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F091RC": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -670,7 +662,7 @@
"progen": {"target": "nucleo-f091rc"},
"detect_code": ["0750"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F103RB": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -682,7 +674,7 @@
"progen": {"target": "nucleo-f103rb"},
"detect_code": ["0700"],
"device_has": ["ANALOGIN", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F207ZG": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -694,7 +686,7 @@
"progen": {"target": "nucleo-f207zg"},
"detect_code": ["0835"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F302R8": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -706,7 +698,7 @@
"progen": {"target": "nucleo-f302r8"},
"detect_code": ["0705"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F303K8": {
"supported_form_factors": ["ARDUINO"],
@ -718,7 +710,7 @@
"progen": {"target": "nucleo-f303k8"},
"detect_code": ["0775"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F303RE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -730,7 +722,7 @@
"progen": {"target": "nucleo-f303re"},
"detect_code": ["0745"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F334R8": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -742,7 +734,7 @@
"progen": {"target": "nucleo-f334r8"},
"detect_code": ["0735"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F401RE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -754,7 +746,7 @@
"progen": {"target": "nucleo-f401re"},
"detect_code": ["0720"],
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F410RB": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -766,7 +758,7 @@
"progen": {"target": "nucleo-f410rb"},
"detect_code": ["0740"],
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F411RE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -778,7 +770,7 @@
"progen": {"target": "nucleo-f411re"},
"detect_code": ["0740"],
"device_has": ["ANALOGIN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"ELMO_F411RE": {
"supported_form_factors": ["ARDUINO"],
@ -790,7 +782,7 @@
"detect_code": ["----"],
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"NUCLEO_F429ZI": {
"inherits": ["Target"],
@ -801,7 +793,7 @@
"progen": {"target": "nucleo-f429zi"},
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"detect_code": ["0796"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_F446RE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -813,7 +805,7 @@
"progen": {"target": "nucleo-f446re"},
"detect_code": ["0777"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F446ZE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -825,7 +817,7 @@
"progen": {"target": "nucleo-f446ze"},
"detect_code": ["0778"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"B96B_F446VE": {
@ -837,7 +829,7 @@
"inherits": ["Target"],
"detect_code": ["0840"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_ASYNCH_DMA", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F746ZG": {
"inherits": ["Target"],
@ -855,7 +847,7 @@
"detect_code": ["0816"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"features": ["IPV4"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_F767ZI": {
"inherits": ["Target"],
@ -866,7 +858,7 @@
"progen": {"target": "nucleo-f767zi"},
"detect_code": ["0818"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release":true
"release_versions": ["2", "5"]
},
"NUCLEO_L011K4": {
"inherits": ["Target"],
@ -879,7 +871,7 @@
"progen": {"target":"nucleo-l011k4"},
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"NUCLEO_L031K6": {
@ -893,7 +885,7 @@
"progen": {"target": "nucleo-l031k6"},
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2"]
},
"NUCLEO_L053R8": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -905,7 +897,7 @@
"progen": {"target": "nucleo-l053r8"},
"detect_code": ["0715"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"NUCLEO_L073RZ": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -917,7 +909,7 @@
"progen": {"target": "nucleo-l073rz"},
"detect_code": ["0760"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_L152RE": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -929,7 +921,7 @@
"progen": {"target": "nucleo-l152re"},
"detect_code": ["0710"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_L432KC": {
"supported_form_factors": ["ARDUINO"],
@ -941,7 +933,7 @@
"progen": {"target": "nucleo-l432kc"},
"detect_code": ["0770"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "CAN", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"NUCLEO_L476RG": {
"supported_form_factors": ["ARDUINO", "MORPHO"],
@ -953,7 +945,7 @@
"progen": {"target": "nucleo-l476rg"},
"detect_code": ["0765"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"STM32F3XX": {
"inherits": ["Target"],
@ -978,7 +970,7 @@
"inherits": ["Target"],
"progen": {"target": "arch-max"},
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"DISCO_F051R8": {
"inherits": ["Target"],
@ -1013,7 +1005,7 @@
"progen": {"target": "disco-f334c8"},
"detect_code": ["0810"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"DISCO_F407VG": {
"inherits": ["Target"],
@ -1031,7 +1023,7 @@
"supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
"progen": {"target": "disco-f429zi"},
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"DISCO_F469NI": {
"supported_form_factors": ["ARDUINO"],
@ -1043,7 +1035,7 @@
"progen": {"target": "disco-f469ni"},
"detect_code": ["0788"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"DISCO_L053C8": {
"inherits": ["Target"],
@ -1053,7 +1045,7 @@
"supported_toolchains": ["ARM", "uARM", "IAR", "GCC_ARM"],
"progen": {"target": "disco-l053c8"},
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"DISCO_F746NG": {
"inherits": ["Target"],
@ -1064,7 +1056,7 @@
"progen": {"target": "disco-f746ng"},
"detect_code": ["0815"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"DISCO_L476VG": {
"inherits": ["Target"],
@ -1075,7 +1067,7 @@
"progen": {"target": "disco-l476vg"},
"detect_code": ["0820"],
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"MTS_MDOT_F405RG": {
"inherits": ["Target"],
@ -1086,7 +1078,7 @@
"macros": ["HSE_VALUE=26000000", "OS_CLOCK=48000000"],
"progen": {"target": "mts-mdot-f405rg"},
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"MTS_MDOT_F411RE": {
"inherits": ["Target"],
@ -1100,7 +1092,7 @@
},
"progen": {"target": "mts-mdot-f411re"},
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"MTS_DRAGONFLY_F411RE": {
"inherits": ["Target"],
@ -1114,7 +1106,7 @@
},
"progen": {"target": "mts-dragonfly-f411re"},
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"MOTE_L152RC": {
"inherits": ["Target"],
@ -1126,7 +1118,7 @@
"detect_code": ["4100"],
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "RTC_LSI", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"default_build": "small",
"release": true
"release_versions": ["2", "5"]
},
"DISCO_F401VC": {
"inherits": ["Target"],
@ -1299,7 +1291,7 @@
"extra_labels_add": ["NRF51822", "NRF51822_MKIT"],
"macros_add": ["TARGET_NRF51822_MKIT"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"NRF51822_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1318,7 +1310,7 @@
"inherits": ["MCU_NRF51_16K"],
"progen": {"target": "arch-ble"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"ARCH_BLE_BOOT": {
"supported_form_factors": ["ARDUINO"],
@ -1354,7 +1346,7 @@
"inherits": ["MCU_NRF51_16K"],
"progen": {"target": "seed-tinyble"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"SEEED_TINY_BLE_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1371,7 +1363,7 @@
"progen": {"target": "hrm1017"},
"macros_add": ["TARGET_NRF_LFCLK_RC"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"HRM1017_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1388,7 +1380,7 @@
"inherits": ["MCU_NRF51_16K"],
"progen": {"target": "rblab-nrf51822"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"RBLAB_NRF51822_BOOT": {
"supported_form_factors": ["ARDUINO"],
@ -1405,7 +1397,7 @@
"RBLAB_BLENANO": {
"inherits": ["MCU_NRF51_16K"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"RBLAB_BLENANO_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1424,7 +1416,7 @@
"WALLBOT_BLE": {
"inherits": ["MCU_NRF51_16K"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"WALLBOT_BLE_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1442,7 +1434,7 @@
"progen": {"target": "dfcm-nnn40"},
"macros_add": ["TARGET_NRF_LFCLK_RC"],
"device_has": ["ANALOGIN", "DEBUG_AWARENESS", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"DELTA_DFCM_NNN40_BOOT": {
"inherits": ["MCU_NRF51_32K_BOOT"],
@ -1460,8 +1452,7 @@
"supported_form_factors": ["ARDUINO"],
"inherits": ["MCU_NRF51_32K"],
"progen": {"target": "nrf51-dk"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"]
},
"NRF51_DK_BOOT": {
"supported_form_factors": ["ARDUINO"],
@ -1479,7 +1470,7 @@
"inherits": ["MCU_NRF51_32K"],
"progen": {"target": "nrf51-dongle"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"NRF51_DONGLE_BOOT": {
"inherits": ["MCU_NRF51_32K_BOOT"],
@ -1495,7 +1486,7 @@
"inherits": ["MCU_NRF51_16K_S110"],
"macros_add": ["TARGET_NRF_LFCLK_RC"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"NRF51_MICROBIT_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT_S110"],
@ -1512,7 +1503,7 @@
"extra_labels_add": ["NRF51_MICROBIT"],
"macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"NRF51_MICROBIT_B_BOOT": {
"inherits": ["MCU_NRF51_16K_BOOT"],
@ -1528,7 +1519,7 @@
"inherits": ["MCU_NRF51_32K"],
"macros_add": ["TARGET_NRF_32MHZ_XTAL"],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SLEEP", "SPI", "SPISLAVE"],
"release": true
"release_versions": ["2"]
},
"TY51822R3_BOOT": {
"inherits": ["MCU_NRF51_32K_BOOT"],
@ -1552,7 +1543,7 @@
"extra_labels": ["ARM_SSG", "MPS2", "MPS2_M0"],
"macros": ["CMSDK_CM0"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_MPS2_M0P": {
"inherits": ["ARM_MPS2_Target"],
@ -1561,7 +1552,7 @@
"extra_labels": ["ARM_SSG", "MPS2", "MPS2_M0P"],
"macros": ["CMSDK_CM0plus"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_MPS2_M1": {
"inherits": ["ARM_MPS2_Target"],
@ -1578,7 +1569,7 @@
"extra_labels": ["ARM_SSG", "MPS2", "MPS2_M3"],
"macros": ["CMSDK_CM3"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_MPS2_M4": {
"inherits": ["ARM_MPS2_Target"],
@ -1587,7 +1578,7 @@
"extra_labels": ["ARM_SSG", "MPS2", "MPS2_M4"],
"macros": ["CMSDK_CM4"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_MPS2_M7": {
"inherits": ["ARM_MPS2_Target"],
@ -1596,7 +1587,7 @@
"extra_labels": ["ARM_SSG", "MPS2", "MPS2_M7"],
"macros": ["CMSDK_CM7"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_IOTSS_Target": {
"inherits": ["Target"],
@ -1610,7 +1601,7 @@
"extra_labels": ["ARM_SSG", "IOTSS", "IOTSS_BEID"],
"macros": ["CMSDK_BEID"],
"device_has": ["AACI", "ANALOGIN", "CLCD", "ETHERNET", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SERIAL_FC", "SPI", "SPISLAVE", "TSC"],
"release": true
"release_versions": ["2"]
},
"ARM_BEETLE_SOC": {
"inherits": ["ARM_IOTSS_Target"],
@ -1627,7 +1618,7 @@
},
"device_has": ["ANALOGIN", "CLCD", "I2C", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "SERIAL", "SPI"],
"features": ["BLE"],
"release": true
"release_versions": ["2"]
},
"RZ_A1H": {
"supported_form_factors": ["ARDUINO"],
@ -1644,7 +1635,7 @@
},
"device_has": ["ANALOGIN", "CAN", "ERROR_PATTERN", "ETHERNET", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"features": ["IPV4"],
"release": true
"release_versions": ["2"]
},
"VK_RZ_A1H": {
"inherits": ["Target"],
@ -1670,7 +1661,7 @@
"supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
"progen": {"target": "maxwsnenv"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"MAX32600MBED": {
"inherits": ["Target"],
@ -1680,7 +1671,7 @@
"supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
"progen": {"target": "max32600mbed"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2", "5"]
},
"EFM32GG_STK3700": {
"inherits": ["Target"],
@ -1691,7 +1682,7 @@
"progen": {"target": "efm32gg-stk"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2"]
},
"EFM32LG_STK3600": {
"inherits": ["Target"],
@ -1702,7 +1693,7 @@
"progen": {"target": "efm32lg-stk"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2"]
},
"EFM32WG_STK3800": {
"inherits": ["Target"],
@ -1713,7 +1704,7 @@
"progen": {"target": "efm32wg-stk"},
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2"]
},
"EFM32ZG_STK3200": {
"inherits": ["Target"],
@ -1728,7 +1719,7 @@
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"default_build": "small",
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2"]
},
"EFM32HG_STK3400": {
"inherits": ["Target"],
@ -1743,7 +1734,7 @@
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"default_build": "small",
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2"]
},
"EFM32PG_STK3401": {
"inherits": ["Target"],
@ -1754,7 +1745,7 @@
"progen": {"target": "efm32pg-stk"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
"forced_reset_timeout": 2,
"release": true
"release_versions": ["2", "5"]
},
"WIZWIKI_W7500": {
"supported_form_factors": ["ARDUINO"],
@ -1764,7 +1755,7 @@
"inherits": ["Target"],
"progen": {"target": "wizwiki-w7500"},
"device_has": ["ANALOGIN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"WIZWIKI_W7500P": {
"supported_form_factors": ["ARDUINO"],
@ -1774,7 +1765,7 @@
"inherits": ["Target"],
"progen": {"target": "wizwiki-w7500p"},
"device_has": ["ANALOGIN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"WIZWIKI_W7500ECO": {
"inherits": ["Target"],
@ -1783,7 +1774,7 @@
"extra_labels": ["WIZNET", "W7500x", "WIZwiki_W7500ECO"],
"supported_toolchains": ["uARM", "ARM"],
"device_has": ["ANALOGIN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
"release": true
"release_versions": ["2"]
},
"SAMR21G18A": {
"inherits": ["Target"],
@ -1793,7 +1784,7 @@
"supported_toolchains": ["GCC_ARM", "ARM", "uARM"],
"progen": {"target": "samr21g18a"},
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH"],
"release": true
"release_versions": ["2"]
},
"SAMD21J18A": {
"inherits": ["Target"],
@ -1803,7 +1794,7 @@
"supported_toolchains": ["GCC_ARM", "ARM", "uARM"],
"progen": {"target": "samd21j18a"},
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH"],
"release": true
"release_versions": ["2"]
},
"SAMD21G18A": {
"inherits": ["Target"],
@ -1813,7 +1804,7 @@
"supported_toolchains": ["GCC_ARM", "ARM", "uARM"],
"progen": {"target": "samd21g18a"},
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH"],
"release": true
"release_versions": ["2"]
},
"SAML21J18A": {
"inherits": ["Target"],
@ -1888,7 +1879,8 @@
"supported_form_factors": ["ARDUINO"],
"inherits": ["MCU_NRF51_32K_UNIFIED"],
"progen": {"target": "nrf51-dk"},
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"]
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"],
"release_versions": ["2", "5"]
},
"MCU_NRF52": {
"inherits": ["Target"],
@ -1948,7 +1940,8 @@
"NRF52_PAN_62",
"NRF52_PAN_63"
],
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"]
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"],
"release_versions": ["2", "5"]
},
"BLUEPILL_F103C8": {
"core": "Cortex-M3",

View File

@ -23,11 +23,11 @@ from copy import copy
from types import ListType
from shutil import rmtree
from os.path import join, exists, basename, abspath, normpath
from os import getcwd, walk
from os import getcwd, walk, linesep
from time import time
import fnmatch
from tools.utils import mkdir, run_cmd, run_cmd_ext, NotSupportedException, ToolException
from tools.utils import mkdir, run_cmd, run_cmd_ext, NotSupportedException, ToolException, InvalidReleaseTargetException
from tools.paths import MBED_TARGETS_PATH, MBED_LIBRARIES, MBED_API, MBED_HAL, MBED_COMMON
from tools.targets import TARGET_NAMES, TARGET_MAP
from tools.libraries import Library
@ -36,6 +36,8 @@ from jinja2 import FileSystemLoader
from jinja2.environment import Environment
from tools.config import Config
RELEASE_VERSIONS = ['2', '5']
def prep_report(report, target_name, toolchain_name, id_name):
# Setup report keys
if not target_name in report:
@ -112,6 +114,105 @@ def get_config(src_paths, target, toolchain_name):
features = toolchain.config.get_features()
return cfg, macros, features
def is_official_target(target_name, version):
""" Returns True, None if a target is part of the official release for the
given version. Return False, 'reason' if a target is not part of the
official release for the given version.
target_name: Name if the target (ex. 'K64F')
version: The release version string. Should be a string contained within RELEASE_VERSIONS
"""
result = True
reason = None
target = TARGET_MAP[target_name]
if hasattr(target, 'release_versions') and version in target.release_versions:
if version == '2':
# For version 2, either ARM or uARM toolchain support is required
required_toolchains = set(['ARM', 'uARM'])
if not len(required_toolchains.intersection(set(target.supported_toolchains))) > 0:
result = False
reason = ("Target '%s' must support " % target.name) + \
("one of the folowing toolchains to be included in the mbed 2.0 ") + \
(("official release: %s" + linesep) % ", ".join(required_toolchains)) + \
("Currently it is only configured to support the ") + \
("following toolchains: %s" % ", ".join(target.supported_toolchains))
elif version == '5':
# For version 5, ARM, GCC_ARM, and IAR toolchain support is required
required_toolchains = set(['ARM', 'GCC_ARM', 'IAR'])
required_toolchains_sorted = list(required_toolchains)
required_toolchains_sorted.sort()
supported_toolchains = set(target.supported_toolchains)
supported_toolchains_sorted = list(supported_toolchains)
supported_toolchains_sorted.sort()
if not required_toolchains.issubset(supported_toolchains):
result = False
reason = ("Target '%s' must support " % target.name) + \
("ALL of the folowing toolchains to be included in the mbed OS 5.0 ") + \
(("official release: %s" + linesep) % ", ".join(required_toolchains_sorted)) + \
("Currently it is only configured to support the ") + \
("following toolchains: %s" % ", ".join(supported_toolchains_sorted))
else:
result = False
reason = ("Target '%s' has set an invalid release version of '%s'" % version) + \
("Please choose from the following release versions: %s" + ', '.join(RELEASE_VERSIONS))
else:
result = False
if not hasattr(target, 'release_versions'):
reason = "Target '%s' does not have the 'release_versions' key set" % target.name
elif not version in target.release_versions:
reason = "Target '%s' does not contain the version '%s' in its 'release_versions' key" % (target.name, version)
return result, reason
def transform_release_toolchains(toolchains, version):
""" Given a list of toolchains and a release version, return a list of
only the supported toolchains for that release
toolchains: The list of toolchains
version: The release version string. Should be a string contained within RELEASE_VERSIONS
"""
toolchains_set = set(toolchains)
if version == '5':
return ['ARM', 'GCC_ARM', 'IAR']
else:
return toolchains
def get_mbed_official_release(version):
""" Given a release version string, return a tuple that contains a target
and the supported toolchains for that release.
Ex. Given '2', return (('LPC1768', ('ARM', 'GCC_ARM')), ('K64F', ('ARM', 'GCC_ARM')), ...)
version: The version string. Should be a string contained within RELEASE_VERSIONS
"""
MBED_OFFICIAL_RELEASE = (
tuple(
tuple(
[
TARGET_MAP[target].name,
tuple(transform_release_toolchains(TARGET_MAP[target].supported_toolchains, version))
]
) for target in TARGET_NAMES if (hasattr(TARGET_MAP[target], 'release_versions') and version in TARGET_MAP[target].release_versions)
)
)
for target in MBED_OFFICIAL_RELEASE:
is_official, reason = is_official_target(target[0], version)
if not is_official:
raise InvalidReleaseTargetException(reason)
return MBED_OFFICIAL_RELEASE
def prepare_toolchain(src_paths, target, toolchain_name,
macros=None, options=None, clean=False, jobs=1,
notify=None, silent=False, verbose=False, extra_verbose=False, config=None):
@ -646,24 +747,57 @@ def build_mbed_libs(target, toolchain_name, options=None, verbose=False, clean=F
raise e
def get_unique_supported_toolchains():
""" Get list of all unique toolchains supported by targets """
def get_unique_supported_toolchains(release_targets=None):
""" Get list of all unique toolchains supported by targets
If release_targets is not specified, then it queries all known targets
release_targets: tuple structure returned from get_mbed_official_release()
"""
unique_supported_toolchains = []
for target in TARGET_NAMES:
for toolchain in TARGET_MAP[target].supported_toolchains:
if toolchain not in unique_supported_toolchains:
unique_supported_toolchains.append(toolchain)
if not release_targets:
for target in TARGET_NAMES:
for toolchain in TARGET_MAP[target].supported_toolchains:
if toolchain not in unique_supported_toolchains:
unique_supported_toolchains.append(toolchain)
else:
for target in release_targets:
for toolchain in target[1]:
if toolchain not in unique_supported_toolchains:
unique_supported_toolchains.append(toolchain)
return unique_supported_toolchains
def mcu_toolchain_matrix(verbose_html=False, platform_filter=None):
def mcu_toolchain_matrix(verbose_html=False, platform_filter=None, release_version='5'):
""" Shows target map using prettytable """
unique_supported_toolchains = get_unique_supported_toolchains()
from prettytable import PrettyTable # Only use it in this function so building works without extra modules
if isinstance(release_version, basestring):
# Force release_version to lowercase if it is a string
release_version = release_version.lower()
else:
# Otherwise default to printing all known targets and toolchains
release_version = 'all'
version_release_targets = {}
version_release_target_names = {}
for version in RELEASE_VERSIONS:
version_release_targets[version] = get_mbed_official_release(version)
version_release_target_names[version] = [x[0] for x in version_release_targets[version]]
if release_version in RELEASE_VERSIONS:
release_targets = version_release_targets[release_version]
else:
release_targets = None
unique_supported_toolchains = get_unique_supported_toolchains(release_targets)
prepend_columns = ["Target"] + ["mbed OS %s" % x for x in RELEASE_VERSIONS]
# All tests status table print
columns = ["Target"] + unique_supported_toolchains
pt = PrettyTable(["Target"] + unique_supported_toolchains)
columns = prepend_columns + unique_supported_toolchains
pt = PrettyTable(columns)
# Align table
for col in columns:
pt.align[col] = "c"
@ -671,7 +805,15 @@ def mcu_toolchain_matrix(verbose_html=False, platform_filter=None):
perm_counter = 0
target_counter = 0
for target in sorted(TARGET_NAMES):
target_names = []
if release_targets:
target_names = [x[0] for x in release_targets]
else:
target_names = TARGET_NAMES
for target in sorted(target_names):
if platform_filter is not None:
# FIlter out platforms using regex
if re.search(platform_filter, target) is None:
@ -679,6 +821,14 @@ def mcu_toolchain_matrix(verbose_html=False, platform_filter=None):
target_counter += 1
row = [target] # First column is platform name
for version in RELEASE_VERSIONS:
if target in version_release_target_names[version]:
text = "Supported"
else:
text = "-"
row.append(text)
for unique_toolchain in unique_supported_toolchains:
if unique_toolchain in TARGET_MAP[target].supported_toolchains:
text = "Supported"

View File

@ -28,6 +28,7 @@ sys.path.insert(0, ROOT)
from tools.build_api import build_mbed_libs
from tools.build_api import write_build_report
from tools.build_api import get_mbed_official_release
from tools.targets import TARGET_MAP, TARGET_NAMES
from tools.test_exporters import ReportExporter, ResultExporterType
from tools.test_api import SingleTestRunner
@ -35,10 +36,7 @@ from tools.test_api import singletest_in_cli_mode
from tools.paths import TEST_DIR, MBED_LIBRARIES
from tools.tests import TEST_MAP
OFFICIAL_MBED_LIBRARY_BUILD = (
tuple(tuple([TARGET_MAP[target].name, tuple(TARGET_MAP[target].supported_toolchains)]) for target in TARGET_NAMES if TARGET_MAP[target].release)
)
OFFICIAL_MBED_LIBRARY_BUILD = get_mbed_official_release('2')
if __name__ == '__main__':
parser = OptionParser()

View File

@ -167,6 +167,9 @@ class ToolException(Exception):
class NotSupportedException(Exception):
pass
class InvalidReleaseTargetException(Exception):
pass
def split_path(path):
base, file = split(path)
name, ext = splitext(file)