mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[ion] Add getter method for PCB version in string form
This commit is contained in:
@@ -34,6 +34,7 @@ const char * serialNumber();
|
||||
const char * softwareVersion();
|
||||
const char * patchLevel();
|
||||
const char * fccId();
|
||||
const char * pcbVersion();
|
||||
|
||||
// CRC32 : non xor-ed, non reversed, direct, polynomial 4C11DB7
|
||||
uint32_t crc32Word(const uint32_t * data, size_t length); // Only accepts whole 32bit values
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "serial_number.h"
|
||||
#include "board.h"
|
||||
#include <drivers/config/serial_number.h>
|
||||
#include "base64.h"
|
||||
|
||||
@@ -14,6 +15,24 @@ const char * serialNumber() {
|
||||
return serialNumber;
|
||||
}
|
||||
|
||||
const char * pcbVersion() {
|
||||
constexpr int pcbVersionLength = 5; // xx.yy
|
||||
static char pcbVer[pcbVersionLength] = {'\0'};
|
||||
if (pcbVer[0] == '\0') {
|
||||
Device::Board::PCBVersion ver = Device::Board::pcbVersion();
|
||||
assert(ver < 10000);
|
||||
for (int i = pcbVersionLength - 1; i >= 0; i--) {
|
||||
if (i == 2) {
|
||||
pcbVer[i] = '.';
|
||||
} else {
|
||||
pcbVer[i] = '0' + ver % 10;
|
||||
ver /= 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
return pcbVer;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace Ion {
|
||||
|
||||
@@ -3,3 +3,7 @@
|
||||
const char * Ion::serialNumber() {
|
||||
return "000000000000";
|
||||
}
|
||||
|
||||
const char * Ion::pcbVersion() {
|
||||
return "0.0";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user