12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #! /usr/bin/env python
- # -*- coding: UTF-8 -*-
- import sys, os
- #----------------------------------------------------------------------------------------------------------------------*
- separator = "//" + ("—" * 118) + "\n"
- #------------------------------ Arg 1 is destination file
- destinationFile = sys.argv [1]
- #------------------------------ Arg 2 is processor frequency (in MHz)
- CPU_MHZ = sys.argv [2]
- #------------------------------ Arg 2 is task count ("*" is no task)
- TASK_COUNT = sys.argv [3]
- #------------------------------ Arg 3 is teensy name
- TEENSY_NAME = sys.argv [4]
- #------------------------------ Header files
- s = "#pragma once\n\n"
- s += separator + "\n"
- s += "#include <stdint.h>\n"
- s += "#include <stdlib.h>\n"
- s += "#include <string.h>\n"
- s += "\n"
- s += separator
- s += "// TASK COUNT\n"
- s += separator + "\n"
- s += "static const uint32_t TASK_COUNT = " + TASK_COUNT + " ;\n\n"
- s += separator
- s += "// DEV BOARD\n"
- s += separator + "\n"
- s += "#define " + TEENSY_NAME + "\n"
- s += "\n"
- s += separator
- s += "// PROCESSOR FREQUENCY\n"
- s += separator + "\n"
- s += "#define CPU_MHZ (" + CPU_MHZ + ")\n\n"
- s += separator
- s += "// FALLTHROUGH\n"
- s += separator + "\n"
- s += "#if __GNUC__ < 7\n"
- s += " #define FALLTHROUGH\n"
- s += "#else\n"
- s += " #define FALLTHROUGH __attribute__ ((fallthrough))\n"
- s += "#endif\n\n"
- s += separator
- s += "// DIAGNOSTICS\n"
- s += separator + "\n"
- s += "#if __GNUC__ > 5\n"
- s += " #pragma GCC diagnostic error \"-Wduplicated-branches\"\n"
- s += " #pragma GCC diagnostic error \"-Wmisleading-indentation\"\n"
- s += "#endif\n\n"
- s += separator
- #------------------------------ Write destination file
- f = open (destinationFile, "wt")
- f.write (s)
- f.close()
- #----------------------------------------------------------------------------------------------------------------------*
|