Power values for r9m lites modules

This commit is contained in:
3djc
2019-03-27 16:40:11 +01:00
parent 1d6a4076e2
commit df1aa43e99
3 changed files with 83 additions and 46 deletions
+22 -3
View File
@@ -91,10 +91,28 @@ void drawPower(coord_t x, coord_t y, int8_t dBm)
bool isPowerAvailable(int value)
{
// uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.modelID;
// uint8_t variant = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.variant;
uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.modelID;
uint8_t variant = reusableBuffer.hardwareAndSettings.modules[g_moduleIdx].information.variant;
return (value == 10 /* 10 mW */ ||
if (modelId == PXX2_MODULE_R9M_LITE) {
if (variant == PXX2_VARIANT_EU)
return (value == 14 /* 25 mW */ || value == 20 /* 100 mW */);
else
return value == 20; /* 100 mW */
}
else if (modelId == PXX2_MODULE_R9M_LITE_PRO) {
if (variant == PXX2_VARIANT_EU)
return (value == 14 /* 25 mW */ ||
value == 23 /* 200 mW */ ||
value == 27 /* 500 mW */);
else
return (value == 10 /* 10 mW */ ||
value == 20 /* 100 mW */ ||
value == 27 /* 500 mW */ ||
value == 30 /* 1000 mW */);
}
else
return (value == 10 /* 10 mW */ ||
value == 14 /* 25 mW */ ||
value == 20 /* 100 mW */ ||
value == 23 /* 200 mW */ ||
@@ -161,6 +179,7 @@ void menuModelModuleOptions(event_t event)
int8_t sub = menuVerticalPosition;
lcdDrawTextAlignedLeft(0, "Module options");
lcdDrawText(lcdLastRightPos+ 3, 0, PXX2modulesModels[modelId] );
lcdInvertLine(0);
if (reusableBuffer.hardwareAndSettings.moduleSettings.state == PXX2_SETTINGS_OK) {
+4 -43
View File
@@ -50,45 +50,6 @@ void drawPXX2FullVersion(coord_t x, coord_t y, PXX2Version hwVersion, PXX2Versio
drawPXX2Version(lcdNextPos, y, swVersion);
}
static const char * const modulesModels[] = {
"---",
"XJT",
"IXJT",
"IXJT-PRO",
"IXJT-S",
"R9M",
"R9MLite",
"R9MLite-PRO",
};
static const char * const receiversModels[] = {
"---",
"X8R",
"RX8R",
"RX8R-PRO",
"RX6R",
"RX4R",
"G-RX8",
"G-RX6",
"X6R",
"X4R",
"X4R-SB",
"XSR",
"XSR-M",
"RXSR",
"S6R",
"S8R",
"XM",
"XM+",
"XMR",
"R9",
"R9-SLIM",
"R9-SLIM+",
"R9-MINI",
"R9-MM",
"R9-STAB",
};
void menuRadioModulesVersion(event_t event)
{
if (menuEvent) {
@@ -146,9 +107,9 @@ void menuRadioModulesVersion(event_t event)
if (y >= MENU_BODY_TOP && y < MENU_BODY_BOTTOM) {
lcdDrawText(INDENT_WIDTH, y, "Model");
uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module].information.modelID;
if (modelId >= DIM(modulesModels))
if (modelId >= DIM(PXX2modulesModels))
modelId = 0;
lcdDrawText(12 * FW, y, modulesModels[modelId]);
lcdDrawText(12 * FW, y, PXX2modulesModels[modelId]);
}
y += FH;
@@ -168,9 +129,9 @@ void menuRadioModulesVersion(event_t event)
lcdDrawText(INDENT_WIDTH, y, "Receiver");
lcdDrawNumber(lcdLastRightPos + 2, y, receiver + 1);
uint8_t modelId = reusableBuffer.hardwareAndSettings.modules[module].receivers[receiver].information.modelID;
if (modelId >= DIM(receiversModels))
if (modelId >= DIM(PXX2receiversModels))
modelId = 0;
lcdDrawText(12 * FW, y, receiversModels[modelId]);
lcdDrawText(12 * FW, y, PXX2receiversModels[modelId]);
}
y += FH;
+57
View File
@@ -55,6 +55,63 @@
#define PXX2_HW_INFO_TX_ID 0xFF
static const char * const PXX2modulesModels[] = {
"---",
"XJT",
"IXJT",
"IXJT-PRO",
"IXJT-S",
"R9M",
"R9MLite",
"R9MLite-PRO",
};
static const char * const PXX2receiversModels[] = {
"---",
"X8R",
"RX8R",
"RX8R-PRO",
"RX6R",
"RX4R",
"G-RX8",
"G-RX6",
"X6R",
"X4R",
"X4R-SB",
"XSR",
"XSR-M",
"RXSR",
"S6R",
"S8R",
"XM",
"XM+",
"XMR",
"R9",
"R9-SLIM",
"R9-SLIM+",
"R9-MINI",
"R9-MM",
"R9-STAB",
};
enum PXX2ModuleModelID {
PXX2_MODULE_NONE,
PXX2_MODULE_XJT,
PXX2_MODULE_IXJT,
PXX2_MODULE_IXJT_PRO,
PXX2_MODULE_IXJT_S,
PXX2_MODULE_R9M,
PXX2_MODULE_R9M_LITE,
PXX2_MODULE_R9M_LITE_PRO,
};
enum PXX2Variant {
PXX2_VARIANT_NONE,
PXX2_VARIANT_FCC,
PXX2_VARIANT_EU,
PXX2_VARIANT_FLEX
};
enum PXX2RegisterSteps {
REGISTER_START,
REGISTER_RX_NAME_RECEIVED,