diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 77c0617a2..4f9f6c139 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -5421,8 +5421,12 @@ void menuModelTelemetry(uint8_t event) case ITEM_TELEMETRY_USR_BLADES: lcd_putsLeft(y, STR_BLADES); - lcd_outdezAtt(TELEM_COL2+FWNUM, y, 2+g_model.frsky.blades, attr); - if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, g_model.frsky.blades, 3); + lcd_outdezAtt(TELEM_COL2+FWNUM, y, 1+g_model.frsky.blades, attr); +#if defined(CPUARM) + if (attr) CHECK_INCDEC_MODELVAR(event, g_model.frsky.blades, MIN_BLADES, MAX_BLADES); +#else + if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, g_model.frsky.blades, MAX_BLADES); +#endif break; #endif diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index f06ef0ef6..d91b0d507 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -977,7 +977,7 @@ PACK(typedef struct t_FrSkyData { uint8_t usrProto; // Protocol in FrSky user data, 0=None, 1=FrSky hub, 2=WS HowHigh, 3=Halcyon uint8_t voltsSource:7; uint8_t altitudeDisplayed:1; - uint8_t blades; // How many blades for RPMs, 0=2 blades, 1=3 blades + int8_t blades; // How many blades for RPMs, 0=2 blades uint8_t currentSource; uint8_t screensType; FrSkyScreenData screens[MAX_FRSKY_SCREENS]; @@ -991,12 +991,14 @@ PACK(typedef struct t_FrSkyData { uint16_t storedMah:15; int8_t fasOffset; }) FrSkyData; +#define MIN_BLADES -1 // 1 blade +#define MAX_BLADES 3 // 5 blades #else #define MAX_FRSKY_SCREENS 2 PACK(typedef struct t_FrSkyData { FrSkyChannelData channels[2]; uint8_t usrProto:2; // Protocol in FrSky user data, 0=None, 1=FrSky hub, 2=WS HowHigh, 3=Halcyon - uint8_t blades:2; // How many blades for RPMs, 0=2 blades, 1=3 blades + uint8_t blades:2; // How many blades for RPMs, 0=2 blades uint8_t screensType:2; uint8_t voltsSource:2; int8_t varioMin:4; @@ -1009,6 +1011,8 @@ PACK(typedef struct t_FrSkyData { int8_t varioCenterMax:5; int8_t fasOffset; }) FrSkyData; +#define MIN_BLADES 0 // 2 blades +#define MAX_BLADES 3 // 5 blades #endif #if defined(MAVLINK)