Add FreeTRX version and show it in Firmware Info (v0.1.0)

- New freetrxVersion.h with semver (MAJOR/MINOR/PATCH + string), currently 0.1.0.
- Firmware Info top line now shows "FreeTRX v0.1.0"; the git commit ID line is
  unchanged. The version is also announced via voice prompt.
- CHANGELOG: promote the accumulated changes to a 0.1.0 section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marcus Kida 2026-07-06 18:34:10 +02:00
parent e5755be061
commit facf5f6a6d
3 changed files with 26 additions and 3 deletions

View file

@ -7,6 +7,12 @@ single running list until the first versioned release.
## Unreleased ## Unreleased
_Nothing yet._
## 0.1.0
First versioned release of FreeTRX (fork of OpenGD77 R20260131).
### Features ### Features
- **Screen dimming** — optional idle dimming of the backlight to a fraction of - **Screen dimming** — optional idle dimming of the backlight to a fraction of

View file

@ -0,0 +1,13 @@
/*
* FreeTRX firmware version (semantic versioning: MAJOR.MINOR.PATCH).
*/
#ifndef _FREETRX_VERSION_H_
#define _FREETRX_VERSION_H_
#define FREETRX_VERSION_MAJOR 0
#define FREETRX_VERSION_MINOR 1
#define FREETRX_VERSION_PATCH 0
#define FREETRX_VERSION "0.1.0"
#endif // _FREETRX_VERSION_H_

View file

@ -29,6 +29,7 @@
#include "user_interface/menuSystem.h" #include "user_interface/menuSystem.h"
#include "user_interface/uiLocalisation.h" #include "user_interface/uiLocalisation.h"
#include "user_interface/uiUtilities.h" #include "user_interface/uiUtilities.h"
#include "freetrxVersion.h"
enum enum
@ -164,8 +165,11 @@ static void displayBuildDetails(bool playVP)
#if !defined(PLATFORM_GD77S) #if !defined(PLATFORM_GD77S)
char versionBuf[SCREEN_LINE_BUFFER_SIZE]; char versionBuf[SCREEN_LINE_BUFFER_SIZE];
const char *radioModel = "FreeTRX"; // firmware name shown in Firmware Info const char *radioModel = "FreeTRX"; // firmware name shown in Firmware Info
char modelBuf[SCREEN_LINE_BUFFER_SIZE];
char dateTimeBuf[SCREEN_LINE_BUFFER_SIZE]; char dateTimeBuf[SCREEN_LINE_BUFFER_SIZE];
snprintf(modelBuf, SCREEN_LINE_BUFFER_SIZE, "%s v%s", radioModel, FREETRX_VERSION); // e.g. "FreeTRX v0.1.0"
displayClearBuf(); displayClearBuf();
sprintf(dateTimeBuf, "%d%02d%02d%02d%02d%02d", BUILD_YEAR, BUILD_MONTH, BUILD_DAY, BUILD_HOUR, BUILD_MIN, BUILD_SEC); sprintf(dateTimeBuf, "%d%02d%02d%02d%02d%02d", BUILD_YEAR, BUILD_MONTH, BUILD_DAY, BUILD_HOUR, BUILD_MIN, BUILD_SEC);
@ -180,12 +184,12 @@ static void displayBuildDetails(bool playVP)
#if defined(PLATFORM_RD5R) #if defined(PLATFORM_RD5R)
displayPrintCentered(0, radioModel, FONT_SIZE_3); displayPrintCentered(0, modelBuf, FONT_SIZE_3);
displayPrintCentered(10, currentLanguage->built, FONT_SIZE_2); displayPrintCentered(10, currentLanguage->built, FONT_SIZE_2);
displayPrintCentered(20, dateTimeBuf , FONT_SIZE_2); displayPrintCentered(20, dateTimeBuf , FONT_SIZE_2);
displayPrintCentered(30, versionBuf, FONT_SIZE_2); displayPrintCentered(30, versionBuf, FONT_SIZE_2);
#else #else
displayPrintCentered(5, radioModel, FONT_SIZE_3); displayPrintCentered(5, modelBuf, FONT_SIZE_3);
displayPrintCentered(20, currentLanguage->built, FONT_SIZE_2); displayPrintCentered(20, currentLanguage->built, FONT_SIZE_2);
displayPrintCentered(30, dateTimeBuf , FONT_SIZE_2); displayPrintCentered(30, dateTimeBuf , FONT_SIZE_2);
displayPrintCentered(40, versionBuf, FONT_SIZE_2); displayPrintCentered(40, versionBuf, FONT_SIZE_2);
@ -219,7 +223,7 @@ static void displayBuildDetails(bool playVP)
{ {
voicePromptsInit(); voicePromptsInit();
voicePromptsAppendPrompt(PROMPT_SILENCE); voicePromptsAppendPrompt(PROMPT_SILENCE);
voicePromptsAppendString(radioModel); // "FreeTRX" is a literal, not a language string voicePromptsAppendString(modelBuf); // "FreeTRX v0.1.0" (literal, not a language string)
voicePromptsAppendLanguageString(currentLanguage->built); voicePromptsAppendLanguageString(currentLanguage->built);
voicePromptsAppendString(dateTimeBuf); voicePromptsAppendString(dateTimeBuf);
voicePromptsAppendLanguageString(currentLanguage->gitCommit); voicePromptsAppendLanguageString(currentLanguage->gitCommit);