unleashed-firmware/lib/toolbox/version.c
あく 389ff92cc1
Naming and coding style convention, new linter tool. (#945)
* Makefile, Scripts: new linter
* About: remove ID from IC
* Firmware: remove double define for DIVC/DIVR
* Scripts: check folder names too. Docker: replace syntax check with make lint.
* Reformat Sources and Migrate to new file naming convention
* Docker: symlink clang-format-12 to clang-format
* Add coding style guide
2022-01-05 19:10:18 +03:00

48 lines
1.1 KiB
C

#include "version.h"
struct Version {
const char* git_hash;
const char* git_branch;
const char* git_branch_num;
const char* build_date;
const char* version;
const uint8_t target;
};
/* version of current running firmware (bootloader/flipper) */
static const Version version = {
.git_hash = GIT_COMMIT,
.git_branch = GIT_BRANCH,
.git_branch_num = GIT_BRANCH_NUM,
.build_date = BUILD_DATE,
.version = VERSION,
.target = TARGET,
};
const Version* version_get(void) {
return &version;
}
const char* version_get_githash(const Version* v) {
return v ? v->git_hash : version.git_hash;
}
const char* version_get_gitbranch(const Version* v) {
return v ? v->git_branch : version.git_branch;
}
const char* version_get_gitbranchnum(const Version* v) {
return v ? v->git_branch_num : version.git_branch_num;
}
const char* version_get_builddate(const Version* v) {
return v ? v->build_date : version.build_date;
}
const char* version_get_version(const Version* v) {
return v ? v->version : version.version;
}
const uint8_t version_get_target(const Version* v) {
return v ? v->target : version.target;
}