Import("env") # pylint: disable=undefined-variable env.Execute("\"$PYTHONEXE\" -m pip install jinja2") import struct2json import dtcs from os import popen git_revision = popen('git rev-parse --short HEAD').read().strip() # Versionsnummern aus platformio.ini holen custom_firmware_version = env.GetProjectOption("custom_firmware_version", "0.99") custom_flash_version = env.GetProjectOption("custom_flash_version", "0.99") # Versionsnummern aufteilen in Major und Minor fw_major, fw_minor = custom_firmware_version.split('.') fl_major, fl_minor = custom_flash_version.split('.') # Version in Datei "version" im Ordner "data_src" überschreiben with open('data_src/version', 'w') as version_file: version_file.write(custom_flash_version) # Build-Flags setzen env.Replace(PROGNAME="firmware_%s_%s.fw" % (custom_firmware_version, git_revision)) env.Append(CPPDEFINES=[ ('GIT_REV', '\\"{}\\"'.format(git_revision)), ('FW_MAJOR', fw_major), ('FW_MINOR', fw_minor), ('FL_MAJOR', fl_major), ('FL_MINOR', fl_minor) ]) struct2json.struct2json() dtcs.build_dtcs()