diff --git a/radio/src/gui/common/stdlcd/model_module_options.cpp b/radio/src/gui/common/stdlcd/model_module_options.cpp index 1a0ce1baa..eb7e629ab 100644 --- a/radio/src/gui/common/stdlcd/model_module_options.cpp +++ b/radio/src/gui/common/stdlcd/model_module_options.cpp @@ -89,7 +89,7 @@ void menuModelModuleOptions(event_t event) uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.modelID; // uint8_t variant = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.variant; - uint8_t optionsAvailable = getModuleOptions(modelId) & ((1 << MODULE_OPTION_EXTERNAL_ANTENNA) | (1 << MODULE_OPTION_POWER)); + uint8_t optionsAvailable = getPXX2ModuleOptions(modelId) & ((1 << MODULE_OPTION_EXTERNAL_ANTENNA) | (1 << MODULE_OPTION_POWER)); SUBMENU_NOTITLE(ITEM_MODULE_SETTINGS_COUNT, { !optionsAvailable ? (uint8_t)0 : IF_MODULE_OPTIONS(MODULE_OPTION_EXTERNAL_ANTENNA, 0), @@ -135,7 +135,7 @@ void menuModelModuleOptions(event_t event) int8_t sub = menuVerticalPosition; lcdDrawTextAlignedLeft(0, STR_MODULE_OPTIONS); - lcdDrawText(lcdLastRightPos + 3, 0, PXX2modulesModels[modelId]); + lcdDrawText(lcdLastRightPos + 3, 0, getPXX2ModuleName(modelId)); lcdInvertLine(0); if (reusableBuffer.hardwareAndSettings.moduleSettings.state == PXX2_SETTINGS_OK) { diff --git a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp index 33e811cc3..9b0ca102b 100644 --- a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp +++ b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp @@ -102,9 +102,9 @@ void onUpdateStateChanged() { if (reusableBuffer.sdManager.otaUpdateInformation.step == BIND_INFO_REQUEST) { uint8_t modelId = reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.modelID; - if (modelId > 0 && modelId < DIM(PXX2receiversModels)) { + if (modelId > 0 && modelId < DIM(PXX2ReceiversModels)) { if (isReceiverOptionAvailable(modelId, RECEIVER_OPTION_OTA)) { - POPUP_CONFIRMATION(PXX2receiversModels[modelId], onUpdateConfirmation); + POPUP_CONFIRMATION(getPXX2ReceiverName(modelId), onUpdateConfirmation); char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, TR_CURRENT_VERSION); tmp = strAppendUnsigned(tmp, 1 + reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.major); *tmp++ = '.'; diff --git a/radio/src/gui/common/stdlcd/radio_version.cpp b/radio/src/gui/common/stdlcd/radio_version.cpp index d7b38b6f2..071166ede 100644 --- a/radio/src/gui/common/stdlcd/radio_version.cpp +++ b/radio/src/gui/common/stdlcd/radio_version.cpp @@ -123,7 +123,7 @@ void menuRadioModulesVersion(event_t event) } } uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module].information.modelID; - lcdDrawText(COLUMN2_X, y, PXX2modulesModels[modelId]); + lcdDrawText(COLUMN2_X, y, getPXX2ModuleName(modelId)); } y += FH; @@ -147,7 +147,7 @@ void menuRadioModulesVersion(event_t event) lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER); lcdDrawNumber(lcdLastRightPos + 2, y, receiver + 1); uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module].receivers[receiver].information.modelID; - lcdDrawText(COLUMN2_X, y, PXX2receiversModels[modelId]); + lcdDrawText(COLUMN2_X, y, getPXX2ReceiverName(modelId)); } y += FH; diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index a2f0bd163..df4778009 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -360,7 +360,7 @@ static const uint8_t moduleOptions[] = { 0b11110100, // ISRM-N }; -inline uint8_t getModuleOptions(uint8_t modelId) +inline uint8_t getPXX2ModuleOptions(uint8_t modelId) { if (modelId < DIM(moduleOptions)) return moduleOptions[modelId]; @@ -370,7 +370,7 @@ inline uint8_t getModuleOptions(uint8_t modelId) inline bool isModuleOptionAvailable(uint8_t modelId, uint8_t option) { - return getModuleOptions(modelId) & (1 << option); + return getPXX2ModuleOptions(modelId) & (1 << option); } enum { @@ -423,7 +423,7 @@ enum ReceiverCapabilities { RECEIVER_CAPABILITY_COUNT }; -inline uint8_t getReceiverOptions(uint8_t modelId) +inline uint8_t getPXX2ReceiverOptions(uint8_t modelId) { if (modelId < DIM(receiverOptions)) return receiverOptions[modelId]; @@ -433,7 +433,7 @@ inline uint8_t getReceiverOptions(uint8_t modelId) inline bool isReceiverOptionAvailable(uint8_t modelId, uint8_t option) { - return getReceiverOptions(modelId) & (1 << option); + return getPXX2ReceiverOptions(modelId) & (1 << option); } inline bool isDefaultModelRegistrationID() diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index 6ecb0cd4d..394a30b13 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -58,7 +58,7 @@ #define PXX2_HW_INFO_TX_ID 0xFF -static const char * const PXX2modulesModels[] = { +static const char * const PXX2ModulesModels[] = { "---", "XJT", "ISRM", @@ -70,7 +70,15 @@ static const char * const PXX2modulesModels[] = { "ISRM-N" }; -static const char * const PXX2receiversModels[] = { +inline const char * getPXX2ModuleName(uint8_t modelId) +{ + if (modelId < DIM(PXX2ModulesModels)) + return PXX2ModulesModels[modelId]; + else + return PXX2ModulesModels[0]; +} + +static const char * const PXX2ReceiversModels[] = { "---", "X8R", "RX8R", @@ -100,6 +108,14 @@ static const char * const PXX2receiversModels[] = { "R9-MM-OTA", // this one has OTA (different bootloader) }; +inline const char * getPXX2ReceiverName(uint8_t modelId) +{ + if (modelId < DIM(PXX2ReceiversModels)) + return PXX2ReceiversModels[modelId]; + else + return PXX2ReceiversModels[0]; +} + enum PXX2ModuleModelID { PXX2_MODULE_NONE, PXX2_MODULE_XJT, diff --git a/radio/src/targets/taranis/board.cpp b/radio/src/targets/taranis/board.cpp index 38d22a454..4fc9fd34d 100644 --- a/radio/src/targets/taranis/board.cpp +++ b/radio/src/targets/taranis/board.cpp @@ -324,7 +324,7 @@ uint16_t getBatteryVoltage() { int32_t instant_vbat = anaIn(TX_VOLTAGE); // using filtered ADC value on purpose instant_vbat = (instant_vbat * BATT_SCALE * (128 + g_eeGeneral.txVoltageCalibration) ) / 26214; - instant_vbat += 20; // add 0.2V because of the diode TODO check if this is needed, but removal will beak existing calibrations!!! + instant_vbat += 20; // add 0.2V because of the diode TODO check if this is needed, but removal will break existing calibrations! return (uint16_t)instant_vbat; } diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 5c8671e54..8830a247b 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -565,6 +565,7 @@ extern uint16_t adcValues[NUM_ANALOGS]; #define BATTERY_MIN 60 // 6.0V #define BATTERY_MAX 80 // 8.0V #endif + #if defined(PCBXLITE) #define BATT_SCALE 131 #elif defined(PCBX7) diff --git a/radio/src/telemetry/frsky_pxx2.cpp b/radio/src/telemetry/frsky_pxx2.cpp index ed718546f..83d2ca948 100644 --- a/radio/src/telemetry/frsky_pxx2.cpp +++ b/radio/src/telemetry/frsky_pxx2.cpp @@ -54,12 +54,12 @@ void processGetHardwareInfoFrame(uint8_t module, uint8_t * frame) uint8_t index = frame[3]; uint8_t modelId = frame[4]; uint8_t length = min(frame[0] - 3, sizeof(PXX2HardwareInformation)); - if (index == PXX2_HW_INFO_TX_ID && modelId < DIM(PXX2modulesModels)) { + if (index == PXX2_HW_INFO_TX_ID && modelId < DIM(PXX2ModulesModels)) { memcpy(&destination->information, &frame[4], length); if (destination->information.capabilities & ~((1 << MODULE_CAPABILITY_COUNT) - 1)) destination->information.capabilityNotSupported = true; } - else if (index < PXX2_MAX_RECEIVERS_PER_MODULE && modelId < DIM(PXX2receiversModels)) { + else if (index < PXX2_MAX_RECEIVERS_PER_MODULE && modelId < DIM(PXX2ReceiversModels)) { memcpy(&destination->receivers[index].information, &frame[4], length); destination->receivers[index].timestamp = get_tmr10ms(); if (destination->receivers[index].information.capabilities & ~((1 << RECEIVER_CAPABILITY_COUNT) - 1))