mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 00:35:39 +03:00
Fix minor glitches
This commit is contained in:
parent
af3132d422
commit
53e637d01e
2 changed files with 29 additions and 22 deletions
|
@ -97,7 +97,7 @@ static OSD_Entry menuFeaturesEntries[] =
|
||||||
{"VTX", OME_Submenu, cmsMenuChange, &cmsx_menuVtx, 0},
|
{"VTX", OME_Submenu, cmsMenuChange, &cmsx_menuVtx, 0},
|
||||||
#endif // VTX || USE_RTC6705
|
#endif // VTX || USE_RTC6705
|
||||||
#if defined(VTX_SMARTAUDIO)
|
#if defined(VTX_SMARTAUDIO)
|
||||||
{"VTX SA", OME_Submenu, cmsMenuChange, &cmsx_menuVtxSmartAudio, 0},
|
{"VTX", OME_Submenu, cmsMenuChange, &cmsx_menuVtxSmartAudio, 0},
|
||||||
#endif
|
#endif
|
||||||
#ifdef LED_STRIP
|
#ifdef LED_STRIP
|
||||||
{"LED STRIP", OME_Submenu, cmsMenuChange, &cmsx_menuLedstrip, 0},
|
{"LED STRIP", OME_Submenu, cmsMenuChange, &cmsx_menuLedstrip, 0},
|
||||||
|
|
|
@ -732,7 +732,7 @@ uint16_t saCmsDeviceFreq = 0;
|
||||||
uint8_t saCmsDeviceStatus = 0;
|
uint8_t saCmsDeviceStatus = 0;
|
||||||
uint8_t saCmsPower;
|
uint8_t saCmsPower;
|
||||||
uint8_t saCmsPitFMode; // In-Range or Out-Range
|
uint8_t saCmsPitFMode; // In-Range or Out-Range
|
||||||
uint8_t saCmsFreqMode; // Channel or User defined
|
uint8_t saCmsFselMode; // Channel(0) or User defined(1)
|
||||||
|
|
||||||
uint16_t saCmsORFreq = 0; // POR frequency
|
uint16_t saCmsORFreq = 0; // POR frequency
|
||||||
uint16_t saCmsORFreqNew; // POR frequency
|
uint16_t saCmsORFreqNew; // POR frequency
|
||||||
|
@ -748,6 +748,8 @@ void saCmsUpdate(void)
|
||||||
// This is a first valid response to GET_SETTINGS.
|
// This is a first valid response to GET_SETTINGS.
|
||||||
saCmsOpmodel = (saDevice.mode & SA_MODE_GET_PITMODE) ? SACMS_OPMODEL_RACE : SACMS_OPMODEL_FREE;
|
saCmsOpmodel = (saDevice.mode & SA_MODE_GET_PITMODE) ? SACMS_OPMODEL_RACE : SACMS_OPMODEL_FREE;
|
||||||
|
|
||||||
|
saCmsFselMode = (saDevice.mode & SA_MODE_GET_FREQ_BY_FREQ) ? 1 : 0;
|
||||||
|
|
||||||
saCmsBand = (saDevice.chan / 8) + 1;
|
saCmsBand = (saDevice.chan / 8) + 1;
|
||||||
saCmsChan = (saDevice.chan % 8) + 1;
|
saCmsChan = (saDevice.chan % 8) + 1;
|
||||||
saCmsFreqRef = saFreqTable[saDevice.chan / 8][saDevice.chan % 8];
|
saCmsFreqRef = saFreqTable[saDevice.chan / 8][saDevice.chan % 8];
|
||||||
|
@ -776,7 +778,7 @@ char saCmsStatusString[31] = "- -- ---- ---";
|
||||||
// m bc ffff ppp
|
// m bc ffff ppp
|
||||||
// 0123456789012
|
// 0123456789012
|
||||||
|
|
||||||
static long saCmsConfigOpModelByGvar(displayPort_t *, const void *self);
|
static long saCmsConfigOpmodelByGvar(displayPort_t *, const void *self);
|
||||||
static long saCmsConfigPitFModeByGvar(displayPort_t *, const void *self);
|
static long saCmsConfigPitFModeByGvar(displayPort_t *, const void *self);
|
||||||
static long saCmsConfigBandByGvar(displayPort_t *, const void *self);
|
static long saCmsConfigBandByGvar(displayPort_t *, const void *self);
|
||||||
static long saCmsConfigChanByGvar(displayPort_t *, const void *self);
|
static long saCmsConfigChanByGvar(displayPort_t *, const void *self);
|
||||||
|
@ -800,7 +802,7 @@ if (saDevice.mode & SA_MODE_GET_OUT_RANGE_PITMODE)
|
||||||
else
|
else
|
||||||
saCmsPitFMode = 0;
|
saCmsPitFMode = 0;
|
||||||
|
|
||||||
saCmsStatusString[0] = "-FP"[saCmsOpmodel];
|
saCmsStatusString[0] = "-FP"[(saDevice.mode & SA_MODE_GET_PITMODE) ? SACMS_OPMODEL_RACE : SACMS_OPMODEL_FREE];
|
||||||
saCmsStatusString[2] = "ABEFR"[saDevice.chan / 8];
|
saCmsStatusString[2] = "ABEFR"[saDevice.chan / 8];
|
||||||
saCmsStatusString[3] = '1' + (saDevice.chan % 8);
|
saCmsStatusString[3] = '1' + (saDevice.chan % 8);
|
||||||
|
|
||||||
|
@ -919,15 +921,14 @@ static long saCmsConfigPitFModeByGvar(displayPort_t *pDisp, const void *self)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static long saCmsConfigOpModelByGvar(displayPort_t *pDisp, const void *self)
|
static long saCmsConfigOpmodelByGvar(displayPort_t *pDisp, const void *self)
|
||||||
{
|
{
|
||||||
UNUSED(pDisp);
|
UNUSED(pDisp);
|
||||||
UNUSED(self);
|
UNUSED(self);
|
||||||
|
|
||||||
uint8_t opmodel = saCmsOpmodel;
|
uint8_t opmodel = saCmsOpmodel;
|
||||||
|
|
||||||
dprintf(("saCmsConfigOpModelByGvar: opmodel %d\r\n", opmodel));
|
dprintf(("saCmsConfigOpmodelByGvar: opmodel %d\r\n", opmodel));
|
||||||
|
|
||||||
|
|
||||||
if (opmodel == SACMS_OPMODEL_FREE) {
|
if (opmodel == SACMS_OPMODEL_FREE) {
|
||||||
// VTX should power up transmitting.
|
// VTX should power up transmitting.
|
||||||
|
@ -939,6 +940,9 @@ static long saCmsConfigOpModelByGvar(displayPort_t *pDisp, const void *self)
|
||||||
// out-range receivers from getting blinded.
|
// out-range receivers from getting blinded.
|
||||||
saCmsPitFMode = 0;
|
saCmsPitFMode = 0;
|
||||||
saCmsConfigPitFModeByGvar(pDisp, self);
|
saCmsConfigPitFModeByGvar(pDisp, self);
|
||||||
|
} else {
|
||||||
|
// Trying to go back to unknown state; bounce back
|
||||||
|
saCmsOpmodel = SACMS_OPMODEL_UNDEF + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1002,9 +1006,6 @@ static const char * const saCmsPowerNames[] = {
|
||||||
|
|
||||||
static OSD_TAB_t saCmsEntPower = { &saCmsPower, 4, saCmsPowerNames};
|
static OSD_TAB_t saCmsEntPower = { &saCmsPower, 4, saCmsPowerNames};
|
||||||
|
|
||||||
// Frequency the vtx is currently transmitting at
|
|
||||||
static OSD_UINT16_t saCmsEntFreq = { &saCmsDeviceFreq, 5600, 5900, 0 };
|
|
||||||
|
|
||||||
static OSD_UINT16_t saCmsEntFreqRef = { &saCmsFreqRef, 5600, 5900, 0 };
|
static OSD_UINT16_t saCmsEntFreqRef = { &saCmsFreqRef, 5600, 5900, 0 };
|
||||||
|
|
||||||
static const char * const saCmsOpmodelNames[] = {
|
static const char * const saCmsOpmodelNames[] = {
|
||||||
|
@ -1013,14 +1014,14 @@ static const char * const saCmsOpmodelNames[] = {
|
||||||
"RACE",
|
"RACE",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const saCmsFreqModeNames[] = {
|
static const char * const saCmsFselModeNames[] = {
|
||||||
"CHAN",
|
"CHAN",
|
||||||
"USER"
|
"USER"
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const saCmsPitFModeNames[] = {
|
static const char * const saCmsPitFModeNames[] = {
|
||||||
"IN-R ",
|
"PIR",
|
||||||
"OUT-R"
|
"POR"
|
||||||
};
|
};
|
||||||
|
|
||||||
static OSD_TAB_t saCmsEntPitFMode = { &saCmsPitFMode, 1, saCmsPitFModeNames };
|
static OSD_TAB_t saCmsEntPitFMode = { &saCmsPitFMode, 1, saCmsPitFModeNames };
|
||||||
|
@ -1032,12 +1033,17 @@ static long saCmsConfigFreqModeByGvar(displayPort_t *pDisp, const void *self)
|
||||||
UNUSED(pDisp);
|
UNUSED(pDisp);
|
||||||
UNUSED(self);
|
UNUSED(self);
|
||||||
|
|
||||||
if (saCmsFreqMode == 0) {
|
if (saCmsFselMode == 0) {
|
||||||
// CHAN
|
// CHAN
|
||||||
saSetBandChan(saCmsBand - 1, saCmsChan - 1);
|
saSetBandChan(saCmsBand - 1, saCmsChan - 1);
|
||||||
} else {
|
} else {
|
||||||
// USER
|
// USER: User frequency mode is only available in FREE opmodel.
|
||||||
saSetFreq(saCmsUserFreq);
|
if (saCmsOpmodel == SACMS_OPMODEL_FREE) {
|
||||||
|
saSetFreq(saCmsUserFreq);
|
||||||
|
} else {
|
||||||
|
// Bounce back
|
||||||
|
saCmsFselMode = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sacms_SetupTopMenu();
|
sacms_SetupTopMenu();
|
||||||
|
@ -1056,7 +1062,7 @@ static long saCmsCommence(displayPort_t *pDisp, const void *self)
|
||||||
else
|
else
|
||||||
saSetMode(SA_MODE_CLR_PITMODE|SA_MODE_SET_OUT_RANGE_PITMODE);
|
saSetMode(SA_MODE_CLR_PITMODE|SA_MODE_SET_OUT_RANGE_PITMODE);
|
||||||
} else {
|
} else {
|
||||||
if (saCmsFreqMode == 0)
|
if (saCmsFselMode == 0)
|
||||||
saSetBandChan(saCmsBand - 1, saCmsChan - 1);
|
saSetBandChan(saCmsBand - 1, saCmsChan - 1);
|
||||||
else
|
else
|
||||||
saSetFreq(saCmsUserFreq);
|
saSetFreq(saCmsUserFreq);
|
||||||
|
@ -1112,7 +1118,8 @@ static long saCmsSetUserFreq(displayPort_t *pDisp, const void *self)
|
||||||
UNUSED(pDisp);
|
UNUSED(pDisp);
|
||||||
UNUSED(self);
|
UNUSED(self);
|
||||||
|
|
||||||
saSetFreq(saCmsUserFreqNew);
|
saCmsUserFreq = saCmsUserFreqNew;
|
||||||
|
saSetFreq(saCmsUserFreq);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1159,13 +1166,13 @@ static CMS_Menu saCmsMenuUserFreq =
|
||||||
.entries = saCmsMenuUserFreqEntries,
|
.entries = saCmsMenuUserFreqEntries,
|
||||||
};
|
};
|
||||||
|
|
||||||
static OSD_TAB_t saCmsEntFreqMode = { &saCmsFreqMode, 1, saCmsFreqModeNames };
|
static OSD_TAB_t saCmsEntFselMode = { &saCmsFselMode, 1, saCmsFselModeNames };
|
||||||
|
|
||||||
static OSD_Entry saCmsMenuConfigEntries[] = {
|
static OSD_Entry saCmsMenuConfigEntries[] = {
|
||||||
{ "- SA CONFIG -", OME_Label, NULL, NULL, 0 },
|
{ "- SA CONFIG -", OME_Label, NULL, NULL, 0 },
|
||||||
|
|
||||||
{ "OP MODEL", OME_TAB, saCmsConfigOpModelByGvar, &(OSD_TAB_t){ &saCmsOpmodel, 2, saCmsOpmodelNames }, 0 },
|
{ "OP MODEL", OME_TAB, saCmsConfigOpmodelByGvar, &(OSD_TAB_t){ &saCmsOpmodel, 2, saCmsOpmodelNames }, 0 },
|
||||||
{ "FREQ MODE", OME_TAB, saCmsConfigFreqModeByGvar, &saCmsEntFreqMode, 0 },
|
{ "FSEL MODE", OME_TAB, saCmsConfigFreqModeByGvar, &saCmsEntFselMode, 0 },
|
||||||
{ "PIT FMODE", OME_TAB, saCmsConfigPitFModeByGvar, &saCmsEntPitFMode, 0 },
|
{ "PIT FMODE", OME_TAB, saCmsConfigPitFModeByGvar, &saCmsEntPitFMode, 0 },
|
||||||
{ "POR FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsORFreqGetString, &saCmsMenuPORFreq, OPTSTRING },
|
{ "POR FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsORFreqGetString, &saCmsMenuPORFreq, OPTSTRING },
|
||||||
{ "STATX", OME_Submenu, cmsMenuChange, &saCmsMenuStats, 0 },
|
{ "STATX", OME_Submenu, cmsMenuChange, &saCmsMenuStats, 0 },
|
||||||
|
@ -1246,7 +1253,7 @@ CMS_Menu cmsx_menuVtxSmartAudio; // Forward
|
||||||
static long sacms_SetupTopMenu(void)
|
static long sacms_SetupTopMenu(void)
|
||||||
{
|
{
|
||||||
if (saCmsDeviceStatus) {
|
if (saCmsDeviceStatus) {
|
||||||
if (saCmsFreqMode == 0)
|
if (saCmsFselMode == 0)
|
||||||
cmsx_menuVtxSmartAudio.entries = saCmsMenuChanModeEntries;
|
cmsx_menuVtxSmartAudio.entries = saCmsMenuChanModeEntries;
|
||||||
else
|
else
|
||||||
cmsx_menuVtxSmartAudio.entries = saCmsMenuFreqModeEntries;
|
cmsx_menuVtxSmartAudio.entries = saCmsMenuFreqModeEntries;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue