mbed os with nrf51 internal bandgap enabled to read battery level

Dependents:   BLE_file_test BLE_Blink ExternalEncoder

Revision:
0:f269e3021894
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/misc/docs_gen.py	Sun Oct 23 15:10:02 2016 +0000
@@ -0,0 +1,47 @@
+"""An api for generating documentation from the codebase
+"""
+
+from os.path import dirname, join
+from os import sep
+from re import compile
+
+import subprocess
+
+def generate_documentation(dirs, output_dir):
+    """Use doxygen to generate the documentation
+
+    Positional arguments:
+    dirs - the directories that doxygen should scan for documentation
+    output_dir - location of the documentation after the return of this function
+    """
+    print dirs
+    with open(join(dirname(__file__), "Doxyfile")) as doxyfile:
+        proc = subprocess.Popen(["doxygen", "-"], stdin=subprocess.PIPE)
+        proc.stdin.write(doxyfile.read())
+        proc.stdin.write("OUTPUT_DIRECTORY={}\n".format(output_dir))
+        proc.stdin.write("INPUT={}".format(" ".join(dirs)))
+        proc.stdin.close()
+        proc.wait()
+
+EXCLUDES = ["targets", "features/FEATURE", "features/mbedtls",
+           "features/nanostack", "features/storage"]
+
+def is_not_excluded(src):
+    return all(exclude not in src for exclude in EXCLUDES)
+
+if __name__ == "__main__":
+    import sys
+    from os.path import abspath, dirname, join
+    # Be sure that the tools directory is in the search path
+    ROOT = abspath(join(dirname(__file__), "..", ".."))
+    sys.path.insert(0, ROOT)
+
+    from tools.toolchains.gcc import GCC_ARM
+    from tools.targets import TARGET_MAP
+    toolchain = GCC_ARM(TARGET_MAP["Super_Target"])
+    resources = toolchain.scan_resources(".")
+    generate_documentation(filter(is_not_excluded,
+                                  sum(map(lambda x:x.headers,
+                                          resources.features.values()),
+                                      resources.headers)),
+                           join(dirname(dirname(__file__)), "mbed-docs"))