POC
This commit is contained in:
@@ -97,11 +97,9 @@ enum {
|
||||
#endif
|
||||
|
||||
#if !defined(PCBX9D) && !defined(PCBX9DP) && !defined(PCBX9E)
|
||||
ITEM_RADIO_HARDWARE_INTERNAL_MODULE,
|
||||
#endif
|
||||
|
||||
#if (defined(CROSSFIRE) || defined(GHOST))
|
||||
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
|
||||
ITEM_RADIO_HARDWARE_LABEL_INTERNAL_MODULE,
|
||||
ITEM_RADIO_HARDWARE_INTERNAL_MODULE_TYPE,
|
||||
ITEM_RADIO_HARDWARE_INTERNAL_MODULE_BAUDRATE,
|
||||
#endif
|
||||
|
||||
ITEM_RADIO_HARDWARE_SERIAL_SAMPLE_MODE,
|
||||
@@ -231,17 +229,11 @@ enum {
|
||||
#endif
|
||||
|
||||
#if !defined(PCBX9D) && !defined(PCBX9DP) && !defined(PCBX9E)
|
||||
#define INTERNAL_MODULE_ROWS 0,
|
||||
#define INTERNAL_MODULE_ROWS 0, (isInternalModuleCrossfire() ? (uint8_t ) 0 : HIDDEN_ROW),
|
||||
#else
|
||||
#define INTERNAL_MODULE_ROWS
|
||||
#endif
|
||||
|
||||
#if (defined(CROSSFIRE) || defined(GHOST))
|
||||
#define MAX_BAUD_ROWS 0,
|
||||
#else
|
||||
#define MAX_BAUD_ROWS
|
||||
#endif
|
||||
|
||||
#define SERIAL_SAMPLE_MODE_ROWS 0,
|
||||
|
||||
#if defined(AUX_SERIAL) || defined(USB_SERIAL)
|
||||
@@ -282,21 +274,6 @@ void onFactoryResetConfirm(const char * result)
|
||||
}
|
||||
#endif
|
||||
|
||||
void restartExternalModule()
|
||||
{
|
||||
if (!IS_EXTERNAL_MODULE_ON()) {
|
||||
return;
|
||||
}
|
||||
pauseMixerCalculations();
|
||||
pausePulses();
|
||||
EXTERNAL_MODULE_OFF();
|
||||
RTOS_WAIT_MS(20); // 20ms so that the pulses interrupt will reinit the frame rate
|
||||
telemetryProtocol = 255; // force telemetry port + module reinitialization
|
||||
EXTERNAL_MODULE_ON();
|
||||
resumePulses();
|
||||
resumeMixerCalculations();
|
||||
}
|
||||
|
||||
static bool _isAux1ModeAvailable(int m) { return isSerialModeAvailable(SP_AUX1, m); }
|
||||
static bool _isAux2ModeAvailable(int m) { return isSerialModeAvailable(SP_AUX2, m); }
|
||||
static bool _isVCPModeAvailable(int m) { return isSerialModeAvailable(SP_VCP, m); }
|
||||
@@ -322,8 +299,8 @@ void menuRadioHardware(event_t event)
|
||||
0 /* battery calib */,
|
||||
RTC_ROW
|
||||
TX_CAPACITY_MEASUREMENT_ROWS
|
||||
LABEL(InternalModule),
|
||||
INTERNAL_MODULE_ROWS
|
||||
MAX_BAUD_ROWS
|
||||
SERIAL_SAMPLE_MODE_ROWS
|
||||
BLUETOOTH_ROWS
|
||||
EXTERNAL_ANTENNA_ROW
|
||||
@@ -533,9 +510,13 @@ void menuRadioHardware(event_t event)
|
||||
#endif
|
||||
|
||||
#if !defined(PCBX9D) && !defined(PCBX9DP) && !defined(PCBX9E)
|
||||
case ITEM_RADIO_HARDWARE_INTERNAL_MODULE: {
|
||||
case ITEM_RADIO_HARDWARE_LABEL_INTERNAL_MODULE:
|
||||
lcdDrawTextAlignedLeft(y, STR_INTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_HARDWARE_INTERNAL_MODULE_TYPE: {
|
||||
g_eeGeneral.internalModule =
|
||||
editChoice(HW_SETTINGS_COLUMN2, y, STR_INTERNAL_MODULE,
|
||||
editChoice(HW_SETTINGS_COLUMN2, y, STR_TYPE,
|
||||
STR_INTERNAL_MODULE_PROTOCOLS,
|
||||
g_eeGeneral.internalModule, MODULE_TYPE_NONE,
|
||||
MODULE_TYPE_MAX, attr, event, isInternalModuleSupported);
|
||||
@@ -548,12 +529,12 @@ void menuRadioHardware(event_t event)
|
||||
} break;
|
||||
#endif
|
||||
|
||||
#if (defined(CROSSFIRE) || defined(GHOST))
|
||||
case ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE:
|
||||
lcdDrawTextAlignedLeft(y, STR_MAXBAUDRATE);
|
||||
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, CROSSFIRE_BAUDRATE, attr|LEFT);
|
||||
#if !defined(PCBX9D) && !defined(PCBX9DP) && !defined(PCBX9E)
|
||||
case ITEM_RADIO_HARDWARE_INTERNAL_MODULE_BAUDRATE:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_BAUDRATE);
|
||||
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, INT_CROSSFIRE_BAUDRATE, attr|LEFT);
|
||||
if (attr) {
|
||||
g_eeGeneral.telemetryBaudrate = CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event, CROSSFIRE_STORE_TO_INDEX(g_eeGeneral.telemetryBaudrate), 0, DIM(CROSSFIRE_BAUDRATES) - 1));
|
||||
g_eeGeneral.InternalModuleBaudrate = CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event, CROSSFIRE_STORE_TO_INDEX(g_eeGeneral.InternalModuleBaudrate), 0, CROSSFIRE_MAX_INTERNAL_BAUDRATE));
|
||||
if (checkIncDec_Ret) {
|
||||
restartExternalModule();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user