diff --git a/src/bootloader.c b/src/bootloader.c index c018abf..e647c78 100644 --- a/src/bootloader.c +++ b/src/bootloader.c @@ -121,7 +121,7 @@ bool bootloaderProcess(CrtpPacket *packet) { //memcpy(info->cpuId, cpuidGetId(), CPUID_LEN); bzero(info->cpuId, CPUID_LEN); info->version = PROTOCOL_VERSION; - info->version_major = VERSION_MAJOR | (VERSION_DIRTY)?0x8000U:0x000; + info->version_major = VERSION_MAJOR | ((VERSION_DIRTY)?0x8000U:0x000); info->version_minor = VERSION_MINOR; info->version_patch = VERSION_PATCH; diff --git a/tools/build/generateVersionHeader.py b/tools/build/generateVersionHeader.py index cbd0c5d..657594c 100755 --- a/tools/build/generateVersionHeader.py +++ b/tools/build/generateVersionHeader.py @@ -70,13 +70,13 @@ def extract_information_from_git(base): def generate_numeral_version(): - vnum = version["tag"].split('+')[0].split('.') + vnum = version["tag"].split('+')[0].split('RC')[0].split('.') version["major"] = int(vnum[0]) if len(vnum) > 0 and vnum[0] != "NA" else 0 version["minor"] = int(vnum[1]) if len(vnum) > 1 else 0 version["patch"] = int(vnum[2]) if len(vnum) > 2 else 0 - version["dirty"] = "true" if version["modified"] == "true" or version["tag"].find('+') >= 0 else "false" + version["dirty"] = "true" if version["modified"] == "true" or '+' in version["tag"] or 'RC' in version["tag"] else "false" if __name__ == "__main__": @@ -96,6 +96,9 @@ def generate_numeral_version(): generate_numeral_version() + dirtymark = '+' if version["dirty"] else '' + print(f'Version {version["major"]}.{version["minor"]}.{version["patch"]}{dirtymark}') + with open(os.path.join(args.crazyflie_base, args.output), 'w') as fd: fd.writelines( ['#include \n',