mbed os with nrf51 internal bandgap enabled to read battery level

Dependents:   BLE_file_test BLE_Blink ExternalEncoder

Committer:
elessair
Date:
Sun Oct 23 15:10:02 2016 +0000
Revision:
0:f269e3021894
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elessair 0:f269e3021894 1 """The generic interface for all exporters.
elessair 0:f269e3021894 2 """
elessair 0:f269e3021894 3 # mbed SDK
elessair 0:f269e3021894 4 # Copyright (c) 2011-2016 ARM Limited
elessair 0:f269e3021894 5 #
elessair 0:f269e3021894 6 # Licensed under the Apache License, Version 2.0 (the "License");
elessair 0:f269e3021894 7 # you may not use this file except in compliance with the License.
elessair 0:f269e3021894 8 # You may obtain a copy of the License at
elessair 0:f269e3021894 9 #
elessair 0:f269e3021894 10 # http://www.apache.org/licenses/LICENSE-2.0
elessair 0:f269e3021894 11 #
elessair 0:f269e3021894 12 # Unless required by applicable law or agreed to in writing, software
elessair 0:f269e3021894 13 # distributed under the License is distributed on an "AS IS" BASIS,
elessair 0:f269e3021894 14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
elessair 0:f269e3021894 15 # See the License for the specific language governing permissions and
elessair 0:f269e3021894 16 # limitations under the License.
elessair 0:f269e3021894 17
elessair 0:f269e3021894 18 from tools.export import codered, ds5_5, iar, makefile
elessair 0:f269e3021894 19 from tools.export import emblocks, coide, kds, simplicityv3, atmelstudio
elessair 0:f269e3021894 20 from tools.export import sw4stm32, e2studio, zip, cmsis, uvision, cdt
elessair 0:f269e3021894 21 from tools.export.exporters import OldLibrariesException, FailedBuildException
elessair 0:f269e3021894 22 from tools.targets import TARGET_NAMES
elessair 0:f269e3021894 23
elessair 0:f269e3021894 24 EXPORTERS = {
elessair 0:f269e3021894 25 'uvision5': uvision.Uvision,
elessair 0:f269e3021894 26 'uvision': uvision.Uvision,
elessair 0:f269e3021894 27 'lpcxpresso': codered.CodeRed,
elessair 0:f269e3021894 28 'gcc_arm': makefile.GccArm,
elessair 0:f269e3021894 29 'make_gcc_arm': makefile.GccArm,
elessair 0:f269e3021894 30 'make_armc5': makefile.Armc5,
elessair 0:f269e3021894 31 'make_iar': makefile.IAR,
elessair 0:f269e3021894 32 'ds5_5': ds5_5.DS5_5,
elessair 0:f269e3021894 33 'iar': iar.IAR,
elessair 0:f269e3021894 34 'emblocks' : emblocks.IntermediateFile,
elessair 0:f269e3021894 35 'coide' : coide.CoIDE,
elessair 0:f269e3021894 36 'kds' : kds.KDS,
elessair 0:f269e3021894 37 'simplicityv3' : simplicityv3.SimplicityV3,
elessair 0:f269e3021894 38 'atmelstudio' : atmelstudio.AtmelStudio,
elessair 0:f269e3021894 39 'sw4stm32' : sw4stm32.Sw4STM32,
elessair 0:f269e3021894 40 'e2studio' : e2studio.E2Studio,
elessair 0:f269e3021894 41 'eclipse_gcc_arm' : cdt.EclipseGcc,
elessair 0:f269e3021894 42 'eclipse_iar' : cdt.EclipseIAR,
elessair 0:f269e3021894 43 'eclipse_armc5' : cdt.EclipseArmc5,
elessair 0:f269e3021894 44 'zip' : zip.ZIP,
elessair 0:f269e3021894 45 'cmsis' : cmsis.CMSIS
elessair 0:f269e3021894 46 }
elessair 0:f269e3021894 47
elessair 0:f269e3021894 48 ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN = """
elessair 0:f269e3021894 49 Sorry, the target %s is not currently supported on the %s toolchain.
elessair 0:f269e3021894 50 Please refer to <a href='/handbook/Exporting-to-offline-toolchains' target='_blank'>Exporting to offline toolchains</a> for more information.
elessair 0:f269e3021894 51 """
elessair 0:f269e3021894 52
elessair 0:f269e3021894 53 ERROR_MESSAGE_NOT_EXPORT_LIBS = """
elessair 0:f269e3021894 54 To export this project please <a href='http://mbed.org/compiler/?import=http://mbed.org/users/mbed_official/code/mbed-export/k&mode=lib' target='_blank'>import the export version of the mbed library</a>.
elessair 0:f269e3021894 55 """
elessair 0:f269e3021894 56
elessair 0:f269e3021894 57 def mcu_ide_matrix(verbose_html=False):
elessair 0:f269e3021894 58 """Shows target map using prettytable
elessair 0:f269e3021894 59
elessair 0:f269e3021894 60 Keyword argumets:
elessair 0:f269e3021894 61 verbose_html - print the matrix in html format
elessair 0:f269e3021894 62 """
elessair 0:f269e3021894 63 supported_ides = sorted(EXPORTERS.keys())
elessair 0:f269e3021894 64 # Only use it in this function so building works without extra modules
elessair 0:f269e3021894 65 from prettytable import PrettyTable, ALL
elessair 0:f269e3021894 66
elessair 0:f269e3021894 67 # All tests status table print
elessair 0:f269e3021894 68 table_printer = PrettyTable(["Platform"] + supported_ides)
elessair 0:f269e3021894 69 # Align table
elessair 0:f269e3021894 70 for col in supported_ides:
elessair 0:f269e3021894 71 table_printer.align[col] = "c"
elessair 0:f269e3021894 72 table_printer.align["Platform"] = "l"
elessair 0:f269e3021894 73
elessair 0:f269e3021894 74 perm_counter = 0
elessair 0:f269e3021894 75 for target in sorted(TARGET_NAMES):
elessair 0:f269e3021894 76 row = [target] # First column is platform name
elessair 0:f269e3021894 77 for ide in supported_ides:
elessair 0:f269e3021894 78 text = "-"
elessair 0:f269e3021894 79 if target in EXPORTERS[ide].TARGETS:
elessair 0:f269e3021894 80 if verbose_html:
elessair 0:f269e3021894 81 text = "&#10003;"
elessair 0:f269e3021894 82 else:
elessair 0:f269e3021894 83 text = "x"
elessair 0:f269e3021894 84 perm_counter += 1
elessair 0:f269e3021894 85 row.append(text)
elessair 0:f269e3021894 86 table_printer.add_row(row)
elessair 0:f269e3021894 87
elessair 0:f269e3021894 88 table_printer.border = True
elessair 0:f269e3021894 89 table_printer.vrules = ALL
elessair 0:f269e3021894 90 table_printer.hrules = ALL
elessair 0:f269e3021894 91 # creates a html page in a shorter format suitable for readme.md
elessair 0:f269e3021894 92 if verbose_html:
elessair 0:f269e3021894 93 result = table_printer.get_html_string()
elessair 0:f269e3021894 94 else:
elessair 0:f269e3021894 95 result = table_printer.get_string()
elessair 0:f269e3021894 96 result += "\n"
elessair 0:f269e3021894 97 result += "Total IDEs: %d\n"% (len(supported_ides))
elessair 0:f269e3021894 98 if verbose_html:
elessair 0:f269e3021894 99 result += "<br>"
elessair 0:f269e3021894 100 result += "Total platforms: %d\n"% (len(TARGET_NAMES))
elessair 0:f269e3021894 101 if verbose_html:
elessair 0:f269e3021894 102 result += "<br>"
elessair 0:f269e3021894 103 result += "Total permutations: %d"% (perm_counter)
elessair 0:f269e3021894 104 if verbose_html:
elessair 0:f269e3021894 105 result = result.replace("&amp;", "&")
elessair 0:f269e3021894 106 return result