1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 03:20:00 +03:00
This commit is contained in:
Mark Haslinghuis 2025-07-11 19:54:59 +02:00 committed by GitHub
commit d1593118dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 10 deletions

View file

@ -1715,7 +1715,7 @@ const clivalue_t valueTable[] = {
{ "vtx_channel", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_TABLE_MAX_CHANNELS }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, channel) }, { "vtx_channel", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_TABLE_MAX_CHANNELS }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, channel) },
{ "vtx_power", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_TABLE_MAX_POWER_LEVELS - 1 }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, power) }, { "vtx_power", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_TABLE_MAX_POWER_LEVELS - 1 }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, power) },
{ "vtx_low_power_disarm", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_VTX_LOW_POWER_DISARM }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, lowPowerDisarm) }, { "vtx_low_power_disarm", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_VTX_LOW_POWER_DISARM }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, lowPowerDisarm) },
{ "vtx_softserial_alt", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, softserialAlt) }, { "vtx_serial_alt", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, serialAlt) },
#ifdef VTX_SETTINGS_FREQCMD #ifdef VTX_SETTINGS_FREQCMD
{ "vtx_freq", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_SETTINGS_MAX_FREQUENCY_MHZ }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, freq) }, { "vtx_freq", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_SETTINGS_MAX_FREQUENCY_MHZ }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, freq) },
{ "vtx_pit_mode_freq", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_SETTINGS_MAX_FREQUENCY_MHZ }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, pitModeFreq) }, { "vtx_pit_mode_freq", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, VTX_SETTINGS_MAX_FREQUENCY_MHZ }, PG_VTX_SETTINGS_CONFIG, offsetof(vtxSettingsConfig_t, pitModeFreq) },

View file

@ -63,7 +63,11 @@ void pgResetFn_vtxSettingsConfig(vtxSettingsConfig_t *vtxSettingsConfig)
#endif #endif
vtxSettingsConfig->pitModeFreq = VTX_TABLE_DEFAULT_PITMODE_FREQ; vtxSettingsConfig->pitModeFreq = VTX_TABLE_DEFAULT_PITMODE_FREQ;
vtxSettingsConfig->lowPowerDisarm = VTX_LOW_POWER_DISARM_OFF; vtxSettingsConfig->lowPowerDisarm = VTX_LOW_POWER_DISARM_OFF;
vtxSettingsConfig->softserialAlt = 0; #ifdef AT32F4
vtxSettingsConfig->serialAlt = 0;
#else
vtxSettingsConfig->serialAlt = 1;
#endif
} }
typedef enum { typedef enum {

View file

@ -39,7 +39,7 @@ typedef struct vtxSettingsConfig_s {
uint16_t freq; // sets freq in MHz if band=0 uint16_t freq; // sets freq in MHz if band=0
uint16_t pitModeFreq; // sets out-of-range pitmode frequency uint16_t pitModeFreq; // sets out-of-range pitmode frequency
uint8_t lowPowerDisarm; // min power while disarmed, from vtxLowerPowerDisarm_e uint8_t lowPowerDisarm; // min power while disarmed, from vtxLowerPowerDisarm_e
uint8_t softserialAlt; // prepend 0xff before sending frame even with SOFTSERIAL uint8_t serialAlt; // prepend 0xff before sending frame even with [SOFT]SERIAL
} vtxSettingsConfig_t; } vtxSettingsConfig_t;
PG_DECLARE(vtxSettingsConfig_t, vtxSettingsConfig); PG_DECLARE(vtxSettingsConfig_t, vtxSettingsConfig);

View file

@ -495,15 +495,12 @@ static void saSendFrame(uint8_t *buf, int len)
bool prepend00; bool prepend00;
switch (serialType(smartAudioSerialPort->identifier)) { switch (serialType(smartAudioSerialPort->identifier)) {
case SERIALTYPE_SOFTSERIAL: case SERIALTYPE_SOFTSERIAL:
prepend00 = vtxSettingsConfig()->softserialAlt;
break;
case SERIALTYPE_UART: case SERIALTYPE_UART:
case SERIALTYPE_LPUART: // decide HW uarts by MCU type case SERIALTYPE_LPUART: // decide HW uarts by MCU type
#ifdef AT32F4 // AT32F4 has a bug in the UART peripheral that causes it to
prepend00 = false; // not send the first byte of a transmission if the first byte
#else // is 0x00. This is not a problem for other MCUs.
prepend00 = true; prepend00 = vtxSettingsConfig()->serialAlt;
#endif
break; break;
default: default:
prepend00 = false; prepend00 = false;