feat: Show module info for MPM and CRSF on Radio Version screen (#1771)

* Show module info for MPM and CRSF

* Consider MPM only if MULTIMODULE is defined

* Consider MPM only if MULTIMODULE is defined
This commit is contained in:
Risto
2022-04-01 10:52:08 +10:00
committed by GitHub
parent 8a988b7f88
commit c9594390e2
2 changed files with 35 additions and 23 deletions
+33 -23
View File
@@ -21,6 +21,9 @@
#include "opentx.h"
#include "options.h"
#if defined(CROSSFIRE)
#include "mixer_scheduler.h"
#endif
// TODO duplicated code
#if defined(ROTARY_ENCODER_NAVIGATION)
@@ -128,31 +131,38 @@ void menuRadioModulesVersion(event_t event)
// Module model
if (y >= MENU_BODY_TOP && y < MENU_BODY_BOTTOM) {
lcdDrawText(INDENT_WIDTH, y, STR_MODULE);
if (module == INTERNAL_MODULE) {
if (!IS_INTERNAL_MODULE_ON()) {
lcdDrawText(COLUMN2_X, y, STR_OFF);
y += FH;
continue;
}
if (!isModulePXX2(INTERNAL_MODULE)) {
lcdDrawText(COLUMN2_X, y, STR_NO_INFORMATION);
y += FH;
continue;
}
if ((module == INTERNAL_MODULE && !IS_INTERNAL_MODULE_ON()) ||
(module == EXTERNAL_MODULE && !IS_EXTERNAL_MODULE_ON())) {
lcdDrawText(COLUMN2_X, y, STR_OFF);
y += FH;
continue;
}
else if (module == EXTERNAL_MODULE) {
if (!IS_EXTERNAL_MODULE_ON()) {
lcdDrawText(COLUMN2_X, y, STR_OFF);
y += FH;
continue;
}
if (!isModulePXX2(EXTERNAL_MODULE)) {
lcdDrawText(COLUMN2_X, y, STR_NO_INFORMATION);
y += FH;
continue;
}
#if defined(MULTIMODULE)
if (isModuleMultimodule(module)) {
char statusText[64] = "";
getMultiModuleStatus(module).getStatusString(statusText);
lcdDrawText(COLUMN2_X, y, statusText);
y += FH;
continue;
}
uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module].information.modelID;
#endif
#if defined(CROSSFIRE)
if (isModuleCrossfire(module)) {
char statusText[64] = "";
sprintf(statusText, "%d Hz %lu Err",
1000000 / getMixerSchedulerPeriod(), telemetryErrors);
lcdDrawText(COLUMN2_X, y, statusText);
y += FH;
continue;
}
#endif
if (!isModulePXX2(module)) {
lcdDrawText(COLUMN2_X, y, STR_NO_INFORMATION);
y += FH;
continue;
}
uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module]
.information.modelID;
lcdDrawText(COLUMN2_X, y, getPXX2ModuleName(modelId));
}
y += FH;