Merge branch 'ohagendorf-readme_md'

pull/868/head
0xc0170 2015-01-27 14:28:31 +01:00
commit de09d163de
4 changed files with 1893 additions and 190 deletions

View File

@ -0,0 +1,908 @@
Exporter IDE/Platform Support
-----------------------------------
<table>
<tr>
<th>Platform</th>
<th>codesourcery</th>
<th>coide</th>
<th>ds5_5</th>
<th>emblocks</th>
<th>gcc_arm</th>
<th>iar</th>
<th>kds</th>
<th>lpcxpresso</th>
<th>uvision</th>
</tr>
<tr>
<td>ARCH_BLE</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>ARCH_GPRS</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>ARCH_MAX</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>ARCH_PRO</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>ARM_MPS2</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>BLE_SMURFS</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>BLE_SMURFS_OTA</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_F051R8</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_F100RB</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_F303VC</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_F334C8</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_F407VG</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>DISCO_F429ZI</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>DISCO_L053C8</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>HRM1017</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>K20D50M</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>K22F</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>K64F</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>KL05Z</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>KL25Z</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>KL43Z</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>KL46Z</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC1114</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC11C24</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC11U24</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC11U24_301</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC11U35_401</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
</tr>
<tr>
<td>LPC11U35_501</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
</tr>
<tr>
<td>LPC11U35_Y5_MBUG</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC11U37_501</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC11U68</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
</tr>
<tr>
<td>LPC1347</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC1549</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC1768</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC2368</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC4088</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC4330_M0</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC4330_M4</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC4337</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC810</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPC812</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>LPC824</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>LPCCAPPUCCINO</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
</tr>
<tr>
<td>MTS_GAMBIT</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>MTS_MDOT_F405RG</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>MTS_MDOT_F411RE</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>NRF51822</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NRF51822_OTA</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>NRF51822_Y5_MBUG</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>NRF51_DK</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NRF51_DK_OTA</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>NRF51_DONGLE</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F030R8</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F070RB</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F072RB</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F091RC</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F103RB</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F302R8</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F303RE</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F334R8</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F401RE</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_F411RE</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_L053R8</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>NUCLEO_L152RE</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
</tr>
<tr>
<td>OC_MBUINO</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>RBLAB_BLENANO</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>RBLAB_NRF51822</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>RZ_A1H</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>SSCI824</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>STM32F3XX</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>STM32F407</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>UBLOX_C027</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>-</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
<tr>
<td>WALLBOT_BLE</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>XADOW_M0</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>&#10003;</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
</table>
Total IDEs: 9
<br>Total platforms: 74
<br>Total permutations: 225

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ from shutil import copytree, rmtree
from workspace_tools.utils import mkdir
from workspace_tools.export import uvision4, codesourcery, codered, gccarm, ds5_5, iar, emblocks, coide, kds
from workspace_tools.export.exporters import zip_working_directory_and_clean_up, OldLibrariesException
from workspace_tools.targets import EXPORT_MAP
from workspace_tools.targets import TARGET_NAMES, EXPORT_MAP
EXPORTERS = {
'uvision': uvision4.Uvision4,
@ -120,3 +120,52 @@ def setup_user_prj(user_dir, prj_path, lib_paths=None):
if lib_paths is not None:
for lib_path in lib_paths:
copy_tree(lib_path, join(user_lib, basename(lib_path)))
def mcu_ide_matrix(verbose_html=False, platform_filter=None):
""" Shows target map using prettytable """
supported_ides = []
for key in EXPORTERS.iterkeys():
supported_ides.append(key)
supported_ides.sort()
from prettytable import PrettyTable, ALL # Only use it in this function so building works without extra modules
# All tests status table print
columns = ["Platform"] + supported_ides
pt = PrettyTable(columns)
# Align table
for col in columns:
pt.align[col] = "c"
pt.align["Platform"] = "l"
perm_counter = 0
target_counter = 0
for target in sorted(TARGET_NAMES):
target_counter += 1
row = [target] # First column is platform name
for ide in supported_ides:
text = "-"
if target in EXPORTERS[ide].TARGETS:
if verbose_html:
text = "&#10003;"
else:
text = "x"
perm_counter += 1
row.append(text)
pt.add_row(row)
pt.border = True
pt.vrules = ALL
pt.hrules = ALL
# creates a html page suitable for a browser
# result = pt.get_html_string(format=True) if verbose_html else pt.get_string()
# creates a html page in a shorter format suitable for readme.md
result = pt.get_html_string() if verbose_html else pt.get_string()
result += "\n"
result += "Total IDEs: %d\n"% (len(supported_ides))
if verbose_html: result += "<br>"
result += "Total platforms: %d\n"% (target_counter)
if verbose_html: result += "<br>"
result += "Total permutations: %d"% (perm_counter)
if verbose_html: result = result.replace("&amp;", "&")
return result

View File

@ -8,7 +8,7 @@ from optparse import OptionParser
from workspace_tools.paths import EXPORT_DIR, EXPORT_WORKSPACE, EXPORT_TMP
from workspace_tools.paths import MBED_BASE, MBED_LIBRARIES
from workspace_tools.export import export, setup_user_prj, EXPORTERS
from workspace_tools.export import export, setup_user_prj, EXPORTERS, mcu_ide_matrix
from workspace_tools.utils import args_error
from workspace_tools.tests import TESTS, Test, TEST_MAP
from workspace_tools.targets import TARGET_NAMES
@ -65,6 +65,18 @@ if __name__ == '__main__':
default=False,
help="list available programs in order and exit")
parser.add_option("-S", "--list-matrix",
action="store_true",
dest="supported_ides",
default=False,
help="displays supported matrix of MCUs and IDEs")
parser.add_option("-E",
action="store_true",
dest="supported_ides_html",
default=False,
help="writes workspace_tools/export/README.md")
(options, args) = parser.parse_args()
# Print available tests in order and exit
@ -72,6 +84,27 @@ if __name__ == '__main__':
print '\n'.join(map(str, sorted(TEST_MAP.values())))
sys.exit()
# Only prints matrix of supported IDEs
if options.supported_ides:
print mcu_ide_matrix()
exit(0)
# Only prints matrix of supported IDEs
if options.supported_ides_html:
html = mcu_ide_matrix(verbose_html=True)
try:
with open("./export/README.md","w") as f:
f.write("Exporter IDE/Platform Support\n")
f.write("-----------------------------------\n")
f.write("\n")
f.write(html)
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)
except:
print "Unexpected error:", sys.exc_info()[0]
raise
exit(0)
# Clean Export Directory
if options.clean:
if exists(EXPORT_DIR):