1
0
Fork 0
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:
jflyper 2016-12-13 13:35:59 +09:00
parent af3132d422
commit 53e637d01e
2 changed files with 29 additions and 22 deletions

View file

@ -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},

View file

@ -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;