Separate Upsilon and Omega versions (#112)

This commit is contained in:
lolocomotive
2022-01-04 20:37:46 +01:00
committed by GitHub
parent 1da537479f
commit 2248e415c4
15 changed files with 86 additions and 42 deletions

View File

@@ -34,6 +34,7 @@ Polar = "Polar "
Brightness = "Helligkeit"
SoftwareVersion = "Epsilon version"
UpsilonVersion = "Upsilon version"
OmegaVersion = "Omega version"
Username = "Name"
MicroPythonVersion = "µPythonversion"
FontSizes = "Python-Schriftgröße"
@@ -70,10 +71,10 @@ Time = "Uhrzeit"
RTCWarning1 = "Das Aktivieren der Uhr verkürzt die"
RTCWarning2 = "Akkulaufzeit im Bereitschaftsmodus."
SyntaxHighlighting = "Syntaxhervorhebung"
USBExplanation1= "USB-Schutz schützt Ihren"
USBExplanation2= "Taschenrechner vor"
USBExplanation3= "unbeabsichtigter Verriegelung"
USBProtection= "USB-Schutz"
USBExplanation1 = "USB-Schutz schützt Ihren"
USBExplanation2 = "Taschenrechner vor"
USBExplanation3 = "unbeabsichtigter Verriegelung"
USBProtection = "USB-Schutz"
USBProtectionLevel = "Akzeptierte Updates"
USBDefaultLevel = "Basierend auf Upsilon"
USBLowLevel = "Basierend auf Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Polar "
Brightness = "Brightness"
SoftwareVersion = "Epsilon version"
UpsilonVersion = "Upsilon version"
OmegaVersion = "Omega version"
Username = "Name"
MicroPythonVersion = "µPython version"
FontSizes = "Python font size"
@@ -70,10 +71,10 @@ Time = "Time"
RTCWarning1 = "Enabling the clock drains the battery faster"
RTCWarning2 = "when the calculator is powered off."
SyntaxHighlighting = "Syntax Highlighting"
USBExplanation1= "The USB protection protects"
USBExplanation2= "the calculator from"
USBExplanation3= "unintentional locking"
USBProtection= "USB Protection"
USBExplanation1 = "The USB protection protects"
USBExplanation2 = "the calculator from"
USBExplanation3 = "unintentional locking"
USBProtection = "USB Protection"
USBProtectionLevel = "Updates accepted"
USBDefaultLevel = "Based on Upsilon"
USBLowLevel = "Based on Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Polar "
Brightness = "Brillo"
SoftwareVersion = "Versión de Epsilon"
UpsilonVersion = "Versión de Upsilon"
OmegaVersion = "Versión de Omega"
Username = "Apellido"
MicroPythonVersion = "Version de µPython"
FontSizes = "Tipografía Python"
@@ -70,10 +71,10 @@ Time = "Hora"
RTCWarning1 = "Activar el reloj gasta la batería más rápido"
RTCWarning2 = "cuando la calculadora está apagada."
SyntaxHighlighting = "Resaltado de sintaxis"
USBExplanation1= "La protección USB protege"
USBExplanation2= "su calculadora del"
USBExplanation3= "bloqueo involuntario"
USBProtection= "Protección USB"
USBExplanation1 = "La protección USB protege"
USBExplanation2 = "su calculadora del"
USBExplanation3 = "bloqueo involuntario"
USBProtection = "Protección USB"
USBProtectionLevel = "Actualizaciones aceptadas"
USBDefaultLevel = "Basado en Upsilon"
USBLowLevel = "Basado en Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Exponentielle "
Brightness = "Luminosité"
SoftwareVersion = "Version d'Epsilon"
UpsilonVersion = "Version d'Upsilon"
OmegaVersion = "Version d'Omega"
Username = "Nom"
MicroPythonVersion = "Version de µPython"
FontSizes = "Police Python"
@@ -70,10 +71,10 @@ Time = "Heure"
RTCWarning1 = "Activer l'horloge décharge la batterie plus"
RTCWarning2 = "vite quand la calculatrice est éteinte."
SyntaxHighlighting = "Coloration syntaxique"
USBExplanation1= "La protection USB protège votre"
USBExplanation2= "calculatrice contre un verrouillage"
USBExplanation3= "non-intentionnel"
USBProtection= "Protection USB"
USBExplanation1 = "La protection USB protège votre"
USBExplanation2 = "calculatrice contre un verrouillage"
USBExplanation3 = "non-intentionnel"
USBProtection = "Protection USB"
USBProtectionLevel = "Mise à jour acceptées"
USBDefaultLevel = "Basées sur Upsilon"
USBLowLevel = "Basées sur Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Poláris "
Brightness = "Fényerö"
SoftwareVersion = "Epsilon verzió"
UpsilonVersion = "Upsilon verzió"
OmegaVersion = "Omega verzió"
Username = "Felhasználónév"
MicroPythonVersion = "µPython verzió"
FontSizes = "Python betü méret"
@@ -70,10 +71,10 @@ Time = "Óra"
RTCWarning1 = "Amikor a számológép alvómódban van, az óra"
RTCWarning2 = "használása az elemet gyorsabban meríti ki."
SyntaxHighlighting = "Szintaxis kiemelés"
USBExplanation1= "Az USB-védelem megvédi"
USBExplanation2= "a számológépet a nem"
USBExplanation3= "szándékos reteszeléstől"
USBProtection= "USB védelem"
USBExplanation1 = "Az USB-védelem megvédi"
USBExplanation2 = "a számológépet a nem"
USBExplanation3 = "szándékos reteszeléstől"
USBProtection = "USB védelem"
USBProtectionLevel = "Elfogadott frissítések"
USBDefaultLevel = "Upsilon alapján"
USBLowLevel = "Omega alapján"

View File

@@ -34,6 +34,7 @@ Polar = "Esponenziale "
Brightness = "Luminosità"
SoftwareVersion = "Epsilon version"
UpsilonVersion = "Upsilon version"
OmegaVersion = "Omega version"
Username = "Name"
MicroPythonVersion = "µPython version"
FontSizes = "Carattere Python"
@@ -70,10 +71,10 @@ Time = "Time"
RTCWarning1 = "Enabling the clock drains the battery faster"
RTCWarning2 = "when the calculator is powered off."
SyntaxHighlighting = "Evidenziazione della sintassi"
USBExplanation1= "La protezione USB protegge"
USBExplanation2= "la calcolatrice dal"
USBExplanation3= "blocco involontario"
USBProtection= "Protezione USB"
USBExplanation1 = "La protezione USB protegge"
USBExplanation2 = "la calcolatrice dal"
USBExplanation3 = "blocco involontario"
USBProtection = "Protezione USB"
USBProtectionLevel = "Aggiornamenti accettati"
USBDefaultLevel = "Basato su Upsilon"
USBLowLevel = "A base di Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Polair "
Brightness = "Helderheid"
SoftwareVersion = "Epsilon version"
UpsilonVersion = "Upsilon version"
OmegaVersion = "Omega version"
Username = "Name"
MicroPythonVersion = "µPython version"
FontSizes = "Python lettergrootte"
@@ -70,10 +71,10 @@ Time = "Time"
RTCWarning1 = "Enabling the clock drains the battery faster"
RTCWarning2 = "when the calculator is powered off."
SyntaxHighlighting = "Syntax Highlighting"
USBExplanation1= "USB-beveiliging beschermt uw"
USBExplanation2= "rekenmachine tegen"
USBExplanation3= "onbedoelde vergrendeling"
USBProtection= "USB-beveiliging"
USBExplanation1 = "USB-beveiliging beschermt uw"
USBExplanation2 = "rekenmachine tegen"
USBExplanation3 = "onbedoelde vergrendeling"
USBProtection = "USB-beveiliging"
USBProtectionLevel = "Updates geaccepteerd"
USBDefaultLevel = "Gebaseerd op Upsilon"
USBLowLevel = "Op basis van Omega"

View File

@@ -34,6 +34,7 @@ Polar = "Polar "
Brightness = "Brilho"
SoftwareVersion = "Versão do Epsilon"
UpsilonVersion = "Versão do Upsilon"
OmegaVersion = "Versão do Omega"
Username = "Nome"
MicroPythonVersion = "Versao do µPython"
FontSizes = "Tipografia Python"
@@ -70,10 +71,10 @@ Time = "Time"
RTCWarning1 = "Enabling the clock drains the battery faster"
RTCWarning2 = "when the calculator is powered off."
SyntaxHighlighting = "Destaque da sintaxe"
USBExplanation1= "A proteção USB protege"
USBExplanation2= "sua calculadora contra"
USBExplanation3= "bloqueios não intencionais"
USBProtection= "Proteção USB"
USBExplanation1 = "A proteção USB protege"
USBExplanation2 = "sua calculadora contra"
USBExplanation3 = "bloqueios não intencionais"
USBProtection = "Proteção USB"
USBProtectionLevel = "Atualizações aceitas"
USBDefaultLevel = "Baseado em Upsilon"
USBLowLevel = "Baseado em Ômega"

View File

@@ -28,8 +28,7 @@ constexpr SettingsMessageTree s_codeChildren[3] = {SettingsMessageTree(I18n::Mes
#endif
constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)};
constexpr SettingsMessageTree s_modelAboutChildren[9] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::UpsilonVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::Battery), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren)};
constexpr SettingsMessageTree s_modelAboutChildren[10] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::UpsilonVersion), SettingsMessageTree(I18n::Message::OmegaVersion), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::Battery), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren)};
MainController::MainController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate) :
ViewController(parentResponder),

View File

@@ -28,7 +28,7 @@ extern const Shared::SettingsMessageTree s_codeChildren[3];
extern const Shared::SettingsMessageTree s_modelDateTimeChildren[3];
extern const Shared::SettingsMessageTree s_accessibilityChildren[6];
extern const Shared::SettingsMessageTree s_contributorsChildren[23];
extern const Shared::SettingsMessageTree s_modelAboutChildren[9];
extern const Shared::SettingsMessageTree s_modelAboutChildren[10];
extern const Shared::SettingsMessageTree s_usbProtectionChildren[2];
extern const Shared::SettingsMessageTree s_usbProtectionLevelChildren[3];
extern const Shared::SettingsMessageTree s_model;

View File

@@ -73,6 +73,15 @@ bool AboutController::handleEvent(Ion::Events::Event event) {
myCell->setAccessoryText(Ion::UpsilonVersion());
return true;
}
if (childLabel == I18n::Message::OmegaVersion) {
MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell();
if (strcmp(myCell->accessoryText(), Ion::OmegaVersion()) == 0) {
myCell->setAccessoryText(MP_STRINGIFY(OMEGA_STATE)); //Change for public/dev
return true;
}
myCell->setAccessoryText(Ion::OmegaVersion());
return true;
}
if (childLabel == I18n::Message::MemUse) {
MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell();
@@ -188,8 +197,9 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) {
static const char * messages[] = {
(const char*) Ion::username(),
Ion::softwareVersion(),
Ion::UpsilonVersion(),
Ion::OmegaVersion(),
Ion::softwareVersion(),
mpVersion,
batteryLevel,
"",

View File

@@ -6,6 +6,7 @@ DEBUG ?= 0
HOME_DISPLAY_EXTERNALS ?= 1
EPSILON_VERSION ?= 15.5.0
OMEGA_VERSION ?= 1.22.1
UPSILON_VERSION ?= 1.0.0-dev
# OMEGA_USERNAME ?= N/A
OMEGA_STATE ?= public
EPSILON_APPS ?= calculation rpn graph code statistics probability solver atomic sequence regression reader settings external

View File

@@ -22,7 +22,7 @@ include ion/src/shared/tools/Makefile
# char test[4]= "ab"; is valid and should initialize test to 'a','b',0,0).
# Older versions of GCC are not conformant so we resort to an initializer list.
initializer_list = $(shell echo $(1) | sed "s/\(.\)/'\1',/g")0
$(call object_for,ion/src/shared/platform_info.cpp): SFLAGS += -DPATCH_LEVEL="$(call initializer_list,$(PATCH_LEVEL))" -DEPSILON_VERSION="$(call initializer_list,$(EPSILON_VERSION))" -DOMEGA_VERSION="$(call initializer_list,$(OMEGA_VERSION))" -DOMEGA_USERNAME="$(call initializer_list,$(OMEGA_USERNAME))"
$(call object_for,ion/src/shared/platform_info.cpp): SFLAGS += -DPATCH_LEVEL="$(call initializer_list,$(PATCH_LEVEL))" -DEPSILON_VERSION="$(call initializer_list,$(EPSILON_VERSION))" -DOMEGA_VERSION="$(call initializer_list,$(OMEGA_VERSION))" -DUPSILON_VERSION="$(call initializer_list,$(UPSILON_VERSION))" -DOMEGA_USERNAME="$(call initializer_list,$(OMEGA_USERNAME))"
ion_src += $(addprefix ion/src/shared/, \
console_line.cpp \

View File

@@ -36,6 +36,7 @@ const char * serialNumber();
const volatile char * username();
const char * softwareVersion();
const char * UpsilonVersion();
const char * OmegaVersion();
const char * patchLevel();
const char * fccId();
const char * pcbVersion();

View File

@@ -13,6 +13,10 @@
#error This file expects OMEGA_VERSION to be defined
#endif
#ifndef UPSILON_VERSION
#error This file expects UPSILON_VERSION to be defined
#endif
#ifndef HEADER_SECTION
#define HEADER_SECTION
#endif
@@ -32,14 +36,17 @@ public:
m_storageSize(Ion::Storage::k_storageSize),
m_footer(Magic),
m_ohm_header(OmegaMagic),
m_UpsilonVersion{OMEGA_VERSION},
m_OmegaVersion{OMEGA_VERSION},
#ifdef OMEGA_USERNAME
m_username{OMEGA_USERNAME},
#else
m_username{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"},
#endif
m_osType(UpsilonMagic),
m_ohm_footer(OmegaMagic) { }
m_ohm_footer(OmegaMagic),
m_ups_header(UpsilonMagic),
m_UpsilonVersion{UPSILON_VERSION},
m_osType(OSType),
m_ups_footer(UpsilonMagic) { }
const char * version() const {
assert(m_storageAddress != nullptr);
assert(m_storageSize != 0);
@@ -57,6 +64,15 @@ public:
assert(m_ohm_header == OmegaMagic);
assert(m_ohm_footer == OmegaMagic);
return m_UpsilonVersion;
}
const char * OmegaVersion() const {
assert(m_storageAddress != nullptr);
assert(m_storageSize != 0);
assert(m_header == Magic);
assert(m_footer == Magic);
assert(m_ohm_header == OmegaMagic);
assert(m_ohm_footer == OmegaMagic);
return m_OmegaVersion;
}
const volatile char * username() const volatile {
assert(m_storageAddress != nullptr);
@@ -80,6 +96,7 @@ private:
constexpr static uint32_t Magic = 0xDEC00DF0;
constexpr static uint32_t OmegaMagic = 0xEFBEADDE;
constexpr static uint32_t UpsilonMagic = 0x55707369;
constexpr static uint32_t OSType = 0x79827178;
uint32_t m_header;
const char m_version[8];
const char m_patchLevel[8];
@@ -87,10 +104,14 @@ private:
size_t m_storageSize;
uint32_t m_footer;
uint32_t m_ohm_header;
const char m_UpsilonVersion[16];
const char m_OmegaVersion[16];
const volatile char m_username[16];
uint32_t m_osType;
uint32_t m_ohm_footer;
uint32_t m_ups_header;
const char m_UpsilonVersion[16];
uint32_t m_osType;
uint32_t m_ups_footer;
};
const PlatformInfo HEADER_SECTION platform_infos;
@@ -103,6 +124,10 @@ const char * Ion::UpsilonVersion() {
return platform_infos.UpsilonVersion();
}
const char * Ion::OmegaVersion() {
return platform_infos.OmegaVersion();
}
const volatile char * Ion::username() {
return platform_infos.username();
}