diff --git a/apps/Makefile b/apps/Makefile index 40605127f..4bba98235 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -45,7 +45,7 @@ snapshots_count = $(words $(apps)) snapshot_includes = $(foreach i,$(app_headers),-include $(i) ) epsilon_app_names = '$(foreach i,${EPSILON_APPS},"$(i)", )' -$(call object_for,apps/apps_container_storage.cpp apps/apps_container.cpp apps/main.cpp): CXXFLAGS += $(snapshot_includes) -DAPPS_CONTAINER_APPS_DECLARATION="$(apps_declaration)" -DAPPS_CONTAINER_SNAPSHOT_DECLARATIONS="$(snapshots_declaration)" -DAPPS_CONTAINER_SNAPSHOT_CONSTRUCTORS="$(snapshots_construction)" -DAPPS_CONTAINER_SNAPSHOT_LIST="$(snapshots_list)" -DAPPS_CONTAINER_SNAPSHOT_COUNT=$(snapshots_count) -DEPSILON_APPS_NAMES=$(epsilon_app_names) +$(call object_for,apps/apps_container_storage.cpp apps/apps_container.cpp apps/main.cpp): CXXFLAGS += $(snapshot_includes) -DAPPS_CONTAINER_APPS_DECLARATION="$(apps_declaration)" -DAPPS_CONTAINER_SNAPSHOT_DECLARATIONS="$(snapshots_declaration)" -DAPPS_CONTAINER_SNAPSHOT_CONSTRUCTORS="$(snapshots_construction)" -DAPPS_CONTAINER_SNAPSHOT_LIST="$(snapshots_list)" -DAPPS_CONTAINER_SNAPSHOT_COUNT=$(snapshots_count) -DEPSILON_APPS_NAMES=$(epsilon_app_names) -DUSERNAME=${USERNAME} # I18n file generation diff --git a/apps/settings/main_controller_prompt_beta.cpp b/apps/settings/main_controller_prompt_beta.cpp index b2ca4e128..df4c9f4aa 100644 --- a/apps/settings/main_controller_prompt_beta.cpp +++ b/apps/settings/main_controller_prompt_beta.cpp @@ -8,7 +8,11 @@ constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTr constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +#ifdef USERNAME constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#else +constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#endif constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; @@ -22,7 +26,11 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::Language), SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), SettingsMessageTree(I18n::Message::BetaPopUp), +#ifdef USERNAME SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), +#else + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), +#endif SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; diff --git a/apps/settings/main_controller_prompt_none.cpp b/apps/settings/main_controller_prompt_none.cpp index d5940c111..5c4874c3f 100644 --- a/apps/settings/main_controller_prompt_none.cpp +++ b/apps/settings/main_controller_prompt_none.cpp @@ -9,7 +9,11 @@ constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTr constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +#ifdef USERNAME constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#else +constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#endif constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; @@ -22,7 +26,11 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::Brightness), SettingsMessageTree(I18n::Message::Language), SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), +#ifdef USERNAME SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), +#else + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), +#endif SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; diff --git a/apps/settings/main_controller_prompt_update.cpp b/apps/settings/main_controller_prompt_update.cpp index ec1b82c73..466762df2 100644 --- a/apps/settings/main_controller_prompt_update.cpp +++ b/apps/settings/main_controller_prompt_update.cpp @@ -8,7 +8,11 @@ constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTr constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +#ifdef USERNAME constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#else +constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +#endif constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; @@ -22,7 +26,11 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::Language), SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), SettingsMessageTree(I18n::Message::UpdatePopUp), +#ifdef USERNAME SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), +#else + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), +#endif SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 4c8f75293..5ccf77c6e 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -22,7 +22,11 @@ bool AboutController::handleEvent(Ion::Events::Event event) { return true; } if (event == Ion::Events::OK || event == Ion::Events::EXE) { +#ifdef USERNAME if (selectedRow() == 1) { +#else + if (selectedRow() == 0) { +#endif MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); if (strcmp(myCell->accessoryText(), Ion::patchLevel()) == 0) { myCell->setAccessoryText(Ion::softwareVersion()); @@ -31,7 +35,11 @@ bool AboutController::handleEvent(Ion::Events::Event event) { myCell->setAccessoryText(Ion::patchLevel()); return true; } +#ifdef USERNAME if (selectedRow() == 2) { +#else + if (selectedRow() == 1) { +#endif MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); if (strcmp(myCell->accessoryText(), Ion::customSoftwareVersion()) == 0) { myCell->setAccessoryText("Public"); //Change for public/dev @@ -60,13 +68,19 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { GenericSubController::willDisplayCellForIndex(cell, index); MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; static const char * messages[] = { +#ifdef USERNAME Ion::username(), +#endif Ion::softwareVersion(), Ion::customSoftwareVersion(), Ion::serialNumber(), Ion::fccId() }; +#ifdef USERNAME assert(index >= 0 && index < 5); +#else + assert(index >= 0 && index < 4); +#endif myCell->setAccessoryText(messages[index]); } diff --git a/apps/settings/sub_menu/about_controller.h b/apps/settings/sub_menu/about_controller.h index 892dc48f7..61fa22e2b 100644 --- a/apps/settings/sub_menu/about_controller.h +++ b/apps/settings/sub_menu/about_controller.h @@ -14,7 +14,11 @@ public: int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; private: +#ifdef USERNAME constexpr static int k_totalNumberOfCell = 5; +#else + constexpr static int k_totalNumberOfCell = 4; +#endif MessageTableCellWithBuffer m_cells[k_totalNumberOfCell]; HardwareTest::PopUpController m_hardwareTestPopUpController; }; diff --git a/build/config.mak b/build/config.mak index 8ae1c0831..fa186fab5 100644 --- a/build/config.mak +++ b/build/config.mak @@ -4,8 +4,8 @@ PLATFORM ?= device DEBUG ?= 0 EPSILON_VERSION ?= 12.0.0 -EPSILON_CUSTOM_VERSION ?= 1.13.4-0 -USERNAME ?= N/A +EPSILON_CUSTOM_VERSION ?= 1.13.5-0 +# USERNAME ?= N/A # Valid values are "none", "update", "beta" EPSILON_APPS ?= calculation rpn graph code statistics probability solver atom sequence regression settings EPSILON_I18N ?= en fr es de pt @@ -24,5 +24,8 @@ endif include build/toolchain.$(TOOLCHAIN).mak SFLAGS += -DDEBUG=$(DEBUG) +ifdef USERNAME + SFLAGS += -DUSERNAME=$(USERNAME) +endif SFLAGS += -DEPSILON_GETOPT=$(EPSILON_GETOPT) SFLAGS += -DESCHER_LOG_EVENTS_BINARY=$(ESCHER_LOG_EVENTS_BINARY) diff --git a/ion/Makefile b/ion/Makefile index b6c955e6d..9778af4a1 100644 --- a/ion/Makefile +++ b/ion/Makefile @@ -22,7 +22,7 @@ ion_console_display_src += ion/src/shared/console_display.cpp # 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))" -DEPSILON_CUSTOM_VERSION="$(call initializer_list,$(EPSILON_CUSTOM_VERSION))" -DUSERNAME="$(call initializer_list,$(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))" -DEPSILON_CUSTOM_VERSION="$(call initializer_list,$(EPSILON_CUSTOM_VERSION))" -DUSERNAME="$(call initializer_list,$(USERNAME))" ion_src += $(addprefix ion/src/shared/, \ console_line.cpp \ diff --git a/ion/include/ion.h b/ion/include/ion.h index b6754a79f..e30d36cb9 100644 --- a/ion/include/ion.h +++ b/ion/include/ion.h @@ -28,7 +28,9 @@ void ion_main(int argc, const char * const argv[]); namespace Ion { const char * serialNumber(); +#ifdef USERNAME const char * username(); +#endif const char * softwareVersion(); const char * customSoftwareVersion(); const char * patchLevel(); diff --git a/ion/src/shared/platform_info.cpp b/ion/src/shared/platform_info.cpp index 77c313f26..da7af7673 100644 --- a/ion/src/shared/platform_info.cpp +++ b/ion/src/shared/platform_info.cpp @@ -13,10 +13,6 @@ #error This file expects EPSILON_CUSTOM_VERSION to be defined #endif -#ifndef USERNAME -#error This file expects USERNAME to be defined -#endif - #ifndef HEADER_SECTION #define HEADER_SECTION #endif @@ -32,7 +28,9 @@ public: m_header(Magic), m_version{EPSILON_VERSION}, m_customVersion{EPSILON_CUSTOM_VERSION}, +#ifdef USERNAME m_username{USERNAME}, +#endif m_patchLevel{PATCH_LEVEL}, m_storageAddress(storageAddress), m_storageSize(Ion::Storage::k_storageSize), @@ -51,6 +49,7 @@ public: assert(m_footer == Magic); return m_customVersion; } +#ifdef USERNAME const char * username() const { assert(m_storageAddress != nullptr); assert(m_storageSize != 0); @@ -58,6 +57,7 @@ public: assert(m_footer == Magic); return m_username; } +#endif const char * patchLevel() const { assert(m_storageAddress != nullptr); assert(m_storageSize != 0); @@ -70,7 +70,9 @@ private: uint32_t m_header; const char m_version[8]; const char m_customVersion[16]; +#ifdef USERNAME const char m_username[16]; +#endif const char m_patchLevel[8]; void * m_storageAddress; size_t m_storageSize; @@ -87,9 +89,11 @@ const char * Ion::customSoftwareVersion() { return platform_infos.customVersion(); } +#ifdef USERNAME const char * Ion::username() { return platform_infos.username(); } +#endif const char * Ion::patchLevel() { return platform_infos.patchLevel();