add automagic firmware version name calculation

This commit is contained in:
Valerio Vaccaro 2024-08-12 17:49:28 +02:00
parent f174d623e9
commit 7678c3d657
3 changed files with 73 additions and 2 deletions

17
auto_firmware_version.py Normal file
View File

@ -0,0 +1,17 @@
import subprocess
Import("env")
def get_firmware_specifier_build_flag():
ret = subprocess.run(["git", "describe"], stdout=subprocess.PIPE, text=True) #Uses only annotated tags
#ret = subprocess.run(["git", "describe", "--tags"], stdout=subprocess.PIPE, text=True) #Uses any tags
build_version = ret.stdout.strip()
# fix unwanted and verbose tags
build_version = build_version.replace('Release', '')
build_flag = "-D AUTO_VERSION=\\\"" + build_version + "\\\""
print ("Firmware Revision: " + build_version)
return (build_flag)
env.Append(
BUILD_FLAGS=[get_firmware_specifier_build_flag()]
)

View File

@ -17,6 +17,8 @@ default_envs = NerdminerV2-T-HMI, wt32-sc01, wt32-sc01-plus, han_m5stack, M5Stic
platform = espressif32
board = m5stick-c
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -48,6 +50,8 @@ lib_ignore =
platform = espressif32
board = esp-wrover-kit
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -80,6 +84,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -115,6 +121,8 @@ lib_ignore =
platform = espressif32
board = lolin_s3_mini
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -147,6 +155,8 @@ lib_ignore =
platform = espressif32
board = m5stack-core-esp32
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -177,6 +187,8 @@ lib_ignore =
platform = espressif32
board = lolin_s2_mini
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -206,6 +218,8 @@ lib_ignore =
platform = espressif32
board = lolin_s3_mini
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -241,6 +255,8 @@ lib_ignore =
platform = espressif32
board = esp32dev
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -270,6 +286,8 @@ lib_ignore =
platform = espressif32
board = seeed_xiao_esp32c3
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -300,6 +318,8 @@ lib_ignore =
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -331,6 +351,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -363,6 +385,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -398,6 +422,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -433,6 +459,8 @@ lib_ignore =
platform = espressif32
board = esp32dev
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -460,6 +488,8 @@ lib_ignore =
platform = espressif32
board = esp32dev ;esp-wrover-kit
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -491,6 +521,8 @@ lib_ignore =
platform = espressif32
board = lilygo-t-amoled
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
@ -513,6 +545,8 @@ lib_ignore =
platform = espressif32
board = lilygo-t-amoled
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
@ -535,6 +569,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_DONGLE
@ -559,6 +595,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_GEEK
@ -581,6 +619,8 @@ lib_ignore =
platform = espressif32 ;(ESP32-D0WD-V3)
board = esp32cam
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -610,6 +650,8 @@ lib_ignore =
platform = espressif32
board = esp32-s3-t-qt-pro
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time
@ -639,6 +681,8 @@ lib_ignore =
platform = espressif32
board = esp32dev
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_speed = 115200
upload_speed = 921600
;build_type = debug
@ -687,6 +731,8 @@ lib_ignore =
platform = espressif32
board = esp32dev
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_speed = 115200
monitor_filters =
esp32_exception_decoder
@ -740,6 +786,8 @@ lib_ignore =
platform = espressif32
board = lilygo-t-hmi
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
board_build.partitions = default_16MB.csv
monitor_filters =
esp32_exception_decoder
@ -776,6 +824,8 @@ lib_ignore =
platform = espressif32
board = ttgo-lora32-v1
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
@ -797,6 +847,8 @@ lib_ignore =
platform = espressif32
board = m5stack-stamps3
framework = arduino
extra_scripts =
pre:auto_firmware_version.py
monitor_filters =
esp32_exception_decoder
time

View File

@ -323,10 +323,12 @@ void wt32Display_NoScreen(unsigned long mElapsed)
void wt32Display_LoadingScreen(void)
{
Serial.println("Initializing...");
Serial.print("Firmware Version: ");
Serial.println(AUTO_VERSION);
lv_label_set_text(ui_lblssid, "SSID HanSoloAP");
lv_label_set_text(ui_lblpassword, "Password MineYourCoins");
lv_label_set_text(ui_lblversion, "Version 1.6.4 (RC1)");
_ui_screen_change(&ui_HomeScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_HomeScreen_screen_init);
lv_label_set_text(ui_lblversion, AUTO_VERSION);
_ui_screen_change(&ui_HomeScreen, LV_SCR_LOAD_ANIM_FADE_ON, 2000, 0, &ui_HomeScreen_screen_init);
}
void wt32Display_SetupScreen(void)