mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 00:05:33 +03:00
Avoids initialisation of UART2 when PWM or PPM RX is used
This commit is contained in:
parent
6dcefedde6
commit
5c1c64fc41
4 changed files with 14 additions and 5 deletions
|
@ -364,7 +364,7 @@ void closeSerialPort(serialPort_t *serialPort) {
|
||||||
serialPortUsage->serialPort = NULL;
|
serialPortUsage->serialPort = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void serialInit(serialConfig_t *initialSerialConfig, bool softserialEnabled)
|
void serialInit(serialConfig_t *initialSerialConfig, bool softserialEnabled, serialPortIdentifier_e serialPortToDisable)
|
||||||
{
|
{
|
||||||
uint8_t index;
|
uint8_t index;
|
||||||
|
|
||||||
|
@ -376,6 +376,12 @@ void serialInit(serialConfig_t *initialSerialConfig, bool softserialEnabled)
|
||||||
for (index = 0; index < SERIAL_PORT_COUNT; index++) {
|
for (index = 0; index < SERIAL_PORT_COUNT; index++) {
|
||||||
serialPortUsageList[index].identifier = serialPortIdentifiers[index];
|
serialPortUsageList[index].identifier = serialPortIdentifiers[index];
|
||||||
|
|
||||||
|
if (serialPortToDisable != SERIAL_PORT_NONE) {
|
||||||
|
if (serialPortUsageList[index].identifier == serialPortToDisable) {
|
||||||
|
serialPortUsageList[index].identifier = SERIAL_PORT_NONE;
|
||||||
|
serialPortCount--;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!softserialEnabled) {
|
if (!softserialEnabled) {
|
||||||
if (0
|
if (0
|
||||||
#ifdef USE_SOFTSERIAL1
|
#ifdef USE_SOFTSERIAL1
|
||||||
|
|
|
@ -100,6 +100,7 @@ typedef void serialConsumer(uint8_t);
|
||||||
//
|
//
|
||||||
// configuration
|
// configuration
|
||||||
//
|
//
|
||||||
|
void serialInit(serialConfig_t *initialSerialConfig, bool softserialEnabled, serialPortIdentifier_e serialPortToDisable);
|
||||||
void serialRemovePort(serialPortIdentifier_e identifier);
|
void serialRemovePort(serialPortIdentifier_e identifier);
|
||||||
uint8_t serialGetAvailablePortCount(void);
|
uint8_t serialGetAvailablePortCount(void);
|
||||||
bool serialIsPortAvailable(serialPortIdentifier_e identifier);
|
bool serialIsPortAvailable(serialPortIdentifier_e identifier);
|
||||||
|
|
|
@ -118,7 +118,6 @@ serialPort_t *loopbackPort;
|
||||||
void printfSupportInit(void);
|
void printfSupportInit(void);
|
||||||
void timerInit(void);
|
void timerInit(void);
|
||||||
void telemetryInit(void);
|
void telemetryInit(void);
|
||||||
void serialInit(serialConfig_t *initialSerialConfig, bool softserialEnabled);
|
|
||||||
void mspInit(serialConfig_t *serialConfig);
|
void mspInit(serialConfig_t *serialConfig);
|
||||||
void cliInit(serialConfig_t *serialConfig);
|
void cliInit(serialConfig_t *serialConfig);
|
||||||
void failsafeInit(rxConfig_t *intialRxConfig, uint16_t deadband3d_throttle);
|
void failsafeInit(rxConfig_t *intialRxConfig, uint16_t deadband3d_throttle);
|
||||||
|
@ -248,7 +247,12 @@ void init(void)
|
||||||
|
|
||||||
dmaInit();
|
dmaInit();
|
||||||
|
|
||||||
serialInit(&masterConfig.serialConfig, feature(FEATURE_SOFTSERIAL));
|
#ifdef AVOID_UART2_PWM_PPM
|
||||||
|
serialInit(&masterConfig.serialConfig, feature(FEATURE_SOFTSERIAL),
|
||||||
|
feature(FEATURE_RX_PPM) || feature(FEATURE_RX_PARALLEL_PWM) ? SERIAL_PORT_USART2 : SERIAL_PORT_NONE);
|
||||||
|
#else
|
||||||
|
serialInit(&masterConfig.serialConfig, feature(FEATURE_SOFTSERIAL), SERIAL_PORT_NONE);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef USE_SERVOS
|
#ifdef USE_SERVOS
|
||||||
mixerInit(masterConfig.mixerMode, masterConfig.customMotorMixer, masterConfig.customServoMixer);
|
mixerInit(masterConfig.mixerMode, masterConfig.customMotorMixer, masterConfig.customServoMixer);
|
||||||
|
|
|
@ -151,8 +151,6 @@ static telemetryConfig_t *telemetryConfig;
|
||||||
static bool smartPortTelemetryEnabled = false;
|
static bool smartPortTelemetryEnabled = false;
|
||||||
static portSharing_e smartPortPortSharing;
|
static portSharing_e smartPortPortSharing;
|
||||||
|
|
||||||
extern void serialInit(serialConfig_t *); // from main.c // FIXME remove this dependency
|
|
||||||
|
|
||||||
char smartPortState = SPSTATE_UNINITIALIZED;
|
char smartPortState = SPSTATE_UNINITIALIZED;
|
||||||
static uint8_t smartPortHasRequest = 0;
|
static uint8_t smartPortHasRequest = 0;
|
||||||
static uint8_t smartPortIdCnt = 0;
|
static uint8_t smartPortIdCnt = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue