Skip to content

Commit

Permalink
fix(radio): don't check ELRS version if crossfire disabled (#5961)
Browse files Browse the repository at this point in the history
  • Loading branch information
pfeerick committed Mar 6, 2025
1 parent 54d8b21 commit 2b5e79b
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion radio/src/gui/gui_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1376,7 +1376,7 @@ uint8_t MENU_FIRST_LINE_EDIT(const uint8_t * horTab, uint8_t horTabMax)

uint8_t MODULE_BIND_ROWS(int moduleIdx)
{
if (isModuleELRS(moduleIdx) && (crossfireModuleStatus[moduleIdx].major >= 4 || (crossfireModuleStatus[moduleIdx].major == 3 && crossfireModuleStatus[moduleIdx].minor >= 4)))
if (isModuleELRS(moduleIdx) && CRSF_ELRS_MIN_VER(moduleIdx, 3, 4))
return 1;

if (isModuleCrossfire(moduleIdx))
Expand Down
2 changes: 1 addition & 1 deletion radio/src/pulses/modules_helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ inline bool isModuleBindRangeAvailable(uint8_t moduleIdx)
return isModulePXX2(moduleIdx) || isModulePXX1(moduleIdx) ||
isModuleDSM2(moduleIdx) || isModuleMultimodule(moduleIdx) ||
isModuleFlySky(moduleIdx) || isModuleDSMP(moduleIdx) ||
(isModuleELRS(moduleIdx) && (crossfireModuleStatus[moduleIdx].major >= 4 || (crossfireModuleStatus[moduleIdx].major == 3 && crossfireModuleStatus[moduleIdx].minor >= 4)));
(isModuleELRS(moduleIdx) && CRSF_ELRS_MIN_VER(moduleIdx, 3, 4));
}

inline uint32_t getNV14RfFwVersion()
Expand Down
4 changes: 4 additions & 0 deletions radio/src/telemetry/crossfire.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,15 @@ const uint8_t CROSSFIRE_FRAME_PERIODS[] = {
% DIM(CROSSFIRE_BAUDRATES)
#endif

#if defined(CROSSFIRE)
#define CRSF_ELRS_MIN_VER(moduleIdx, maj, min) \
(crossfireModuleStatus[moduleIdx].isELRS \
&& (crossfireModuleStatus[moduleIdx].major > maj \
|| (crossfireModuleStatus[moduleIdx].major == maj \
&& crossfireModuleStatus[moduleIdx].minor >= min)))
#else
#define CRSF_ELRS_MIN_VER(moduleIdx, maj, min) false
#endif

#if defined(HARDWARE_INTERNAL_MODULE)
#define INT_CROSSFIRE_BR_IDX CROSSFIRE_STORE_TO_INDEX(g_eeGeneral.internalModuleBaudrate)
Expand Down

0 comments on commit 2b5e79b

Please sign in to comment.