mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
Separate Upsilon and Omega versions (#112)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
"",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user