Introduce serial status
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "opentx.h"
|
||||
#include "mixer_scheduler.h"
|
||||
|
||||
#if !defined(EEPROM)
|
||||
#include "storage/sdcard_common.h"
|
||||
@@ -105,7 +106,10 @@ enum MenuModelSetupItems {
|
||||
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
ITEM_MODEL_SETUP_INTERNAL_MODULE_LABEL,
|
||||
#if defined(CROSSFIRE) || defined(GHOST)
|
||||
ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE,
|
||||
ITEM_MODEL_SETUP_INTERNAL_MODULE_SERIALSTATUS,
|
||||
#endif
|
||||
#if defined(MULTIMODULE)
|
||||
ITEM_MODEL_SETUP_INTERNAL_MODULE_PROTOCOL,
|
||||
ITEM_MODEL_SETUP_INTERNAL_MODULE_SUBTYPE,
|
||||
@@ -138,6 +142,7 @@ enum MenuModelSetupItems {
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_TYPE,
|
||||
#if defined(CROSSFIRE) || defined(GHOST)
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_BAUDRATE,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_SERIALSTATUS,
|
||||
#endif
|
||||
#if defined(MULTIMODULE)
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_PROTOCOL,
|
||||
@@ -194,11 +199,18 @@ enum MenuModelSetupItems {
|
||||
#define IF_NOT_PXX2_MODULE(module, xxx) (isModulePXX2(module) ? HIDDEN_ROW : (uint8_t)(xxx))
|
||||
#define IF_ACCESS_MODULE_RF(module, xxx) (isModuleRFAccess(module) ? (uint8_t)(xxx) : HIDDEN_ROW)
|
||||
#define IF_NOT_ACCESS_MODULE_RF(module, xxx) (isModuleRFAccess(module) ? HIDDEN_ROW : (uint8_t)(xxx))
|
||||
#if defined(CROSSFIRE) || defined(GHOST)
|
||||
#define IF_MODULE_SYNCED(module, xxx) ((isModuleCrossfire(module) || isModuleGhost(module)) ? (uint8_t)(xxx) : HIDDEN_ROW)
|
||||
#if SPORT_MAX_BAUDRATE < 400000
|
||||
#define IF_MODULE_BAUDRATE_ADJUST(module, xxx) ((isModuleCrossfire(module) || isModuleGhost(module)) ? (uint8_t)(xxx) : HIDDEN_ROW)
|
||||
#else
|
||||
#define IF_MODULE_BAUDRATE_ADJUST(module, xxx) (isModuleCrossfire(module) ? (uint8_t)(xxx) : HIDDEN_ROW)
|
||||
#endif
|
||||
#else
|
||||
#define IF_MODULE_SYNCED(module, xxx)
|
||||
#define IF_MODULE_BAUDRATE_ADJUST(module, xxx)
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(PXX2)
|
||||
#define REGISTRATION_ID_ROWS uint8_t((isDefaultModelRegistrationID() || (warningText && popupFunc == runPopupRegister)) ? HIDDEN_ROW : READONLY_ROW),
|
||||
@@ -353,6 +365,7 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event)
|
||||
#define INTERNAL_MODULE_ROWS \
|
||||
LABEL(InternalModule), \
|
||||
MODULE_TYPE_ROWS(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE */ \
|
||||
IF_MODULE_SYNCED(INTERNAL_MODULE, 0), /* Sync rate + errors */ \
|
||||
MULTIMODULE_TYPE_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_PROTOCOL */ \
|
||||
MULTIMODULE_SUBTYPE_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_SUBTYPE */ \
|
||||
MULTIMODULE_STATUS_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_STATUS, ITEM_MODEL_SETUP_INTERNAL_MODULE_SYNCSTATUS */ \
|
||||
@@ -379,6 +392,7 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event)
|
||||
LABEL(ExternalModule), \
|
||||
MODULE_TYPE_ROWS(EXTERNAL_MODULE), \
|
||||
IF_MODULE_BAUDRATE_ADJUST(EXTERNAL_MODULE, 0), /* Baudrate */ \
|
||||
IF_MODULE_SYNCED(EXTERNAL_MODULE, 0), /* Sync rate + errors */ \
|
||||
MULTIMODULE_TYPE_ROWS(EXTERNAL_MODULE) /* PROTOCOL */ \
|
||||
MULTIMODULE_SUBTYPE_ROWS(EXTERNAL_MODULE) /* SUBTYPE */ \
|
||||
MULTIMODULE_STATUS_ROWS(EXTERNAL_MODULE) \
|
||||
@@ -1065,7 +1079,7 @@ void menuModelSetup(event_t event)
|
||||
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_BAUDRATE);
|
||||
if (isModuleCrossfire(EXTERNAL_MODULE)) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, EXT_CROSSFIRE_BAUDRATE,attr | LEFT);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_CRSF_BAUDRATE, moduleData.crsf.telemetryBaudrate,attr | LEFT);
|
||||
if (attr) {
|
||||
moduleData.crsf.telemetryBaudrate =CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event,CROSSFIRE_STORE_TO_INDEX(moduleData.crsf.telemetryBaudrate),0, DIM(CROSSFIRE_BAUDRATES) - 1));
|
||||
if (checkIncDec_Ret) {
|
||||
@@ -1087,6 +1101,29 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#if (defined(CROSSFIRE) || defined(GHOST))
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_SERIALSTATUS:
|
||||
#endif
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_SERIALSTATUS:
|
||||
#endif
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_STATUS);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 1000000 / getMixerSchedulerPeriod(), LEFT | attr);
|
||||
lcdDrawText(lcdNextPos, y, "Hz ", attr);
|
||||
lcdDrawNumber(lcdNextPos, y, telemetryErrors, attr);
|
||||
lcdDrawText(lcdNextPos + 1, y, "Err", attr);
|
||||
if (attr) {
|
||||
s_editMode = 0;
|
||||
if (event == EVT_KEY_LONG(KEY_ENTER)) {
|
||||
START_NO_HIGHLIGHT();
|
||||
telemetryErrors = 0;
|
||||
AUDIO_WARNING1();
|
||||
killEvents(event);
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
|
||||
Reference in New Issue
Block a user