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
_Nothing yet._
## 0.1.0
First versioned release of FreeTRX (fork of OpenGD77 R20260131).
### Features
- **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/uiLocalisation.h"
#include "user_interface/uiUtilities.h"
#include "freetrxVersion.h"
enum
@ -164,8 +165,11 @@ static void displayBuildDetails(bool playVP)
#if !defined(PLATFORM_GD77S)
char versionBuf[SCREEN_LINE_BUFFER_SIZE];
const char *radioModel = "FreeTRX"; // firmware name shown in Firmware Info
char modelBuf[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();
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)
displayPrintCentered(0, radioModel, FONT_SIZE_3);
displayPrintCentered(0, modelBuf, FONT_SIZE_3);
displayPrintCentered(10, currentLanguage->built, FONT_SIZE_2);
displayPrintCentered(20, dateTimeBuf , FONT_SIZE_2);
displayPrintCentered(30, versionBuf, FONT_SIZE_2);
#else
displayPrintCentered(5, radioModel, FONT_SIZE_3);
displayPrintCentered(5, modelBuf, FONT_SIZE_3);
displayPrintCentered(20, currentLanguage->built, FONT_SIZE_2);
displayPrintCentered(30, dateTimeBuf , FONT_SIZE_2);
displayPrintCentered(40, versionBuf, FONT_SIZE_2);
@ -219,7 +223,7 @@ static void displayBuildDetails(bool playVP)
{
voicePromptsInit();
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);
voicePromptsAppendString(dateTimeBuf);
voicePromptsAppendLanguageString(currentLanguage->gitCommit);