[ion] Add getter method for PCB version in string form

This commit is contained in:
Gabriel Ozouf
2021-03-26 12:05:56 +01:00
committed by Gabriel
parent ed95b46c5b
commit 0282104086
3 changed files with 24 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ const char * serialNumber();
const char * softwareVersion(); const char * softwareVersion();
const char * patchLevel(); const char * patchLevel();
const char * fccId(); const char * fccId();
const char * pcbVersion();
// CRC32 : non xor-ed, non reversed, direct, polynomial 4C11DB7 // CRC32 : non xor-ed, non reversed, direct, polynomial 4C11DB7
uint32_t crc32Word(const uint32_t * data, size_t length); // Only accepts whole 32bit values uint32_t crc32Word(const uint32_t * data, size_t length); // Only accepts whole 32bit values

View File

@@ -1,4 +1,5 @@
#include "serial_number.h" #include "serial_number.h"
#include "board.h"
#include <drivers/config/serial_number.h> #include <drivers/config/serial_number.h>
#include "base64.h" #include "base64.h"
@@ -14,6 +15,24 @@ const char * serialNumber() {
return 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 { namespace Ion {

View File

@@ -3,3 +3,7 @@
const char * Ion::serialNumber() { const char * Ion::serialNumber() {
return "000000000000"; return "000000000000";
} }
const char * Ion::pcbVersion() {
return "0.0";
}