chore(firmware): pre prefix for non-release builds (#6596)

This commit is contained in:
Peter Feerick
2025-10-01 19:03:36 +10:00
committed by GitHub
parent fcee50d3a3
commit 4de56d8096
11 changed files with 64 additions and 45 deletions
+9 -4
View File
@@ -15,10 +15,15 @@ endif()
if(DEFINED ENV{EDGETX_VERSION_TAG})
set(VERSION_TAG "$ENV{EDGETX_VERSION_TAG}")
else()
if(DEFINED ENV{EDGETX_VERSION_SUFFIX})
set(VERSION_SUFFIX "$ENV{EDGETX_VERSION_SUFFIX}")
if(DEFINED ENV{EDGETX_VERSION_PREFIX})
set(VERSION_PREFIX "$ENV{EDGETX_VERSION_PREFIX}-")
else()
set(VERSION_SUFFIX "selfbuild") # If not defined, set suffix to selfbuild
set(VERSION_PREFIX "pre-") # Default prefix for when not tagged
endif()
if(DEFINED ENV{EDGETX_VERSION_SUFFIX})
set(VERSION_SUFFIX "-$ENV{EDGETX_VERSION_SUFFIX}")
else()
set(VERSION_SUFFIX "-selfbuild") # Default suffix for when not in automated build environments
endif()
endif()
@@ -135,7 +140,7 @@ include(GenericDefinitions)
if (VERSION_TAG)
message(STATUS "EdgeTX ${VERSION_TAG} @ ${GIT_STR}")
else()
message(STATUS "EdgeTX ${VERSION}-${VERSION_SUFFIX} @ ${GIT_STR}")
message(STATUS "EdgeTX ${VERSION_PREFIX}${VERSION}${VERSION_SUFFIX} @ ${GIT_STR}")
endif()
if(NATIVE_BUILD)
+11 -1
View File
@@ -392,6 +392,10 @@ if(IFLIGHT_RELEASE)
add_definitions(-DIFLIGHT_RELEASE)
endif()
if(BETAFPV_RELEASE)
add_definitions(-DBETAFPV_RELEASE)
endif()
if(HARDWARE_TRAINER_MULTI)
add_definitions(-DHARDWARE_TRAINER_MULTI)
endif()
@@ -657,11 +661,17 @@ else()
endif()
if(FIRMWARE_FORMAT_UF2)
if(VERSION_TAG)
set(UF2_VERSION_STRING "edgetx-${VERSION_TAG} (${GIT_STR})")
else()
set(UF2_VERSION_STRING "edgetx-${VERSION_PREFIX}${VERSION}${VERSION_SUFFIX} (${GIT_STR})")
endif()
add_custom_command(
TARGET firmware POST_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/elf2uf2.py
--reboot auto --device "${FLAVOUR}"
--version "edgetx-${VERSION}-${VERSION_SUFFIX} (${GIT_STR})"
--version "${UF2_VERSION_STRING}"
-i firmware.elf firmware.uf2
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
VERBATIM
+2 -2
View File
@@ -31,13 +31,13 @@
#if defined(VERSION_TAG)
#define BOOTLOADER_TITLE " Bootloader - " VERSION_TAG
#else
#define BOOTLOADER_TITLE " Bootloader " VERSION "-" VERSION_SUFFIX
#define BOOTLOADER_TITLE " Bootl." VERSION_PREFIX VERSION VERSION_SUFFIX
#endif
#else
#if defined(VERSION_TAG)
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION_TAG
#else
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION "-" VERSION_SUFFIX
#define BOOTLOADER_TITLE " EdgeTX Bootloader - " VERSION_PREFIX VERSION VERSION_SUFFIX
#endif
#endif
+1 -1
View File
@@ -27,7 +27,7 @@
#if defined(VERSION_TAG)
const char ABOUT_VERSION_1[] = "EdgeTX " "(" VERSION_TAG ")" "\036\"" CODENAME "\"";
#else
const char ABOUT_VERSION_1[] = "EdgeTX " "(" VERSION "-" VERSION_SUFFIX ")";
const char ABOUT_VERSION_1[] = "EdgeTX " "(" VERSION_PREFIX VERSION VERSION_SUFFIX ")";
#endif
const char ABOUT_VERSION_2[] = "Copyright (C) " BUILD_YEAR " EdgeTX";
const char ABOUT_VERSION_3[] = "https://edgetx.org";
+1 -1
View File
@@ -27,7 +27,7 @@
#if defined(VERSION_TAG)
const char ABOUT_VERSION_1[] = "EdgeTX " "\"" CODENAME "\"" " (" VERSION_TAG ")";
#else
const char ABOUT_VERSION_1[] = "EdgeTX " "(" VERSION "-" VERSION_SUFFIX ")";
const char ABOUT_VERSION_1[] = "EdgeTX " "(" VERSION_PREFIX VERSION VERSION_SUFFIX ")";
#endif
const char ABOUT_VERSION_2[] = "Copyright (C) " BUILD_YEAR " EdgeTX";
const char ABOUT_VERSION_3[] = "https://edgetx.org";
@@ -33,7 +33,7 @@ const std::string about_str =
#else
const std::string about_str =
"EdgeTX"
" (" VERSION "-" VERSION_SUFFIX ")";
" (" VERSION_PREFIX VERSION VERSION_SUFFIX ")";
#endif
const std::string copyright_str = "Copyright (C) " BUILD_YEAR " EdgeTX";
const std::string edgetx_url = "https://edgetx.org";
+6 -2
View File
@@ -28,12 +28,16 @@
extern void checkSpeakerVolume();
constexpr const char* strip_leading_hyphen(const char* str) {
return (str[0] == '-') ? str + 1 : str;
}
#if defined(VERSION_TAG)
const std::string ver_str = "" VERSION_TAG;
const std::string nam_str = "" CODENAME;
#else
const std::string ver_str = "" VERSION;
const std::string nam_str = "" VERSION_SUFFIX;
const std::string ver_str = "" VERSION_PREFIX VERSION;
const std::string nam_str = strip_leading_hyphen("" VERSION_SUFFIX);
const std::string git_str = "(" GIT_STR ")";
#endif
+31 -30
View File
@@ -31,45 +31,46 @@
#define TAB "\037\033"
#if defined(FRSKY_RELEASE)
#define DISPLAY_VERSION "-frsky"
#define FACTORY_RELEASE "-frsky"
#elif defined(JUMPER_RELEASE)
#define DISPLAY_VERSION "-jumper"
#define FACTORY_RELEASE "-jumper"
#elif defined(RADIOMASTER_RELEASE)
#define DISPLAY_VERSION "-RM"
#define FACTORY_RELEASE "-RM"
#elif defined(IFLIGHT_RELEASE)
#define DISPLAY_VERSION "-IF"
#define FACTORY_RELEASE "-IF"
#elif defined(TBS_RELEASE)
#define DISPLAY_VERSION "-tbs"
#define FACTORY_RELEASE "-tbs"
#elif defined(IMRC_RELEASE)
#define DISPLAY_VERSION "-imrc"
#define FACTORY_RELEASE "-imrc"
#elif defined(BETAFPV_RELEASE)
#define FACTORY_RELEASE "-betafpv"
#endif
// If factory release, append mfg tag to version
#ifdef FACTORY_RELEASE
#define WITH_FACTORY_RELEASE(base) base FACTORY_RELEASE
#else
#define DISPLAY_VERSION
#define WITH_FACTORY_RELEASE(base) base
#endif
#if defined(COLORLCD)
const char fw_stamp[] = "FW" TAB ": edgetx-" FLAVOUR;
#if defined(RADIOMASTER_RELEASE) || defined(JUMPER_RELEASE)
#if defined(VERSION_TAG) // tagged release, possibly mfg build
const char vers_stamp[] = "VERS" TAB ": " WITH_FACTORY_RELEASE(VERSION_TAG) "\"" CODENAME "\"";
#elif defined(FACTORY_RELEASE) // mfg build of non-tagged release, show commit hash only
const char vers_stamp[] = "VERS" TAB ": Factory firmware (" GIT_STR ")";
#else
#if defined(VERSION_TAG)
const char vers_stamp[] = "VERS" TAB ": " VERSION_TAG DISPLAY_VERSION "\"" CODENAME "\"";
#else
const char vers_stamp[] = "VERS" TAB ": " VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
#endif
#else // any other build (e.g. self, cloud, PR, nightly) will have prefix/suffix
const char vers_stamp[] = "VERS" TAB ": " VERSION_PREFIX VERSION VERSION_SUFFIX " (" GIT_STR ")";
#endif
const char date_stamp[] = "DATE" TAB ": " DATE;
const char time_stamp[] = "TIME" TAB ": " TIME;
#elif defined(BOARD_NAME)
const char vers_stamp[] = "FW" TAB ": edgetx-" BOARD_NAME "\036VERS" TAB ": " VERSION DISPLAY_VERSION " (" GIT_STR ")" "\036DATE" TAB ": " DATE " " TIME;
#elif defined(RADIOMASTER_RELEASE)
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": RM Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME;
#elif defined(JUMPER_RELEASE) || defined(IFLIGHT_RELEASE)
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME;
#else
#else // B&W / !COLOR_LCD
#if defined(VERSION_TAG)
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION_TAG DISPLAY_VERSION "\036NAME" ": " CODENAME "\036DATE" TAB ": " DATE " " TIME;
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " WITH_FACTORY_RELEASE(VERSION_TAG) "\036NAME" ": " CODENAME "\036DATE" TAB ": " DATE " " TIME;
#elif defined(FACTORY_RELEASE)
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": Factory (" GIT_STR ")" "\036BUILT BY : EdgeTX" "\036DATE" TAB ": " DATE " " TIME;
#else
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION "-" VERSION_SUFFIX DISPLAY_VERSION "\036GIT#" TAB ": " GIT_STR "\036DATE" TAB ": " DATE " " TIME;
const char vers_stamp[] = "FW" TAB ": edgetx-" FLAVOUR "\036VERS" TAB ": " VERSION_PREFIX VERSION VERSION_SUFFIX "\036GIT#" TAB ": " GIT_STR "\036DATE" TAB ": " DATE " " TIME;
#endif
#endif
@@ -80,16 +81,16 @@
#if defined(STM32) && !defined(SIMU)
#if defined(COLORLCD)
#if defined(VERSION_TAG)
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION_TAG DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION_TAG DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" WITH_FACTORY_RELEASE(VERSION_TAG) " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" WITH_FACTORY_RELEASE(VERSION_TAG) " (" GIT_STR ")";
#else
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION "-" VERSION_SUFFIX DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION_PREFIX WITH_FACTORY_RELEASE(VERSION) VERSION_SUFFIX " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION_PREFIX WITH_FACTORY_RELEASE(VERSION) VERSION_SUFFIX " (" GIT_STR ")";
#endif
#else
#else // B&W / !COLOR_LCD
/* 128x64 does not have enough real estate to display more than basic VERSION */
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION DISPLAY_VERSION " (" GIT_STR ")";
__SECTION_USED(".fwversiondata") const char firmware_version[] = "edgetx-" FLAVOUR "-" VERSION_PREFIX WITH_FACTORY_RELEASE(VERSION) " (" GIT_STR ")";
__SECTION_USED(".bootversiondata") const char boot_version[] = "edgetx-" FLAVOUR "-" VERSION_PREFIX WITH_FACTORY_RELEASE(VERSION) " (" GIT_STR ")";
#endif
/**
+1
View File
@@ -1,6 +1,7 @@
#define DATE "@DATE@"
#define TIME "@TIME@"
#define VERSION "@VERSION@"
#define VERSION_PREFIX "@VERSION_PREFIX@"
#define VERSION_SUFFIX "@VERSION_SUFFIX@"
#cmakedefine VERSION_TAG "@VERSION_TAG@"
#define CODENAME "@CODENAME@"
-2
View File
@@ -455,7 +455,6 @@ elseif(PCB STREQUAL X9LITE)
set(CPU_TYPE_FULL STM32F205xE)
set(HAPTIC YES)
set(FLAVOUR x9lite)
add_definitions(-DBOARD_NAME="x9lite")
add_definitions(-DPCBX9LITE -DPCBX9 -DSOFTWARE_VOLUME -DHARDWARE_POWER_MANAGEMENT_UNIT)
add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
set(PXX2 ON)
@@ -476,7 +475,6 @@ elseif(PCB STREQUAL X9LITES)
set(CPU_TYPE_FULL STM32F205xE)
set(HAPTIC YES)
set(FLAVOUR x9lites)
add_definitions(-DBOARD_NAME="x9lites")
add_definitions(-DPCBX9LITES -DPCBX9LITE -DPCBX9 -DSOFTWARE_VOLUME -DHARDWARE_POWER_MANAGEMENT_UNIT)
add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
set(PXX2 ON)
+1 -1
View File
@@ -32,7 +32,7 @@ def build(board, translation, srcdir):
os.mkdir("output")
path = tempfile.mkdtemp()
os.chdir(path)
command = "cmake %s -DTRANSLATIONS=%s -DJUMPER_RELEASE=YES %s" % (cmake_options, translation, srcdir)
command = "cmake %s -DTRANSLATIONS=%s -DBETAFPV_RELEASE=YES %s" % (cmake_options, translation, srcdir)
print(command)
os.system(command)
os.system("make firmware -j16")