diff options
| author | JF <jf@codingfield.com> | 2021-07-23 09:59:08 (GMT) |
|---|---|---|
| committer | Gitea <gitea@fake.local> | 2021-07-23 09:59:08 (GMT) |
| commit | db6a701644116932f11c54ee0f619464de9faeb7 (patch) | |
| tree | f2fb7999d6db212e416557ed12831d8ab38cc3c0 /src/BootloaderVersion.cpp | |
| parent | d96395c81021778af35b8b4bf965bfe8663eb081 (diff) | |
| parent | d6cccc2dcd95a7d332ee657d1357ae060389f6e6 (diff) | |
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/BootloaderVersion.cpp')
| -rw-r--r-- | src/BootloaderVersion.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/BootloaderVersion.cpp b/src/BootloaderVersion.cpp index 5eba7a1..07a1da4 100644 --- a/src/BootloaderVersion.cpp +++ b/src/BootloaderVersion.cpp @@ -1,26 +1,36 @@ #include <cstdint> +#include <cstdio> #include "BootloaderVersion.h" using namespace Pinetime; -// NOTE : current bootloader does not export its version to the application firmware. +// NOTE : version < 1.0.0 of bootloader does not export its version to the application firmware. -uint32_t BootloaderVersion::Major() { - return 0; +uint32_t BootloaderVersion::version = 0; +char BootloaderVersion::versionString[BootloaderVersion::VERSION_STR_LEN] = "0.0.0"; + +const uint32_t BootloaderVersion::Major() { + return (BootloaderVersion::version >> 16u) & 0xff; } -uint32_t BootloaderVersion::Minor() { - return 0; +const uint32_t BootloaderVersion::Minor() { + return (BootloaderVersion::version >> 8u) & 0xff; } -uint32_t BootloaderVersion::Patch() { - return 0; +const uint32_t BootloaderVersion::Patch() { + return BootloaderVersion::version & 0xff; } const char* BootloaderVersion::VersionString() { - return "0.0.0"; + return BootloaderVersion::versionString; +} + +const bool BootloaderVersion::IsValid() { + return BootloaderVersion::version >= 0x00010000; } -bool BootloaderVersion::IsValid() { - return false; +void BootloaderVersion::SetVersion(uint32_t v) { + BootloaderVersion::version = v; + snprintf(BootloaderVersion::versionString, BootloaderVersion::VERSION_STR_LEN, "%ld.%ld.%ld", + BootloaderVersion::Major(), BootloaderVersion::Minor(), BootloaderVersion::Patch()); } |
