2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
23 #if defined(USE_RX_BIND)
25 #include "rx/rx_spi_common.h"
31 static bool doRxBind(bool doBind
)
33 #if !defined(USE_SERIALRX_SRXL2) && !defined(USE_RX_FRSKY_SPI) && !defined(USE_RX_SFHSS_SPI) && !defined(USE_RX_FLYSKY) && !defined(USE_RX_SPEKTRUM) && !defined(USE_RX_EXPRESSLRS) && !defined(USE_SERIALRX_CRSF)
37 switch (rxRuntimeState
.rxProvider
) {
40 case RX_PROVIDER_SERIAL
:
41 switch (rxRuntimeState
.serialrxProvider
) {
44 #if defined(USE_SERIALRX_CRSF)
52 #if defined(USE_SERIALRX_SRXL2)
63 #if defined(USE_RX_SPI)
65 switch (rxSpiConfig()->rx_spi_protocol
) {
68 #if defined(USE_RX_FRSKY_SPI)
69 #if defined(USE_RX_FRSKY_SPI_D)
72 #if defined(USE_RX_FRSKY_SPI_X)
74 case RX_SPI_FRSKY_X_LBT
:
75 case RX_SPI_FRSKY_X_V2
:
76 case RX_SPI_FRSKY_X_LBT_V2
:
78 #if defined(USE_RX_REDPINE_SPI)
81 #endif // USE_RX_FRSKY_SPI
82 #ifdef USE_RX_SFHSS_SPI
86 case RX_SPI_A7105_FLYSKY
:
87 case RX_SPI_A7105_FLYSKY_2A
:
89 #ifdef USE_RX_SPEKTRUM
90 case RX_SPI_CYRF6936_DSM
:
92 #ifdef USE_RX_EXPRESSLRS
93 case RX_SPI_EXPRESSLRS
:
95 #if defined(USE_RX_FRSKY_SPI) || defined(USE_RX_SFHSS_SPI) || defined(USE_RX_FLYSKY) || defined(USE_RX_SPEKTRUM) || defined(USE_RX_EXPRESSLRS)
111 bool startRxBind(void)
113 return doRxBind(true);
116 bool getRxBindSupported(void)
118 return doRxBind(false);