From 0139d71b12530238f99cf56ea7389ad885820e06 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 12 Aug 2026 01:58:13 +0300 Subject: [PATCH] Show git hash commit in sys command --- .github/workflows/build.yml | 2 +- Makefile | 12 ++++++++---- flix/cli.ino | 5 ++++- flix/util.h | 2 ++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0cc43d3..b7a3159 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: - name: Build firmware for ESP32-S3 with OPI PSRAM run: make BOARD=esp32:esp32:esp32s3:CDCOnBoot=cdc,PSRAM=opi EXTRA=--output-dir=flix/build/esp32.esp32.esp32s3.opi - name: Build firmware for Flix2 - run: make BOARD=esp32:esp32:esp32s3:FlashSize=4M,CDCOnBoot=cdc,PSRAM=opi EXTRA='--build-property "compiler.cpp.extra_flags=-DFLIX2" --output-dir=flix/build/esp32.esp32.flix2' + run: make BOARD=esp32:esp32:esp32s3:FlashSize=4M,CDCOnBoot=cdc,PSRAM=opi FLAGS=-DFLIX2 EXTRA=--output-dir=flix/build/esp32.esp32.flix2 - name: Upload binaries uses: actions/upload-artifact@v4 with: diff --git a/Makefile b/Makefile index 564ec1a..1b961dd 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,17 @@ BOARD = esp32:esp32:esp32 PORT := $(strip $(wildcard /dev/serial/by-id/usb-Silicon_Labs_CP21* /dev/serial/by-id/usb-1a86_USB_Single_Serial_* /dev/cu.usbserial-* /dev/cu.usbmodem*)) +VERSION = $(shell git describe --always --dirty) export ARDUINO_NETWORK_CONNECTION_TIMEOUT := 1h build: .core .libs - arduino-cli compile --fqbn $(BOARD) --build-property "build.core_debug_level=1" flix $(EXTRA) + arduino-cli compile flix \ + --fqbn $(BOARD) \ + --build-property "build.core_debug_level=1" \ + --build-property "compiler.cpp.extra_flags=-DVERSION=$(VERSION) $(FLAGS)" $(EXTRA) upload: build - arduino-cli upload --fqbn $(BOARD) -p "$(PORT)" flix + arduino-cli upload flix --fqbn $(BOARD) -p "$(PORT)" erase: arduino-cli burn-bootloader --fqbn $(BOARD) -p "$(PORT)" -P esptool @@ -27,8 +31,8 @@ libs .libs: touch .libs upload_proxy: .core .libs - arduino-cli compile --fqbn $(BOARD) tools/espnow-proxy - arduino-cli upload --fqbn $(BOARD) -p "$(PORT)" tools/espnow-proxy + arduino-cli compile tools/espnow-proxy --fqbn $(BOARD) + arduino-cli upload tools/espnow-proxy --fqbn $(BOARD) -p "$(PORT)" gazebo/build cmake: gazebo/CMakeLists.txt mkdir -p gazebo/build diff --git a/flix/cli.ino b/flix/cli.ino index cbbd66e..c6273c1 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -191,7 +191,10 @@ void doCommand(String str, bool echo = false) { print("Free heap: %d KB\n", ESP.getFreeHeap() / 1024); print("PSRAM: %d KB\n", ESP.getPsramSize() / 1024); print("Free PSRAM: %d KB\n", ESP.getFreePsram() / 1024); - print("Firmware: " __DATE__ " " __TIME__ "\n"); +#ifdef VERSION + print("Version: %s\n", STRINGIFY(VERSION)); +#endif + print("Build date: " __DATE__ " " __TIME__ "\n"); // Print tasks table print("Num Task MinSt Prio Core CPU%%\n"); int taskCount = uxTaskGetNumberOfTasks(); diff --git a/flix/util.h b/flix/util.h index fc1b421..3672c98 100644 --- a/flix/util.h +++ b/flix/util.h @@ -11,6 +11,8 @@ const float ONE_G = 9.80665; extern float t; +#define STRINGIFY(x) __STRINGIFY(x) + float mapf(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }