summaryrefslogtreecommitdiff
path: root/src/BootloaderVersion.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2021-07-23 09:59:08 (GMT)
committerGitea <gitea@fake.local>2021-07-23 09:59:08 (GMT)
commitdb6a701644116932f11c54ee0f619464de9faeb7 (patch)
treef2fb7999d6db212e416557ed12831d8ab38cc3c0 /src/BootloaderVersion.cpp
parentd96395c81021778af35b8b4bf965bfe8663eb081 (diff)
parentd6cccc2dcd95a7d332ee657d1357ae060389f6e6 (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/BootloaderVersion.cpp')
-rw-r--r--src/BootloaderVersion.cpp30
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());
}