Delete bogus files
This commit is contained in:
parent
86bb650617
commit
9a4aaaab4c
|
@ -1,77 +0,0 @@
|
|||
//
|
||||
// CMS things for blackbox and flashfs.
|
||||
// Should be part of blackbox.c (or new blackbox/blackbox_cms.c) and io/flashfs.c
|
||||
//
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "build/version.h"
|
||||
|
||||
#ifdef CMS
|
||||
|
||||
#include "drivers/system.h"
|
||||
|
||||
#include "config/config_profile.h"
|
||||
#include "config/config_master.h"
|
||||
#include "config/feature.h"
|
||||
|
||||
#include "io/cms.h"
|
||||
#include "io/cms_types.h"
|
||||
#include "io/cms_blackbox.h"
|
||||
|
||||
#include "io/flashfs.h"
|
||||
|
||||
#ifdef USE_FLASHFS
|
||||
long cmsx_EraseFlash(displayPort_t *pDisplay, void *ptr)
|
||||
{
|
||||
UNUSED(ptr);
|
||||
|
||||
cmsScreenClear(pDisplay);
|
||||
cmsScreenWrite(pDisplay, 5, 3, "ERASING FLASH...");
|
||||
cmsScreenResync(pDisplay); // Was max7456RefreshAll(); Why at this timing?
|
||||
|
||||
flashfsEraseCompletely();
|
||||
while (!flashfsIsReady()) {
|
||||
delay(100);
|
||||
}
|
||||
|
||||
cmsScreenClear(pDisplay);
|
||||
cmsScreenResync(pDisplay); // Was max7456RefreshAll(); wedges during heavy SPI?
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif // USE_FLASHFS
|
||||
|
||||
uint8_t cmsx_FeatureBlackbox;
|
||||
|
||||
OSD_UINT8_t entryBlackboxRateDenom = {&masterConfig.blackbox_rate_denom,1,32,1};
|
||||
|
||||
OSD_Entry cmsx_menuBlackbox[] =
|
||||
{
|
||||
{"--- BLACKBOX ---", OME_Label, NULL, NULL, 0},
|
||||
{"ENABLED", OME_Bool, NULL, &cmsx_FeatureBlackbox, 0},
|
||||
{"RATE DENOM", OME_UINT8, NULL, &entryBlackboxRateDenom, 0},
|
||||
#ifdef USE_FLASHFS
|
||||
{"ERASE FLASH", OME_Submenu, cmsx_EraseFlash, NULL, 0},
|
||||
#endif // USE_FLASHFS
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
void cmsx_Blackbox_FeatureRead(void)
|
||||
{
|
||||
cmsx_FeatureBlackbox = feature(FEATURE_BLACKBOX) ? 1 : 0;
|
||||
}
|
||||
|
||||
void cmsx_Blackbox_FeatureWriteback(void)
|
||||
{
|
||||
if (cmsx_FeatureBlackbox)
|
||||
featureSet(FEATURE_BLACKBOX);
|
||||
else
|
||||
featureClear(FEATURE_BLACKBOX);
|
||||
}
|
||||
#endif
|
|
@ -1,4 +0,0 @@
|
|||
extern OSD_Entry cmsx_menuBlackbox[];
|
||||
|
||||
void cmsx_Blackbox_FeatureRead(void);
|
||||
void cmsx_Blackbox_FeatureWriteback(void);
|
|
@ -1,206 +0,0 @@
|
|||
|
||||
// Menu contents for PID, RATES, RC preview, misc
|
||||
// Should be part of the relevant .c file.
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "build/version.h"
|
||||
|
||||
#ifdef CMS
|
||||
|
||||
#include "drivers/system.h"
|
||||
|
||||
//#include "common/typeconversion.h"
|
||||
|
||||
#include "io/cms.h"
|
||||
#include "io/cms_types.h"
|
||||
#include "io/cms_imu.h"
|
||||
|
||||
#include "fc/config.h"
|
||||
#include "fc/rc_controls.h"
|
||||
#include "fc/runtime_config.h"
|
||||
|
||||
#include "flight/pid.h"
|
||||
|
||||
#include "config/config_profile.h"
|
||||
#include "config/config_master.h"
|
||||
#include "config/feature.h"
|
||||
|
||||
OSD_UINT8_t entryPidProfile = {&masterConfig.current_profile_index, 0, MAX_PROFILE_COUNT, 1};
|
||||
|
||||
uint8_t tempPid[4][3];
|
||||
|
||||
static OSD_UINT8_t entryRollP = {&tempPid[PIDROLL][0], 10, 150, 1};
|
||||
static OSD_UINT8_t entryRollI = {&tempPid[PIDROLL][1], 1, 150, 1};
|
||||
static OSD_UINT8_t entryRollD = {&tempPid[PIDROLL][2], 0, 150, 1};
|
||||
|
||||
static OSD_UINT8_t entryPitchP = {&tempPid[PIDPITCH][0], 10, 150, 1};
|
||||
static OSD_UINT8_t entryPitchI = {&tempPid[PIDPITCH][1], 1, 150, 1};
|
||||
static OSD_UINT8_t entryPitchD = {&tempPid[PIDPITCH][2], 0, 150, 1};
|
||||
|
||||
static OSD_UINT8_t entryYawP = {&tempPid[PIDYAW][0], 10, 150, 1};
|
||||
static OSD_UINT8_t entryYawI = {&tempPid[PIDYAW][1], 1, 150, 1};
|
||||
static OSD_UINT8_t entryYawD = {&tempPid[PIDYAW][2], 0, 150, 1};
|
||||
|
||||
void cmsx_PidRead(void)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
tempPid[i][0] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.P8[i];
|
||||
tempPid[i][1] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.I8[i];
|
||||
tempPid[i][2] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.D8[i];
|
||||
}
|
||||
tempPid[3][0] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.P8[PIDLEVEL];
|
||||
tempPid[3][1] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.I8[PIDLEVEL];
|
||||
tempPid[3][2] = masterConfig.profile[masterConfig.current_profile_index].pidProfile.D8[PIDLEVEL];
|
||||
}
|
||||
|
||||
void cmsx_PidWriteback(void)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.P8[i] = tempPid[i][0];
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.I8[i] = tempPid[i][1];
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.D8[i] = tempPid[i][2];
|
||||
}
|
||||
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.P8[PIDLEVEL] = tempPid[3][0];
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.I8[PIDLEVEL] = tempPid[3][1];
|
||||
masterConfig.profile[masterConfig.current_profile_index].pidProfile.D8[PIDLEVEL] = tempPid[3][2];
|
||||
}
|
||||
|
||||
OSD_Entry cmsx_menuPid[] =
|
||||
{
|
||||
{"--- PID ---", OME_Label, NULL, NULL, 0},
|
||||
{"ROLL P", OME_UINT8, NULL, &entryRollP, 0},
|
||||
{"ROLL I", OME_UINT8, NULL, &entryRollI, 0},
|
||||
{"ROLL D", OME_UINT8, NULL, &entryRollD, 0},
|
||||
|
||||
{"PITCH P", OME_UINT8, NULL, &entryPitchP, 0},
|
||||
{"PITCH I", OME_UINT8, NULL, &entryPitchI, 0},
|
||||
{"PITCH D", OME_UINT8, NULL, &entryPitchD, 0},
|
||||
|
||||
{"YAW P", OME_UINT8, NULL, &entryYawP, 0},
|
||||
{"YAW I", OME_UINT8, NULL, &entryYawI, 0},
|
||||
{"YAW D", OME_UINT8, NULL, &entryYawD, 0},
|
||||
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
//
|
||||
// Rate & Expo
|
||||
//
|
||||
controlRateConfig_t rateProfile;
|
||||
|
||||
static OSD_FLOAT_t entryRollRate = {&rateProfile.rates[0], 0, 250, 1, 10};
|
||||
static OSD_FLOAT_t entryPitchRate = {&rateProfile.rates[1], 0, 250, 1, 10};
|
||||
static OSD_FLOAT_t entryYawRate = {&rateProfile.rates[2], 0, 250, 1, 10};
|
||||
static OSD_FLOAT_t entryRcRate = {&rateProfile.rcRate8, 0, 200, 1, 10};
|
||||
static OSD_FLOAT_t entryRcYawRate = {&rateProfile.rcYawRate8, 0, 200, 1, 10};
|
||||
static OSD_FLOAT_t entryRcExpo = {&rateProfile.rcExpo8, 0, 100, 1, 10};
|
||||
static OSD_FLOAT_t entryRcExpoYaw = {&rateProfile.rcYawExpo8, 0, 100, 1, 10};
|
||||
static OSD_FLOAT_t extryTpaEntry = {&rateProfile.dynThrPID, 0, 70, 1, 10};
|
||||
static OSD_UINT16_t entryTpaBreak = {&rateProfile.tpa_breakpoint, 1100, 1800, 10};
|
||||
static OSD_FLOAT_t entryPSetpoint = {&masterConfig.profile[0].pidProfile.setpointRelaxRatio, 0, 100, 1, 10};
|
||||
static OSD_FLOAT_t entryDSetpoint = {&masterConfig.profile[0].pidProfile.dtermSetpointWeight, 0, 255, 1, 10};
|
||||
|
||||
void cmsx_RateExpoRead()
|
||||
{
|
||||
memcpy(&rateProfile, &masterConfig.profile[masterConfig.current_profile_index].controlRateProfile[masterConfig.profile[masterConfig.current_profile_index].activeRateProfile], sizeof(controlRateConfig_t));
|
||||
}
|
||||
|
||||
void cmsx_RateExpoWriteback()
|
||||
{
|
||||
memcpy(&masterConfig.profile[masterConfig.current_profile_index].controlRateProfile[masterConfig.profile[masterConfig.current_profile_index].activeRateProfile], &rateProfile, sizeof(controlRateConfig_t));
|
||||
}
|
||||
|
||||
OSD_Entry cmsx_menuRateExpo[] =
|
||||
{
|
||||
{"--- RATE&EXPO ---", OME_Label, NULL, NULL, 0},
|
||||
{"RC RATE", OME_FLOAT, NULL, &entryRcYawRate, 0},
|
||||
{"RC YAW RATE", OME_FLOAT, NULL, &entryRcRate, 0},
|
||||
{"ROLL SUPER", OME_FLOAT, NULL, &entryRollRate, 0},
|
||||
{"PITCH SUPER", OME_FLOAT, NULL, &entryPitchRate, 0},
|
||||
{"YAW SUPER", OME_FLOAT, NULL, &entryYawRate, 0},
|
||||
{"RC EXPO", OME_FLOAT, NULL, &entryRcExpo, 0},
|
||||
{"RC YAW EXPO", OME_FLOAT, NULL, &entryRcExpoYaw, 0},
|
||||
{"THR PID ATT", OME_FLOAT, NULL, &extryTpaEntry, 0},
|
||||
{"TPA BRKPT", OME_UINT16, NULL, &entryTpaBreak, 0},
|
||||
{"D SETPT", OME_FLOAT, NULL, &entryDSetpoint, 0},
|
||||
{"D SETPT TRN", OME_FLOAT, NULL, &entryPSetpoint, 0},
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
//
|
||||
// RC preview
|
||||
//
|
||||
static OSD_INT16_t entryRcRoll = {&rcData[ROLL], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcPitch = {&rcData[PITCH], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcThr = {&rcData[THROTTLE], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcYaw = {&rcData[YAW], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcAux1 = {&rcData[AUX1], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcAux2 = {&rcData[AUX2], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcAux3 = {&rcData[AUX3], 1, 2500, 0};
|
||||
static OSD_INT16_t entryRcAux4 = {&rcData[AUX4], 1, 2500, 0};
|
||||
|
||||
OSD_Entry cmsx_menuRc[] =
|
||||
{
|
||||
{"--- RC PREV ---", OME_Label, NULL, NULL, 0},
|
||||
{"ROLL", OME_Poll_INT16, NULL, &entryRcRoll, 0},
|
||||
{"PITCH", OME_Poll_INT16, NULL, &entryRcPitch, 0},
|
||||
{"THR", OME_Poll_INT16, NULL, &entryRcThr, 0},
|
||||
{"YAW", OME_Poll_INT16, NULL, &entryRcYaw, 0},
|
||||
{"AUX1", OME_Poll_INT16, NULL, &entryRcAux1, 0},
|
||||
{"AUX2", OME_Poll_INT16, NULL, &entryRcAux2, 0},
|
||||
{"AUX3", OME_Poll_INT16, NULL, &entryRcAux3, 0},
|
||||
{"AUX4", OME_Poll_INT16, NULL, &entryRcAux4, 0},
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
//
|
||||
// Misc
|
||||
//
|
||||
OSD_UINT16_t entryMinThrottle = {&masterConfig.motorConfig.minthrottle, 1020, 1300, 10};
|
||||
OSD_UINT8_t entryGyroSoftLpfHz = {&masterConfig.gyro_soft_lpf_hz, 0, 255, 1};
|
||||
OSD_UINT16_t entryDtermLpf = {&masterConfig.profile[0].pidProfile.dterm_lpf_hz, 0, 500, 5};
|
||||
OSD_UINT16_t entryYawLpf = {&masterConfig.profile[0].pidProfile.yaw_lpf_hz, 0, 500, 5};
|
||||
OSD_UINT16_t entryYawPLimit = {&masterConfig.profile[0].pidProfile.yaw_p_limit, 100, 500, 5};
|
||||
OSD_UINT8_t entryVbatScale = {&masterConfig.batteryConfig.vbatscale, 1, 250, 1};
|
||||
OSD_UINT8_t entryVbatMaxCell = {&masterConfig.batteryConfig.vbatmaxcellvoltage, 10, 50, 1};
|
||||
|
||||
OSD_Entry menuImuMisc[]=
|
||||
{
|
||||
{"--- MISC ---", OME_Label, NULL, NULL, 0},
|
||||
{"GYRO LPF", OME_UINT8, NULL, &entryGyroSoftLpfHz, 0},
|
||||
{"DTERM LPF", OME_UINT16, NULL, &entryDtermLpf, 0},
|
||||
{"YAW LPF", OME_UINT16, NULL, &entryYawLpf, 0},
|
||||
{"YAW P LIM", OME_UINT16, NULL, &entryYawPLimit, 0},
|
||||
{"MIN THR", OME_UINT16, NULL, &entryMinThrottle, 0},
|
||||
{"VBAT SCALE", OME_UINT8, NULL, &entryVbatScale, 0},
|
||||
{"VBAT CLMAX", OME_UINT8, NULL, &entryVbatMaxCell, 0},
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
OSD_Entry cmsx_menuImu[] =
|
||||
{
|
||||
{"--- CFG.IMU ---", OME_Label, NULL, NULL, 0},
|
||||
{"PID PROF", OME_UINT8, NULL, &entryPidProfile, 0},
|
||||
{"PID", OME_Submenu, cmsMenuChange, cmsx_menuPid, 0},
|
||||
{"RATE&RXPO", OME_Submenu, cmsMenuChange, cmsx_menuRateExpo, 0},
|
||||
{"RC PREV", OME_Submenu, cmsMenuChange, cmsx_menuRc, 0},
|
||||
{"MISC", OME_Submenu, cmsMenuChange, menuImuMisc, 0},
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
#endif // CMS
|
|
@ -1,13 +0,0 @@
|
|||
extern OSD_Entry cmsx_menuImu[];
|
||||
|
||||
// All of below should be gone.
|
||||
|
||||
extern OSD_Entry cmsx_menuPid[];
|
||||
extern OSD_Entry cmsx_menuRc[];
|
||||
extern OSD_Entry cmsx_menuRateExpo[];
|
||||
|
||||
void cmsx_PidRead(void);
|
||||
void cmsx_PidWriteback(void);
|
||||
void cmsx_RateExpoRead(void);
|
||||
void cmsx_RateExpoWriteback(void);
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "build/version.h"
|
||||
|
||||
#ifdef CMS
|
||||
|
||||
#include "drivers/system.h"
|
||||
|
||||
#include "config/config_profile.h"
|
||||
#include "config/config_master.h"
|
||||
#include "config/feature.h"
|
||||
|
||||
#include "io/cms.h"
|
||||
#include "io/cms_types.h"
|
||||
#include "io/cms_blackbox.h"
|
||||
|
||||
#ifdef LED_STRIP
|
||||
|
||||
//local variable to keep color value
|
||||
uint8_t ledColor;
|
||||
|
||||
static const char * const LED_COLOR_NAMES[] = {
|
||||
"BLACK ",
|
||||
"WHITE ",
|
||||
"RED ",
|
||||
"ORANGE ",
|
||||
"YELLOW ",
|
||||
"LIME GRN",
|
||||
"GREEN ",
|
||||
"MINT GRN",
|
||||
"CYAN ",
|
||||
"LT BLUE ",
|
||||
"BLUE ",
|
||||
"DK VIOLT",
|
||||
"MAGENTA ",
|
||||
"DEEP PNK"
|
||||
};
|
||||
|
||||
//find first led with color flag and restore color index
|
||||
//after saving all leds with flags color will have color set in OSD
|
||||
void cmsx_GetLedColor(void)
|
||||
{
|
||||
for (int ledIndex = 0; ledIndex < LED_MAX_STRIP_LENGTH; ledIndex++) {
|
||||
const ledConfig_t *ledConfig = &masterConfig.ledConfigs[ledIndex];
|
||||
|
||||
int fn = ledGetFunction(ledConfig);
|
||||
|
||||
if (fn == LED_FUNCTION_COLOR) {
|
||||
ledColor = ledGetColor(ledConfig);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//udate all leds with flag color
|
||||
static long applyLedColor(displayPort_t *pDisplay, void *ptr)
|
||||
{
|
||||
UNUSED(ptr);
|
||||
UNUSED(pDisplay); // Arrgh
|
||||
|
||||
for (int ledIndex = 0; ledIndex < LED_MAX_STRIP_LENGTH; ledIndex++) {
|
||||
ledConfig_t *ledConfig = &masterConfig.ledConfigs[ledIndex];
|
||||
if (ledGetFunction(ledConfig) == LED_FUNCTION_COLOR)
|
||||
*ledConfig = DEFINE_LED(ledGetX(ledConfig), ledGetY(ledConfig), ledColor, ledGetDirection(ledConfig), ledGetFunction(ledConfig), ledGetOverlay(ledConfig), 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t cmsx_FeatureLedstrip;
|
||||
|
||||
OSD_TAB_t entryLed = {&ledColor, 13, &LED_COLOR_NAMES[0]};
|
||||
|
||||
OSD_Entry cmsx_menuLedstrip[] =
|
||||
{
|
||||
{"--- LED STRIP ---", OME_Label, NULL, NULL, 0},
|
||||
{"ENABLED", OME_Bool, NULL, &cmsx_FeatureLedstrip, 0},
|
||||
{"LED COLOR", OME_TAB, applyLedColor, &entryLed, 0},
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
void cmsx_Ledstrip_FeatureRead(void)
|
||||
{
|
||||
cmsx_FeatureLedstrip = feature(FEATURE_LED_STRIP) ? 1 : 0;
|
||||
}
|
||||
|
||||
void cmsx_Ledstrip_FeatureWriteback(void)
|
||||
{
|
||||
if (cmsx_FeatureLedstrip)
|
||||
featureSet(FEATURE_LED_STRIP);
|
||||
else
|
||||
featureClear(FEATURE_LED_STRIP);
|
||||
}
|
||||
|
||||
void cmsx_Ledstrip_ConfigRead(void)
|
||||
{
|
||||
cmsx_GetLedColor();
|
||||
}
|
||||
|
||||
#endif // LED_STRIP
|
||||
#endif // CMS
|
|
@ -1,6 +0,0 @@
|
|||
extern OSD_Entry cmsx_menuLedstrip[];
|
||||
|
||||
void cmsx_Ledstrip_FeatureRead(void);
|
||||
void cmsx_Ledstrip_FeatureWriteback(void);
|
||||
|
||||
void cmsx_Ledstrip_ConfigRead(void);
|
|
@ -1,2 +0,0 @@
|
|||
extern OSD_Entry cmsx_menuAlarms[];
|
||||
extern OSD_Entry cmsx_menuOsdLayout[];
|
|
@ -1,96 +0,0 @@
|
|||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "build/version.h"
|
||||
|
||||
#include "io/cms.h"
|
||||
#include "io/cms_types.h"
|
||||
#include "io/cms_vtx.h"
|
||||
|
||||
#include "config/config_profile.h"
|
||||
#include "config/config_master.h"
|
||||
#include "config/feature.h"
|
||||
|
||||
#ifdef CMS
|
||||
|
||||
#if defined(VTX) || defined(USE_RTC6705)
|
||||
|
||||
uint8_t cmsx_featureVtx = 0, cmsx_vtxBand, cmsx_vtxChannel;
|
||||
|
||||
static const char * const vtxBandNames[] = {
|
||||
"BOSCAM A",
|
||||
"BOSCAM B",
|
||||
"BOSCAM E",
|
||||
"FATSHARK",
|
||||
"RACEBAND",
|
||||
};
|
||||
|
||||
OSD_TAB_t entryVtxBand = {&cmsx_vtxBand,4,&vtxBandNames[0]};
|
||||
OSD_UINT8_t entryVtxChannel = {&cmsx_vtxChannel, 1, 8, 1};
|
||||
|
||||
#ifdef VTX
|
||||
OSD_UINT8_t entryVtxMode = {&masterConfig.vtx_mode, 0, 2, 1};
|
||||
OSD_UINT16_t entryVtxMhz = {&masterConfig.vtx_mhz, 5600, 5950, 1};
|
||||
#endif // VTX
|
||||
|
||||
OSD_Entry cmsx_menuVtx[] =
|
||||
{
|
||||
{"--- VTX ---", OME_Label, NULL, NULL, 0},
|
||||
{"ENABLED", OME_Bool, NULL, &cmsx_featureVtx, 0},
|
||||
#ifdef VTX
|
||||
{"VTX MODE", OME_UINT8, NULL, &entryVtxMode, 0},
|
||||
{"VTX MHZ", OME_UINT16, NULL, &entryVtxMhz, 0},
|
||||
#endif // VTX
|
||||
{"BAND", OME_TAB, NULL, &entryVtxBand, 0},
|
||||
{"CHANNEL", OME_UINT8, NULL, &entryVtxChannel, 0},
|
||||
#ifdef USE_RTC6705
|
||||
{"LOW POWER", OME_Bool, NULL, &masterConfig.vtx_power, 0},
|
||||
#endif // USE_RTC6705
|
||||
{"BACK", OME_Back, NULL, NULL, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
|
||||
void cmsx_Vtx_FeatureRead(void)
|
||||
{
|
||||
cmsx_featureVtx = feature(FEATURE_VTX) ? 1 : 0;
|
||||
}
|
||||
|
||||
void cmsx_Vtx_FeatureWriteback(void)
|
||||
{
|
||||
if (cmsx_featureVtx)
|
||||
featureSet(FEATURE_VTX);
|
||||
else
|
||||
featureClear(FEATURE_VTX);
|
||||
}
|
||||
|
||||
void cmsx_Vtx_ConfigRead(void)
|
||||
{
|
||||
#ifdef VTX
|
||||
cmsx_vtxBand = masterConfig.vtxBand;
|
||||
cmsx_vtxChannel = masterConfig.vtx_channel + 1;
|
||||
#endif // VTX
|
||||
|
||||
#ifdef USE_RTC6705
|
||||
cmsx_vtxBand = masterConfig.vtx_channel / 8;
|
||||
cmsx_vtxChannel = masterConfig.vtx_channel % 8 + 1;
|
||||
#endif // USE_RTC6705
|
||||
}
|
||||
|
||||
void cmsx_Vtx_ConfigWriteback(void)
|
||||
{
|
||||
#ifdef VTX
|
||||
masterConfig.vtxBand = cmsx_vtxBand;
|
||||
masterConfig.vtx_channel = cmsx_vtxChannel - 1;
|
||||
#endif // VTX
|
||||
|
||||
#ifdef USE_RTC6705
|
||||
masterConfig.vtx_channel = cmsx_vtxBand * 8 + cmsx_vtxChannel - 1;
|
||||
#endif // USE_RTC6705
|
||||
}
|
||||
|
||||
#endif // VTX || USE_RTC6705
|
||||
|
||||
#endif // CMS
|
|
@ -1,7 +0,0 @@
|
|||
extern OSD_Entry cmsx_menuVtx[];
|
||||
|
||||
void cmsx_Vtx_FeatureRead(void);
|
||||
void cmsx_Vtx_FeatureWriteback(void);
|
||||
|
||||
void cmsx_Vtx_ConfigRead(void);
|
||||
void cmsx_Vtx_ConfigWriteback(void);
|
Loading…
Reference in New Issue