[ion] Move pcbVersion method to its own file

This commit is contained in:
Gabriel Ozouf
2021-04-15 15:37:11 +02:00
committed by Gabriel
parent 46acd4eb61
commit f8798aa561
6 changed files with 32 additions and 23 deletions

View File

@@ -16,6 +16,7 @@ ion_device_src += $(addprefix ion/src/device/shared/drivers/, \
internal_flash.cpp \
keyboard.cpp \
led.cpp \
pcb_version.cpp \
power.cpp\
random.cpp\
reset.cpp \

View File

@@ -0,0 +1,25 @@
#include <ion.h>
#include "board.h"
namespace Ion {
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();
/* As PCB version only uses 4 chars, value should be at most 9999. */
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;
}
}

View File

@@ -15,25 +15,6 @@ 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();
/* As PCB version only uses 4 chars, value should be at most 9999. */
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 {

View File

@@ -0,0 +1,5 @@
#include <ion.h>
const char * Ion::pcbVersion() {
return "00.00";
}

View File

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

View File

@@ -6,6 +6,7 @@ ion_src += $(addprefix ion/src/shared/dummy/, \
exam_mode.cpp \
fcc_id.cpp \
led.cpp \
pcb_version.cpp \
power.cpp \
serial_number.cpp \
stack.cpp \